diff --git a/.github/workflows/docker-demo.yml b/.github/workflows/docker-demo.yml index bd7750b36..40b4b0d6f 100644 --- a/.github/workflows/docker-demo.yml +++ b/.github/workflows/docker-demo.yml @@ -41,4 +41,4 @@ jobs: push: true file: extras/docker/demo/Dockerfile platforms: linux/amd64,linux/arm64 - tags: ${{ vars.REGISTRY_REPO }}/demo:latest,${{ vars.REGISTRY_REPO }}/demo:2.3-dev,${{ vars.REGISTRY_REPO }}/apache:latest,${{ vars.REGISTRY_REPO }}/apache:2.3-dev + tags: ${{ vars.REGISTRY_REPO }}/demo:latest,${{ vars.REGISTRY_REPO }}/demo:2.3-dev diff --git a/AUTHORS.rst b/AUTHORS.rst index cc608ced5..c417dfaa8 100644 --- a/AUTHORS.rst +++ b/AUTHORS.rst @@ -79,6 +79,7 @@ Developers * Ethan Winters - https://github.com/ebwinters * Dieter Plaetinck - https://github.com/Dieterbe * Jonathan La Field - https://github.com/JLaField +* Kevin Moy - https://github.com/kmoy1 * Taylor Fuller - https://github.com/taylor-fuller diff --git a/extras/docker/development/Dockerfile b/extras/docker/development/Dockerfile new file mode 100644 index 000000000..0f9861b38 --- /dev/null +++ b/extras/docker/development/Dockerfile @@ -0,0 +1,27 @@ +# +# Installs some additional packages needed for development +# +# Note that this dockerfile is built from the corresponding docker-compose file +# + +FROM wger/server:latest + +USER root + +WORKDIR /home/wger/src +RUN apt-get update && \ + apt-get install -y \ + git \ + vim \ + yarnpkg \ + sassc + +COPY ../../../requirements.txt /tmp/requirements.txt +COPY ../../../requirements_dev.txt /tmp/requirements_dev.txt + +RUN ln -s /usr/bin/yarnpkg /usr/bin/yarn \ + && ln -s /usr/bin/sassc /usr/bin/sass + +USER wger +RUN pip3 install --break-system-packages --user -r /tmp/requirements.txt \ + && pip3 install --break-system-packages --user -r /tmp/requirements_dev.txt diff --git a/extras/docker/development/README.md b/extras/docker/development/README.md new file mode 100644 index 000000000..b0f21b86a --- /dev/null +++ b/extras/docker/development/README.md @@ -0,0 +1,8 @@ +# Development image for wger + +## Usage + +Clone the docker repository, there are two development configuration that use +this image: + + diff --git a/extras/docker/production/README.md b/extras/docker/production/README.md index 93b53b055..90c445874 100644 --- a/extras/docker/production/README.md +++ b/extras/docker/production/README.md @@ -1,79 +1,16 @@ -# Development image for wger +# Production image for wger wger (ˈvɛɡɐ) Workout Manager is a free, open source web application that help you manage your personal workouts, weight and diet plans and can also be used as a simple gym management utility. It offers a REST API as well, for easy integration with other projects and tools. -If you want to host your own instance, take a look at the provided docker compose file: - - - ## Usage -This docker image is meant to provide a quick development environment using -django's development server and an sqlite database from your current code -checkout (if you don't want or need a local checkout, use the wger/demo image, -it is self-contained). +It is recommended to use this image with the provided docker compose, which has all the different +services configured: -A more comfortable development version is provided in the compose folder. - -### 1 - Installing docker - -Install docker, and the docker buildx tool (if they are separate packages on your system, e.g. on -Arch Linux) - -### 2 - Obtaining/building the docker image - -We will run the `wger/server:latest` image in the next step. - -You can either download it from [dockerhub](https://hub.docker.com/r/wger/server); docker will do -this automatically if you have no such image with that tag yet. -You can also run `docker pull wger/server` to get the latest version. (you can use `docker images` -to see if your image is old) - -Alternatively, you can build it yourself from your wger code checkout. -To do this, you **must** build from the project root! - -```docker build -f extras/docker/production/Dockerfile --tag wger/server .``` - -### 3 - Start the container - - docker run -ti \ - -v /path/to/your/wger/checkout:/home/wger/src \ - --name wger.devel \ - --publish 8000:8000 wger/server - -When developing with windows, you might have problems with the `--volume` option, -use the more verbose mount instead: - - --mount type=bind,source='"C:\your\path\to your\checkout"',target=/home/wger/src - -You might also want to download the exercise images and the ingredients -(will take some time): - - docker exec wger.devel python3 manage.py sync-exercises - docker exec wger.devel python3 manage.py download-exercise-images - docker exec wger.devel wger load-online-fixtures - -### 4 - Open the Application - -Just open and log in as: **admin**, password **adminadmin** - -To stop the container: - -```sudo docker container stop wger.devel``` - -To start developing again: - -```sudo docker container start --attach wger.devel``` - -### 5 - Other commands - -If you need to update the CSS/JS libraries or just issue some other command: - - docker exec -ti wger.devel yarn - docker exec -ti wger.devel /bin/bash + ## Contact diff --git a/extras/docker/production/settings.py b/extras/docker/production/settings.py index 6f005e2ea..3490c3930 100644 --- a/extras/docker/production/settings.py +++ b/extras/docker/production/settings.py @@ -137,6 +137,7 @@ if os.environ.get("DJANGO_CACHE_BACKEND"): # Folder for compressed CSS and JS files COMPRESS_ROOT = STATIC_ROOT +COMPRESS_ENABLED = env.bool('COMPRESS_ENABLED', not DEBUG) # The site's domain as used by the email verification workflow EMAIL_PAGE_DOMAIN = SITE_URL diff --git a/package.json b/package.json index 036a0c3f1..21c6ec39f 100644 --- a/package.json +++ b/package.json @@ -10,11 +10,10 @@ }, "homepage": "https://github.com/wger-project/wger", "dependencies": { - "Sortable": "RubaXa/Sortable#1.15.2", + "htmx.org": "^2.0.3", "bootstrap": "5.3.3", "components-font-awesome": "5.9.0", - "d3": "^7.9.0", - "datatables": "^1.10.18", + "datatables.net-bs5": "^2.1.8", "devbridge-autocomplete": "^1.4.11", "jquery": "^3.7.1", "masonry-layout": "^4.2.2", diff --git a/requirements.txt b/requirements.txt index 7ea2d0b48..ae9906a13 100644 --- a/requirements.txt +++ b/requirements.txt @@ -23,20 +23,20 @@ drf-spectacular[sidecar]==0.27.2 easy-thumbnails==2.10 flower==2.0.1 fontawesomefree~=6.6.0 -icalendar==6.0.0 +icalendar==6.0.1 invoke==2.2.0 -openfoodfacts==1.1.3 +openfoodfacts==2.2.0 pillow==10.4.0 -reportlab==4.2.2 +reportlab==4.2.5 requests==2.32.3 -tqdm==4.66.4 +tqdm==4.66.5 tzdata==2024.2 # AWS #boto3 # REST API -django-cors-headers==4.4.0 +django-cors-headers==4.5.0 django-filter==24.3 djangorestframework==3.15.2 djangorestframework-simplejwt[crypto]==5.3.1 diff --git a/requirements_dev.txt b/requirements_dev.txt index b97058436..95bde5258 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -6,7 +6,7 @@ -r requirements.txt # Building/installing -wheel==0.44.0 +wheel==0.45.0 # for ingredient import script from OFF pymongo==4.10.1 @@ -16,7 +16,7 @@ faker==26.0.0 # Development packages django-extensions~=3.2 -coverage==7.6.1 +coverage==7.6.3 django-debug-toolbar==4.4.5 isort==5.13.2 ruff==0.6.8 diff --git a/requirements_docker.txt b/requirements_docker.txt index 269b745d6..89f6e3639 100644 --- a/requirements_docker.txt +++ b/requirements_docker.txt @@ -6,5 +6,5 @@ -r requirements.txt django-redis==5.4.0 -gunicorn==22.0.0 -psycopg2==2.9.9 +gunicorn==23.0.0 +psycopg[binary]==3.2.3 diff --git a/requirements_prod.txt b/requirements_prod.txt index 2a9a2c37d..3ca6c6a20 100644 --- a/requirements_prod.txt +++ b/requirements_prod.txt @@ -5,5 +5,5 @@ # Regular packages -r requirements.txt -psycopg2-binary==2.9.9 +psycopg[binary]==3.2.3 django-redis==5.4.0 diff --git a/wger/__init__.py b/wger/__init__.py index c1d3f855c..67e1eade4 100644 --- a/wger/__init__.py +++ b/wger/__init__.py @@ -8,7 +8,6 @@ # Local from .celery_configuration import app - MIN_APP_VERSION = (1, 7, 4, 'final', 1) VERSION = (2, 3, 0, 'alpha', 3) diff --git a/wger/core/api/views.py b/wger/core/api/views.py index 6a73e8ed1..2abe8cdc7 100644 --- a/wger/core/api/views.py +++ b/wger/core/api/views.py @@ -304,8 +304,9 @@ class UserAPIRegistrationViewSet(viewsets.ViewSet): API endpoint """ - permission_classes = (AllowRegisterUser,) + # permission_classes = (AllowRegisterUser,) serializer_class = UserRegistrationSerializer + throttle_scope = 'registration' def get_queryset(self): """ @@ -327,7 +328,7 @@ class UserAPIRegistrationViewSet(viewsets.ViewSet): serializer = self.serializer_class(data=data) serializer.is_valid(raise_exception=True) user = serializer.save() - user.userprofile.added_by = request.user + # user.userprofile.added_by = request.user user.userprofile.save() token = create_token(user) diff --git a/wger/core/forms.py b/wger/core/forms.py index 8deebfbb5..aa423b675 100644 --- a/wger/core/forms.py +++ b/wger/core/forms.py @@ -137,6 +137,7 @@ class UserPreferencesForm(forms.ModelForm): 'ro_access', 'num_days_weight_reminder', 'birthdate', + 'height', ) def __init__(self, *args, **kwargs): @@ -153,6 +154,7 @@ class UserPreferencesForm(forms.ModelForm): css_class='form-row', ), 'birthdate', + 'height', HTML('
'), ), Fieldset( diff --git a/wger/core/static/css/workout-manager.css b/wger/core/static/css/workout-manager.css index 9537ff0b4..ccd13ff29 100644 --- a/wger/core/static/css/workout-manager.css +++ b/wger/core/static/css/workout-manager.css @@ -27,55 +27,52 @@ /* font-face kit by Fonts2u - http://www.fonts2u.com */ @font-face { - font-family: "Open Sans Light"; - src: - url("/static/fonts/OpenSans-Light.eot?") format("eot"), + font-family: "Open Sans Light"; + src: url("/static/fonts/OpenSans-Light.eot?") format("eot"), url("/static/fonts/OpenSans-Light.woff") format("woff"), url("/static/fonts/OpenSans-Light.ttf") format("truetype"), url("/static/fonts/OpenSans-Light.svg#OpenSans-Light") format("svg"); - font-weight: normal; - font-style: normal; + font-weight: normal; + font-style: normal; } @font-face { - font-family: "Open Sans"; - src: - url("/static/fonts/OpenSans-Regular.eot?") format("eot"), + font-family: "Open Sans"; + src: url("/static/fonts/OpenSans-Regular.eot?") format("eot"), url("/static/fonts/OpenSans-Regular.woff") format("woff"), url("/static/fonts/OpenSans-Regular.ttf") format("truetype"), url("/static/fonts/OpenSans-Regular.svg#OpenSans") format("svg"); - font-weight: normal; - font-style: normal; + font-weight: normal; + font-style: normal; } @font-face { - font-family: "Open Sans Bold"; - src: - url("/static/fonts/OpenSans-Bold.eot?") format("eot"), + font-family: "Open Sans Bold"; + src: url("/static/fonts/OpenSans-Bold.eot?") format("eot"), url("/static/fonts/OpenSans-Bold.woff") format("woff"), url("/static/fonts/OpenSans-Bold.ttf") format("truetype"), url("/static/fonts/OpenSans-Bold.svg#OpenSans-Bold") format("svg"); - font-weight: normal; - font-style: normal; + font-weight: normal; + font-style: normal; } /* sticky footer */ html { - position: relative; - min-height: 100%; + position: relative; + min-height: 100%; } body { - margin-bottom: 5rem !important; /* Margin bottom by footer height */ + margin-bottom: 5rem !important; /* Margin bottom by footer height */ } footer { - position: absolute; - bottom: 0; - width: 100%; - height: 4rem; /* Set the fixed height of the footer here */ + position: absolute; + bottom: 0; + width: 100%; + height: 4rem; /* Set the fixed height of the footer here */ } @@ -83,54 +80,36 @@ footer { * Images in links are vertically aligned */ a img { - vertical-align: middle; + vertical-align: middle; } /* * "invisible" elements, simply hidden (they still take all the space) */ .invisible { - display: none; + display: none; } .align-right { - text-align: right; + text-align: right; } -.sortable-settings { - border: 1px solid black; -} - -.sortable-settings-drag { - padding-left: 1em; - padding-right: 1em; - background-color: #babdb6; - border-bottom: 1px solid black; -} - -/* - * Set a more appropriate cursor to the drag'n'drop handle on the - * workout view - */ -.dragndrop-handle { - cursor: move; -} /* * Set the sizes for the background where the muscles are shown on the exercise view page */ div.muscle-background { - width: 150px; - height: 276px; - background-size: 150px; - background-repeat: no-repeat; + width: 150px; + height: 276px; + background-size: 150px; + background-repeat: no-repeat; } /* * Set an additional padding to the generated DIV on the edit set page */ #exercise-search-log { - padding-left: 1em; + padding-left: 1em; } @@ -142,13 +121,13 @@ div.muscle-background { * Hide the edit options (edit, delete) on tables, only show them when the mouse is over the row */ .editoptions { - visibility: hidden; + visibility: hidden; } ul:hover .editoptions, tr:hover .editoptions, tbody tr:hover td .editoptions { - visibility: visible; + visibility: visible; } /* @@ -160,7 +139,7 @@ tbody tr:hover td .editoptions { .ajax-exercise-select a:hover, .no-hover a:hover, .no-hover:hover { - background-color: transparent; + background-color: transparent; } @@ -168,7 +147,7 @@ tbody tr:hover td .editoptions { * Make more space for the page title */ #page-title { - margin-top: 0.5em; + margin-top: 0.5em; } /* @@ -184,9 +163,9 @@ div.warning a:hover, div.warning a:active, div.info a:hover, div.info a:active { - color: black; - text-decoration: underline; - background-color: transparent; + color: black; + text-decoration: underline; + background-color: transparent; } /************************************************************** @@ -197,30 +176,30 @@ div.info a:active { * Category heading for the ajax autocompleter */ .ui-autocomplete-category { - margin: 0; - text-align: center; - zoom: 1; - width: 100%; - font-weight: bold; - background-color: #d3d7cf; - border-bottom: 1px solid #888a85; + margin: 0; + text-align: center; + zoom: 1; + width: 100%; + font-weight: bold; + background-color: #d3d7cf; + border-bottom: 1px solid #888a85; } /* * Give the result list from the autocompleter a maximum size */ .ui-autocomplete { - max-height: 500px; - max-width: 500px; - overflow-y: auto; - overflow-x: hidden; /* prevent horizontal scrollbar */ + max-height: 500px; + max-width: 500px; + overflow-y: auto; + overflow-x: hidden; /* prevent horizontal scrollbar */ } /* * Give odd child's a different background colour (thanks CSS3!) */ .ui-autocomplete li.ui-menu-item:nth-child(odd) { - background: #eeeeec; + background: #eeeeec; } /************************************************************** @@ -228,197 +207,196 @@ div.info a:active { **************************************************************/ .extra-bold { - font-family: "Open Sans Bold", Arial, Helvetica, sans-serif; - font-weight: 300; + font-family: "Open Sans Bold", Arial, Helvetica, sans-serif; + font-weight: 300; } - /************************************************************** * Styling for the SVG elements on the weight chart **************************************************************/ .axis path, .axis line { - fill: none; - stroke: #000; - shape-rendering: crispEdges; + fill: none; + stroke: #000; + shape-rendering: crispEdges; } .area { - fill: lightsteelblue; + fill: lightsteelblue; } .line { - fill: none; - stroke: steelblue; - stroke-width: 1.5px; + fill: none; + stroke: steelblue; + stroke-width: 1.5px; } .dot { - fill: white; - stroke: steelblue; - stroke-width: 1.5px; + fill: white; + stroke: steelblue; + stroke-width: 1.5px; } circle { - cursor: pointer; + cursor: pointer; } circle:hover { - fill: #204a87; - stroke: #204a87; + fill: #204a87; + stroke: #204a87; } .brush .extent { - stroke: #fff; - fill-opacity: 0.125; - shape-rendering: crispEdges; + stroke: #fff; + fill-opacity: 0.125; + shape-rendering: crispEdges; } /* Color series from d3.scale.category10() */ circle.color-1f77b4:hover { - fill: #1f77b4; + fill: #1f77b4; } circle.color-ff7f0e:hover { - fill: #ff7f0e; + fill: #ff7f0e; } circle.color-2ca02c:hover { - fill: #2ca02c; + fill: #2ca02c; } circle.color-d62728:hover { - fill: #d62728; + fill: #d62728; } circle.color-9467bd:hover { - fill: #9467bd; + fill: #9467bd; } circle.color-8c564b:hover { - fill: #8c564b; + fill: #8c564b; } circle.color-e377c2:hover { - fill: #e377c2; + fill: #e377c2; } circle.color-7f7f7f:hover { - fill: #7f7f7f; + fill: #7f7f7f; } circle.color-bcbd22:hover { - fill: #bcbd22; + fill: #bcbd22; } circle.color-17becf:hover { - fill: #17becf; + fill: #17becf; } /************************************************************** * Weight log calendar **************************************************************/ table.month td { - width: 14.285%; - height: 4em; - text-align: center; + width: 14.285%; + height: 4em; + text-align: center; } table.month th.month { - text-align: center; - background-color: #eeeeec; + text-align: center; + background-color: #eeeeec; } table.month a.calendar-link { - height: 100%; - line-height: 1; + height: 100%; + line-height: 1; } table.month td.session-bad { - background-color: #f2dede; + background-color: #f2dede; } table.month td.session-bad:hover { - background-color: #c9302c; + background-color: #c9302c; } table.month td.session-neutral { - background-color: #f5f5f5; + background-color: #f5f5f5; } table.month td.session-neutral:hover { - background-color: #babdb6; + background-color: #babdb6; } table.month td.session-good { - background-color: #dff0d8; + background-color: #dff0d8; } table.month td.session-good:hover { - background-color: #449d44; + background-color: #449d44; } /* * Autocompleter */ .autocomplete-wrapper { - margin: 44px auto 44px; - max-width: 600px; + margin: 44px auto 44px; + max-width: 600px; } .autocomplete-wrapper label { - display: block; - margin-bottom: 0.75em; - color: #3f4e5e; - font-size: 1.25em; + display: block; + margin-bottom: 0.75em; + color: #3f4e5e; + font-size: 1.25em; } .autocomplete-wrapper .text-field { - padding: 0 15px; - width: 100%; - height: 40px; - border: 1px solid #cbd3dd; - font-size: 1.125em; + padding: 0 15px; + width: 100%; + height: 40px; + border: 1px solid #cbd3dd; + font-size: 1.125em; } .autocomplete-wrapper ::-webkit-input-placeholder, .autocomplete-wrapper ::-moz-placeholder, .autocomplete-wrapper :-moz-placeholder, .autocomplete-wrapper :-ms-input-placeholder { - color: #cbd3dd; - font-style: italic; - font-size: 18px; + color: #cbd3dd; + font-style: italic; + font-size: 18px; } .autocomplete-suggestions { - overflow: auto; - border: 1px solid #cbd3dd; - background: #fff; + overflow: auto; + border: 1px solid #cbd3dd; + background: #fff; } .autocomplete-suggestion { - overflow: hidden; - padding: 5px 15px 5px 22px; - white-space: nowrap; + overflow: hidden; + padding: 5px 15px 5px 22px; + white-space: nowrap; } .autocomplete-selected { - background: #f0f0f0; + background: #f0f0f0; } .autocomplete-suggestions strong { - color: #3465a4; - font-weight: bold; + color: #3465a4; + font-weight: bold; } .autocomplete-group { - background-color: #d3d7cf; - padding-left: 13px; + background-color: #d3d7cf; + padding-left: 13px; } .autocomplete-group strong { - color: black; - font-weight: bold; + color: black; + font-weight: bold; } diff --git a/wger/core/static/js/wger-core.js b/wger/core/static/js/wger-core.js index 638a6ff74..d6daf501a 100644 --- a/wger/core/static/js/wger-core.js +++ b/wger/core/static/js/wger-core.js @@ -15,270 +15,12 @@ */ 'use strict'; -/* - AJAX related functions - - See https://docs.djangoproject.com/en/dev/ref/contrib/csrf/#ajax for - more information - */ -function getCookie(name) { - var cookie; - var cookies; - var cookieValue = null; - var loopCounter; - if (document.cookie && document.cookie !== '') { - cookies = document.cookie.split(';'); - for (loopCounter = 0; loopCounter < cookies.length; loopCounter++) { - cookie = jQuery.trim(cookies[loopCounter]); - // Does this cookie string begin with the name we want? - if (cookie.substring(0, name.length + 1) === (name + '=')) { - cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); - break; - } - } - } - return cookieValue; -} - -function csrfSafeMethod(method) { - // These HTTP methods do not require CSRF protection - return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method)); -} - -$.ajaxSetup({ - crossDomain: false, // obviates need for sameOrigin test - beforeSend: function (xhr, settings) { - if (!csrfSafeMethod(settings.type)) { - xhr.setRequestHeader('X-CSRFToken', getCookie('csrftoken')); - } - } -}); function getCurrentLanguage() { // Returns a short name, like 'en' or 'de' return $('#current-language').data('currentLanguage'); } -/* - Setup sortable to make the sets sortable - */ -function wgerSetupSortable() { - var elements = document.getElementsByTagName('tbody'); - $.each(elements, function (index, element) { - Sortable.create(element, { - handle: '.dragndrop-handle', - animation: 150, - onUpdate: function (event) { - var dayId; - dayId = $(event.target).parents('table').data('id'); - $.each(($(event.from).children('tr')), function (eventIndex, eventElement) { - var trElement; - var setId; - trElement = $(eventElement); - - // The last table element has no ID attribute (has only the 'add exercise' link - if (trElement.data('id')) { - setId = trElement.data('id'); - $.ajax({ - url: '/api/v2/set/' + setId + '/', - type: 'PATCH', - data: {order: eventIndex + 1} - }); - } - }); - - // Replace the content of the table with a fresh version that has - // correct indexes. - $.get('/' + getCurrentLanguage() + '/routine/day/' + dayId + '/view/'); - $('#div-day-' + dayId) - .load('/' + getCurrentLanguage() + '/routine/day/' + dayId + '/view/'); - } - }); - }); -} - -/* - Functions related to the user's preferences - */ - - -/* - Updates a single field in the user profile - */ -function setProfileField(field, newValue) { - var dataDict = {}; - dataDict[field] = newValue; - $.post({ - url: '/api/v2/userprofile/', - data: dataDict - }); -} - -/* - Get a single field from the user's profile. - Synchronous request, use sparingly! - */ -function getProfileField(field) { - var result; - result = null; - $.ajax({ - url: '/api/v2/userprofile/', - type: 'GET', - async: false, - success: function (userprofile) { - result = userprofile.results[field]; - } - }); - return result; -} - -/* - Open a modal dialog for form editing - */ -function modalDialogFormEdit() { - var $submit; - var $form; - $form = $('#ajax-info-content').find('form'); - $submit = $($form).find('#form-save'); - - $submit.click(function (e) { - var formData; - var formAction; - e.preventDefault(); - formAction = $form.attr('action'); - formData = $form.serialize(); - - // Unbind all click elements, so the form doesn't get submitted twice - // if the user clicks 2 times on the button (while there is already a request - // happening in the background) - $submit.off(); - - // Show a loader while we fetch the real page - $form.html('
' + - ' ' + - '
'); - $('#ajax-info-title').html('Processing'); // TODO: translate this - - // OK, we did the POST, what do we do with the result? - $.ajax({ - type: 'POST', - url: formAction, - data: formData, - beforeSend: function (jqXHR) { - // Send a custom header so django's messages are not displayed in the next - // request which will be not be displayed to the user, but on the next one - // that will - jqXHR.setRequestHeader('X-wger-no-messages', '1'); - }, - success: function (data, textStatus, jqXHR) { - var url = jqXHR.getResponseHeader('X-wger-redirect'); - if (url) { - window.location.href = url; - /* - if(document.URL.indexOf(url)) { - history.pushState({}, "", url); - } - */ - } else if ($(data).find('form .has-error').length > 0) { - // we must do the same with the new form as before, binding the click-event, - // checking for errors etc, so it calls itself here again. - $form.html($(data).find('form').html()); - $('#ajax-info-title').html($(data).find('#page-title').html()); - modalDialogFormEdit(); - } else { - console.log('No X-wger-redirect found but also no .has-error!'); - $('#wger-ajax-info').modal('hide'); - $form.html(data); - } - - // Call other custom initialisation functions - // (e.g. if the form as an autocompleter, it has to be initialised again) - if (typeof wgerCustomModalInit !== 'undefined') { - wgerCustomModalInit(); // eslint-disable-line no-undef - } - - if (typeof wgerCustomPageInit !== 'undefined') { - wgerCustomPageInit(); // eslint-disable-line no-undef - } - }, - error: function (jqXHR) { - // console.log(errorThrown); // INTERNAL SERVER ERROR - $('#ajax-info-content').html(jqXHR.responseText); - } - }); - }); -} - -function wgerFormModalDialog() { - var $wgerModalDialog; - $wgerModalDialog = $('.wger-modal-dialog'); - // Unbind all other click events so we don't do this more than once - $wgerModalDialog.off(); - - // Load the edit dialog when the user clicks on an edit link - $wgerModalDialog.click(function (e) { - var $ajaxInfoContent; - var targetUrl; - e.preventDefault(); - targetUrl = $(this).attr('href'); - - // It's not possible to have more than one modal open at any time, so close them - $('.modal').modal('hide'); - - // Show a loader while we fetch the real page - $ajaxInfoContent = $('#ajax-info-content'); - $ajaxInfoContent.html('
' + - ' ' + - '
'); - $('#ajax-info-title').html('Loading...'); - $('#wger-ajax-info').modal('show'); - - $ajaxInfoContent.load(targetUrl + ' .wger-form', - function (responseText, textStatus, XMLHttpRequest) { - var $ajaxInfoTitle; - var modalTitle; - $ajaxInfoTitle = $('#ajax-info-title'); - if (textStatus === 'error') { - $ajaxInfoTitle.html('Sorry but an error occured'); - $('#ajax-info-content').html(XMLHttpRequest.status + ' ' + XMLHttpRequest.statusText); - } - - // Call other custom initialisation functions - // (e.g. if the form as an autocompleter, it has to be initialised again) - if (typeof wgerCustomModalInit !== 'undefined') { - // Function is defined in templates. Eslint doesn't check the templates resulting in a - // un-def error message. - wgerCustomModalInit(); // eslint-disable-line no-undef - } - - // Set the new title - modalTitle = ''; - if ($(responseText).find('#page-title').length > 0) { - // Complete HTML page - modalTitle = $(responseText).find('#page-title').html(); - } else { - // Page fragment - modalTitle = $(responseText).filter('#page-title').html(); - } - $ajaxInfoTitle.html(modalTitle); - - // If there is a form in the modal dialog (there usually is) prevent the submit - // button from submitting it and do it here with an AJAX request. If there - // are errors (there is an element with the class 'ym-error' in the result) - // reload the content back into the dialog so the user can correct the entries. - // If there isn't assume all was saved correctly and load that result into the - // page's main DIV (#main-content). All this must be done like this because there - // doesn't seem to be any reliable and easy way to detect redirects with AJAX. - if ($(responseText).find('.wger-form').length > 0) { - modalDialogFormEdit(); - } - }); - }); -} /* Returns a random hex string. This is useful, e.g. to add a unique ID to generated @@ -295,8 +37,8 @@ function getRandomHex() { Template-like function that adds form elements to the ajax exercise selection in the edit set page */ function addExercise(exercise) { - var $exerciseSearchLog; - var resultDiv; + let $exerciseSearchLog; + let resultDiv; resultDiv = '
\n' + ' t in e?EZ(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var TZ=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Bt=(e,t,n)=>OZ(e,typeof t!="symbol"?t+"":t,n);var nvt=TZ((Zo,ei)=>{function nH(e,t){for(var n=0;nr[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))r(o);new MutationObserver(o=>{for(const i of o)if(i.type==="childList")for(const a of i.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).observe(document,{childList:!0,subtree:!0});function n(o){const i={};return o.integrity&&(i.integrity=o.integrity),o.referrerPolicy&&(i.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?i.credentials="include":o.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(o){if(o.ep)return;o.ep=!0;const i=n(o);fetch(o.href,i)}})();var os=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ht(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Ss(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function r(){return this instanceof r?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,o.get?o:{enumerable:!0,get:function(){return e[r]}})}),n}var hP={exports:{}},im={},rH={exports:{}},Dt={};/** +var hye=Object.defineProperty;var EH=e=>{throw TypeError(e)};var mye=(e,t,n)=>t in e?hye(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var gye=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var nn=(e,t,n)=>mye(e,typeof t!="symbol"?t+"":t,n),NA=(e,t,n)=>t.has(e)||EH("Cannot "+n);var be=(e,t,n)=>(NA(e,t,"read from private field"),n?n.call(e):t.get(e)),Ft=(e,t,n)=>t.has(e)?EH("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),vt=(e,t,n,r)=>(NA(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n),fn=(e,t,n)=>(NA(e,t,"access private method"),n);var lC=(e,t,n,r)=>({set _(o){vt(e,t,o,n)},get _(){return be(e,t,r)}});var jRt=gye((Ya,Xa)=>{function fY(e,t){for(var n=0;nr[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))r(o);new MutationObserver(o=>{for(const i of o)if(i.type==="childList")for(const a of i.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).observe(document,{childList:!0,subtree:!0});function n(o){const i={};return o.integrity&&(i.integrity=o.integrity),o.referrerPolicy&&(i.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?i.credentials="include":o.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(o){if(o.ep)return;o.ep=!0;const i=n(o);fetch(o.href,i)}})();var Bi=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function _n(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var pY={exports:{}},MO={},hY={exports:{}},En={};/** * @license React * react.production.min.js * @@ -6,7 +6,7 @@ var EZ=Object.defineProperty;var OZ=(e,t,n)=>t in e?EZ(e,t,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var py=Symbol.for("react.element"),kZ=Symbol.for("react.portal"),IZ=Symbol.for("react.fragment"),$Z=Symbol.for("react.strict_mode"),MZ=Symbol.for("react.profiler"),AZ=Symbol.for("react.provider"),RZ=Symbol.for("react.context"),_Z=Symbol.for("react.forward_ref"),DZ=Symbol.for("react.suspense"),NZ=Symbol.for("react.memo"),LZ=Symbol.for("react.lazy"),Q2=Symbol.iterator;function jZ(e){return e===null||typeof e!="object"?null:(e=Q2&&e[Q2]||e["@@iterator"],typeof e=="function"?e:null)}var oH={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},iH=Object.assign,aH={};function eh(e,t,n){this.props=e,this.context=t,this.refs=aH,this.updater=n||oH}eh.prototype.isReactComponent={};eh.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};eh.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function sH(){}sH.prototype=eh.prototype;function m$(e,t,n){this.props=e,this.context=t,this.refs=aH,this.updater=n||oH}var g$=m$.prototype=new sH;g$.constructor=m$;iH(g$,eh.prototype);g$.isPureReactComponent=!0;var X2=Array.isArray,lH=Object.prototype.hasOwnProperty,v$={current:null},cH={key:!0,ref:!0,__self:!0,__source:!0};function uH(e,t,n){var r,o={},i=null,a=null;if(t!=null)for(r in t.ref!==void 0&&(a=t.ref),t.key!==void 0&&(i=""+t.key),t)lH.call(t,r)&&!cH.hasOwnProperty(r)&&(o[r]=t[r]);var s=arguments.length-2;if(s===1)o.children=n;else if(1t in e?EZ(e,t,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Z2;function HZ(){if(Z2)return im;Z2=1;var e=g,t=Symbol.for("react.element"),n=Symbol.for("react.fragment"),r=Object.prototype.hasOwnProperty,o=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,i={key:!0,ref:!0,__self:!0,__source:!0};function a(s,l,c){var u,d={},f=null,p=null;c!==void 0&&(f=""+c),l.key!==void 0&&(f=""+l.key),l.ref!==void 0&&(p=l.ref);for(u in l)r.call(l,u)&&!i.hasOwnProperty(u)&&(d[u]=l[u]);if(s&&s.defaultProps)for(u in l=s.defaultProps,l)d[u]===void 0&&(d[u]=l[u]);return{$$typeof:t,type:s,key:f,ref:p,props:d,_owner:o.current}}return im.Fragment=n,im.jsx=a,im.jsxs=a,im}var eD;function Kt(){return eD||(eD=1,hP.exports=HZ()),hP.exports}var k=Kt(),UZ=!1;function WZ(e){if(e.sheet)return e.sheet;for(var t=0;t0?Ar(th,--Do):0,lp--,nr===10&&(lp=1,w1--),nr}function ti(){return nr=Do2||zg(nr)>3?"":" "}function oee(e,t){for(;--t&&ti()&&!(nr<48||nr>102||nr>57&&nr<65||nr>70&&nr<97););return hy(e,P0()+(t<6&&ss()==32&&ti()==32))}function bO(e){for(;ti();)switch(nr){case e:return Do;case 34:case 39:e!==34&&e!==39&&bO(nr);break;case 40:e===41&&bO(e);break;case 92:ti();break}return Do}function iee(e,t){for(;ti()&&e+nr!==57;)if(e+nr===84&&ss()===47)break;return"/*"+hy(t,Do-1)+"*"+x1(e===47?e:ti())}function aee(e){for(;!zg(ss());)ti();return hy(e,Do)}function see(e){return vH(O0("",null,null,null,[""],e=gH(e),0,[0],e))}function O0(e,t,n,r,o,i,a,s,l){for(var c=0,u=0,d=a,f=0,p=0,h=0,m=1,v=1,b=1,y=0,w="",C=o,O=i,P=r,E=w;v;)switch(h=y,y=ti()){case 40:if(h!=108&&Ar(E,d-1)==58){yO(E+=en(E0(y),"&","&\f"),"&\f")!=-1&&(b=-1);break}case 34:case 39:case 91:E+=E0(y);break;case 9:case 10:case 13:case 32:E+=ree(h);break;case 92:E+=oee(P0()-1,7);continue;case 47:switch(ss()){case 42:case 47:vb(lee(iee(ti(),P0()),t,n),l);break;default:E+="/"}break;case 123*m:s[c++]=Za(E)*b;case 125*m:case 59:case 0:switch(y){case 0:case 125:v=0;case 59+u:b==-1&&(E=en(E,/\f/g,"")),p>0&&Za(E)-d&&vb(p>32?nD(E+";",r,n,d-1):nD(en(E," ","")+";",r,n,d-2),l);break;case 59:E+=";";default:if(vb(P=tD(E,t,n,c,u,o,s,w,C=[],O=[],d),i),y===123)if(u===0)O0(E,t,P,P,C,i,d,s,O);else switch(f===99&&Ar(E,3)===110?100:f){case 100:case 108:case 109:case 115:O0(e,P,P,r&&vb(tD(e,P,P,0,0,o,s,w,o,C=[],d),O),o,O,d,s,r?C:O);break;default:O0(E,P,P,P,[""],O,0,s,O)}}c=u=p=0,m=b=1,w=E="",d=a;break;case 58:d=1+Za(E),p=h;default:if(m<1){if(y==123)--m;else if(y==125&&m++==0&&nee()==125)continue}switch(E+=x1(y),y*m){case 38:b=u>0?1:(E+="\f",-1);break;case 44:s[c++]=(Za(E)-1)*b,b=1;break;case 64:ss()===45&&(E+=E0(ti())),f=ss(),u=d=Za(w=E+=aee(P0())),y++;break;case 45:h===45&&Za(E)==2&&(m=0)}}return i}function tD(e,t,n,r,o,i,a,s,l,c,u){for(var d=o-1,f=o===0?i:[""],p=w$(f),h=0,m=0,v=0;h0?f[b]+" "+y:en(y,/&\f/g,f[b])))&&(l[v++]=w);return C1(e,t,n,o===0?b$:s,l,c,u)}function lee(e,t,n){return C1(e,t,n,fH,x1(tee()),Bg(e,2,-2),0)}function nD(e,t,n,r){return C1(e,t,n,x$,Bg(e,0,r),Bg(e,r+1,-1),r)}function Uf(e,t){for(var n="",r=w$(e),o=0;o6)switch(Ar(e,t+1)){case 109:if(Ar(e,t+4)!==45)break;case 102:return en(e,/(.+:)(.+)-([^]+)/,"$1"+Zt+"$2-$3$1"+ox+(Ar(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~yO(e,"stretch")?yH(en(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(Ar(e,t+1)!==115)break;case 6444:switch(Ar(e,Za(e)-3-(~yO(e,"!important")&&10))){case 107:return en(e,":",":"+Zt)+e;case 101:return en(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+Zt+(Ar(e,14)===45?"inline-":"")+"box$3$1"+Zt+"$2$3$1"+Hr+"$2box$3")+e}break;case 5936:switch(Ar(e,t+11)){case 114:return Zt+e+Hr+en(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return Zt+e+Hr+en(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return Zt+e+Hr+en(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return Zt+e+Hr+e+e}return e}var yee=function(t,n,r,o){if(t.length>-1&&!t.return)switch(t.type){case x$:t.return=yH(t.value,t.length);break;case pH:return Uf([am(t,{value:en(t.value,"@","@"+Zt)})],o);case b$:if(t.length)return eee(t.props,function(i){switch(ZZ(i,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return Uf([am(t,{props:[en(i,/:(read-\w+)/,":"+ox+"$1")]})],o);case"::placeholder":return Uf([am(t,{props:[en(i,/:(plac\w+)/,":"+Zt+"input-$1")]}),am(t,{props:[en(i,/:(plac\w+)/,":"+ox+"$1")]}),am(t,{props:[en(i,/:(plac\w+)/,Hr+"input-$1")]})],o)}return""})}},bee=[yee],C$=function(t){var n=t.key;if(n==="css"){var r=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(r,function(m){var v=m.getAttribute("data-emotion");v.indexOf(" ")!==-1&&(document.head.appendChild(m),m.setAttribute("data-s",""))})}var o=t.stylisPlugins||bee,i={},a,s=[];a=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+n+' "]'),function(m){for(var v=m.getAttribute("data-emotion").split(" "),b=1;b0?ri($v,--Pa):0,My--,mo===10&&(My=1,$O--),mo}function Qa(){return mo=Pa2||Dw(mo)>3?"":" "}function Jye(e,t){for(;--t&&Qa()&&!(mo<48||mo>102||mo>57&&mo<65||mo>70&&mo<97););return dS(e,CP()+(t<6&&Mc()==32&&Qa()==32))}function YR(e){for(;Qa();)switch(mo){case e:return Pa;case 34:case 39:e!==34&&e!==39&&YR(mo);break;case 40:e===41&&YR(e);break;case 92:Qa();break}return Pa}function Zye(e,t){for(;Qa()&&e+mo!==57;)if(e+mo===84&&Mc()===47)break;return"/*"+dS(t,Pa-1)+"*"+AO(e===47?e:Qa())}function eve(e){for(;!Dw(Mc());)Qa();return dS(e,Pa)}function tve(e){return kY(TP("",null,null,null,[""],e=IY(e),0,[0],e))}function TP(e,t,n,r,o,i,a,s,l){for(var c=0,u=0,d=a,f=0,p=0,m=0,g=1,v=1,w=1,x=0,S="",P=o,T=i,E=r,O=S;v;)switch(m=x,x=Qa()){case 40:if(m!=108&&ri(O,d-1)==58){KR(O+=Xn(PP(x),"&","&\f"),"&\f")!=-1&&(w=-1);break}case 34:case 39:case 91:O+=PP(x);break;case 9:case 10:case 13:case 32:O+=Qye(m);break;case 92:O+=Jye(CP()-1,7);continue;case 47:switch(Mc()){case 42:case 47:uC(nve(Zye(Qa(),CP()),t,n),l);break;default:O+="/"}break;case 123*g:s[c++]=Sc(O)*w;case 125*g:case 59:case 0:switch(x){case 0:case 125:v=0;case 59+u:w==-1&&(O=Xn(O,/\f/g,"")),p>0&&Sc(O)-d&&uC(p>32?AH(O+";",r,n,d-1):AH(Xn(O," ","")+";",r,n,d-2),l);break;case 59:O+=";";default:if(uC(E=MH(O,t,n,c,u,o,s,S,P=[],T=[],d),i),x===123)if(u===0)TP(O,t,E,E,P,i,d,s,T);else switch(f===99&&ri(O,3)===110?100:f){case 100:case 108:case 109:case 115:TP(e,E,E,r&&uC(MH(e,E,E,0,0,o,s,S,o,P=[],d),T),o,T,d,s,r?P:T);break;default:TP(O,E,E,E,[""],T,0,s,T)}}c=u=p=0,g=w=1,S=O="",d=a;break;case 58:d=1+Sc(O),p=m;default:if(g<1){if(x==123)--g;else if(x==125&&g++==0&&Xye()==125)continue}switch(O+=AO(x),x*g){case 38:w=u>0?1:(O+="\f",-1);break;case 44:s[c++]=(Sc(O)-1)*w,w=1;break;case 64:Mc()===45&&(O+=PP(Qa())),f=Mc(),u=d=Sc(S=O+=eve(CP())),x++;break;case 45:m===45&&Sc(O)==2&&(g=0)}}return i}function MH(e,t,n,r,o,i,a,s,l,c,u){for(var d=o-1,f=o===0?i:[""],p=wL(f),m=0,g=0,v=0;m0?f[w]+" "+x:Xn(x,/&\f/g,f[w])))&&(l[v++]=S);return RO(e,t,n,o===0?vL:s,l,c,u)}function nve(e,t,n){return RO(e,t,n,PY,AO(Yye()),_w(e,2,-2),0)}function AH(e,t,n,r){return RO(e,t,n,bL,_w(e,0,r),_w(e,r+1,-1),r)}function Wg(e,t){for(var n="",r=wL(e),o=0;o6)switch(ri(e,t+1)){case 109:if(ri(e,t+4)!==45)break;case 102:return Xn(e,/(.+:)(.+)-([^]+)/,"$1"+Yn+"$2-$3$1"+oT+(ri(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~KR(e,"stretch")?AY(Xn(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(ri(e,t+1)!==115)break;case 6444:switch(ri(e,Sc(e)-3-(~KR(e,"!important")&&10))){case 107:return Xn(e,":",":"+Yn)+e;case 101:return Xn(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+Yn+(ri(e,14)===45?"inline-":"")+"box$3$1"+Yn+"$2$3$1"+hi+"$2box$3")+e}break;case 5936:switch(ri(e,t+11)){case 114:return Yn+e+hi+Xn(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return Yn+e+hi+Xn(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return Yn+e+hi+Xn(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return Yn+e+hi+e+e}return e}var dve=function(t,n,r,o){if(t.length>-1&&!t.return)switch(t.type){case bL:t.return=AY(t.value,t.length);break;case TY:return Wg([Kb(t,{value:Xn(t.value,"@","@"+Yn)})],o);case vL:if(t.length)return Kye(t.props,function(i){switch(qye(i,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return Wg([Kb(t,{props:[Xn(i,/:(read-\w+)/,":"+oT+"$1")]})],o);case"::placeholder":return Wg([Kb(t,{props:[Xn(i,/:(plac\w+)/,":"+Yn+"input-$1")]}),Kb(t,{props:[Xn(i,/:(plac\w+)/,":"+oT+"$1")]}),Kb(t,{props:[Xn(i,/:(plac\w+)/,hi+"input-$1")]})],o)}return""})}},fve=[dve],$Y=function(t){var n=t.key;if(n==="css"){var r=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(r,function(g){var v=g.getAttribute("data-emotion");v.indexOf(" ")!==-1&&(document.head.appendChild(g),g.setAttribute("data-s",""))})}var o=t.stylisPlugins||fve,i={},a,s=[];a=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+n+' "]'),function(g){for(var v=g.getAttribute("data-emotion").split(" "),w=1;w=4;++r,o-=4)n=e.charCodeAt(r)&255|(e.charCodeAt(++r)&255)<<8|(e.charCodeAt(++r)&255)<<16|(e.charCodeAt(++r)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,t=(n&65535)*1540483477+((n>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(o){case 3:t^=(e.charCodeAt(r+2)&255)<<16;case 2:t^=(e.charCodeAt(r+1)&255)<<8;case 1:t^=e.charCodeAt(r)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var $ee={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,scale: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},Mee=!1,Aee=/[A-Z]|^ms/g,Ree=/_EMO_([^_]+?)_([^]*?)_EMO_/g,PH=function(t){return t.charCodeAt(1)===45},oD=function(t){return t!=null&&typeof t!="boolean"},gP=fee(function(e){return PH(e)?e:e.replace(Aee,"-$&").toLowerCase()}),iD=function(t,n){switch(t){case"animation":case"animationName":if(typeof n=="string")return n.replace(Ree,function(r,o,i){return es={name:o,styles:i,next:es},o})}return $ee[t]!==1&&!PH(t)&&typeof n=="number"&&n!==0?n+"px":n},_ee="Component selectors can only be used in conjunction with @emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware compiler transform.";function Vg(e,t,n){if(n==null)return"";var r=n;if(r.__emotion_styles!==void 0)return r;switch(typeof n){case"boolean":return"";case"object":{var o=n;if(o.anim===1)return es={name:o.name,styles:o.styles,next:es},o.name;var i=n;if(i.styles!==void 0){var a=i.next;if(a!==void 0)for(;a!==void 0;)es={name:a.name,styles:a.styles,next:es},a=a.next;var s=i.styles+";";return s}return Dee(e,t,n)}case"function":{if(e!==void 0){var l=es,c=n(e);return es=l,Vg(e,t,c)}break}}var u=n;if(t==null)return u;var d=t[u];return d!==void 0?d:u}function Dee(e,t,n){var r="";if(Array.isArray(n))for(var o=0;o=0)continue;n[r]=e[r]}return n}function Vee(e){var t=Object.create(null);return function(n){return t[n]===void 0&&(t[n]=e(n)),t[n]}}var Hee=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,Uee=Vee(function(e){return Hee.test(e)||e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)<91}),Wee=Uee,Gee=function(t){return t!=="theme"},lD=function(t){return typeof t=="string"&&t.charCodeAt(0)>96?Wee:Gee},cD=function(t,n,r){var o;if(n){var i=n.shouldForwardProp;o=t.__emotion_forwardProp&&i?function(a){return t.__emotion_forwardProp(a)&&i(a)}:i}return typeof o!="function"&&r&&(o=t.__emotion_forwardProp),o},qee=function(t){var n=t.cache,r=t.serialized,o=t.isStringTag;return O$(n,r,o),OH(function(){return T$(n,r,o)}),null},Kee=function e(t,n){var r=t.__emotion_real===t,o=r&&t.__emotion_base||t,i,a;n!==void 0&&(i=n.label,a=n.target);var s=cD(t,n,r),l=s||lD(o),c=!l("as");return function(){var u=arguments,d=r&&t.__emotion_styles!==void 0?t.__emotion_styles.slice(0):[];if(i!==void 0&&d.push("label:"+i+";"),u[0]==null||u[0].raw===void 0)d.push.apply(d,u);else{d.push(u[0][0]);for(var f=u.length,p=1;pt(nte(o)?n:o):t;return k.jsx(Bee,{styles:r})}function M$(e,t){return wO(e,t)}const _H=(e,t)=>{Array.isArray(e.__emotion_styles)&&(e.__emotion_styles=t(e.__emotion_styles))},rte=Object.freeze(Object.defineProperty({__proto__:null,GlobalStyles:RH,StyledEngineProvider:tte,ThemeContext:nh,css:il,default:M$,internal_processStyles:_H,keyframes:Ba},Symbol.toStringTag,{value:"Module"}));function Ws(e){if(typeof e!="object"||e===null)return!1;const t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function DH(e){if(!Ws(e))return e;const t={};return Object.keys(e).forEach(n=>{t[n]=DH(e[n])}),t}function Dr(e,t,n={clone:!0}){const r=n.clone?S({},e):e;return Ws(e)&&Ws(t)&&Object.keys(t).forEach(o=>{Ws(t[o])&&Object.prototype.hasOwnProperty.call(e,o)&&Ws(e[o])?r[o]=Dr(e[o],t[o],n):n.clone?r[o]=Ws(t[o])?DH(t[o]):t[o]:r[o]=t[o]}),r}const ote=Object.freeze(Object.defineProperty({__proto__:null,default:Dr,isPlainObject:Ws},Symbol.toStringTag,{value:"Module"})),ite=["values","unit","step"],ate=e=>{const t=Object.keys(e).map(n=>({key:n,val:e[n]}))||[];return t.sort((n,r)=>n.val-r.val),t.reduce((n,r)=>S({},n,{[r.key]:r.val}),{})};function NH(e){const{values:t={xs:0,sm:600,md:900,lg:1200,xl:1536},unit:n="px",step:r=5}=e,o=q(e,ite),i=ate(t),a=Object.keys(i);function s(f){return`@media (min-width:${typeof t[f]=="number"?t[f]:f}${n})`}function l(f){return`@media (max-width:${(typeof t[f]=="number"?t[f]:f)-r/100}${n})`}function c(f,p){const h=a.indexOf(p);return`@media (min-width:${typeof t[f]=="number"?t[f]:f}${n}) and (max-width:${(h!==-1&&typeof t[a[h]]=="number"?t[a[h]]:p)-r/100}${n})`}function u(f){return a.indexOf(f)+1`@media (min-width:${A$[e]}px)`};function No(e,t,n){const r=e.theme||{};if(Array.isArray(t)){const i=r.breakpoints||uD;return t.reduce((a,s,l)=>(a[i.up(i.keys[l])]=n(t[l]),a),{})}if(typeof t=="object"){const i=r.breakpoints||uD;return Object.keys(t).reduce((a,s)=>{if(Object.keys(i.values||A$).indexOf(s)!==-1){const l=i.up(s);a[l]=n(t[s],s)}else{const l=s;a[l]=t[l]}return a},{})}return n(t)}function LH(e={}){var t;return((t=e.keys)==null?void 0:t.reduce((r,o)=>{const i=e.up(o);return r[i]={},r},{}))||{}}function jH(e,t){return e.reduce((n,r)=>{const o=n[r];return(!o||Object.keys(o).length===0)&&delete n[r],n},t)}function lte(e,...t){const n=LH(e),r=[n,...t].reduce((o,i)=>Dr(o,i),{});return jH(Object.keys(n),r)}function cte(e,t){if(typeof e!="object")return{};const n={},r=Object.keys(t);return Array.isArray(e)?r.forEach((o,i)=>{i{e[o]!=null&&(n[o]=!0)}),n}function Mu({values:e,breakpoints:t,base:n}){const r=n||cte(e,t),o=Object.keys(r);if(o.length===0)return e;let i;return o.reduce((a,s,l)=>(Array.isArray(e)?(a[s]=e[l]!=null?e[l]:e[i],i=l):typeof e=="object"?(a[s]=e[s]!=null?e[s]:e[i],i=s):a[s]=e,a),{})}function ie(e){if(typeof e!="string")throw new Error(al(7));return e.charAt(0).toUpperCase()+e.slice(1)}const ute=Object.freeze(Object.defineProperty({__proto__:null,default:ie},Symbol.toStringTag,{value:"Module"}));function _1(e,t,n=!0){if(!t||typeof t!="string")return null;if(e&&e.vars&&n){const r=`vars.${t}`.split(".").reduce((o,i)=>o&&o[i]?o[i]:null,e);if(r!=null)return r}return t.split(".").reduce((r,o)=>r&&r[o]!=null?r[o]:null,e)}function ax(e,t,n,r=n){let o;return typeof e=="function"?o=e(n):Array.isArray(e)?o=e[n]||r:o=_1(e,n)||r,t&&(o=t(o,r,e)),o}function Xn(e){const{prop:t,cssProperty:n=e.prop,themeKey:r,transform:o}=e,i=a=>{if(a[t]==null)return null;const s=a[t],l=a.theme,c=_1(l,r)||{};return No(a,s,d=>{let f=ax(c,o,d);return d===f&&typeof d=="string"&&(f=ax(c,o,`${t}${d==="default"?"":ie(d)}`,d)),n===!1?f:{[n]:f}})};return i.propTypes={},i.filterProps=[t],i}function dte(e){const t={};return n=>(t[n]===void 0&&(t[n]=e(n)),t[n])}const fte={m:"margin",p:"padding"},pte={t:"Top",r:"Right",b:"Bottom",l:"Left",x:["Left","Right"],y:["Top","Bottom"]},dD={marginX:"mx",marginY:"my",paddingX:"px",paddingY:"py"},hte=dte(e=>{if(e.length>2)if(dD[e])e=dD[e];else return[e];const[t,n]=e.split(""),r=fte[t],o=pte[n]||"";return Array.isArray(o)?o.map(i=>r+i):[r+o]}),R$=["m","mt","mr","mb","ml","mx","my","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","marginInline","marginInlineStart","marginInlineEnd","marginBlock","marginBlockStart","marginBlockEnd"],_$=["p","pt","pr","pb","pl","px","py","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","paddingInline","paddingInlineStart","paddingInlineEnd","paddingBlock","paddingBlockStart","paddingBlockEnd"];[...R$,..._$];function gy(e,t,n,r){var o;const i=(o=_1(e,t,!1))!=null?o:n;return typeof i=="number"?a=>typeof a=="string"?a:i*a:Array.isArray(i)?a=>typeof a=="string"?a:i[a]:typeof i=="function"?i:()=>{}}function D$(e){return gy(e,"spacing",8)}function Ku(e,t){if(typeof t=="string"||t==null)return t;const n=Math.abs(t),r=e(n);return t>=0?r:typeof r=="number"?-r:`-${r}`}function mte(e,t){return n=>e.reduce((r,o)=>(r[o]=Ku(t,n),r),{})}function gte(e,t,n,r){if(t.indexOf(n)===-1)return null;const o=hte(n),i=mte(o,r),a=e[n];return No(e,a,i)}function FH(e,t){const n=D$(e.theme);return Object.keys(e).map(r=>gte(e,t,r,n)).reduce(ag,{})}function Vn(e){return FH(e,R$)}Vn.propTypes={};Vn.filterProps=R$;function Hn(e){return FH(e,_$)}Hn.propTypes={};Hn.filterProps=_$;function vte(e=8){if(e.mui)return e;const t=D$({spacing:e}),n=(...r)=>(r.length===0?[1]:r).map(i=>{const a=t(i);return typeof a=="number"?`${a}px`:a}).join(" ");return n.mui=!0,n}function D1(...e){const t=e.reduce((r,o)=>(o.filterProps.forEach(i=>{r[i]=o}),r),{}),n=r=>Object.keys(r).reduce((o,i)=>t[i]?ag(o,t[i](r)):o,{});return n.propTypes={},n.filterProps=e.reduce((r,o)=>r.concat(o.filterProps),[]),n}function Ni(e){return typeof e!="number"?e:`${e}px solid`}function na(e,t){return Xn({prop:e,themeKey:"borders",transform:t})}const yte=na("border",Ni),bte=na("borderTop",Ni),xte=na("borderRight",Ni),wte=na("borderBottom",Ni),Cte=na("borderLeft",Ni),Ste=na("borderColor"),Pte=na("borderTopColor"),Ete=na("borderRightColor"),Ote=na("borderBottomColor"),Tte=na("borderLeftColor"),kte=na("outline",Ni),Ite=na("outlineColor"),N1=e=>{if(e.borderRadius!==void 0&&e.borderRadius!==null){const t=gy(e.theme,"shape.borderRadius",4),n=r=>({borderRadius:Ku(t,r)});return No(e,e.borderRadius,n)}return null};N1.propTypes={};N1.filterProps=["borderRadius"];D1(yte,bte,xte,wte,Cte,Ste,Pte,Ete,Ote,Tte,N1,kte,Ite);const L1=e=>{if(e.gap!==void 0&&e.gap!==null){const t=gy(e.theme,"spacing",8),n=r=>({gap:Ku(t,r)});return No(e,e.gap,n)}return null};L1.propTypes={};L1.filterProps=["gap"];const j1=e=>{if(e.columnGap!==void 0&&e.columnGap!==null){const t=gy(e.theme,"spacing",8),n=r=>({columnGap:Ku(t,r)});return No(e,e.columnGap,n)}return null};j1.propTypes={};j1.filterProps=["columnGap"];const F1=e=>{if(e.rowGap!==void 0&&e.rowGap!==null){const t=gy(e.theme,"spacing",8),n=r=>({rowGap:Ku(t,r)});return No(e,e.rowGap,n)}return null};F1.propTypes={};F1.filterProps=["rowGap"];const $te=Xn({prop:"gridColumn"}),Mte=Xn({prop:"gridRow"}),Ate=Xn({prop:"gridAutoFlow"}),Rte=Xn({prop:"gridAutoColumns"}),_te=Xn({prop:"gridAutoRows"}),Dte=Xn({prop:"gridTemplateColumns"}),Nte=Xn({prop:"gridTemplateRows"}),Lte=Xn({prop:"gridTemplateAreas"}),jte=Xn({prop:"gridArea"});D1(L1,j1,F1,$te,Mte,Ate,Rte,_te,Dte,Nte,Lte,jte);function Wf(e,t){return t==="grey"?t:e}const Fte=Xn({prop:"color",themeKey:"palette",transform:Wf}),Bte=Xn({prop:"bgcolor",cssProperty:"backgroundColor",themeKey:"palette",transform:Wf}),zte=Xn({prop:"backgroundColor",themeKey:"palette",transform:Wf});D1(Fte,Bte,zte);function Yo(e){return e<=1&&e!==0?`${e*100}%`:e}const Vte=Xn({prop:"width",transform:Yo}),N$=e=>{if(e.maxWidth!==void 0&&e.maxWidth!==null){const t=n=>{var r,o;const i=((r=e.theme)==null||(r=r.breakpoints)==null||(r=r.values)==null?void 0:r[n])||A$[n];return i?((o=e.theme)==null||(o=o.breakpoints)==null?void 0:o.unit)!=="px"?{maxWidth:`${i}${e.theme.breakpoints.unit}`}:{maxWidth:i}:{maxWidth:Yo(n)}};return No(e,e.maxWidth,t)}return null};N$.filterProps=["maxWidth"];const Hte=Xn({prop:"minWidth",transform:Yo}),Ute=Xn({prop:"height",transform:Yo}),Wte=Xn({prop:"maxHeight",transform:Yo}),Gte=Xn({prop:"minHeight",transform:Yo});Xn({prop:"size",cssProperty:"width",transform:Yo});Xn({prop:"size",cssProperty:"height",transform:Yo});const qte=Xn({prop:"boxSizing"});D1(Vte,N$,Hte,Ute,Wte,Gte,qte);const vy={border:{themeKey:"borders",transform:Ni},borderTop:{themeKey:"borders",transform:Ni},borderRight:{themeKey:"borders",transform:Ni},borderBottom:{themeKey:"borders",transform:Ni},borderLeft:{themeKey:"borders",transform:Ni},borderColor:{themeKey:"palette"},borderTopColor:{themeKey:"palette"},borderRightColor:{themeKey:"palette"},borderBottomColor:{themeKey:"palette"},borderLeftColor:{themeKey:"palette"},outline:{themeKey:"borders",transform:Ni},outlineColor:{themeKey:"palette"},borderRadius:{themeKey:"shape.borderRadius",style:N1},color:{themeKey:"palette",transform:Wf},bgcolor:{themeKey:"palette",cssProperty:"backgroundColor",transform:Wf},backgroundColor:{themeKey:"palette",transform:Wf},p:{style:Hn},pt:{style:Hn},pr:{style:Hn},pb:{style:Hn},pl:{style:Hn},px:{style:Hn},py:{style:Hn},padding:{style:Hn},paddingTop:{style:Hn},paddingRight:{style:Hn},paddingBottom:{style:Hn},paddingLeft:{style:Hn},paddingX:{style:Hn},paddingY:{style:Hn},paddingInline:{style:Hn},paddingInlineStart:{style:Hn},paddingInlineEnd:{style:Hn},paddingBlock:{style:Hn},paddingBlockStart:{style:Hn},paddingBlockEnd:{style:Hn},m:{style:Vn},mt:{style:Vn},mr:{style:Vn},mb:{style:Vn},ml:{style:Vn},mx:{style:Vn},my:{style:Vn},margin:{style:Vn},marginTop:{style:Vn},marginRight:{style:Vn},marginBottom:{style:Vn},marginLeft:{style:Vn},marginX:{style:Vn},marginY:{style:Vn},marginInline:{style:Vn},marginInlineStart:{style:Vn},marginInlineEnd:{style:Vn},marginBlock:{style:Vn},marginBlockStart:{style:Vn},marginBlockEnd:{style:Vn},displayPrint:{cssProperty:!1,transform:e=>({"@media print":{display:e}})},display:{},overflow:{},textOverflow:{},visibility:{},whiteSpace:{},flexBasis:{},flexDirection:{},flexWrap:{},justifyContent:{},alignItems:{},alignContent:{},order:{},flex:{},flexGrow:{},flexShrink:{},alignSelf:{},justifyItems:{},justifySelf:{},gap:{style:L1},rowGap:{style:F1},columnGap:{style:j1},gridColumn:{},gridRow:{},gridAutoFlow:{},gridAutoColumns:{},gridAutoRows:{},gridTemplateColumns:{},gridTemplateRows:{},gridTemplateAreas:{},gridArea:{},position:{},zIndex:{themeKey:"zIndex"},top:{},right:{},bottom:{},left:{},boxShadow:{themeKey:"shadows"},width:{transform:Yo},maxWidth:{style:N$},minWidth:{transform:Yo},height:{transform:Yo},maxHeight:{transform:Yo},minHeight:{transform:Yo},boxSizing:{},fontFamily:{themeKey:"typography"},fontSize:{themeKey:"typography"},fontStyle:{themeKey:"typography"},fontWeight:{themeKey:"typography"},letterSpacing:{},textTransform:{},lineHeight:{},textAlign:{},typography:{cssProperty:!1,themeKey:"typography"}};function Kte(...e){const t=e.reduce((r,o)=>r.concat(Object.keys(o)),[]),n=new Set(t);return e.every(r=>n.size===Object.keys(r).length)}function Yte(e,t){return typeof e=="function"?e(t):e}function BH(){function e(n,r,o,i){const a={[n]:r,theme:o},s=i[n];if(!s)return{[n]:r};const{cssProperty:l=n,themeKey:c,transform:u,style:d}=s;if(r==null)return null;if(c==="typography"&&r==="inherit")return{[n]:r};const f=_1(o,c)||{};return d?d(a):No(a,r,h=>{let m=ax(f,u,h);return h===m&&typeof h=="string"&&(m=ax(f,u,`${n}${h==="default"?"":ie(h)}`,h)),l===!1?m:{[l]:m}})}function t(n){var r;const{sx:o,theme:i={}}=n||{};if(!o)return null;const a=(r=i.unstable_sxConfig)!=null?r:vy;function s(l){let c=l;if(typeof l=="function")c=l(i);else if(typeof l!="object")return l;if(!c)return null;const u=LH(i.breakpoints),d=Object.keys(u);let f=u;return Object.keys(c).forEach(p=>{const h=Yte(c[p],i);if(h!=null)if(typeof h=="object")if(a[p])f=ag(f,e(p,h,i,a));else{const m=No({theme:i},h,v=>({[p]:v}));Kte(m,h)?f[p]=t({sx:h,theme:i}):f=ag(f,m)}else f=ag(f,e(p,h,i,a))}),jH(d,f)}return Array.isArray(o)?o.map(s):s(o)}return t}const rh=BH();rh.filterProps=["sx"];function zH(e,t){const n=this;return n.vars&&typeof n.getColorSchemeSelector=="function"?{[n.getColorSchemeSelector(e).replace(/(\[[^\]]+\])/,"*:where($1)")]:t}:n.palette.mode===e?t:{}}const Qte=["breakpoints","palette","spacing","shape"];function pd(e={},...t){const{breakpoints:n={},palette:r={},spacing:o,shape:i={}}=e,a=q(e,Qte),s=NH(n),l=vte(o);let c=Dr({breakpoints:s,direction:"ltr",components:{},palette:S({mode:"light"},r),spacing:l,shape:S({},ste,i)},a);return c.applyStyles=zH,c=t.reduce((u,d)=>Dr(u,d),c),c.unstable_sxConfig=S({},vy,a==null?void 0:a.unstable_sxConfig),c.unstable_sx=function(d){return rh({sx:d,theme:this})},c}const Xte=Object.freeze(Object.defineProperty({__proto__:null,default:pd,private_createBreakpoints:NH,unstable_applyStyles:zH},Symbol.toStringTag,{value:"Module"}));function Jte(e){return Object.keys(e).length===0}function L$(e=null){const t=g.useContext(nh);return!t||Jte(t)?e:t}const Zte=pd();function oh(e=Zte){return L$(e)}function ene({styles:e,themeId:t,defaultTheme:n={}}){const r=oh(n),o=typeof e=="function"?e(t&&r[t]||r):e;return k.jsx(RH,{styles:o})}const tne=["sx"],nne=e=>{var t,n;const r={systemProps:{},otherProps:{}},o=(t=e==null||(n=e.theme)==null?void 0:n.unstable_sxConfig)!=null?t:vy;return Object.keys(e).forEach(i=>{o[i]?r.systemProps[i]=e[i]:r.otherProps[i]=e[i]}),r};function ih(e){const{sx:t}=e,n=q(e,tne),{systemProps:r,otherProps:o}=nne(n);let i;return Array.isArray(t)?i=[r,...t]:typeof t=="function"?i=(...a)=>{const s=t(...a);return Ws(s)?S({},r,s):r}:i=S({},r,t),S({},o,{sx:i})}const rne=Object.freeze(Object.defineProperty({__proto__:null,default:rh,extendSxProp:ih,unstable_createStyleFunctionSx:BH,unstable_defaultSxConfig:vy},Symbol.toStringTag,{value:"Module"})),fD=e=>e,one=()=>{let e=fD;return{configure(t){e=t},generate(t){return e(t)},reset(){e=fD}}},j$=one();function VH(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;ts!=="theme"&&s!=="sx"&&s!=="as"})(rh);return g.forwardRef(function(l,c){const u=oh(n),d=ih(l),{className:f,component:p="div"}=d,h=q(d,ine);return k.jsx(i,S({as:p,ref:c,className:Q(f,o?o(r):r),theme:t&&u[t]||u},h))})}const HH={active:"active",checked:"checked",completed:"completed",disabled:"disabled",error:"error",expanded:"expanded",focused:"focused",focusVisible:"focusVisible",open:"open",readOnly:"readOnly",required:"required",selected:"selected"};function Se(e,t,n="Mui"){const r=HH[t];return r?`${n}-${r}`:`${j$.generate(e)}-${t}`}function Pe(e,t,n="Mui"){const r={};return t.forEach(o=>{r[o]=Se(e,o,n)}),r}var UH={exports:{}},dn={};/** + */var Ko=typeof Symbol=="function"&&Symbol.for,xL=Ko?Symbol.for("react.element"):60103,SL=Ko?Symbol.for("react.portal"):60106,_O=Ko?Symbol.for("react.fragment"):60107,DO=Ko?Symbol.for("react.strict_mode"):60108,NO=Ko?Symbol.for("react.profiler"):60114,LO=Ko?Symbol.for("react.provider"):60109,FO=Ko?Symbol.for("react.context"):60110,CL=Ko?Symbol.for("react.async_mode"):60111,jO=Ko?Symbol.for("react.concurrent_mode"):60111,BO=Ko?Symbol.for("react.forward_ref"):60112,zO=Ko?Symbol.for("react.suspense"):60113,pve=Ko?Symbol.for("react.suspense_list"):60120,VO=Ko?Symbol.for("react.memo"):60115,HO=Ko?Symbol.for("react.lazy"):60116,hve=Ko?Symbol.for("react.block"):60121,mve=Ko?Symbol.for("react.fundamental"):60117,gve=Ko?Symbol.for("react.responder"):60118,yve=Ko?Symbol.for("react.scope"):60119;function us(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case xL:switch(e=e.type,e){case CL:case jO:case _O:case NO:case DO:case zO:return e;default:switch(e=e&&e.$$typeof,e){case FO:case BO:case HO:case VO:case LO:return e;default:return t}}case SL:return t}}}function _Y(e){return us(e)===jO}ir.AsyncMode=CL;ir.ConcurrentMode=jO;ir.ContextConsumer=FO;ir.ContextProvider=LO;ir.Element=xL;ir.ForwardRef=BO;ir.Fragment=_O;ir.Lazy=HO;ir.Memo=VO;ir.Portal=SL;ir.Profiler=NO;ir.StrictMode=DO;ir.Suspense=zO;ir.isAsyncMode=function(e){return _Y(e)||us(e)===CL};ir.isConcurrentMode=_Y;ir.isContextConsumer=function(e){return us(e)===FO};ir.isContextProvider=function(e){return us(e)===LO};ir.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===xL};ir.isForwardRef=function(e){return us(e)===BO};ir.isFragment=function(e){return us(e)===_O};ir.isLazy=function(e){return us(e)===HO};ir.isMemo=function(e){return us(e)===VO};ir.isPortal=function(e){return us(e)===SL};ir.isProfiler=function(e){return us(e)===NO};ir.isStrictMode=function(e){return us(e)===DO};ir.isSuspense=function(e){return us(e)===zO};ir.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===_O||e===jO||e===NO||e===DO||e===zO||e===pve||typeof e=="object"&&e!==null&&(e.$$typeof===HO||e.$$typeof===VO||e.$$typeof===LO||e.$$typeof===FO||e.$$typeof===BO||e.$$typeof===mve||e.$$typeof===gve||e.$$typeof===yve||e.$$typeof===hve)};ir.typeOf=us;RY.exports=ir;var vve=RY.exports,DY=vve,bve={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},wve={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},NY={};NY[DY.ForwardRef]=bve;NY[DY.Memo]=wve;var xve=!0;function LY(e,t,n){var r="";return n.split(" ").forEach(function(o){e[o]!==void 0?t.push(e[o]+";"):r+=o+" "}),r}var PL=function(t,n,r){var o=t.key+"-"+n.name;(r===!1||xve===!1)&&t.registered[o]===void 0&&(t.registered[o]=n.styles)},TL=function(t,n,r){PL(t,n,r);var o=t.key+"-"+n.name;if(t.inserted[n.name]===void 0){var i=n;do t.insert(n===i?"."+o:"",i,t.sheet,!0),i=i.next;while(i!==void 0)}};function FY(e){for(var t=0,n,r=0,o=e.length;o>=4;++r,o-=4)n=e.charCodeAt(r)&255|(e.charCodeAt(++r)&255)<<8|(e.charCodeAt(++r)&255)<<16|(e.charCodeAt(++r)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,t=(n&65535)*1540483477+((n>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(o){case 3:t^=(e.charCodeAt(r+2)&255)<<16;case 2:t^=(e.charCodeAt(r+1)&255)<<8;case 1:t^=e.charCodeAt(r)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var jY={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,scale: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},Sve=!1,Cve=/[A-Z]|^ms/g,Pve=/_EMO_([^_]+?)_([^]*?)_EMO_/g,BY=function(t){return t.charCodeAt(1)===45},RH=function(t){return t!=null&&typeof t!="boolean"},FA=MY(function(e){return BY(e)?e:e.replace(Cve,"-$&").toLowerCase()}),_H=function(t,n){switch(t){case"animation":case"animationName":if(typeof n=="string")return n.replace(Pve,function(r,o,i){return Cc={name:o,styles:i,next:Cc},o})}return jY[t]!==1&&!BY(t)&&typeof n=="number"&&n!==0?n+"px":n},Tve="Component selectors can only be used in conjunction with @emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware compiler transform.";function Nw(e,t,n){if(n==null)return"";var r=n;if(r.__emotion_styles!==void 0)return r;switch(typeof n){case"boolean":return"";case"object":{var o=n;if(o.anim===1)return Cc={name:o.name,styles:o.styles,next:Cc},o.name;var i=n;if(i.styles!==void 0){var a=i.next;if(a!==void 0)for(;a!==void 0;)Cc={name:a.name,styles:a.styles,next:Cc},a=a.next;var s=i.styles+";";return s}return Eve(e,t,n)}case"function":{if(e!==void 0){var l=Cc,c=n(e);return Cc=l,Nw(e,t,c)}break}}var u=n;if(t==null)return u;var d=t[u];return d!==void 0?d:u}function Eve(e,t,n){var r="";if(Array.isArray(n))for(var o=0;on.searchParams.append("args[]",r)),`Minified MUI error #${e}; visit ${n} for the full message.`}const Kl="$$material";function Rve(e){var t=Object.create(null);return function(n){return t[n]===void 0&&(t[n]=e(n)),t[n]}}var _ve=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|disableRemotePlayback|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,Dve=Rve(function(e){return _ve.test(e)||e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)<91}),Nve=Dve,Lve=function(t){return t!=="theme"},LH=function(t){return typeof t=="string"&&t.charCodeAt(0)>96?Nve:Lve},FH=function(t,n,r){var o;if(n){var i=n.shouldForwardProp;o=t.__emotion_forwardProp&&i?function(a){return t.__emotion_forwardProp(a)&&i(a)}:i}return typeof o!="function"&&r&&(o=t.__emotion_forwardProp),o},Fve=function(t){var n=t.cache,r=t.serialized,o=t.isStringTag;return PL(n,r,o),VY(function(){return TL(n,r,o)}),null},jve=function e(t,n){var r=t.__emotion_real===t,o=r&&t.__emotion_base||t,i,a;n!==void 0&&(i=n.label,a=n.target);var s=FH(t,n,r),l=s||LH(o),c=!l("as");return function(){var u=arguments,d=r&&t.__emotion_styles!==void 0?t.__emotion_styles.slice(0):[];if(i!==void 0&&d.push("label:"+i+";"),u[0]==null||u[0].raw===void 0)d.push.apply(d,u);else{d.push(u[0][0]);for(var f=u.length,p=1;pt(Jve(o)?n:o):t;return $.jsx($ve,{styles:r})}/** + * @mui/styled-engine v6.1.6 + * + * @license MIT + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */function XY(e,t){return QR(e,t)}function Zve(e,t){Array.isArray(e.__emotion_styles)&&(e.__emotion_styles=t(e.__emotion_styles))}const VH=[];function HH(e){return VH[0]=e,Gve(VH)}function Pc(e){if(typeof e!="object"||e===null)return!1;const t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function QY(e){if(!Pc(e))return e;const t={};return Object.keys(e).forEach(n=>{t[n]=QY(e[n])}),t}function bo(e,t,n={clone:!0}){const r=n.clone?{...e}:e;return Pc(e)&&Pc(t)&&Object.keys(t).forEach(o=>{Pc(t[o])&&Object.prototype.hasOwnProperty.call(e,o)&&Pc(e[o])?r[o]=bo(e[o],t[o],n):n.clone?r[o]=Pc(t[o])?QY(t[o]):t[o]:r[o]=t[o]}),r}const ebe=e=>{const t=Object.keys(e).map(n=>({key:n,val:e[n]}))||[];return t.sort((n,r)=>n.val-r.val),t.reduce((n,r)=>({...n,[r.key]:r.val}),{})};function tbe(e){const{values:t={xs:0,sm:600,md:900,lg:1200,xl:1536},unit:n="px",step:r=5,...o}=e,i=ebe(t),a=Object.keys(i);function s(f){return`@media (min-width:${typeof t[f]=="number"?t[f]:f}${n})`}function l(f){return`@media (max-width:${(typeof t[f]=="number"?t[f]:f)-r/100}${n})`}function c(f,p){const m=a.indexOf(p);return`@media (min-width:${typeof t[f]=="number"?t[f]:f}${n}) and (max-width:${(m!==-1&&typeof t[a[m]]=="number"?t[a[m]]:p)-r/100}${n})`}function u(f){return a.indexOf(f)+1r.startsWith("@container")).sort((r,o)=>{var a,s;const i=/min-width:\s*([0-9.]+)/;return+(((a=r.match(i))==null?void 0:a[1])||0)-+(((s=o.match(i))==null?void 0:s[1])||0)});return n.length?n.reduce((r,o)=>{const i=t[o];return delete r[o],r[o]=i,r},{...t}):t}function rbe(e,t){return t==="@"||t.startsWith("@")&&(e.some(n=>t.startsWith(`@${n}`))||!!t.match(/^@\d/))}function obe(e,t){const n=t.match(/^@([^/]+)?\/?(.+)?$/);if(!n)return null;const[,r,o]=n,i=Number.isNaN(+r)?r||0:+r;return e.containerQueries(o).up(i)}function ibe(e){const t=(i,a)=>i.replace("@media",a?`@container ${a}`:"@container");function n(i,a){i.up=(...s)=>t(e.breakpoints.up(...s),a),i.down=(...s)=>t(e.breakpoints.down(...s),a),i.between=(...s)=>t(e.breakpoints.between(...s),a),i.only=(...s)=>t(e.breakpoints.only(...s),a),i.not=(...s)=>{const l=t(e.breakpoints.not(...s),a);return l.includes("not all and")?l.replace("not all and ","").replace("min-width:","width<").replace("max-width:","width>").replace("and","or"):l}}const r={},o=i=>(n(r,i),r);return n(o),{...e,containerQueries:o}}const abe={borderRadius:4};function tw(e,t){return t?bo(e,t,{clone:!1}):e}const WO={xs:0,sm:600,md:900,lg:1200,xl:1536},UH={keys:["xs","sm","md","lg","xl"],up:e=>`@media (min-width:${WO[e]}px)`},sbe={containerQueries:e=>({up:t=>{let n=typeof t=="number"?t:WO[t]||t;return typeof n=="number"&&(n=`${n}px`),e?`@container ${e} (min-width:${n})`:`@container (min-width:${n})`}})};function nc(e,t,n){const r=e.theme||{};if(Array.isArray(t)){const i=r.breakpoints||UH;return t.reduce((a,s,l)=>(a[i.up(i.keys[l])]=n(t[l]),a),{})}if(typeof t=="object"){const i=r.breakpoints||UH;return Object.keys(t).reduce((a,s)=>{if(rbe(i.keys,s)){const l=obe(r.containerQueries?r:sbe,s);l&&(a[l]=n(t[s],s))}else if(Object.keys(i.values||WO).includes(s)){const l=i.up(s);a[l]=n(t[s],s)}else{const l=s;a[l]=t[l]}return a},{})}return n(t)}function JY(e={}){var n;return((n=e.keys)==null?void 0:n.reduce((r,o)=>{const i=e.up(o);return r[i]={},r},{}))||{}}function ZY(e,t){return e.reduce((n,r)=>{const o=n[r];return(!o||Object.keys(o).length===0)&&delete n[r],n},t)}function lbe(e,...t){const n=JY(e),r=[n,...t].reduce((o,i)=>bo(o,i),{});return ZY(Object.keys(n),r)}function cbe(e,t){if(typeof e!="object")return{};const n={},r=Object.keys(t);return Array.isArray(e)?r.forEach((o,i)=>{i{e[o]!=null&&(n[o]=!0)}),n}function BA({values:e,breakpoints:t,base:n}){const r=n||cbe(e,t),o=Object.keys(r);if(o.length===0)return e;let i;return o.reduce((a,s,l)=>(Array.isArray(e)?(a[s]=e[l]!=null?e[l]:e[i],i=l):typeof e=="object"?(a[s]=e[s]!=null?e[s]:e[i],i=s):a[s]=e,a),{})}function Ce(e){if(typeof e!="string")throw new Error(Bu(7));return e.charAt(0).toUpperCase()+e.slice(1)}function GO(e,t,n=!0){if(!t||typeof t!="string")return null;if(e&&e.vars&&n){const r=`vars.${t}`.split(".").reduce((o,i)=>o&&o[i]?o[i]:null,e);if(r!=null)return r}return t.split(".").reduce((r,o)=>r&&r[o]!=null?r[o]:null,e)}function aT(e,t,n,r=n){let o;return typeof e=="function"?o=e(n):Array.isArray(e)?o=e[n]||r:o=GO(e,n)||r,t&&(o=t(o,r,e)),o}function lo(e){const{prop:t,cssProperty:n=e.prop,themeKey:r,transform:o}=e,i=a=>{if(a[t]==null)return null;const s=a[t],l=a.theme,c=GO(l,r)||{};return nc(a,s,d=>{let f=aT(c,o,d);return d===f&&typeof d=="string"&&(f=aT(c,o,`${t}${d==="default"?"":Ce(d)}`,d)),n===!1?f:{[n]:f}})};return i.propTypes={},i.filterProps=[t],i}function ube(e){const t={};return n=>(t[n]===void 0&&(t[n]=e(n)),t[n])}const dbe={m:"margin",p:"padding"},fbe={t:"Top",r:"Right",b:"Bottom",l:"Left",x:["Left","Right"],y:["Top","Bottom"]},WH={marginX:"mx",marginY:"my",paddingX:"px",paddingY:"py"},pbe=ube(e=>{if(e.length>2)if(WH[e])e=WH[e];else return[e];const[t,n]=e.split(""),r=dbe[t],o=fbe[n]||"";return Array.isArray(o)?o.map(i=>r+i):[r+o]}),kL=["m","mt","mr","mb","ml","mx","my","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","marginInline","marginInlineStart","marginInlineEnd","marginBlock","marginBlockStart","marginBlockEnd"],ML=["p","pt","pr","pb","pl","px","py","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","paddingInline","paddingInlineStart","paddingInlineEnd","paddingBlock","paddingBlockStart","paddingBlockEnd"];[...kL,...ML];function hS(e,t,n,r){const o=GO(e,t,!0)??n;return typeof o=="number"||typeof o=="string"?i=>typeof i=="string"?i:typeof o=="string"?`calc(${i} * ${o})`:o*i:Array.isArray(o)?i=>{if(typeof i=="string")return i;const a=Math.abs(i),s=o[a];return i>=0?s:typeof s=="number"?-s:`-${s}`}:typeof o=="function"?o:()=>{}}function qO(e){return hS(e,"spacing",8)}function bh(e,t){return typeof t=="string"||t==null?t:e(t)}function hbe(e,t){return n=>e.reduce((r,o)=>(r[o]=bh(t,n),r),{})}function mbe(e,t,n,r){if(!t.includes(n))return null;const o=pbe(n),i=hbe(o,r),a=e[n];return nc(e,a,i)}function eX(e,t){const n=qO(e.theme);return Object.keys(e).map(r=>mbe(e,t,r,n)).reduce(tw,{})}function Qr(e){return eX(e,kL)}Qr.propTypes={};Qr.filterProps=kL;function Jr(e){return eX(e,ML)}Jr.propTypes={};Jr.filterProps=ML;function tX(e=8,t=qO({spacing:e})){if(e.mui)return e;const n=(...r)=>(r.length===0?[1]:r).map(i=>{const a=t(i);return typeof a=="number"?`${a}px`:a}).join(" ");return n.mui=!0,n}function KO(...e){const t=e.reduce((r,o)=>(o.filterProps.forEach(i=>{r[i]=o}),r),{}),n=r=>Object.keys(r).reduce((o,i)=>t[i]?tw(o,t[i](r)):o,{});return n.propTypes={},n.filterProps=e.reduce((r,o)=>r.concat(o.filterProps),[]),n}function Vs(e){return typeof e!="number"?e:`${e}px solid`}function dl(e,t){return lo({prop:e,themeKey:"borders",transform:t})}const gbe=dl("border",Vs),ybe=dl("borderTop",Vs),vbe=dl("borderRight",Vs),bbe=dl("borderBottom",Vs),wbe=dl("borderLeft",Vs),xbe=dl("borderColor"),Sbe=dl("borderTopColor"),Cbe=dl("borderRightColor"),Pbe=dl("borderBottomColor"),Tbe=dl("borderLeftColor"),Ebe=dl("outline",Vs),Obe=dl("outlineColor"),YO=e=>{if(e.borderRadius!==void 0&&e.borderRadius!==null){const t=hS(e.theme,"shape.borderRadius",4),n=r=>({borderRadius:bh(t,r)});return nc(e,e.borderRadius,n)}return null};YO.propTypes={};YO.filterProps=["borderRadius"];KO(gbe,ybe,vbe,bbe,wbe,xbe,Sbe,Cbe,Pbe,Tbe,YO,Ebe,Obe);const XO=e=>{if(e.gap!==void 0&&e.gap!==null){const t=hS(e.theme,"spacing",8),n=r=>({gap:bh(t,r)});return nc(e,e.gap,n)}return null};XO.propTypes={};XO.filterProps=["gap"];const QO=e=>{if(e.columnGap!==void 0&&e.columnGap!==null){const t=hS(e.theme,"spacing",8),n=r=>({columnGap:bh(t,r)});return nc(e,e.columnGap,n)}return null};QO.propTypes={};QO.filterProps=["columnGap"];const JO=e=>{if(e.rowGap!==void 0&&e.rowGap!==null){const t=hS(e.theme,"spacing",8),n=r=>({rowGap:bh(t,r)});return nc(e,e.rowGap,n)}return null};JO.propTypes={};JO.filterProps=["rowGap"];const Ibe=lo({prop:"gridColumn"}),kbe=lo({prop:"gridRow"}),Mbe=lo({prop:"gridAutoFlow"}),Abe=lo({prop:"gridAutoColumns"}),$be=lo({prop:"gridAutoRows"}),Rbe=lo({prop:"gridTemplateColumns"}),_be=lo({prop:"gridTemplateRows"}),Dbe=lo({prop:"gridTemplateAreas"}),Nbe=lo({prop:"gridArea"});KO(XO,QO,JO,Ibe,kbe,Mbe,Abe,$be,Rbe,_be,Dbe,Nbe);function Gg(e,t){return t==="grey"?t:e}const Lbe=lo({prop:"color",themeKey:"palette",transform:Gg}),Fbe=lo({prop:"bgcolor",cssProperty:"backgroundColor",themeKey:"palette",transform:Gg}),jbe=lo({prop:"backgroundColor",themeKey:"palette",transform:Gg});KO(Lbe,Fbe,jbe);function Wa(e){return e<=1&&e!==0?`${e*100}%`:e}const Bbe=lo({prop:"width",transform:Wa}),AL=e=>{if(e.maxWidth!==void 0&&e.maxWidth!==null){const t=n=>{var o,i,a,s,l;const r=((a=(i=(o=e.theme)==null?void 0:o.breakpoints)==null?void 0:i.values)==null?void 0:a[n])||WO[n];return r?((l=(s=e.theme)==null?void 0:s.breakpoints)==null?void 0:l.unit)!=="px"?{maxWidth:`${r}${e.theme.breakpoints.unit}`}:{maxWidth:r}:{maxWidth:Wa(n)}};return nc(e,e.maxWidth,t)}return null};AL.filterProps=["maxWidth"];const zbe=lo({prop:"minWidth",transform:Wa}),Vbe=lo({prop:"height",transform:Wa}),Hbe=lo({prop:"maxHeight",transform:Wa}),Ube=lo({prop:"minHeight",transform:Wa});lo({prop:"size",cssProperty:"width",transform:Wa});lo({prop:"size",cssProperty:"height",transform:Wa});const Wbe=lo({prop:"boxSizing"});KO(Bbe,AL,zbe,Vbe,Hbe,Ube,Wbe);const mS={border:{themeKey:"borders",transform:Vs},borderTop:{themeKey:"borders",transform:Vs},borderRight:{themeKey:"borders",transform:Vs},borderBottom:{themeKey:"borders",transform:Vs},borderLeft:{themeKey:"borders",transform:Vs},borderColor:{themeKey:"palette"},borderTopColor:{themeKey:"palette"},borderRightColor:{themeKey:"palette"},borderBottomColor:{themeKey:"palette"},borderLeftColor:{themeKey:"palette"},outline:{themeKey:"borders",transform:Vs},outlineColor:{themeKey:"palette"},borderRadius:{themeKey:"shape.borderRadius",style:YO},color:{themeKey:"palette",transform:Gg},bgcolor:{themeKey:"palette",cssProperty:"backgroundColor",transform:Gg},backgroundColor:{themeKey:"palette",transform:Gg},p:{style:Jr},pt:{style:Jr},pr:{style:Jr},pb:{style:Jr},pl:{style:Jr},px:{style:Jr},py:{style:Jr},padding:{style:Jr},paddingTop:{style:Jr},paddingRight:{style:Jr},paddingBottom:{style:Jr},paddingLeft:{style:Jr},paddingX:{style:Jr},paddingY:{style:Jr},paddingInline:{style:Jr},paddingInlineStart:{style:Jr},paddingInlineEnd:{style:Jr},paddingBlock:{style:Jr},paddingBlockStart:{style:Jr},paddingBlockEnd:{style:Jr},m:{style:Qr},mt:{style:Qr},mr:{style:Qr},mb:{style:Qr},ml:{style:Qr},mx:{style:Qr},my:{style:Qr},margin:{style:Qr},marginTop:{style:Qr},marginRight:{style:Qr},marginBottom:{style:Qr},marginLeft:{style:Qr},marginX:{style:Qr},marginY:{style:Qr},marginInline:{style:Qr},marginInlineStart:{style:Qr},marginInlineEnd:{style:Qr},marginBlock:{style:Qr},marginBlockStart:{style:Qr},marginBlockEnd:{style:Qr},displayPrint:{cssProperty:!1,transform:e=>({"@media print":{display:e}})},display:{},overflow:{},textOverflow:{},visibility:{},whiteSpace:{},flexBasis:{},flexDirection:{},flexWrap:{},justifyContent:{},alignItems:{},alignContent:{},order:{},flex:{},flexGrow:{},flexShrink:{},alignSelf:{},justifyItems:{},justifySelf:{},gap:{style:XO},rowGap:{style:JO},columnGap:{style:QO},gridColumn:{},gridRow:{},gridAutoFlow:{},gridAutoColumns:{},gridAutoRows:{},gridTemplateColumns:{},gridTemplateRows:{},gridTemplateAreas:{},gridArea:{},position:{},zIndex:{themeKey:"zIndex"},top:{},right:{},bottom:{},left:{},boxShadow:{themeKey:"shadows"},width:{transform:Wa},maxWidth:{style:AL},minWidth:{transform:Wa},height:{transform:Wa},maxHeight:{transform:Wa},minHeight:{transform:Wa},boxSizing:{},font:{themeKey:"font"},fontFamily:{themeKey:"typography"},fontSize:{themeKey:"typography"},fontStyle:{themeKey:"typography"},fontWeight:{themeKey:"typography"},letterSpacing:{},textTransform:{},lineHeight:{},textAlign:{},typography:{cssProperty:!1,themeKey:"typography"}};function Gbe(...e){const t=e.reduce((r,o)=>r.concat(Object.keys(o)),[]),n=new Set(t);return e.every(r=>n.size===Object.keys(r).length)}function qbe(e,t){return typeof e=="function"?e(t):e}function Kbe(){function e(n,r,o,i){const a={[n]:r,theme:o},s=i[n];if(!s)return{[n]:r};const{cssProperty:l=n,themeKey:c,transform:u,style:d}=s;if(r==null)return null;if(c==="typography"&&r==="inherit")return{[n]:r};const f=GO(o,c)||{};return d?d(a):nc(a,r,m=>{let g=aT(f,u,m);return m===g&&typeof m=="string"&&(g=aT(f,u,`${n}${m==="default"?"":Ce(m)}`,m)),l===!1?g:{[l]:g}})}function t(n){const{sx:r,theme:o={}}=n||{};if(!r)return null;const i=o.unstable_sxConfig??mS;function a(s){let l=s;if(typeof s=="function")l=s(o);else if(typeof s!="object")return s;if(!l)return null;const c=JY(o.breakpoints),u=Object.keys(c);let d=c;return Object.keys(l).forEach(f=>{const p=qbe(l[f],o);if(p!=null)if(typeof p=="object")if(i[f])d=tw(d,e(f,p,o,i));else{const m=nc({theme:o},p,g=>({[f]:g}));Gbe(m,p)?d[f]=t({sx:p,theme:o}):d=tw(d,m)}else d=tw(d,e(f,p,o,i))}),nbe(o,ZY(u,d))}return Array.isArray(r)?r.map(a):a(r)}return t}const Tf=Kbe();Tf.filterProps=["sx"];function Ybe(e,t){var r;const n=this;if(n.vars){if(!((r=n.colorSchemes)!=null&&r[e])||typeof n.getColorSchemeSelector!="function")return{};let o=n.getColorSchemeSelector(e);return o==="&"?t:((o.includes("data-")||o.includes("."))&&(o=`*:where(${o.replace(/\s*&$/,"")}) &`),{[o]:t})}return n.palette.mode===e?t:{}}function Rv(e={},...t){const{breakpoints:n={},palette:r={},spacing:o,shape:i={},...a}=e,s=tbe(n),l=tX(o);let c=bo({breakpoints:s,direction:"ltr",components:{},palette:{mode:"light",...r},spacing:l,shape:{...abe,...i}},a);return c=ibe(c),c.applyStyles=Ybe,c=t.reduce((u,d)=>bo(u,d),c),c.unstable_sxConfig={...mS,...a==null?void 0:a.unstable_sxConfig},c.unstable_sx=function(d){return Tf({sx:d,theme:this})},c}function Xbe(e){return Object.keys(e).length===0}function $L(e=null){const t=y.useContext(fS);return!t||Xbe(t)?e:t}const Qbe=Rv();function gS(e=Qbe){return $L(e)}function Jbe({styles:e,themeId:t,defaultTheme:n={}}){const r=gS(n),o=typeof e=="function"?e(t&&r[t]||r):e;return $.jsx(YY,{styles:o})}const Zbe=e=>{var r;const t={systemProps:{},otherProps:{}},n=((r=e==null?void 0:e.theme)==null?void 0:r.unstable_sxConfig)??mS;return Object.keys(e).forEach(o=>{n[o]?t.systemProps[o]=e[o]:t.otherProps[o]=e[o]}),t};function ZO(e){const{sx:t,...n}=e,{systemProps:r,otherProps:o}=Zbe(n);let i;return Array.isArray(t)?i=[r,...t]:typeof t=="function"?i=(...a)=>{const s=t(...a);return Pc(s)?{...r,...s}:r}:i={...r,...t},{...o,sx:i}}const GH=e=>e,e0e=()=>{let e=GH;return{configure(t){e=t},generate(t){return e(t)},reset(){e=GH}}},nX=e0e();function rX(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;ts!=="theme"&&s!=="sx"&&s!=="as"})(Tf);return y.forwardRef(function(l,c){const u=gS(n),{className:d,component:f="div",...p}=ZO(l);return $.jsx(i,{as:f,ref:c,className:de(d,o?o(r):r),theme:t&&u[t]||u,...p})})}const n0e={active:"active",checked:"checked",completed:"completed",disabled:"disabled",error:"error",expanded:"expanded",focused:"focused",focusVisible:"focusVisible",open:"open",readOnly:"readOnly",required:"required",selected:"selected"};function tt(e,t,n="Mui"){const r=n0e[t];return r?`${n}-${r}`:`${nX.generate(e)}-${t}`}function ot(e,t,n="Mui"){const r={};return t.forEach(o=>{r[o]=tt(e,o,n)}),r}var oX={exports:{}},ar={};/** * @license React * react-is.production.min.js * @@ -29,7 +35,42 @@ var EZ=Object.defineProperty;var OZ=(e,t,n)=>t in e?EZ(e,t,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var F$=Symbol.for("react.element"),B$=Symbol.for("react.portal"),B1=Symbol.for("react.fragment"),z1=Symbol.for("react.strict_mode"),V1=Symbol.for("react.profiler"),H1=Symbol.for("react.provider"),U1=Symbol.for("react.context"),sne=Symbol.for("react.server_context"),W1=Symbol.for("react.forward_ref"),G1=Symbol.for("react.suspense"),q1=Symbol.for("react.suspense_list"),K1=Symbol.for("react.memo"),Y1=Symbol.for("react.lazy"),lne=Symbol.for("react.offscreen"),WH;WH=Symbol.for("react.module.reference");function ra(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case F$:switch(e=e.type,e){case B1:case V1:case z1:case G1:case q1:return e;default:switch(e=e&&e.$$typeof,e){case sne:case U1:case W1:case Y1:case K1:case H1:return e;default:return t}}case B$:return t}}}dn.ContextConsumer=U1;dn.ContextProvider=H1;dn.Element=F$;dn.ForwardRef=W1;dn.Fragment=B1;dn.Lazy=Y1;dn.Memo=K1;dn.Portal=B$;dn.Profiler=V1;dn.StrictMode=z1;dn.Suspense=G1;dn.SuspenseList=q1;dn.isAsyncMode=function(){return!1};dn.isConcurrentMode=function(){return!1};dn.isContextConsumer=function(e){return ra(e)===U1};dn.isContextProvider=function(e){return ra(e)===H1};dn.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===F$};dn.isForwardRef=function(e){return ra(e)===W1};dn.isFragment=function(e){return ra(e)===B1};dn.isLazy=function(e){return ra(e)===Y1};dn.isMemo=function(e){return ra(e)===K1};dn.isPortal=function(e){return ra(e)===B$};dn.isProfiler=function(e){return ra(e)===V1};dn.isStrictMode=function(e){return ra(e)===z1};dn.isSuspense=function(e){return ra(e)===G1};dn.isSuspenseList=function(e){return ra(e)===q1};dn.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===B1||e===V1||e===z1||e===G1||e===q1||e===lne||typeof e=="object"&&e!==null&&(e.$$typeof===Y1||e.$$typeof===K1||e.$$typeof===H1||e.$$typeof===U1||e.$$typeof===W1||e.$$typeof===WH||e.getModuleId!==void 0)};dn.typeOf=ra;UH.exports=dn;var pD=UH.exports;const cne=/^\s*function(?:\s|\s*\/\*.*\*\/\s*)+([^(\s/]*)\s*/;function GH(e){const t=`${e}`.match(cne);return t&&t[1]||""}function qH(e,t=""){return e.displayName||e.name||GH(e)||t}function hD(e,t,n){const r=qH(t);return e.displayName||(r!==""?`${n}(${r})`:n)}function une(e){if(e!=null){if(typeof e=="string")return e;if(typeof e=="function")return qH(e,"Component");if(typeof e=="object")switch(e.$$typeof){case pD.ForwardRef:return hD(e,e.render,"ForwardRef");case pD.Memo:return hD(e,e.type,"memo");default:return}}}const dne=Object.freeze(Object.defineProperty({__proto__:null,default:une,getFunctionName:GH},Symbol.toStringTag,{value:"Module"})),fne=["ownerState"],pne=["variants"],hne=["name","slot","skipVariantsResolver","skipSx","overridesResolver"];function mne(e){return Object.keys(e).length===0}function gne(e){return typeof e=="string"&&e.charCodeAt(0)>96}function vP(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}const vne=pd(),yne=e=>e&&e.charAt(0).toLowerCase()+e.slice(1);function yb({defaultTheme:e,theme:t,themeId:n}){return mne(t)?e:t[n]||t}function bne(e){return e?(t,n)=>n[e]:null}function T0(e,t){let{ownerState:n}=t,r=q(t,fne);const o=typeof e=="function"?e(S({ownerState:n},r)):e;if(Array.isArray(o))return o.flatMap(i=>T0(i,S({ownerState:n},r)));if(o&&typeof o=="object"&&Array.isArray(o.variants)){const{variants:i=[]}=o;let s=q(o,pne);return i.forEach(l=>{let c=!0;typeof l.props=="function"?c=l.props(S({ownerState:n},r,n)):Object.keys(l.props).forEach(u=>{(n==null?void 0:n[u])!==l.props[u]&&r[u]!==l.props[u]&&(c=!1)}),c&&(Array.isArray(s)||(s=[s]),s.push(typeof l.style=="function"?l.style(S({ownerState:n},r,n)):l.style))}),s}return o}function xne(e={}){const{themeId:t,defaultTheme:n=vne,rootShouldForwardProp:r=vP,slotShouldForwardProp:o=vP}=e,i=a=>rh(S({},a,{theme:yb(S({},a,{defaultTheme:n,themeId:t}))}));return i.__mui_systemSx=!0,(a,s={})=>{_H(a,O=>O.filter(P=>!(P!=null&&P.__mui_systemSx)));const{name:l,slot:c,skipVariantsResolver:u,skipSx:d,overridesResolver:f=bne(yne(c))}=s,p=q(s,hne),h=u!==void 0?u:c&&c!=="Root"&&c!=="root"||!1,m=d||!1;let v,b=vP;c==="Root"||c==="root"?b=r:c?b=o:gne(a)&&(b=void 0);const y=M$(a,S({shouldForwardProp:b,label:v},p)),w=O=>typeof O=="function"&&O.__emotion_real!==O||Ws(O)?P=>T0(O,S({},P,{theme:yb({theme:P.theme,defaultTheme:n,themeId:t})})):O,C=(O,...P)=>{let E=w(O);const T=P?P.map(w):[];l&&f&&T.push(D=>{const L=yb(S({},D,{defaultTheme:n,themeId:t}));if(!L.components||!L.components[l]||!L.components[l].styleOverrides)return null;const N=L.components[l].styleOverrides,R={};return Object.entries(N).forEach(([I,A])=>{R[I]=T0(A,S({},D,{theme:L}))}),f(D,R)}),l&&!h&&T.push(D=>{var L;const N=yb(S({},D,{defaultTheme:n,themeId:t})),R=N==null||(L=N.components)==null||(L=L[l])==null?void 0:L.variants;return T0({variants:R},S({},D,{theme:N}))}),m||T.push(i);const $=T.length-P.length;if(Array.isArray(O)&&$>0){const D=new Array($).fill("");E=[...O,...D],E.raw=[...O.raw,...D]}const M=y(E,...T);return a.muiName&&(M.muiName=a.muiName),M};return y.withConfig&&(C.withConfig=y.withConfig),C}}const cr=xne();function Q1(e,t){const n=S({},t);return Object.keys(e).forEach(r=>{if(r.toString().match(/^(components|slots)$/))n[r]=S({},e[r],n[r]);else if(r.toString().match(/^(componentsProps|slotProps)$/)){const o=e[r]||{},i=t[r];n[r]={},!i||!Object.keys(i)?n[r]=o:!o||!Object.keys(o)?n[r]=i:(n[r]=S({},i),Object.keys(o).forEach(a=>{n[r][a]=Q1(o[a],i[a])}))}else n[r]===void 0&&(n[r]=e[r])}),n}function KH(e){const{theme:t,name:n,props:r}=e;return!t||!t.components||!t.components[n]||!t.components[n].defaultProps?r:Q1(t.components[n].defaultProps,r)}function X1({props:e,name:t,defaultTheme:n,themeId:r}){let o=oh(n);return r&&(o=o[r]||o),KH({theme:o,name:t,props:e})}const Ft=typeof window<"u"?g.useLayoutEffect:g.useEffect;function wne(e,t,n,r,o){const[i,a]=g.useState(()=>o&&n?n(e).matches:r?r(e).matches:t);return Ft(()=>{let s=!0;if(!n)return;const l=n(e),c=()=>{s&&a(l.matches)};return c(),l.addListener(c),()=>{s=!1,l.removeListener(c)}},[e,n]),i}const YH=g.useSyncExternalStore;function Cne(e,t,n,r,o){const i=g.useCallback(()=>t,[t]),a=g.useMemo(()=>{if(o&&n)return()=>n(e).matches;if(r!==null){const{matches:u}=r(e);return()=>u}return i},[i,e,r,o,n]),[s,l]=g.useMemo(()=>{if(n===null)return[i,()=>()=>{}];const u=n(e);return[()=>u.matches,d=>(u.addListener(d),()=>{u.removeListener(d)})]},[i,n,e]);return YH(l,s,a)}function J1(e,t={}){const n=L$(),r=typeof window<"u"&&typeof window.matchMedia<"u",{defaultMatches:o=!1,matchMedia:i=r?window.matchMedia:null,ssrMatchMedia:a=null,noSsr:s=!1}=KH({name:"MuiUseMediaQuery",props:t,theme:n});let l=typeof e=="function"?e(n):e;return l=l.replace(/^@media( ?)/m,""),(YH!==void 0?Cne:wne)(l,o,i,a,s)}function QH(e,t=Number.MIN_SAFE_INTEGER,n=Number.MAX_SAFE_INTEGER){return Math.max(t,Math.min(e,n))}const Sne=Object.freeze(Object.defineProperty({__proto__:null,default:QH},Symbol.toStringTag,{value:"Module"}));function z$(e,t=0,n=1){return QH(e,t,n)}function Pne(e){e=e.slice(1);const t=new RegExp(`.{1,${e.length>=6?2:1}}`,"g");let n=e.match(t);return n&&n[0].length===1&&(n=n.map(r=>r+r)),n?`rgb${n.length===4?"a":""}(${n.map((r,o)=>o<3?parseInt(r,16):Math.round(parseInt(r,16)/255*1e3)/1e3).join(", ")})`:""}function Z1(e){if(e.type)return e;if(e.charAt(0)==="#")return Z1(Pne(e));const t=e.indexOf("("),n=e.substring(0,t);if(["rgb","rgba","hsl","hsla","color"].indexOf(n)===-1)throw new Error(al(9,e));let r=e.substring(t+1,e.length-1),o;if(n==="color"){if(r=r.split(" "),o=r.shift(),r.length===4&&r[3].charAt(0)==="/"&&(r[3]=r[3].slice(1)),["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].indexOf(o)===-1)throw new Error(al(10,o))}else r=r.split(",");return r=r.map(i=>parseFloat(i)),{type:n,values:r,colorSpace:o}}function V$(e){const{type:t,colorSpace:n}=e;let{values:r}=e;return t.indexOf("rgb")!==-1?r=r.map((o,i)=>i<3?parseInt(o,10):o):t.indexOf("hsl")!==-1&&(r[1]=`${r[1]}%`,r[2]=`${r[2]}%`),t.indexOf("color")!==-1?r=`${n} ${r.join(" ")}`:r=`${r.join(", ")}`,`${t}(${r})`}function fr(e,t){return e=Z1(e),t=z$(t),(e.type==="rgb"||e.type==="hsl")&&(e.type+="a"),e.type==="color"?e.values[3]=`/${t}`:e.values[3]=t,V$(e)}function Ene(e,t){if(e=Z1(e),t=z$(t),e.type.indexOf("hsl")!==-1)e.values[2]*=1-t;else if(e.type.indexOf("rgb")!==-1||e.type.indexOf("color")!==-1)for(let n=0;n<3;n+=1)e.values[n]*=1-t;return V$(e)}function One(e,t){if(e=Z1(e),t=z$(t),e.type.indexOf("hsl")!==-1)e.values[2]+=(100-e.values[2])*t;else if(e.type.indexOf("rgb")!==-1)for(let n=0;n<3;n+=1)e.values[n]+=(255-e.values[n])*t;else if(e.type.indexOf("color")!==-1)for(let n=0;n<3;n+=1)e.values[n]+=(1-e.values[n])*t;return V$(e)}function Tne(e,t){return()=>null}function SO(...e){return e.reduce((t,n)=>n==null?t:function(...o){t.apply(this,o),n.apply(this,o)},()=>{})}function Rc(e,t=166){let n;function r(...o){const i=()=>{e.apply(this,o)};clearTimeout(n),n=setTimeout(i,t)}return r.clear=()=>{clearTimeout(n)},r}function kne(e,t){return()=>null}function Au(e,t){var n,r;return g.isValidElement(e)&&t.indexOf((n=e.type.muiName)!=null?n:(r=e.type)==null||(r=r._payload)==null||(r=r.value)==null?void 0:r.muiName)!==-1}function gn(e){return e&&e.ownerDocument||document}function si(e){return gn(e).defaultView||window}function Ine(e,t){return()=>null}function Hg(e,t){typeof e=="function"?e(t):e&&(e.current=t)}let mD=0;function $ne(e){const[t,n]=g.useState(e),r=e||t;return g.useEffect(()=>{t==null&&(mD+=1,n(`mui-${mD}`))},[t]),r}const gD=rx.useId;function on(e){if(gD!==void 0){const t=gD();return e??t}return $ne(e)}function Mne(e,t,n,r,o){return null}function To({controlled:e,default:t,name:n,state:r="value"}){const{current:o}=g.useRef(e!==void 0),[i,a]=g.useState(t),s=o?e:i,l=g.useCallback(c=>{o||a(c)},[]);return[s,l]}function Vt(e){const t=g.useRef(e);return Ft(()=>{t.current=e}),g.useRef((...n)=>(0,t.current)(...n)).current}function Ot(...e){return g.useMemo(()=>e.every(t=>t==null)?null:t=>{e.forEach(n=>{Hg(n,t)})},e)}const vD={};function Ane(e,t){const n=g.useRef(vD);return n.current===vD&&(n.current=e(t)),n}const Rne=[];function _ne(e){g.useEffect(e,Rne)}let H$=class XH{constructor(){this.currentId=null,this.clear=()=>{this.currentId!==null&&(clearTimeout(this.currentId),this.currentId=null)},this.disposeEffect=()=>this.clear}static create(){return new XH}start(t,n){this.clear(),this.currentId=setTimeout(()=>{this.currentId=null,n()},t)}};function ic(){const e=Ane(H$.create).current;return _ne(e.disposeEffect),e}let eC=!0,PO=!1;const Dne=new H$,Nne={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function Lne(e){const{type:t,tagName:n}=e;return!!(n==="INPUT"&&Nne[t]&&!e.readOnly||n==="TEXTAREA"&&!e.readOnly||e.isContentEditable)}function jne(e){e.metaKey||e.altKey||e.ctrlKey||(eC=!0)}function yP(){eC=!1}function Fne(){this.visibilityState==="hidden"&&PO&&(eC=!0)}function Bne(e){e.addEventListener("keydown",jne,!0),e.addEventListener("mousedown",yP,!0),e.addEventListener("pointerdown",yP,!0),e.addEventListener("touchstart",yP,!0),e.addEventListener("visibilitychange",Fne,!0)}function zne(e){const{target:t}=e;try{return t.matches(":focus-visible")}catch{}return eC||Lne(t)}function U$(){const e=g.useCallback(o=>{o!=null&&Bne(o.ownerDocument)},[]),t=g.useRef(!1);function n(){return t.current?(PO=!0,Dne.start(100,()=>{PO=!1}),t.current=!1,!0):!1}function r(o){return zne(o)?(t.current=!0,!0):!1}return{isFocusVisibleRef:t,onFocus:r,onBlur:n,ref:e}}function JH(e){const t=e.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}let Ld;function ZH(){if(Ld)return Ld;const e=document.createElement("div"),t=document.createElement("div");return t.style.width="10px",t.style.height="1px",e.appendChild(t),e.dir="rtl",e.style.fontSize="14px",e.style.width="4px",e.style.height="1px",e.style.position="absolute",e.style.top="-1000px",e.style.overflow="scroll",document.body.appendChild(e),Ld="reverse",e.scrollLeft>0?Ld="default":(e.scrollLeft=1,e.scrollLeft===0&&(Ld="negative")),document.body.removeChild(e),Ld}function Vne(e,t){const n=e.scrollLeft;if(t!=="rtl")return n;switch(ZH()){case"negative":return e.scrollWidth-e.clientWidth+n;case"reverse":return e.scrollWidth-e.clientWidth-n;default:return n}}const W$=e=>{const t=g.useRef({});return g.useEffect(()=>{t.current=e}),t.current};function Hne(e){return g.Children.toArray(e).filter(t=>g.isValidElement(t))}function de(e,t,n=void 0){const r={};return Object.keys(e).forEach(o=>{r[o]=e[o].reduce((i,a)=>{if(a){const s=t(a);s!==""&&i.push(s),n&&n[a]&&i.push(n[a])}return i},[]).join(" ")}),r}const eU=g.createContext(null);function G$(){return g.useContext(eU)}const Une=typeof Symbol=="function"&&Symbol.for,tU=Une?Symbol.for("mui.nested"):"__THEME_NESTED__";function Wne(e,t){return typeof t=="function"?t(e):S({},e,t)}function Gne(e){const{children:t,theme:n}=e,r=G$(),o=g.useMemo(()=>{const i=r===null?n:Wne(r,n);return i!=null&&(i[tU]=r!==null),i},[n,r]);return k.jsx(eU.Provider,{value:o,children:t})}const qne=["value"],nU=g.createContext();function Kne(e){let{value:t}=e,n=q(e,qne);return k.jsx(nU.Provider,S({value:t??!0},n))}const _c=()=>{const e=g.useContext(nU);return e??!1},yD={};function bD(e,t,n,r=!1){return g.useMemo(()=>{const o=e&&t[e]||t;if(typeof n=="function"){const i=n(o),a=e?S({},t,{[e]:i}):i;return r?()=>a:a}return e?S({},t,{[e]:n}):S({},t,n)},[e,t,n,r])}function Yne(e){const{children:t,theme:n,themeId:r}=e,o=L$(yD),i=G$()||yD,a=bD(r,o,n),s=bD(r,i,n,!0),l=a.direction==="rtl";return k.jsx(Gne,{theme:s,children:k.jsx(nh.Provider,{value:a,children:k.jsx(Kne,{value:l,children:t})})})}function Ug(e){"@babel/helpers - typeof";return Ug=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ug(e)}function Qne(e,t){if(Ug(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Ug(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function cp(e){var t=Qne(e,"string");return Ug(t)=="symbol"?t:t+""}const Xne=["className","component","disableGutters","fixed","maxWidth","classes"],Jne=pd(),Zne=cr("div",{name:"MuiContainer",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[`maxWidth${ie(String(n.maxWidth))}`],n.fixed&&t.fixed,n.disableGutters&&t.disableGutters]}}),ere=e=>X1({props:e,name:"MuiContainer",defaultTheme:Jne}),tre=(e,t)=>{const n=l=>Se(t,l),{classes:r,fixed:o,disableGutters:i,maxWidth:a}=e,s={root:["root",a&&`maxWidth${ie(String(a))}`,o&&"fixed",i&&"disableGutters"]};return de(s,n,r)};function nre(e={}){const{createStyledComponent:t=Zne,useThemeProps:n=ere,componentName:r="MuiContainer"}=e,o=t(({theme:a,ownerState:s})=>S({width:"100%",marginLeft:"auto",boxSizing:"border-box",marginRight:"auto",display:"block"},!s.disableGutters&&{paddingLeft:a.spacing(2),paddingRight:a.spacing(2),[a.breakpoints.up("sm")]:{paddingLeft:a.spacing(3),paddingRight:a.spacing(3)}}),({theme:a,ownerState:s})=>s.fixed&&Object.keys(a.breakpoints.values).reduce((l,c)=>{const u=c,d=a.breakpoints.values[u];return d!==0&&(l[a.breakpoints.up(u)]={maxWidth:`${d}${a.breakpoints.unit}`}),l},{}),({theme:a,ownerState:s})=>S({},s.maxWidth==="xs"&&{[a.breakpoints.up("xs")]:{maxWidth:Math.max(a.breakpoints.values.xs,444)}},s.maxWidth&&s.maxWidth!=="xs"&&{[a.breakpoints.up(s.maxWidth)]:{maxWidth:`${a.breakpoints.values[s.maxWidth]}${a.breakpoints.unit}`}}));return g.forwardRef(function(s,l){const c=n(s),{className:u,component:d="div",disableGutters:f=!1,fixed:p=!1,maxWidth:h="lg"}=c,m=q(c,Xne),v=S({},c,{component:d,disableGutters:f,fixed:p,maxWidth:h}),b=tre(v,r);return k.jsx(o,S({as:d,ownerState:v,className:Q(b.root,u),ref:l},m))})}const rre=(e,t)=>e.filter(n=>t.includes(n)),ah=(e,t,n)=>{const r=e.keys[0];Array.isArray(t)?t.forEach((o,i)=>{n((a,s)=>{i<=e.keys.length-1&&(i===0?Object.assign(a,s):a[e.up(e.keys[i])]=s)},o)}):t&&typeof t=="object"?(Object.keys(t).length>e.keys.length?e.keys:rre(e.keys,Object.keys(t))).forEach(i=>{if(e.keys.indexOf(i)!==-1){const a=t[i];a!==void 0&&n((s,l)=>{r===i?Object.assign(s,l):s[e.up(i)]=l},a)}}):(typeof t=="number"||typeof t=="string")&&n((o,i)=>{Object.assign(o,i)},t)};function sl(e){return e?`Level${e}`:""}function yy(e){return e.unstable_level>0&&e.container}function rU(e){return function(n){return`var(--Grid-${n}Spacing${sl(e.unstable_level)})`}}function q$(e){return function(n){return e.unstable_level===0?`var(--Grid-${n}Spacing)`:`var(--Grid-${n}Spacing${sl(e.unstable_level-1)})`}}function K$(e){return e.unstable_level===0?"var(--Grid-columns)":`var(--Grid-columns${sl(e.unstable_level-1)})`}const ore=({theme:e,ownerState:t})=>{const n=rU(t),r={};return ah(e.breakpoints,t.gridSize,(o,i)=>{let a={};i===!0&&(a={flexBasis:0,flexGrow:1,maxWidth:"100%"}),i==="auto"&&(a={flexBasis:"auto",flexGrow:0,flexShrink:0,maxWidth:"none",width:"auto"}),typeof i=="number"&&(a={flexGrow:0,flexBasis:"auto",width:`calc(100% * ${i} / ${K$(t)}${yy(t)?` + ${n("column")}`:""})`}),o(r,a)}),r},ire=({theme:e,ownerState:t})=>{const n={};return ah(e.breakpoints,t.gridOffset,(r,o)=>{let i={};o==="auto"&&(i={marginLeft:"auto"}),typeof o=="number"&&(i={marginLeft:o===0?"0px":`calc(100% * ${o} / ${K$(t)})`}),r(n,i)}),n},are=({theme:e,ownerState:t})=>{if(!t.container)return{};const n=yy(t)?{[`--Grid-columns${sl(t.unstable_level)}`]:K$(t)}:{"--Grid-columns":12};return ah(e.breakpoints,t.columns,(r,o)=>{r(n,{[`--Grid-columns${sl(t.unstable_level)}`]:o})}),n},sre=({theme:e,ownerState:t})=>{if(!t.container)return{};const n=q$(t),r=yy(t)?{[`--Grid-rowSpacing${sl(t.unstable_level)}`]:n("row")}:{};return ah(e.breakpoints,t.rowSpacing,(o,i)=>{var a;o(r,{[`--Grid-rowSpacing${sl(t.unstable_level)}`]:typeof i=="string"?i:(a=e.spacing)==null?void 0:a.call(e,i)})}),r},lre=({theme:e,ownerState:t})=>{if(!t.container)return{};const n=q$(t),r=yy(t)?{[`--Grid-columnSpacing${sl(t.unstable_level)}`]:n("column")}:{};return ah(e.breakpoints,t.columnSpacing,(o,i)=>{var a;o(r,{[`--Grid-columnSpacing${sl(t.unstable_level)}`]:typeof i=="string"?i:(a=e.spacing)==null?void 0:a.call(e,i)})}),r},cre=({theme:e,ownerState:t})=>{if(!t.container)return{};const n={};return ah(e.breakpoints,t.direction,(r,o)=>{r(n,{flexDirection:o})}),n},ure=({ownerState:e})=>{const t=rU(e),n=q$(e);return S({minWidth:0,boxSizing:"border-box"},e.container&&S({display:"flex",flexWrap:"wrap"},e.wrap&&e.wrap!=="wrap"&&{flexWrap:e.wrap},{margin:`calc(${t("row")} / -2) calc(${t("column")} / -2)`},e.disableEqualOverflow&&{margin:`calc(${t("row")} * -1) 0px 0px calc(${t("column")} * -1)`}),(!e.container||yy(e))&&S({padding:`calc(${n("row")} / 2) calc(${n("column")} / 2)`},(e.disableEqualOverflow||e.parentDisableEqualOverflow)&&{padding:`${n("row")} 0px 0px ${n("column")}`}))},dre=e=>{const t=[];return Object.entries(e).forEach(([n,r])=>{r!==!1&&r!==void 0&&t.push(`grid-${n}-${String(r)}`)}),t},fre=(e,t="xs")=>{function n(r){return r===void 0?!1:typeof r=="string"&&!Number.isNaN(Number(r))||typeof r=="number"&&r>0}if(n(e))return[`spacing-${t}-${String(e)}`];if(typeof e=="object"&&!Array.isArray(e)){const r=[];return Object.entries(e).forEach(([o,i])=>{n(i)&&r.push(`spacing-${o}-${String(i)}`)}),r}return[]},pre=e=>e===void 0?[]:typeof e=="object"?Object.entries(e).map(([t,n])=>`direction-${t}-${n}`):[`direction-xs-${String(e)}`],hre=["className","children","columns","container","component","direction","wrap","spacing","rowSpacing","columnSpacing","disableEqualOverflow","unstable_level"],mre=pd(),gre=cr("div",{name:"MuiGrid",slot:"Root",overridesResolver:(e,t)=>t.root});function vre(e){return X1({props:e,name:"MuiGrid",defaultTheme:mre})}function yre(e={}){const{createStyledComponent:t=gre,useThemeProps:n=vre,componentName:r="MuiGrid"}=e,o=g.createContext(void 0),i=(l,c)=>{const{container:u,direction:d,spacing:f,wrap:p,gridSize:h}=l,m={root:["root",u&&"container",p!=="wrap"&&`wrap-xs-${String(p)}`,...pre(d),...dre(h),...u?fre(f,c.breakpoints.keys[0]):[]]};return de(m,v=>Se(r,v),{})},a=t(are,lre,sre,ore,cre,ure,ire),s=g.forwardRef(function(c,u){var d,f,p,h,m,v,b,y;const w=oh(),C=n(c),O=ih(C),P=g.useContext(o),{className:E,children:T,columns:$=12,container:M=!1,component:D="div",direction:L="row",wrap:N="wrap",spacing:R=0,rowSpacing:I=R,columnSpacing:A=R,disableEqualOverflow:F,unstable_level:_=0}=O,j=q(O,hre);let B=F;_&&F!==void 0&&(B=c.disableEqualOverflow);const U={},H={},K={};Object.entries(j).forEach(([le,G])=>{w.breakpoints.values[le]!==void 0?U[le]=G:w.breakpoints.values[le.replace("Offset","")]!==void 0?H[le.replace("Offset","")]=G:K[le]=G});const J=(d=c.columns)!=null?d:_?void 0:$,oe=(f=c.spacing)!=null?f:_?void 0:R,ae=(p=(h=c.rowSpacing)!=null?h:c.spacing)!=null?p:_?void 0:I,Z=(m=(v=c.columnSpacing)!=null?v:c.spacing)!=null?m:_?void 0:A,ue=S({},O,{level:_,columns:J,container:M,direction:L,wrap:N,spacing:oe,rowSpacing:ae,columnSpacing:Z,gridSize:U,gridOffset:H,disableEqualOverflow:(b=(y=B)!=null?y:P)!=null?b:!1,parentDisableEqualOverflow:P}),re=i(ue,w);let pe=k.jsx(a,S({ref:u,as:D,ownerState:ue,className:Q(re.root,E)},K,{children:g.Children.map(T,le=>{if(g.isValidElement(le)&&Au(le,["Grid"])){var G;return g.cloneElement(le,{unstable_level:(G=le.props.unstable_level)!=null?G:_+1})}return le})}));return B!==void 0&&B!==(P??!1)&&(pe=k.jsx(o.Provider,{value:B,children:pe})),pe});return s.muiName="Grid",s}const bre=["component","direction","spacing","divider","children","className","useFlexGap"],xre=pd(),wre=cr("div",{name:"MuiStack",slot:"Root",overridesResolver:(e,t)=>t.root});function Cre(e){return X1({props:e,name:"MuiStack",defaultTheme:xre})}function Sre(e,t){const n=g.Children.toArray(e).filter(Boolean);return n.reduce((r,o,i)=>(r.push(o),i({row:"Left","row-reverse":"Right",column:"Top","column-reverse":"Bottom"})[e],Ere=({ownerState:e,theme:t})=>{let n=S({display:"flex",flexDirection:"column"},No({theme:t},Mu({values:e.direction,breakpoints:t.breakpoints.values}),r=>({flexDirection:r})));if(e.spacing){const r=D$(t),o=Object.keys(t.breakpoints.values).reduce((l,c)=>((typeof e.spacing=="object"&&e.spacing[c]!=null||typeof e.direction=="object"&&e.direction[c]!=null)&&(l[c]=!0),l),{}),i=Mu({values:e.direction,base:o}),a=Mu({values:e.spacing,base:o});typeof i=="object"&&Object.keys(i).forEach((l,c,u)=>{if(!i[l]){const f=c>0?i[u[c-1]]:"column";i[l]=f}}),n=Dr(n,No({theme:t},a,(l,c)=>e.useFlexGap?{gap:Ku(r,l)}:{"& > :not(style):not(style)":{margin:0},"& > :not(style) ~ :not(style)":{[`margin${Pre(c?i[c]:e.direction)}`]:Ku(r,l)}}))}return n=lte(t.breakpoints,n),n};function Ore(e={}){const{createStyledComponent:t=wre,useThemeProps:n=Cre,componentName:r="MuiStack"}=e,o=()=>de({root:["root"]},l=>Se(r,l),{}),i=t(Ere);return g.forwardRef(function(l,c){const u=n(l),d=ih(u),{component:f="div",direction:p="column",spacing:h=0,divider:m,children:v,className:b,useFlexGap:y=!1}=d,w=q(d,bre),C={direction:p,spacing:h,useFlexGap:y},O=o();return k.jsx(i,S({as:f,ownerState:C,ref:c,className:Q(O.root,b)},w,{children:m?Sre(v,m):v}))})}function Tre(e,t){return S({toolbar:{minHeight:56,[e.up("xs")]:{"@media (orientation: landscape)":{minHeight:48}},[e.up("sm")]:{minHeight:64}}},t)}var Jn={},oU={exports:{}};(function(e){function t(n){return n&&n.__esModule?n:{default:n}}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports})(oU);var Ut=oU.exports;const kre=Ss(zee),Ire=Ss(Sne);var iU=Ut;Object.defineProperty(Jn,"__esModule",{value:!0});var st=Jn.alpha=cU;Jn.blend=zre;Jn.colorChannel=void 0;var up=Jn.darken=Q$;Jn.decomposeColor=Ki;var $re=Jn.emphasize=uU,Mre=Jn.getContrastRatio=Nre;Jn.getLuminance=sx;Jn.hexToRgb=aU;Jn.hslToRgb=lU;var dp=Jn.lighten=X$;Jn.private_safeAlpha=Lre;Jn.private_safeColorChannel=void 0;Jn.private_safeDarken=jre;Jn.private_safeEmphasize=Bre;Jn.private_safeLighten=Fre;Jn.recomposeColor=sh;Jn.rgbToHex=Dre;var xD=iU(kre),Are=iU(Ire);function Y$(e,t=0,n=1){return(0,Are.default)(e,t,n)}function aU(e){e=e.slice(1);const t=new RegExp(`.{1,${e.length>=6?2:1}}`,"g");let n=e.match(t);return n&&n[0].length===1&&(n=n.map(r=>r+r)),n?`rgb${n.length===4?"a":""}(${n.map((r,o)=>o<3?parseInt(r,16):Math.round(parseInt(r,16)/255*1e3)/1e3).join(", ")})`:""}function Rre(e){const t=e.toString(16);return t.length===1?`0${t}`:t}function Ki(e){if(e.type)return e;if(e.charAt(0)==="#")return Ki(aU(e));const t=e.indexOf("("),n=e.substring(0,t);if(["rgb","rgba","hsl","hsla","color"].indexOf(n)===-1)throw new Error((0,xD.default)(9,e));let r=e.substring(t+1,e.length-1),o;if(n==="color"){if(r=r.split(" "),o=r.shift(),r.length===4&&r[3].charAt(0)==="/"&&(r[3]=r[3].slice(1)),["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].indexOf(o)===-1)throw new Error((0,xD.default)(10,o))}else r=r.split(",");return r=r.map(i=>parseFloat(i)),{type:n,values:r,colorSpace:o}}const sU=e=>{const t=Ki(e);return t.values.slice(0,3).map((n,r)=>t.type.indexOf("hsl")!==-1&&r!==0?`${n}%`:n).join(" ")};Jn.colorChannel=sU;const _re=(e,t)=>{try{return sU(e)}catch{return e}};Jn.private_safeColorChannel=_re;function sh(e){const{type:t,colorSpace:n}=e;let{values:r}=e;return t.indexOf("rgb")!==-1?r=r.map((o,i)=>i<3?parseInt(o,10):o):t.indexOf("hsl")!==-1&&(r[1]=`${r[1]}%`,r[2]=`${r[2]}%`),t.indexOf("color")!==-1?r=`${n} ${r.join(" ")}`:r=`${r.join(", ")}`,`${t}(${r})`}function Dre(e){if(e.indexOf("#")===0)return e;const{values:t}=Ki(e);return`#${t.map((n,r)=>Rre(r===3?Math.round(255*n):n)).join("")}`}function lU(e){e=Ki(e);const{values:t}=e,n=t[0],r=t[1]/100,o=t[2]/100,i=r*Math.min(o,1-o),a=(c,u=(c+n/30)%12)=>o-i*Math.max(Math.min(u-3,9-u,1),-1);let s="rgb";const l=[Math.round(a(0)*255),Math.round(a(8)*255),Math.round(a(4)*255)];return e.type==="hsla"&&(s+="a",l.push(t[3])),sh({type:s,values:l})}function sx(e){e=Ki(e);let t=e.type==="hsl"||e.type==="hsla"?Ki(lU(e)).values:e.values;return t=t.map(n=>(e.type!=="color"&&(n/=255),n<=.03928?n/12.92:((n+.055)/1.055)**2.4)),Number((.2126*t[0]+.7152*t[1]+.0722*t[2]).toFixed(3))}function Nre(e,t){const n=sx(e),r=sx(t);return(Math.max(n,r)+.05)/(Math.min(n,r)+.05)}function cU(e,t){return e=Ki(e),t=Y$(t),(e.type==="rgb"||e.type==="hsl")&&(e.type+="a"),e.type==="color"?e.values[3]=`/${t}`:e.values[3]=t,sh(e)}function Lre(e,t,n){try{return cU(e,t)}catch{return e}}function Q$(e,t){if(e=Ki(e),t=Y$(t),e.type.indexOf("hsl")!==-1)e.values[2]*=1-t;else if(e.type.indexOf("rgb")!==-1||e.type.indexOf("color")!==-1)for(let n=0;n<3;n+=1)e.values[n]*=1-t;return sh(e)}function jre(e,t,n){try{return Q$(e,t)}catch{return e}}function X$(e,t){if(e=Ki(e),t=Y$(t),e.type.indexOf("hsl")!==-1)e.values[2]+=(100-e.values[2])*t;else if(e.type.indexOf("rgb")!==-1)for(let n=0;n<3;n+=1)e.values[n]+=(255-e.values[n])*t;else if(e.type.indexOf("color")!==-1)for(let n=0;n<3;n+=1)e.values[n]+=(1-e.values[n])*t;return sh(e)}function Fre(e,t,n){try{return X$(e,t)}catch{return e}}function uU(e,t=.15){return sx(e)>.5?Q$(e,t):X$(e,t)}function Bre(e,t,n){try{return uU(e,t)}catch{return e}}function zre(e,t,n,r=1){const o=(l,c)=>Math.round((l**(1/r)*(1-n)+c**(1/r)*n)**r),i=Ki(e),a=Ki(t),s=[o(i.values[0],a.values[0]),o(i.values[1],a.values[1]),o(i.values[2],a.values[2])];return sh({type:"rgb",values:s})}const Wg={black:"#000",white:"#fff"},Vre={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#f5f5f5",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161"},jd={50:"#f3e5f5",100:"#e1bee7",200:"#ce93d8",300:"#ba68c8",400:"#ab47bc",500:"#9c27b0",600:"#8e24aa",700:"#7b1fa2",800:"#6a1b9a",900:"#4a148c",A100:"#ea80fc",A200:"#e040fb",A400:"#d500f9",A700:"#aa00ff"},Fd={50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",A100:"#ff8a80",A200:"#ff5252",A400:"#ff1744",A700:"#d50000"},sm={50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00"},Bd={50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff"},zd={50:"#e1f5fe",100:"#b3e5fc",200:"#81d4fa",300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",600:"#039be5",700:"#0288d1",800:"#0277bd",900:"#01579b",A100:"#80d8ff",A200:"#40c4ff",A400:"#00b0ff",A700:"#0091ea"},Vd={50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853"},Hre=["mode","contrastThreshold","tonalOffset"],wD={text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.38)"},divider:"rgba(0, 0, 0, 0.12)",background:{paper:Wg.white,default:Wg.white},action:{active:"rgba(0, 0, 0, 0.54)",hover:"rgba(0, 0, 0, 0.04)",hoverOpacity:.04,selected:"rgba(0, 0, 0, 0.08)",selectedOpacity:.08,disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(0, 0, 0, 0.12)",disabledOpacity:.38,focus:"rgba(0, 0, 0, 0.12)",focusOpacity:.12,activatedOpacity:.12}},bP={text:{primary:Wg.white,secondary:"rgba(255, 255, 255, 0.7)",disabled:"rgba(255, 255, 255, 0.5)",icon:"rgba(255, 255, 255, 0.5)"},divider:"rgba(255, 255, 255, 0.12)",background:{paper:"#121212",default:"#121212"},action:{active:Wg.white,hover:"rgba(255, 255, 255, 0.08)",hoverOpacity:.08,selected:"rgba(255, 255, 255, 0.16)",selectedOpacity:.16,disabled:"rgba(255, 255, 255, 0.3)",disabledBackground:"rgba(255, 255, 255, 0.12)",disabledOpacity:.38,focus:"rgba(255, 255, 255, 0.12)",focusOpacity:.12,activatedOpacity:.24}};function CD(e,t,n,r){const o=r.light||r,i=r.dark||r*1.5;e[t]||(e.hasOwnProperty(n)?e[t]=e[n]:t==="light"?e.light=dp(e.main,o):t==="dark"&&(e.dark=up(e.main,i)))}function Ure(e="light"){return e==="dark"?{main:Bd[200],light:Bd[50],dark:Bd[400]}:{main:Bd[700],light:Bd[400],dark:Bd[800]}}function Wre(e="light"){return e==="dark"?{main:jd[200],light:jd[50],dark:jd[400]}:{main:jd[500],light:jd[300],dark:jd[700]}}function Gre(e="light"){return e==="dark"?{main:Fd[500],light:Fd[300],dark:Fd[700]}:{main:Fd[700],light:Fd[400],dark:Fd[800]}}function qre(e="light"){return e==="dark"?{main:zd[400],light:zd[300],dark:zd[700]}:{main:zd[700],light:zd[500],dark:zd[900]}}function Kre(e="light"){return e==="dark"?{main:Vd[400],light:Vd[300],dark:Vd[700]}:{main:Vd[800],light:Vd[500],dark:Vd[900]}}function Yre(e="light"){return e==="dark"?{main:sm[400],light:sm[300],dark:sm[700]}:{main:"#ed6c02",light:sm[500],dark:sm[900]}}function Qre(e){const{mode:t="light",contrastThreshold:n=3,tonalOffset:r=.2}=e,o=q(e,Hre),i=e.primary||Ure(t),a=e.secondary||Wre(t),s=e.error||Gre(t),l=e.info||qre(t),c=e.success||Kre(t),u=e.warning||Yre(t);function d(m){return Mre(m,bP.text.primary)>=n?bP.text.primary:wD.text.primary}const f=({color:m,name:v,mainShade:b=500,lightShade:y=300,darkShade:w=700})=>{if(m=S({},m),!m.main&&m[b]&&(m.main=m[b]),!m.hasOwnProperty("main"))throw new Error(al(11,v?` (${v})`:"",b));if(typeof m.main!="string")throw new Error(al(12,v?` (${v})`:"",JSON.stringify(m.main)));return CD(m,"light",y,r),CD(m,"dark",w,r),m.contrastText||(m.contrastText=d(m.main)),m},p={dark:bP,light:wD};return Dr(S({common:S({},Wg),mode:t,primary:f({color:i,name:"primary"}),secondary:f({color:a,name:"secondary",mainShade:"A400",lightShade:"A200",darkShade:"A700"}),error:f({color:s,name:"error"}),warning:f({color:u,name:"warning"}),info:f({color:l,name:"info"}),success:f({color:c,name:"success"}),grey:Vre,contrastThreshold:n,getContrastText:d,augmentColor:f,tonalOffset:r},p[t]),o)}const Xre=["fontFamily","fontSize","fontWeightLight","fontWeightRegular","fontWeightMedium","fontWeightBold","htmlFontSize","allVariants","pxToRem"];function Jre(e){return Math.round(e*1e5)/1e5}const SD={textTransform:"uppercase"},PD='"Roboto", "Helvetica", "Arial", sans-serif';function Zre(e,t){const n=typeof t=="function"?t(e):t,{fontFamily:r=PD,fontSize:o=14,fontWeightLight:i=300,fontWeightRegular:a=400,fontWeightMedium:s=500,fontWeightBold:l=700,htmlFontSize:c=16,allVariants:u,pxToRem:d}=n,f=q(n,Xre),p=o/14,h=d||(b=>`${b/c*p}rem`),m=(b,y,w,C,O)=>S({fontFamily:r,fontWeight:b,fontSize:h(y),lineHeight:w},r===PD?{letterSpacing:`${Jre(C/y)}em`}:{},O,u),v={h1:m(i,96,1.167,-1.5),h2:m(i,60,1.2,-.5),h3:m(a,48,1.167,0),h4:m(a,34,1.235,.25),h5:m(a,24,1.334,0),h6:m(s,20,1.6,.15),subtitle1:m(a,16,1.75,.15),subtitle2:m(s,14,1.57,.1),body1:m(a,16,1.5,.15),body2:m(a,14,1.43,.15),button:m(s,14,1.75,.4,SD),caption:m(a,12,1.66,.4),overline:m(a,12,2.66,1,SD),inherit:{fontFamily:"inherit",fontWeight:"inherit",fontSize:"inherit",lineHeight:"inherit",letterSpacing:"inherit"}};return Dr(S({htmlFontSize:c,pxToRem:h,fontFamily:r,fontSize:o,fontWeightLight:i,fontWeightRegular:a,fontWeightMedium:s,fontWeightBold:l},v),f,{clone:!1})}const eoe=.2,toe=.14,noe=.12;function In(...e){return[`${e[0]}px ${e[1]}px ${e[2]}px ${e[3]}px rgba(0,0,0,${eoe})`,`${e[4]}px ${e[5]}px ${e[6]}px ${e[7]}px rgba(0,0,0,${toe})`,`${e[8]}px ${e[9]}px ${e[10]}px ${e[11]}px rgba(0,0,0,${noe})`].join(",")}const roe=["none",In(0,2,1,-1,0,1,1,0,0,1,3,0),In(0,3,1,-2,0,2,2,0,0,1,5,0),In(0,3,3,-2,0,3,4,0,0,1,8,0),In(0,2,4,-1,0,4,5,0,0,1,10,0),In(0,3,5,-1,0,5,8,0,0,1,14,0),In(0,3,5,-1,0,6,10,0,0,1,18,0),In(0,4,5,-2,0,7,10,1,0,2,16,1),In(0,5,5,-3,0,8,10,1,0,3,14,2),In(0,5,6,-3,0,9,12,1,0,3,16,2),In(0,6,6,-3,0,10,14,1,0,4,18,3),In(0,6,7,-4,0,11,15,1,0,4,20,3),In(0,7,8,-4,0,12,17,2,0,5,22,4),In(0,7,8,-4,0,13,19,2,0,5,24,4),In(0,7,9,-4,0,14,21,2,0,5,26,4),In(0,8,9,-5,0,15,22,2,0,6,28,5),In(0,8,10,-5,0,16,24,2,0,6,30,5),In(0,8,11,-5,0,17,26,2,0,6,32,5),In(0,9,11,-5,0,18,28,2,0,7,34,6),In(0,9,12,-6,0,19,29,2,0,7,36,6),In(0,10,13,-6,0,20,31,3,0,8,38,7),In(0,10,13,-6,0,21,33,3,0,8,40,7),In(0,10,14,-6,0,22,35,3,0,8,42,7),In(0,11,14,-7,0,23,36,3,0,9,44,8),In(0,11,15,-7,0,24,38,3,0,9,46,8)],ooe=["duration","easing","delay"],ioe={easeInOut:"cubic-bezier(0.4, 0, 0.2, 1)",easeOut:"cubic-bezier(0.0, 0, 0.2, 1)",easeIn:"cubic-bezier(0.4, 0, 1, 1)",sharp:"cubic-bezier(0.4, 0, 0.6, 1)"},dU={shortest:150,shorter:200,short:250,standard:300,complex:375,enteringScreen:225,leavingScreen:195};function ED(e){return`${Math.round(e)}ms`}function aoe(e){if(!e)return 0;const t=e/36;return Math.round((4+15*t**.25+t/5)*10)}function soe(e){const t=S({},ioe,e.easing),n=S({},dU,e.duration);return S({getAutoHeightDuration:aoe,create:(o=["all"],i={})=>{const{duration:a=n.standard,easing:s=t.easeInOut,delay:l=0}=i;return q(i,ooe),(Array.isArray(o)?o:[o]).map(c=>`${c} ${typeof a=="string"?a:ED(a)} ${s} ${typeof l=="string"?l:ED(l)}`).join(",")}},e,{easing:t,duration:n})}const loe={mobileStepper:1e3,fab:1050,speedDial:1050,appBar:1100,drawer:1200,modal:1300,snackbar:1400,tooltip:1500},coe=["breakpoints","mixins","spacing","palette","transitions","typography","shape"];function tC(e={},...t){const{mixins:n={},palette:r={},transitions:o={},typography:i={}}=e,a=q(e,coe);if(e.vars)throw new Error(al(18));const s=Qre(r),l=pd(e);let c=Dr(l,{mixins:Tre(l.breakpoints,n),palette:s,shadows:roe.slice(),typography:Zre(s,i),transitions:soe(o),zIndex:S({},loe)});return c=Dr(c,a),c=t.reduce((u,d)=>Dr(u,d),c),c.unstable_sxConfig=S({},vy,a==null?void 0:a.unstable_sxConfig),c.unstable_sx=function(d){return rh({sx:d,theme:this})},c}function uoe(e){return String(e).match(/[\d.\-+]*\s*(.*)/)[1]||""}function doe(e){return parseFloat(e)}const nC=tC();function qn(){const e=oh(nC);return e[qu]||e}function Ee({props:e,name:t}){return X1({props:e,name:t,defaultTheme:nC,themeId:qu})}var by={};const foe=Ss(xee);var xP={exports:{}},OD;function poe(){return OD||(OD=1,function(e){function t(n,r){if(n==null)return{};var o={};for(var i in n)if({}.hasOwnProperty.call(n,i)){if(r.indexOf(i)>=0)continue;o[i]=n[i]}return o}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports}(xP)),xP.exports}const fU=Ss(rte),hoe=Ss(ote),moe=Ss(ute),goe=Ss(dne),voe=Ss(Xte),yoe=Ss(rne);var lh=Ut;Object.defineProperty(by,"__esModule",{value:!0});var boe=by.default=Aoe;by.shouldForwardProp=k0;by.systemDefaultTheme=void 0;var Ii=lh(foe),EO=lh(poe()),TD=Ooe(fU),xoe=hoe;lh(moe);lh(goe);var woe=lh(voe),Coe=lh(yoe);const Soe=["ownerState"],Poe=["variants"],Eoe=["name","slot","skipVariantsResolver","skipSx","overridesResolver"];function pU(e){if(typeof WeakMap!="function")return null;var t=new WeakMap,n=new WeakMap;return(pU=function(r){return r?n:t})(e)}function Ooe(e,t){if(e&&e.__esModule)return e;if(e===null||typeof e!="object"&&typeof e!="function")return{default:e};var n=pU(t);if(n&&n.has(e))return n.get(e);var r={__proto__:null},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(i!=="default"&&Object.prototype.hasOwnProperty.call(e,i)){var a=o?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(r,i,a):r[i]=e[i]}return r.default=e,n&&n.set(e,r),r}function Toe(e){return Object.keys(e).length===0}function koe(e){return typeof e=="string"&&e.charCodeAt(0)>96}function k0(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}const Ioe=by.systemDefaultTheme=(0,woe.default)(),$oe=e=>e&&e.charAt(0).toLowerCase()+e.slice(1);function bb({defaultTheme:e,theme:t,themeId:n}){return Toe(t)?e:t[n]||t}function Moe(e){return e?(t,n)=>n[e]:null}function I0(e,t){let{ownerState:n}=t,r=(0,EO.default)(t,Soe);const o=typeof e=="function"?e((0,Ii.default)({ownerState:n},r)):e;if(Array.isArray(o))return o.flatMap(i=>I0(i,(0,Ii.default)({ownerState:n},r)));if(o&&typeof o=="object"&&Array.isArray(o.variants)){const{variants:i=[]}=o;let s=(0,EO.default)(o,Poe);return i.forEach(l=>{let c=!0;typeof l.props=="function"?c=l.props((0,Ii.default)({ownerState:n},r,n)):Object.keys(l.props).forEach(u=>{(n==null?void 0:n[u])!==l.props[u]&&r[u]!==l.props[u]&&(c=!1)}),c&&(Array.isArray(s)||(s=[s]),s.push(typeof l.style=="function"?l.style((0,Ii.default)({ownerState:n},r,n)):l.style))}),s}return o}function Aoe(e={}){const{themeId:t,defaultTheme:n=Ioe,rootShouldForwardProp:r=k0,slotShouldForwardProp:o=k0}=e,i=a=>(0,Coe.default)((0,Ii.default)({},a,{theme:bb((0,Ii.default)({},a,{defaultTheme:n,themeId:t}))}));return i.__mui_systemSx=!0,(a,s={})=>{(0,TD.internal_processStyles)(a,O=>O.filter(P=>!(P!=null&&P.__mui_systemSx)));const{name:l,slot:c,skipVariantsResolver:u,skipSx:d,overridesResolver:f=Moe($oe(c))}=s,p=(0,EO.default)(s,Eoe),h=u!==void 0?u:c&&c!=="Root"&&c!=="root"||!1,m=d||!1;let v,b=k0;c==="Root"||c==="root"?b=r:c?b=o:koe(a)&&(b=void 0);const y=(0,TD.default)(a,(0,Ii.default)({shouldForwardProp:b,label:v},p)),w=O=>typeof O=="function"&&O.__emotion_real!==O||(0,xoe.isPlainObject)(O)?P=>I0(O,(0,Ii.default)({},P,{theme:bb({theme:P.theme,defaultTheme:n,themeId:t})})):O,C=(O,...P)=>{let E=w(O);const T=P?P.map(w):[];l&&f&&T.push(D=>{const L=bb((0,Ii.default)({},D,{defaultTheme:n,themeId:t}));if(!L.components||!L.components[l]||!L.components[l].styleOverrides)return null;const N=L.components[l].styleOverrides,R={};return Object.entries(N).forEach(([I,A])=>{R[I]=I0(A,(0,Ii.default)({},D,{theme:L}))}),f(D,R)}),l&&!h&&T.push(D=>{var L;const N=bb((0,Ii.default)({},D,{defaultTheme:n,themeId:t})),R=N==null||(L=N.components)==null||(L=L[l])==null?void 0:L.variants;return I0({variants:R},(0,Ii.default)({},D,{theme:N}))}),m||T.push(i);const $=T.length-P.length;if(Array.isArray(O)&&$>0){const D=new Array($).fill("");E=[...O,...D],E.raw=[...O.raw,...D]}const M=y(E,...T);return a.muiName&&(M.muiName=a.muiName),M};return y.withConfig&&(C.withConfig=y.withConfig),C}}function hU(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}const jr=e=>hU(e)&&e!=="classes",W=boe({themeId:qu,defaultTheme:nC,rootShouldForwardProp:jr}),Roe=["theme"];function Dc(e){let{theme:t}=e,n=q(e,Roe);const r=t[qu];return k.jsx(Yne,S({},n,{themeId:r?qu:void 0,theme:r||t}))}const kD=e=>{let t;return e<1?t=5.11916*e**2:t=4.5*Math.log(e+1)+2,(t/100).toFixed(2)};class ch{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(t){const n={listener:t};return this.listeners.add(n),this.onSubscribe(),()=>{this.listeners.delete(n),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}}const Gg=typeof window>"u"||"Deno"in window;function $i(){}function _oe(e,t){return typeof e=="function"?e(t):e}function OO(e){return typeof e=="number"&&e>=0&&e!==1/0}function mU(e,t){return Math.max(e+(t||0)-Date.now(),0)}function Hm(e,t,n){return xy(e)?typeof t=="function"?{...n,queryKey:e,queryFn:t}:{...t,queryKey:e}:e}function Doe(e,t,n){return xy(e)?{...t,mutationKey:e}:typeof e=="function"?{...t,mutationFn:e}:{...e}}function ql(e,t,n){return xy(e)?[{...t,queryKey:e},n]:[e||{},t]}function ID(e,t){const{type:n="all",exact:r,fetchStatus:o,predicate:i,queryKey:a,stale:s}=e;if(xy(a)){if(r){if(t.queryHash!==J$(a,t.options))return!1}else if(!lx(t.queryKey,a))return!1}if(n!=="all"){const l=t.isActive();if(n==="active"&&!l||n==="inactive"&&l)return!1}return!(typeof s=="boolean"&&t.isStale()!==s||typeof o<"u"&&o!==t.state.fetchStatus||i&&!i(t))}function $D(e,t){const{exact:n,fetching:r,predicate:o,mutationKey:i}=e;if(xy(i)){if(!t.options.mutationKey)return!1;if(n){if(xu(t.options.mutationKey)!==xu(i))return!1}else if(!lx(t.options.mutationKey,i))return!1}return!(typeof r=="boolean"&&t.state.status==="loading"!==r||o&&!o(t))}function J$(e,t){return((t==null?void 0:t.queryKeyHashFn)||xu)(e)}function xu(e){return JSON.stringify(e,(t,n)=>TO(n)?Object.keys(n).sort().reduce((r,o)=>(r[o]=n[o],r),{}):n)}function lx(e,t){return gU(e,t)}function gU(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?!Object.keys(t).some(n=>!gU(e[n],t[n])):!1}function vU(e,t){if(e===t)return e;const n=MD(e)&&MD(t);if(n||TO(e)&&TO(t)){const r=n?e.length:Object.keys(e).length,o=n?t:Object.keys(t),i=o.length,a=n?[]:{};let s=0;for(let l=0;l"u")return!0;const n=t.prototype;return!(!AD(n)||!n.hasOwnProperty("isPrototypeOf"))}function AD(e){return Object.prototype.toString.call(e)==="[object Object]"}function xy(e){return Array.isArray(e)}function yU(e){return new Promise(t=>{setTimeout(t,e)})}function RD(e){yU(0).then(e)}function Noe(){if(typeof AbortController=="function")return new AbortController}function kO(e,t,n){return n.isDataEqual!=null&&n.isDataEqual(e,t)?e:typeof n.structuralSharing=="function"?n.structuralSharing(e,t):n.structuralSharing!==!1?vU(e,t):t}class Loe extends ch{constructor(){super(),this.setup=t=>{if(!Gg&&window.addEventListener){const n=()=>t();return window.addEventListener("visibilitychange",n,!1),window.addEventListener("focus",n,!1),()=>{window.removeEventListener("visibilitychange",n),window.removeEventListener("focus",n)}}}}onSubscribe(){this.cleanup||this.setEventListener(this.setup)}onUnsubscribe(){if(!this.hasListeners()){var t;(t=this.cleanup)==null||t.call(this),this.cleanup=void 0}}setEventListener(t){var n;this.setup=t,(n=this.cleanup)==null||n.call(this),this.cleanup=t(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()})}setFocused(t){this.focused!==t&&(this.focused=t,this.onFocus())}onFocus(){this.listeners.forEach(({listener:t})=>{t()})}isFocused(){return typeof this.focused=="boolean"?this.focused:typeof document>"u"?!0:[void 0,"visible","prerender"].includes(document.visibilityState)}}const ux=new Loe,_D=["online","offline"];class joe extends ch{constructor(){super(),this.setup=t=>{if(!Gg&&window.addEventListener){const n=()=>t();return _D.forEach(r=>{window.addEventListener(r,n,!1)}),()=>{_D.forEach(r=>{window.removeEventListener(r,n)})}}}}onSubscribe(){this.cleanup||this.setEventListener(this.setup)}onUnsubscribe(){if(!this.hasListeners()){var t;(t=this.cleanup)==null||t.call(this),this.cleanup=void 0}}setEventListener(t){var n;this.setup=t,(n=this.cleanup)==null||n.call(this),this.cleanup=t(r=>{typeof r=="boolean"?this.setOnline(r):this.onOnline()})}setOnline(t){this.online!==t&&(this.online=t,this.onOnline())}onOnline(){this.listeners.forEach(({listener:t})=>{t()})}isOnline(){return typeof this.online=="boolean"?this.online:typeof navigator>"u"||typeof navigator.onLine>"u"?!0:navigator.onLine}}const dx=new joe;function Foe(e){return Math.min(1e3*2**e,3e4)}function rC(e){return(e??"online")==="online"?dx.isOnline():!0}class bU{constructor(t){this.revert=t==null?void 0:t.revert,this.silent=t==null?void 0:t.silent}}function $0(e){return e instanceof bU}function xU(e){let t=!1,n=0,r=!1,o,i,a;const s=new Promise((v,b)=>{i=v,a=b}),l=v=>{r||(p(new bU(v)),e.abort==null||e.abort())},c=()=>{t=!0},u=()=>{t=!1},d=()=>!ux.isFocused()||e.networkMode!=="always"&&!dx.isOnline(),f=v=>{r||(r=!0,e.onSuccess==null||e.onSuccess(v),o==null||o(),i(v))},p=v=>{r||(r=!0,e.onError==null||e.onError(v),o==null||o(),a(v))},h=()=>new Promise(v=>{o=b=>{const y=r||!d();return y&&v(b),y},e.onPause==null||e.onPause()}).then(()=>{o=void 0,r||e.onContinue==null||e.onContinue()}),m=()=>{if(r)return;let v;try{v=e.fn()}catch(b){v=Promise.reject(b)}Promise.resolve(v).then(f).catch(b=>{var y,w;if(r)return;const C=(y=e.retry)!=null?y:3,O=(w=e.retryDelay)!=null?w:Foe,P=typeof O=="function"?O(n,b):O,E=C===!0||typeof C=="number"&&n{if(d())return h()}).then(()=>{t?p(b):m()})})};return rC(e.networkMode)?m():h().then(m),{promise:s,cancel:l,continue:()=>(o==null?void 0:o())?s:Promise.resolve(),cancelRetry:c,continueRetry:u}}const Z$=console;function Boe(){let e=[],t=0,n=u=>{u()},r=u=>{u()};const o=u=>{let d;t++;try{d=u()}finally{t--,t||s()}return d},i=u=>{t?e.push(u):RD(()=>{n(u)})},a=u=>(...d)=>{i(()=>{u(...d)})},s=()=>{const u=e;e=[],u.length&&RD(()=>{r(()=>{u.forEach(d=>{n(d)})})})};return{batch:o,batchCalls:a,schedule:i,setNotifyFunction:u=>{n=u},setBatchNotifyFunction:u=>{r=u}}}const Gn=Boe();class wU{destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),OO(this.cacheTime)&&(this.gcTimeout=setTimeout(()=>{this.optionalRemove()},this.cacheTime))}updateCacheTime(t){this.cacheTime=Math.max(this.cacheTime||0,t??(Gg?1/0:5*60*1e3))}clearGcTimeout(){this.gcTimeout&&(clearTimeout(this.gcTimeout),this.gcTimeout=void 0)}}class zoe extends wU{constructor(t){super(),this.abortSignalConsumed=!1,this.defaultOptions=t.defaultOptions,this.setOptions(t.options),this.observers=[],this.cache=t.cache,this.logger=t.logger||Z$,this.queryKey=t.queryKey,this.queryHash=t.queryHash,this.initialState=t.state||Voe(this.options),this.state=this.initialState,this.scheduleGc()}get meta(){return this.options.meta}setOptions(t){this.options={...this.defaultOptions,...t},this.updateCacheTime(this.options.cacheTime)}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&this.cache.remove(this)}setData(t,n){const r=kO(this.state.data,t,this.options);return this.dispatch({data:r,type:"success",dataUpdatedAt:n==null?void 0:n.updatedAt,manual:n==null?void 0:n.manual}),r}setState(t,n){this.dispatch({type:"setState",state:t,setStateOptions:n})}cancel(t){var n;const r=this.promise;return(n=this.retryer)==null||n.cancel(t),r?r.then($i).catch($i):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.initialState)}isActive(){return this.observers.some(t=>t.options.enabled!==!1)}isDisabled(){return this.getObserversCount()>0&&!this.isActive()}isStale(){return this.state.isInvalidated||!this.state.dataUpdatedAt||this.observers.some(t=>t.getCurrentResult().isStale)}isStaleByTime(t=0){return this.state.isInvalidated||!this.state.dataUpdatedAt||!mU(this.state.dataUpdatedAt,t)}onFocus(){var t;const n=this.observers.find(r=>r.shouldFetchOnWindowFocus());n&&n.refetch({cancelRefetch:!1}),(t=this.retryer)==null||t.continue()}onOnline(){var t;const n=this.observers.find(r=>r.shouldFetchOnReconnect());n&&n.refetch({cancelRefetch:!1}),(t=this.retryer)==null||t.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),this.cache.notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(n=>n!==t),this.observers.length||(this.retryer&&(this.abortSignalConsumed?this.retryer.cancel({revert:!0}):this.retryer.cancelRetry()),this.scheduleGc()),this.cache.notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.dispatch({type:"invalidate"})}fetch(t,n){var r,o;if(this.state.fetchStatus!=="idle"){if(this.state.dataUpdatedAt&&n!=null&&n.cancelRefetch)this.cancel({silent:!0});else if(this.promise){var i;return(i=this.retryer)==null||i.continueRetry(),this.promise}}if(t&&this.setOptions(t),!this.options.queryFn){const p=this.observers.find(h=>h.options.queryFn);p&&this.setOptions(p.options)}const a=Noe(),s={queryKey:this.queryKey,pageParam:void 0,meta:this.meta},l=p=>{Object.defineProperty(p,"signal",{enumerable:!0,get:()=>{if(a)return this.abortSignalConsumed=!0,a.signal}})};l(s);const c=()=>this.options.queryFn?(this.abortSignalConsumed=!1,this.options.queryFn(s)):Promise.reject("Missing queryFn for queryKey '"+this.options.queryHash+"'"),u={fetchOptions:n,options:this.options,queryKey:this.queryKey,state:this.state,fetchFn:c};if(l(u),(r=this.options.behavior)==null||r.onFetch(u),this.revertState=this.state,this.state.fetchStatus==="idle"||this.state.fetchMeta!==((o=u.fetchOptions)==null?void 0:o.meta)){var d;this.dispatch({type:"fetch",meta:(d=u.fetchOptions)==null?void 0:d.meta})}const f=p=>{if($0(p)&&p.silent||this.dispatch({type:"error",error:p}),!$0(p)){var h,m,v,b;(h=(m=this.cache.config).onError)==null||h.call(m,p,this),(v=(b=this.cache.config).onSettled)==null||v.call(b,this.state.data,p,this)}this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1};return this.retryer=xU({fn:u.fetchFn,abort:a==null?void 0:a.abort.bind(a),onSuccess:p=>{var h,m,v,b;if(typeof p>"u"){f(new Error(this.queryHash+" data is undefined"));return}this.setData(p),(h=(m=this.cache.config).onSuccess)==null||h.call(m,p,this),(v=(b=this.cache.config).onSettled)==null||v.call(b,p,this.state.error,this),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1},onError:f,onFail:(p,h)=>{this.dispatch({type:"failed",failureCount:p,error:h})},onPause:()=>{this.dispatch({type:"pause"})},onContinue:()=>{this.dispatch({type:"continue"})},retry:u.options.retry,retryDelay:u.options.retryDelay,networkMode:u.options.networkMode}),this.promise=this.retryer.promise,this.promise}dispatch(t){const n=r=>{var o,i;switch(t.type){case"failed":return{...r,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:(o=t.meta)!=null?o:null,fetchStatus:rC(this.options.networkMode)?"fetching":"paused",...!r.dataUpdatedAt&&{error:null,status:"loading"}};case"success":return{...r,data:t.data,dataUpdateCount:r.dataUpdateCount+1,dataUpdatedAt:(i=t.dataUpdatedAt)!=null?i:Date.now(),error:null,isInvalidated:!1,status:"success",...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const a=t.error;return $0(a)&&a.revert&&this.revertState?{...this.revertState,fetchStatus:"idle"}:{...r,error:a,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:a,fetchStatus:"idle",status:"error"};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...t.state}}};this.state=n(this.state),Gn.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate(t)}),this.cache.notify({query:this,type:"updated",action:t})})}}function Voe(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,n=typeof t<"u",r=n?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"loading",fetchStatus:"idle"}}class Hoe extends ch{constructor(t){super(),this.config=t||{},this.queries=[],this.queriesMap={}}build(t,n,r){var o;const i=n.queryKey,a=(o=n.queryHash)!=null?o:J$(i,n);let s=this.get(a);return s||(s=new zoe({cache:this,logger:t.getLogger(),queryKey:i,queryHash:a,options:t.defaultQueryOptions(n),state:r,defaultOptions:t.getQueryDefaults(i)}),this.add(s)),s}add(t){this.queriesMap[t.queryHash]||(this.queriesMap[t.queryHash]=t,this.queries.push(t),this.notify({type:"added",query:t}))}remove(t){const n=this.queriesMap[t.queryHash];n&&(t.destroy(),this.queries=this.queries.filter(r=>r!==t),n===t&&delete this.queriesMap[t.queryHash],this.notify({type:"removed",query:t}))}clear(){Gn.batch(()=>{this.queries.forEach(t=>{this.remove(t)})})}get(t){return this.queriesMap[t]}getAll(){return this.queries}find(t,n){const[r]=ql(t,n);return typeof r.exact>"u"&&(r.exact=!0),this.queries.find(o=>ID(r,o))}findAll(t,n){const[r]=ql(t,n);return Object.keys(r).length>0?this.queries.filter(o=>ID(r,o)):this.queries}notify(t){Gn.batch(()=>{this.listeners.forEach(({listener:n})=>{n(t)})})}onFocus(){Gn.batch(()=>{this.queries.forEach(t=>{t.onFocus()})})}onOnline(){Gn.batch(()=>{this.queries.forEach(t=>{t.onOnline()})})}}class Uoe extends wU{constructor(t){super(),this.defaultOptions=t.defaultOptions,this.mutationId=t.mutationId,this.mutationCache=t.mutationCache,this.logger=t.logger||Z$,this.observers=[],this.state=t.state||CU(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options={...this.defaultOptions,...t},this.updateCacheTime(this.options.cacheTime)}get meta(){return this.options.meta}setState(t){this.dispatch({type:"setState",state:t})}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),this.mutationCache.notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){this.observers=this.observers.filter(n=>n!==t),this.scheduleGc(),this.mutationCache.notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){this.observers.length||(this.state.status==="loading"?this.scheduleGc():this.mutationCache.remove(this))}continue(){var t,n;return(t=(n=this.retryer)==null?void 0:n.continue())!=null?t:this.execute()}async execute(){const t=()=>{var E;return this.retryer=xU({fn:()=>this.options.mutationFn?this.options.mutationFn(this.state.variables):Promise.reject("No mutationFn found"),onFail:(T,$)=>{this.dispatch({type:"failed",failureCount:T,error:$})},onPause:()=>{this.dispatch({type:"pause"})},onContinue:()=>{this.dispatch({type:"continue"})},retry:(E=this.options.retry)!=null?E:0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode}),this.retryer.promise},n=this.state.status==="loading";try{var r,o,i,a,s,l,c,u;if(!n){var d,f,p,h;this.dispatch({type:"loading",variables:this.options.variables}),await((d=(f=this.mutationCache.config).onMutate)==null?void 0:d.call(f,this.state.variables,this));const T=await((p=(h=this.options).onMutate)==null?void 0:p.call(h,this.state.variables));T!==this.state.context&&this.dispatch({type:"loading",context:T,variables:this.state.variables})}const E=await t();return await((r=(o=this.mutationCache.config).onSuccess)==null?void 0:r.call(o,E,this.state.variables,this.state.context,this)),await((i=(a=this.options).onSuccess)==null?void 0:i.call(a,E,this.state.variables,this.state.context)),await((s=(l=this.mutationCache.config).onSettled)==null?void 0:s.call(l,E,null,this.state.variables,this.state.context,this)),await((c=(u=this.options).onSettled)==null?void 0:c.call(u,E,null,this.state.variables,this.state.context)),this.dispatch({type:"success",data:E}),E}catch(E){try{var m,v,b,y,w,C,O,P;throw await((m=(v=this.mutationCache.config).onError)==null?void 0:m.call(v,E,this.state.variables,this.state.context,this)),await((b=(y=this.options).onError)==null?void 0:b.call(y,E,this.state.variables,this.state.context)),await((w=(C=this.mutationCache.config).onSettled)==null?void 0:w.call(C,void 0,E,this.state.variables,this.state.context,this)),await((O=(P=this.options).onSettled)==null?void 0:O.call(P,void 0,E,this.state.variables,this.state.context)),E}finally{this.dispatch({type:"error",error:E})}}}dispatch(t){const n=r=>{switch(t.type){case"failed":return{...r,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"loading":return{...r,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:!rC(this.options.networkMode),status:"loading",variables:t.variables};case"success":return{...r,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:t.error,failureCount:r.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"};case"setState":return{...r,...t.state}}};this.state=n(this.state),Gn.batch(()=>{this.observers.forEach(r=>{r.onMutationUpdate(t)}),this.mutationCache.notify({mutation:this,type:"updated",action:t})})}}function CU(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0}}class Woe extends ch{constructor(t){super(),this.config=t||{},this.mutations=[],this.mutationId=0}build(t,n,r){const o=new Uoe({mutationCache:this,logger:t.getLogger(),mutationId:++this.mutationId,options:t.defaultMutationOptions(n),state:r,defaultOptions:n.mutationKey?t.getMutationDefaults(n.mutationKey):void 0});return this.add(o),o}add(t){this.mutations.push(t),this.notify({type:"added",mutation:t})}remove(t){this.mutations=this.mutations.filter(n=>n!==t),this.notify({type:"removed",mutation:t})}clear(){Gn.batch(()=>{this.mutations.forEach(t=>{this.remove(t)})})}getAll(){return this.mutations}find(t){return typeof t.exact>"u"&&(t.exact=!0),this.mutations.find(n=>$D(t,n))}findAll(t){return this.mutations.filter(n=>$D(t,n))}notify(t){Gn.batch(()=>{this.listeners.forEach(({listener:n})=>{n(t)})})}resumePausedMutations(){var t;return this.resuming=((t=this.resuming)!=null?t:Promise.resolve()).then(()=>{const n=this.mutations.filter(r=>r.state.isPaused);return Gn.batch(()=>n.reduce((r,o)=>r.then(()=>o.continue().catch($i)),Promise.resolve()))}).then(()=>{this.resuming=void 0}),this.resuming}}function Goe(){return{onFetch:e=>{e.fetchFn=()=>{var t,n,r,o,i,a;const s=(t=e.fetchOptions)==null||(n=t.meta)==null?void 0:n.refetchPage,l=(r=e.fetchOptions)==null||(o=r.meta)==null?void 0:o.fetchMore,c=l==null?void 0:l.pageParam,u=(l==null?void 0:l.direction)==="forward",d=(l==null?void 0:l.direction)==="backward",f=((i=e.state.data)==null?void 0:i.pages)||[],p=((a=e.state.data)==null?void 0:a.pageParams)||[];let h=p,m=!1;const v=P=>{Object.defineProperty(P,"signal",{enumerable:!0,get:()=>{var E;if((E=e.signal)!=null&&E.aborted)m=!0;else{var T;(T=e.signal)==null||T.addEventListener("abort",()=>{m=!0})}return e.signal}})},b=e.options.queryFn||(()=>Promise.reject("Missing queryFn for queryKey '"+e.options.queryHash+"'")),y=(P,E,T,$)=>(h=$?[E,...h]:[...h,E],$?[T,...P]:[...P,T]),w=(P,E,T,$)=>{if(m)return Promise.reject("Cancelled");if(typeof T>"u"&&!E&&P.length)return Promise.resolve(P);const M={queryKey:e.queryKey,pageParam:T,meta:e.options.meta};v(M);const D=b(M);return Promise.resolve(D).then(N=>y(P,T,N,$))};let C;if(!f.length)C=w([]);else if(u){const P=typeof c<"u",E=P?c:DD(e.options,f);C=w(f,P,E)}else if(d){const P=typeof c<"u",E=P?c:qoe(e.options,f);C=w(f,P,E,!0)}else{h=[];const P=typeof e.options.getNextPageParam>"u";C=(s&&f[0]?s(f[0],0,f):!0)?w([],P,p[0]):Promise.resolve(y([],p[0],f[0]));for(let T=1;T{if(s&&f[T]?s(f[T],T,f):!0){const D=P?p[T]:DD(e.options,$);return w($,P,D)}return Promise.resolve(y($,p[T],f[T]))})}return C.then(P=>({pages:P,pageParams:h}))}}}}function DD(e,t){return e.getNextPageParam==null?void 0:e.getNextPageParam(t[t.length-1],t)}function qoe(e,t){return e.getPreviousPageParam==null?void 0:e.getPreviousPageParam(t[0],t)}class Koe{constructor(t={}){this.queryCache=t.queryCache||new Hoe,this.mutationCache=t.mutationCache||new Woe,this.logger=t.logger||Z$,this.defaultOptions=t.defaultOptions||{},this.queryDefaults=[],this.mutationDefaults=[],this.mountCount=0}mount(){this.mountCount++,this.mountCount===1&&(this.unsubscribeFocus=ux.subscribe(()=>{ux.isFocused()&&(this.resumePausedMutations(),this.queryCache.onFocus())}),this.unsubscribeOnline=dx.subscribe(()=>{dx.isOnline()&&(this.resumePausedMutations(),this.queryCache.onOnline())}))}unmount(){var t,n;this.mountCount--,this.mountCount===0&&((t=this.unsubscribeFocus)==null||t.call(this),this.unsubscribeFocus=void 0,(n=this.unsubscribeOnline)==null||n.call(this),this.unsubscribeOnline=void 0)}isFetching(t,n){const[r]=ql(t,n);return r.fetchStatus="fetching",this.queryCache.findAll(r).length}isMutating(t){return this.mutationCache.findAll({...t,fetching:!0}).length}getQueryData(t,n){var r;return(r=this.queryCache.find(t,n))==null?void 0:r.state.data}ensureQueryData(t,n,r){const o=Hm(t,n,r),i=this.getQueryData(o.queryKey);return i?Promise.resolve(i):this.fetchQuery(o)}getQueriesData(t){return this.getQueryCache().findAll(t).map(({queryKey:n,state:r})=>{const o=r.data;return[n,o]})}setQueryData(t,n,r){const o=this.queryCache.find(t),i=o==null?void 0:o.state.data,a=_oe(n,i);if(typeof a>"u")return;const s=Hm(t),l=this.defaultQueryOptions(s);return this.queryCache.build(this,l).setData(a,{...r,manual:!0})}setQueriesData(t,n,r){return Gn.batch(()=>this.getQueryCache().findAll(t).map(({queryKey:o})=>[o,this.setQueryData(o,n,r)]))}getQueryState(t,n){var r;return(r=this.queryCache.find(t,n))==null?void 0:r.state}removeQueries(t,n){const[r]=ql(t,n),o=this.queryCache;Gn.batch(()=>{o.findAll(r).forEach(i=>{o.remove(i)})})}resetQueries(t,n,r){const[o,i]=ql(t,n,r),a=this.queryCache,s={type:"active",...o};return Gn.batch(()=>(a.findAll(o).forEach(l=>{l.reset()}),this.refetchQueries(s,i)))}cancelQueries(t,n,r){const[o,i={}]=ql(t,n,r);typeof i.revert>"u"&&(i.revert=!0);const a=Gn.batch(()=>this.queryCache.findAll(o).map(s=>s.cancel(i)));return Promise.all(a).then($i).catch($i)}invalidateQueries(t,n,r){const[o,i]=ql(t,n,r);return Gn.batch(()=>{var a,s;if(this.queryCache.findAll(o).forEach(c=>{c.invalidate()}),o.refetchType==="none")return Promise.resolve();const l={...o,type:(a=(s=o.refetchType)!=null?s:o.type)!=null?a:"active"};return this.refetchQueries(l,i)})}refetchQueries(t,n,r){const[o,i]=ql(t,n,r),a=Gn.batch(()=>this.queryCache.findAll(o).filter(l=>!l.isDisabled()).map(l=>{var c;return l.fetch(void 0,{...i,cancelRefetch:(c=i==null?void 0:i.cancelRefetch)!=null?c:!0,meta:{refetchPage:o.refetchPage}})}));let s=Promise.all(a).then($i);return i!=null&&i.throwOnError||(s=s.catch($i)),s}fetchQuery(t,n,r){const o=Hm(t,n,r),i=this.defaultQueryOptions(o);typeof i.retry>"u"&&(i.retry=!1);const a=this.queryCache.build(this,i);return a.isStaleByTime(i.staleTime)?a.fetch(i):Promise.resolve(a.state.data)}prefetchQuery(t,n,r){return this.fetchQuery(t,n,r).then($i).catch($i)}fetchInfiniteQuery(t,n,r){const o=Hm(t,n,r);return o.behavior=Goe(),this.fetchQuery(o)}prefetchInfiniteQuery(t,n,r){return this.fetchInfiniteQuery(t,n,r).then($i).catch($i)}resumePausedMutations(){return this.mutationCache.resumePausedMutations()}getQueryCache(){return this.queryCache}getMutationCache(){return this.mutationCache}getLogger(){return this.logger}getDefaultOptions(){return this.defaultOptions}setDefaultOptions(t){this.defaultOptions=t}setQueryDefaults(t,n){const r=this.queryDefaults.find(o=>xu(t)===xu(o.queryKey));r?r.defaultOptions=n:this.queryDefaults.push({queryKey:t,defaultOptions:n})}getQueryDefaults(t){if(!t)return;const n=this.queryDefaults.find(r=>lx(t,r.queryKey));return n==null?void 0:n.defaultOptions}setMutationDefaults(t,n){const r=this.mutationDefaults.find(o=>xu(t)===xu(o.mutationKey));r?r.defaultOptions=n:this.mutationDefaults.push({mutationKey:t,defaultOptions:n})}getMutationDefaults(t){if(!t)return;const n=this.mutationDefaults.find(r=>lx(t,r.mutationKey));return n==null?void 0:n.defaultOptions}defaultQueryOptions(t){if(t!=null&&t._defaulted)return t;const n={...this.defaultOptions.queries,...this.getQueryDefaults(t==null?void 0:t.queryKey),...t,_defaulted:!0};return!n.queryHash&&n.queryKey&&(n.queryHash=J$(n.queryKey,n)),typeof n.refetchOnReconnect>"u"&&(n.refetchOnReconnect=n.networkMode!=="always"),typeof n.useErrorBoundary>"u"&&(n.useErrorBoundary=!!n.suspense),n}defaultMutationOptions(t){return t!=null&&t._defaulted?t:{...this.defaultOptions.mutations,...this.getMutationDefaults(t==null?void 0:t.mutationKey),...t,_defaulted:!0}}clear(){this.queryCache.clear(),this.mutationCache.clear()}}class Yoe extends ch{constructor(t,n){super(),this.client=t,this.options=n,this.trackedProps=new Set,this.selectError=null,this.bindMethods(),this.setOptions(n)}bindMethods(){this.remove=this.remove.bind(this),this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.currentQuery.addObserver(this),ND(this.currentQuery,this.options)&&this.executeFetch(),this.updateTimers())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return IO(this.currentQuery,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return IO(this.currentQuery,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.clearStaleTimeout(),this.clearRefetchInterval(),this.currentQuery.removeObserver(this)}setOptions(t,n){const r=this.options,o=this.currentQuery;if(this.options=this.client.defaultQueryOptions(t),cx(r,this.options)||this.client.getQueryCache().notify({type:"observerOptionsUpdated",query:this.currentQuery,observer:this}),typeof this.options.enabled<"u"&&typeof this.options.enabled!="boolean")throw new Error("Expected enabled to be a boolean");this.options.queryKey||(this.options.queryKey=r.queryKey),this.updateQuery();const i=this.hasListeners();i&&LD(this.currentQuery,o,this.options,r)&&this.executeFetch(),this.updateResult(n),i&&(this.currentQuery!==o||this.options.enabled!==r.enabled||this.options.staleTime!==r.staleTime)&&this.updateStaleTimeout();const a=this.computeRefetchInterval();i&&(this.currentQuery!==o||this.options.enabled!==r.enabled||a!==this.currentRefetchInterval)&&this.updateRefetchInterval(a)}getOptimisticResult(t){const n=this.client.getQueryCache().build(this.client,t),r=this.createResult(n,t);return Xoe(this,r,t)&&(this.currentResult=r,this.currentResultOptions=this.options,this.currentResultState=this.currentQuery.state),r}getCurrentResult(){return this.currentResult}trackResult(t){const n={};return Object.keys(t).forEach(r=>{Object.defineProperty(n,r,{configurable:!1,enumerable:!0,get:()=>(this.trackedProps.add(r),t[r])})}),n}getCurrentQuery(){return this.currentQuery}remove(){this.client.getQueryCache().remove(this.currentQuery)}refetch({refetchPage:t,...n}={}){return this.fetch({...n,meta:{refetchPage:t}})}fetchOptimistic(t){const n=this.client.defaultQueryOptions(t),r=this.client.getQueryCache().build(this.client,n);return r.isFetchingOptimistic=!0,r.fetch().then(()=>this.createResult(r,n))}fetch(t){var n;return this.executeFetch({...t,cancelRefetch:(n=t.cancelRefetch)!=null?n:!0}).then(()=>(this.updateResult(),this.currentResult))}executeFetch(t){this.updateQuery();let n=this.currentQuery.fetch(this.options,t);return t!=null&&t.throwOnError||(n=n.catch($i)),n}updateStaleTimeout(){if(this.clearStaleTimeout(),Gg||this.currentResult.isStale||!OO(this.options.staleTime))return;const n=mU(this.currentResult.dataUpdatedAt,this.options.staleTime)+1;this.staleTimeoutId=setTimeout(()=>{this.currentResult.isStale||this.updateResult()},n)}computeRefetchInterval(){var t;return typeof this.options.refetchInterval=="function"?this.options.refetchInterval(this.currentResult.data,this.currentQuery):(t=this.options.refetchInterval)!=null?t:!1}updateRefetchInterval(t){this.clearRefetchInterval(),this.currentRefetchInterval=t,!(Gg||this.options.enabled===!1||!OO(this.currentRefetchInterval)||this.currentRefetchInterval===0)&&(this.refetchIntervalId=setInterval(()=>{(this.options.refetchIntervalInBackground||ux.isFocused())&&this.executeFetch()},this.currentRefetchInterval))}updateTimers(){this.updateStaleTimeout(),this.updateRefetchInterval(this.computeRefetchInterval())}clearStaleTimeout(){this.staleTimeoutId&&(clearTimeout(this.staleTimeoutId),this.staleTimeoutId=void 0)}clearRefetchInterval(){this.refetchIntervalId&&(clearInterval(this.refetchIntervalId),this.refetchIntervalId=void 0)}createResult(t,n){const r=this.currentQuery,o=this.options,i=this.currentResult,a=this.currentResultState,s=this.currentResultOptions,l=t!==r,c=l?t.state:this.currentQueryInitialState,u=l?this.currentResult:this.previousQueryResult,{state:d}=t;let{dataUpdatedAt:f,error:p,errorUpdatedAt:h,fetchStatus:m,status:v}=d,b=!1,y=!1,w;if(n._optimisticResults){const T=this.hasListeners(),$=!T&&ND(t,n),M=T&&LD(t,r,n,o);($||M)&&(m=rC(t.options.networkMode)?"fetching":"paused",f||(v="loading")),n._optimisticResults==="isRestoring"&&(m="idle")}if(n.keepPreviousData&&!d.dataUpdatedAt&&u!=null&&u.isSuccess&&v!=="error")w=u.data,f=u.dataUpdatedAt,v=u.status,b=!0;else if(n.select&&typeof d.data<"u")if(i&&d.data===(a==null?void 0:a.data)&&n.select===this.selectFn)w=this.selectResult;else try{this.selectFn=n.select,w=n.select(d.data),w=kO(i==null?void 0:i.data,w,n),this.selectResult=w,this.selectError=null}catch(T){this.selectError=T}else w=d.data;if(typeof n.placeholderData<"u"&&typeof w>"u"&&v==="loading"){let T;if(i!=null&&i.isPlaceholderData&&n.placeholderData===(s==null?void 0:s.placeholderData))T=i.data;else if(T=typeof n.placeholderData=="function"?n.placeholderData():n.placeholderData,n.select&&typeof T<"u")try{T=n.select(T),this.selectError=null}catch($){this.selectError=$}typeof T<"u"&&(v="success",w=kO(i==null?void 0:i.data,T,n),y=!0)}this.selectError&&(p=this.selectError,w=this.selectResult,h=Date.now(),v="error");const C=m==="fetching",O=v==="loading",P=v==="error";return{status:v,fetchStatus:m,isLoading:O,isSuccess:v==="success",isError:P,isInitialLoading:O&&C,data:w,dataUpdatedAt:f,error:p,errorUpdatedAt:h,failureCount:d.fetchFailureCount,failureReason:d.fetchFailureReason,errorUpdateCount:d.errorUpdateCount,isFetched:d.dataUpdateCount>0||d.errorUpdateCount>0,isFetchedAfterMount:d.dataUpdateCount>c.dataUpdateCount||d.errorUpdateCount>c.errorUpdateCount,isFetching:C,isRefetching:C&&!O,isLoadingError:P&&d.dataUpdatedAt===0,isPaused:m==="paused",isPlaceholderData:y,isPreviousData:b,isRefetchError:P&&d.dataUpdatedAt!==0,isStale:eM(t,n),refetch:this.refetch,remove:this.remove}}updateResult(t){const n=this.currentResult,r=this.createResult(this.currentQuery,this.options);if(this.currentResultState=this.currentQuery.state,this.currentResultOptions=this.options,cx(r,n))return;this.currentResult=r;const o={cache:!0},i=()=>{if(!n)return!0;const{notifyOnChangeProps:a}=this.options,s=typeof a=="function"?a():a;if(s==="all"||!s&&!this.trackedProps.size)return!0;const l=new Set(s??this.trackedProps);return this.options.useErrorBoundary&&l.add("error"),Object.keys(this.currentResult).some(c=>{const u=c;return this.currentResult[u]!==n[u]&&l.has(u)})};(t==null?void 0:t.listeners)!==!1&&i()&&(o.listeners=!0),this.notify({...o,...t})}updateQuery(){const t=this.client.getQueryCache().build(this.client,this.options);if(t===this.currentQuery)return;const n=this.currentQuery;this.currentQuery=t,this.currentQueryInitialState=t.state,this.previousQueryResult=this.currentResult,this.hasListeners()&&(n==null||n.removeObserver(this),t.addObserver(this))}onQueryUpdate(t){const n={};t.type==="success"?n.onSuccess=!t.manual:t.type==="error"&&!$0(t.error)&&(n.onError=!0),this.updateResult(n),this.hasListeners()&&this.updateTimers()}notify(t){Gn.batch(()=>{if(t.onSuccess){var n,r,o,i;(n=(r=this.options).onSuccess)==null||n.call(r,this.currentResult.data),(o=(i=this.options).onSettled)==null||o.call(i,this.currentResult.data,null)}else if(t.onError){var a,s,l,c;(a=(s=this.options).onError)==null||a.call(s,this.currentResult.error),(l=(c=this.options).onSettled)==null||l.call(c,void 0,this.currentResult.error)}t.listeners&&this.listeners.forEach(({listener:u})=>{u(this.currentResult)}),t.cache&&this.client.getQueryCache().notify({query:this.currentQuery,type:"observerResultsUpdated"})})}}function Qoe(e,t){return t.enabled!==!1&&!e.state.dataUpdatedAt&&!(e.state.status==="error"&&t.retryOnMount===!1)}function ND(e,t){return Qoe(e,t)||e.state.dataUpdatedAt>0&&IO(e,t,t.refetchOnMount)}function IO(e,t,n){if(t.enabled!==!1){const r=typeof n=="function"?n(e):n;return r==="always"||r!==!1&&eM(e,t)}return!1}function LD(e,t,n,r){return n.enabled!==!1&&(e!==t||r.enabled===!1)&&(!n.suspense||e.state.status!=="error")&&eM(e,n)}function eM(e,t){return e.isStaleByTime(t.staleTime)}function Xoe(e,t,n){return n.keepPreviousData?!1:n.placeholderData!==void 0?t.isPlaceholderData:!cx(e.getCurrentResult(),t)}let Joe=class extends ch{constructor(t,n){super(),this.client=t,this.setOptions(n),this.bindMethods(),this.updateResult()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(t){var n;const r=this.options;this.options=this.client.defaultMutationOptions(t),cx(r,this.options)||this.client.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.currentMutation,observer:this}),(n=this.currentMutation)==null||n.setOptions(this.options)}onUnsubscribe(){if(!this.hasListeners()){var t;(t=this.currentMutation)==null||t.removeObserver(this)}}onMutationUpdate(t){this.updateResult();const n={listeners:!0};t.type==="success"?n.onSuccess=!0:t.type==="error"&&(n.onError=!0),this.notify(n)}getCurrentResult(){return this.currentResult}reset(){this.currentMutation=void 0,this.updateResult(),this.notify({listeners:!0})}mutate(t,n){return this.mutateOptions=n,this.currentMutation&&this.currentMutation.removeObserver(this),this.currentMutation=this.client.getMutationCache().build(this.client,{...this.options,variables:typeof t<"u"?t:this.options.variables}),this.currentMutation.addObserver(this),this.currentMutation.execute()}updateResult(){const t=this.currentMutation?this.currentMutation.state:CU(),n={...t,isLoading:t.status==="loading",isSuccess:t.status==="success",isError:t.status==="error",isIdle:t.status==="idle",mutate:this.mutate,reset:this.reset};this.currentResult=n}notify(t){Gn.batch(()=>{if(this.mutateOptions&&this.hasListeners()){if(t.onSuccess){var n,r,o,i;(n=(r=this.mutateOptions).onSuccess)==null||n.call(r,this.currentResult.data,this.currentResult.variables,this.currentResult.context),(o=(i=this.mutateOptions).onSettled)==null||o.call(i,this.currentResult.data,null,this.currentResult.variables,this.currentResult.context)}else if(t.onError){var a,s,l,c;(a=(s=this.mutateOptions).onError)==null||a.call(s,this.currentResult.error,this.currentResult.variables,this.currentResult.context),(l=(c=this.mutateOptions).onSettled)==null||l.call(c,void 0,this.currentResult.error,this.currentResult.variables,this.currentResult.context)}}t.listeners&&this.listeners.forEach(({listener:u})=>{u(this.currentResult)})})}};var SU={exports:{}},pi={},PU={exports:{}},EU={};/** + */var RL=Symbol.for("react.element"),_L=Symbol.for("react.portal"),eI=Symbol.for("react.fragment"),tI=Symbol.for("react.strict_mode"),nI=Symbol.for("react.profiler"),rI=Symbol.for("react.provider"),oI=Symbol.for("react.context"),r0e=Symbol.for("react.server_context"),iI=Symbol.for("react.forward_ref"),aI=Symbol.for("react.suspense"),sI=Symbol.for("react.suspense_list"),lI=Symbol.for("react.memo"),cI=Symbol.for("react.lazy"),o0e=Symbol.for("react.offscreen"),iX;iX=Symbol.for("react.module.reference");function fl(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case RL:switch(e=e.type,e){case eI:case nI:case tI:case aI:case sI:return e;default:switch(e=e&&e.$$typeof,e){case r0e:case oI:case iI:case cI:case lI:case rI:return e;default:return t}}case _L:return t}}}ar.ContextConsumer=oI;ar.ContextProvider=rI;ar.Element=RL;ar.ForwardRef=iI;ar.Fragment=eI;ar.Lazy=cI;ar.Memo=lI;ar.Portal=_L;ar.Profiler=nI;ar.StrictMode=tI;ar.Suspense=aI;ar.SuspenseList=sI;ar.isAsyncMode=function(){return!1};ar.isConcurrentMode=function(){return!1};ar.isContextConsumer=function(e){return fl(e)===oI};ar.isContextProvider=function(e){return fl(e)===rI};ar.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===RL};ar.isForwardRef=function(e){return fl(e)===iI};ar.isFragment=function(e){return fl(e)===eI};ar.isLazy=function(e){return fl(e)===cI};ar.isMemo=function(e){return fl(e)===lI};ar.isPortal=function(e){return fl(e)===_L};ar.isProfiler=function(e){return fl(e)===nI};ar.isStrictMode=function(e){return fl(e)===tI};ar.isSuspense=function(e){return fl(e)===aI};ar.isSuspenseList=function(e){return fl(e)===sI};ar.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===eI||e===nI||e===tI||e===aI||e===sI||e===o0e||typeof e=="object"&&e!==null&&(e.$$typeof===cI||e.$$typeof===lI||e.$$typeof===rI||e.$$typeof===oI||e.$$typeof===iI||e.$$typeof===iX||e.getModuleId!==void 0)};ar.typeOf=fl;oX.exports=ar;var i0e=oX.exports;function aX(e){const{variants:t,...n}=e,r={variants:t,style:HH(n),isProcessed:!0};return r.style===n||t&&t.forEach(o=>{typeof o.style!="function"&&(o.style=HH(o.style))}),r}const a0e=Rv();function EP(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}function s0e(e){return e?(t,n)=>n[e]:null}function l0e(e,t,n){e.theme=u0e(e.theme)?n:e.theme[t]||e.theme}function OP(e,t){const n=typeof t=="function"?t(e):t;if(Array.isArray(n))return n.flatMap(r=>OP(e,r));if(Array.isArray(n==null?void 0:n.variants)){let r;if(n.isProcessed)r=n.style;else{const{variants:o,...i}=n;r=i}return sX(e,n.variants,[r])}return n!=null&&n.isProcessed?n.style:n}function sX(e,t,n=[]){var o;let r;e:for(let i=0;i{Zve(s,T=>T.filter(E=>E!==Tf));const{name:c,slot:u,skipVariantsResolver:d,skipSx:f,overridesResolver:p=s0e(f0e(u)),...m}=l,g=d!==void 0?d:u&&u!=="Root"&&u!=="root"||!1,v=f||!1;let w=EP;u==="Root"||u==="root"?w=r:u?w=o:d0e(s)&&(w=void 0);const x=XY(s,{shouldForwardProp:w,label:c0e(),...m}),S=T=>{if(typeof T=="function"&&T.__emotion_real!==T)return function(O){return OP(O,T)};if(Pc(T)){const E=aX(T);return E.variants?function(k){return OP(k,E)}:E.style}return T},P=(...T)=>{const E=[],O=T.map(S),k=[];if(E.push(i),c&&p&&k.push(function(N){var D,z;const j=(z=(D=N.theme.components)==null?void 0:D[c])==null?void 0:z.styleOverrides;if(!j)return null;const _={};for(const F in j)_[F]=OP(N,j[F]);return p(N,_)}),c&&!g&&k.push(function(N){var _,D;const L=N.theme,j=(D=(_=L==null?void 0:L.components)==null?void 0:_[c])==null?void 0:D.variants;return j?sX(N,j):null}),v||k.push(Tf),Array.isArray(O[0])){const R=O.shift(),N=new Array(E.length).fill(""),L=new Array(k.length).fill("");let j;j=[...N,...R,...L],j.raw=[...N,...R.raw,...L],E.unshift(j)}const A=[...E,...O,...k],I=x(...A);return s.muiName&&(I.muiName=s.muiName),I};return x.withConfig&&(P.withConfig=x.withConfig),P}}function c0e(e,t){return void 0}function u0e(e){for(const t in e)return!1;return!0}function d0e(e){return typeof e=="string"&&e.charCodeAt(0)>96}function f0e(e){return e&&e.charAt(0).toLowerCase()+e.slice(1)}const Qn=lX();function Ay(e,t){const n={...t};for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)){const o=r;if(o==="components"||o==="slots")n[o]={...e[o],...n[o]};else if(o==="componentsProps"||o==="slotProps"){const i=e[o],a=t[o];if(!a)n[o]=i||{};else if(!i)n[o]=a;else{n[o]={...a};for(const s in i)if(Object.prototype.hasOwnProperty.call(i,s)){const l=s;n[o][l]=Ay(i[l],a[l])}}}else n[o]===void 0&&(n[o]=e[o])}return n}function cX(e){const{theme:t,name:n,props:r}=e;return!t||!t.components||!t.components[n]||!t.components[n].defaultProps?r:Ay(t.components[n].defaultProps,r)}function uI({props:e,name:t,defaultTheme:n,themeId:r}){let o=gS(n);return r&&(o=o[r]||o),cX({theme:o,name:t,props:e})}const rs=typeof window<"u"?y.useLayoutEffect:y.useEffect;function p0e(e,t,n,r,o){const[i,a]=y.useState(()=>o&&n?n(e).matches:r?r(e).matches:t);return rs(()=>{if(!n)return;const s=n(e),l=()=>{a(s.matches)};return l(),s.addEventListener("change",l),()=>{s.removeEventListener("change",l)}},[e,n]),i}const h0e={...vh},uX=h0e.useSyncExternalStore;function m0e(e,t,n,r,o){const i=y.useCallback(()=>t,[t]),a=y.useMemo(()=>{if(o&&n)return()=>n(e).matches;if(r!==null){const{matches:u}=r(e);return()=>u}return i},[i,e,r,o,n]),[s,l]=y.useMemo(()=>{if(n===null)return[i,()=>()=>{}];const u=n(e);return[()=>u.matches,d=>(u.addEventListener("change",d),()=>{u.removeEventListener("change",d)})]},[i,n,e]);return uX(l,s,a)}function yS(e,t={}){const n=$L(),r=typeof window<"u"&&typeof window.matchMedia<"u",{defaultMatches:o=!1,matchMedia:i=r?window.matchMedia:null,ssrMatchMedia:a=null,noSsr:s=!1}=cX({name:"MuiUseMediaQuery",props:t,theme:n});let l=typeof e=="function"?e(n):e;return l=l.replace(/^@media( ?)/m,""),(uX!==void 0?m0e:p0e)(l,o,i,a,s)}function g0e(e,t=Number.MIN_SAFE_INTEGER,n=Number.MAX_SAFE_INTEGER){return Math.max(t,Math.min(e,n))}function DL(e,t=0,n=1){return g0e(e,t,n)}function y0e(e){e=e.slice(1);const t=new RegExp(`.{1,${e.length>=6?2:1}}`,"g");let n=e.match(t);return n&&n[0].length===1&&(n=n.map(r=>r+r)),n?`rgb${n.length===4?"a":""}(${n.map((r,o)=>o<3?parseInt(r,16):Math.round(parseInt(r,16)/255*1e3)/1e3).join(", ")})`:""}function jc(e){if(e.type)return e;if(e.charAt(0)==="#")return jc(y0e(e));const t=e.indexOf("("),n=e.substring(0,t);if(!["rgb","rgba","hsl","hsla","color"].includes(n))throw new Error(Bu(9,e));let r=e.substring(t+1,e.length-1),o;if(n==="color"){if(r=r.split(" "),o=r.shift(),r.length===4&&r[3].charAt(0)==="/"&&(r[3]=r[3].slice(1)),!["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].includes(o))throw new Error(Bu(10,o))}else r=r.split(",");return r=r.map(i=>parseFloat(i)),{type:n,values:r,colorSpace:o}}const v0e=e=>{const t=jc(e);return t.values.slice(0,3).map((n,r)=>t.type.includes("hsl")&&r!==0?`${n}%`:n).join(" ")},D0=(e,t)=>{try{return v0e(e)}catch{return e}};function vS(e){const{type:t,colorSpace:n}=e;let{values:r}=e;return t.includes("rgb")?r=r.map((o,i)=>i<3?parseInt(o,10):o):t.includes("hsl")&&(r[1]=`${r[1]}%`,r[2]=`${r[2]}%`),t.includes("color")?r=`${n} ${r.join(" ")}`:r=`${r.join(", ")}`,`${t}(${r})`}function dX(e){e=jc(e);const{values:t}=e,n=t[0],r=t[1]/100,o=t[2]/100,i=r*Math.min(o,1-o),a=(c,u=(c+n/30)%12)=>o-i*Math.max(Math.min(u-3,9-u,1),-1);let s="rgb";const l=[Math.round(a(0)*255),Math.round(a(8)*255),Math.round(a(4)*255)];return e.type==="hsla"&&(s+="a",l.push(t[3])),vS({type:s,values:l})}function JR(e){e=jc(e);let t=e.type==="hsl"||e.type==="hsla"?jc(dX(e)).values:e.values;return t=t.map(n=>(e.type!=="color"&&(n/=255),n<=.03928?n/12.92:((n+.055)/1.055)**2.4)),Number((.2126*t[0]+.7152*t[1]+.0722*t[2]).toFixed(3))}function b0e(e,t){const n=JR(e),r=JR(t);return(Math.max(n,r)+.05)/(Math.min(n,r)+.05)}function mt(e,t){return e=jc(e),t=DL(t),(e.type==="rgb"||e.type==="hsl")&&(e.type+="a"),e.type==="color"?e.values[3]=`/${t}`:e.values[3]=t,vS(e)}function dC(e,t,n){try{return mt(e,t)}catch{return e}}function zu(e,t){if(e=jc(e),t=DL(t),e.type.includes("hsl"))e.values[2]*=1-t;else if(e.type.includes("rgb")||e.type.includes("color"))for(let n=0;n<3;n+=1)e.values[n]*=1-t;return vS(e)}function fr(e,t,n){try{return zu(e,t)}catch{return e}}function Vu(e,t){if(e=jc(e),t=DL(t),e.type.includes("hsl"))e.values[2]+=(100-e.values[2])*t;else if(e.type.includes("rgb"))for(let n=0;n<3;n+=1)e.values[n]+=(255-e.values[n])*t;else if(e.type.includes("color"))for(let n=0;n<3;n+=1)e.values[n]+=(1-e.values[n])*t;return vS(e)}function pr(e,t,n){try{return Vu(e,t)}catch{return e}}function fX(e,t=.15){return JR(e)>.5?zu(e,t):Vu(e,t)}function fC(e,t,n){try{return fX(e,t)}catch{return e}}function qH(...e){return e.reduce((t,n)=>n==null?t:function(...o){t.apply(this,o),n.apply(this,o)},()=>{})}function bS(e,t=166){let n;function r(...o){const i=()=>{e.apply(this,o)};clearTimeout(n),n=setTimeout(i,t)}return r.clear=()=>{clearTimeout(n)},r}function qg(e,t){var n,r,o;return y.isValidElement(e)&&t.indexOf(e.type.muiName??((o=(r=(n=e.type)==null?void 0:n._payload)==null?void 0:r.value)==null?void 0:o.muiName))!==-1}function ii(e){return e&&e.ownerDocument||document}function os(e){return ii(e).defaultView||window}function sT(e,t){typeof e=="function"?e(t):e&&(e.current=t)}let KH=0;function w0e(e){const[t,n]=y.useState(e),r=e||t;return y.useEffect(()=>{t==null&&(KH+=1,n(`mui-${KH}`))},[t]),r}const x0e={...vh},YH=x0e.useId;function wh(e){if(YH!==void 0){const t=YH();return e??t}return w0e(e)}function ku({controlled:e,default:t,name:n,state:r="value"}){const{current:o}=y.useRef(e!==void 0),[i,a]=y.useState(t),s=o?e:i,l=y.useCallback(c=>{o||a(c)},[]);return[s,l]}function Go(e){const t=y.useRef(e);return rs(()=>{t.current=e}),y.useRef((...n)=>(0,t.current)(...n)).current}function Cr(...e){return y.useMemo(()=>e.every(t=>t==null)?null:t=>{e.forEach(n=>{sT(n,t)})},e)}const XH={};function pX(e,t){const n=y.useRef(XH);return n.current===XH&&(n.current=e(t)),n}const S0e=[];function C0e(e){y.useEffect(e,S0e)}let hX=class mX{constructor(){nn(this,"currentId",null);nn(this,"clear",()=>{this.currentId!==null&&(clearTimeout(this.currentId),this.currentId=null)});nn(this,"disposeEffect",()=>this.clear)}static create(){return new mX}start(t,n){this.clear(),this.currentId=setTimeout(()=>{this.currentId=null,n()},t)}};function tf(){const e=pX(hX.create).current;return C0e(e.disposeEffect),e}function lT(e){try{return e.matches(":focus-visible")}catch{}return!1}function gX(e=window){const t=e.document.documentElement.clientWidth;return e.innerWidth-t}const NL=e=>{const t=y.useRef({});return y.useEffect(()=>{t.current=e}),t.current};function yX(e){return y.Children.toArray(e).filter(t=>y.isValidElement(t))}function rt(e,t,n=void 0){const r={};for(const o in e){const i=e[o];let a="",s=!0;for(let l=0;lr.match(/^on[A-Z]/)&&typeof e[r]=="function"&&!t.includes(r)).forEach(r=>{n[r]=e[r]}),n}function QH(e){if(e===void 0)return{};const t={};return Object.keys(e).filter(n=>!(n.match(/^on[A-Z]/)&&typeof e[n]=="function")).forEach(n=>{t[n]=e[n]}),t}function vX(e){const{getSlotProps:t,additionalProps:n,externalSlotProps:r,externalForwardedProps:o,className:i}=e;if(!t){const p=de(n==null?void 0:n.className,i,o==null?void 0:o.className,r==null?void 0:r.className),m={...n==null?void 0:n.style,...o==null?void 0:o.style,...r==null?void 0:r.style},g={...n,...o,...r};return p.length>0&&(g.className=p),Object.keys(m).length>0&&(g.style=m),{props:g,internalRef:void 0}}const a=cT({...o,...r}),s=QH(r),l=QH(o),c=t(a),u=de(c==null?void 0:c.className,n==null?void 0:n.className,i,o==null?void 0:o.className,r==null?void 0:r.className),d={...c==null?void 0:c.style,...n==null?void 0:n.style,...o==null?void 0:o.style,...r==null?void 0:r.style},f={...c,...n,...l,...s};return u.length>0&&(f.className=u),Object.keys(d).length>0&&(f.style=d),{props:f,internalRef:c.ref}}function bX(e,t,n){return typeof e=="function"?e(t,n):e}function Bc(e){var d;const{elementType:t,externalSlotProps:n,ownerState:r,skipResolvingSlotProps:o=!1,...i}=e,a=o?{}:bX(n,r),{props:s,internalRef:l}=vX({...i,externalSlotProps:a}),c=Cr(l,a==null?void 0:a.ref,(d=e.additionalProps)==null?void 0:d.ref);return bg(t,{...s,ref:c},r)}function Lf(e){var t;return parseInt(y.version,10)>=19?((t=e==null?void 0:e.props)==null?void 0:t.ref)||null:(e==null?void 0:e.ref)||null}const wX=y.createContext(null);function dI(){return y.useContext(wX)}const T0e=typeof Symbol=="function"&&Symbol.for,xX=T0e?Symbol.for("mui.nested"):"__THEME_NESTED__";function E0e(e,t){return typeof t=="function"?t(e):{...e,...t}}function O0e(e){const{children:t,theme:n}=e,r=dI(),o=y.useMemo(()=>{const i=r===null?{...n}:E0e(r,n);return i!=null&&(i[xX]=r!==null),i},[n,r]);return $.jsx(wX.Provider,{value:o,children:t})}const SX=y.createContext();function I0e({value:e,...t}){return $.jsx(SX.Provider,{value:e??!0,...t})}const nr=()=>y.useContext(SX)??!1,CX=y.createContext(void 0);function k0e({value:e,children:t}){return $.jsx(CX.Provider,{value:e,children:t})}function M0e(e){const{theme:t,name:n,props:r}=e;if(!t||!t.components||!t.components[n])return r;const o=t.components[n];return o.defaultProps?Ay(o.defaultProps,r):!o.styleOverrides&&!o.variants?Ay(o,r):r}function A0e({props:e,name:t}){const n=y.useContext(CX);return M0e({props:e,name:t,theme:{components:n}})}const JH={};function ZH(e,t,n,r=!1){return y.useMemo(()=>{const o=e&&t[e]||t;if(typeof n=="function"){const i=n(o),a=e?{...t,[e]:i}:i;return r?()=>a:a}return e?{...t,[e]:n}:{...t,...n}},[e,t,n,r])}function PX(e){const{children:t,theme:n,themeId:r}=e,o=$L(JH),i=dI()||JH,a=ZH(r,o,n),s=ZH(r,i,n,!0),l=a.direction==="rtl";return $.jsx(O0e,{theme:s,children:$.jsx(fS.Provider,{value:a,children:$.jsx(I0e,{value:l,children:$.jsx(k0e,{value:a==null?void 0:a.components,children:t})})})})}const e4={theme:void 0};function $0e(e){let t,n;return function(o){let i=t;return(i===void 0||o.theme!==n)&&(e4.theme=o.theme,i=aX(e(e4)),t=i,n=o.theme),i}}const LL="mode",FL="color-scheme",R0e="data-color-scheme";function _0e(e){const{defaultMode:t="system",defaultLightColorScheme:n="light",defaultDarkColorScheme:r="dark",modeStorageKey:o=LL,colorSchemeStorageKey:i=FL,attribute:a=R0e,colorSchemeNode:s="document.documentElement",nonce:l}=e||{};let c="",u=a;if(a==="class"&&(u=".%s"),a==="data"&&(u="[data-%s]"),u.startsWith(".")){const f=u.substring(1);c+=`${s}.classList.remove('${f}'.replace('%s', light), '${f}'.replace('%s', dark)); + ${s}.classList.add('${f}'.replace('%s', colorScheme));`}const d=u.match(/\[([^\]]+)\]/);if(d){const[f,p]=d[1].split("=");p||(c+=`${s}.removeAttribute('${f}'.replace('%s', light)); + ${s}.removeAttribute('${f}'.replace('%s', dark));`),c+=` + ${s}.setAttribute('${f}'.replace('%s', colorScheme), ${p?`${p}.replace('%s', colorScheme)`:'""'});`}else c+=`${s}.setAttribute('${u}', colorScheme);`;return $.jsx("script",{suppressHydrationWarning:!0,nonce:typeof window>"u"?l:"",dangerouslySetInnerHTML:{__html:`(function() { +try { + let colorScheme = ''; + const mode = localStorage.getItem('${o}') || '${t}'; + const dark = localStorage.getItem('${i}-dark') || '${r}'; + const light = localStorage.getItem('${i}-light') || '${n}'; + if (mode === 'system') { + // handle system mode + const mql = window.matchMedia('(prefers-color-scheme: dark)'); + if (mql.matches) { + colorScheme = dark + } else { + colorScheme = light + } + } + if (mode === 'light') { + colorScheme = light; + } + if (mode === 'dark') { + colorScheme = dark; + } + if (colorScheme) { + ${c} + } +} catch(e){}})();`}},"mui-color-scheme-init")}function t4(e){if(typeof window<"u"&&typeof window.matchMedia=="function"&&e==="system")return window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function TX(e,t){if(e.mode==="light"||e.mode==="system"&&e.systemMode==="light")return t("light");if(e.mode==="dark"||e.mode==="system"&&e.systemMode==="dark")return t("dark")}function D0e(e){return TX(e,t=>{if(t==="light")return e.lightColorScheme;if(t==="dark")return e.darkColorScheme})}function zA(e,t){if(typeof window>"u")return;let n;try{n=localStorage.getItem(e)||void 0,n||localStorage.setItem(e,t)}catch{}return n||t}function N0e(e){const{defaultMode:t="light",defaultLightColorScheme:n,defaultDarkColorScheme:r,supportedColorSchemes:o=[],modeStorageKey:i=LL,colorSchemeStorageKey:a=FL,storageWindow:s=typeof window>"u"?void 0:window}=e,l=o.join(","),c=o.length>1,[u,d]=y.useState(()=>{const S=zA(i,t),P=zA(`${a}-light`,n),T=zA(`${a}-dark`,r);return{mode:S,systemMode:t4(S),lightColorScheme:P,darkColorScheme:T}}),[,f]=y.useState(!1),p=y.useRef(!1);y.useEffect(()=>{c&&f(!0),p.current=!0},[c]);const m=D0e(u),g=y.useCallback(S=>{d(P=>{if(S===P.mode)return P;const T=S??t;try{localStorage.setItem(i,T)}catch{}return{...P,mode:T,systemMode:t4(T)}})},[i,t]),v=y.useCallback(S=>{S?typeof S=="string"?S&&!l.includes(S)?console.error(`\`${S}\` does not exist in \`theme.colorSchemes\`.`):d(P=>{const T={...P};return TX(P,E=>{try{localStorage.setItem(`${a}-${E}`,S)}catch{}E==="light"&&(T.lightColorScheme=S),E==="dark"&&(T.darkColorScheme=S)}),T}):d(P=>{const T={...P},E=S.light===null?n:S.light,O=S.dark===null?r:S.dark;if(E)if(!l.includes(E))console.error(`\`${E}\` does not exist in \`theme.colorSchemes\`.`);else{T.lightColorScheme=E;try{localStorage.setItem(`${a}-light`,E)}catch{}}if(O)if(!l.includes(O))console.error(`\`${O}\` does not exist in \`theme.colorSchemes\`.`);else{T.darkColorScheme=O;try{localStorage.setItem(`${a}-dark`,O)}catch{}}return T}):d(P=>{try{localStorage.setItem(`${a}-light`,n),localStorage.setItem(`${a}-dark`,r)}catch{}return{...P,lightColorScheme:n,darkColorScheme:r}})},[l,a,n,r]),w=y.useCallback(S=>{u.mode==="system"&&d(P=>{const T=S!=null&&S.matches?"dark":"light";return P.systemMode===T?P:{...P,systemMode:T}})},[u.mode]),x=y.useRef(w);return x.current=w,y.useEffect(()=>{if(typeof window.matchMedia!="function"||!c)return;const S=(...T)=>x.current(...T),P=window.matchMedia("(prefers-color-scheme: dark)");return P.addListener(S),S(P),()=>{P.removeListener(S)}},[c]),y.useEffect(()=>{if(s&&c){const S=P=>{const T=P.newValue;typeof P.key=="string"&&P.key.startsWith(a)&&(!T||l.match(T))&&(P.key.endsWith("light")&&v({light:T}),P.key.endsWith("dark")&&v({dark:T})),P.key===i&&(!T||["light","dark","system"].includes(T))&&g(T||t)};return s.addEventListener("storage",S),()=>{s.removeEventListener("storage",S)}}},[v,g,i,a,l,t,s,c]),{...u,mode:p.current||!c?u.mode:void 0,systemMode:p.current||!c?u.systemMode:void 0,colorScheme:p.current||!c?m:void 0,setMode:g,setColorScheme:v}}const L0e="*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}";function F0e(e){const{themeId:t,theme:n={},modeStorageKey:r=LL,colorSchemeStorageKey:o=FL,disableTransitionOnChange:i=!1,defaultColorScheme:a,resolveTheme:s}=e,l={allColorSchemes:[],colorScheme:void 0,darkColorScheme:void 0,lightColorScheme:void 0,mode:void 0,setColorScheme:()=>{},setMode:()=>{},systemMode:void 0},c=y.createContext(void 0),u=()=>y.useContext(c)||l;function d(g){var ye,Te,Oe,Me,We;const{children:v,theme:w,modeStorageKey:x=r,colorSchemeStorageKey:S=o,disableTransitionOnChange:P=i,storageWindow:T=typeof window>"u"?void 0:window,documentNode:E=typeof document>"u"?void 0:document,colorSchemeNode:O=typeof document>"u"?void 0:document.documentElement,disableNestedContext:k=!1,disableStyleSheetGeneration:A=!1,defaultMode:I="system"}=g,R=y.useRef(!1),N=dI(),L=y.useContext(c),j=!!L&&!k,_=y.useMemo(()=>w||(typeof n=="function"?n():n),[w]),D=_[t],{colorSchemes:z={},components:F={},cssVarPrefix:H,...U}=D||_,q=Object.keys(z).filter(Ve=>!!z[Ve]).join(","),X=y.useMemo(()=>q.split(","),[q]),ae=typeof a=="string"?a:a.light,Z=typeof a=="string"?a:a.dark,K=z[ae]&&z[Z]?I:((Te=(ye=z[U.defaultColorScheme])==null?void 0:ye.palette)==null?void 0:Te.mode)||((Oe=U.palette)==null?void 0:Oe.mode),{mode:te,setMode:pe,systemMode:ie,lightColorScheme:le,darkColorScheme:re,colorScheme:fe,setColorScheme:ee}=N0e({supportedColorSchemes:X,defaultLightColorScheme:ae,defaultDarkColorScheme:Z,modeStorageKey:x,colorSchemeStorageKey:S,defaultMode:K,storageWindow:T});let ce=te,me=fe;j&&(ce=L.mode,me=L.colorScheme);const we=me||U.defaultColorScheme,ge=((Me=U.generateThemeVars)==null?void 0:Me.call(U))||U.vars,Se={...U,components:F,colorSchemes:z,cssVarPrefix:H,vars:ge};if(typeof Se.generateSpacing=="function"&&(Se.spacing=Se.generateSpacing()),we){const Ve=z[we];Ve&&typeof Ve=="object"&&Object.keys(Ve).forEach(Qe=>{Ve[Qe]&&typeof Ve[Qe]=="object"?Se[Qe]={...Se[Qe],...Ve[Qe]}:Se[Qe]=Ve[Qe]})}const xe=U.colorSchemeSelector;y.useEffect(()=>{if(me&&O&&xe&&xe!=="media"){const Ve=xe;let Qe=xe;if(Ve==="class"&&(Qe=".%s"),Ve==="data"&&(Qe="[data-%s]"),Ve!=null&&Ve.startsWith("data-")&&!Ve.includes("%s")&&(Qe=`[${Ve}="%s"]`),Qe.startsWith("."))O.classList.remove(...X.map(ut=>Qe.substring(1).replace("%s",ut))),O.classList.add(Qe.substring(1).replace("%s",me));else{const ut=Qe.replace("%s",me).match(/\[([^\]]+)\]/);if(ut){const[nt,et]=ut[1].split("=");et||X.forEach(yt=>{O.removeAttribute(nt.replace(me,yt))}),O.setAttribute(nt,et?et.replace(/"|'/g,""):"")}else O.setAttribute(Qe,me)}}},[me,xe,O,X]),y.useEffect(()=>{let Ve;if(P&&R.current&&E){const Qe=E.createElement("style");Qe.appendChild(E.createTextNode(L0e)),E.head.appendChild(Qe),window.getComputedStyle(E.body),Ve=setTimeout(()=>{E.head.removeChild(Qe)},1)}return()=>{clearTimeout(Ve)}},[me,P,E]),y.useEffect(()=>(R.current=!0,()=>{R.current=!1}),[]);const Ie=y.useMemo(()=>({allColorSchemes:X,colorScheme:me,darkColorScheme:re,lightColorScheme:le,mode:ce,setColorScheme:ee,setMode:pe,systemMode:ie}),[X,me,re,le,ce,ee,pe,ie]);let Re=!0;(A||U.cssVariables===!1||j&&(N==null?void 0:N.cssVarPrefix)===H)&&(Re=!1);const _e=$.jsxs(y.Fragment,{children:[$.jsx(PX,{themeId:D?t:void 0,theme:s?s(Se):Se,children:v}),Re&&$.jsx(YY,{styles:((We=Se.generateStyleSheets)==null?void 0:We.call(Se))||[]})]});return j?_e:$.jsx(c.Provider,{value:Ie,children:_e})}const f=typeof a=="string"?a:a.light,p=typeof a=="string"?a:a.dark;return{CssVarsProvider:d,useColorScheme:u,getInitColorSchemeScript:g=>_0e({colorSchemeStorageKey:o,defaultLightColorScheme:f,defaultDarkColorScheme:p,modeStorageKey:r,...g})}}function j0e(e=""){function t(...r){if(!r.length)return"";const o=r[0];return typeof o=="string"&&!o.match(/(#|\(|\)|(-?(\d*\.)?\d+)(px|em|%|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc))|^(-?(\d*\.)?\d+)$|(\d+ \d+ \d+)/)?`, var(--${e?`${e}-`:""}${o}${t(...r.slice(1))})`:`, ${o}`}return(r,...o)=>`var(--${e?`${e}-`:""}${r}${t(...o)})`}const n4=(e,t,n,r=[])=>{let o=e;t.forEach((i,a)=>{a===t.length-1?Array.isArray(o)?o[Number(i)]=n:o&&typeof o=="object"&&(o[i]=n):o&&typeof o=="object"&&(o[i]||(o[i]=r.includes(i)?[]:{}),o=o[i])})},B0e=(e,t,n)=>{function r(o,i=[],a=[]){Object.entries(o).forEach(([s,l])=>{(!n||n&&!n([...i,s]))&&l!=null&&(typeof l=="object"&&Object.keys(l).length>0?r(l,[...i,s],Array.isArray(l)?[...a,s]:a):t([...i,s],l,a))})}r(e)},z0e=(e,t)=>typeof t=="number"?["lineHeight","fontWeight","opacity","zIndex"].some(r=>e.includes(r))||e[e.length-1].toLowerCase().includes("opacity")?t:`${t}px`:t;function VA(e,t){const{prefix:n,shouldSkipGeneratingVar:r}=t||{},o={},i={},a={};return B0e(e,(s,l,c)=>{if((typeof l=="string"||typeof l=="number")&&(!r||!r(s,l))){const u=`--${n?`${n}-`:""}${s.join("-")}`,d=z0e(s,l);Object.assign(o,{[u]:d}),n4(i,s,`var(${u})`,c),n4(a,s,`var(${u}, ${d})`,c)}},s=>s[0]==="vars"),{css:o,vars:i,varsWithDefaults:a}}function V0e(e,t={}){const{getSelector:n=v,disableCssColorScheme:r,colorSchemeSelector:o}=t,{colorSchemes:i={},components:a,defaultColorScheme:s="light",...l}=e,{vars:c,css:u,varsWithDefaults:d}=VA(l,t);let f=d;const p={},{[s]:m,...g}=i;if(Object.entries(g||{}).forEach(([S,P])=>{const{vars:T,css:E,varsWithDefaults:O}=VA(P,t);f=bo(f,O),p[S]={css:E,vars:T}}),m){const{css:S,vars:P,varsWithDefaults:T}=VA(m,t);f=bo(f,T),p[s]={css:S,vars:P}}function v(S,P){var E,O;let T=o;if(o==="class"&&(T=".%s"),o==="data"&&(T="[data-%s]"),o!=null&&o.startsWith("data-")&&!o.includes("%s")&&(T=`[${o}="%s"]`),S){if(T==="media")return e.defaultColorScheme===S?":root":{[`@media (prefers-color-scheme: ${((O=(E=i[S])==null?void 0:E.palette)==null?void 0:O.mode)||S})`]:{":root":P}};if(T)return e.defaultColorScheme===S?`:root, ${T.replace("%s",String(S))}`:T.replace("%s",String(S))}return":root"}return{vars:f,generateThemeVars:()=>{let S={...c};return Object.entries(p).forEach(([,{vars:P}])=>{S=bo(S,P)}),S},generateStyleSheets:()=>{var k,A;const S=[],P=e.defaultColorScheme||"light";function T(I,R){Object.keys(R).length&&S.push(typeof I=="string"?{[I]:{...R}}:I)}T(n(void 0,{...u}),u);const{[P]:E,...O}=p;if(E){const{css:I}=E,R=(A=(k=i[P])==null?void 0:k.palette)==null?void 0:A.mode,N=!r&&R?{colorScheme:R,...I}:{...I};T(n(P,{...N}),N)}return Object.entries(O).forEach(([I,{css:R}])=>{var j,_;const N=(_=(j=i[I])==null?void 0:j.palette)==null?void 0:_.mode,L=!r&&N?{colorScheme:N,...R}:{...R};T(n(I,{...L}),L)}),S}}}function H0e(e){return function(n){return e==="media"?`@media (prefers-color-scheme: ${n})`:e?e.startsWith("data-")&&!e.includes("%s")?`[${e}="${n}"] &`:e==="class"?`.${n} &`:e==="data"?`[data-${n}] &`:`${e.replace("%s",n)} &`:"&"}}const U0e=Rv(),W0e=Qn("div",{name:"MuiContainer",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[`maxWidth${Ce(String(n.maxWidth))}`],n.fixed&&t.fixed,n.disableGutters&&t.disableGutters]}}),G0e=e=>uI({props:e,name:"MuiContainer",defaultTheme:U0e}),q0e=(e,t)=>{const n=l=>tt(t,l),{classes:r,fixed:o,disableGutters:i,maxWidth:a}=e,s={root:["root",a&&`maxWidth${Ce(String(a))}`,o&&"fixed",i&&"disableGutters"]};return rt(s,n,r)};function K0e(e={}){const{createStyledComponent:t=W0e,useThemeProps:n=G0e,componentName:r="MuiContainer"}=e,o=t(({theme:a,ownerState:s})=>({width:"100%",marginLeft:"auto",boxSizing:"border-box",marginRight:"auto",...!s.disableGutters&&{paddingLeft:a.spacing(2),paddingRight:a.spacing(2),[a.breakpoints.up("sm")]:{paddingLeft:a.spacing(3),paddingRight:a.spacing(3)}}}),({theme:a,ownerState:s})=>s.fixed&&Object.keys(a.breakpoints.values).reduce((l,c)=>{const u=c,d=a.breakpoints.values[u];return d!==0&&(l[a.breakpoints.up(u)]={maxWidth:`${d}${a.breakpoints.unit}`}),l},{}),({theme:a,ownerState:s})=>({...s.maxWidth==="xs"&&{[a.breakpoints.up("xs")]:{maxWidth:Math.max(a.breakpoints.values.xs,444)}},...s.maxWidth&&s.maxWidth!=="xs"&&{[a.breakpoints.up(s.maxWidth)]:{maxWidth:`${a.breakpoints.values[s.maxWidth]}${a.breakpoints.unit}`}}}));return y.forwardRef(function(s,l){const c=n(s),{className:u,component:d="div",disableGutters:f=!1,fixed:p=!1,maxWidth:m="lg",classes:g,...v}=c,w={...c,component:d,disableGutters:f,fixed:p,maxWidth:m},x=q0e(w,r);return $.jsx(o,{as:d,ownerState:w,className:de(x.root,u),ref:l,...v})})}const Y0e=(e,t)=>e.filter(n=>t.includes(n)),_v=(e,t,n)=>{const r=e.keys[0];Array.isArray(t)?t.forEach((o,i)=>{n((a,s)=>{i<=e.keys.length-1&&(i===0?Object.assign(a,s):a[e.up(e.keys[i])]=s)},o)}):t&&typeof t=="object"?(Object.keys(t).length>e.keys.length?e.keys:Y0e(e.keys,Object.keys(t))).forEach(i=>{if(e.keys.includes(i)){const a=t[i];a!==void 0&&n((s,l)=>{r===i?Object.assign(s,l):s[e.up(i)]=l},a)}}):(typeof t=="number"||typeof t=="string")&&n((o,i)=>{Object.assign(o,i)},t)};function uT(e){return`--Grid-${e}Spacing`}function fI(e){return`--Grid-parent-${e}Spacing`}const r4="--Grid-columns",Kg="--Grid-parent-columns",X0e=({theme:e,ownerState:t})=>{const n={};return _v(e.breakpoints,t.size,(r,o)=>{let i={};o==="grow"&&(i={flexBasis:0,flexGrow:1,maxWidth:"100%"}),o==="auto"&&(i={flexBasis:"auto",flexGrow:0,flexShrink:0,maxWidth:"none",width:"auto"}),typeof o=="number"&&(i={flexGrow:0,flexBasis:"auto",width:`calc(100% * ${o} / var(${Kg}) - (var(${Kg}) - ${o}) * (var(${fI("column")}) / var(${Kg})))`}),r(n,i)}),n},Q0e=({theme:e,ownerState:t})=>{const n={};return _v(e.breakpoints,t.offset,(r,o)=>{let i={};o==="auto"&&(i={marginLeft:"auto"}),typeof o=="number"&&(i={marginLeft:o===0?"0px":`calc(100% * ${o} / var(${Kg}) + var(${fI("column")}) * ${o} / var(${Kg}))`}),r(n,i)}),n},J0e=({theme:e,ownerState:t})=>{if(!t.container)return{};const n={[r4]:12};return _v(e.breakpoints,t.columns,(r,o)=>{const i=o??12;r(n,{[r4]:i,"> *":{[Kg]:i}})}),n},Z0e=({theme:e,ownerState:t})=>{if(!t.container)return{};const n={};return _v(e.breakpoints,t.rowSpacing,(r,o)=>{var a;const i=typeof o=="string"?o:(a=e.spacing)==null?void 0:a.call(e,o);r(n,{[uT("row")]:i,"> *":{[fI("row")]:i}})}),n},ewe=({theme:e,ownerState:t})=>{if(!t.container)return{};const n={};return _v(e.breakpoints,t.columnSpacing,(r,o)=>{var a;const i=typeof o=="string"?o:(a=e.spacing)==null?void 0:a.call(e,o);r(n,{[uT("column")]:i,"> *":{[fI("column")]:i}})}),n},twe=({theme:e,ownerState:t})=>{if(!t.container)return{};const n={};return _v(e.breakpoints,t.direction,(r,o)=>{r(n,{flexDirection:o})}),n},nwe=({ownerState:e})=>({minWidth:0,boxSizing:"border-box",...e.container&&{display:"flex",flexWrap:"wrap",...e.wrap&&e.wrap!=="wrap"&&{flexWrap:e.wrap},gap:`var(${uT("row")}) var(${uT("column")})`}}),rwe=e=>{const t=[];return Object.entries(e).forEach(([n,r])=>{r!==!1&&r!==void 0&&t.push(`grid-${n}-${String(r)}`)}),t},owe=(e,t="xs")=>{function n(r){return r===void 0?!1:typeof r=="string"&&!Number.isNaN(Number(r))||typeof r=="number"&&r>0}if(n(e))return[`spacing-${t}-${String(e)}`];if(typeof e=="object"&&!Array.isArray(e)){const r=[];return Object.entries(e).forEach(([o,i])=>{n(i)&&r.push(`spacing-${o}-${String(i)}`)}),r}return[]},iwe=e=>e===void 0?[]:typeof e=="object"?Object.entries(e).map(([t,n])=>`direction-${t}-${n}`):[`direction-xs-${String(e)}`],awe=Rv(),swe=Qn("div",{name:"MuiGrid",slot:"Root",overridesResolver:(e,t)=>t.root});function lwe(e){return uI({props:e,name:"MuiGrid",defaultTheme:awe})}function cwe(e={}){const{createStyledComponent:t=swe,useThemeProps:n=lwe,componentName:r="MuiGrid"}=e,o=(l,c)=>{const{container:u,direction:d,spacing:f,wrap:p,size:m}=l,g={root:["root",u&&"container",p!=="wrap"&&`wrap-xs-${String(p)}`,...iwe(d),...rwe(m),...u?owe(f,c.breakpoints.keys[0]):[]]};return rt(g,v=>tt(r,v),{})};function i(l,c,u=()=>!0){const d={};return l===null||(Array.isArray(l)?l.forEach((f,p)=>{f!==null&&u(f)&&c.keys[p]&&(d[c.keys[p]]=f)}):typeof l=="object"?Object.keys(l).forEach(f=>{const p=l[f];p!=null&&u(p)&&(d[f]=p)}):d[c.keys[0]]=l),d}const a=t(J0e,ewe,Z0e,X0e,twe,nwe,Q0e),s=y.forwardRef(function(c,u){const d=gS(),f=n(c),p=ZO(f),{className:m,children:g,columns:v=12,container:w=!1,component:x="div",direction:S="row",wrap:P="wrap",size:T={},offset:E={},spacing:O=0,rowSpacing:k=O,columnSpacing:A=O,unstable_level:I=0,...R}=p,N=i(T,d.breakpoints,U=>U!==!1),L=i(E,d.breakpoints),j=c.columns??(I?void 0:v),_=c.spacing??(I?void 0:O),D=c.rowSpacing??c.spacing??(I?void 0:k),z=c.columnSpacing??c.spacing??(I?void 0:A),F={...p,level:I,columns:j,container:w,direction:S,wrap:P,spacing:_,rowSpacing:D,columnSpacing:z,size:N,offset:L},H=o(F,d);return $.jsx(a,{ref:u,as:x,ownerState:F,className:de(H.root,m),...R,children:y.Children.map(g,U=>{var q;return y.isValidElement(U)&&qg(U,["Grid"])&&w&&U.props.container?y.cloneElement(U,{unstable_level:((q=U.props)==null?void 0:q.unstable_level)??I+1}):U})})});return s.muiName="Grid",s}const uwe=Rv(),dwe=Qn("div",{name:"MuiStack",slot:"Root",overridesResolver:(e,t)=>t.root});function fwe(e){return uI({props:e,name:"MuiStack",defaultTheme:uwe})}function pwe(e,t){const n=y.Children.toArray(e).filter(Boolean);return n.reduce((r,o,i)=>(r.push(o),i({row:"Left","row-reverse":"Right",column:"Top","column-reverse":"Bottom"})[e],mwe=({ownerState:e,theme:t})=>{let n={display:"flex",flexDirection:"column",...nc({theme:t},BA({values:e.direction,breakpoints:t.breakpoints.values}),r=>({flexDirection:r}))};if(e.spacing){const r=qO(t),o=Object.keys(t.breakpoints.values).reduce((l,c)=>((typeof e.spacing=="object"&&e.spacing[c]!=null||typeof e.direction=="object"&&e.direction[c]!=null)&&(l[c]=!0),l),{}),i=BA({values:e.direction,base:o}),a=BA({values:e.spacing,base:o});typeof i=="object"&&Object.keys(i).forEach((l,c,u)=>{if(!i[l]){const f=c>0?i[u[c-1]]:"column";i[l]=f}}),n=bo(n,nc({theme:t},a,(l,c)=>e.useFlexGap?{gap:bh(r,l)}:{"& > :not(style):not(style)":{margin:0},"& > :not(style) ~ :not(style)":{[`margin${hwe(c?i[c]:e.direction)}`]:bh(r,l)}}))}return n=lbe(t.breakpoints,n),n};function gwe(e={}){const{createStyledComponent:t=dwe,useThemeProps:n=fwe,componentName:r="MuiStack"}=e,o=()=>rt({root:["root"]},l=>tt(r,l),{}),i=t(mwe);return y.forwardRef(function(l,c){const u=n(l),d=ZO(u),{component:f="div",direction:p="column",spacing:m=0,divider:g,children:v,className:w,useFlexGap:x=!1,...S}=d,P={direction:p,spacing:m,useFlexGap:x},T=o();return $.jsx(i,{as:f,ownerState:P,ref:c,className:de(T.root,w),...S,children:g?pwe(v,g):v})})}const Lw={black:"#000",white:"#fff"},ywe={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#f5f5f5",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161"},Lm={50:"#f3e5f5",100:"#e1bee7",200:"#ce93d8",300:"#ba68c8",400:"#ab47bc",500:"#9c27b0",600:"#8e24aa",700:"#7b1fa2",800:"#6a1b9a",900:"#4a148c",A100:"#ea80fc",A200:"#e040fb",A400:"#d500f9",A700:"#aa00ff"},Fm={50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",A100:"#ff8a80",A200:"#ff5252",A400:"#ff1744",A700:"#d50000"},Yb={50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00"},jm={50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff"},Bm={50:"#e1f5fe",100:"#b3e5fc",200:"#81d4fa",300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",600:"#039be5",700:"#0288d1",800:"#0277bd",900:"#01579b",A100:"#80d8ff",A200:"#40c4ff",A400:"#00b0ff",A700:"#0091ea"},zm={50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853"};function EX(){return{text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.38)"},divider:"rgba(0, 0, 0, 0.12)",background:{paper:Lw.white,default:Lw.white},action:{active:"rgba(0, 0, 0, 0.54)",hover:"rgba(0, 0, 0, 0.04)",hoverOpacity:.04,selected:"rgba(0, 0, 0, 0.08)",selectedOpacity:.08,disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(0, 0, 0, 0.12)",disabledOpacity:.38,focus:"rgba(0, 0, 0, 0.12)",focusOpacity:.12,activatedOpacity:.12}}}const vwe=EX();function OX(){return{text:{primary:Lw.white,secondary:"rgba(255, 255, 255, 0.7)",disabled:"rgba(255, 255, 255, 0.5)",icon:"rgba(255, 255, 255, 0.5)"},divider:"rgba(255, 255, 255, 0.12)",background:{paper:"#121212",default:"#121212"},action:{active:Lw.white,hover:"rgba(255, 255, 255, 0.08)",hoverOpacity:.08,selected:"rgba(255, 255, 255, 0.16)",selectedOpacity:.16,disabled:"rgba(255, 255, 255, 0.3)",disabledBackground:"rgba(255, 255, 255, 0.12)",disabledOpacity:.38,focus:"rgba(255, 255, 255, 0.12)",focusOpacity:.12,activatedOpacity:.24}}}const o4=OX();function i4(e,t,n,r){const o=r.light||r,i=r.dark||r*1.5;e[t]||(e.hasOwnProperty(n)?e[t]=e[n]:t==="light"?e.light=Vu(e.main,o):t==="dark"&&(e.dark=zu(e.main,i)))}function bwe(e="light"){return e==="dark"?{main:jm[200],light:jm[50],dark:jm[400]}:{main:jm[700],light:jm[400],dark:jm[800]}}function wwe(e="light"){return e==="dark"?{main:Lm[200],light:Lm[50],dark:Lm[400]}:{main:Lm[500],light:Lm[300],dark:Lm[700]}}function xwe(e="light"){return e==="dark"?{main:Fm[500],light:Fm[300],dark:Fm[700]}:{main:Fm[700],light:Fm[400],dark:Fm[800]}}function Swe(e="light"){return e==="dark"?{main:Bm[400],light:Bm[300],dark:Bm[700]}:{main:Bm[700],light:Bm[500],dark:Bm[900]}}function Cwe(e="light"){return e==="dark"?{main:zm[400],light:zm[300],dark:zm[700]}:{main:zm[800],light:zm[500],dark:zm[900]}}function Pwe(e="light"){return e==="dark"?{main:Yb[400],light:Yb[300],dark:Yb[700]}:{main:"#ed6c02",light:Yb[500],dark:Yb[900]}}function jL(e){const{mode:t="light",contrastThreshold:n=3,tonalOffset:r=.2,...o}=e,i=e.primary||bwe(t),a=e.secondary||wwe(t),s=e.error||xwe(t),l=e.info||Swe(t),c=e.success||Cwe(t),u=e.warning||Pwe(t);function d(g){return b0e(g,o4.text.primary)>=n?o4.text.primary:vwe.text.primary}const f=({color:g,name:v,mainShade:w=500,lightShade:x=300,darkShade:S=700})=>{if(g={...g},!g.main&&g[w]&&(g.main=g[w]),!g.hasOwnProperty("main"))throw new Error(Bu(11,v?` (${v})`:"",w));if(typeof g.main!="string")throw new Error(Bu(12,v?` (${v})`:"",JSON.stringify(g.main)));return i4(g,"light",x,r),i4(g,"dark",S,r),g.contrastText||(g.contrastText=d(g.main)),g};let p;return t==="light"?p=EX():t==="dark"&&(p=OX()),bo({common:{...Lw},mode:t,primary:f({color:i,name:"primary"}),secondary:f({color:a,name:"secondary",mainShade:"A400",lightShade:"A200",darkShade:"A700"}),error:f({color:s,name:"error"}),warning:f({color:u,name:"warning"}),info:f({color:l,name:"info"}),success:f({color:c,name:"success"}),grey:ywe,contrastThreshold:n,getContrastText:d,augmentColor:f,tonalOffset:r,...p},o)}function Twe(e){const t={};return Object.entries(e).forEach(r=>{const[o,i]=r;typeof i=="object"&&(t[o]=`${i.fontStyle?`${i.fontStyle} `:""}${i.fontVariant?`${i.fontVariant} `:""}${i.fontWeight?`${i.fontWeight} `:""}${i.fontStretch?`${i.fontStretch} `:""}${i.fontSize||""}${i.lineHeight?`/${i.lineHeight} `:""}${i.fontFamily||""}`)}),t}function Ewe(e,t){return{toolbar:{minHeight:56,[e.up("xs")]:{"@media (orientation: landscape)":{minHeight:48}},[e.up("sm")]:{minHeight:64}},...t}}function Owe(e){return Math.round(e*1e5)/1e5}const a4={textTransform:"uppercase"},s4='"Roboto", "Helvetica", "Arial", sans-serif';function IX(e,t){const{fontFamily:n=s4,fontSize:r=14,fontWeightLight:o=300,fontWeightRegular:i=400,fontWeightMedium:a=500,fontWeightBold:s=700,htmlFontSize:l=16,allVariants:c,pxToRem:u,...d}=typeof t=="function"?t(e):t,f=r/14,p=u||(v=>`${v/l*f}rem`),m=(v,w,x,S,P)=>({fontFamily:n,fontWeight:v,fontSize:p(w),lineHeight:x,...n===s4?{letterSpacing:`${Owe(S/w)}em`}:{},...P,...c}),g={h1:m(o,96,1.167,-1.5),h2:m(o,60,1.2,-.5),h3:m(i,48,1.167,0),h4:m(i,34,1.235,.25),h5:m(i,24,1.334,0),h6:m(a,20,1.6,.15),subtitle1:m(i,16,1.75,.15),subtitle2:m(a,14,1.57,.1),body1:m(i,16,1.5,.15),body2:m(i,14,1.43,.15),button:m(a,14,1.75,.4,a4),caption:m(i,12,1.66,.4),overline:m(i,12,2.66,1,a4),inherit:{fontFamily:"inherit",fontWeight:"inherit",fontSize:"inherit",lineHeight:"inherit",letterSpacing:"inherit"}};return bo({htmlFontSize:l,pxToRem:p,fontFamily:n,fontSize:r,fontWeightLight:o,fontWeightRegular:i,fontWeightMedium:a,fontWeightBold:s,...g},d,{clone:!1})}const Iwe=.2,kwe=.14,Mwe=.12;function Dr(...e){return[`${e[0]}px ${e[1]}px ${e[2]}px ${e[3]}px rgba(0,0,0,${Iwe})`,`${e[4]}px ${e[5]}px ${e[6]}px ${e[7]}px rgba(0,0,0,${kwe})`,`${e[8]}px ${e[9]}px ${e[10]}px ${e[11]}px rgba(0,0,0,${Mwe})`].join(",")}const Awe=["none",Dr(0,2,1,-1,0,1,1,0,0,1,3,0),Dr(0,3,1,-2,0,2,2,0,0,1,5,0),Dr(0,3,3,-2,0,3,4,0,0,1,8,0),Dr(0,2,4,-1,0,4,5,0,0,1,10,0),Dr(0,3,5,-1,0,5,8,0,0,1,14,0),Dr(0,3,5,-1,0,6,10,0,0,1,18,0),Dr(0,4,5,-2,0,7,10,1,0,2,16,1),Dr(0,5,5,-3,0,8,10,1,0,3,14,2),Dr(0,5,6,-3,0,9,12,1,0,3,16,2),Dr(0,6,6,-3,0,10,14,1,0,4,18,3),Dr(0,6,7,-4,0,11,15,1,0,4,20,3),Dr(0,7,8,-4,0,12,17,2,0,5,22,4),Dr(0,7,8,-4,0,13,19,2,0,5,24,4),Dr(0,7,9,-4,0,14,21,2,0,5,26,4),Dr(0,8,9,-5,0,15,22,2,0,6,28,5),Dr(0,8,10,-5,0,16,24,2,0,6,30,5),Dr(0,8,11,-5,0,17,26,2,0,6,32,5),Dr(0,9,11,-5,0,18,28,2,0,7,34,6),Dr(0,9,12,-6,0,19,29,2,0,7,36,6),Dr(0,10,13,-6,0,20,31,3,0,8,38,7),Dr(0,10,13,-6,0,21,33,3,0,8,40,7),Dr(0,10,14,-6,0,22,35,3,0,8,42,7),Dr(0,11,14,-7,0,23,36,3,0,9,44,8),Dr(0,11,15,-7,0,24,38,3,0,9,46,8)],$we={easeInOut:"cubic-bezier(0.4, 0, 0.2, 1)",easeOut:"cubic-bezier(0.0, 0, 0.2, 1)",easeIn:"cubic-bezier(0.4, 0, 1, 1)",sharp:"cubic-bezier(0.4, 0, 0.6, 1)"},kX={shortest:150,shorter:200,short:250,standard:300,complex:375,enteringScreen:225,leavingScreen:195};function l4(e){return`${Math.round(e)}ms`}function Rwe(e){if(!e)return 0;const t=e/36;return Math.min(Math.round((4+15*t**.25+t/5)*10),3e3)}function _we(e){const t={...$we,...e.easing},n={...kX,...e.duration};return{getAutoHeightDuration:Rwe,create:(o=["all"],i={})=>{const{duration:a=n.standard,easing:s=t.easeInOut,delay:l=0,...c}=i;return(Array.isArray(o)?o:[o]).map(u=>`${u} ${typeof a=="string"?a:l4(a)} ${s} ${typeof l=="string"?l:l4(l)}`).join(",")},...e,easing:t,duration:n}}const Dwe={mobileStepper:1e3,fab:1050,speedDial:1050,appBar:1100,drawer:1200,modal:1300,snackbar:1400,tooltip:1500};function Nwe(e){return Pc(e)||typeof e>"u"||typeof e=="string"||typeof e=="boolean"||typeof e=="number"||Array.isArray(e)}function MX(e={}){const t={...e};function n(r){const o=Object.entries(r);for(let i=0;ibo(p,m),f),f.unstable_sxConfig={...mS,...c==null?void 0:c.unstable_sxConfig},f.unstable_sx=function(m){return Tf({sx:m,theme:this})},f.toRuntimeSource=MX,f}function e2(e){let t;return e<1?t=5.11916*e**2:t=4.5*Math.log(e+1)+2,Math.round(t*10)/1e3}const Lwe=[...Array(25)].map((e,t)=>{if(t===0)return"none";const n=e2(t);return`linear-gradient(rgba(255 255 255 / ${n}), rgba(255 255 255 / ${n}))`});function AX(e){return{inputPlaceholder:e==="dark"?.5:.42,inputUnderline:e==="dark"?.7:.42,switchTrackDisabled:e==="dark"?.2:.12,switchTrack:e==="dark"?.3:.38}}function $X(e){return e==="dark"?Lwe:[]}function Fwe(e){const{palette:t={mode:"light"},opacity:n,overlays:r,...o}=e,i=jL(t);return{palette:i,opacity:{...AX(i.mode),...n},overlays:r||$X(i.mode),...o}}function jwe(e){var t;return!!e[0].match(/(cssVarPrefix|colorSchemeSelector|rootSelector|typography|mixins|breakpoints|direction|transitions)/)||!!e[0].match(/sxConfig$/)||e[0]==="palette"&&!!((t=e[1])!=null&&t.match(/(mode|contrastThreshold|tonalOffset)/))}const Bwe=e=>[...[...Array(25)].map((t,n)=>`--${e?`${e}-`:""}overlays-${n}`),`--${e?`${e}-`:""}palette-AppBar-darkBg`,`--${e?`${e}-`:""}palette-AppBar-darkColor`],zwe=e=>(t,n)=>{const r=e.rootSelector||":root",o=e.colorSchemeSelector;let i=o;if(o==="class"&&(i=".%s"),o==="data"&&(i="[data-%s]"),o!=null&&o.startsWith("data-")&&!o.includes("%s")&&(i=`[${o}="%s"]`),e.defaultColorScheme===t){if(t==="dark"){const a={};return Bwe(e.cssVarPrefix).forEach(s=>{a[s]=n[s],delete n[s]}),i==="media"?{[r]:n,"@media (prefers-color-scheme: dark)":{[r]:a}}:i?{[i.replace("%s",t)]:a,[`${r}, ${i.replace("%s",t)}`]:n}:{[r]:{...n,...a}}}if(i&&i!=="media")return`${r}, ${i.replace("%s",String(t))}`}else if(t){if(i==="media")return{[`@media (prefers-color-scheme: ${String(t)})`]:{[r]:n}};if(i)return i.replace("%s",String(t))}return r};function Vwe(e,t){t.forEach(n=>{e[n]||(e[n]={})})}function Le(e,t,n){!e[t]&&n&&(e[t]=n)}function N0(e){return!e||!e.startsWith("hsl")?e:dX(e)}function fu(e,t){`${t}Channel`in e||(e[`${t}Channel`]=D0(N0(e[t]),`MUI: Can't create \`palette.${t}Channel\` because \`palette.${t}\` is not one of these formats: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color(). +To suppress this warning, you need to explicitly provide the \`palette.${t}Channel\` as a string (in rgb format, for example "12 12 12") or undefined if you want to remove the channel token.`))}function Hwe(e){return typeof e=="number"?`${e}px`:typeof e=="string"||typeof e=="function"||Array.isArray(e)?e:"8px"}const hc=e=>{try{return e()}catch{}},Uwe=(e="mui")=>j0e(e);function HA(e,t,n,r){if(!t)return;t=t===!0?{}:t;const o=r==="dark"?"dark":"light";if(!n){e[r]=Fwe({...t,palette:{mode:o,...t==null?void 0:t.palette}});return}const{palette:i,...a}=ZR({...n,palette:{mode:o,...t==null?void 0:t.palette}});return e[r]={...t,palette:i,opacity:{...AX(o),...t==null?void 0:t.opacity},overlays:(t==null?void 0:t.overlays)||$X(o)},a}function Wwe(e={},...t){const{colorSchemes:n={light:!0},defaultColorScheme:r,disableCssColorScheme:o=!1,cssVarPrefix:i="mui",shouldSkipGeneratingVar:a=jwe,colorSchemeSelector:s=n.light&&n.dark?"media":void 0,rootSelector:l=":root",...c}=e,u=Object.keys(n)[0],d=r||(n.light&&u!=="light"?"light":u),f=Uwe(i),{[d]:p,light:m,dark:g,...v}=n,w={...v};let x=p;if((d==="dark"&&!("dark"in n)||d==="light"&&!("light"in n))&&(x=!0),!x)throw new Error(Bu(21,d));const S=HA(w,x,c,d);m&&!w.light&&HA(w,m,void 0,"light"),g&&!w.dark&&HA(w,g,void 0,"dark");let P={defaultColorScheme:d,...S,cssVarPrefix:i,colorSchemeSelector:s,rootSelector:l,getCssVar:f,colorSchemes:w,font:{...Twe(S.typography),...S.font},spacing:Hwe(c.spacing)};Object.keys(P.colorSchemes).forEach(A=>{const I=P.colorSchemes[A].palette,R=N=>{const L=N.split("-"),j=L[1],_=L[2];return f(N,I[j][_])};if(I.mode==="light"&&(Le(I.common,"background","#fff"),Le(I.common,"onBackground","#000")),I.mode==="dark"&&(Le(I.common,"background","#000"),Le(I.common,"onBackground","#fff")),Vwe(I,["Alert","AppBar","Avatar","Button","Chip","FilledInput","LinearProgress","Skeleton","Slider","SnackbarContent","SpeedDialAction","StepConnector","StepContent","Switch","TableCell","Tooltip"]),I.mode==="light"){Le(I.Alert,"errorColor",fr(I.error.light,.6)),Le(I.Alert,"infoColor",fr(I.info.light,.6)),Le(I.Alert,"successColor",fr(I.success.light,.6)),Le(I.Alert,"warningColor",fr(I.warning.light,.6)),Le(I.Alert,"errorFilledBg",R("palette-error-main")),Le(I.Alert,"infoFilledBg",R("palette-info-main")),Le(I.Alert,"successFilledBg",R("palette-success-main")),Le(I.Alert,"warningFilledBg",R("palette-warning-main")),Le(I.Alert,"errorFilledColor",hc(()=>I.getContrastText(I.error.main))),Le(I.Alert,"infoFilledColor",hc(()=>I.getContrastText(I.info.main))),Le(I.Alert,"successFilledColor",hc(()=>I.getContrastText(I.success.main))),Le(I.Alert,"warningFilledColor",hc(()=>I.getContrastText(I.warning.main))),Le(I.Alert,"errorStandardBg",pr(I.error.light,.9)),Le(I.Alert,"infoStandardBg",pr(I.info.light,.9)),Le(I.Alert,"successStandardBg",pr(I.success.light,.9)),Le(I.Alert,"warningStandardBg",pr(I.warning.light,.9)),Le(I.Alert,"errorIconColor",R("palette-error-main")),Le(I.Alert,"infoIconColor",R("palette-info-main")),Le(I.Alert,"successIconColor",R("palette-success-main")),Le(I.Alert,"warningIconColor",R("palette-warning-main")),Le(I.AppBar,"defaultBg",R("palette-grey-100")),Le(I.Avatar,"defaultBg",R("palette-grey-400")),Le(I.Button,"inheritContainedBg",R("palette-grey-300")),Le(I.Button,"inheritContainedHoverBg",R("palette-grey-A100")),Le(I.Chip,"defaultBorder",R("palette-grey-400")),Le(I.Chip,"defaultAvatarColor",R("palette-grey-700")),Le(I.Chip,"defaultIconColor",R("palette-grey-700")),Le(I.FilledInput,"bg","rgba(0, 0, 0, 0.06)"),Le(I.FilledInput,"hoverBg","rgba(0, 0, 0, 0.09)"),Le(I.FilledInput,"disabledBg","rgba(0, 0, 0, 0.12)"),Le(I.LinearProgress,"primaryBg",pr(I.primary.main,.62)),Le(I.LinearProgress,"secondaryBg",pr(I.secondary.main,.62)),Le(I.LinearProgress,"errorBg",pr(I.error.main,.62)),Le(I.LinearProgress,"infoBg",pr(I.info.main,.62)),Le(I.LinearProgress,"successBg",pr(I.success.main,.62)),Le(I.LinearProgress,"warningBg",pr(I.warning.main,.62)),Le(I.Skeleton,"bg",`rgba(${R("palette-text-primaryChannel")} / 0.11)`),Le(I.Slider,"primaryTrack",pr(I.primary.main,.62)),Le(I.Slider,"secondaryTrack",pr(I.secondary.main,.62)),Le(I.Slider,"errorTrack",pr(I.error.main,.62)),Le(I.Slider,"infoTrack",pr(I.info.main,.62)),Le(I.Slider,"successTrack",pr(I.success.main,.62)),Le(I.Slider,"warningTrack",pr(I.warning.main,.62));const N=fC(I.background.default,.8);Le(I.SnackbarContent,"bg",N),Le(I.SnackbarContent,"color",hc(()=>I.getContrastText(N))),Le(I.SpeedDialAction,"fabHoverBg",fC(I.background.paper,.15)),Le(I.StepConnector,"border",R("palette-grey-400")),Le(I.StepContent,"border",R("palette-grey-400")),Le(I.Switch,"defaultColor",R("palette-common-white")),Le(I.Switch,"defaultDisabledColor",R("palette-grey-100")),Le(I.Switch,"primaryDisabledColor",pr(I.primary.main,.62)),Le(I.Switch,"secondaryDisabledColor",pr(I.secondary.main,.62)),Le(I.Switch,"errorDisabledColor",pr(I.error.main,.62)),Le(I.Switch,"infoDisabledColor",pr(I.info.main,.62)),Le(I.Switch,"successDisabledColor",pr(I.success.main,.62)),Le(I.Switch,"warningDisabledColor",pr(I.warning.main,.62)),Le(I.TableCell,"border",pr(dC(I.divider,1),.88)),Le(I.Tooltip,"bg",dC(I.grey[700],.92))}if(I.mode==="dark"){Le(I.Alert,"errorColor",pr(I.error.light,.6)),Le(I.Alert,"infoColor",pr(I.info.light,.6)),Le(I.Alert,"successColor",pr(I.success.light,.6)),Le(I.Alert,"warningColor",pr(I.warning.light,.6)),Le(I.Alert,"errorFilledBg",R("palette-error-dark")),Le(I.Alert,"infoFilledBg",R("palette-info-dark")),Le(I.Alert,"successFilledBg",R("palette-success-dark")),Le(I.Alert,"warningFilledBg",R("palette-warning-dark")),Le(I.Alert,"errorFilledColor",hc(()=>I.getContrastText(I.error.dark))),Le(I.Alert,"infoFilledColor",hc(()=>I.getContrastText(I.info.dark))),Le(I.Alert,"successFilledColor",hc(()=>I.getContrastText(I.success.dark))),Le(I.Alert,"warningFilledColor",hc(()=>I.getContrastText(I.warning.dark))),Le(I.Alert,"errorStandardBg",fr(I.error.light,.9)),Le(I.Alert,"infoStandardBg",fr(I.info.light,.9)),Le(I.Alert,"successStandardBg",fr(I.success.light,.9)),Le(I.Alert,"warningStandardBg",fr(I.warning.light,.9)),Le(I.Alert,"errorIconColor",R("palette-error-main")),Le(I.Alert,"infoIconColor",R("palette-info-main")),Le(I.Alert,"successIconColor",R("palette-success-main")),Le(I.Alert,"warningIconColor",R("palette-warning-main")),Le(I.AppBar,"defaultBg",R("palette-grey-900")),Le(I.AppBar,"darkBg",R("palette-background-paper")),Le(I.AppBar,"darkColor",R("palette-text-primary")),Le(I.Avatar,"defaultBg",R("palette-grey-600")),Le(I.Button,"inheritContainedBg",R("palette-grey-800")),Le(I.Button,"inheritContainedHoverBg",R("palette-grey-700")),Le(I.Chip,"defaultBorder",R("palette-grey-700")),Le(I.Chip,"defaultAvatarColor",R("palette-grey-300")),Le(I.Chip,"defaultIconColor",R("palette-grey-300")),Le(I.FilledInput,"bg","rgba(255, 255, 255, 0.09)"),Le(I.FilledInput,"hoverBg","rgba(255, 255, 255, 0.13)"),Le(I.FilledInput,"disabledBg","rgba(255, 255, 255, 0.12)"),Le(I.LinearProgress,"primaryBg",fr(I.primary.main,.5)),Le(I.LinearProgress,"secondaryBg",fr(I.secondary.main,.5)),Le(I.LinearProgress,"errorBg",fr(I.error.main,.5)),Le(I.LinearProgress,"infoBg",fr(I.info.main,.5)),Le(I.LinearProgress,"successBg",fr(I.success.main,.5)),Le(I.LinearProgress,"warningBg",fr(I.warning.main,.5)),Le(I.Skeleton,"bg",`rgba(${R("palette-text-primaryChannel")} / 0.13)`),Le(I.Slider,"primaryTrack",fr(I.primary.main,.5)),Le(I.Slider,"secondaryTrack",fr(I.secondary.main,.5)),Le(I.Slider,"errorTrack",fr(I.error.main,.5)),Le(I.Slider,"infoTrack",fr(I.info.main,.5)),Le(I.Slider,"successTrack",fr(I.success.main,.5)),Le(I.Slider,"warningTrack",fr(I.warning.main,.5));const N=fC(I.background.default,.98);Le(I.SnackbarContent,"bg",N),Le(I.SnackbarContent,"color",hc(()=>I.getContrastText(N))),Le(I.SpeedDialAction,"fabHoverBg",fC(I.background.paper,.15)),Le(I.StepConnector,"border",R("palette-grey-600")),Le(I.StepContent,"border",R("palette-grey-600")),Le(I.Switch,"defaultColor",R("palette-grey-300")),Le(I.Switch,"defaultDisabledColor",R("palette-grey-600")),Le(I.Switch,"primaryDisabledColor",fr(I.primary.main,.55)),Le(I.Switch,"secondaryDisabledColor",fr(I.secondary.main,.55)),Le(I.Switch,"errorDisabledColor",fr(I.error.main,.55)),Le(I.Switch,"infoDisabledColor",fr(I.info.main,.55)),Le(I.Switch,"successDisabledColor",fr(I.success.main,.55)),Le(I.Switch,"warningDisabledColor",fr(I.warning.main,.55)),Le(I.TableCell,"border",fr(dC(I.divider,1),.68)),Le(I.Tooltip,"bg",dC(I.grey[700],.92))}fu(I.background,"default"),fu(I.background,"paper"),fu(I.common,"background"),fu(I.common,"onBackground"),fu(I,"divider"),Object.keys(I).forEach(N=>{const L=I[N];L&&typeof L=="object"&&(L.main&&Le(I[N],"mainChannel",D0(N0(L.main))),L.light&&Le(I[N],"lightChannel",D0(N0(L.light))),L.dark&&Le(I[N],"darkChannel",D0(N0(L.dark))),L.contrastText&&Le(I[N],"contrastTextChannel",D0(N0(L.contrastText))),N==="text"&&(fu(I[N],"primary"),fu(I[N],"secondary")),N==="action"&&(L.active&&fu(I[N],"active"),L.selected&&fu(I[N],"selected")))})}),P=t.reduce((A,I)=>bo(A,I),P);const T={prefix:i,disableCssColorScheme:o,shouldSkipGeneratingVar:a,getSelector:zwe(P)},{vars:E,generateThemeVars:O,generateStyleSheets:k}=V0e(P,T);return P.vars=E,Object.entries(P.colorSchemes[P.defaultColorScheme]).forEach(([A,I])=>{P[A]=I}),P.generateThemeVars=O,P.generateStyleSheets=k,P.generateSpacing=function(){return tX(c.spacing,qO(this))},P.getColorSchemeSelector=H0e(s),P.spacing=P.generateSpacing(),P.shouldSkipGeneratingVar=a,P.unstable_sxConfig={...mS,...c==null?void 0:c.unstable_sxConfig},P.unstable_sx=function(I){return Tf({sx:I,theme:this})},P.toRuntimeSource=MX,P}function c4(e,t,n){e.colorSchemes&&n&&(e.colorSchemes[t]={...n!==!0&&n,palette:jL({...n===!0?{}:n.palette,mode:t})})}function wS(e={},...t){const{palette:n,cssVariables:r=!1,colorSchemes:o=n?void 0:{light:!0},defaultColorScheme:i=n==null?void 0:n.mode,...a}=e,s=i||"light",l=o==null?void 0:o[s],c={...o,...n?{[s]:{...typeof l!="boolean"&&l,palette:n}}:void 0};if(r===!1){if(!("colorSchemes"in e))return ZR(e,...t);let u=n;"palette"in e||c[s]&&(c[s]!==!0?u=c[s].palette:s==="dark"&&(u={mode:"dark"}));const d=ZR({...e,palette:u},...t);return d.defaultColorScheme=s,d.colorSchemes=c,d.palette.mode==="light"&&(d.colorSchemes.light={...c.light!==!0&&c.light,palette:d.palette},c4(d,"dark",c.dark)),d.palette.mode==="dark"&&(d.colorSchemes.dark={...c.dark!==!0&&c.dark,palette:d.palette},c4(d,"light",c.light)),d}return!n&&!("light"in c)&&s==="light"&&(c.light=!0),Wwe({...a,colorSchemes:c,defaultColorScheme:s,...typeof r!="boolean"&&r},...t)}function Gwe(e){return String(e).match(/[\d.\-+]*\s*(.*)/)[1]||""}function qwe(e){return parseFloat(e)}const pI=wS();function Ei(){const e=gS(pI);return e[Kl]||e}function Zt({props:e,name:t}){return uI({props:e,name:t,defaultTheme:pI,themeId:Kl})}function RX(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}const ci=e=>RX(e)&&e!=="classes",oe=lX({themeId:Kl,defaultTheme:pI,rootShouldForwardProp:ci});function u4({theme:e,...t}){const n=Kl in e?e[Kl]:void 0;return $.jsx(PX,{...t,themeId:n?Kl:void 0,theme:n||e})}const pC={attribute:"data-mui-color-scheme",colorSchemeStorageKey:"mui-color-scheme",defaultLightColorScheme:"light",defaultDarkColorScheme:"dark",modeStorageKey:"mui-mode"},{CssVarsProvider:Kwe,useColorScheme:zRt,getInitColorSchemeScript:VRt}=F0e({themeId:Kl,theme:()=>wS({cssVariables:!0}),colorSchemeStorageKey:pC.colorSchemeStorageKey,modeStorageKey:pC.modeStorageKey,defaultColorScheme:{light:pC.defaultLightColorScheme,dark:pC.defaultDarkColorScheme},resolveTheme:e=>{const t={...e,typography:IX(e.palette,e.typography)};return t.unstable_sx=function(r){return Tf({sx:r,theme:this})},t}}),Ywe=Kwe;function Ff({theme:e,...t}){return typeof e=="function"?$.jsx(u4,{theme:e,...t}):"colorSchemes"in(Kl in e?e[Kl]:e)?$.jsx(Ywe,{theme:e,...t}):$.jsx(u4,{theme:e,...t})}var Dv=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},xh=typeof window>"u"||"Deno"in globalThis;function Fs(){}function Xwe(e,t){return typeof e=="function"?e(t):e}function t2(e){return typeof e=="number"&&e>=0&&e!==1/0}function _X(e,t){return Math.max(e+(t||0)-Date.now(),0)}function Yg(e,t){return typeof e=="function"?e(t):e}function Bl(e,t){return typeof e=="function"?e(t):e}function d4(e,t){const{type:n="all",exact:r,fetchStatus:o,predicate:i,queryKey:a,stale:s}=e;if(a){if(r){if(t.queryHash!==BL(a,t.options))return!1}else if(!Fw(t.queryKey,a))return!1}if(n!=="all"){const l=t.isActive();if(n==="active"&&!l||n==="inactive"&&l)return!1}return!(typeof s=="boolean"&&t.isStale()!==s||o&&o!==t.state.fetchStatus||i&&!i(t))}function f4(e,t){const{exact:n,status:r,predicate:o,mutationKey:i}=e;if(i){if(!t.options.mutationKey)return!1;if(n){if(Sh(t.options.mutationKey)!==Sh(i))return!1}else if(!Fw(t.options.mutationKey,i))return!1}return!(r&&t.state.status!==r||o&&!o(t))}function BL(e,t){return((t==null?void 0:t.queryKeyHashFn)||Sh)(e)}function Sh(e){return JSON.stringify(e,(t,n)=>n2(n)?Object.keys(n).sort().reduce((r,o)=>(r[o]=n[o],r),{}):n)}function Fw(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?!Object.keys(t).some(n=>!Fw(e[n],t[n])):!1}function DX(e,t){if(e===t)return e;const n=p4(e)&&p4(t);if(n||n2(e)&&n2(t)){const r=n?e:Object.keys(e),o=r.length,i=n?t:Object.keys(t),a=i.length,s=n?[]:{};let l=0;for(let c=0;c{setTimeout(t,e)})}function r2(e,t,n){return typeof n.structuralSharing=="function"?n.structuralSharing(e,t):n.structuralSharing!==!1?DX(e,t):t}function Jwe(e,t,n=0){const r=[...e,t];return n&&r.length>n?r.slice(1):r}function Zwe(e,t,n=0){const r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var zL=Symbol();function NX(e,t){return!e.queryFn&&(t!=null&&t.initialPromise)?()=>t.initialPromise:!e.queryFn||e.queryFn===zL?()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}var Zp,Wd,yy,nY,exe=(nY=class extends Dv{constructor(){super();Ft(this,Zp);Ft(this,Wd);Ft(this,yy);vt(this,yy,t=>{if(!xh&&window.addEventListener){const n=()=>t();return window.addEventListener("visibilitychange",n,!1),()=>{window.removeEventListener("visibilitychange",n)}}})}onSubscribe(){be(this,Wd)||this.setEventListener(be(this,yy))}onUnsubscribe(){var t;this.hasListeners()||((t=be(this,Wd))==null||t.call(this),vt(this,Wd,void 0))}setEventListener(t){var n;vt(this,yy,t),(n=be(this,Wd))==null||n.call(this),vt(this,Wd,t(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()}))}setFocused(t){be(this,Zp)!==t&&(vt(this,Zp,t),this.onFocus())}onFocus(){const t=this.isFocused();this.listeners.forEach(n=>{n(t)})}isFocused(){var t;return typeof be(this,Zp)=="boolean"?be(this,Zp):((t=globalThis.document)==null?void 0:t.visibilityState)!=="hidden"}},Zp=new WeakMap,Wd=new WeakMap,yy=new WeakMap,nY),VL=new exe,vy,Gd,by,rY,txe=(rY=class extends Dv{constructor(){super();Ft(this,vy,!0);Ft(this,Gd);Ft(this,by);vt(this,by,t=>{if(!xh&&window.addEventListener){const n=()=>t(!0),r=()=>t(!1);return window.addEventListener("online",n,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",n),window.removeEventListener("offline",r)}}})}onSubscribe(){be(this,Gd)||this.setEventListener(be(this,by))}onUnsubscribe(){var t;this.hasListeners()||((t=be(this,Gd))==null||t.call(this),vt(this,Gd,void 0))}setEventListener(t){var n;vt(this,by,t),(n=be(this,Gd))==null||n.call(this),vt(this,Gd,t(this.setOnline.bind(this)))}setOnline(t){be(this,vy)!==t&&(vt(this,vy,t),this.listeners.forEach(r=>{r(t)}))}isOnline(){return be(this,vy)}},vy=new WeakMap,Gd=new WeakMap,by=new WeakMap,rY),fT=new txe;function o2(){let e,t;const n=new Promise((o,i)=>{e=o,t=i});n.status="pending",n.catch(()=>{});function r(o){Object.assign(n,o),delete n.resolve,delete n.reject}return n.resolve=o=>{r({status:"fulfilled",value:o}),e(o)},n.reject=o=>{r({status:"rejected",reason:o}),t(o)},n}function nxe(e){return Math.min(1e3*2**e,3e4)}function LX(e){return(e??"online")==="online"?fT.isOnline():!0}var FX=class extends Error{constructor(e){super("CancelledError"),this.revert=e==null?void 0:e.revert,this.silent=e==null?void 0:e.silent}};function UA(e){return e instanceof FX}function jX(e){let t=!1,n=0,r=!1,o;const i=o2(),a=g=>{var v;r||(f(new FX(g)),(v=e.abort)==null||v.call(e))},s=()=>{t=!0},l=()=>{t=!1},c=()=>VL.isFocused()&&(e.networkMode==="always"||fT.isOnline())&&e.canRun(),u=()=>LX(e.networkMode)&&e.canRun(),d=g=>{var v;r||(r=!0,(v=e.onSuccess)==null||v.call(e,g),o==null||o(),i.resolve(g))},f=g=>{var v;r||(r=!0,(v=e.onError)==null||v.call(e,g),o==null||o(),i.reject(g))},p=()=>new Promise(g=>{var v;o=w=>{(r||c())&&g(w)},(v=e.onPause)==null||v.call(e)}).then(()=>{var g;o=void 0,r||(g=e.onContinue)==null||g.call(e)}),m=()=>{if(r)return;let g;const v=n===0?e.initialPromise:void 0;try{g=v??e.fn()}catch(w){g=Promise.reject(w)}Promise.resolve(g).then(d).catch(w=>{var E;if(r)return;const x=e.retry??(xh?0:3),S=e.retryDelay??nxe,P=typeof S=="function"?S(n,w):S,T=x===!0||typeof x=="number"&&nc()?void 0:p()).then(()=>{t?f(w):m()})})};return{promise:i,cancel:a,continue:()=>(o==null||o(),i),cancelRetry:s,continueRetry:l,canStart:u,start:()=>(u()?m():p().then(m),i)}}function rxe(){let e=[],t=0,n=s=>{s()},r=s=>{s()},o=s=>setTimeout(s,0);const i=s=>{t?e.push(s):o(()=>{n(s)})},a=()=>{const s=e;e=[],s.length&&o(()=>{r(()=>{s.forEach(l=>{n(l)})})})};return{batch:s=>{let l;t++;try{l=s()}finally{t--,t||a()}return l},batchCalls:s=>(...l)=>{i(()=>{s(...l)})},schedule:i,setNotifyFunction:s=>{n=s},setBatchNotifyFunction:s=>{r=s},setScheduler:s=>{o=s}}}var Ao=rxe(),eh,oY,BX=(oY=class{constructor(){Ft(this,eh)}destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),t2(this.gcTime)&&vt(this,eh,setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(xh?1/0:5*60*1e3))}clearGcTimeout(){be(this,eh)&&(clearTimeout(be(this,eh)),vt(this,eh,void 0))}},eh=new WeakMap,oY),wy,xy,Ls,mi,aS,th,Dl,mu,iY,oxe=(iY=class extends BX{constructor(t){super();Ft(this,Dl);Ft(this,wy);Ft(this,xy);Ft(this,Ls);Ft(this,mi);Ft(this,aS);Ft(this,th);vt(this,th,!1),vt(this,aS,t.defaultOptions),this.setOptions(t.options),this.observers=[],vt(this,Ls,t.cache),this.queryKey=t.queryKey,this.queryHash=t.queryHash,vt(this,wy,ixe(this.options)),this.state=t.state??be(this,wy),this.scheduleGc()}get meta(){return this.options.meta}get promise(){var t;return(t=be(this,mi))==null?void 0:t.promise}setOptions(t){this.options={...be(this,aS),...t},this.updateGcTime(this.options.gcTime)}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&be(this,Ls).remove(this)}setData(t,n){const r=r2(this.state.data,t,this.options);return fn(this,Dl,mu).call(this,{data:r,type:"success",dataUpdatedAt:n==null?void 0:n.updatedAt,manual:n==null?void 0:n.manual}),r}setState(t,n){fn(this,Dl,mu).call(this,{type:"setState",state:t,setStateOptions:n})}cancel(t){var r,o;const n=(r=be(this,mi))==null?void 0:r.promise;return(o=be(this,mi))==null||o.cancel(t),n?n.then(Fs).catch(Fs):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(be(this,wy))}isActive(){return this.observers.some(t=>Bl(t.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===zL||this.state.dataUpdateCount+this.state.errorUpdateCount===0}isStale(){return this.state.isInvalidated?!0:this.getObserversCount()>0?this.observers.some(t=>t.getCurrentResult().isStale):this.state.data===void 0}isStaleByTime(t=0){return this.state.isInvalidated||this.state.data===void 0||!_X(this.state.dataUpdatedAt,t)}onFocus(){var n;const t=this.observers.find(r=>r.shouldFetchOnWindowFocus());t==null||t.refetch({cancelRefetch:!1}),(n=be(this,mi))==null||n.continue()}onOnline(){var n;const t=this.observers.find(r=>r.shouldFetchOnReconnect());t==null||t.refetch({cancelRefetch:!1}),(n=be(this,mi))==null||n.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),be(this,Ls).notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(n=>n!==t),this.observers.length||(be(this,mi)&&(be(this,th)?be(this,mi).cancel({revert:!0}):be(this,mi).cancelRetry()),this.scheduleGc()),be(this,Ls).notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||fn(this,Dl,mu).call(this,{type:"invalidate"})}fetch(t,n){var l,c,u;if(this.state.fetchStatus!=="idle"){if(this.state.data!==void 0&&(n!=null&&n.cancelRefetch))this.cancel({silent:!0});else if(be(this,mi))return be(this,mi).continueRetry(),be(this,mi).promise}if(t&&this.setOptions(t),!this.options.queryFn){const d=this.observers.find(f=>f.options.queryFn);d&&this.setOptions(d.options)}const r=new AbortController,o=d=>{Object.defineProperty(d,"signal",{enumerable:!0,get:()=>(vt(this,th,!0),r.signal)})},i=()=>{const d=NX(this.options,n),f={queryKey:this.queryKey,meta:this.meta};return o(f),vt(this,th,!1),this.options.persister?this.options.persister(d,f,this):d(f)},a={fetchOptions:n,options:this.options,queryKey:this.queryKey,state:this.state,fetchFn:i};o(a),(l=this.options.behavior)==null||l.onFetch(a,this),vt(this,xy,this.state),(this.state.fetchStatus==="idle"||this.state.fetchMeta!==((c=a.fetchOptions)==null?void 0:c.meta))&&fn(this,Dl,mu).call(this,{type:"fetch",meta:(u=a.fetchOptions)==null?void 0:u.meta});const s=d=>{var f,p,m,g;UA(d)&&d.silent||fn(this,Dl,mu).call(this,{type:"error",error:d}),UA(d)||((p=(f=be(this,Ls).config).onError)==null||p.call(f,d,this),(g=(m=be(this,Ls).config).onSettled)==null||g.call(m,this.state.data,d,this)),this.scheduleGc()};return vt(this,mi,jX({initialPromise:n==null?void 0:n.initialPromise,fn:a.fetchFn,abort:r.abort.bind(r),onSuccess:d=>{var f,p,m,g;if(d===void 0){s(new Error(`${this.queryHash} data is undefined`));return}try{this.setData(d)}catch(v){s(v);return}(p=(f=be(this,Ls).config).onSuccess)==null||p.call(f,d,this),(g=(m=be(this,Ls).config).onSettled)==null||g.call(m,d,this.state.error,this),this.scheduleGc()},onError:s,onFail:(d,f)=>{fn(this,Dl,mu).call(this,{type:"failed",failureCount:d,error:f})},onPause:()=>{fn(this,Dl,mu).call(this,{type:"pause"})},onContinue:()=>{fn(this,Dl,mu).call(this,{type:"continue"})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0})),be(this,mi).start()}},wy=new WeakMap,xy=new WeakMap,Ls=new WeakMap,mi=new WeakMap,aS=new WeakMap,th=new WeakMap,Dl=new WeakSet,mu=function(t){const n=r=>{switch(t.type){case"failed":return{...r,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,...zX(r.data,this.options),fetchMeta:t.meta??null};case"success":return{...r,data:t.data,dataUpdateCount:r.dataUpdateCount+1,dataUpdatedAt:t.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const o=t.error;return UA(o)&&o.revert&&be(this,xy)?{...be(this,xy),fetchStatus:"idle"}:{...r,error:o,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:o,fetchStatus:"idle",status:"error"};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...t.state}}};this.state=n(this.state),Ao.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate()}),be(this,Ls).notify({query:this,type:"updated",action:t})})},iY);function zX(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:LX(t.networkMode)?"fetching":"paused",...e===void 0&&{error:null,status:"pending"}}}function ixe(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"pending",fetchStatus:"idle"}}var vc,aY,axe=(aY=class extends Dv{constructor(t={}){super();Ft(this,vc);this.config=t,vt(this,vc,new Map)}build(t,n,r){const o=n.queryKey,i=n.queryHash??BL(o,n);let a=this.get(i);return a||(a=new oxe({cache:this,queryKey:o,queryHash:i,options:t.defaultQueryOptions(n),state:r,defaultOptions:t.getQueryDefaults(o)}),this.add(a)),a}add(t){be(this,vc).has(t.queryHash)||(be(this,vc).set(t.queryHash,t),this.notify({type:"added",query:t}))}remove(t){const n=be(this,vc).get(t.queryHash);n&&(t.destroy(),n===t&&be(this,vc).delete(t.queryHash),this.notify({type:"removed",query:t}))}clear(){Ao.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}get(t){return be(this,vc).get(t)}getAll(){return[...be(this,vc).values()]}find(t){const n={exact:!0,...t};return this.getAll().find(r=>d4(n,r))}findAll(t={}){const n=this.getAll();return Object.keys(t).length>0?n.filter(r=>d4(t,r)):n}notify(t){Ao.batch(()=>{this.listeners.forEach(n=>{n(t)})})}onFocus(){Ao.batch(()=>{this.getAll().forEach(t=>{t.onFocus()})})}onOnline(){Ao.batch(()=>{this.getAll().forEach(t=>{t.onOnline()})})}},vc=new WeakMap,aY),bc,Di,nh,wc,kd,sY,sxe=(sY=class extends BX{constructor(t){super();Ft(this,wc);Ft(this,bc);Ft(this,Di);Ft(this,nh);this.mutationId=t.mutationId,vt(this,Di,t.mutationCache),vt(this,bc,[]),this.state=t.state||VX(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options=t,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(t){be(this,bc).includes(t)||(be(this,bc).push(t),this.clearGcTimeout(),be(this,Di).notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){vt(this,bc,be(this,bc).filter(n=>n!==t)),this.scheduleGc(),be(this,Di).notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){be(this,bc).length||(this.state.status==="pending"?this.scheduleGc():be(this,Di).remove(this))}continue(){var t;return((t=be(this,nh))==null?void 0:t.continue())??this.execute(this.state.variables)}async execute(t){var o,i,a,s,l,c,u,d,f,p,m,g,v,w,x,S,P,T,E,O;vt(this,nh,jX({fn:()=>this.options.mutationFn?this.options.mutationFn(t):Promise.reject(new Error("No mutationFn found")),onFail:(k,A)=>{fn(this,wc,kd).call(this,{type:"failed",failureCount:k,error:A})},onPause:()=>{fn(this,wc,kd).call(this,{type:"pause"})},onContinue:()=>{fn(this,wc,kd).call(this,{type:"continue"})},retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>be(this,Di).canRun(this)}));const n=this.state.status==="pending",r=!be(this,nh).canStart();try{if(!n){fn(this,wc,kd).call(this,{type:"pending",variables:t,isPaused:r}),await((i=(o=be(this,Di).config).onMutate)==null?void 0:i.call(o,t,this));const A=await((s=(a=this.options).onMutate)==null?void 0:s.call(a,t));A!==this.state.context&&fn(this,wc,kd).call(this,{type:"pending",context:A,variables:t,isPaused:r})}const k=await be(this,nh).start();return await((c=(l=be(this,Di).config).onSuccess)==null?void 0:c.call(l,k,t,this.state.context,this)),await((d=(u=this.options).onSuccess)==null?void 0:d.call(u,k,t,this.state.context)),await((p=(f=be(this,Di).config).onSettled)==null?void 0:p.call(f,k,null,this.state.variables,this.state.context,this)),await((g=(m=this.options).onSettled)==null?void 0:g.call(m,k,null,t,this.state.context)),fn(this,wc,kd).call(this,{type:"success",data:k}),k}catch(k){try{throw await((w=(v=be(this,Di).config).onError)==null?void 0:w.call(v,k,t,this.state.context,this)),await((S=(x=this.options).onError)==null?void 0:S.call(x,k,t,this.state.context)),await((T=(P=be(this,Di).config).onSettled)==null?void 0:T.call(P,void 0,k,this.state.variables,this.state.context,this)),await((O=(E=this.options).onSettled)==null?void 0:O.call(E,void 0,k,t,this.state.context)),k}finally{fn(this,wc,kd).call(this,{type:"error",error:k})}}finally{be(this,Di).runNext(this)}}},bc=new WeakMap,Di=new WeakMap,nh=new WeakMap,wc=new WeakSet,kd=function(t){const n=r=>{switch(t.type){case"failed":return{...r,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"pending":return{...r,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:t.isPaused,status:"pending",variables:t.variables,submittedAt:Date.now()};case"success":return{...r,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:t.error,failureCount:r.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"}}};this.state=n(this.state),Ao.batch(()=>{be(this,bc).forEach(r=>{r.onMutationUpdate(t)}),be(this,Di).notify({mutation:this,type:"updated",action:t})})},sY);function VX(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}var La,sS,lY,lxe=(lY=class extends Dv{constructor(t={}){super();Ft(this,La);Ft(this,sS);this.config=t,vt(this,La,new Map),vt(this,sS,Date.now())}build(t,n,r){const o=new sxe({mutationCache:this,mutationId:++lC(this,sS)._,options:t.defaultMutationOptions(n),state:r});return this.add(o),o}add(t){const n=hC(t),r=be(this,La).get(n)??[];r.push(t),be(this,La).set(n,r),this.notify({type:"added",mutation:t})}remove(t){var r;const n=hC(t);if(be(this,La).has(n)){const o=(r=be(this,La).get(n))==null?void 0:r.filter(i=>i!==t);o&&(o.length===0?be(this,La).delete(n):be(this,La).set(n,o))}this.notify({type:"removed",mutation:t})}canRun(t){var r;const n=(r=be(this,La).get(hC(t)))==null?void 0:r.find(o=>o.state.status==="pending");return!n||n===t}runNext(t){var r;const n=(r=be(this,La).get(hC(t)))==null?void 0:r.find(o=>o!==t&&o.state.isPaused);return(n==null?void 0:n.continue())??Promise.resolve()}clear(){Ao.batch(()=>{this.getAll().forEach(t=>{this.remove(t)})})}getAll(){return[...be(this,La).values()].flat()}find(t){const n={exact:!0,...t};return this.getAll().find(r=>f4(n,r))}findAll(t={}){return this.getAll().filter(n=>f4(t,n))}notify(t){Ao.batch(()=>{this.listeners.forEach(n=>{n(t)})})}resumePausedMutations(){const t=this.getAll().filter(n=>n.state.isPaused);return Ao.batch(()=>Promise.all(t.map(n=>n.continue().catch(Fs))))}},La=new WeakMap,sS=new WeakMap,lY);function hC(e){var t;return((t=e.options.scope)==null?void 0:t.id)??String(e.mutationId)}function m4(e){return{onFetch:(t,n)=>{var u,d,f,p,m;const r=t.options,o=(f=(d=(u=t.fetchOptions)==null?void 0:u.meta)==null?void 0:d.fetchMore)==null?void 0:f.direction,i=((p=t.state.data)==null?void 0:p.pages)||[],a=((m=t.state.data)==null?void 0:m.pageParams)||[];let s={pages:[],pageParams:[]},l=0;const c=async()=>{let g=!1;const v=S=>{Object.defineProperty(S,"signal",{enumerable:!0,get:()=>(t.signal.aborted?g=!0:t.signal.addEventListener("abort",()=>{g=!0}),t.signal)})},w=NX(t.options,t.fetchOptions),x=async(S,P,T)=>{if(g)return Promise.reject();if(P==null&&S.pages.length)return Promise.resolve(S);const E={queryKey:t.queryKey,pageParam:P,direction:T?"backward":"forward",meta:t.options.meta};v(E);const O=await w(E),{maxPages:k}=t.options,A=T?Zwe:Jwe;return{pages:A(S.pages,O,k),pageParams:A(S.pageParams,P,k)}};if(o&&i.length){const S=o==="backward",P=S?cxe:g4,T={pages:i,pageParams:a},E=P(r,T);s=await x(T,E,S)}else{const S=e??i.length;do{const P=l===0?a[0]??r.initialPageParam:g4(r,s);if(l>0&&P==null)break;s=await x(s,P),l++}while(l{var g,v;return(v=(g=t.options).persister)==null?void 0:v.call(g,c,{queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n)}:t.fetchFn=c}}}function g4(e,{pages:t,pageParams:n}){const r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function cxe(e,{pages:t,pageParams:n}){var r;return t.length>0?(r=e.getPreviousPageParam)==null?void 0:r.call(e,t[0],t,n[0],n):void 0}var Zr,qd,Kd,Sy,Cy,Yd,Py,Ty,cY,uxe=(cY=class{constructor(e={}){Ft(this,Zr);Ft(this,qd);Ft(this,Kd);Ft(this,Sy);Ft(this,Cy);Ft(this,Yd);Ft(this,Py);Ft(this,Ty);vt(this,Zr,e.queryCache||new axe),vt(this,qd,e.mutationCache||new lxe),vt(this,Kd,e.defaultOptions||{}),vt(this,Sy,new Map),vt(this,Cy,new Map),vt(this,Yd,0)}mount(){lC(this,Yd)._++,be(this,Yd)===1&&(vt(this,Py,VL.subscribe(async e=>{e&&(await this.resumePausedMutations(),be(this,Zr).onFocus())})),vt(this,Ty,fT.subscribe(async e=>{e&&(await this.resumePausedMutations(),be(this,Zr).onOnline())})))}unmount(){var e,t;lC(this,Yd)._--,be(this,Yd)===0&&((e=be(this,Py))==null||e.call(this),vt(this,Py,void 0),(t=be(this,Ty))==null||t.call(this),vt(this,Ty,void 0))}isFetching(e){return be(this,Zr).findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return be(this,qd).findAll({...e,status:"pending"}).length}getQueryData(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=be(this,Zr).get(t.queryHash))==null?void 0:n.state.data}ensureQueryData(e){const t=this.getQueryData(e.queryKey);if(t===void 0)return this.fetchQuery(e);{const n=this.defaultQueryOptions(e),r=be(this,Zr).build(this,n);return e.revalidateIfStale&&r.isStaleByTime(Yg(n.staleTime,r))&&this.prefetchQuery(n),Promise.resolve(t)}}getQueriesData(e){return be(this,Zr).findAll(e).map(({queryKey:t,state:n})=>{const r=n.data;return[t,r]})}setQueryData(e,t,n){const r=this.defaultQueryOptions({queryKey:e}),o=be(this,Zr).get(r.queryHash),i=o==null?void 0:o.state.data,a=Xwe(t,i);if(a!==void 0)return be(this,Zr).build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return Ao.batch(()=>be(this,Zr).findAll(e).map(({queryKey:r})=>[r,this.setQueryData(r,t,n)]))}getQueryState(e){var n;const t=this.defaultQueryOptions({queryKey:e});return(n=be(this,Zr).get(t.queryHash))==null?void 0:n.state}removeQueries(e){const t=be(this,Zr);Ao.batch(()=>{t.findAll(e).forEach(n=>{t.remove(n)})})}resetQueries(e,t){const n=be(this,Zr),r={type:"active",...e};return Ao.batch(()=>(n.findAll(e).forEach(o=>{o.reset()}),this.refetchQueries(r,t)))}cancelQueries(e={},t={}){const n={revert:!0,...t},r=Ao.batch(()=>be(this,Zr).findAll(e).map(o=>o.cancel(n)));return Promise.all(r).then(Fs).catch(Fs)}invalidateQueries(e={},t={}){return Ao.batch(()=>{if(be(this,Zr).findAll(e).forEach(r=>{r.invalidate()}),e.refetchType==="none")return Promise.resolve();const n={...e,type:e.refetchType??e.type??"active"};return this.refetchQueries(n,t)})}refetchQueries(e={},t){const n={...t,cancelRefetch:(t==null?void 0:t.cancelRefetch)??!0},r=Ao.batch(()=>be(this,Zr).findAll(e).filter(o=>!o.isDisabled()).map(o=>{let i=o.fetch(void 0,n);return n.throwOnError||(i=i.catch(Fs)),o.state.fetchStatus==="paused"?Promise.resolve():i}));return Promise.all(r).then(Fs)}fetchQuery(e){const t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);const n=be(this,Zr).build(this,t);return n.isStaleByTime(Yg(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(Fs).catch(Fs)}fetchInfiniteQuery(e){return e.behavior=m4(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(Fs).catch(Fs)}ensureInfiniteQueryData(e){return e.behavior=m4(e.pages),this.ensureQueryData(e)}resumePausedMutations(){return fT.isOnline()?be(this,qd).resumePausedMutations():Promise.resolve()}getQueryCache(){return be(this,Zr)}getMutationCache(){return be(this,qd)}getDefaultOptions(){return be(this,Kd)}setDefaultOptions(e){vt(this,Kd,e)}setQueryDefaults(e,t){be(this,Sy).set(Sh(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...be(this,Sy).values()];let n={};return t.forEach(r=>{Fw(e,r.queryKey)&&(n={...n,...r.defaultOptions})}),n}setMutationDefaults(e,t){be(this,Cy).set(Sh(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...be(this,Cy).values()];let n={};return t.forEach(r=>{Fw(e,r.mutationKey)&&(n={...n,...r.defaultOptions})}),n}defaultQueryOptions(e){if(e._defaulted)return e;const t={...be(this,Kd).queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=BL(t.queryKey,t)),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!=="always"),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),t.enabled!==!0&&t.queryFn===zL&&(t.enabled=!1),t}defaultMutationOptions(e){return e!=null&&e._defaulted?e:{...be(this,Kd).mutations,...(e==null?void 0:e.mutationKey)&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){be(this,Zr).clear(),be(this,qd).clear()}},Zr=new WeakMap,qd=new WeakMap,Kd=new WeakMap,Sy=new WeakMap,Cy=new WeakMap,Yd=new WeakMap,Py=new WeakMap,Ty=new WeakMap,cY),sa,An,lS,Ni,rh,Ey,Xd,xc,cS,Oy,Iy,oh,ih,Qd,ky,tr,L0,i2,a2,s2,l2,c2,u2,d2,HX,uY,dxe=(uY=class extends Dv{constructor(t,n){super();Ft(this,tr);Ft(this,sa);Ft(this,An);Ft(this,lS);Ft(this,Ni);Ft(this,rh);Ft(this,Ey);Ft(this,Xd);Ft(this,xc);Ft(this,cS);Ft(this,Oy);Ft(this,Iy);Ft(this,oh);Ft(this,ih);Ft(this,Qd);Ft(this,ky,new Set);this.options=n,vt(this,sa,t),vt(this,xc,null),vt(this,Xd,o2()),this.options.experimental_prefetchInRender||be(this,Xd).reject(new Error("experimental_prefetchInRender feature flag is not enabled")),this.bindMethods(),this.setOptions(n)}bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(be(this,An).addObserver(this),y4(be(this,An),this.options)?fn(this,tr,L0).call(this):this.updateResult(),fn(this,tr,l2).call(this))}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return f2(be(this,An),this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return f2(be(this,An),this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,fn(this,tr,c2).call(this),fn(this,tr,u2).call(this),be(this,An).removeObserver(this)}setOptions(t,n){const r=this.options,o=be(this,An);if(this.options=be(this,sa).defaultQueryOptions(t),this.options.enabled!==void 0&&typeof this.options.enabled!="boolean"&&typeof this.options.enabled!="function"&&typeof Bl(this.options.enabled,be(this,An))!="boolean")throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");fn(this,tr,d2).call(this),be(this,An).setOptions(this.options),r._defaulted&&!dT(this.options,r)&&be(this,sa).getQueryCache().notify({type:"observerOptionsUpdated",query:be(this,An),observer:this});const i=this.hasListeners();i&&v4(be(this,An),o,this.options,r)&&fn(this,tr,L0).call(this),this.updateResult(n),i&&(be(this,An)!==o||Bl(this.options.enabled,be(this,An))!==Bl(r.enabled,be(this,An))||Yg(this.options.staleTime,be(this,An))!==Yg(r.staleTime,be(this,An)))&&fn(this,tr,i2).call(this);const a=fn(this,tr,a2).call(this);i&&(be(this,An)!==o||Bl(this.options.enabled,be(this,An))!==Bl(r.enabled,be(this,An))||a!==be(this,Qd))&&fn(this,tr,s2).call(this,a)}getOptimisticResult(t){const n=be(this,sa).getQueryCache().build(be(this,sa),t),r=this.createResult(n,t);return pxe(this,r)&&(vt(this,Ni,r),vt(this,Ey,this.options),vt(this,rh,be(this,An).state)),r}getCurrentResult(){return be(this,Ni)}trackResult(t,n){const r={};return Object.keys(t).forEach(o=>{Object.defineProperty(r,o,{configurable:!1,enumerable:!0,get:()=>(this.trackProp(o),n==null||n(o),t[o])})}),r}trackProp(t){be(this,ky).add(t)}getCurrentQuery(){return be(this,An)}refetch({...t}={}){return this.fetch({...t})}fetchOptimistic(t){const n=be(this,sa).defaultQueryOptions(t),r=be(this,sa).getQueryCache().build(be(this,sa),n);return r.fetch().then(()=>this.createResult(r,n))}fetch(t){return fn(this,tr,L0).call(this,{...t,cancelRefetch:t.cancelRefetch??!0}).then(()=>(this.updateResult(),be(this,Ni)))}createResult(t,n){var k;const r=be(this,An),o=this.options,i=be(this,Ni),a=be(this,rh),s=be(this,Ey),c=t!==r?t.state:be(this,lS),{state:u}=t;let d={...u},f=!1,p;if(n._optimisticResults){const A=this.hasListeners(),I=!A&&y4(t,n),R=A&&v4(t,r,n,o);(I||R)&&(d={...d,...zX(u.data,t.options)}),n._optimisticResults==="isRestoring"&&(d.fetchStatus="idle")}let{error:m,errorUpdatedAt:g,status:v}=d;if(n.select&&d.data!==void 0)if(i&&d.data===(a==null?void 0:a.data)&&n.select===be(this,cS))p=be(this,Oy);else try{vt(this,cS,n.select),p=n.select(d.data),p=r2(i==null?void 0:i.data,p,n),vt(this,Oy,p),vt(this,xc,null)}catch(A){vt(this,xc,A)}else p=d.data;if(n.placeholderData!==void 0&&p===void 0&&v==="pending"){let A;if(i!=null&&i.isPlaceholderData&&n.placeholderData===(s==null?void 0:s.placeholderData))A=i.data;else if(A=typeof n.placeholderData=="function"?n.placeholderData((k=be(this,Iy))==null?void 0:k.state.data,be(this,Iy)):n.placeholderData,n.select&&A!==void 0)try{A=n.select(A),vt(this,xc,null)}catch(I){vt(this,xc,I)}A!==void 0&&(v="success",p=r2(i==null?void 0:i.data,A,n),f=!0)}be(this,xc)&&(m=be(this,xc),p=be(this,Oy),g=Date.now(),v="error");const w=d.fetchStatus==="fetching",x=v==="pending",S=v==="error",P=x&&w,T=p!==void 0,O={status:v,fetchStatus:d.fetchStatus,isPending:x,isSuccess:v==="success",isError:S,isInitialLoading:P,isLoading:P,data:p,dataUpdatedAt:d.dataUpdatedAt,error:m,errorUpdatedAt:g,failureCount:d.fetchFailureCount,failureReason:d.fetchFailureReason,errorUpdateCount:d.errorUpdateCount,isFetched:d.dataUpdateCount>0||d.errorUpdateCount>0,isFetchedAfterMount:d.dataUpdateCount>c.dataUpdateCount||d.errorUpdateCount>c.errorUpdateCount,isFetching:w,isRefetching:w&&!x,isLoadingError:S&&!T,isPaused:d.fetchStatus==="paused",isPlaceholderData:f,isRefetchError:S&&T,isStale:HL(t,n),refetch:this.refetch,promise:be(this,Xd)};if(this.options.experimental_prefetchInRender){const A=N=>{O.status==="error"?N.reject(O.error):O.data!==void 0&&N.resolve(O.data)},I=()=>{const N=vt(this,Xd,O.promise=o2());A(N)},R=be(this,Xd);switch(R.status){case"pending":t.queryHash===r.queryHash&&A(R);break;case"fulfilled":(O.status==="error"||O.data!==R.value)&&I();break;case"rejected":(O.status!=="error"||O.error!==R.reason)&&I();break}}return O}updateResult(t){const n=be(this,Ni),r=this.createResult(be(this,An),this.options);if(vt(this,rh,be(this,An).state),vt(this,Ey,this.options),be(this,rh).data!==void 0&&vt(this,Iy,be(this,An)),dT(r,n))return;vt(this,Ni,r);const o={},i=()=>{if(!n)return!0;const{notifyOnChangeProps:a}=this.options,s=typeof a=="function"?a():a;if(s==="all"||!s&&!be(this,ky).size)return!0;const l=new Set(s??be(this,ky));return this.options.throwOnError&&l.add("error"),Object.keys(be(this,Ni)).some(c=>{const u=c;return be(this,Ni)[u]!==n[u]&&l.has(u)})};(t==null?void 0:t.listeners)!==!1&&i()&&(o.listeners=!0),fn(this,tr,HX).call(this,{...o,...t})}onQueryUpdate(){this.updateResult(),this.hasListeners()&&fn(this,tr,l2).call(this)}},sa=new WeakMap,An=new WeakMap,lS=new WeakMap,Ni=new WeakMap,rh=new WeakMap,Ey=new WeakMap,Xd=new WeakMap,xc=new WeakMap,cS=new WeakMap,Oy=new WeakMap,Iy=new WeakMap,oh=new WeakMap,ih=new WeakMap,Qd=new WeakMap,ky=new WeakMap,tr=new WeakSet,L0=function(t){fn(this,tr,d2).call(this);let n=be(this,An).fetch(this.options,t);return t!=null&&t.throwOnError||(n=n.catch(Fs)),n},i2=function(){fn(this,tr,c2).call(this);const t=Yg(this.options.staleTime,be(this,An));if(xh||be(this,Ni).isStale||!t2(t))return;const r=_X(be(this,Ni).dataUpdatedAt,t)+1;vt(this,oh,setTimeout(()=>{be(this,Ni).isStale||this.updateResult()},r))},a2=function(){return(typeof this.options.refetchInterval=="function"?this.options.refetchInterval(be(this,An)):this.options.refetchInterval)??!1},s2=function(t){fn(this,tr,u2).call(this),vt(this,Qd,t),!(xh||Bl(this.options.enabled,be(this,An))===!1||!t2(be(this,Qd))||be(this,Qd)===0)&&vt(this,ih,setInterval(()=>{(this.options.refetchIntervalInBackground||VL.isFocused())&&fn(this,tr,L0).call(this)},be(this,Qd)))},l2=function(){fn(this,tr,i2).call(this),fn(this,tr,s2).call(this,fn(this,tr,a2).call(this))},c2=function(){be(this,oh)&&(clearTimeout(be(this,oh)),vt(this,oh,void 0))},u2=function(){be(this,ih)&&(clearInterval(be(this,ih)),vt(this,ih,void 0))},d2=function(){const t=be(this,sa).getQueryCache().build(be(this,sa),this.options);if(t===be(this,An))return;const n=be(this,An);vt(this,An,t),vt(this,lS,t.state),this.hasListeners()&&(n==null||n.removeObserver(this),t.addObserver(this))},HX=function(t){Ao.batch(()=>{t.listeners&&this.listeners.forEach(n=>{n(be(this,Ni))}),be(this,sa).getQueryCache().notify({query:be(this,An),type:"observerResultsUpdated"})})},uY);function fxe(e,t){return Bl(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status==="error"&&t.retryOnMount===!1)}function y4(e,t){return fxe(e,t)||e.state.data!==void 0&&f2(e,t,t.refetchOnMount)}function f2(e,t,n){if(Bl(t.enabled,e)!==!1){const r=typeof n=="function"?n(e):n;return r==="always"||r!==!1&&HL(e,t)}return!1}function v4(e,t,n,r){return(e!==t||Bl(r.enabled,e)===!1)&&(!n.suspense||e.state.status!=="error")&&HL(e,n)}function HL(e,t){return Bl(t.enabled,e)!==!1&&e.isStaleByTime(Yg(t.staleTime,e))}function pxe(e,t){return!dT(e.getCurrentResult(),t)}var Jd,Zd,la,Cu,ju,IP,p2,dY,hxe=(dY=class extends Dv{constructor(n,r){super();Ft(this,ju);Ft(this,Jd);Ft(this,Zd);Ft(this,la);Ft(this,Cu);vt(this,Jd,n),this.setOptions(r),this.bindMethods(),fn(this,ju,IP).call(this)}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(n){var o;const r=this.options;this.options=be(this,Jd).defaultMutationOptions(n),dT(this.options,r)||be(this,Jd).getMutationCache().notify({type:"observerOptionsUpdated",mutation:be(this,la),observer:this}),r!=null&&r.mutationKey&&this.options.mutationKey&&Sh(r.mutationKey)!==Sh(this.options.mutationKey)?this.reset():((o=be(this,la))==null?void 0:o.state.status)==="pending"&&be(this,la).setOptions(this.options)}onUnsubscribe(){var n;this.hasListeners()||(n=be(this,la))==null||n.removeObserver(this)}onMutationUpdate(n){fn(this,ju,IP).call(this),fn(this,ju,p2).call(this,n)}getCurrentResult(){return be(this,Zd)}reset(){var n;(n=be(this,la))==null||n.removeObserver(this),vt(this,la,void 0),fn(this,ju,IP).call(this),fn(this,ju,p2).call(this)}mutate(n,r){var o;return vt(this,Cu,r),(o=be(this,la))==null||o.removeObserver(this),vt(this,la,be(this,Jd).getMutationCache().build(be(this,Jd),this.options)),be(this,la).addObserver(this),be(this,la).execute(n)}},Jd=new WeakMap,Zd=new WeakMap,la=new WeakMap,Cu=new WeakMap,ju=new WeakSet,IP=function(){var r;const n=((r=be(this,la))==null?void 0:r.state)??VX();vt(this,Zd,{...n,isPending:n.status==="pending",isSuccess:n.status==="success",isError:n.status==="error",isIdle:n.status==="idle",mutate:this.mutate,reset:this.reset})},p2=function(n){Ao.batch(()=>{var r,o,i,a,s,l,c,u;if(be(this,Cu)&&this.hasListeners()){const d=be(this,Zd).variables,f=be(this,Zd).context;(n==null?void 0:n.type)==="success"?((o=(r=be(this,Cu)).onSuccess)==null||o.call(r,n.data,d,f),(a=(i=be(this,Cu)).onSettled)==null||a.call(i,n.data,null,d,f)):(n==null?void 0:n.type)==="error"&&((l=(s=be(this,Cu)).onError)==null||l.call(s,n.error,d,f),(u=(c=be(this,Cu)).onSettled)==null||u.call(c,void 0,n.error,d,f))}this.listeners.forEach(d=>{d(be(this,Zd))})})},dY),UX=y.createContext(void 0),qr=e=>{const t=y.useContext(UX);if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},Hh=({client:e,children:t})=>(y.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),$.jsx(UX.Provider,{value:e,children:t})),WX=y.createContext(!1),mxe=()=>y.useContext(WX);WX.Provider;function gxe(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var yxe=y.createContext(gxe()),vxe=()=>y.useContext(yxe);function GX(e,t){return typeof e=="function"?e(...t):!!e}function qX(){}var bxe=(e,t)=>{(e.suspense||e.throwOnError)&&(t.isReset()||(e.retryOnMount=!1))},wxe=e=>{y.useEffect(()=>{e.clearReset()},[e])},xxe=({result:e,errorResetBoundary:t,throwOnError:n,query:r})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&GX(n,[e.error,r]),Sxe=e=>{e.suspense&&(e.staleTime===void 0&&(e.staleTime=1e3),typeof e.gcTime=="number"&&(e.gcTime=Math.max(e.gcTime,1e3)))},Cxe=(e,t)=>e.isLoading&&e.isFetching&&!t,Pxe=(e,t)=>(e==null?void 0:e.suspense)&&t.isPending,b4=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function Txe(e,t,n){var u,d,f,p,m;const r=qr(),o=mxe(),i=vxe(),a=r.defaultQueryOptions(e);(d=(u=r.getDefaultOptions().queries)==null?void 0:u._experimental_beforeQuery)==null||d.call(u,a),a._optimisticResults=o?"isRestoring":"optimistic",Sxe(a),bxe(a,i),wxe(i);const s=!r.getQueryCache().get(a.queryHash),[l]=y.useState(()=>new t(r,a)),c=l.getOptimisticResult(a);if(y.useSyncExternalStore(y.useCallback(g=>{const v=o?()=>{}:l.subscribe(Ao.batchCalls(g));return l.updateResult(),v},[l,o]),()=>l.getCurrentResult(),()=>l.getCurrentResult()),y.useEffect(()=>{l.setOptions(a,{listeners:!1})},[a,l]),Pxe(a,c))throw b4(a,l,i);if(xxe({result:c,errorResetBoundary:i,throwOnError:a.throwOnError,query:r.getQueryCache().get(a.queryHash)}))throw c.error;if((p=(f=r.getDefaultOptions().queries)==null?void 0:f._experimental_afterQuery)==null||p.call(f,a,c),a.experimental_prefetchInRender&&!xh&&Cxe(c,o)){const g=s?b4(a,l,i):(m=r.getQueryCache().get(a.queryHash))==null?void 0:m.promise;g==null||g.catch(qX).finally(()=>{l.updateResult()})}return a.notifyOnChangeProps?c:l.trackResult(c)}function Co(e,t){return Txe(e,dxe)}function co(e,t){const n=qr(),[r]=y.useState(()=>new hxe(n,e));y.useEffect(()=>{r.setOptions(e)},[r,e]);const o=y.useSyncExternalStore(y.useCallback(a=>r.subscribe(Ao.batchCalls(a)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),i=y.useCallback((a,s)=>{r.mutate(a,s).catch(qX)},[r]);if(o.error&&GX(r.options.throwOnError,[o.error]))throw o.error;return{...o,mutate:i,mutateAsync:o.mutate}}var Exe=function(){return null};function Oxe(e){return $.jsx(Jbe,{...e,defaultTheme:pI,themeId:Kl})}function Ixe(e){return function(n){return $.jsx(Oxe,{styles:typeof e=="function"?r=>e({theme:r,...n}):e})}}function kxe(){return ZO}const Ze=$0e;function it(e){return A0e(e)}function Mxe(e){return tt("MuiSvgIcon",e)}ot("MuiSvgIcon",["root","colorPrimary","colorSecondary","colorAction","colorError","colorDisabled","fontSizeInherit","fontSizeSmall","fontSizeMedium","fontSizeLarge"]);const Axe=e=>{const{color:t,fontSize:n,classes:r}=e,o={root:["root",t!=="inherit"&&`color${Ce(t)}`,`fontSize${Ce(n)}`]};return rt(o,Mxe,r)},$xe=oe("svg",{name:"MuiSvgIcon",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.color!=="inherit"&&t[`color${Ce(n.color)}`],t[`fontSize${Ce(n.fontSize)}`]]}})(Ze(({theme:e})=>{var t,n,r,o,i,a,s,l,c,u,d,f,p,m;return{userSelect:"none",width:"1em",height:"1em",display:"inline-block",flexShrink:0,transition:(o=(t=e.transitions)==null?void 0:t.create)==null?void 0:o.call(t,"fill",{duration:(r=(n=(e.vars??e).transitions)==null?void 0:n.duration)==null?void 0:r.shorter}),variants:[{props:g=>!g.hasSvgAsChild,style:{fill:"currentColor"}},{props:{fontSize:"inherit"},style:{fontSize:"inherit"}},{props:{fontSize:"small"},style:{fontSize:((a=(i=e.typography)==null?void 0:i.pxToRem)==null?void 0:a.call(i,20))||"1.25rem"}},{props:{fontSize:"medium"},style:{fontSize:((l=(s=e.typography)==null?void 0:s.pxToRem)==null?void 0:l.call(s,24))||"1.5rem"}},{props:{fontSize:"large"},style:{fontSize:((u=(c=e.typography)==null?void 0:c.pxToRem)==null?void 0:u.call(c,35))||"2.1875rem"}},...Object.entries((e.vars??e).palette).filter(([,g])=>g&&g.main).map(([g])=>{var v,w;return{props:{color:g},style:{color:(w=(v=(e.vars??e).palette)==null?void 0:v[g])==null?void 0:w.main}}}),{props:{color:"action"},style:{color:(f=(d=(e.vars??e).palette)==null?void 0:d.action)==null?void 0:f.active}},{props:{color:"disabled"},style:{color:(m=(p=(e.vars??e).palette)==null?void 0:p.action)==null?void 0:m.disabled}},{props:{color:"inherit"},style:{color:void 0}}]}})),jw=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiSvgIcon"}),{children:o,className:i,color:a="inherit",component:s="svg",fontSize:l="medium",htmlColor:c,inheritViewBox:u=!1,titleAccess:d,viewBox:f="0 0 24 24",...p}=r,m=y.isValidElement(o)&&o.type==="svg",g={...r,color:a,component:s,fontSize:l,instanceFontSize:t.fontSize,inheritViewBox:u,viewBox:f,hasSvgAsChild:m},v={};u||(v.viewBox=f);const w=Axe(g);return $.jsxs($xe,{as:s,className:de(w.root,i),focusable:"false",color:c,"aria-hidden":d?void 0:!0,role:d?"img":void 0,ref:n,...v,...p,...m&&o.props,ownerState:g,children:[m?o.props.children:o,d?$.jsx("title",{children:d}):null]})});jw&&(jw.muiName="SvgIcon");function lt(e,t){function n(r,o){return $.jsx(jw,{"data-testid":`${t}Icon`,ref:o,...r,children:e})}return n.muiName=jw.muiName,y.memo(y.forwardRef(n))}function hI(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function h2(e,t){return h2=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},h2(e,t)}function xS(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,h2(e,t)}function Rxe(e,t){return e.classList?!!t&&e.classList.contains(t):(" "+(e.className.baseVal||e.className)+" ").indexOf(" "+t+" ")!==-1}function _xe(e,t){e.classList?e.classList.add(t):Rxe(e,t)||(typeof e.className=="string"?e.className=e.className+" "+t:e.setAttribute("class",(e.className&&e.className.baseVal||"")+" "+t))}function w4(e,t){return e.replace(new RegExp("(^|\\s)"+t+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}function Dxe(e,t){e.classList?e.classList.remove(t):typeof e.className=="string"?e.className=w4(e.className,t):e.setAttribute("class",w4(e.className&&e.className.baseVal||"",t))}var KX={exports:{}},ds={},YX={exports:{}},XX={};/** * @license React * scheduler.production.min.js * @@ -37,7 +78,7 @@ var EZ=Object.defineProperty;var OZ=(e,t,n)=>t in e?EZ(e,t,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */(function(e){function t(_,j){var B=_.length;_.push(j);e:for(;0>>1,H=_[U];if(0>>1;Uo(oe,B))aeo(Z,oe)?(_[U]=Z,_[ae]=B,U=ae):(_[U]=oe,_[J]=B,U=J);else if(aeo(Z,B))_[U]=Z,_[ae]=B,U=ae;else break e}}return j}function o(_,j){var B=_.sortIndex-j.sortIndex;return B!==0?B:_.id-j.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var a=Date,s=a.now();e.unstable_now=function(){return a.now()-s}}var l=[],c=[],u=1,d=null,f=3,p=!1,h=!1,m=!1,v=typeof setTimeout=="function"?setTimeout:null,b=typeof clearTimeout=="function"?clearTimeout:null,y=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function w(_){for(var j=n(c);j!==null;){if(j.callback===null)r(c);else if(j.startTime<=_)r(c),j.sortIndex=j.expirationTime,t(l,j);else break;j=n(c)}}function C(_){if(m=!1,w(_),!h)if(n(l)!==null)h=!0,A(O);else{var j=n(c);j!==null&&F(C,j.startTime-_)}}function O(_,j){h=!1,m&&(m=!1,b(T),T=-1),p=!0;var B=f;try{for(w(j),d=n(l);d!==null&&(!(d.expirationTime>j)||_&&!D());){var U=d.callback;if(typeof U=="function"){d.callback=null,f=d.priorityLevel;var H=U(d.expirationTime<=j);j=e.unstable_now(),typeof H=="function"?d.callback=H:d===n(l)&&r(l),w(j)}else r(l);d=n(l)}if(d!==null)var K=!0;else{var J=n(c);J!==null&&F(C,J.startTime-j),K=!1}return K}finally{d=null,f=B,p=!1}}var P=!1,E=null,T=-1,$=5,M=-1;function D(){return!(e.unstable_now()-M<$)}function L(){if(E!==null){var _=e.unstable_now();M=_;var j=!0;try{j=E(!0,_)}finally{j?N():(P=!1,E=null)}}else P=!1}var N;if(typeof y=="function")N=function(){y(L)};else if(typeof MessageChannel<"u"){var R=new MessageChannel,I=R.port2;R.port1.onmessage=L,N=function(){I.postMessage(null)}}else N=function(){v(L,0)};function A(_){E=_,P||(P=!0,N())}function F(_,j){T=v(function(){_(e.unstable_now())},j)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(_){_.callback=null},e.unstable_continueExecution=function(){h||p||(h=!0,A(O))},e.unstable_forceFrameRate=function(_){0>_||125<_?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):$=0<_?Math.floor(1e3/_):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_getFirstCallbackNode=function(){return n(l)},e.unstable_next=function(_){switch(f){case 1:case 2:case 3:var j=3;break;default:j=f}var B=f;f=j;try{return _()}finally{f=B}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(_,j){switch(_){case 1:case 2:case 3:case 4:case 5:break;default:_=3}var B=f;f=_;try{return j()}finally{f=B}},e.unstable_scheduleCallback=function(_,j,B){var U=e.unstable_now();switch(typeof B=="object"&&B!==null?(B=B.delay,B=typeof B=="number"&&0U?(_.sortIndex=B,t(c,_),n(l)===null&&_===n(c)&&(m?(b(T),T=-1):m=!0,F(C,B-U))):(_.sortIndex=H,t(l,_),h||p||(h=!0,A(O))),_},e.unstable_shouldYield=D,e.unstable_wrapCallback=function(_){var j=f;return function(){var B=f;f=j;try{return _.apply(this,arguments)}finally{f=B}}}})(EU);PU.exports=EU;var Zoe=PU.exports;/** + */(function(e){function t(F,H){var U=F.length;F.push(H);e:for(;0>>1,X=F[q];if(0>>1;qo(K,U))teo(pe,K)?(F[q]=pe,F[te]=U,q=te):(F[q]=K,F[Z]=U,q=Z);else if(teo(pe,U))F[q]=pe,F[te]=U,q=te;else break e}}return H}function o(F,H){var U=F.sortIndex-H.sortIndex;return U!==0?U:F.id-H.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var a=Date,s=a.now();e.unstable_now=function(){return a.now()-s}}var l=[],c=[],u=1,d=null,f=3,p=!1,m=!1,g=!1,v=typeof setTimeout=="function"?setTimeout:null,w=typeof clearTimeout=="function"?clearTimeout:null,x=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function S(F){for(var H=n(c);H!==null;){if(H.callback===null)r(c);else if(H.startTime<=F)r(c),H.sortIndex=H.expirationTime,t(l,H);else break;H=n(c)}}function P(F){if(g=!1,S(F),!m)if(n(l)!==null)m=!0,D(T);else{var H=n(c);H!==null&&z(P,H.startTime-F)}}function T(F,H){m=!1,g&&(g=!1,w(k),k=-1),p=!0;var U=f;try{for(S(H),d=n(l);d!==null&&(!(d.expirationTime>H)||F&&!R());){var q=d.callback;if(typeof q=="function"){d.callback=null,f=d.priorityLevel;var X=q(d.expirationTime<=H);H=e.unstable_now(),typeof X=="function"?d.callback=X:d===n(l)&&r(l),S(H)}else r(l);d=n(l)}if(d!==null)var ae=!0;else{var Z=n(c);Z!==null&&z(P,Z.startTime-H),ae=!1}return ae}finally{d=null,f=U,p=!1}}var E=!1,O=null,k=-1,A=5,I=-1;function R(){return!(e.unstable_now()-IF||125q?(F.sortIndex=U,t(c,F),n(l)===null&&F===n(c)&&(g?(w(k),k=-1):g=!0,z(P,U-q))):(F.sortIndex=X,t(l,F),m||p||(m=!0,D(T))),F},e.unstable_shouldYield=R,e.unstable_wrapCallback=function(F){var H=f;return function(){var U=f;f=H;try{return F.apply(this,arguments)}finally{f=U}}}})(XX);YX.exports=XX;var Nxe=YX.exports;/** * @license React * react-dom.production.min.js * @@ -45,30 +86,14 @@ var EZ=Object.defineProperty;var OZ=(e,t,n)=>t in e?EZ(e,t,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var eie=g,li=Zoe;function De(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),$O=Object.prototype.hasOwnProperty,tie=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,jD={},FD={};function nie(e){return $O.call(FD,e)?!0:$O.call(jD,e)?!1:tie.test(e)?FD[e]=!0:(jD[e]=!0,!1)}function rie(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function oie(e,t,n,r){if(t===null||typeof t>"u"||rie(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function vo(e,t,n,r,o,i,a){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=a}var Lr={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){Lr[e]=new vo(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];Lr[t]=new vo(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){Lr[e]=new vo(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Lr[e]=new vo(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){Lr[e]=new vo(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){Lr[e]=new vo(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){Lr[e]=new vo(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){Lr[e]=new vo(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){Lr[e]=new vo(e,5,!1,e.toLowerCase(),null,!1,!1)});var tM=/[\-:]([a-z])/g;function nM(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(tM,nM);Lr[t]=new vo(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(tM,nM);Lr[t]=new vo(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(tM,nM);Lr[t]=new vo(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){Lr[e]=new vo(e,1,!1,e.toLowerCase(),null,!1,!1)});Lr.xlinkHref=new vo("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){Lr[e]=new vo(e,1,!1,e.toLowerCase(),null,!0,!0)});function rM(e,t,n,r){var o=Lr.hasOwnProperty(t)?Lr[t]:null;(o!==null?o.type!==0:r||!(2"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),m2=Object.prototype.hasOwnProperty,Fxe=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,x4={},S4={};function jxe(e){return m2.call(S4,e)?!0:m2.call(x4,e)?!1:Fxe.test(e)?S4[e]=!0:(x4[e]=!0,!1)}function Bxe(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function zxe(e,t,n,r){if(t===null||typeof t>"u"||Bxe(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function ea(e,t,n,r,o,i,a){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=a}var si={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){si[e]=new ea(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];si[t]=new ea(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){si[e]=new ea(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){si[e]=new ea(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){si[e]=new ea(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){si[e]=new ea(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){si[e]=new ea(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){si[e]=new ea(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){si[e]=new ea(e,5,!1,e.toLowerCase(),null,!1,!1)});var UL=/[\-:]([a-z])/g;function WL(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(UL,WL);si[t]=new ea(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(UL,WL);si[t]=new ea(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(UL,WL);si[t]=new ea(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){si[e]=new ea(e,1,!1,e.toLowerCase(),null,!1,!1)});si.xlinkHref=new ea("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){si[e]=new ea(e,1,!1,e.toLowerCase(),null,!0,!0)});function GL(e,t,n,r){var o=si.hasOwnProperty(t)?si[t]:null;(o!==null?o.type!==0:r||!(2s||o[a]!==i[s]){var l=` -`+o[a].replace(" at new "," at ");return e.displayName&&l.includes("")&&(l=l.replace("",e.displayName)),l}while(1<=a&&0<=s);break}}}finally{CP=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Um(e):""}function iie(e){switch(e.tag){case 5:return Um(e.type);case 16:return Um("Lazy");case 13:return Um("Suspense");case 19:return Um("SuspenseList");case 0:case 2:case 15:return e=SP(e.type,!1),e;case 11:return e=SP(e.type.render,!1),e;case 1:return e=SP(e.type,!0),e;default:return""}}function _O(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case bf:return"Fragment";case yf:return"Portal";case MO:return"Profiler";case oM:return"StrictMode";case AO:return"Suspense";case RO:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case kU:return(e.displayName||"Context")+".Consumer";case TU:return(e._context.displayName||"Context")+".Provider";case iM:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case aM:return t=e.displayName||null,t!==null?t:_O(e.type)||"Memo";case Kl:t=e._payload,e=e._init;try{return _O(e(t))}catch{}}return null}function aie(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return _O(t);case 8:return t===oM?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Oc(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function $U(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function sie(e){var t=$U(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var o=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(a){r=""+a,i.call(this,a)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(a){r=""+a},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function wb(e){e._valueTracker||(e._valueTracker=sie(e))}function MU(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=$U(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function fx(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function DO(e,t){var n=t.checked;return Fn({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function zD(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Oc(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function AU(e,t){t=t.checked,t!=null&&rM(e,"checked",t,!1)}function NO(e,t){AU(e,t);var n=Oc(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?LO(e,t.type,n):t.hasOwnProperty("defaultValue")&&LO(e,t.type,Oc(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function VD(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function LO(e,t,n){(t!=="number"||fx(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Wm=Array.isArray;function Gf(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o"+t.valueOf().toString()+"",t=Cb.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Kg(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var sg={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},lie=["Webkit","ms","Moz","O"];Object.keys(sg).forEach(function(e){lie.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),sg[t]=sg[e]})});function NU(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||sg.hasOwnProperty(e)&&sg[e]?(""+t).trim():t+"px"}function LU(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,o=NU(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,o):e[n]=o}}var cie=Fn({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function BO(e,t){if(t){if(cie[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(De(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(De(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(De(61))}if(t.style!=null&&typeof t.style!="object")throw Error(De(62))}}function zO(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var VO=null;function sM(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var HO=null,qf=null,Kf=null;function WD(e){if(e=Sy(e)){if(typeof HO!="function")throw Error(De(280));var t=e.stateNode;t&&(t=lC(t),HO(e.stateNode,e.type,t))}}function jU(e){qf?Kf?Kf.push(e):Kf=[e]:qf=e}function FU(){if(qf){var e=qf,t=Kf;if(Kf=qf=null,WD(e),t)for(e=0;e>>=0,e===0?32:31-(xie(e)/wie|0)|0}var Sb=64,Pb=4194304;function Gm(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function gx(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,o=e.suspendedLanes,i=e.pingedLanes,a=n&268435455;if(a!==0){var s=a&~o;s!==0?r=Gm(s):(i&=a,i!==0&&(r=Gm(i)))}else a=n&~o,a!==0?r=Gm(a):i!==0&&(r=Gm(i));if(r===0)return 0;if(t!==0&&t!==r&&!(t&o)&&(o=r&-r,i=t&-t,o>=i||o===16&&(i&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function wy(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Oa(t),e[t]=n}function Eie(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=cg),eN=" ",tN=!1;function i6(e,t){switch(e){case"keyup":return Zie.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function a6(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var xf=!1;function tae(e,t){switch(e){case"compositionend":return a6(t);case"keypress":return t.which!==32?null:(tN=!0,eN);case"textInput":return e=t.data,e===eN&&tN?null:e;default:return null}}function nae(e,t){if(xf)return e==="compositionend"||!mM&&i6(e,t)?(e=r6(),A0=fM=ac=null,xf=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=iN(n)}}function u6(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?u6(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function d6(){for(var e=window,t=fx();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=fx(e.document)}return t}function gM(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function dae(e){var t=d6(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&u6(n.ownerDocument.documentElement,n)){if(r!==null&&gM(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var o=n.textContent.length,i=Math.min(r.start,o);r=r.end===void 0?i:Math.min(r.end,o),!e.extend&&i>r&&(o=r,r=i,i=o),o=aN(n,i);var a=aN(n,r);o&&a&&(e.rangeCount!==1||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==a.node||e.focusOffset!==a.offset)&&(t=t.createRange(),t.setStart(o.node,o.offset),e.removeAllRanges(),i>r?(e.addRange(t),e.extend(a.node,a.offset)):(t.setEnd(a.node,a.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,wf=null,YO=null,dg=null,QO=!1;function sN(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;QO||wf==null||wf!==fx(r)||(r=wf,"selectionStart"in r&&gM(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),dg&&ev(dg,r)||(dg=r,r=bx(YO,"onSelect"),0Pf||(e.current=nT[Pf],nT[Pf]=null,Pf--)}function bn(e,t){Pf++,nT[Pf]=e.current,e.current=t}var Tc={},Jr=Lc(Tc),ko=Lc(!1),Yu=Tc;function pp(e,t){var n=e.type.contextTypes;if(!n)return Tc;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o={},i;for(i in n)o[i]=t[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function Io(e){return e=e.childContextTypes,e!=null}function wx(){Tn(ko),Tn(Jr)}function hN(e,t,n){if(Jr.current!==Tc)throw Error(De(168));bn(Jr,t),bn(ko,n)}function x6(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var o in r)if(!(o in t))throw Error(De(108,aie(e)||"Unknown",o));return Fn({},n,r)}function Cx(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Tc,Yu=Jr.current,bn(Jr,e),bn(ko,ko.current),!0}function mN(e,t,n){var r=e.stateNode;if(!r)throw Error(De(169));n?(e=x6(e,t,Yu),r.__reactInternalMemoizedMergedChildContext=e,Tn(ko),Tn(Jr),bn(Jr,e)):Tn(ko),bn(ko,n)}var Vs=null,cC=!1,LP=!1;function w6(e){Vs===null?Vs=[e]:Vs.push(e)}function Sae(e){cC=!0,w6(e)}function jc(){if(!LP&&Vs!==null){LP=!0;var e=0,t=cn;try{var n=Vs;for(cn=1;e>=a,o-=a,Gs=1<<32-Oa(t)+o|n<T?($=E,E=null):$=E.sibling;var M=f(b,E,w[T],C);if(M===null){E===null&&(E=$);break}e&&E&&M.alternate===null&&t(b,E),y=i(M,y,T),P===null?O=M:P.sibling=M,P=M,E=$}if(T===w.length)return n(b,E),Rn&&lu(b,T),O;if(E===null){for(;TT?($=E,E=null):$=E.sibling;var D=f(b,E,M.value,C);if(D===null){E===null&&(E=$);break}e&&E&&D.alternate===null&&t(b,E),y=i(D,y,T),P===null?O=D:P.sibling=D,P=D,E=$}if(M.done)return n(b,E),Rn&&lu(b,T),O;if(E===null){for(;!M.done;T++,M=w.next())M=d(b,M.value,C),M!==null&&(y=i(M,y,T),P===null?O=M:P.sibling=M,P=M);return Rn&&lu(b,T),O}for(E=r(b,E);!M.done;T++,M=w.next())M=p(E,b,T,M.value,C),M!==null&&(e&&M.alternate!==null&&E.delete(M.key===null?T:M.key),y=i(M,y,T),P===null?O=M:P.sibling=M,P=M);return e&&E.forEach(function(L){return t(b,L)}),Rn&&lu(b,T),O}function v(b,y,w,C){if(typeof w=="object"&&w!==null&&w.type===bf&&w.key===null&&(w=w.props.children),typeof w=="object"&&w!==null){switch(w.$$typeof){case xb:e:{for(var O=w.key,P=y;P!==null;){if(P.key===O){if(O=w.type,O===bf){if(P.tag===7){n(b,P.sibling),y=o(P,w.props.children),y.return=b,b=y;break e}}else if(P.elementType===O||typeof O=="object"&&O!==null&&O.$$typeof===Kl&&yN(O)===P.type){n(b,P.sibling),y=o(P,w.props),y.ref=pm(b,P,w),y.return=b,b=y;break e}n(b,P);break}else t(b,P);P=P.sibling}w.type===bf?(y=_u(w.props.children,b.mode,C,w.key),y.return=b,b=y):(C=B0(w.type,w.key,w.props,null,b.mode,C),C.ref=pm(b,y,w),C.return=b,b=C)}return a(b);case yf:e:{for(P=w.key;y!==null;){if(y.key===P)if(y.tag===4&&y.stateNode.containerInfo===w.containerInfo&&y.stateNode.implementation===w.implementation){n(b,y.sibling),y=o(y,w.children||[]),y.return=b,b=y;break e}else{n(b,y);break}else t(b,y);y=y.sibling}y=WP(w,b.mode,C),y.return=b,b=y}return a(b);case Kl:return P=w._init,v(b,y,P(w._payload),C)}if(Wm(w))return h(b,y,w,C);if(lm(w))return m(b,y,w,C);Mb(b,w)}return typeof w=="string"&&w!==""||typeof w=="number"?(w=""+w,y!==null&&y.tag===6?(n(b,y.sibling),y=o(y,w),y.return=b,b=y):(n(b,y),y=UP(w,b.mode,C),y.return=b,b=y),a(b)):n(b,y)}return v}var mp=E6(!0),O6=E6(!1),Ex=Lc(null),Ox=null,Tf=null,xM=null;function wM(){xM=Tf=Ox=null}function CM(e){var t=Ex.current;Tn(Ex),e._currentValue=t}function iT(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Qf(e,t){Ox=e,xM=Tf=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(Eo=!0),e.firstContext=null)}function Yi(e){var t=e._currentValue;if(xM!==e)if(e={context:e,memoizedValue:t,next:null},Tf===null){if(Ox===null)throw Error(De(308));Tf=e,Ox.dependencies={lanes:0,firstContext:e}}else Tf=Tf.next=e;return t}var Cu=null;function SM(e){Cu===null?Cu=[e]:Cu.push(e)}function T6(e,t,n,r){var o=t.interleaved;return o===null?(n.next=n,SM(t)):(n.next=o.next,o.next=n),t.interleaved=n,ul(e,r)}function ul(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var Yl=!1;function PM(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function k6(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Zs(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function vc(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,qt&2){var o=r.pending;return o===null?t.next=t:(t.next=o.next,o.next=t),r.pending=t,ul(e,n)}return o=r.interleaved,o===null?(t.next=t,SM(r)):(t.next=o.next,o.next=t),r.interleaved=t,ul(e,n)}function _0(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,cM(e,n)}}function bN(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var o=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var a={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};i===null?o=i=a:i=i.next=a,n=n.next}while(n!==null);i===null?o=i=t:i=i.next=t}else o=i=t;n={baseState:r.baseState,firstBaseUpdate:o,lastBaseUpdate:i,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Tx(e,t,n,r){var o=e.updateQueue;Yl=!1;var i=o.firstBaseUpdate,a=o.lastBaseUpdate,s=o.shared.pending;if(s!==null){o.shared.pending=null;var l=s,c=l.next;l.next=null,a===null?i=c:a.next=c,a=l;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==a&&(s===null?u.firstBaseUpdate=c:s.next=c,u.lastBaseUpdate=l))}if(i!==null){var d=o.baseState;a=0,u=c=l=null,s=i;do{var f=s.lane,p=s.eventTime;if((r&f)===f){u!==null&&(u=u.next={eventTime:p,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var h=e,m=s;switch(f=t,p=n,m.tag){case 1:if(h=m.payload,typeof h=="function"){d=h.call(p,d,f);break e}d=h;break e;case 3:h.flags=h.flags&-65537|128;case 0:if(h=m.payload,f=typeof h=="function"?h.call(p,d,f):h,f==null)break e;d=Fn({},d,f);break e;case 2:Yl=!0}}s.callback!==null&&s.lane!==0&&(e.flags|=64,f=o.effects,f===null?o.effects=[s]:f.push(s))}else p={eventTime:p,lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(c=u=p,l=d):u=u.next=p,a|=f;if(s=s.next,s===null){if(s=o.shared.pending,s===null)break;f=s,s=f.next,f.next=null,o.lastBaseUpdate=f,o.shared.pending=null}}while(!0);if(u===null&&(l=d),o.baseState=l,o.firstBaseUpdate=c,o.lastBaseUpdate=u,t=o.shared.interleaved,t!==null){o=t;do a|=o.lane,o=o.next;while(o!==t)}else i===null&&(o.shared.lanes=0);Ju|=a,e.lanes=a,e.memoizedState=d}}function xN(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=FP.transition;FP.transition={};try{e(!1),t()}finally{cn=n,FP.transition=r}}function W6(){return Qi().memoizedState}function Tae(e,t,n){var r=bc(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},G6(e))q6(t,n);else if(n=T6(e,t,n,r),n!==null){var o=uo();Ta(n,e,r,o),K6(n,t,r)}}function kae(e,t,n){var r=bc(e),o={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(G6(e))q6(t,o);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var a=t.lastRenderedState,s=i(a,n);if(o.hasEagerState=!0,o.eagerState=s,_a(s,a)){var l=t.interleaved;l===null?(o.next=o,SM(t)):(o.next=l.next,l.next=o),t.interleaved=o;return}}catch{}finally{}n=T6(e,t,o,r),n!==null&&(o=uo(),Ta(n,e,r,o),K6(n,t,r))}}function G6(e){var t=e.alternate;return e===jn||t!==null&&t===jn}function q6(e,t){fg=Ix=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function K6(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,cM(e,n)}}var $x={readContext:Yi,useCallback:zr,useContext:zr,useEffect:zr,useImperativeHandle:zr,useInsertionEffect:zr,useLayoutEffect:zr,useMemo:zr,useReducer:zr,useRef:zr,useState:zr,useDebugValue:zr,useDeferredValue:zr,useTransition:zr,useMutableSource:zr,useSyncExternalStore:zr,useId:zr,unstable_isNewReconciler:!1},Iae={readContext:Yi,useCallback:function(e,t){return Ya().memoizedState=[e,t===void 0?null:t],e},useContext:Yi,useEffect:CN,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,N0(4194308,4,B6.bind(null,t,e),n)},useLayoutEffect:function(e,t){return N0(4194308,4,e,t)},useInsertionEffect:function(e,t){return N0(4,2,e,t)},useMemo:function(e,t){var n=Ya();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Ya();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=Tae.bind(null,jn,e),[r.memoizedState,e]},useRef:function(e){var t=Ya();return e={current:e},t.memoizedState=e},useState:wN,useDebugValue:AM,useDeferredValue:function(e){return Ya().memoizedState=e},useTransition:function(){var e=wN(!1),t=e[0];return e=Oae.bind(null,e[1]),Ya().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=jn,o=Ya();if(Rn){if(n===void 0)throw Error(De(407));n=n()}else{if(n=t(),Er===null)throw Error(De(349));Xu&30||A6(r,t,n)}o.memoizedState=n;var i={value:n,getSnapshot:t};return o.queue=i,CN(_6.bind(null,r,i,e),[e]),r.flags|=2048,lv(9,R6.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=Ya(),t=Er.identifierPrefix;if(Rn){var n=qs,r=Gs;n=(r&~(1<<32-Oa(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=av++,0")&&(l=l.replace("",e.displayName)),l}while(1<=a&&0<=s);break}}}finally{GA=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?F0(e):""}function Vxe(e){switch(e.tag){case 5:return F0(e.type);case 16:return F0("Lazy");case 13:return F0("Suspense");case 19:return F0("SuspenseList");case 0:case 2:case 15:return e=qA(e.type,!1),e;case 11:return e=qA(e.type.render,!1),e;case 1:return e=qA(e.type,!0),e;default:return""}}function b2(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case xg:return"Fragment";case wg:return"Portal";case g2:return"Profiler";case qL:return"StrictMode";case y2:return"Suspense";case v2:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case ZX:return(e.displayName||"Context")+".Consumer";case JX:return(e._context.displayName||"Context")+".Provider";case KL:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case YL:return t=e.displayName||null,t!==null?t:b2(e.type)||"Memo";case _d:t=e._payload,e=e._init;try{return b2(e(t))}catch{}}return null}function Hxe(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return b2(t);case 8:return t===qL?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Ef(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function tQ(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Uxe(e){var t=tQ(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var o=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(a){r=""+a,i.call(this,a)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(a){r=""+a},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function gC(e){e._valueTracker||(e._valueTracker=Uxe(e))}function nQ(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=tQ(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function pT(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function w2(e,t){var n=t.checked;return Gr({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function P4(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Ef(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function rQ(e,t){t=t.checked,t!=null&&GL(e,"checked",t,!1)}function x2(e,t){rQ(e,t);var n=Ef(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?S2(e,t.type,n):t.hasOwnProperty("defaultValue")&&S2(e,t.type,Ef(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function T4(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function S2(e,t,n){(t!=="number"||pT(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var j0=Array.isArray;function Xg(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o"+t.valueOf().toString()+"",t=yC.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function zw(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var nw={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Wxe=["Webkit","ms","Moz","O"];Object.keys(nw).forEach(function(e){Wxe.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),nw[t]=nw[e]})});function sQ(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||nw.hasOwnProperty(e)&&nw[e]?(""+t).trim():t+"px"}function lQ(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,o=sQ(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,o):e[n]=o}}var Gxe=Gr({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function T2(e,t){if(t){if(Gxe[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(at(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(at(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(at(61))}if(t.style!=null&&typeof t.style!="object")throw Error(at(62))}}function E2(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var O2=null;function XL(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var I2=null,Qg=null,Jg=null;function I4(e){if(e=PS(e)){if(typeof I2!="function")throw Error(at(280));var t=e.stateNode;t&&(t=bI(t),I2(e.stateNode,e.type,t))}}function cQ(e){Qg?Jg?Jg.push(e):Jg=[e]:Qg=e}function uQ(){if(Qg){var e=Qg,t=Jg;if(Jg=Qg=null,I4(e),t)for(e=0;e>>=0,e===0?32:31-(rSe(e)/oSe|0)|0}var vC=64,bC=4194304;function B0(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function yT(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,o=e.suspendedLanes,i=e.pingedLanes,a=n&268435455;if(a!==0){var s=a&~o;s!==0?r=B0(s):(i&=a,i!==0&&(r=B0(i)))}else a=n&~o,a!==0?r=B0(a):i!==0&&(r=B0(i));if(r===0)return 0;if(t!==0&&t!==r&&!(t&o)&&(o=r&-r,i=t&-t,o>=i||o===16&&(i&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function SS(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Yl(t),e[t]=n}function lSe(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=ow),L4=" ",F4=!1;function MQ(e,t){switch(e){case"keyup":return NSe.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function AQ(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Sg=!1;function FSe(e,t){switch(e){case"compositionend":return AQ(t);case"keypress":return t.which!==32?null:(F4=!0,L4);case"textInput":return e=t.data,e===L4&&F4?null:e;default:return null}}function jSe(e,t){if(Sg)return e==="compositionend"||!oF&&MQ(e,t)?(e=IQ(),MP=tF=nf=null,Sg=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=V4(n)}}function DQ(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?DQ(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function NQ(){for(var e=window,t=pT();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=pT(e.document)}return t}function iF(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function KSe(e){var t=NQ(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&DQ(n.ownerDocument.documentElement,n)){if(r!==null&&iF(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var o=n.textContent.length,i=Math.min(r.start,o);r=r.end===void 0?i:Math.min(r.end,o),!e.extend&&i>r&&(o=r,r=i,i=o),o=H4(n,i);var a=H4(n,r);o&&a&&(e.rangeCount!==1||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==a.node||e.focusOffset!==a.offset)&&(t=t.createRange(),t.setStart(o.node,o.offset),e.removeAllRanges(),i>r?(e.addRange(t),e.extend(a.node,a.offset)):(t.setEnd(a.node,a.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Cg=null,_2=null,aw=null,D2=!1;function U4(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;D2||Cg==null||Cg!==pT(r)||(r=Cg,"selectionStart"in r&&iF(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),aw&&qw(aw,r)||(aw=r,r=wT(_2,"onSelect"),0Eg||(e.current=z2[Eg],z2[Eg]=null,Eg--)}function xr(e,t){Eg++,z2[Eg]=e.current,e.current=t}var Of={},Pi=Bf(Of),ga=Bf(!1),Ch=Of;function Ry(e,t){var n=e.type.contextTypes;if(!n)return Of;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o={},i;for(i in n)o[i]=t[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function ya(e){return e=e.childContextTypes,e!=null}function ST(){Ar(ga),Ar(Pi)}function Q4(e,t,n){if(Pi.current!==Of)throw Error(at(168));xr(Pi,t),xr(ga,n)}function WQ(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var o in r)if(!(o in t))throw Error(at(108,Hxe(e)||"Unknown",o));return Gr({},n,r)}function CT(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Of,Ch=Pi.current,xr(Pi,e),xr(ga,ga.current),!0}function J4(e,t,n){var r=e.stateNode;if(!r)throw Error(at(169));n?(e=WQ(e,t,Ch),r.__reactInternalMemoizedMergedChildContext=e,Ar(ga),Ar(Pi),xr(Pi,e)):Ar(ga),xr(ga,n)}var wu=null,wI=!1,s$=!1;function GQ(e){wu===null?wu=[e]:wu.push(e)}function a1e(e){wI=!0,GQ(e)}function zf(){if(!s$&&wu!==null){s$=!0;var e=0,t=or;try{var n=wu;for(or=1;e>=a,o-=a,Pu=1<<32-Yl(t)+o|n<k?(A=O,O=null):A=O.sibling;var I=f(w,O,S[k],P);if(I===null){O===null&&(O=A);break}e&&O&&I.alternate===null&&t(w,O),x=i(I,x,k),E===null?T=I:E.sibling=I,E=I,O=A}if(k===S.length)return n(w,O),Nr&&Ap(w,k),T;if(O===null){for(;kk?(A=O,O=null):A=O.sibling;var R=f(w,O,I.value,P);if(R===null){O===null&&(O=A);break}e&&O&&R.alternate===null&&t(w,O),x=i(R,x,k),E===null?T=R:E.sibling=R,E=R,O=A}if(I.done)return n(w,O),Nr&&Ap(w,k),T;if(O===null){for(;!I.done;k++,I=S.next())I=d(w,I.value,P),I!==null&&(x=i(I,x,k),E===null?T=I:E.sibling=I,E=I);return Nr&&Ap(w,k),T}for(O=r(w,O);!I.done;k++,I=S.next())I=p(O,w,k,I.value,P),I!==null&&(e&&I.alternate!==null&&O.delete(I.key===null?k:I.key),x=i(I,x,k),E===null?T=I:E.sibling=I,E=I);return e&&O.forEach(function(N){return t(w,N)}),Nr&&Ap(w,k),T}function v(w,x,S,P){if(typeof S=="object"&&S!==null&&S.type===xg&&S.key===null&&(S=S.props.children),typeof S=="object"&&S!==null){switch(S.$$typeof){case mC:e:{for(var T=S.key,E=x;E!==null;){if(E.key===T){if(T=S.type,T===xg){if(E.tag===7){n(w,E.sibling),x=o(E,S.props.children),x.return=w,w=x;break e}}else if(E.elementType===T||typeof T=="object"&&T!==null&&T.$$typeof===_d&&t3(T)===E.type){n(w,E.sibling),x=o(E,S.props),x.ref=t0(w,E,S),x.return=w,w=x;break e}n(w,E);break}else t(w,E);E=E.sibling}S.type===xg?(x=sh(S.props.children,w.mode,P,S.key),x.return=w,w=x):(P=FP(S.type,S.key,S.props,null,w.mode,P),P.ref=t0(w,x,S),P.return=w,w=P)}return a(w);case wg:e:{for(E=S.key;x!==null;){if(x.key===E)if(x.tag===4&&x.stateNode.containerInfo===S.containerInfo&&x.stateNode.implementation===S.implementation){n(w,x.sibling),x=o(x,S.children||[]),x.return=w,w=x;break e}else{n(w,x);break}else t(w,x);x=x.sibling}x=m$(S,w.mode,P),x.return=w,w=x}return a(w);case _d:return E=S._init,v(w,x,E(S._payload),P)}if(j0(S))return m(w,x,S,P);if(Xb(S))return g(w,x,S,P);EC(w,S)}return typeof S=="string"&&S!==""||typeof S=="number"?(S=""+S,x!==null&&x.tag===6?(n(w,x.sibling),x=o(x,S),x.return=w,w=x):(n(w,x),x=h$(S,w.mode,P),x.return=w,w=x),a(w)):n(w,x)}return v}var Dy=XQ(!0),QQ=XQ(!1),ET=Bf(null),OT=null,kg=null,cF=null;function uF(){cF=kg=OT=null}function dF(e){var t=ET.current;Ar(ET),e._currentValue=t}function U2(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function ey(e,t){OT=e,cF=kg=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(ha=!0),e.firstContext=null)}function il(e){var t=e._currentValue;if(cF!==e)if(e={context:e,memoizedValue:t,next:null},kg===null){if(OT===null)throw Error(at(308));kg=e,OT.dependencies={lanes:0,firstContext:e}}else kg=kg.next=e;return t}var Vp=null;function fF(e){Vp===null?Vp=[e]:Vp.push(e)}function JQ(e,t,n,r){var o=t.interleaved;return o===null?(n.next=n,fF(t)):(n.next=o.next,o.next=n),t.interleaved=n,Wu(e,r)}function Wu(e,t){e.lanes|=t;var n=e.alternate;for(n!==null&&(n.lanes|=t),n=e,e=e.return;e!==null;)e.childLanes|=t,n=e.alternate,n!==null&&(n.childLanes|=t),n=e,e=e.return;return n.tag===3?n.stateNode:null}var Dd=!1;function pF(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function ZQ(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Mu(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function mf(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,Ln&2){var o=r.pending;return o===null?t.next=t:(t.next=o.next,o.next=t),r.pending=t,Wu(e,n)}return o=r.interleaved,o===null?(t.next=t,fF(r)):(t.next=o.next,o.next=t),r.interleaved=t,Wu(e,n)}function $P(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194240)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,JL(e,n)}}function n3(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var o=null,i=null;if(n=n.firstBaseUpdate,n!==null){do{var a={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};i===null?o=i=a:i=i.next=a,n=n.next}while(n!==null);i===null?o=i=t:i=i.next=t}else o=i=t;n={baseState:r.baseState,firstBaseUpdate:o,lastBaseUpdate:i,shared:r.shared,effects:r.effects},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function IT(e,t,n,r){var o=e.updateQueue;Dd=!1;var i=o.firstBaseUpdate,a=o.lastBaseUpdate,s=o.shared.pending;if(s!==null){o.shared.pending=null;var l=s,c=l.next;l.next=null,a===null?i=c:a.next=c,a=l;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==a&&(s===null?u.firstBaseUpdate=c:s.next=c,u.lastBaseUpdate=l))}if(i!==null){var d=o.baseState;a=0,u=c=l=null,s=i;do{var f=s.lane,p=s.eventTime;if((r&f)===f){u!==null&&(u=u.next={eventTime:p,lane:0,tag:s.tag,payload:s.payload,callback:s.callback,next:null});e:{var m=e,g=s;switch(f=t,p=n,g.tag){case 1:if(m=g.payload,typeof m=="function"){d=m.call(p,d,f);break e}d=m;break e;case 3:m.flags=m.flags&-65537|128;case 0:if(m=g.payload,f=typeof m=="function"?m.call(p,d,f):m,f==null)break e;d=Gr({},d,f);break e;case 2:Dd=!0}}s.callback!==null&&s.lane!==0&&(e.flags|=64,f=o.effects,f===null?o.effects=[s]:f.push(s))}else p={eventTime:p,lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(c=u=p,l=d):u=u.next=p,a|=f;if(s=s.next,s===null){if(s=o.shared.pending,s===null)break;f=s,s=f.next,f.next=null,o.lastBaseUpdate=f,o.shared.pending=null}}while(!0);if(u===null&&(l=d),o.baseState=l,o.firstBaseUpdate=c,o.lastBaseUpdate=u,t=o.shared.interleaved,t!==null){o=t;do a|=o.lane,o=o.next;while(o!==t)}else i===null&&(o.shared.lanes=0);Eh|=a,e.lanes=a,e.memoizedState=d}}function r3(e,t,n){if(e=t.effects,t.effects=null,e!==null)for(t=0;tn?n:4,e(!0);var r=c$.transition;c$.transition={};try{e(!1),t()}finally{or=n,c$.transition=r}}function gJ(){return al().memoizedState}function u1e(e,t,n){var r=yf(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},yJ(e))vJ(t,n);else if(n=JQ(e,t,n,r),n!==null){var o=Wi();Xl(n,e,r,o),bJ(n,t,r)}}function d1e(e,t,n){var r=yf(e),o={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(yJ(e))vJ(t,o);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var a=t.lastRenderedState,s=i(a,n);if(o.hasEagerState=!0,o.eagerState=s,rc(s,a)){var l=t.interleaved;l===null?(o.next=o,fF(t)):(o.next=l.next,l.next=o),t.interleaved=o;return}}catch{}finally{}n=JQ(e,t,o,r),n!==null&&(o=Wi(),Xl(n,e,r,o),bJ(n,t,r))}}function yJ(e){var t=e.alternate;return e===Wr||t!==null&&t===Wr}function vJ(e,t){sw=MT=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function bJ(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,JL(e,n)}}var AT={readContext:il,useCallback:fi,useContext:fi,useEffect:fi,useImperativeHandle:fi,useInsertionEffect:fi,useLayoutEffect:fi,useMemo:fi,useReducer:fi,useRef:fi,useState:fi,useDebugValue:fi,useDeferredValue:fi,useTransition:fi,useMutableSource:fi,useSyncExternalStore:fi,useId:fi,unstable_isNewReconciler:!1},f1e={readContext:il,useCallback:function(e,t){return gc().memoizedState=[e,t===void 0?null:t],e},useContext:il,useEffect:i3,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,_P(4194308,4,dJ.bind(null,t,e),n)},useLayoutEffect:function(e,t){return _P(4194308,4,e,t)},useInsertionEffect:function(e,t){return _P(4,2,e,t)},useMemo:function(e,t){var n=gc();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=gc();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=u1e.bind(null,Wr,e),[r.memoizedState,e]},useRef:function(e){var t=gc();return e={current:e},t.memoizedState=e},useState:o3,useDebugValue:xF,useDeferredValue:function(e){return gc().memoizedState=e},useTransition:function(){var e=o3(!1),t=e[0];return e=c1e.bind(null,e[1]),gc().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=Wr,o=gc();if(Nr){if(n===void 0)throw Error(at(407));n=n()}else{if(n=t(),qo===null)throw Error(at(349));Th&30||rJ(r,t,n)}o.memoizedState=n;var i={value:n,getSnapshot:t};return o.queue=i,i3(iJ.bind(null,r,i,e),[e]),r.flags|=2048,tx(9,oJ.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=gc(),t=qo.identifierPrefix;if(Nr){var n=Tu,r=Pu;n=(r&~(1<<32-Yl(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Zw++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=a.createElement(n,{is:r.is}):(e=a.createElement(n),n==="select"&&(a=e,r.multiple?a.multiple=!0:r.size&&(a.size=r.size))):e=a.createElementNS(e,n),e[ns]=t,e[rv]=r,oW(e,t,!1,!1),t.stateNode=e;e:{switch(a=zO(n,r),n){case"dialog":Cn("cancel",e),Cn("close",e),o=r;break;case"iframe":case"object":case"embed":Cn("load",e),o=r;break;case"video":case"audio":for(o=0;oyp&&(t.flags|=128,r=!0,hm(i,!1),t.lanes=4194304)}else{if(!r)if(e=kx(a),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),hm(i,!0),i.tail===null&&i.tailMode==="hidden"&&!a.alternate&&!Rn)return Vr(t),null}else 2*Yn()-i.renderingStartTime>yp&&n!==1073741824&&(t.flags|=128,r=!0,hm(i,!1),t.lanes=4194304);i.isBackwards?(a.sibling=t.child,t.child=a):(n=i.last,n!==null?n.sibling=a:t.child=a,i.last=a)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Yn(),t.sibling=null,n=Nn.current,bn(Nn,r?n&1|2:n&1),t):(Vr(t),null);case 22:case 23:return jM(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Uo&1073741824&&(Vr(t),t.subtreeFlags&6&&(t.flags|=8192)):Vr(t),null;case 24:return null;case 25:return null}throw Error(De(156,t.tag))}function Lae(e,t){switch(yM(t),t.tag){case 1:return Io(t.type)&&wx(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return gp(),Tn(ko),Tn(Jr),TM(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return OM(t),null;case 13:if(Tn(Nn),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(De(340));hp()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Tn(Nn),null;case 4:return gp(),null;case 10:return CM(t.type._context),null;case 22:case 23:return jM(),null;case 24:return null;default:return null}}var Rb=!1,Kr=!1,jae=typeof WeakSet=="function"?WeakSet:Set,Qe=null;function kf(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Wn(e,t,r)}else n.current=null}function hT(e,t,n){try{n()}catch(r){Wn(e,t,r)}}var RN=!1;function Fae(e,t){if(XO=vx,e=d6(),gM(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var o=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var a=0,s=-1,l=-1,c=0,u=0,d=e,f=null;t:for(;;){for(var p;d!==n||o!==0&&d.nodeType!==3||(s=a+o),d!==i||r!==0&&d.nodeType!==3||(l=a+r),d.nodeType===3&&(a+=d.nodeValue.length),(p=d.firstChild)!==null;)f=d,d=p;for(;;){if(d===e)break t;if(f===n&&++c===o&&(s=a),f===i&&++u===r&&(l=a),(p=d.nextSibling)!==null)break;d=f,f=d.parentNode}d=p}n=s===-1||l===-1?null:{start:s,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(JO={focusedElem:e,selectionRange:n},vx=!1,Qe=t;Qe!==null;)if(t=Qe,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Qe=e;else for(;Qe!==null;){t=Qe;try{var h=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(h!==null){var m=h.memoizedProps,v=h.memoizedState,b=t.stateNode,y=b.getSnapshotBeforeUpdate(t.elementType===t.type?m:ha(t.type,m),v);b.__reactInternalSnapshotBeforeUpdate=y}break;case 3:var w=t.stateNode.containerInfo;w.nodeType===1?w.textContent="":w.nodeType===9&&w.documentElement&&w.removeChild(w.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(De(163))}}catch(C){Wn(t,t.return,C)}if(e=t.sibling,e!==null){e.return=t.return,Qe=e;break}Qe=t.return}return h=RN,RN=!1,h}function pg(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var o=r=r.next;do{if((o.tag&e)===e){var i=o.destroy;o.destroy=void 0,i!==void 0&&hT(t,n,i)}o=o.next}while(o!==r)}}function fC(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function mT(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function sW(e){var t=e.alternate;t!==null&&(e.alternate=null,sW(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[ns],delete t[rv],delete t[tT],delete t[wae],delete t[Cae])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function lW(e){return e.tag===5||e.tag===3||e.tag===4}function _N(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||lW(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function gT(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=xx));else if(r!==4&&(e=e.child,e!==null))for(gT(e,t,n),e=e.sibling;e!==null;)gT(e,t,n),e=e.sibling}function vT(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(vT(e,t,n),e=e.sibling;e!==null;)vT(e,t,n),e=e.sibling}var $r=null,ga=!1;function Dl(e,t,n){for(n=n.child;n!==null;)cW(e,t,n),n=n.sibling}function cW(e,t,n){if(ls&&typeof ls.onCommitFiberUnmount=="function")try{ls.onCommitFiberUnmount(oC,n)}catch{}switch(n.tag){case 5:Kr||kf(n,t);case 6:var r=$r,o=ga;$r=null,Dl(e,t,n),$r=r,ga=o,$r!==null&&(ga?(e=$r,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):$r.removeChild(n.stateNode));break;case 18:$r!==null&&(ga?(e=$r,n=n.stateNode,e.nodeType===8?NP(e.parentNode,n):e.nodeType===1&&NP(e,n),Jg(e)):NP($r,n.stateNode));break;case 4:r=$r,o=ga,$r=n.stateNode.containerInfo,ga=!0,Dl(e,t,n),$r=r,ga=o;break;case 0:case 11:case 14:case 15:if(!Kr&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){o=r=r.next;do{var i=o,a=i.destroy;i=i.tag,a!==void 0&&(i&2||i&4)&&hT(n,t,a),o=o.next}while(o!==r)}Dl(e,t,n);break;case 1:if(!Kr&&(kf(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(s){Wn(n,t,s)}Dl(e,t,n);break;case 21:Dl(e,t,n);break;case 22:n.mode&1?(Kr=(r=Kr)||n.memoizedState!==null,Dl(e,t,n),Kr=r):Dl(e,t,n);break;default:Dl(e,t,n)}}function DN(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new jae),t.forEach(function(r){var o=Kae.bind(null,e,r);n.has(r)||(n.add(r),r.then(o,o))})}}function ua(e,t){var n=t.deletions;if(n!==null)for(var r=0;ro&&(o=a),r&=~i}if(r=o,r=Yn()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*zae(r/1960))-r,10e?16:e,sc===null)var r=!1;else{if(e=sc,sc=null,Rx=0,qt&6)throw Error(De(331));var o=qt;for(qt|=4,Qe=e.current;Qe!==null;){var i=Qe,a=i.child;if(Qe.flags&16){var s=i.deletions;if(s!==null){for(var l=0;lYn()-NM?Ru(e,0):DM|=n),$o(e,t)}function vW(e,t){t===0&&(e.mode&1?(t=Pb,Pb<<=1,!(Pb&130023424)&&(Pb=4194304)):t=1);var n=uo();e=ul(e,t),e!==null&&(wy(e,t,n),$o(e,n))}function qae(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),vW(e,n)}function Kae(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,o=e.memoizedState;o!==null&&(n=o.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(De(314))}r!==null&&r.delete(t),vW(e,n)}var yW;yW=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||ko.current)Eo=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Eo=!1,Dae(e,t,n);Eo=!!(e.flags&131072)}else Eo=!1,Rn&&t.flags&1048576&&C6(t,Px,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;L0(e,t),e=t.pendingProps;var o=pp(t,Jr.current);Qf(t,n),o=IM(null,t,r,e,o,n);var i=$M();return t.flags|=1,typeof o=="object"&&o!==null&&typeof o.render=="function"&&o.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Io(r)?(i=!0,Cx(t)):i=!1,t.memoizedState=o.state!==null&&o.state!==void 0?o.state:null,PM(t),o.updater=dC,t.stateNode=o,o._reactInternals=t,sT(t,r,e,n),t=uT(null,t,r,!0,i,n)):(t.tag=0,Rn&&i&&vM(t),no(null,t,o,n),t=t.child),t;case 16:r=t.elementType;e:{switch(L0(e,t),e=t.pendingProps,o=r._init,r=o(r._payload),t.type=r,o=t.tag=Qae(r),e=ha(r,e),o){case 0:t=cT(null,t,r,e,n);break e;case 1:t=$N(null,t,r,e,n);break e;case 11:t=kN(null,t,r,e,n);break e;case 14:t=IN(null,t,r,ha(r.type,e),n);break e}throw Error(De(306,r,""))}return t;case 0:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:ha(r,o),cT(e,t,r,o,n);case 1:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:ha(r,o),$N(e,t,r,o,n);case 3:e:{if(tW(t),e===null)throw Error(De(387));r=t.pendingProps,i=t.memoizedState,o=i.element,k6(e,t),Tx(t,r,null,n);var a=t.memoizedState;if(r=a.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:a.cache,pendingSuspenseBoundaries:a.pendingSuspenseBoundaries,transitions:a.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){o=vp(Error(De(423)),t),t=MN(e,t,r,n,o);break e}else if(r!==o){o=vp(Error(De(424)),t),t=MN(e,t,r,n,o);break e}else for(Jo=gc(t.stateNode.containerInfo.firstChild),ni=t,Rn=!0,ba=null,n=O6(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(hp(),r===o){t=dl(e,t,n);break e}no(e,t,r,n)}t=t.child}return t;case 5:return I6(t),e===null&&oT(t),r=t.type,o=t.pendingProps,i=e!==null?e.memoizedProps:null,a=o.children,ZO(r,o)?a=null:i!==null&&ZO(r,i)&&(t.flags|=32),eW(e,t),no(e,t,a,n),t.child;case 6:return e===null&&oT(t),null;case 13:return nW(e,t,n);case 4:return EM(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=mp(t,null,r,n):no(e,t,r,n),t.child;case 11:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:ha(r,o),kN(e,t,r,o,n);case 7:return no(e,t,t.pendingProps,n),t.child;case 8:return no(e,t,t.pendingProps.children,n),t.child;case 12:return no(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,o=t.pendingProps,i=t.memoizedProps,a=o.value,bn(Ex,r._currentValue),r._currentValue=a,i!==null)if(_a(i.value,a)){if(i.children===o.children&&!ko.current){t=dl(e,t,n);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var s=i.dependencies;if(s!==null){a=i.child;for(var l=s.firstContext;l!==null;){if(l.context===r){if(i.tag===1){l=Zs(-1,n&-n),l.tag=2;var c=i.updateQueue;if(c!==null){c=c.shared;var u=c.pending;u===null?l.next=l:(l.next=u.next,u.next=l),c.pending=l}}i.lanes|=n,l=i.alternate,l!==null&&(l.lanes|=n),iT(i.return,n,t),s.lanes|=n;break}l=l.next}}else if(i.tag===10)a=i.type===t.type?null:i.child;else if(i.tag===18){if(a=i.return,a===null)throw Error(De(341));a.lanes|=n,s=a.alternate,s!==null&&(s.lanes|=n),iT(a,n,t),a=i.sibling}else a=i.child;if(a!==null)a.return=i;else for(a=i;a!==null;){if(a===t){a=null;break}if(i=a.sibling,i!==null){i.return=a.return,a=i;break}a=a.return}i=a}no(e,t,o.children,n),t=t.child}return t;case 9:return o=t.type,r=t.pendingProps.children,Qf(t,n),o=Yi(o),r=r(o),t.flags|=1,no(e,t,r,n),t.child;case 14:return r=t.type,o=ha(r,t.pendingProps),o=ha(r.type,o),IN(e,t,r,o,n);case 15:return J6(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:ha(r,o),L0(e,t),t.tag=1,Io(r)?(e=!0,Cx(t)):e=!1,Qf(t,n),Y6(t,r,o),sT(t,r,o,n),uT(null,t,r,!0,e,n);case 19:return rW(e,t,n);case 22:return Z6(e,t,n)}throw Error(De(156,t.tag))};function bW(e,t){return GU(e,t)}function Yae(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function zi(e,t,n,r){return new Yae(e,t,n,r)}function BM(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Qae(e){if(typeof e=="function")return BM(e)?1:0;if(e!=null){if(e=e.$$typeof,e===iM)return 11;if(e===aM)return 14}return 2}function xc(e,t){var n=e.alternate;return n===null?(n=zi(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function B0(e,t,n,r,o,i){var a=2;if(r=e,typeof e=="function")BM(e)&&(a=1);else if(typeof e=="string")a=5;else e:switch(e){case bf:return _u(n.children,o,i,t);case oM:a=8,o|=8;break;case MO:return e=zi(12,n,t,o|2),e.elementType=MO,e.lanes=i,e;case AO:return e=zi(13,n,t,o),e.elementType=AO,e.lanes=i,e;case RO:return e=zi(19,n,t,o),e.elementType=RO,e.lanes=i,e;case IU:return hC(n,o,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case TU:a=10;break e;case kU:a=9;break e;case iM:a=11;break e;case aM:a=14;break e;case Kl:a=16,r=null;break e}throw Error(De(130,e==null?e:typeof e,""))}return t=zi(a,n,t,o),t.elementType=e,t.type=r,t.lanes=i,t}function _u(e,t,n,r){return e=zi(7,e,r,t),e.lanes=n,e}function hC(e,t,n,r){return e=zi(22,e,r,t),e.elementType=IU,e.lanes=n,e.stateNode={isHidden:!1},e}function UP(e,t,n){return e=zi(6,e,null,t),e.lanes=n,e}function WP(e,t,n){return t=zi(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Xae(e,t,n,r,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=EP(0),this.expirationTimes=EP(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=EP(0),this.identifierPrefix=r,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function zM(e,t,n,r,o,i,a,s,l){return e=new Xae(e,t,n,s,l),t===1?(t=1,i===!0&&(t|=8)):t=0,i=zi(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},PM(i),e}function Jae(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(SW)}catch(e){console.error(e)}}SW(),SU.exports=pi;var Ey=SU.exports;const Nb=Ht(Ey);var PW={exports:{}},EW={};/** - * @license React - * use-sync-external-store-shim.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var bp=g;function rse(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var ose=typeof Object.is=="function"?Object.is:rse,ise=bp.useState,ase=bp.useEffect,sse=bp.useLayoutEffect,lse=bp.useDebugValue;function cse(e,t){var n=t(),r=ise({inst:{value:n,getSnapshot:t}}),o=r[0].inst,i=r[1];return sse(function(){o.value=n,o.getSnapshot=t,GP(o)&&i({inst:o})},[e,n,t]),ase(function(){return GP(o)&&i({inst:o}),e(function(){GP(o)&&i({inst:o})})},[e]),lse(n),n}function GP(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!ose(e,n)}catch{return!0}}function use(e,t){return t()}var dse=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?use:cse;EW.useSyncExternalStore=bp.useSyncExternalStore!==void 0?bp.useSyncExternalStore:dse;PW.exports=EW;var fse=PW.exports;const OW=fse.useSyncExternalStore,HN=g.createContext(void 0),TW=g.createContext(!1);function kW(e,t){return e||(t&&typeof window<"u"?(window.ReactQueryClientContext||(window.ReactQueryClientContext=HN),window.ReactQueryClientContext):HN)}const Bn=({context:e}={})=>{const t=g.useContext(kW(e,g.useContext(TW)));if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},gd=({client:e,children:t,context:n,contextSharing:r=!1})=>{g.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]);const o=kW(n,r);return g.createElement(TW.Provider,{value:!n&&r},g.createElement(o.Provider,{value:e},t))},IW=g.createContext(!1),pse=()=>g.useContext(IW);IW.Provider;function hse(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}const mse=g.createContext(hse()),gse=()=>g.useContext(mse);function $W(e,t){return typeof e=="function"?e(...t):!!e}const vse=(e,t)=>{(e.suspense||e.useErrorBoundary)&&(t.isReset()||(e.retryOnMount=!1))},yse=e=>{g.useEffect(()=>{e.clearReset()},[e])},bse=({result:e,errorResetBoundary:t,useErrorBoundary:n,query:r})=>e.isError&&!t.isReset()&&!e.isFetching&&$W(n,[e.error,r]),xse=e=>{e.suspense&&typeof e.staleTime!="number"&&(e.staleTime=1e3)},wse=(e,t)=>e.isLoading&&e.isFetching&&!t,Cse=(e,t,n)=>(e==null?void 0:e.suspense)&&wse(t,n),Sse=(e,t,n)=>t.fetchOptimistic(e).then(({data:r})=>{e.onSuccess==null||e.onSuccess(r),e.onSettled==null||e.onSettled(r,null)}).catch(r=>{n.clearReset(),e.onError==null||e.onError(r),e.onSettled==null||e.onSettled(void 0,r)});function Pse(e,t){const n=Bn({context:e.context}),r=pse(),o=gse(),i=n.defaultQueryOptions(e);i._optimisticResults=r?"isRestoring":"optimistic",i.onError&&(i.onError=Gn.batchCalls(i.onError)),i.onSuccess&&(i.onSuccess=Gn.batchCalls(i.onSuccess)),i.onSettled&&(i.onSettled=Gn.batchCalls(i.onSettled)),xse(i),vse(i,o),yse(o);const[a]=g.useState(()=>new t(n,i)),s=a.getOptimisticResult(i);if(OW(g.useCallback(l=>{const c=r?()=>{}:a.subscribe(Gn.batchCalls(l));return a.updateResult(),c},[a,r]),()=>a.getCurrentResult(),()=>a.getCurrentResult()),g.useEffect(()=>{a.setOptions(i,{listeners:!1})},[i,a]),Cse(i,s,r))throw Sse(i,a,o);if(bse({result:s,errorResetBoundary:o,useErrorBoundary:i.useErrorBoundary,query:a.getCurrentQuery()}))throw s.error;return i.notifyOnChangeProps?s:a.trackResult(s)}function lr(e,t,n){const r=Hm(e,t,n);return Pse(r,Yoe)}function Zn(e,t,n){const r=Doe(e,t),o=Bn({context:r.context}),[i]=g.useState(()=>new Joe(o,r));g.useEffect(()=>{i.setOptions(r)},[i,r]);const a=OW(g.useCallback(l=>i.subscribe(Gn.batchCalls(l)),[i]),()=>i.getCurrentResult(),()=>i.getCurrentResult()),s=g.useCallback((l,c)=>{i.mutate(l,c).catch(Ese)},[i]);if(a.error&&$W(i.options.useErrorBoundary,[a.error]))throw a.error;return{...a,mutate:s,mutateAsync:a.mutate}}function Ese(){}const Ose=function(){return null};function Tse(e){return Se("MuiSvgIcon",e)}Pe("MuiSvgIcon",["root","colorPrimary","colorSecondary","colorAction","colorError","colorDisabled","fontSizeInherit","fontSizeSmall","fontSizeMedium","fontSizeLarge"]);const kse=["children","className","color","component","fontSize","htmlColor","inheritViewBox","titleAccess","viewBox"],Ise=e=>{const{color:t,fontSize:n,classes:r}=e,o={root:["root",t!=="inherit"&&`color${ie(t)}`,`fontSize${ie(n)}`]};return de(o,Tse,r)},$se=W("svg",{name:"MuiSvgIcon",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.color!=="inherit"&&t[`color${ie(n.color)}`],t[`fontSize${ie(n.fontSize)}`]]}})(({theme:e,ownerState:t})=>{var n,r,o,i,a,s,l,c,u,d,f,p,h;return{userSelect:"none",width:"1em",height:"1em",display:"inline-block",fill:t.hasSvgAsChild?void 0:"currentColor",flexShrink:0,transition:(n=e.transitions)==null||(r=n.create)==null?void 0:r.call(n,"fill",{duration:(o=e.transitions)==null||(o=o.duration)==null?void 0:o.shorter}),fontSize:{inherit:"inherit",small:((i=e.typography)==null||(a=i.pxToRem)==null?void 0:a.call(i,20))||"1.25rem",medium:((s=e.typography)==null||(l=s.pxToRem)==null?void 0:l.call(s,24))||"1.5rem",large:((c=e.typography)==null||(u=c.pxToRem)==null?void 0:u.call(c,35))||"2.1875rem"}[t.fontSize],color:(d=(f=(e.vars||e).palette)==null||(f=f[t.color])==null?void 0:f.main)!=null?d:{action:(p=(e.vars||e).palette)==null||(p=p.action)==null?void 0:p.active,disabled:(h=(e.vars||e).palette)==null||(h=h.action)==null?void 0:h.disabled,inherit:void 0}[t.color]}}),Nx=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiSvgIcon"}),{children:o,className:i,color:a="inherit",component:s="svg",fontSize:l="medium",htmlColor:c,inheritViewBox:u=!1,titleAccess:d,viewBox:f="0 0 24 24"}=r,p=q(r,kse),h=g.isValidElement(o)&&o.type==="svg",m=S({},r,{color:a,component:s,fontSize:l,instanceFontSize:t.fontSize,inheritViewBox:u,viewBox:f,hasSvgAsChild:h}),v={};u||(v.viewBox=f);const b=Ise(m);return k.jsxs($se,S({as:s,className:Q(b.root,i),focusable:"false",color:c,"aria-hidden":d?void 0:!0,role:d?"img":void 0,ref:n},v,p,h&&o.props,{ownerState:m,children:[h?o.props.children:o,d?k.jsx("title",{children:d}):null]}))});Nx.muiName="SvgIcon";function rt(e,t){function n(r,o){return k.jsx(Nx,S({"data-testid":`${t}Icon`,ref:o},r,{children:e}))}return n.muiName=Nx.muiName,g.memo(g.forwardRef(n))}const Mse={configure:e=>{j$.configure(e)}},Ase=Object.freeze(Object.defineProperty({__proto__:null,capitalize:ie,createChainedFunction:SO,createSvgIcon:rt,debounce:Rc,deprecatedPropType:kne,isMuiElement:Au,ownerDocument:gn,ownerWindow:si,requirePropFactory:Ine,setRef:Hg,unstable_ClassNameGenerator:Mse,unstable_useEnhancedEffect:Ft,unstable_useId:on,unsupportedProp:Mne,useControlled:To,useEventCallback:Vt,useForkRef:Ot,useIsFocusVisible:U$},Symbol.toStringTag,{value:"Module"}));var pn={};/** - * @license React - * react-is.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */var WM=Symbol.for("react.element"),GM=Symbol.for("react.portal"),bC=Symbol.for("react.fragment"),xC=Symbol.for("react.strict_mode"),wC=Symbol.for("react.profiler"),CC=Symbol.for("react.provider"),SC=Symbol.for("react.context"),Rse=Symbol.for("react.server_context"),PC=Symbol.for("react.forward_ref"),EC=Symbol.for("react.suspense"),OC=Symbol.for("react.suspense_list"),TC=Symbol.for("react.memo"),kC=Symbol.for("react.lazy"),_se=Symbol.for("react.offscreen"),MW;MW=Symbol.for("react.module.reference");function oa(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case WM:switch(e=e.type,e){case bC:case wC:case xC:case EC:case OC:return e;default:switch(e=e&&e.$$typeof,e){case Rse:case SC:case PC:case kC:case TC:case CC:return e;default:return t}}case GM:return t}}}pn.ContextConsumer=SC;pn.ContextProvider=CC;pn.Element=WM;pn.ForwardRef=PC;pn.Fragment=bC;pn.Lazy=kC;pn.Memo=TC;pn.Portal=GM;pn.Profiler=wC;pn.StrictMode=xC;pn.Suspense=EC;pn.SuspenseList=OC;pn.isAsyncMode=function(){return!1};pn.isConcurrentMode=function(){return!1};pn.isContextConsumer=function(e){return oa(e)===SC};pn.isContextProvider=function(e){return oa(e)===CC};pn.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===WM};pn.isForwardRef=function(e){return oa(e)===PC};pn.isFragment=function(e){return oa(e)===bC};pn.isLazy=function(e){return oa(e)===kC};pn.isMemo=function(e){return oa(e)===TC};pn.isPortal=function(e){return oa(e)===GM};pn.isProfiler=function(e){return oa(e)===wC};pn.isStrictMode=function(e){return oa(e)===xC};pn.isSuspense=function(e){return oa(e)===EC};pn.isSuspenseList=function(e){return oa(e)===OC};pn.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===bC||e===wC||e===xC||e===EC||e===OC||e===_se||typeof e=="object"&&e!==null&&(e.$$typeof===kC||e.$$typeof===TC||e.$$typeof===CC||e.$$typeof===SC||e.$$typeof===PC||e.$$typeof===MW||e.getModuleId!==void 0)};pn.typeOf=oa;function Sl(e){return Ee}function CT(e,t){return CT=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},CT(e,t)}function Oy(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,CT(e,t)}function Dse(e,t){return e.classList?!!t&&e.classList.contains(t):(" "+(e.className.baseVal||e.className)+" ").indexOf(" "+t+" ")!==-1}function Nse(e,t){e.classList?e.classList.add(t):Dse(e,t)||(typeof e.className=="string"?e.className=e.className+" "+t:e.setAttribute("class",(e.className&&e.className.baseVal||"")+" "+t))}function UN(e,t){return e.replace(new RegExp("(^|\\s)"+t+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}function Lse(e,t){e.classList?e.classList.remove(t):typeof e.className=="string"?e.className=UN(e.className,t):e.setAttribute("class",UN(e.className&&e.className.baseVal||"",t))}const WN={disabled:!1},Lx=V.createContext(null);var AW=function(t){return t.scrollTop},Km="unmounted",uu="exited",du="entering",uf="entered",ST="exiting",mi=function(e){Oy(t,e);function t(r,o){var i;i=e.call(this,r,o)||this;var a=o,s=a&&!a.isMounting?r.enter:r.appear,l;return i.appearStatus=null,r.in?s?(l=uu,i.appearStatus=du):l=uf:r.unmountOnExit||r.mountOnEnter?l=Km:l=uu,i.state={status:l},i.nextCallback=null,i}t.getDerivedStateFromProps=function(o,i){var a=o.in;return a&&i.status===Km?{status:uu}:null};var n=t.prototype;return n.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},n.componentDidUpdate=function(o){var i=null;if(o!==this.props){var a=this.state.status;this.props.in?a!==du&&a!==uf&&(i=du):(a===du||a===uf)&&(i=ST)}this.updateStatus(!1,i)},n.componentWillUnmount=function(){this.cancelNextCallback()},n.getTimeouts=function(){var o=this.props.timeout,i,a,s;return i=a=s=o,o!=null&&typeof o!="number"&&(i=o.exit,a=o.enter,s=o.appear!==void 0?o.appear:a),{exit:i,enter:a,appear:s}},n.updateStatus=function(o,i){if(o===void 0&&(o=!1),i!==null)if(this.cancelNextCallback(),i===du){if(this.props.unmountOnExit||this.props.mountOnEnter){var a=this.props.nodeRef?this.props.nodeRef.current:Nb.findDOMNode(this);a&&AW(a)}this.performEnter(o)}else this.performExit();else this.props.unmountOnExit&&this.state.status===uu&&this.setState({status:Km})},n.performEnter=function(o){var i=this,a=this.props.enter,s=this.context?this.context.isMounting:o,l=this.props.nodeRef?[s]:[Nb.findDOMNode(this),s],c=l[0],u=l[1],d=this.getTimeouts(),f=s?d.appear:d.enter;if(!o&&!a||WN.disabled){this.safeSetState({status:uf},function(){i.props.onEntered(c)});return}this.props.onEnter(c,u),this.safeSetState({status:du},function(){i.props.onEntering(c,u),i.onTransitionEnd(f,function(){i.safeSetState({status:uf},function(){i.props.onEntered(c,u)})})})},n.performExit=function(){var o=this,i=this.props.exit,a=this.getTimeouts(),s=this.props.nodeRef?void 0:Nb.findDOMNode(this);if(!i||WN.disabled){this.safeSetState({status:uu},function(){o.props.onExited(s)});return}this.props.onExit(s),this.safeSetState({status:ST},function(){o.props.onExiting(s),o.onTransitionEnd(a.exit,function(){o.safeSetState({status:uu},function(){o.props.onExited(s)})})})},n.cancelNextCallback=function(){this.nextCallback!==null&&(this.nextCallback.cancel(),this.nextCallback=null)},n.safeSetState=function(o,i){i=this.setNextCallback(i),this.setState(o,i)},n.setNextCallback=function(o){var i=this,a=!0;return this.nextCallback=function(s){a&&(a=!1,i.nextCallback=null,o(s))},this.nextCallback.cancel=function(){a=!1},this.nextCallback},n.onTransitionEnd=function(o,i){this.setNextCallback(i);var a=this.props.nodeRef?this.props.nodeRef.current:Nb.findDOMNode(this),s=o==null&&!this.props.addEndListener;if(!a||s){setTimeout(this.nextCallback,0);return}if(this.props.addEndListener){var l=this.props.nodeRef?[this.nextCallback]:[a,this.nextCallback],c=l[0],u=l[1];this.props.addEndListener(c,u)}o!=null&&setTimeout(this.nextCallback,o)},n.render=function(){var o=this.state.status;if(o===Km)return null;var i=this.props,a=i.children;i.in,i.mountOnEnter,i.unmountOnExit,i.appear,i.enter,i.exit,i.timeout,i.addEndListener,i.onEnter,i.onEntering,i.onEntered,i.onExit,i.onExiting,i.onExited,i.nodeRef;var s=q(i,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]);return V.createElement(Lx.Provider,{value:null},typeof a=="function"?a(o,s):V.cloneElement(V.Children.only(a),s))},t}(V.Component);mi.contextType=Lx;mi.propTypes={};function Ud(){}mi.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:Ud,onEntering:Ud,onEntered:Ud,onExit:Ud,onExiting:Ud,onExited:Ud};mi.UNMOUNTED=Km;mi.EXITED=uu;mi.ENTERING=du;mi.ENTERED=uf;mi.EXITING=ST;var jse=function(t,n){return t&&n&&n.split(" ").forEach(function(r){return Nse(t,r)})},qP=function(t,n){return t&&n&&n.split(" ").forEach(function(r){return Lse(t,r)})},qM=function(e){Oy(t,e);function t(){for(var r,o=arguments.length,i=new Array(o),a=0;ae.scrollTop;function kc(e,t){var n,r;const{timeout:o,easing:i,style:a={}}=e;return{duration:(n=a.transitionDuration)!=null?n:typeof o=="number"?o:o[t.mode]||0,easing:(r=a.transitionTimingFunction)!=null?r:typeof i=="object"?i[t.mode]:i,delay:a.transitionDelay}}function Use(e){return Se("MuiCollapse",e)}Pe("MuiCollapse",["root","horizontal","vertical","entered","hidden","wrapper","wrapperInner"]);const Wse=["addEndListener","children","className","collapsedSize","component","easing","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","orientation","style","timeout","TransitionComponent"],Gse=e=>{const{orientation:t,classes:n}=e,r={root:["root",`${t}`],entered:["entered"],hidden:["hidden"],wrapper:["wrapper",`${t}`],wrapperInner:["wrapperInner",`${t}`]};return de(r,Use,n)},qse=W("div",{name:"MuiCollapse",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.orientation],n.state==="entered"&&t.entered,n.state==="exited"&&!n.in&&n.collapsedSize==="0px"&&t.hidden]}})(({theme:e,ownerState:t})=>S({height:0,overflow:"hidden",transition:e.transitions.create("height")},t.orientation==="horizontal"&&{height:"auto",width:0,transition:e.transitions.create("width")},t.state==="entered"&&S({height:"auto",overflow:"visible"},t.orientation==="horizontal"&&{width:"auto"}),t.state==="exited"&&!t.in&&t.collapsedSize==="0px"&&{visibility:"hidden"})),Kse=W("div",{name:"MuiCollapse",slot:"Wrapper",overridesResolver:(e,t)=>t.wrapper})(({ownerState:e})=>S({display:"flex",width:"100%"},e.orientation==="horizontal"&&{width:"auto",height:"100%"})),Yse=W("div",{name:"MuiCollapse",slot:"WrapperInner",overridesResolver:(e,t)=>t.wrapperInner})(({ownerState:e})=>S({width:"100%"},e.orientation==="horizontal"&&{width:"auto",height:"100%"})),ka=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiCollapse"}),{addEndListener:o,children:i,className:a,collapsedSize:s="0px",component:l,easing:c,in:u,onEnter:d,onEntered:f,onEntering:p,onExit:h,onExited:m,onExiting:v,orientation:b="vertical",style:y,timeout:w=dU.standard,TransitionComponent:C=mi}=r,O=q(r,Wse),P=S({},r,{orientation:b,collapsedSize:s}),E=Gse(P),T=qn(),$=ic(),M=g.useRef(null),D=g.useRef(),L=typeof s=="number"?`${s}px`:s,N=b==="horizontal",R=N?"width":"height",I=g.useRef(null),A=Ot(n,I),F=ae=>Z=>{if(ae){const ue=I.current;Z===void 0?ae(ue):ae(ue,Z)}},_=()=>M.current?M.current[N?"clientWidth":"clientHeight"]:0,j=F((ae,Z)=>{M.current&&N&&(M.current.style.position="absolute"),ae.style[R]=L,d&&d(ae,Z)}),B=F((ae,Z)=>{const ue=_();M.current&&N&&(M.current.style.position="");const{duration:re,easing:pe}=kc({style:y,timeout:w,easing:c},{mode:"enter"});if(w==="auto"){const le=T.transitions.getAutoHeightDuration(ue);ae.style.transitionDuration=`${le}ms`,D.current=le}else ae.style.transitionDuration=typeof re=="string"?re:`${re}ms`;ae.style[R]=`${ue}px`,ae.style.transitionTimingFunction=pe,p&&p(ae,Z)}),U=F((ae,Z)=>{ae.style[R]="auto",f&&f(ae,Z)}),H=F(ae=>{ae.style[R]=`${_()}px`,h&&h(ae)}),K=F(m),J=F(ae=>{const Z=_(),{duration:ue,easing:re}=kc({style:y,timeout:w,easing:c},{mode:"exit"});if(w==="auto"){const pe=T.transitions.getAutoHeightDuration(Z);ae.style.transitionDuration=`${pe}ms`,D.current=pe}else ae.style.transitionDuration=typeof ue=="string"?ue:`${ue}ms`;ae.style[R]=L,ae.style.transitionTimingFunction=re,v&&v(ae)}),oe=ae=>{w==="auto"&&$.start(D.current||0,ae),o&&o(I.current,ae)};return k.jsx(C,S({in:u,onEnter:j,onEntered:U,onEntering:B,onExit:H,onExited:K,onExiting:J,addEndListener:oe,nodeRef:I,timeout:w==="auto"?null:w},O,{children:(ae,Z)=>k.jsx(qse,S({as:l,className:Q(E.root,a,{entered:E.entered,exited:!u&&L==="0px"&&E.hidden}[ae]),style:S({[N?"minWidth":"minHeight"]:L},y),ref:A},Z,{ownerState:S({},P,{state:ae}),children:k.jsx(Kse,{ownerState:S({},P,{state:ae}),className:E.wrapper,ref:M,children:k.jsx(Yse,{ownerState:S({},P,{state:ae}),className:E.wrapperInner,children:i})})}))}))});ka.muiSupportAuto=!0;function Qse(e){return Se("MuiPaper",e)}Pe("MuiPaper",["root","rounded","outlined","elevation","elevation0","elevation1","elevation2","elevation3","elevation4","elevation5","elevation6","elevation7","elevation8","elevation9","elevation10","elevation11","elevation12","elevation13","elevation14","elevation15","elevation16","elevation17","elevation18","elevation19","elevation20","elevation21","elevation22","elevation23","elevation24"]);const Xse=["className","component","elevation","square","variant"],Jse=e=>{const{square:t,elevation:n,variant:r,classes:o}=e,i={root:["root",r,!t&&"rounded",r==="elevation"&&`elevation${n}`]};return de(i,Qse,o)},Zse=W("div",{name:"MuiPaper",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],!n.square&&t.rounded,n.variant==="elevation"&&t[`elevation${n.elevation}`]]}})(({theme:e,ownerState:t})=>{var n;return S({backgroundColor:(e.vars||e).palette.background.paper,color:(e.vars||e).palette.text.primary,transition:e.transitions.create("box-shadow")},!t.square&&{borderRadius:e.shape.borderRadius},t.variant==="outlined"&&{border:`1px solid ${(e.vars||e).palette.divider}`},t.variant==="elevation"&&S({boxShadow:(e.vars||e).shadows[t.elevation]},!e.vars&&e.palette.mode==="dark"&&{backgroundImage:`linear-gradient(${st("#fff",kD(t.elevation))}, ${st("#fff",kD(t.elevation))})`},e.vars&&{backgroundImage:(n=e.vars.overlays)==null?void 0:n[t.elevation]}))}),Kn=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiPaper"}),{className:o,component:i="div",elevation:a=1,square:s=!1,variant:l="elevation"}=r,c=q(r,Xse),u=S({},r,{component:i,elevation:a,square:s,variant:l}),d=Jse(u);return k.jsx(Zse,S({as:i,ownerState:u,className:Q(d.root,o),ref:n},c))}),RW=g.createContext({});function ed(e){return typeof e=="string"}function $f(e,t,n){return e===void 0||ed(e)?t:S({},t,{ownerState:S({},t.ownerState,n)})}const ele={disableDefaultClasses:!1},tle=g.createContext(ele);function nle(e){const{disableDefaultClasses:t}=g.useContext(tle);return n=>t?"":e(n)}function jx(e,t=[]){if(e===void 0)return{};const n={};return Object.keys(e).filter(r=>r.match(/^on[A-Z]/)&&typeof e[r]=="function"&&!t.includes(r)).forEach(r=>{n[r]=e[r]}),n}function _W(e,t,n){return typeof e=="function"?e(t,n):e}function GN(e){if(e===void 0)return{};const t={};return Object.keys(e).filter(n=>!(n.match(/^on[A-Z]/)&&typeof e[n]=="function")).forEach(n=>{t[n]=e[n]}),t}function DW(e){const{getSlotProps:t,additionalProps:n,externalSlotProps:r,externalForwardedProps:o,className:i}=e;if(!t){const p=Q(n==null?void 0:n.className,i,o==null?void 0:o.className,r==null?void 0:r.className),h=S({},n==null?void 0:n.style,o==null?void 0:o.style,r==null?void 0:r.style),m=S({},n,o,r);return p.length>0&&(m.className=p),Object.keys(h).length>0&&(m.style=h),{props:m,internalRef:void 0}}const a=jx(S({},o,r)),s=GN(r),l=GN(o),c=t(a),u=Q(c==null?void 0:c.className,n==null?void 0:n.className,i,o==null?void 0:o.className,r==null?void 0:r.className),d=S({},c==null?void 0:c.style,n==null?void 0:n.style,o==null?void 0:o.style,r==null?void 0:r.style),f=S({},c,n,l,s);return u.length>0&&(f.className=u),Object.keys(d).length>0&&(f.style=d),{props:f,internalRef:c.ref}}const rle=["elementType","externalSlotProps","ownerState","skipResolvingSlotProps"];function Lo(e){var t;const{elementType:n,externalSlotProps:r,ownerState:o,skipResolvingSlotProps:i=!1}=e,a=q(e,rle),s=i?{}:_W(r,o),{props:l,internalRef:c}=DW(S({},a,{externalSlotProps:s})),u=Ot(c,s==null?void 0:s.ref,(t=e.additionalProps)==null?void 0:t.ref);return $f(n,S({},l,{ref:u}),o)}const ole=["className","elementType","ownerState","externalForwardedProps","getSlotOwnerState","internalForwardedProps"],ile=["component","slots","slotProps"],ale=["component"];function Fx(e,t){const{className:n,elementType:r,ownerState:o,externalForwardedProps:i,getSlotOwnerState:a,internalForwardedProps:s}=t,l=q(t,ole),{component:c,slots:u={[e]:void 0},slotProps:d={[e]:void 0}}=i,f=q(i,ile),p=u[e]||r,h=_W(d[e],o),m=DW(S({className:n},l,{externalForwardedProps:e==="root"?f:void 0,externalSlotProps:h})),{props:{component:v},internalRef:b}=m,y=q(m.props,ale),w=Ot(b,h==null?void 0:h.ref,t.ref),C=a?a(y):{},O=S({},o,C),P=e==="root"?v||c:v,E=$f(p,S({},e==="root"&&!c&&!u[e]&&s,e!=="root"&&!u[e]&&s,y,P&&{as:P},{ref:w}),O);return Object.keys(C).forEach(T=>{delete E[T]}),[p,E]}function sle(e){return Se("MuiAccordion",e)}const Lb=Pe("MuiAccordion",["root","rounded","expanded","disabled","gutters","region"]),lle=["children","className","defaultExpanded","disabled","disableGutters","expanded","onChange","square","slots","slotProps","TransitionComponent","TransitionProps"],cle=Sl(),ule=e=>{const{classes:t,square:n,expanded:r,disabled:o,disableGutters:i}=e;return de({root:["root",!n&&"rounded",r&&"expanded",o&&"disabled",!i&&"gutters"],region:["region"]},sle,t)},dle=W(Kn,{name:"MuiAccordion",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[{[`& .${Lb.region}`]:t.region},t.root,!n.square&&t.rounded,!n.disableGutters&&t.gutters]}})(({theme:e})=>{const t={duration:e.transitions.duration.shortest};return{position:"relative",transition:e.transitions.create(["margin"],t),overflowAnchor:"none","&::before":{position:"absolute",left:0,top:-1,right:0,height:1,content:'""',opacity:1,backgroundColor:(e.vars||e).palette.divider,transition:e.transitions.create(["opacity","background-color"],t)},"&:first-of-type":{"&::before":{display:"none"}},[`&.${Lb.expanded}`]:{"&::before":{opacity:0},"&:first-of-type":{marginTop:0},"&:last-of-type":{marginBottom:0},"& + &":{"&::before":{display:"none"}}},[`&.${Lb.disabled}`]:{backgroundColor:(e.vars||e).palette.action.disabledBackground}}},({theme:e})=>({variants:[{props:t=>!t.square,style:{borderRadius:0,"&:first-of-type":{borderTopLeftRadius:(e.vars||e).shape.borderRadius,borderTopRightRadius:(e.vars||e).shape.borderRadius},"&:last-of-type":{borderBottomLeftRadius:(e.vars||e).shape.borderRadius,borderBottomRightRadius:(e.vars||e).shape.borderRadius,"@supports (-ms-ime-align: auto)":{borderBottomLeftRadius:0,borderBottomRightRadius:0}}}},{props:t=>!t.disableGutters,style:{[`&.${Lb.expanded}`]:{margin:"16px 0"}}}]})),QM=g.forwardRef(function(t,n){const r=cle({props:t,name:"MuiAccordion"}),{children:o,className:i,defaultExpanded:a=!1,disabled:s=!1,disableGutters:l=!1,expanded:c,onChange:u,square:d=!1,slots:f={},slotProps:p={},TransitionComponent:h,TransitionProps:m}=r,v=q(r,lle),[b,y]=To({controlled:c,default:a,name:"Accordion",state:"expanded"}),w=g.useCallback(N=>{y(!b),u&&u(N,!b)},[b,u,y]),[C,...O]=g.Children.toArray(o),P=g.useMemo(()=>({expanded:b,disabled:s,disableGutters:l,toggle:w}),[b,s,l,w]),E=S({},r,{square:d,disabled:s,disableGutters:l,expanded:b}),T=ule(E),$=S({transition:h},f),M=S({transition:m},p),[D,L]=Fx("transition",{elementType:ka,externalForwardedProps:{slots:$,slotProps:M},ownerState:E});return k.jsxs(dle,S({className:Q(T.root,i),ref:n,ownerState:E,square:d},v,{children:[k.jsx(RW.Provider,{value:P,children:C}),k.jsx(D,S({in:b,timeout:"auto"},L,{children:k.jsx("div",{"aria-labelledby":C.props.id,id:C.props["aria-controls"],role:"region",className:T.region,children:O})}))]}))});function fle(e){return Se("MuiAccordionDetails",e)}Pe("MuiAccordionDetails",["root"]);const ple=["className"],hle=Sl(),mle=e=>{const{classes:t}=e;return de({root:["root"]},fle,t)},gle=W("div",{name:"MuiAccordionDetails",slot:"Root",overridesResolver:(e,t)=>t.root})(({theme:e})=>({padding:e.spacing(1,2,2)})),XM=g.forwardRef(function(t,n){const r=hle({props:t,name:"MuiAccordionDetails"}),{className:o}=r,i=q(r,ple),a=r,s=mle(a);return k.jsx(gle,S({className:Q(s.root,o),ref:n,ownerState:a},i))});function vle(e){const{className:t,classes:n,pulsate:r=!1,rippleX:o,rippleY:i,rippleSize:a,in:s,onExited:l,timeout:c}=e,[u,d]=g.useState(!1),f=Q(t,n.ripple,n.rippleVisible,r&&n.ripplePulsate),p={width:a,height:a,top:-(a/2)+i,left:-(a/2)+o},h=Q(n.child,u&&n.childLeaving,r&&n.childPulsate);return!s&&!u&&d(!0),g.useEffect(()=>{if(!s&&l!=null){const m=setTimeout(l,c);return()=>{clearTimeout(m)}}},[l,s,c]),k.jsx("span",{className:f,style:p,children:k.jsx("span",{className:h})})}const _i=Pe("MuiTouchRipple",["root","ripple","rippleVisible","ripplePulsate","child","childLeaving","childPulsate"]),yle=["center","classes","className"];let IC=e=>e,qN,KN,YN,QN;const ET=550,ble=80,xle=Ba(qN||(qN=IC` +`+i.stack}return{value:e,source:t,stack:o,digest:null}}function f$(e,t,n){return{value:e,source:null,stack:n??null,digest:t??null}}function q2(e,t){try{console.error(t.value)}catch(n){setTimeout(function(){throw n})}}var m1e=typeof WeakMap=="function"?WeakMap:Map;function xJ(e,t,n){n=Mu(-1,n),n.tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){RT||(RT=!0,r_=r),q2(e,t)},n}function SJ(e,t,n){n=Mu(-1,n),n.tag=3;var r=e.type.getDerivedStateFromError;if(typeof r=="function"){var o=t.value;n.payload=function(){return r(o)},n.callback=function(){q2(e,t)}}var i=e.stateNode;return i!==null&&typeof i.componentDidCatch=="function"&&(n.callback=function(){q2(e,t),typeof r!="function"&&(gf===null?gf=new Set([this]):gf.add(this));var a=t.stack;this.componentDidCatch(t.value,{componentStack:a!==null?a:""})}),n}function l3(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new m1e;var o=new Set;r.set(t,o)}else o=r.get(t),o===void 0&&(o=new Set,r.set(t,o));o.has(n)||(o.add(n),e=k1e.bind(null,e,t,n),t.then(e,e))}function c3(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function u3(e,t,n,r,o){return e.mode&1?(e.flags|=65536,e.lanes=o,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,n.tag===1&&(n.alternate===null?n.tag=17:(t=Mu(-1,1),t.tag=2,mf(n,t,1))),n.lanes|=1),e)}var g1e=rd.ReactCurrentOwner,ha=!1;function Li(e,t,n,r){t.child=e===null?QQ(t,null,n,r):Dy(t,e.child,n,r)}function d3(e,t,n,r,o){n=n.render;var i=t.ref;return ey(t,o),r=vF(e,t,n,r,i,o),n=bF(),e!==null&&!ha?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,Gu(e,t,o)):(Nr&&n&&aF(t),t.flags|=1,Li(e,t,r,o),t.child)}function f3(e,t,n,r,o){if(e===null){var i=n.type;return typeof i=="function"&&!kF(i)&&i.defaultProps===void 0&&n.compare===null&&n.defaultProps===void 0?(t.tag=15,t.type=i,CJ(e,t,i,r,o)):(e=FP(n.type,null,r,t,t.mode,o),e.ref=t.ref,e.return=t,t.child=e)}if(i=e.child,!(e.lanes&o)){var a=i.memoizedProps;if(n=n.compare,n=n!==null?n:qw,n(a,r)&&e.ref===t.ref)return Gu(e,t,o)}return t.flags|=1,e=vf(i,r),e.ref=t.ref,e.return=t,t.child=e}function CJ(e,t,n,r,o){if(e!==null){var i=e.memoizedProps;if(qw(i,r)&&e.ref===t.ref)if(ha=!1,t.pendingProps=r=i,(e.lanes&o)!==0)e.flags&131072&&(ha=!0);else return t.lanes=e.lanes,Gu(e,t,o)}return K2(e,t,n,r,o)}function PJ(e,t,n){var r=t.pendingProps,o=r.children,i=e!==null?e.memoizedState:null;if(r.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},xr(Ag,ja),ja|=n;else{if(!(n&1073741824))return e=i!==null?i.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,xr(Ag,ja),ja|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=i!==null?i.baseLanes:n,xr(Ag,ja),ja|=r}else i!==null?(r=i.baseLanes|n,t.memoizedState=null):r=n,xr(Ag,ja),ja|=r;return Li(e,t,o,n),t.child}function TJ(e,t){var n=t.ref;(e===null&&n!==null||e!==null&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function K2(e,t,n,r,o){var i=ya(n)?Ch:Pi.current;return i=Ry(t,i),ey(t,o),n=vF(e,t,n,r,i,o),r=bF(),e!==null&&!ha?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,Gu(e,t,o)):(Nr&&r&&aF(t),t.flags|=1,Li(e,t,n,o),t.child)}function p3(e,t,n,r,o){if(ya(n)){var i=!0;CT(t)}else i=!1;if(ey(t,o),t.stateNode===null)DP(e,t),wJ(t,n,r),G2(t,n,r,o),r=!0;else if(e===null){var a=t.stateNode,s=t.memoizedProps;a.props=s;var l=a.context,c=n.contextType;typeof c=="object"&&c!==null?c=il(c):(c=ya(n)?Ch:Pi.current,c=Ry(t,c));var u=n.getDerivedStateFromProps,d=typeof u=="function"||typeof a.getSnapshotBeforeUpdate=="function";d||typeof a.UNSAFE_componentWillReceiveProps!="function"&&typeof a.componentWillReceiveProps!="function"||(s!==r||l!==c)&&s3(t,a,r,c),Dd=!1;var f=t.memoizedState;a.state=f,IT(t,r,a,o),l=t.memoizedState,s!==r||f!==l||ga.current||Dd?(typeof u=="function"&&(W2(t,n,u,r),l=t.memoizedState),(s=Dd||a3(t,n,s,r,f,l,c))?(d||typeof a.UNSAFE_componentWillMount!="function"&&typeof a.componentWillMount!="function"||(typeof a.componentWillMount=="function"&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount=="function"&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount=="function"&&(t.flags|=4194308)):(typeof a.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),a.props=r,a.state=l,a.context=c,r=s):(typeof a.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,ZQ(e,t),s=t.memoizedProps,c=t.type===t.elementType?s:Rl(t.type,s),a.props=c,d=t.pendingProps,f=a.context,l=n.contextType,typeof l=="object"&&l!==null?l=il(l):(l=ya(n)?Ch:Pi.current,l=Ry(t,l));var p=n.getDerivedStateFromProps;(u=typeof p=="function"||typeof a.getSnapshotBeforeUpdate=="function")||typeof a.UNSAFE_componentWillReceiveProps!="function"&&typeof a.componentWillReceiveProps!="function"||(s!==d||f!==l)&&s3(t,a,r,l),Dd=!1,f=t.memoizedState,a.state=f,IT(t,r,a,o);var m=t.memoizedState;s!==d||f!==m||ga.current||Dd?(typeof p=="function"&&(W2(t,n,p,r),m=t.memoizedState),(c=Dd||a3(t,n,c,r,f,m,l)||!1)?(u||typeof a.UNSAFE_componentWillUpdate!="function"&&typeof a.componentWillUpdate!="function"||(typeof a.componentWillUpdate=="function"&&a.componentWillUpdate(r,m,l),typeof a.UNSAFE_componentWillUpdate=="function"&&a.UNSAFE_componentWillUpdate(r,m,l)),typeof a.componentDidUpdate=="function"&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof a.componentDidUpdate!="function"||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!="function"||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=m),a.props=r,a.state=m,a.context=l,r=c):(typeof a.componentDidUpdate!="function"||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!="function"||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return Y2(e,t,n,r,i,o)}function Y2(e,t,n,r,o,i){TJ(e,t);var a=(t.flags&128)!==0;if(!r&&!a)return o&&J4(t,n,!1),Gu(e,t,i);r=t.stateNode,g1e.current=t;var s=a&&typeof n.getDerivedStateFromError!="function"?null:r.render();return t.flags|=1,e!==null&&a?(t.child=Dy(t,e.child,null,i),t.child=Dy(t,null,s,i)):Li(e,t,s,i),t.memoizedState=r.state,o&&J4(t,n,!0),t.child}function EJ(e){var t=e.stateNode;t.pendingContext?Q4(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Q4(e,t.context,!1),hF(e,t.containerInfo)}function h3(e,t,n,r,o){return _y(),lF(o),t.flags|=256,Li(e,t,n,r),t.child}var X2={dehydrated:null,treeContext:null,retryLane:0};function Q2(e){return{baseLanes:e,cachePool:null,transitions:null}}function OJ(e,t,n){var r=t.pendingProps,o=Hr.current,i=!1,a=(t.flags&128)!==0,s;if((s=a)||(s=e!==null&&e.memoizedState===null?!1:(o&2)!==0),s?(i=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(o|=1),xr(Hr,o&1),e===null)return H2(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(a=r.children,e=r.fallback,i?(r=t.mode,i=t.child,a={mode:"hidden",children:a},!(r&1)&&i!==null?(i.childLanes=0,i.pendingProps=a):i=TI(a,r,0,null),e=sh(e,r,n,null),i.return=t,e.return=t,i.sibling=e,t.child=i,t.child.memoizedState=Q2(n),t.memoizedState=X2,e):SF(t,a));if(o=e.memoizedState,o!==null&&(s=o.dehydrated,s!==null))return y1e(e,t,a,r,s,o,n);if(i){i=r.fallback,a=t.mode,o=e.child,s=o.sibling;var l={mode:"hidden",children:r.children};return!(a&1)&&t.child!==o?(r=t.child,r.childLanes=0,r.pendingProps=l,t.deletions=null):(r=vf(o,l),r.subtreeFlags=o.subtreeFlags&14680064),s!==null?i=vf(s,i):(i=sh(i,a,n,null),i.flags|=2),i.return=t,r.return=t,r.sibling=i,t.child=r,r=i,i=t.child,a=e.child.memoizedState,a=a===null?Q2(n):{baseLanes:a.baseLanes|n,cachePool:null,transitions:a.transitions},i.memoizedState=a,i.childLanes=e.childLanes&~n,t.memoizedState=X2,r}return i=e.child,e=i.sibling,r=vf(i,{mode:"visible",children:r.children}),!(t.mode&1)&&(r.lanes=n),r.return=t,r.sibling=null,e!==null&&(n=t.deletions,n===null?(t.deletions=[e],t.flags|=16):n.push(e)),t.child=r,t.memoizedState=null,r}function SF(e,t){return t=TI({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function OC(e,t,n,r){return r!==null&&lF(r),Dy(t,e.child,null,n),e=SF(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function y1e(e,t,n,r,o,i,a){if(n)return t.flags&256?(t.flags&=-257,r=f$(Error(at(422))),OC(e,t,a,r)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(i=r.fallback,o=t.mode,r=TI({mode:"visible",children:r.children},o,0,null),i=sh(i,o,a,null),i.flags|=2,r.return=t,i.return=t,r.sibling=i,t.child=r,t.mode&1&&Dy(t,e.child,null,a),t.child.memoizedState=Q2(a),t.memoizedState=X2,i);if(!(t.mode&1))return OC(e,t,a,null);if(o.data==="$!"){if(r=o.nextSibling&&o.nextSibling.dataset,r)var s=r.dgst;return r=s,i=Error(at(419)),r=f$(i,r,void 0),OC(e,t,a,r)}if(s=(a&e.childLanes)!==0,ha||s){if(r=qo,r!==null){switch(a&-a){case 4:o=2;break;case 16:o=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:o=32;break;case 536870912:o=268435456;break;default:o=0}o=o&(r.suspendedLanes|a)?0:o,o!==0&&o!==i.retryLane&&(i.retryLane=o,Wu(e,o),Xl(r,e,o,-1))}return IF(),r=f$(Error(at(421))),OC(e,t,a,r)}return o.data==="$?"?(t.flags|=128,t.child=e.child,t=M1e.bind(null,e),o._reactRetry=t,null):(e=i.treeContext,Ka=hf(o.nextSibling),Ja=t,Nr=!0,zl=null,e!==null&&(Hs[Us++]=Pu,Hs[Us++]=Tu,Hs[Us++]=Ph,Pu=e.id,Tu=e.overflow,Ph=t),t=SF(t,r.children),t.flags|=4096,t)}function m3(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),U2(e.return,t,n)}function p$(e,t,n,r,o){var i=e.memoizedState;i===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:o}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=r,i.tail=n,i.tailMode=o)}function IJ(e,t,n){var r=t.pendingProps,o=r.revealOrder,i=r.tail;if(Li(e,t,r.children,n),r=Hr.current,r&2)r=r&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&m3(e,n,t);else if(e.tag===19)m3(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(xr(Hr,r),!(t.mode&1))t.memoizedState=null;else switch(o){case"forwards":for(n=t.child,o=null;n!==null;)e=n.alternate,e!==null&&kT(e)===null&&(o=n),n=n.sibling;n=o,n===null?(o=t.child,t.child=null):(o=n.sibling,n.sibling=null),p$(t,!1,o,n,i);break;case"backwards":for(n=null,o=t.child,t.child=null;o!==null;){if(e=o.alternate,e!==null&&kT(e)===null){t.child=o;break}e=o.sibling,o.sibling=n,n=o,o=e}p$(t,!0,n,null,i);break;case"together":p$(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function DP(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Gu(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Eh|=t.lanes,!(n&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(at(153));if(t.child!==null){for(e=t.child,n=vf(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=vf(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function v1e(e,t,n){switch(t.tag){case 3:EJ(t),_y();break;case 5:eJ(t);break;case 1:ya(t.type)&&CT(t);break;case 4:hF(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,o=t.memoizedProps.value;xr(ET,r._currentValue),r._currentValue=o;break;case 13:if(r=t.memoizedState,r!==null)return r.dehydrated!==null?(xr(Hr,Hr.current&1),t.flags|=128,null):n&t.child.childLanes?OJ(e,t,n):(xr(Hr,Hr.current&1),e=Gu(e,t,n),e!==null?e.sibling:null);xr(Hr,Hr.current&1);break;case 19:if(r=(n&t.childLanes)!==0,e.flags&128){if(r)return IJ(e,t,n);t.flags|=128}if(o=t.memoizedState,o!==null&&(o.rendering=null,o.tail=null,o.lastEffect=null),xr(Hr,Hr.current),r)break;return null;case 22:case 23:return t.lanes=0,PJ(e,t,n)}return Gu(e,t,n)}var kJ,J2,MJ,AJ;kJ=function(e,t){for(var n=t.child;n!==null;){if(n.tag===5||n.tag===6)e.appendChild(n.stateNode);else if(n.tag!==4&&n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break;for(;n.sibling===null;){if(n.return===null||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}};J2=function(){};MJ=function(e,t,n,r){var o=e.memoizedProps;if(o!==r){e=t.stateNode,Hp($c.current);var i=null;switch(n){case"input":o=w2(e,o),r=w2(e,r),i=[];break;case"select":o=Gr({},o,{value:void 0}),r=Gr({},r,{value:void 0}),i=[];break;case"textarea":o=C2(e,o),r=C2(e,r),i=[];break;default:typeof o.onClick!="function"&&typeof r.onClick=="function"&&(e.onclick=xT)}T2(n,r);var a;n=null;for(c in o)if(!r.hasOwnProperty(c)&&o.hasOwnProperty(c)&&o[c]!=null)if(c==="style"){var s=o[c];for(a in s)s.hasOwnProperty(a)&&(n||(n={}),n[a]="")}else c!=="dangerouslySetInnerHTML"&&c!=="children"&&c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&c!=="autoFocus"&&(Bw.hasOwnProperty(c)?i||(i=[]):(i=i||[]).push(c,null));for(c in r){var l=r[c];if(s=o!=null?o[c]:void 0,r.hasOwnProperty(c)&&l!==s&&(l!=null||s!=null))if(c==="style")if(s){for(a in s)!s.hasOwnProperty(a)||l&&l.hasOwnProperty(a)||(n||(n={}),n[a]="");for(a in l)l.hasOwnProperty(a)&&s[a]!==l[a]&&(n||(n={}),n[a]=l[a])}else n||(i||(i=[]),i.push(c,n)),n=l;else c==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,s=s?s.__html:void 0,l!=null&&s!==l&&(i=i||[]).push(c,l)):c==="children"?typeof l!="string"&&typeof l!="number"||(i=i||[]).push(c,""+l):c!=="suppressContentEditableWarning"&&c!=="suppressHydrationWarning"&&(Bw.hasOwnProperty(c)?(l!=null&&c==="onScroll"&&Er("scroll",e),i||s===l||(i=[])):(i=i||[]).push(c,l))}n&&(i=i||[]).push("style",n);var c=i;(t.updateQueue=c)&&(t.flags|=4)}};AJ=function(e,t,n,r){n!==r&&(t.flags|=4)};function n0(e,t){if(!Nr)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function pi(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var o=e.child;o!==null;)n|=o.lanes|o.childLanes,r|=o.subtreeFlags&14680064,r|=o.flags&14680064,o.return=e,o=o.sibling;else for(o=e.child;o!==null;)n|=o.lanes|o.childLanes,r|=o.subtreeFlags,r|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function b1e(e,t,n){var r=t.pendingProps;switch(sF(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return pi(t),null;case 1:return ya(t.type)&&ST(),pi(t),null;case 3:return r=t.stateNode,Ny(),Ar(ga),Ar(Pi),gF(),r.pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),(e===null||e.child===null)&&(TC(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,zl!==null&&(a_(zl),zl=null))),J2(e,t),pi(t),null;case 5:mF(t);var o=Hp(Jw.current);if(n=t.type,e!==null&&t.stateNode!=null)MJ(e,t,n,r,o),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!r){if(t.stateNode===null)throw Error(at(166));return pi(t),null}if(e=Hp($c.current),TC(t)){r=t.stateNode,n=t.type;var i=t.memoizedProps;switch(r[Tc]=t,r[Xw]=i,e=(t.mode&1)!==0,n){case"dialog":Er("cancel",r),Er("close",r);break;case"iframe":case"object":case"embed":Er("load",r);break;case"video":case"audio":for(o=0;o<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=a.createElement(n,{is:r.is}):(e=a.createElement(n),n==="select"&&(a=e,r.multiple?a.multiple=!0:r.size&&(a.size=r.size))):e=a.createElementNS(e,n),e[Tc]=t,e[Xw]=r,kJ(e,t,!1,!1),t.stateNode=e;e:{switch(a=E2(n,r),n){case"dialog":Er("cancel",e),Er("close",e),o=r;break;case"iframe":case"object":case"embed":Er("load",e),o=r;break;case"video":case"audio":for(o=0;oFy&&(t.flags|=128,r=!0,n0(i,!1),t.lanes=4194304)}else{if(!r)if(e=kT(a),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),n0(i,!0),i.tail===null&&i.tailMode==="hidden"&&!a.alternate&&!Nr)return pi(t),null}else 2*so()-i.renderingStartTime>Fy&&n!==1073741824&&(t.flags|=128,r=!0,n0(i,!1),t.lanes=4194304);i.isBackwards?(a.sibling=t.child,t.child=a):(n=i.last,n!==null?n.sibling=a:t.child=a,i.last=a)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=so(),t.sibling=null,n=Hr.current,xr(Hr,r?n&1|2:n&1),t):(pi(t),null);case 22:case 23:return OF(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?ja&1073741824&&(pi(t),t.subtreeFlags&6&&(t.flags|=8192)):pi(t),null;case 24:return null;case 25:return null}throw Error(at(156,t.tag))}function w1e(e,t){switch(sF(t),t.tag){case 1:return ya(t.type)&&ST(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Ny(),Ar(ga),Ar(Pi),gF(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return mF(t),null;case 13:if(Ar(Hr),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(at(340));_y()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Ar(Hr),null;case 4:return Ny(),null;case 10:return dF(t.type._context),null;case 22:case 23:return OF(),null;case 24:return null;default:return null}}var IC=!1,vi=!1,x1e=typeof WeakSet=="function"?WeakSet:Set,Tt=null;function Mg(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){to(e,t,r)}else n.current=null}function Z2(e,t,n){try{n()}catch(r){to(e,t,r)}}var g3=!1;function S1e(e,t){if(N2=vT,e=NQ(),iF(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var o=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var a=0,s=-1,l=-1,c=0,u=0,d=e,f=null;t:for(;;){for(var p;d!==n||o!==0&&d.nodeType!==3||(s=a+o),d!==i||r!==0&&d.nodeType!==3||(l=a+r),d.nodeType===3&&(a+=d.nodeValue.length),(p=d.firstChild)!==null;)f=d,d=p;for(;;){if(d===e)break t;if(f===n&&++c===o&&(s=a),f===i&&++u===r&&(l=a),(p=d.nextSibling)!==null)break;d=f,f=d.parentNode}d=p}n=s===-1||l===-1?null:{start:s,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(L2={focusedElem:e,selectionRange:n},vT=!1,Tt=t;Tt!==null;)if(t=Tt,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Tt=e;else for(;Tt!==null;){t=Tt;try{var m=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(m!==null){var g=m.memoizedProps,v=m.memoizedState,w=t.stateNode,x=w.getSnapshotBeforeUpdate(t.elementType===t.type?g:Rl(t.type,g),v);w.__reactInternalSnapshotBeforeUpdate=x}break;case 3:var S=t.stateNode.containerInfo;S.nodeType===1?S.textContent="":S.nodeType===9&&S.documentElement&&S.removeChild(S.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(at(163))}}catch(P){to(t,t.return,P)}if(e=t.sibling,e!==null){e.return=t.return,Tt=e;break}Tt=t.return}return m=g3,g3=!1,m}function lw(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var o=r=r.next;do{if((o.tag&e)===e){var i=o.destroy;o.destroy=void 0,i!==void 0&&Z2(t,n,i)}o=o.next}while(o!==r)}}function CI(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function e_(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function $J(e){var t=e.alternate;t!==null&&(e.alternate=null,$J(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Tc],delete t[Xw],delete t[B2],delete t[o1e],delete t[i1e])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function RJ(e){return e.tag===5||e.tag===3||e.tag===4}function y3(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||RJ(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function t_(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=xT));else if(r!==4&&(e=e.child,e!==null))for(t_(e,t,n),e=e.sibling;e!==null;)t_(e,t,n),e=e.sibling}function n_(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(n_(e,t,n),e=e.sibling;e!==null;)n_(e,t,n),e=e.sibling}var ei=null,Nl=!1;function Cd(e,t,n){for(n=n.child;n!==null;)_J(e,t,n),n=n.sibling}function _J(e,t,n){if(Ac&&typeof Ac.onCommitFiberUnmount=="function")try{Ac.onCommitFiberUnmount(mI,n)}catch{}switch(n.tag){case 5:vi||Mg(n,t);case 6:var r=ei,o=Nl;ei=null,Cd(e,t,n),ei=r,Nl=o,ei!==null&&(Nl?(e=ei,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):ei.removeChild(n.stateNode));break;case 18:ei!==null&&(Nl?(e=ei,n=n.stateNode,e.nodeType===8?a$(e.parentNode,n):e.nodeType===1&&a$(e,n),Ww(e)):a$(ei,n.stateNode));break;case 4:r=ei,o=Nl,ei=n.stateNode.containerInfo,Nl=!0,Cd(e,t,n),ei=r,Nl=o;break;case 0:case 11:case 14:case 15:if(!vi&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){o=r=r.next;do{var i=o,a=i.destroy;i=i.tag,a!==void 0&&(i&2||i&4)&&Z2(n,t,a),o=o.next}while(o!==r)}Cd(e,t,n);break;case 1:if(!vi&&(Mg(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(s){to(n,t,s)}Cd(e,t,n);break;case 21:Cd(e,t,n);break;case 22:n.mode&1?(vi=(r=vi)||n.memoizedState!==null,Cd(e,t,n),vi=r):Cd(e,t,n);break;default:Cd(e,t,n)}}function v3(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new x1e),t.forEach(function(r){var o=A1e.bind(null,e,r);n.has(r)||(n.add(r),r.then(o,o))})}}function Ol(e,t){var n=t.deletions;if(n!==null)for(var r=0;ro&&(o=a),r&=~i}if(r=o,r=so()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*P1e(r/1960))-r,10e?16:e,rf===null)var r=!1;else{if(e=rf,rf=null,_T=0,Ln&6)throw Error(at(331));var o=Ln;for(Ln|=4,Tt=e.current;Tt!==null;){var i=Tt,a=i.child;if(Tt.flags&16){var s=i.deletions;if(s!==null){for(var l=0;lso()-TF?ah(e,0):PF|=n),va(e,t)}function VJ(e,t){t===0&&(e.mode&1?(t=bC,bC<<=1,!(bC&130023424)&&(bC=4194304)):t=1);var n=Wi();e=Wu(e,t),e!==null&&(SS(e,t,n),va(e,n))}function M1e(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),VJ(e,n)}function A1e(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,o=e.memoizedState;o!==null&&(n=o.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(at(314))}r!==null&&r.delete(t),VJ(e,n)}var HJ;HJ=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||ga.current)ha=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return ha=!1,v1e(e,t,n);ha=!!(e.flags&131072)}else ha=!1,Nr&&t.flags&1048576&&qQ(t,TT,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;DP(e,t),e=t.pendingProps;var o=Ry(t,Pi.current);ey(t,n),o=vF(null,t,r,e,o,n);var i=bF();return t.flags|=1,typeof o=="object"&&o!==null&&typeof o.render=="function"&&o.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,ya(r)?(i=!0,CT(t)):i=!1,t.memoizedState=o.state!==null&&o.state!==void 0?o.state:null,pF(t),o.updater=SI,t.stateNode=o,o._reactInternals=t,G2(t,r,e,n),t=Y2(null,t,r,!0,i,n)):(t.tag=0,Nr&&i&&aF(t),Li(null,t,o,n),t=t.child),t;case 16:r=t.elementType;e:{switch(DP(e,t),e=t.pendingProps,o=r._init,r=o(r._payload),t.type=r,o=t.tag=R1e(r),e=Rl(r,e),o){case 0:t=K2(null,t,r,e,n);break e;case 1:t=p3(null,t,r,e,n);break e;case 11:t=d3(null,t,r,e,n);break e;case 14:t=f3(null,t,r,Rl(r.type,e),n);break e}throw Error(at(306,r,""))}return t;case 0:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Rl(r,o),K2(e,t,r,o,n);case 1:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Rl(r,o),p3(e,t,r,o,n);case 3:e:{if(EJ(t),e===null)throw Error(at(387));r=t.pendingProps,i=t.memoizedState,o=i.element,ZQ(e,t),IT(t,r,null,n);var a=t.memoizedState;if(r=a.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:a.cache,pendingSuspenseBoundaries:a.pendingSuspenseBoundaries,transitions:a.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){o=Ly(Error(at(423)),t),t=h3(e,t,r,n,o);break e}else if(r!==o){o=Ly(Error(at(424)),t),t=h3(e,t,r,n,o);break e}else for(Ka=hf(t.stateNode.containerInfo.firstChild),Ja=t,Nr=!0,zl=null,n=QQ(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(_y(),r===o){t=Gu(e,t,n);break e}Li(e,t,r,n)}t=t.child}return t;case 5:return eJ(t),e===null&&H2(t),r=t.type,o=t.pendingProps,i=e!==null?e.memoizedProps:null,a=o.children,F2(r,o)?a=null:i!==null&&F2(r,i)&&(t.flags|=32),TJ(e,t),Li(e,t,a,n),t.child;case 6:return e===null&&H2(t),null;case 13:return OJ(e,t,n);case 4:return hF(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Dy(t,null,r,n):Li(e,t,r,n),t.child;case 11:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Rl(r,o),d3(e,t,r,o,n);case 7:return Li(e,t,t.pendingProps,n),t.child;case 8:return Li(e,t,t.pendingProps.children,n),t.child;case 12:return Li(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,o=t.pendingProps,i=t.memoizedProps,a=o.value,xr(ET,r._currentValue),r._currentValue=a,i!==null)if(rc(i.value,a)){if(i.children===o.children&&!ga.current){t=Gu(e,t,n);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var s=i.dependencies;if(s!==null){a=i.child;for(var l=s.firstContext;l!==null;){if(l.context===r){if(i.tag===1){l=Mu(-1,n&-n),l.tag=2;var c=i.updateQueue;if(c!==null){c=c.shared;var u=c.pending;u===null?l.next=l:(l.next=u.next,u.next=l),c.pending=l}}i.lanes|=n,l=i.alternate,l!==null&&(l.lanes|=n),U2(i.return,n,t),s.lanes|=n;break}l=l.next}}else if(i.tag===10)a=i.type===t.type?null:i.child;else if(i.tag===18){if(a=i.return,a===null)throw Error(at(341));a.lanes|=n,s=a.alternate,s!==null&&(s.lanes|=n),U2(a,n,t),a=i.sibling}else a=i.child;if(a!==null)a.return=i;else for(a=i;a!==null;){if(a===t){a=null;break}if(i=a.sibling,i!==null){i.return=a.return,a=i;break}a=a.return}i=a}Li(e,t,o.children,n),t=t.child}return t;case 9:return o=t.type,r=t.pendingProps.children,ey(t,n),o=il(o),r=r(o),t.flags|=1,Li(e,t,r,n),t.child;case 14:return r=t.type,o=Rl(r,t.pendingProps),o=Rl(r.type,o),f3(e,t,r,o,n);case 15:return CJ(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Rl(r,o),DP(e,t),t.tag=1,ya(r)?(e=!0,CT(t)):e=!1,ey(t,n),wJ(t,r,o),G2(t,r,o,n),Y2(null,t,r,!0,e,n);case 19:return IJ(e,t,n);case 22:return PJ(e,t,n)}throw Error(at(156,t.tag))};function UJ(e,t){return yQ(e,t)}function $1e(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function qs(e,t,n,r){return new $1e(e,t,n,r)}function kF(e){return e=e.prototype,!(!e||!e.isReactComponent)}function R1e(e){if(typeof e=="function")return kF(e)?1:0;if(e!=null){if(e=e.$$typeof,e===KL)return 11;if(e===YL)return 14}return 2}function vf(e,t){var n=e.alternate;return n===null?(n=qs(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function FP(e,t,n,r,o,i){var a=2;if(r=e,typeof e=="function")kF(e)&&(a=1);else if(typeof e=="string")a=5;else e:switch(e){case xg:return sh(n.children,o,i,t);case qL:a=8,o|=8;break;case g2:return e=qs(12,n,t,o|2),e.elementType=g2,e.lanes=i,e;case y2:return e=qs(13,n,t,o),e.elementType=y2,e.lanes=i,e;case v2:return e=qs(19,n,t,o),e.elementType=v2,e.lanes=i,e;case eQ:return TI(n,o,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case JX:a=10;break e;case ZX:a=9;break e;case KL:a=11;break e;case YL:a=14;break e;case _d:a=16,r=null;break e}throw Error(at(130,e==null?e:typeof e,""))}return t=qs(a,n,t,o),t.elementType=e,t.type=r,t.lanes=i,t}function sh(e,t,n,r){return e=qs(7,e,r,t),e.lanes=n,e}function TI(e,t,n,r){return e=qs(22,e,r,t),e.elementType=eQ,e.lanes=n,e.stateNode={isHidden:!1},e}function h$(e,t,n){return e=qs(6,e,null,t),e.lanes=n,e}function m$(e,t,n){return t=qs(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function _1e(e,t,n,r,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=YA(0),this.expirationTimes=YA(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=YA(0),this.identifierPrefix=r,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function MF(e,t,n,r,o,i,a,s,l){return e=new _1e(e,t,n,s,l),t===1?(t=1,i===!0&&(t|=8)):t=0,i=qs(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},pF(i),e}function D1e(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(KJ)}catch(e){console.error(e)}}KJ(),KX.exports=ds;var MI=KX.exports;const AC=_n(MI),E3={disabled:!1},LT=Y.createContext(null);var YJ=function(t){return t.scrollTop},V0="unmounted",Rp="exited",_p="entering",dg="entered",s_="exiting",ps=function(e){xS(t,e);function t(r,o){var i;i=e.call(this,r,o)||this;var a=o,s=a&&!a.isMounting?r.enter:r.appear,l;return i.appearStatus=null,r.in?s?(l=Rp,i.appearStatus=_p):l=dg:r.unmountOnExit||r.mountOnEnter?l=V0:l=Rp,i.state={status:l},i.nextCallback=null,i}t.getDerivedStateFromProps=function(o,i){var a=o.in;return a&&i.status===V0?{status:Rp}:null};var n=t.prototype;return n.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},n.componentDidUpdate=function(o){var i=null;if(o!==this.props){var a=this.state.status;this.props.in?a!==_p&&a!==dg&&(i=_p):(a===_p||a===dg)&&(i=s_)}this.updateStatus(!1,i)},n.componentWillUnmount=function(){this.cancelNextCallback()},n.getTimeouts=function(){var o=this.props.timeout,i,a,s;return i=a=s=o,o!=null&&typeof o!="number"&&(i=o.exit,a=o.enter,s=o.appear!==void 0?o.appear:a),{exit:i,enter:a,appear:s}},n.updateStatus=function(o,i){if(o===void 0&&(o=!1),i!==null)if(this.cancelNextCallback(),i===_p){if(this.props.unmountOnExit||this.props.mountOnEnter){var a=this.props.nodeRef?this.props.nodeRef.current:AC.findDOMNode(this);a&&YJ(a)}this.performEnter(o)}else this.performExit();else this.props.unmountOnExit&&this.state.status===Rp&&this.setState({status:V0})},n.performEnter=function(o){var i=this,a=this.props.enter,s=this.context?this.context.isMounting:o,l=this.props.nodeRef?[s]:[AC.findDOMNode(this),s],c=l[0],u=l[1],d=this.getTimeouts(),f=s?d.appear:d.enter;if(!o&&!a||E3.disabled){this.safeSetState({status:dg},function(){i.props.onEntered(c)});return}this.props.onEnter(c,u),this.safeSetState({status:_p},function(){i.props.onEntering(c,u),i.onTransitionEnd(f,function(){i.safeSetState({status:dg},function(){i.props.onEntered(c,u)})})})},n.performExit=function(){var o=this,i=this.props.exit,a=this.getTimeouts(),s=this.props.nodeRef?void 0:AC.findDOMNode(this);if(!i||E3.disabled){this.safeSetState({status:Rp},function(){o.props.onExited(s)});return}this.props.onExit(s),this.safeSetState({status:s_},function(){o.props.onExiting(s),o.onTransitionEnd(a.exit,function(){o.safeSetState({status:Rp},function(){o.props.onExited(s)})})})},n.cancelNextCallback=function(){this.nextCallback!==null&&(this.nextCallback.cancel(),this.nextCallback=null)},n.safeSetState=function(o,i){i=this.setNextCallback(i),this.setState(o,i)},n.setNextCallback=function(o){var i=this,a=!0;return this.nextCallback=function(s){a&&(a=!1,i.nextCallback=null,o(s))},this.nextCallback.cancel=function(){a=!1},this.nextCallback},n.onTransitionEnd=function(o,i){this.setNextCallback(i);var a=this.props.nodeRef?this.props.nodeRef.current:AC.findDOMNode(this),s=o==null&&!this.props.addEndListener;if(!a||s){setTimeout(this.nextCallback,0);return}if(this.props.addEndListener){var l=this.props.nodeRef?[this.nextCallback]:[a,this.nextCallback],c=l[0],u=l[1];this.props.addEndListener(c,u)}o!=null&&setTimeout(this.nextCallback,o)},n.render=function(){var o=this.state.status;if(o===V0)return null;var i=this.props,a=i.children;i.in,i.mountOnEnter,i.unmountOnExit,i.appear,i.enter,i.exit,i.timeout,i.addEndListener,i.onEnter,i.onEntering,i.onEntered,i.onExit,i.onExiting,i.onExited,i.nodeRef;var s=hI(i,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]);return Y.createElement(LT.Provider,{value:null},typeof a=="function"?a(o,s):Y.cloneElement(Y.Children.only(a),s))},t}(Y.Component);ps.contextType=LT;ps.propTypes={};function Hm(){}ps.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:Hm,onEntering:Hm,onEntered:Hm,onExit:Hm,onExiting:Hm,onExited:Hm};ps.UNMOUNTED=V0;ps.EXITED=Rp;ps.ENTERING=_p;ps.ENTERED=dg;ps.EXITING=s_;var B1e=function(t,n){return t&&n&&n.split(" ").forEach(function(r){return _xe(t,r)})},g$=function(t,n){return t&&n&&n.split(" ").forEach(function(r){return Dxe(t,r)})},_F=function(e){xS(t,e);function t(){for(var r,o=arguments.length,i=new Array(o),a=0;ae.scrollTop;function If(e,t){const{timeout:n,easing:r,style:o={}}=e;return{duration:o.transitionDuration??(typeof n=="number"?n:n[t.mode]||0),easing:o.transitionTimingFunction??(typeof r=="object"?r[t.mode]:r),delay:o.transitionDelay}}function G1e(e){return tt("MuiCollapse",e)}ot("MuiCollapse",["root","horizontal","vertical","entered","hidden","wrapper","wrapperInner"]);const q1e=e=>{const{orientation:t,classes:n}=e,r={root:["root",`${t}`],entered:["entered"],hidden:["hidden"],wrapper:["wrapper",`${t}`],wrapperInner:["wrapperInner",`${t}`]};return rt(r,G1e,n)},K1e=oe("div",{name:"MuiCollapse",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.orientation],n.state==="entered"&&t.entered,n.state==="exited"&&!n.in&&n.collapsedSize==="0px"&&t.hidden]}})(Ze(({theme:e})=>({height:0,overflow:"hidden",transition:e.transitions.create("height"),variants:[{props:{orientation:"horizontal"},style:{height:"auto",width:0,transition:e.transitions.create("width")}},{props:{state:"entered"},style:{height:"auto",overflow:"visible"}},{props:{state:"entered",orientation:"horizontal"},style:{width:"auto"}},{props:({ownerState:t})=>t.state==="exited"&&!t.in&&t.collapsedSize==="0px",style:{visibility:"hidden"}}]}))),Y1e=oe("div",{name:"MuiCollapse",slot:"Wrapper",overridesResolver:(e,t)=>t.wrapper})({display:"flex",width:"100%",variants:[{props:{orientation:"horizontal"},style:{width:"auto",height:"100%"}}]}),X1e=oe("div",{name:"MuiCollapse",slot:"WrapperInner",overridesResolver:(e,t)=>t.wrapperInner})({width:"100%",variants:[{props:{orientation:"horizontal"},style:{width:"auto",height:"100%"}}]}),Zs=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiCollapse"}),{addEndListener:o,children:i,className:a,collapsedSize:s="0px",component:l,easing:c,in:u,onEnter:d,onEntered:f,onEntering:p,onExit:m,onExited:g,onExiting:v,orientation:w="vertical",style:x,timeout:S=kX.standard,TransitionComponent:P=ps,...T}=r,E={...r,orientation:w,collapsedSize:s},O=q1e(E),k=Ei(),A=tf(),I=y.useRef(null),R=y.useRef(),N=typeof s=="number"?`${s}px`:s,L=w==="horizontal",j=L?"width":"height",_=y.useRef(null),D=Cr(n,_),z=te=>pe=>{if(te){const ie=_.current;pe===void 0?te(ie):te(ie,pe)}},F=()=>I.current?I.current[L?"clientWidth":"clientHeight"]:0,H=z((te,pe)=>{I.current&&L&&(I.current.style.position="absolute"),te.style[j]=N,d&&d(te,pe)}),U=z((te,pe)=>{const ie=F();I.current&&L&&(I.current.style.position="");const{duration:le,easing:re}=If({style:x,timeout:S,easing:c},{mode:"enter"});if(S==="auto"){const fe=k.transitions.getAutoHeightDuration(ie);te.style.transitionDuration=`${fe}ms`,R.current=fe}else te.style.transitionDuration=typeof le=="string"?le:`${le}ms`;te.style[j]=`${ie}px`,te.style.transitionTimingFunction=re,p&&p(te,pe)}),q=z((te,pe)=>{te.style[j]="auto",f&&f(te,pe)}),X=z(te=>{te.style[j]=`${F()}px`,m&&m(te)}),ae=z(g),Z=z(te=>{const pe=F(),{duration:ie,easing:le}=If({style:x,timeout:S,easing:c},{mode:"exit"});if(S==="auto"){const re=k.transitions.getAutoHeightDuration(pe);te.style.transitionDuration=`${re}ms`,R.current=re}else te.style.transitionDuration=typeof ie=="string"?ie:`${ie}ms`;te.style[j]=N,te.style.transitionTimingFunction=le,v&&v(te)}),K=te=>{S==="auto"&&A.start(R.current||0,te),o&&o(_.current,te)};return $.jsx(P,{in:u,onEnter:H,onEntered:q,onEntering:U,onExit:X,onExited:ae,onExiting:Z,addEndListener:K,nodeRef:_,timeout:S==="auto"?null:S,...T,children:(te,pe)=>$.jsx(K1e,{as:l,className:de(O.root,a,{entered:O.entered,exited:!u&&N==="0px"&&O.hidden}[te]),style:{[L?"minWidth":"minHeight"]:N,...x},ref:D,...pe,ownerState:{...E,state:te},children:$.jsx(Y1e,{ownerState:{...E,state:te},className:O.wrapper,ref:I,children:$.jsx(X1e,{ownerState:{...E,state:te},className:O.wrapperInner,children:i})})})})});Zs&&(Zs.muiSupportAuto=!0);function Q1e(e){return tt("MuiPaper",e)}ot("MuiPaper",["root","rounded","outlined","elevation","elevation0","elevation1","elevation2","elevation3","elevation4","elevation5","elevation6","elevation7","elevation8","elevation9","elevation10","elevation11","elevation12","elevation13","elevation14","elevation15","elevation16","elevation17","elevation18","elevation19","elevation20","elevation21","elevation22","elevation23","elevation24"]);const J1e=e=>{const{square:t,elevation:n,variant:r,classes:o}=e,i={root:["root",r,!t&&"rounded",r==="elevation"&&`elevation${n}`]};return rt(i,Q1e,o)},Z1e=oe("div",{name:"MuiPaper",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],!n.square&&t.rounded,n.variant==="elevation"&&t[`elevation${n.elevation}`]]}})(Ze(({theme:e})=>({backgroundColor:(e.vars||e).palette.background.paper,color:(e.vars||e).palette.text.primary,transition:e.transitions.create("box-shadow"),variants:[{props:({ownerState:t})=>!t.square,style:{borderRadius:e.shape.borderRadius}},{props:{variant:"outlined"},style:{border:`1px solid ${(e.vars||e).palette.divider}`}},{props:{variant:"elevation"},style:{boxShadow:"var(--Paper-shadow)",backgroundImage:"var(--Paper-overlay)"}}]}))),uo=y.forwardRef(function(t,n){var p;const r=it({props:t,name:"MuiPaper"}),o=Ei(),{className:i,component:a="div",elevation:s=1,square:l=!1,variant:c="elevation",...u}=r,d={...r,component:a,elevation:s,square:l,variant:c},f=J1e(d);return $.jsx(Z1e,{as:a,ownerState:d,className:de(f.root,i),ref:n,...u,style:{...c==="elevation"&&{"--Paper-shadow":(o.vars||o).shadows[s],...o.vars&&{"--Paper-overlay":(p=o.vars.overlays)==null?void 0:p[s]},...!o.vars&&o.palette.mode==="dark"&&{"--Paper-overlay":`linear-gradient(${mt("#fff",e2(s))}, ${mt("#fff",e2(s))})`}},...u.style}})}),XJ=y.createContext({});function hr(e,t){const{className:n,elementType:r,ownerState:o,externalForwardedProps:i,getSlotOwnerState:a,internalForwardedProps:s,...l}=t,{component:c,slots:u={[e]:void 0},slotProps:d={[e]:void 0},...f}=i,p=u[e]||r,m=bX(d[e],o),{props:{component:g,...v},internalRef:w}=vX({className:n,...l,externalForwardedProps:e==="root"?f:void 0,externalSlotProps:m}),x=Cr(w,m==null?void 0:m.ref,t.ref),S=a?a(v):{},P={...o,...S},T=e==="root"?g||c:g,E=bg(p,{...e==="root"&&!c&&!u[e]&&s,...e!=="root"&&!u[e]&&s,...v,...T&&{as:T},ref:x},P);return Object.keys(S).forEach(O=>{delete E[O]}),[p,E]}function eCe(e){return tt("MuiAccordion",e)}const $C=ot("MuiAccordion",["root","heading","rounded","expanded","disabled","gutters","region"]),tCe=e=>{const{classes:t,square:n,expanded:r,disabled:o,disableGutters:i}=e;return rt({root:["root",!n&&"rounded",r&&"expanded",o&&"disabled",!i&&"gutters"],heading:["heading"],region:["region"]},eCe,t)},nCe=oe(uo,{name:"MuiAccordion",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[{[`& .${$C.region}`]:t.region},t.root,!n.square&&t.rounded,!n.disableGutters&&t.gutters]}})(Ze(({theme:e})=>{const t={duration:e.transitions.duration.shortest};return{position:"relative",transition:e.transitions.create(["margin"],t),overflowAnchor:"none","&::before":{position:"absolute",left:0,top:-1,right:0,height:1,content:'""',opacity:1,backgroundColor:(e.vars||e).palette.divider,transition:e.transitions.create(["opacity","background-color"],t)},"&:first-of-type":{"&::before":{display:"none"}},[`&.${$C.expanded}`]:{"&::before":{opacity:0},"&:first-of-type":{marginTop:0},"&:last-of-type":{marginBottom:0},"& + &":{"&::before":{display:"none"}}},[`&.${$C.disabled}`]:{backgroundColor:(e.vars||e).palette.action.disabledBackground}}}),Ze(({theme:e})=>({variants:[{props:t=>!t.square,style:{borderRadius:0,"&:first-of-type":{borderTopLeftRadius:(e.vars||e).shape.borderRadius,borderTopRightRadius:(e.vars||e).shape.borderRadius},"&:last-of-type":{borderBottomLeftRadius:(e.vars||e).shape.borderRadius,borderBottomRightRadius:(e.vars||e).shape.borderRadius,"@supports (-ms-ime-align: auto)":{borderBottomLeftRadius:0,borderBottomRightRadius:0}}}},{props:t=>!t.disableGutters,style:{[`&.${$C.expanded}`]:{margin:"16px 0"}}}]}))),rCe=oe("h3",{name:"MuiAccordion",slot:"Heading",overridesResolver:(e,t)=>t.heading})({all:"unset"}),LF=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiAccordion"}),{children:o,className:i,defaultExpanded:a=!1,disabled:s=!1,disableGutters:l=!1,expanded:c,onChange:u,square:d=!1,slots:f={},slotProps:p={},TransitionComponent:m,TransitionProps:g,...v}=r,[w,x]=ku({controlled:c,default:a,name:"Accordion",state:"expanded"}),S=y.useCallback(D=>{x(!w),u&&u(D,!w)},[w,u,x]),[P,...T]=y.Children.toArray(o),E=y.useMemo(()=>({expanded:w,disabled:s,disableGutters:l,toggle:S}),[w,s,l,S]),O={...r,square:d,disabled:s,disableGutters:l,expanded:w},k=tCe(O),A={transition:m,...f},I={transition:g,...p},R={slots:A,slotProps:I},[N,L]=hr("heading",{elementType:rCe,externalForwardedProps:R,className:k.heading,ownerState:O}),[j,_]=hr("transition",{elementType:Zs,externalForwardedProps:R,ownerState:O});return $.jsxs(nCe,{className:de(k.root,i),ref:n,ownerState:O,square:d,...v,children:[$.jsx(N,{...L,children:$.jsx(XJ.Provider,{value:E,children:P})}),$.jsx(j,{in:w,timeout:"auto",..._,children:$.jsx("div",{"aria-labelledby":P.props.id,id:P.props["aria-controls"],role:"region",className:k.region,children:T})})]})});function oCe(e){return tt("MuiAccordionDetails",e)}ot("MuiAccordionDetails",["root"]);const iCe=e=>{const{classes:t}=e;return rt({root:["root"]},oCe,t)},aCe=oe("div",{name:"MuiAccordionDetails",slot:"Root",overridesResolver:(e,t)=>t.root})(Ze(({theme:e})=>({padding:e.spacing(1,2,2)}))),FF=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiAccordionDetails"}),{className:o,...i}=r,a=r,s=iCe(a);return $.jsx(aCe,{className:de(s.root,o),ref:n,ownerState:a,...i})});class FT{constructor(){nn(this,"mountEffect",()=>{this.shouldMount&&!this.didMount&&this.ref.current!==null&&(this.didMount=!0,this.mounted.resolve())});this.ref={current:null},this.mounted=null,this.didMount=!1,this.shouldMount=!1,this.setShouldMount=null}static create(){return new FT}static use(){const t=pX(FT.create).current,[n,r]=y.useState(!1);return t.shouldMount=n,t.setShouldMount=r,y.useEffect(t.mountEffect,[n]),t}mount(){return this.mounted||(this.mounted=lCe(),this.shouldMount=!0,this.setShouldMount(this.shouldMount)),this.mounted}start(...t){this.mount().then(()=>{var n;return(n=this.ref.current)==null?void 0:n.start(...t)})}stop(...t){this.mount().then(()=>{var n;return(n=this.ref.current)==null?void 0:n.stop(...t)})}pulsate(...t){this.mount().then(()=>{var n;return(n=this.ref.current)==null?void 0:n.pulsate(...t)})}}function sCe(){return FT.use()}function lCe(){let e,t;const n=new Promise((r,o)=>{e=r,t=o});return n.resolve=e,n.reject=t,n}function cCe(e){const{className:t,classes:n,pulsate:r=!1,rippleX:o,rippleY:i,rippleSize:a,in:s,onExited:l,timeout:c}=e,[u,d]=y.useState(!1),f=de(t,n.ripple,n.rippleVisible,r&&n.ripplePulsate),p={width:a,height:a,top:-(a/2)+i,left:-(a/2)+o},m=de(n.child,u&&n.childLeaving,r&&n.childPulsate);return!s&&!u&&d(!0),y.useEffect(()=>{if(!s&&l!=null){const g=setTimeout(l,c);return()=>{clearTimeout(g)}}},[l,s,c]),$.jsx("span",{className:f,style:p,children:$.jsx("span",{className:m})})}const zs=ot("MuiTouchRipple",["root","ripple","rippleVisible","ripplePulsate","child","childLeaving","childPulsate"]),c_=550,uCe=80,dCe=qc` 0% { transform: scale(0); opacity: 0.1; @@ -78,7 +103,7 @@ Error generating stack: `+i.message+` transform: scale(1); opacity: 0.3; } -`)),wle=Ba(KN||(KN=IC` +`,fCe=qc` 0% { opacity: 1; } @@ -86,7 +111,7 @@ Error generating stack: `+i.message+` 100% { opacity: 0; } -`)),Cle=Ba(YN||(YN=IC` +`,pCe=qc` 0% { transform: scale(1); } @@ -98,23 +123,23 @@ Error generating stack: `+i.message+` 100% { transform: scale(1); } -`)),Sle=W("span",{name:"MuiTouchRipple",slot:"Root"})({overflow:"hidden",pointerEvents:"none",position:"absolute",zIndex:0,top:0,right:0,bottom:0,left:0,borderRadius:"inherit"}),Ple=W(vle,{name:"MuiTouchRipple",slot:"Ripple"})(QN||(QN=IC` +`,hCe=oe("span",{name:"MuiTouchRipple",slot:"Root"})({overflow:"hidden",pointerEvents:"none",position:"absolute",zIndex:0,top:0,right:0,bottom:0,left:0,borderRadius:"inherit"}),mCe=oe(cCe,{name:"MuiTouchRipple",slot:"Ripple"})` opacity: 0; position: absolute; - &.${0} { + &.${zs.rippleVisible} { opacity: 0.3; transform: scale(1); - animation-name: ${0}; - animation-duration: ${0}ms; - animation-timing-function: ${0}; + animation-name: ${dCe}; + animation-duration: ${c_}ms; + animation-timing-function: ${({theme:e})=>e.transitions.easing.easeInOut}; } - &.${0} { - animation-duration: ${0}ms; + &.${zs.ripplePulsate} { + animation-duration: ${({theme:e})=>e.transitions.duration.shorter}ms; } - & .${0} { + & .${zs.child} { opacity: 1; display: block; width: 100%; @@ -123,26 +148,26 @@ Error generating stack: `+i.message+` background-color: currentColor; } - & .${0} { + & .${zs.childLeaving} { opacity: 0; - animation-name: ${0}; - animation-duration: ${0}ms; - animation-timing-function: ${0}; + animation-name: ${fCe}; + animation-duration: ${c_}ms; + animation-timing-function: ${({theme:e})=>e.transitions.easing.easeInOut}; } - & .${0} { + & .${zs.childPulsate} { position: absolute; /* @noflip */ left: 0px; top: 0; - animation-name: ${0}; + animation-name: ${pCe}; animation-duration: 2500ms; - animation-timing-function: ${0}; + animation-timing-function: ${({theme:e})=>e.transitions.easing.easeInOut}; animation-iteration-count: infinite; animation-delay: 200ms; } -`),_i.rippleVisible,xle,ET,({theme:e})=>e.transitions.easing.easeInOut,_i.ripplePulsate,({theme:e})=>e.transitions.duration.shorter,_i.child,_i.childLeaving,wle,ET,({theme:e})=>e.transitions.easing.easeInOut,_i.childPulsate,Cle,({theme:e})=>e.transitions.easing.easeInOut),Ele=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiTouchRipple"}),{center:o=!1,classes:i={},className:a}=r,s=q(r,yle),[l,c]=g.useState([]),u=g.useRef(0),d=g.useRef(null);g.useEffect(()=>{d.current&&(d.current(),d.current=null)},[l]);const f=g.useRef(!1),p=ic(),h=g.useRef(null),m=g.useRef(null),v=g.useCallback(C=>{const{pulsate:O,rippleX:P,rippleY:E,rippleSize:T,cb:$}=C;c(M=>[...M,k.jsx(Ple,{classes:{ripple:Q(i.ripple,_i.ripple),rippleVisible:Q(i.rippleVisible,_i.rippleVisible),ripplePulsate:Q(i.ripplePulsate,_i.ripplePulsate),child:Q(i.child,_i.child),childLeaving:Q(i.childLeaving,_i.childLeaving),childPulsate:Q(i.childPulsate,_i.childPulsate)},timeout:ET,pulsate:O,rippleX:P,rippleY:E,rippleSize:T},u.current)]),u.current+=1,d.current=$},[i]),b=g.useCallback((C={},O={},P=()=>{})=>{const{pulsate:E=!1,center:T=o||O.pulsate,fakeElement:$=!1}=O;if((C==null?void 0:C.type)==="mousedown"&&f.current){f.current=!1;return}(C==null?void 0:C.type)==="touchstart"&&(f.current=!0);const M=$?null:m.current,D=M?M.getBoundingClientRect():{width:0,height:0,left:0,top:0};let L,N,R;if(T||C===void 0||C.clientX===0&&C.clientY===0||!C.clientX&&!C.touches)L=Math.round(D.width/2),N=Math.round(D.height/2);else{const{clientX:I,clientY:A}=C.touches&&C.touches.length>0?C.touches[0]:C;L=Math.round(I-D.left),N=Math.round(A-D.top)}if(T)R=Math.sqrt((2*D.width**2+D.height**2)/3),R%2===0&&(R+=1);else{const I=Math.max(Math.abs((M?M.clientWidth:0)-L),L)*2+2,A=Math.max(Math.abs((M?M.clientHeight:0)-N),N)*2+2;R=Math.sqrt(I**2+A**2)}C!=null&&C.touches?h.current===null&&(h.current=()=>{v({pulsate:E,rippleX:L,rippleY:N,rippleSize:R,cb:P})},p.start(ble,()=>{h.current&&(h.current(),h.current=null)})):v({pulsate:E,rippleX:L,rippleY:N,rippleSize:R,cb:P})},[o,v,p]),y=g.useCallback(()=>{b({},{pulsate:!0})},[b]),w=g.useCallback((C,O)=>{if(p.clear(),(C==null?void 0:C.type)==="touchend"&&h.current){h.current(),h.current=null,p.start(0,()=>{w(C,O)});return}h.current=null,c(P=>P.length>0?P.slice(1):P),d.current=O},[p]);return g.useImperativeHandle(n,()=>({pulsate:y,start:b,stop:w}),[y,b,w]),k.jsx(Sle,S({className:Q(_i.root,i.root,a),ref:m},s,{children:k.jsx(Ty,{component:null,exit:!0,children:l})}))});function Ole(e){return Se("MuiButtonBase",e)}const Tle=Pe("MuiButtonBase",["root","disabled","focusVisible"]),kle=["action","centerRipple","children","className","component","disabled","disableRipple","disableTouchRipple","focusRipple","focusVisibleClassName","LinkComponent","onBlur","onClick","onContextMenu","onDragLeave","onFocus","onFocusVisible","onKeyDown","onKeyUp","onMouseDown","onMouseLeave","onMouseUp","onTouchEnd","onTouchMove","onTouchStart","tabIndex","TouchRippleProps","touchRippleRef","type"],Ile=e=>{const{disabled:t,focusVisible:n,focusVisibleClassName:r,classes:o}=e,a=de({root:["root",t&&"disabled",n&&"focusVisible"]},Ole,o);return n&&r&&(a.root+=` ${r}`),a},$le=W("button",{name:"MuiButtonBase",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"inline-flex",alignItems:"center",justifyContent:"center",position:"relative",boxSizing:"border-box",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none",textDecoration:"none",color:"inherit","&::-moz-focus-inner":{borderStyle:"none"},[`&.${Tle.disabled}`]:{pointerEvents:"none",cursor:"default"},"@media print":{colorAdjust:"exact"}}),Zr=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiButtonBase"}),{action:o,centerRipple:i=!1,children:a,className:s,component:l="button",disabled:c=!1,disableRipple:u=!1,disableTouchRipple:d=!1,focusRipple:f=!1,LinkComponent:p="a",onBlur:h,onClick:m,onContextMenu:v,onDragLeave:b,onFocus:y,onFocusVisible:w,onKeyDown:C,onKeyUp:O,onMouseDown:P,onMouseLeave:E,onMouseUp:T,onTouchEnd:$,onTouchMove:M,onTouchStart:D,tabIndex:L=0,TouchRippleProps:N,touchRippleRef:R,type:I}=r,A=q(r,kle),F=g.useRef(null),_=g.useRef(null),j=Ot(_,R),{isFocusVisibleRef:B,onFocus:U,onBlur:H,ref:K}=U$(),[J,oe]=g.useState(!1);c&&J&&oe(!1),g.useImperativeHandle(o,()=>({focusVisible:()=>{oe(!0),F.current.focus()}}),[]);const[ae,Z]=g.useState(!1);g.useEffect(()=>{Z(!0)},[]);const ue=ae&&!u&&!c;g.useEffect(()=>{J&&f&&!u&&ae&&_.current.pulsate()},[u,f,J,ae]);function re(Ie,ht,sn=d){return Vt(Tt=>(ht&&ht(Tt),!sn&&_.current&&_.current[Ie](Tt),!0))}const pe=re("start",P),le=re("stop",v),G=re("stop",b),te=re("stop",T),fe=re("stop",Ie=>{J&&Ie.preventDefault(),E&&E(Ie)}),he=re("start",D),ce=re("stop",$),be=re("stop",M),ye=re("stop",Ie=>{H(Ie),B.current===!1&&oe(!1),h&&h(Ie)},!1),Me=Vt(Ie=>{F.current||(F.current=Ie.currentTarget),U(Ie),B.current===!0&&(oe(!0),w&&w(Ie)),y&&y(Ie)}),Re=()=>{const Ie=F.current;return l&&l!=="button"&&!(Ie.tagName==="A"&&Ie.href)},_e=g.useRef(!1),Y=Vt(Ie=>{f&&!_e.current&&J&&_.current&&Ie.key===" "&&(_e.current=!0,_.current.stop(Ie,()=>{_.current.start(Ie)})),Ie.target===Ie.currentTarget&&Re()&&Ie.key===" "&&Ie.preventDefault(),C&&C(Ie),Ie.target===Ie.currentTarget&&Re()&&Ie.key==="Enter"&&!c&&(Ie.preventDefault(),m&&m(Ie))}),ne=Vt(Ie=>{f&&Ie.key===" "&&_.current&&J&&!Ie.defaultPrevented&&(_e.current=!1,_.current.stop(Ie,()=>{_.current.pulsate(Ie)})),O&&O(Ie),m&&Ie.target===Ie.currentTarget&&Re()&&Ie.key===" "&&!Ie.defaultPrevented&&m(Ie)});let se=l;se==="button"&&(A.href||A.to)&&(se=p);const ge={};se==="button"?(ge.type=I===void 0?"button":I,ge.disabled=c):(!A.href&&!A.to&&(ge.role="button"),c&&(ge["aria-disabled"]=c));const Ae=Ot(n,K,F),Ve=S({},r,{centerRipple:i,component:l,disabled:c,disableRipple:u,disableTouchRipple:d,focusRipple:f,tabIndex:L,focusVisible:J}),ze=Ile(Ve);return k.jsxs($le,S({as:se,className:Q(ze.root,s),ownerState:Ve,onBlur:ye,onClick:m,onContextMenu:le,onFocus:Me,onKeyDown:Y,onKeyUp:ne,onMouseDown:pe,onMouseLeave:fe,onMouseUp:te,onDragLeave:G,onTouchEnd:ce,onTouchMove:be,onTouchStart:he,ref:Ae,tabIndex:c?-1:L,type:I},ge,A,{children:[a,ue?k.jsx(Ele,S({ref:j,center:i},N)):null]}))});function Mle(e){return Se("MuiAccordionSummary",e)}const Mf=Pe("MuiAccordionSummary",["root","expanded","focusVisible","disabled","gutters","contentGutters","content","expandIconWrapper"]),Ale=["children","className","expandIcon","focusVisibleClassName","onClick"],Rle=Sl(),_le=e=>{const{classes:t,expanded:n,disabled:r,disableGutters:o}=e;return de({root:["root",n&&"expanded",r&&"disabled",!o&&"gutters"],focusVisible:["focusVisible"],content:["content",n&&"expanded",!o&&"contentGutters"],expandIconWrapper:["expandIconWrapper",n&&"expanded"]},Mle,t)},Dle=W(Zr,{name:"MuiAccordionSummary",slot:"Root",overridesResolver:(e,t)=>t.root})(({theme:e})=>{const t={duration:e.transitions.duration.shortest};return{display:"flex",minHeight:48,padding:e.spacing(0,2),transition:e.transitions.create(["min-height","background-color"],t),[`&.${Mf.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${Mf.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity},[`&:hover:not(.${Mf.disabled})`]:{cursor:"pointer"},variants:[{props:n=>!n.disableGutters,style:{[`&.${Mf.expanded}`]:{minHeight:64}}}]}}),Nle=W("div",{name:"MuiAccordionSummary",slot:"Content",overridesResolver:(e,t)=>t.content})(({theme:e})=>({display:"flex",flexGrow:1,margin:"12px 0",variants:[{props:t=>!t.disableGutters,style:{transition:e.transitions.create(["margin"],{duration:e.transitions.duration.shortest}),[`&.${Mf.expanded}`]:{margin:"20px 0"}}}]})),Lle=W("div",{name:"MuiAccordionSummary",slot:"ExpandIconWrapper",overridesResolver:(e,t)=>t.expandIconWrapper})(({theme:e})=>({display:"flex",color:(e.vars||e).palette.action.active,transform:"rotate(0deg)",transition:e.transitions.create("transform",{duration:e.transitions.duration.shortest}),[`&.${Mf.expanded}`]:{transform:"rotate(180deg)"}})),JM=g.forwardRef(function(t,n){const r=Rle({props:t,name:"MuiAccordionSummary"}),{children:o,className:i,expandIcon:a,focusVisibleClassName:s,onClick:l}=r,c=q(r,Ale),{disabled:u=!1,disableGutters:d,expanded:f,toggle:p}=g.useContext(RW),h=b=>{p&&p(b),l&&l(b)},m=S({},r,{expanded:f,disabled:u,disableGutters:d}),v=_le(m);return k.jsxs(Dle,S({focusRipple:!1,disableRipple:!0,disabled:u,component:"div","aria-expanded":f,className:Q(v.root,i),focusVisibleClassName:Q(v.focusVisible,s),onClick:h,ref:n,ownerState:m},c,{children:[k.jsx(Nle,{className:v.content,ownerState:m,children:o}),a&&k.jsx(Lle,{className:v.expandIconWrapper,ownerState:m,children:a})]}))});function jle(e){return Se("MuiAlert",e)}const XN=Pe("MuiAlert",["root","action","icon","message","filled","colorSuccess","colorInfo","colorWarning","colorError","filledSuccess","filledInfo","filledWarning","filledError","outlined","outlinedSuccess","outlinedInfo","outlinedWarning","outlinedError","standard","standardSuccess","standardInfo","standardWarning","standardError"]);function Fle(e){return Se("MuiIconButton",e)}const Ble=Pe("MuiIconButton",["root","disabled","colorInherit","colorPrimary","colorSecondary","colorError","colorInfo","colorSuccess","colorWarning","edgeStart","edgeEnd","sizeSmall","sizeMedium","sizeLarge"]),zle=["edge","children","className","color","disabled","disableFocusRipple","size"],Vle=e=>{const{classes:t,disabled:n,color:r,edge:o,size:i}=e,a={root:["root",n&&"disabled",r!=="default"&&`color${ie(r)}`,o&&`edge${ie(o)}`,`size${ie(i)}`]};return de(a,Fle,t)},Hle=W(Zr,{name:"MuiIconButton",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.color!=="default"&&t[`color${ie(n.color)}`],n.edge&&t[`edge${ie(n.edge)}`],t[`size${ie(n.size)}`]]}})(({theme:e,ownerState:t})=>S({textAlign:"center",flex:"0 0 auto",fontSize:e.typography.pxToRem(24),padding:8,borderRadius:"50%",overflow:"visible",color:(e.vars||e).palette.action.active,transition:e.transitions.create("background-color",{duration:e.transitions.duration.shortest})},!t.disableRipple&&{"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.action.activeChannel} / ${e.vars.palette.action.hoverOpacity})`:st(e.palette.action.active,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},t.edge==="start"&&{marginLeft:t.size==="small"?-3:-12},t.edge==="end"&&{marginRight:t.size==="small"?-3:-12}),({theme:e,ownerState:t})=>{var n;const r=(n=(e.vars||e).palette)==null?void 0:n[t.color];return S({},t.color==="inherit"&&{color:"inherit"},t.color!=="inherit"&&t.color!=="default"&&S({color:r==null?void 0:r.main},!t.disableRipple&&{"&:hover":S({},r&&{backgroundColor:e.vars?`rgba(${r.mainChannel} / ${e.vars.palette.action.hoverOpacity})`:st(r.main,e.palette.action.hoverOpacity)},{"@media (hover: none)":{backgroundColor:"transparent"}})}),t.size==="small"&&{padding:5,fontSize:e.typography.pxToRem(18)},t.size==="large"&&{padding:12,fontSize:e.typography.pxToRem(28)},{[`&.${Ble.disabled}`]:{backgroundColor:"transparent",color:(e.vars||e).palette.action.disabled}})}),Rt=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiIconButton"}),{edge:o=!1,children:i,className:a,color:s="default",disabled:l=!1,disableFocusRipple:c=!1,size:u="medium"}=r,d=q(r,zle),f=S({},r,{edge:o,color:s,disabled:l,disableFocusRipple:c,size:u}),p=Vle(f);return k.jsx(Hle,S({className:Q(p.root,a),centerRipple:!0,focusRipple:!c,disabled:l,ref:n},d,{ownerState:f,children:i}))}),Ule=rt(k.jsx("path",{d:"M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2, 4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0, 0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z"}),"SuccessOutlined"),Wle=rt(k.jsx("path",{d:"M12 5.99L19.53 19H4.47L12 5.99M12 2L1 21h22L12 2zm1 14h-2v2h2v-2zm0-6h-2v4h2v-4z"}),"ReportProblemOutlined"),Gle=rt(k.jsx("path",{d:"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),"ErrorOutline"),qle=rt(k.jsx("path",{d:"M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20, 12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10, 10 0 0,0 12,2M11,17H13V11H11V17Z"}),"InfoOutlined"),NW=rt(k.jsx("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close"),Kle=["action","children","className","closeText","color","components","componentsProps","icon","iconMapping","onClose","role","severity","slotProps","slots","variant"],Yle=Sl(),Qle=e=>{const{variant:t,color:n,severity:r,classes:o}=e,i={root:["root",`color${ie(n||r)}`,`${t}${ie(n||r)}`,`${t}`],icon:["icon"],message:["message"],action:["action"]};return de(i,jle,o)},Xle=W(Kn,{name:"MuiAlert",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],t[`${n.variant}${ie(n.color||n.severity)}`]]}})(({theme:e})=>{const t=e.palette.mode==="light"?up:dp,n=e.palette.mode==="light"?dp:up;return S({},e.typography.body2,{backgroundColor:"transparent",display:"flex",padding:"6px 16px",variants:[...Object.entries(e.palette).filter(([,r])=>r.main&&r.light).map(([r])=>({props:{colorSeverity:r,variant:"standard"},style:{color:e.vars?e.vars.palette.Alert[`${r}Color`]:t(e.palette[r].light,.6),backgroundColor:e.vars?e.vars.palette.Alert[`${r}StandardBg`]:n(e.palette[r].light,.9),[`& .${XN.icon}`]:e.vars?{color:e.vars.palette.Alert[`${r}IconColor`]}:{color:e.palette[r].main}}})),...Object.entries(e.palette).filter(([,r])=>r.main&&r.light).map(([r])=>({props:{colorSeverity:r,variant:"outlined"},style:{color:e.vars?e.vars.palette.Alert[`${r}Color`]:t(e.palette[r].light,.6),border:`1px solid ${(e.vars||e).palette[r].light}`,[`& .${XN.icon}`]:e.vars?{color:e.vars.palette.Alert[`${r}IconColor`]}:{color:e.palette[r].main}}})),...Object.entries(e.palette).filter(([,r])=>r.main&&r.dark).map(([r])=>({props:{colorSeverity:r,variant:"filled"},style:S({fontWeight:e.typography.fontWeightMedium},e.vars?{color:e.vars.palette.Alert[`${r}FilledColor`],backgroundColor:e.vars.palette.Alert[`${r}FilledBg`]}:{backgroundColor:e.palette.mode==="dark"?e.palette[r].dark:e.palette[r].main,color:e.palette.getContrastText(e.palette[r].main)})}))]})}),Jle=W("div",{name:"MuiAlert",slot:"Icon",overridesResolver:(e,t)=>t.icon})({marginRight:12,padding:"7px 0",display:"flex",fontSize:22,opacity:.9}),Zle=W("div",{name:"MuiAlert",slot:"Message",overridesResolver:(e,t)=>t.message})({padding:"8px 0",minWidth:0,overflow:"auto"}),JN=W("div",{name:"MuiAlert",slot:"Action",overridesResolver:(e,t)=>t.action})({display:"flex",alignItems:"flex-start",padding:"4px 0 0 16px",marginLeft:"auto",marginRight:-8}),ZN={success:k.jsx(Ule,{fontSize:"inherit"}),warning:k.jsx(Wle,{fontSize:"inherit"}),error:k.jsx(Gle,{fontSize:"inherit"}),info:k.jsx(qle,{fontSize:"inherit"})},fl=g.forwardRef(function(t,n){const r=Yle({props:t,name:"MuiAlert"}),{action:o,children:i,className:a,closeText:s="Close",color:l,components:c={},componentsProps:u={},icon:d,iconMapping:f=ZN,onClose:p,role:h="alert",severity:m="success",slotProps:v={},slots:b={},variant:y="standard"}=r,w=q(r,Kle),C=S({},r,{color:l,severity:m,variant:y,colorSeverity:l||m}),O=Qle(C),P={slots:S({closeButton:c.CloseButton,closeIcon:c.CloseIcon},b),slotProps:S({},u,v)},[E,T]=Fx("closeButton",{elementType:Rt,externalForwardedProps:P,ownerState:C}),[$,M]=Fx("closeIcon",{elementType:NW,externalForwardedProps:P,ownerState:C});return k.jsxs(Xle,S({role:h,elevation:0,ownerState:C,className:Q(O.root,a),ref:n},w,{children:[d!==!1?k.jsx(Jle,{ownerState:C,className:O.icon,children:d||f[m]||ZN[m]}):null,k.jsx(Zle,{ownerState:C,className:O.message,children:i}),o!=null?k.jsx(JN,{ownerState:C,className:O.action,children:o}):null,o==null&&p?k.jsx(JN,{ownerState:C,className:O.action,children:k.jsx(E,S({size:"small","aria-label":s,title:s,color:"inherit",onClick:p},T,{children:k.jsx($,S({fontSize:"small"},M))}))}):null]}))});function ece(e){return Se("MuiTypography",e)}Pe("MuiTypography",["root","h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","inherit","button","caption","overline","alignLeft","alignRight","alignCenter","alignJustify","noWrap","gutterBottom","paragraph"]);const tce=["align","className","component","gutterBottom","noWrap","paragraph","variant","variantMapping"],nce=e=>{const{align:t,gutterBottom:n,noWrap:r,paragraph:o,variant:i,classes:a}=e,s={root:["root",i,e.align!=="inherit"&&`align${ie(t)}`,n&&"gutterBottom",r&&"noWrap",o&&"paragraph"]};return de(s,ece,a)},rce=W("span",{name:"MuiTypography",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.variant&&t[n.variant],n.align!=="inherit"&&t[`align${ie(n.align)}`],n.noWrap&&t.noWrap,n.gutterBottom&&t.gutterBottom,n.paragraph&&t.paragraph]}})(({theme:e,ownerState:t})=>S({margin:0},t.variant==="inherit"&&{font:"inherit"},t.variant!=="inherit"&&e.typography[t.variant],t.align!=="inherit"&&{textAlign:t.align},t.noWrap&&{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},t.gutterBottom&&{marginBottom:"0.35em"},t.paragraph&&{marginBottom:16})),eL={h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",subtitle1:"h6",subtitle2:"h6",body1:"p",body2:"p",inherit:"p"},oce={primary:"primary.main",textPrimary:"text.primary",secondary:"secondary.main",textSecondary:"text.secondary",error:"error.main"},ice=e=>oce[e]||e,Be=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiTypography"}),o=ice(r.color),i=ih(S({},r,{color:o})),{align:a="inherit",className:s,component:l,gutterBottom:c=!1,noWrap:u=!1,paragraph:d=!1,variant:f="body1",variantMapping:p=eL}=i,h=q(i,tce),m=S({},i,{align:a,color:o,className:s,component:l,gutterBottom:c,noWrap:u,paragraph:d,variant:f,variantMapping:p}),v=l||(d?"p":p[f]||eL[f])||"span",b=nce(m);return k.jsx(rce,S({as:v,ref:n,ownerState:m,className:Q(b.root,s)},h))});function ace(e){return Se("MuiAlertTitle",e)}Pe("MuiAlertTitle",["root"]);const sce=["className"],lce=Sl(),cce=e=>{const{classes:t}=e;return de({root:["root"]},ace,t)},uce=W(Be,{name:"MuiAlertTitle",slot:"Root",overridesResolver:(e,t)=>t.root})(({theme:e})=>({fontWeight:e.typography.fontWeightMedium,marginTop:-2})),Bx=g.forwardRef(function(t,n){const r=lce({props:t,name:"MuiAlertTitle"}),{className:o}=r,i=q(r,sce),a=r,s=cce(a);return k.jsx(uce,S({gutterBottom:!0,component:"div",ownerState:a,ref:n,className:Q(s.root,o)},i))});function dce(e){return Se("MuiAppBar",e)}Pe("MuiAppBar",["root","positionFixed","positionAbsolute","positionSticky","positionStatic","positionRelative","colorDefault","colorPrimary","colorSecondary","colorInherit","colorTransparent","colorError","colorInfo","colorSuccess","colorWarning"]);const fce=["className","color","enableColorOnDark","position"],pce=e=>{const{color:t,position:n,classes:r}=e,o={root:["root",`color${ie(t)}`,`position${ie(n)}`]};return de(o,dce,r)},jb=(e,t)=>e?`${e==null?void 0:e.replace(")","")}, ${t})`:t,hce=W(Kn,{name:"MuiAppBar",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[`position${ie(n.position)}`],t[`color${ie(n.color)}`]]}})(({theme:e,ownerState:t})=>{const n=e.palette.mode==="light"?e.palette.grey[100]:e.palette.grey[900];return S({display:"flex",flexDirection:"column",width:"100%",boxSizing:"border-box",flexShrink:0},t.position==="fixed"&&{position:"fixed",zIndex:(e.vars||e).zIndex.appBar,top:0,left:"auto",right:0,"@media print":{position:"absolute"}},t.position==="absolute"&&{position:"absolute",zIndex:(e.vars||e).zIndex.appBar,top:0,left:"auto",right:0},t.position==="sticky"&&{position:"sticky",zIndex:(e.vars||e).zIndex.appBar,top:0,left:"auto",right:0},t.position==="static"&&{position:"static"},t.position==="relative"&&{position:"relative"},!e.vars&&S({},t.color==="default"&&{backgroundColor:n,color:e.palette.getContrastText(n)},t.color&&t.color!=="default"&&t.color!=="inherit"&&t.color!=="transparent"&&{backgroundColor:e.palette[t.color].main,color:e.palette[t.color].contrastText},t.color==="inherit"&&{color:"inherit"},e.palette.mode==="dark"&&!t.enableColorOnDark&&{backgroundColor:null,color:null},t.color==="transparent"&&S({backgroundColor:"transparent",color:"inherit"},e.palette.mode==="dark"&&{backgroundImage:"none"})),e.vars&&S({},t.color==="default"&&{"--AppBar-background":t.enableColorOnDark?e.vars.palette.AppBar.defaultBg:jb(e.vars.palette.AppBar.darkBg,e.vars.palette.AppBar.defaultBg),"--AppBar-color":t.enableColorOnDark?e.vars.palette.text.primary:jb(e.vars.palette.AppBar.darkColor,e.vars.palette.text.primary)},t.color&&!t.color.match(/^(default|inherit|transparent)$/)&&{"--AppBar-background":t.enableColorOnDark?e.vars.palette[t.color].main:jb(e.vars.palette.AppBar.darkBg,e.vars.palette[t.color].main),"--AppBar-color":t.enableColorOnDark?e.vars.palette[t.color].contrastText:jb(e.vars.palette.AppBar.darkColor,e.vars.palette[t.color].contrastText)},{backgroundColor:"var(--AppBar-background)",color:t.color==="inherit"?"inherit":"var(--AppBar-color)"},t.color==="transparent"&&{backgroundImage:"none",backgroundColor:"transparent",color:"inherit"}))}),mce=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiAppBar"}),{className:o,color:i="primary",enableColorOnDark:a=!1,position:s="fixed"}=r,l=q(r,fce),c=S({},r,{color:i,position:s,enableColorOnDark:a}),u=pce(c);return k.jsx(hce,S({square:!0,component:"header",ownerState:c,elevation:4,className:Q(u.root,o,s==="fixed"&&"mui-fixed"),ref:n},l))});function gce(e){const{badgeContent:t,invisible:n=!1,max:r=99,showZero:o=!1}=e,i=W$({badgeContent:t,max:r});let a=n;n===!1&&t===0&&!o&&(a=!0);const{badgeContent:s,max:l=r}=a?i:e,c=s&&Number(s)>l?`${l}+`:s;return{badgeContent:s,invisible:a,max:l,displayValue:c}}const LW="base";function vce(e){return`${LW}--${e}`}function yce(e,t){return`${LW}-${e}-${t}`}function jW(e,t){const n=HH[t];return n?vce(n):yce(e,t)}function bce(e,t){const n={};return t.forEach(r=>{n[r]=jW(e,r)}),n}function tL(e){return e.substring(2).toLowerCase()}function xce(e,t){return t.documentElement.clientWidth(setTimeout(()=>{l.current=!0},0),()=>{l.current=!1}),[]);const u=Ot(t.ref,s),d=Vt(h=>{const m=c.current;c.current=!1;const v=gn(s.current);if(!l.current||!s.current||"clientX"in h&&xce(h,v))return;if(a.current){a.current=!1;return}let b;h.composedPath?b=h.composedPath().indexOf(s.current)>-1:b=!v.documentElement.contains(h.target)||s.current.contains(h.target),!b&&(n||!m)&&o(h)}),f=h=>m=>{c.current=!0;const v=t.props[h];v&&v(m)},p={ref:u};return i!==!1&&(p[i]=f(i)),g.useEffect(()=>{if(i!==!1){const h=tL(i),m=gn(s.current),v=()=>{a.current=!0};return m.addEventListener(h,d),m.addEventListener("touchmove",v),()=>{m.removeEventListener(h,d),m.removeEventListener("touchmove",v)}}},[d,i]),r!==!1&&(p[r]=f(r)),g.useEffect(()=>{if(r!==!1){const h=tL(r),m=gn(s.current);return m.addEventListener(h,d),()=>{m.removeEventListener(h,d)}}},[d,r]),k.jsx(g.Fragment,{children:g.cloneElement(t,p)})}const wce=["input","select","textarea","a[href]","button","[tabindex]","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable="false"])'].join(",");function Cce(e){const t=parseInt(e.getAttribute("tabindex")||"",10);return Number.isNaN(t)?e.contentEditable==="true"||(e.nodeName==="AUDIO"||e.nodeName==="VIDEO"||e.nodeName==="DETAILS")&&e.getAttribute("tabindex")===null?0:e.tabIndex:t}function Sce(e){if(e.tagName!=="INPUT"||e.type!=="radio"||!e.name)return!1;const t=r=>e.ownerDocument.querySelector(`input[type="radio"]${r}`);let n=t(`[name="${e.name}"]:checked`);return n||(n=t(`[name="${e.name}"]`)),n!==e}function Pce(e){return!(e.disabled||e.tagName==="INPUT"&&e.type==="hidden"||Sce(e))}function Ece(e){const t=[],n=[];return Array.from(e.querySelectorAll(wce)).forEach((r,o)=>{const i=Cce(r);i===-1||!Pce(r)||(i===0?t.push(r):n.push({documentOrder:o,tabIndex:i,node:r}))}),n.sort((r,o)=>r.tabIndex===o.tabIndex?r.documentOrder-o.documentOrder:r.tabIndex-o.tabIndex).map(r=>r.node).concat(t)}function Oce(){return!0}function eA(e){const{children:t,disableAutoFocus:n=!1,disableEnforceFocus:r=!1,disableRestoreFocus:o=!1,getTabbable:i=Ece,isEnabled:a=Oce,open:s}=e,l=g.useRef(!1),c=g.useRef(null),u=g.useRef(null),d=g.useRef(null),f=g.useRef(null),p=g.useRef(!1),h=g.useRef(null),m=Ot(t.ref,h),v=g.useRef(null);g.useEffect(()=>{!s||!h.current||(p.current=!n)},[n,s]),g.useEffect(()=>{if(!s||!h.current)return;const w=gn(h.current);return h.current.contains(w.activeElement)||(h.current.hasAttribute("tabIndex")||h.current.setAttribute("tabIndex","-1"),p.current&&h.current.focus()),()=>{o||(d.current&&d.current.focus&&(l.current=!0,d.current.focus()),d.current=null)}},[s]),g.useEffect(()=>{if(!s||!h.current)return;const w=gn(h.current),C=E=>{v.current=E,!(r||!a()||E.key!=="Tab")&&w.activeElement===h.current&&E.shiftKey&&(l.current=!0,u.current&&u.current.focus())},O=()=>{const E=h.current;if(E===null)return;if(!w.hasFocus()||!a()||l.current){l.current=!1;return}if(E.contains(w.activeElement)||r&&w.activeElement!==c.current&&w.activeElement!==u.current)return;if(w.activeElement!==f.current)f.current=null;else if(f.current!==null)return;if(!p.current)return;let T=[];if((w.activeElement===c.current||w.activeElement===u.current)&&(T=i(h.current)),T.length>0){var $,M;const D=!!(($=v.current)!=null&&$.shiftKey&&((M=v.current)==null?void 0:M.key)==="Tab"),L=T[0],N=T[T.length-1];typeof L!="string"&&typeof N!="string"&&(D?N.focus():L.focus())}else E.focus()};w.addEventListener("focusin",O),w.addEventListener("keydown",C,!0);const P=setInterval(()=>{w.activeElement&&w.activeElement.tagName==="BODY"&&O()},50);return()=>{clearInterval(P),w.removeEventListener("focusin",O),w.removeEventListener("keydown",C,!0)}},[n,r,o,a,s,i]);const b=w=>{d.current===null&&(d.current=w.relatedTarget),p.current=!0,f.current=w.target;const C=t.props.onFocus;C&&C(w)},y=w=>{d.current===null&&(d.current=w.relatedTarget),p.current=!0};return k.jsxs(g.Fragment,{children:[k.jsx("div",{tabIndex:s?0:-1,onFocus:y,ref:c,"data-testid":"sentinelStart"}),g.cloneElement(t,{ref:m,onFocus:b}),k.jsx("div",{tabIndex:s?0:-1,onFocus:y,ref:u,"data-testid":"sentinelEnd"})]})}function Tce(e){return typeof e=="function"?e():e}const FW=g.forwardRef(function(t,n){const{children:r,container:o,disablePortal:i=!1}=t,[a,s]=g.useState(null),l=Ot(g.isValidElement(r)?r.ref:null,n);if(Ft(()=>{i||s(Tce(o)||document.body)},[o,i]),Ft(()=>{if(a&&!i)return Hg(n,a),()=>{Hg(n,null)}},[n,a,i]),i){if(g.isValidElement(r)){const c={ref:l};return g.cloneElement(r,c)}return k.jsx(g.Fragment,{children:r})}return k.jsx(g.Fragment,{children:a&&Ey.createPortal(r,a)})});function kce(e){const t=gn(e);return t.body===e?si(e).innerWidth>t.documentElement.clientWidth:e.scrollHeight>e.clientHeight}function gg(e,t){t?e.setAttribute("aria-hidden","true"):e.removeAttribute("aria-hidden")}function nL(e){return parseInt(si(e).getComputedStyle(e).paddingRight,10)||0}function Ice(e){const n=["TEMPLATE","SCRIPT","STYLE","LINK","MAP","META","NOSCRIPT","PICTURE","COL","COLGROUP","PARAM","SLOT","SOURCE","TRACK"].indexOf(e.tagName)!==-1,r=e.tagName==="INPUT"&&e.getAttribute("type")==="hidden";return n||r}function rL(e,t,n,r,o){const i=[t,n,...r];[].forEach.call(e.children,a=>{const s=i.indexOf(a)===-1,l=!Ice(a);s&&l&&gg(a,o)})}function KP(e,t){let n=-1;return e.some((r,o)=>t(r)?(n=o,!0):!1),n}function $ce(e,t){const n=[],r=e.container;if(!t.disableScrollLock){if(kce(r)){const a=JH(gn(r));n.push({value:r.style.paddingRight,property:"padding-right",el:r}),r.style.paddingRight=`${nL(r)+a}px`;const s=gn(r).querySelectorAll(".mui-fixed");[].forEach.call(s,l=>{n.push({value:l.style.paddingRight,property:"padding-right",el:l}),l.style.paddingRight=`${nL(l)+a}px`})}let i;if(r.parentNode instanceof DocumentFragment)i=gn(r).body;else{const a=r.parentElement,s=si(r);i=(a==null?void 0:a.nodeName)==="HTML"&&s.getComputedStyle(a).overflowY==="scroll"?a:r}n.push({value:i.style.overflow,property:"overflow",el:i},{value:i.style.overflowX,property:"overflow-x",el:i},{value:i.style.overflowY,property:"overflow-y",el:i}),i.style.overflow="hidden"}return()=>{n.forEach(({value:i,el:a,property:s})=>{i?a.style.setProperty(s,i):a.style.removeProperty(s)})}}function Mce(e){const t=[];return[].forEach.call(e.children,n=>{n.getAttribute("aria-hidden")==="true"&&t.push(n)}),t}class Ace{constructor(){this.containers=void 0,this.modals=void 0,this.modals=[],this.containers=[]}add(t,n){let r=this.modals.indexOf(t);if(r!==-1)return r;r=this.modals.length,this.modals.push(t),t.modalRef&&gg(t.modalRef,!1);const o=Mce(n);rL(n,t.mount,t.modalRef,o,!0);const i=KP(this.containers,a=>a.container===n);return i!==-1?(this.containers[i].modals.push(t),r):(this.containers.push({modals:[t],container:n,restore:null,hiddenSiblings:o}),r)}mount(t,n){const r=KP(this.containers,i=>i.modals.indexOf(t)!==-1),o=this.containers[r];o.restore||(o.restore=$ce(o,n))}remove(t,n=!0){const r=this.modals.indexOf(t);if(r===-1)return r;const o=KP(this.containers,a=>a.modals.indexOf(t)!==-1),i=this.containers[o];if(i.modals.splice(i.modals.indexOf(t),1),this.modals.splice(r,1),i.modals.length===0)i.restore&&i.restore(),t.modalRef&&gg(t.modalRef,n),rL(i.container,t.mount,t.modalRef,i.hiddenSiblings,!1),this.containers.splice(o,1);else{const a=i.modals[i.modals.length-1];a.modalRef&&gg(a.modalRef,!1)}return r}isTopModal(t){return this.modals.length>0&&this.modals[this.modals.length-1]===t}}function Rce(e){return typeof e=="function"?e():e}function _ce(e){return e?e.props.hasOwnProperty("in"):!1}const Dce=new Ace;function Nce(e){const{container:t,disableEscapeKeyDown:n=!1,disableScrollLock:r=!1,manager:o=Dce,closeAfterTransition:i=!1,onTransitionEnter:a,onTransitionExited:s,children:l,onClose:c,open:u,rootRef:d}=e,f=g.useRef({}),p=g.useRef(null),h=g.useRef(null),m=Ot(h,d),[v,b]=g.useState(!u),y=_ce(l);let w=!0;(e["aria-hidden"]==="false"||e["aria-hidden"]===!1)&&(w=!1);const C=()=>gn(p.current),O=()=>(f.current.modalRef=h.current,f.current.mount=p.current,f.current),P=()=>{o.mount(O(),{disableScrollLock:r}),h.current&&(h.current.scrollTop=0)},E=Vt(()=>{const A=Rce(t)||C().body;o.add(O(),A),h.current&&P()}),T=g.useCallback(()=>o.isTopModal(O()),[o]),$=Vt(A=>{p.current=A,A&&(u&&T()?P():h.current&&gg(h.current,w))}),M=g.useCallback(()=>{o.remove(O(),w)},[w,o]);g.useEffect(()=>()=>{M()},[M]),g.useEffect(()=>{u?E():(!y||!i)&&M()},[u,M,y,i,E]);const D=A=>F=>{var _;(_=A.onKeyDown)==null||_.call(A,F),!(F.key!=="Escape"||F.which===229||!T())&&(n||(F.stopPropagation(),c&&c(F,"escapeKeyDown")))},L=A=>F=>{var _;(_=A.onClick)==null||_.call(A,F),F.target===F.currentTarget&&c&&c(F,"backdropClick")};return{getRootProps:(A={})=>{const F=jx(e);delete F.onTransitionEnter,delete F.onTransitionExited;const _=S({},F,A);return S({role:"presentation"},_,{onKeyDown:D(_),ref:m})},getBackdropProps:(A={})=>{const F=A;return S({"aria-hidden":!0},F,{onClick:L(F),open:u})},getTransitionProps:()=>{const A=()=>{b(!1),a&&a()},F=()=>{b(!0),s&&s(),i&&M()};return{onEnter:SO(A,l==null?void 0:l.props.onEnter),onExited:SO(F,l==null?void 0:l.props.onExited)}},rootRef:m,portalRef:$,isTopModal:T,exited:v,hasTransition:y}}var Mo="top",Xi="bottom",Ji="right",Ao="left",tA="auto",ky=[Mo,Xi,Ji,Ao],xp="start",uv="end",Lce="clippingParents",BW="viewport",gm="popper",jce="reference",oL=ky.reduce(function(e,t){return e.concat([t+"-"+xp,t+"-"+uv])},[]),zW=[].concat(ky,[tA]).reduce(function(e,t){return e.concat([t,t+"-"+xp,t+"-"+uv])},[]),Fce="beforeRead",Bce="read",zce="afterRead",Vce="beforeMain",Hce="main",Uce="afterMain",Wce="beforeWrite",Gce="write",qce="afterWrite",Kce=[Fce,Bce,zce,Vce,Hce,Uce,Wce,Gce,qce];function vs(e){return e?(e.nodeName||"").toLowerCase():null}function ci(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function td(e){var t=ci(e).Element;return e instanceof t||e instanceof Element}function Gi(e){var t=ci(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function nA(e){if(typeof ShadowRoot>"u")return!1;var t=ci(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function Yce(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var r=t.styles[n]||{},o=t.attributes[n]||{},i=t.elements[n];!Gi(i)||!vs(i)||(Object.assign(i.style,r),Object.keys(o).forEach(function(a){var s=o[a];s===!1?i.removeAttribute(a):i.setAttribute(a,s===!0?"":s)}))})}function Qce(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(r){var o=t.elements[r],i=t.attributes[r]||{},a=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),s=a.reduce(function(l,c){return l[c]="",l},{});!Gi(o)||!vs(o)||(Object.assign(o.style,s),Object.keys(i).forEach(function(l){o.removeAttribute(l)}))})}}const Xce={name:"applyStyles",enabled:!0,phase:"write",fn:Yce,effect:Qce,requires:["computeStyles"]};function us(e){return e.split("-")[0]}var Du=Math.max,zx=Math.min,wp=Math.round;function OT(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function VW(){return!/^((?!chrome|android).)*safari/i.test(OT())}function Cp(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),o=1,i=1;t&&Gi(e)&&(o=e.offsetWidth>0&&wp(r.width)/e.offsetWidth||1,i=e.offsetHeight>0&&wp(r.height)/e.offsetHeight||1);var a=td(e)?ci(e):window,s=a.visualViewport,l=!VW()&&n,c=(r.left+(l&&s?s.offsetLeft:0))/o,u=(r.top+(l&&s?s.offsetTop:0))/i,d=r.width/o,f=r.height/i;return{width:d,height:f,top:u,right:c+d,bottom:u+f,left:c,x:c,y:u}}function rA(e){var t=Cp(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function HW(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&nA(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function pl(e){return ci(e).getComputedStyle(e)}function Jce(e){return["table","td","th"].indexOf(vs(e))>=0}function Fc(e){return((td(e)?e.ownerDocument:e.document)||window.document).documentElement}function $C(e){return vs(e)==="html"?e:e.assignedSlot||e.parentNode||(nA(e)?e.host:null)||Fc(e)}function iL(e){return!Gi(e)||pl(e).position==="fixed"?null:e.offsetParent}function Zce(e){var t=/firefox/i.test(OT()),n=/Trident/i.test(OT());if(n&&Gi(e)){var r=pl(e);if(r.position==="fixed")return null}var o=$C(e);for(nA(o)&&(o=o.host);Gi(o)&&["html","body"].indexOf(vs(o))<0;){var i=pl(o);if(i.transform!=="none"||i.perspective!=="none"||i.contain==="paint"||["transform","perspective"].indexOf(i.willChange)!==-1||t&&i.willChange==="filter"||t&&i.filter&&i.filter!=="none")return o;o=o.parentNode}return null}function Iy(e){for(var t=ci(e),n=iL(e);n&&Jce(n)&&pl(n).position==="static";)n=iL(n);return n&&(vs(n)==="html"||vs(n)==="body"&&pl(n).position==="static")?t:n||Zce(e)||t}function oA(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function vg(e,t,n){return Du(e,zx(t,n))}function eue(e,t,n){var r=vg(e,t,n);return r>n?n:r}function UW(){return{top:0,right:0,bottom:0,left:0}}function WW(e){return Object.assign({},UW(),e)}function GW(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var tue=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,WW(typeof t!="number"?t:GW(t,ky))};function nue(e){var t,n=e.state,r=e.name,o=e.options,i=n.elements.arrow,a=n.modifiersData.popperOffsets,s=us(n.placement),l=oA(s),c=[Ao,Ji].indexOf(s)>=0,u=c?"height":"width";if(!(!i||!a)){var d=tue(o.padding,n),f=rA(i),p=l==="y"?Mo:Ao,h=l==="y"?Xi:Ji,m=n.rects.reference[u]+n.rects.reference[l]-a[l]-n.rects.popper[u],v=a[l]-n.rects.reference[l],b=Iy(i),y=b?l==="y"?b.clientHeight||0:b.clientWidth||0:0,w=m/2-v/2,C=d[p],O=y-f[u]-d[h],P=y/2-f[u]/2+w,E=vg(C,P,O),T=l;n.modifiersData[r]=(t={},t[T]=E,t.centerOffset=E-P,t)}}function rue(e){var t=e.state,n=e.options,r=n.element,o=r===void 0?"[data-popper-arrow]":r;o!=null&&(typeof o=="string"&&(o=t.elements.popper.querySelector(o),!o)||HW(t.elements.popper,o)&&(t.elements.arrow=o))}const oue={name:"arrow",enabled:!0,phase:"main",fn:nue,effect:rue,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Sp(e){return e.split("-")[1]}var iue={top:"auto",right:"auto",bottom:"auto",left:"auto"};function aue(e,t){var n=e.x,r=e.y,o=t.devicePixelRatio||1;return{x:wp(n*o)/o||0,y:wp(r*o)/o||0}}function aL(e){var t,n=e.popper,r=e.popperRect,o=e.placement,i=e.variation,a=e.offsets,s=e.position,l=e.gpuAcceleration,c=e.adaptive,u=e.roundOffsets,d=e.isFixed,f=a.x,p=f===void 0?0:f,h=a.y,m=h===void 0?0:h,v=typeof u=="function"?u({x:p,y:m}):{x:p,y:m};p=v.x,m=v.y;var b=a.hasOwnProperty("x"),y=a.hasOwnProperty("y"),w=Ao,C=Mo,O=window;if(c){var P=Iy(n),E="clientHeight",T="clientWidth";if(P===ci(n)&&(P=Fc(n),pl(P).position!=="static"&&s==="absolute"&&(E="scrollHeight",T="scrollWidth")),P=P,o===Mo||(o===Ao||o===Ji)&&i===uv){C=Xi;var $=d&&P===O&&O.visualViewport?O.visualViewport.height:P[E];m-=$-r.height,m*=l?1:-1}if(o===Ao||(o===Mo||o===Xi)&&i===uv){w=Ji;var M=d&&P===O&&O.visualViewport?O.visualViewport.width:P[T];p-=M-r.width,p*=l?1:-1}}var D=Object.assign({position:s},c&&iue),L=u===!0?aue({x:p,y:m},ci(n)):{x:p,y:m};if(p=L.x,m=L.y,l){var N;return Object.assign({},D,(N={},N[C]=y?"0":"",N[w]=b?"0":"",N.transform=(O.devicePixelRatio||1)<=1?"translate("+p+"px, "+m+"px)":"translate3d("+p+"px, "+m+"px, 0)",N))}return Object.assign({},D,(t={},t[C]=y?m+"px":"",t[w]=b?p+"px":"",t.transform="",t))}function sue(e){var t=e.state,n=e.options,r=n.gpuAcceleration,o=r===void 0?!0:r,i=n.adaptive,a=i===void 0?!0:i,s=n.roundOffsets,l=s===void 0?!0:s,c={placement:us(t.placement),variation:Sp(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:o,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,aL(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:l})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,aL(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const lue={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:sue,data:{}};var Fb={passive:!0};function cue(e){var t=e.state,n=e.instance,r=e.options,o=r.scroll,i=o===void 0?!0:o,a=r.resize,s=a===void 0?!0:a,l=ci(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return i&&c.forEach(function(u){u.addEventListener("scroll",n.update,Fb)}),s&&l.addEventListener("resize",n.update,Fb),function(){i&&c.forEach(function(u){u.removeEventListener("scroll",n.update,Fb)}),s&&l.removeEventListener("resize",n.update,Fb)}}const uue={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:cue,data:{}};var due={left:"right",right:"left",bottom:"top",top:"bottom"};function z0(e){return e.replace(/left|right|bottom|top/g,function(t){return due[t]})}var fue={start:"end",end:"start"};function sL(e){return e.replace(/start|end/g,function(t){return fue[t]})}function iA(e){var t=ci(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function aA(e){return Cp(Fc(e)).left+iA(e).scrollLeft}function pue(e,t){var n=ci(e),r=Fc(e),o=n.visualViewport,i=r.clientWidth,a=r.clientHeight,s=0,l=0;if(o){i=o.width,a=o.height;var c=VW();(c||!c&&t==="fixed")&&(s=o.offsetLeft,l=o.offsetTop)}return{width:i,height:a,x:s+aA(e),y:l}}function hue(e){var t,n=Fc(e),r=iA(e),o=(t=e.ownerDocument)==null?void 0:t.body,i=Du(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),a=Du(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),s=-r.scrollLeft+aA(e),l=-r.scrollTop;return pl(o||n).direction==="rtl"&&(s+=Du(n.clientWidth,o?o.clientWidth:0)-i),{width:i,height:a,x:s,y:l}}function sA(e){var t=pl(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function qW(e){return["html","body","#document"].indexOf(vs(e))>=0?e.ownerDocument.body:Gi(e)&&sA(e)?e:qW($C(e))}function yg(e,t){var n;t===void 0&&(t=[]);var r=qW(e),o=r===((n=e.ownerDocument)==null?void 0:n.body),i=ci(r),a=o?[i].concat(i.visualViewport||[],sA(r)?r:[]):r,s=t.concat(a);return o?s:s.concat(yg($C(a)))}function TT(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function mue(e,t){var n=Cp(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function lL(e,t,n){return t===BW?TT(pue(e,n)):td(t)?mue(t,n):TT(hue(Fc(e)))}function gue(e){var t=yg($C(e)),n=["absolute","fixed"].indexOf(pl(e).position)>=0,r=n&&Gi(e)?Iy(e):e;return td(r)?t.filter(function(o){return td(o)&&HW(o,r)&&vs(o)!=="body"}):[]}function vue(e,t,n,r){var o=t==="clippingParents"?gue(e):[].concat(t),i=[].concat(o,[n]),a=i[0],s=i.reduce(function(l,c){var u=lL(e,c,r);return l.top=Du(u.top,l.top),l.right=zx(u.right,l.right),l.bottom=zx(u.bottom,l.bottom),l.left=Du(u.left,l.left),l},lL(e,a,r));return s.width=s.right-s.left,s.height=s.bottom-s.top,s.x=s.left,s.y=s.top,s}function KW(e){var t=e.reference,n=e.element,r=e.placement,o=r?us(r):null,i=r?Sp(r):null,a=t.x+t.width/2-n.width/2,s=t.y+t.height/2-n.height/2,l;switch(o){case Mo:l={x:a,y:t.y-n.height};break;case Xi:l={x:a,y:t.y+t.height};break;case Ji:l={x:t.x+t.width,y:s};break;case Ao:l={x:t.x-n.width,y:s};break;default:l={x:t.x,y:t.y}}var c=o?oA(o):null;if(c!=null){var u=c==="y"?"height":"width";switch(i){case xp:l[c]=l[c]-(t[u]/2-n[u]/2);break;case uv:l[c]=l[c]+(t[u]/2-n[u]/2);break}}return l}function dv(e,t){t===void 0&&(t={});var n=t,r=n.placement,o=r===void 0?e.placement:r,i=n.strategy,a=i===void 0?e.strategy:i,s=n.boundary,l=s===void 0?Lce:s,c=n.rootBoundary,u=c===void 0?BW:c,d=n.elementContext,f=d===void 0?gm:d,p=n.altBoundary,h=p===void 0?!1:p,m=n.padding,v=m===void 0?0:m,b=WW(typeof v!="number"?v:GW(v,ky)),y=f===gm?jce:gm,w=e.rects.popper,C=e.elements[h?y:f],O=vue(td(C)?C:C.contextElement||Fc(e.elements.popper),l,u,a),P=Cp(e.elements.reference),E=KW({reference:P,element:w,strategy:"absolute",placement:o}),T=TT(Object.assign({},w,E)),$=f===gm?T:P,M={top:O.top-$.top+b.top,bottom:$.bottom-O.bottom+b.bottom,left:O.left-$.left+b.left,right:$.right-O.right+b.right},D=e.modifiersData.offset;if(f===gm&&D){var L=D[o];Object.keys(M).forEach(function(N){var R=[Ji,Xi].indexOf(N)>=0?1:-1,I=[Mo,Xi].indexOf(N)>=0?"y":"x";M[N]+=L[I]*R})}return M}function yue(e,t){t===void 0&&(t={});var n=t,r=n.placement,o=n.boundary,i=n.rootBoundary,a=n.padding,s=n.flipVariations,l=n.allowedAutoPlacements,c=l===void 0?zW:l,u=Sp(r),d=u?s?oL:oL.filter(function(h){return Sp(h)===u}):ky,f=d.filter(function(h){return c.indexOf(h)>=0});f.length===0&&(f=d);var p=f.reduce(function(h,m){return h[m]=dv(e,{placement:m,boundary:o,rootBoundary:i,padding:a})[us(m)],h},{});return Object.keys(p).sort(function(h,m){return p[h]-p[m]})}function bue(e){if(us(e)===tA)return[];var t=z0(e);return[sL(e),t,sL(t)]}function xue(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var o=n.mainAxis,i=o===void 0?!0:o,a=n.altAxis,s=a===void 0?!0:a,l=n.fallbackPlacements,c=n.padding,u=n.boundary,d=n.rootBoundary,f=n.altBoundary,p=n.flipVariations,h=p===void 0?!0:p,m=n.allowedAutoPlacements,v=t.options.placement,b=us(v),y=b===v,w=l||(y||!h?[z0(v)]:bue(v)),C=[v].concat(w).reduce(function(J,oe){return J.concat(us(oe)===tA?yue(t,{placement:oe,boundary:u,rootBoundary:d,padding:c,flipVariations:h,allowedAutoPlacements:m}):oe)},[]),O=t.rects.reference,P=t.rects.popper,E=new Map,T=!0,$=C[0],M=0;M=0,I=R?"width":"height",A=dv(t,{placement:D,boundary:u,rootBoundary:d,altBoundary:f,padding:c}),F=R?N?Ji:Ao:N?Xi:Mo;O[I]>P[I]&&(F=z0(F));var _=z0(F),j=[];if(i&&j.push(A[L]<=0),s&&j.push(A[F]<=0,A[_]<=0),j.every(function(J){return J})){$=D,T=!1;break}E.set(D,j)}if(T)for(var B=h?3:1,U=function(oe){var ae=C.find(function(Z){var ue=E.get(Z);if(ue)return ue.slice(0,oe).every(function(re){return re})});if(ae)return $=ae,"break"},H=B;H>0;H--){var K=U(H);if(K==="break")break}t.placement!==$&&(t.modifiersData[r]._skip=!0,t.placement=$,t.reset=!0)}}const wue={name:"flip",enabled:!0,phase:"main",fn:xue,requiresIfExists:["offset"],data:{_skip:!1}};function cL(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function uL(e){return[Mo,Ji,Xi,Ao].some(function(t){return e[t]>=0})}function Cue(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,i=t.modifiersData.preventOverflow,a=dv(t,{elementContext:"reference"}),s=dv(t,{altBoundary:!0}),l=cL(a,r),c=cL(s,o,i),u=uL(l),d=uL(c);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:u,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":d})}const Sue={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Cue};function Pue(e,t,n){var r=us(e),o=[Ao,Mo].indexOf(r)>=0?-1:1,i=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,a=i[0],s=i[1];return a=a||0,s=(s||0)*o,[Ao,Ji].indexOf(r)>=0?{x:s,y:a}:{x:a,y:s}}function Eue(e){var t=e.state,n=e.options,r=e.name,o=n.offset,i=o===void 0?[0,0]:o,a=zW.reduce(function(u,d){return u[d]=Pue(d,t.rects,i),u},{}),s=a[t.placement],l=s.x,c=s.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=c),t.modifiersData[r]=a}const Oue={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Eue};function Tue(e){var t=e.state,n=e.name;t.modifiersData[n]=KW({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const kue={name:"popperOffsets",enabled:!0,phase:"read",fn:Tue,data:{}};function Iue(e){return e==="x"?"y":"x"}function $ue(e){var t=e.state,n=e.options,r=e.name,o=n.mainAxis,i=o===void 0?!0:o,a=n.altAxis,s=a===void 0?!1:a,l=n.boundary,c=n.rootBoundary,u=n.altBoundary,d=n.padding,f=n.tether,p=f===void 0?!0:f,h=n.tetherOffset,m=h===void 0?0:h,v=dv(t,{boundary:l,rootBoundary:c,padding:d,altBoundary:u}),b=us(t.placement),y=Sp(t.placement),w=!y,C=oA(b),O=Iue(C),P=t.modifiersData.popperOffsets,E=t.rects.reference,T=t.rects.popper,$=typeof m=="function"?m(Object.assign({},t.rects,{placement:t.placement})):m,M=typeof $=="number"?{mainAxis:$,altAxis:$}:Object.assign({mainAxis:0,altAxis:0},$),D=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,L={x:0,y:0};if(P){if(i){var N,R=C==="y"?Mo:Ao,I=C==="y"?Xi:Ji,A=C==="y"?"height":"width",F=P[C],_=F+v[R],j=F-v[I],B=p?-T[A]/2:0,U=y===xp?E[A]:T[A],H=y===xp?-T[A]:-E[A],K=t.elements.arrow,J=p&&K?rA(K):{width:0,height:0},oe=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:UW(),ae=oe[R],Z=oe[I],ue=vg(0,E[A],J[A]),re=w?E[A]/2-B-ue-ae-M.mainAxis:U-ue-ae-M.mainAxis,pe=w?-E[A]/2+B+ue+Z+M.mainAxis:H+ue+Z+M.mainAxis,le=t.elements.arrow&&Iy(t.elements.arrow),G=le?C==="y"?le.clientTop||0:le.clientLeft||0:0,te=(N=D==null?void 0:D[C])!=null?N:0,fe=F+re-te-G,he=F+pe-te,ce=vg(p?zx(_,fe):_,F,p?Du(j,he):j);P[C]=ce,L[C]=ce-F}if(s){var be,ye=C==="x"?Mo:Ao,Me=C==="x"?Xi:Ji,Re=P[O],_e=O==="y"?"height":"width",Y=Re+v[ye],ne=Re-v[Me],se=[Mo,Ao].indexOf(b)!==-1,ge=(be=D==null?void 0:D[O])!=null?be:0,Ae=se?Y:Re-E[_e]-T[_e]-ge+M.altAxis,Ve=se?Re+E[_e]+T[_e]-ge-M.altAxis:ne,ze=p&&se?eue(Ae,Re,Ve):vg(p?Ae:Y,Re,p?Ve:ne);P[O]=ze,L[O]=ze-Re}t.modifiersData[r]=L}}const Mue={name:"preventOverflow",enabled:!0,phase:"main",fn:$ue,requiresIfExists:["offset"]};function Aue(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function Rue(e){return e===ci(e)||!Gi(e)?iA(e):Aue(e)}function _ue(e){var t=e.getBoundingClientRect(),n=wp(t.width)/e.offsetWidth||1,r=wp(t.height)/e.offsetHeight||1;return n!==1||r!==1}function Due(e,t,n){n===void 0&&(n=!1);var r=Gi(t),o=Gi(t)&&_ue(t),i=Fc(t),a=Cp(e,o,n),s={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(r||!r&&!n)&&((vs(t)!=="body"||sA(i))&&(s=Rue(t)),Gi(t)?(l=Cp(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):i&&(l.x=aA(i))),{x:a.left+s.scrollLeft-l.x,y:a.top+s.scrollTop-l.y,width:a.width,height:a.height}}function Nue(e){var t=new Map,n=new Set,r=[];e.forEach(function(i){t.set(i.name,i)});function o(i){n.add(i.name);var a=[].concat(i.requires||[],i.requiresIfExists||[]);a.forEach(function(s){if(!n.has(s)){var l=t.get(s);l&&o(l)}}),r.push(i)}return e.forEach(function(i){n.has(i.name)||o(i)}),r}function Lue(e){var t=Nue(e);return Kce.reduce(function(n,r){return n.concat(t.filter(function(o){return o.phase===r}))},[])}function jue(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function Fue(e){var t=e.reduce(function(n,r){var o=n[r.name];return n[r.name]=o?Object.assign({},o,r,{options:Object.assign({},o.options,r.options),data:Object.assign({},o.data,r.data)}):r,n},{});return Object.keys(t).map(function(n){return t[n]})}var dL={placement:"bottom",modifiers:[],strategy:"absolute"};function fL(){for(var e=arguments.length,t=new Array(e),n=0;nde({root:["root"]},nle(Hue)),Yue={},Que=g.forwardRef(function(t,n){var r;const{anchorEl:o,children:i,direction:a,disablePortal:s,modifiers:l,open:c,placement:u,popperOptions:d,popperRef:f,slotProps:p={},slots:h={},TransitionProps:m}=t,v=q(t,Uue),b=g.useRef(null),y=Ot(b,n),w=g.useRef(null),C=Ot(w,f),O=g.useRef(C);Ft(()=>{O.current=C},[C]),g.useImperativeHandle(f,()=>w.current,[]);const P=Gue(u,a),[E,T]=g.useState(P),[$,M]=g.useState(kT(o));g.useEffect(()=>{w.current&&w.current.forceUpdate()}),g.useEffect(()=>{o&&M(kT(o))},[o]),Ft(()=>{if(!$||!c)return;const I=_=>{T(_.placement)};let A=[{name:"preventOverflow",options:{altBoundary:s}},{name:"flip",options:{altBoundary:s}},{name:"onUpdate",enabled:!0,phase:"afterWrite",fn:({state:_})=>{I(_)}}];l!=null&&(A=A.concat(l)),d&&d.modifiers!=null&&(A=A.concat(d.modifiers));const F=Vue($,b.current,S({placement:P},d,{modifiers:A}));return O.current(F),()=>{F.destroy(),O.current(null)}},[$,s,l,c,d,P]);const D={placement:E};m!==null&&(D.TransitionProps=m);const L=Kue(),N=(r=h.root)!=null?r:"div",R=Lo({elementType:N,externalSlotProps:p.root,externalForwardedProps:v,additionalProps:{role:"tooltip",ref:y},ownerState:t,className:L.root});return k.jsx(N,S({},R,{children:typeof i=="function"?i(D):i}))}),Xue=g.forwardRef(function(t,n){const{anchorEl:r,children:o,container:i,direction:a="ltr",disablePortal:s=!1,keepMounted:l=!1,modifiers:c,open:u,placement:d="bottom",popperOptions:f=Yue,popperRef:p,style:h,transition:m=!1,slotProps:v={},slots:b={}}=t,y=q(t,Wue),[w,C]=g.useState(!0),O=()=>{C(!1)},P=()=>{C(!0)};if(!l&&!u&&(!m||w))return null;let E;if(i)E=i;else if(r){const M=kT(r);E=M&&que(M)?gn(M).body:gn(null).body}const T=!u&&l&&(!m||w)?"none":void 0,$=m?{in:u,onEnter:O,onExited:P}:void 0;return k.jsx(FW,{disablePortal:s,container:E,children:k.jsx(Que,S({anchorEl:r,direction:a,disablePortal:s,modifiers:c,ref:n,open:m?!w:u,placement:d,popperOptions:f,popperRef:p,slotProps:v,slots:b},y,{style:S({position:"fixed",top:0,left:0,display:T},h),TransitionProps:$,children:o}))})});function Jue(e={}){const{autoHideDuration:t=null,disableWindowBlurListener:n=!1,onClose:r,open:o,resumeHideDuration:i}=e,a=ic();g.useEffect(()=>{if(!o)return;function b(y){y.defaultPrevented||(y.key==="Escape"||y.key==="Esc")&&(r==null||r(y,"escapeKeyDown"))}return document.addEventListener("keydown",b),()=>{document.removeEventListener("keydown",b)}},[o,r]);const s=Vt((b,y)=>{r==null||r(b,y)}),l=Vt(b=>{!r||b==null||a.start(b,()=>{s(null,"timeout")})});g.useEffect(()=>(o&&l(t),a.clear),[o,t,l,a]);const c=b=>{r==null||r(b,"clickaway")},u=a.clear,d=g.useCallback(()=>{t!=null&&l(i??t*.5)},[t,i,l]),f=b=>y=>{const w=b.onBlur;w==null||w(y),d()},p=b=>y=>{const w=b.onFocus;w==null||w(y),u()},h=b=>y=>{const w=b.onMouseEnter;w==null||w(y),u()},m=b=>y=>{const w=b.onMouseLeave;w==null||w(y),d()};return g.useEffect(()=>{if(!n&&o)return window.addEventListener("focus",d),window.addEventListener("blur",u),()=>{window.removeEventListener("focus",d),window.removeEventListener("blur",u)}},[n,o,d,u]),{getRootProps:(b={})=>{const y=S({},jx(e),jx(b));return S({role:"presentation"},b,y,{onBlur:f(y),onFocus:p(y),onMouseEnter:h(y),onMouseLeave:m(y)})},onClickAway:c}}const Zue=["onChange","maxRows","minRows","style","value"];function Bb(e){return parseInt(e,10)||0}const ede={shadow:{visibility:"hidden",position:"absolute",overflow:"hidden",height:0,top:0,left:0,transform:"translateZ(0)"}};function tde(e){return e==null||Object.keys(e).length===0||e.outerHeightStyle===0&&!e.overflowing}const nde=g.forwardRef(function(t,n){const{onChange:r,maxRows:o,minRows:i=1,style:a,value:s}=t,l=q(t,Zue),{current:c}=g.useRef(s!=null),u=g.useRef(null),d=Ot(n,u),f=g.useRef(null),p=g.useCallback(()=>{const v=u.current,y=si(v).getComputedStyle(v);if(y.width==="0px")return{outerHeightStyle:0,overflowing:!1};const w=f.current;w.style.width=y.width,w.value=v.value||t.placeholder||"x",w.value.slice(-1)===` -`&&(w.value+=" ");const C=y.boxSizing,O=Bb(y.paddingBottom)+Bb(y.paddingTop),P=Bb(y.borderBottomWidth)+Bb(y.borderTopWidth),E=w.scrollHeight;w.value="x";const T=w.scrollHeight;let $=E;i&&($=Math.max(Number(i)*T,$)),o&&($=Math.min(Number(o)*T,$)),$=Math.max($,T);const M=$+(C==="border-box"?O+P:0),D=Math.abs($-E)<=1;return{outerHeightStyle:M,overflowing:D}},[o,i,t.placeholder]),h=g.useCallback(()=>{const v=p();if(tde(v))return;const b=u.current;b.style.height=`${v.outerHeightStyle}px`,b.style.overflow=v.overflowing?"hidden":""},[p]);Ft(()=>{const v=()=>{h()};let b;const y=Rc(v),w=u.current,C=si(w);C.addEventListener("resize",y);let O;return typeof ResizeObserver<"u"&&(O=new ResizeObserver(v),O.observe(w)),()=>{y.clear(),cancelAnimationFrame(b),C.removeEventListener("resize",y),O&&O.disconnect()}},[p,h]),Ft(()=>{h()});const m=v=>{c||h(),r&&r(v)};return k.jsxs(g.Fragment,{children:[k.jsx("textarea",S({value:s,onChange:m,ref:d,rows:i,style:a},l)),k.jsx("textarea",{"aria-hidden":!0,className:t.className,readOnly:!0,ref:f,tabIndex:-1,style:S({},ede.shadow,a,{paddingTop:0,paddingBottom:0})})]})});function pL(e){return typeof e.normalize<"u"?e.normalize("NFD").replace(/[\u0300-\u036f]/g,""):e}function QW(e={}){const{ignoreAccents:t=!0,ignoreCase:n=!0,limit:r,matchFrom:o="any",stringify:i,trim:a=!1}=e;return(s,{inputValue:l,getOptionLabel:c})=>{let u=a?l.trim():l;n&&(u=u.toLowerCase()),t&&(u=pL(u));const d=u?s.filter(f=>{let p=(i||c)(f);return n&&(p=p.toLowerCase()),t&&(p=pL(p)),o==="start"?p.indexOf(u)===0:p.indexOf(u)>-1}):s;return typeof r=="number"?d.slice(0,r):d}}function zb(e,t){for(let n=0;n{var t;return e.current!==null&&((t=e.current.parentElement)==null?void 0:t.contains(document.activeElement))};function ide(e){const{unstable_isActiveElementInListbox:t=ode,unstable_classNamePrefix:n="Mui",autoComplete:r=!1,autoHighlight:o=!1,autoSelect:i=!1,blurOnSelect:a=!1,clearOnBlur:s=!e.freeSolo,clearOnEscape:l=!1,componentName:c="useAutocomplete",defaultValue:u=e.multiple?[]:null,disableClearable:d=!1,disableCloseOnSelect:f=!1,disabled:p,disabledItemsFocusable:h=!1,disableListWrap:m=!1,filterOptions:v=rde,filterSelectedOptions:b=!1,freeSolo:y=!1,getOptionDisabled:w,getOptionKey:C,getOptionLabel:O=we=>{var xe;return(xe=we.label)!=null?xe:we},groupBy:P,handleHomeEndKeys:E=!e.freeSolo,id:T,includeInputInList:$=!1,inputValue:M,isOptionEqualToValue:D=(we,xe)=>we===xe,multiple:L=!1,onChange:N,onClose:R,onHighlightChange:I,onInputChange:A,onOpen:F,open:_,openOnFocus:j=!1,options:B,readOnly:U=!1,selectOnFocus:H=!e.freeSolo,value:K}=e,J=on(T);let oe=O;oe=we=>{const xe=O(we);return typeof xe!="string"?String(xe):xe};const ae=g.useRef(!1),Z=g.useRef(!0),ue=g.useRef(null),re=g.useRef(null),[pe,le]=g.useState(null),[G,te]=g.useState(-1),fe=o?0:-1,he=g.useRef(fe),[ce,be]=To({controlled:K,default:u,name:c}),[ye,Me]=To({controlled:M,default:"",name:c,state:"inputValue"}),[Re,_e]=g.useState(!1),Y=g.useCallback((we,xe)=>{if(!(L?ce.length!(b&&(L?ce:[ce]).some(xe=>xe!==null&&D(we,xe)))),{inputValue:Ve&&ge?"":ye,getOptionLabel:oe}):[],ht=W$({filteredOptions:Ie,value:ce,inputValue:ye});g.useEffect(()=>{const we=ce!==ht.value;Re&&!we||y&&!we||Y(null,ce)},[ce,Y,Re,ht.value,y]);const sn=ne&&Ie.length>0&&!U,Tt=Vt(we=>{we===-1?ue.current.focus():pe.querySelector(`[data-tag-index="${we}"]`).focus()});g.useEffect(()=>{L&&G>ce.length-1&&(te(-1),Tt(-1))},[ce,L,G,Tt]);function Fe(we,xe){if(!re.current||we<0||we>=Ie.length)return-1;let Ge=we;for(;;){const Le=re.current.querySelector(`[data-option-index="${Ge}"]`),ut=h?!1:!Le||Le.disabled||Le.getAttribute("aria-disabled")==="true";if(Le&&Le.hasAttribute("tabindex")&&!ut)return Ge;if(xe==="next"?Ge=(Ge+1)%Ie.length:Ge=(Ge-1+Ie.length)%Ie.length,Ge===we)return-1}}const it=Vt(({event:we,index:xe,reason:Ge="auto"})=>{if(he.current=xe,xe===-1?ue.current.removeAttribute("aria-activedescendant"):ue.current.setAttribute("aria-activedescendant",`${J}-option-${xe}`),I&&I(we,xe===-1?null:Ie[xe],Ge),!re.current)return;const Le=re.current.querySelector(`[role="option"].${n}-focused`);Le&&(Le.classList.remove(`${n}-focused`),Le.classList.remove(`${n}-focusVisible`));let ut=re.current;if(re.current.getAttribute("role")!=="listbox"&&(ut=re.current.parentElement.querySelector('[role="listbox"]')),!ut)return;if(xe===-1){ut.scrollTop=0;return}const Ye=re.current.querySelector(`[data-option-index="${xe}"]`);if(Ye&&(Ye.classList.add(`${n}-focused`),Ge==="keyboard"&&Ye.classList.add(`${n}-focusVisible`),ut.scrollHeight>ut.clientHeight&&Ge!=="mouse"&&Ge!=="touch")){const Pt=Ye,xi=ut.clientHeight+ut.scrollTop,mb=Pt.offsetTop+Pt.offsetHeight;mb>xi?ut.scrollTop=mb-ut.clientHeight:Pt.offsetTop-Pt.offsetHeight*(P?1.3:0){if(!ze)return;const Ye=Fe((()=>{const Pt=Ie.length-1;if(xe==="reset")return fe;if(xe==="start")return 0;if(xe==="end")return Pt;const xi=he.current+xe;return xi<0?xi===-1&&$?-1:m&&he.current!==-1||Math.abs(xe)>1?0:Pt:xi>Pt?xi===Pt+1&&$?-1:m||Math.abs(xe)>1?Pt:0:xi})(),Ge);if(it({index:Ye,reason:Le,event:we}),r&&xe!=="reset")if(Ye===-1)ue.current.value=ye;else{const Pt=oe(Ie[Ye]);ue.current.value=Pt,Pt.toLowerCase().indexOf(ye.toLowerCase())===0&&ye.length>0&&ue.current.setSelectionRange(ye.length,Pt.length)}}),We=()=>{const we=(xe,Ge)=>{const Le=xe?oe(xe):"",ut=Ge?oe(Ge):"";return Le===ut};if(he.current!==-1&&ht.filteredOptions&&ht.filteredOptions.length!==Ie.length&&ht.inputValue===ye&&(L?ce.length===ht.value.length&&ht.value.every((xe,Ge)=>oe(ce[Ge])===oe(xe)):we(ht.value,ce))){const xe=ht.filteredOptions[he.current];if(xe)return zb(Ie,Ge=>oe(Ge)===oe(xe))}return-1},mt=g.useCallback(()=>{if(!ze)return;const we=We();if(we!==-1){he.current=we;return}const xe=L?ce[0]:ce;if(Ie.length===0||xe==null){$e({diff:"reset"});return}if(re.current){if(xe!=null){const Ge=Ie[he.current];if(L&&Ge&&zb(ce,ut=>D(Ge,ut))!==-1)return;const Le=zb(Ie,ut=>D(ut,xe));Le===-1?$e({diff:"reset"}):it({index:Le});return}if(he.current>=Ie.length-1){it({index:Ie.length-1});return}it({index:he.current})}},[Ie.length,L?!1:ce,b,$e,it,ze,ye,L]),yt=Vt(we=>{Hg(re,we),we&&mt()});g.useEffect(()=>{mt()},[mt]);const kt=we=>{ne||(se(!0),Ae(!0),F&&F(we))},tn=(we,xe)=>{ne&&(se(!1),R&&R(we,xe))},Ct=(we,xe,Ge,Le)=>{if(L){if(ce.length===xe.length&&ce.every((ut,Ye)=>ut===xe[Ye]))return}else if(ce===xe)return;N&&N(we,xe,Ge,Le),be(xe)},jt=g.useRef(!1),zn=(we,xe,Ge="selectOption",Le="options")=>{let ut=Ge,Ye=xe;if(L){Ye=Array.isArray(ce)?ce.slice():[];const Pt=zb(Ye,xi=>D(xe,xi));Pt===-1?Ye.push(xe):Le!=="freeSolo"&&(Ye.splice(Pt,1),ut="removeOption")}Y(we,Ye),Ct(we,Ye,ut,{option:xe}),!f&&(!we||!we.ctrlKey&&!we.metaKey)&&tn(we,ut),(a===!0||a==="touch"&&jt.current||a==="mouse"&&!jt.current)&&ue.current.blur()};function Fo(we,xe){if(we===-1)return-1;let Ge=we;for(;;){if(xe==="next"&&Ge===ce.length||xe==="previous"&&Ge===-1)return-1;const Le=pe.querySelector(`[data-tag-index="${Ge}"]`);if(!Le||!Le.hasAttribute("tabindex")||Le.disabled||Le.getAttribute("aria-disabled")==="true")Ge+=xe==="next"?1:-1;else return Ge}}const _s=(we,xe)=>{if(!L)return;ye===""&&tn(we,"toggleInput");let Ge=G;G===-1?ye===""&&xe==="previous"&&(Ge=ce.length-1):(Ge+=xe==="next"?1:-1,Ge<0&&(Ge=0),Ge===ce.length&&(Ge=-1)),Ge=Fo(Ge,xe),te(Ge),Tt(Ge)},Al=we=>{ae.current=!0,Me(""),A&&A(we,"","clear"),Ct(we,L?[]:null,"clear")},Ds=we=>xe=>{if(we.onKeyDown&&we.onKeyDown(xe),!xe.defaultMuiPrevented&&(G!==-1&&["ArrowLeft","ArrowRight"].indexOf(xe.key)===-1&&(te(-1),Tt(-1)),xe.which!==229))switch(xe.key){case"Home":ze&&E&&(xe.preventDefault(),$e({diff:"start",direction:"next",reason:"keyboard",event:xe}));break;case"End":ze&&E&&(xe.preventDefault(),$e({diff:"end",direction:"previous",reason:"keyboard",event:xe}));break;case"PageUp":xe.preventDefault(),$e({diff:-hL,direction:"previous",reason:"keyboard",event:xe}),kt(xe);break;case"PageDown":xe.preventDefault(),$e({diff:hL,direction:"next",reason:"keyboard",event:xe}),kt(xe);break;case"ArrowDown":xe.preventDefault(),$e({diff:1,direction:"next",reason:"keyboard",event:xe}),kt(xe);break;case"ArrowUp":xe.preventDefault(),$e({diff:-1,direction:"previous",reason:"keyboard",event:xe}),kt(xe);break;case"ArrowLeft":_s(xe,"previous");break;case"ArrowRight":_s(xe,"next");break;case"Enter":if(he.current!==-1&&ze){const Ge=Ie[he.current],Le=w?w(Ge):!1;if(xe.preventDefault(),Le)return;zn(xe,Ge,"selectOption"),r&&ue.current.setSelectionRange(ue.current.value.length,ue.current.value.length)}else y&&ye!==""&&Ve===!1&&(L&&xe.preventDefault(),zn(xe,ye,"createOption","freeSolo"));break;case"Escape":ze?(xe.preventDefault(),xe.stopPropagation(),tn(xe,"escape")):l&&(ye!==""||L&&ce.length>0)&&(xe.preventDefault(),xe.stopPropagation(),Al(xe));break;case"Backspace":if(L&&!U&&ye===""&&ce.length>0){const Ge=G===-1?ce.length-1:G,Le=ce.slice();Le.splice(Ge,1),Ct(xe,Le,"removeOption",{option:ce[Ge]})}break;case"Delete":if(L&&!U&&ye===""&&ce.length>0&&G!==-1){const Ge=G,Le=ce.slice();Le.splice(Ge,1),Ct(xe,Le,"removeOption",{option:ce[Ge]})}break}},eu=we=>{_e(!0),j&&!ae.current&&kt(we)},Bo=we=>{if(t(re)){ue.current.focus();return}_e(!1),Z.current=!0,ae.current=!1,i&&he.current!==-1&&ze?zn(we,Ie[he.current],"blur"):i&&y&&ye!==""?zn(we,ye,"blur","freeSolo"):s&&Y(we,ce),tn(we,"blur")},er=we=>{const xe=we.target.value;ye!==xe&&(Me(xe),Ae(!1),A&&A(we,xe,"input")),xe===""?!d&&!L&&Ct(we,null,"clear"):kt(we)},hn=we=>{const xe=Number(we.currentTarget.getAttribute("data-option-index"));he.current!==xe&&it({event:we,index:xe,reason:"mouse"})},yr=we=>{it({event:we,index:Number(we.currentTarget.getAttribute("data-option-index")),reason:"touch"}),jt.current=!0},Br=we=>{const xe=Number(we.currentTarget.getAttribute("data-option-index"));zn(we,Ie[xe],"selectOption"),jt.current=!1},ca=we=>xe=>{const Ge=ce.slice();Ge.splice(we,1),Ct(xe,Ge,"removeOption",{option:ce[we]})},Ns=we=>{ne?tn(we,"toggleInput"):kt(we)},bi=we=>{we.currentTarget.contains(we.target)&&we.target.getAttribute("id")!==J&&we.preventDefault()},Rl=we=>{we.currentTarget.contains(we.target)&&(ue.current.focus(),H&&Z.current&&ue.current.selectionEnd-ue.current.selectionStart===0&&ue.current.select(),Z.current=!1)},_l=we=>{!p&&(ye===""||!ne)&&Ns(we)};let Ga=y&&ye.length>0;Ga=Ga||(L?ce.length>0:ce!==null);let Ls=Ie;return P&&(Ls=Ie.reduce((we,xe,Ge)=>{const Le=P(xe);return we.length>0&&we[we.length-1].group===Le?we[we.length-1].options.push(xe):we.push({key:Ge,index:Ge,group:Le,options:[xe]}),we},[])),p&&Re&&Bo(),{getRootProps:(we={})=>S({"aria-owns":sn?`${J}-listbox`:null},we,{onKeyDown:Ds(we),onMouseDown:bi,onClick:Rl}),getInputLabelProps:()=>({id:`${J}-label`,htmlFor:J}),getInputProps:()=>({id:J,value:ye,onBlur:Bo,onFocus:eu,onChange:er,onMouseDown:_l,"aria-activedescendant":ze?"":null,"aria-autocomplete":r?"both":"list","aria-controls":sn?`${J}-listbox`:void 0,"aria-expanded":sn,autoComplete:"off",ref:ue,autoCapitalize:"none",spellCheck:"false",role:"combobox",disabled:p}),getClearProps:()=>({tabIndex:-1,type:"button",onClick:Al}),getPopupIndicatorProps:()=>({tabIndex:-1,type:"button",onClick:Ns}),getTagProps:({index:we})=>S({key:we,"data-tag-index":we,tabIndex:-1},!U&&{onDelete:ca(we)}),getListboxProps:()=>({role:"listbox",id:`${J}-listbox`,"aria-labelledby":`${J}-label`,ref:yt,onMouseDown:we=>{we.preventDefault()}}),getOptionProps:({index:we,option:xe})=>{var Ge;const Le=(L?ce:[ce]).some(Ye=>Ye!=null&&D(xe,Ye)),ut=w?w(xe):!1;return{key:(Ge=C==null?void 0:C(xe))!=null?Ge:oe(xe),tabIndex:-1,role:"option",id:`${J}-option-${we}`,onMouseMove:hn,onClick:Br,onTouchStart:yr,"data-option-index":we,"aria-disabled":ut,"aria-selected":Le}},id:J,inputValue:ye,value:ce,dirty:Ga,expanded:ze&&pe,popupOpen:ze,focused:Re||G!==-1,anchorEl:pe,setAnchorEl:le,focusedTag:G,groupedOptions:Ls}}var lA={};Object.defineProperty(lA,"__esModule",{value:!0});var XW=lA.default=void 0,ade=lde(g),sde=fU;function JW(e){if(typeof WeakMap!="function")return null;var t=new WeakMap,n=new WeakMap;return(JW=function(r){return r?n:t})(e)}function lde(e,t){if(e&&e.__esModule)return e;if(e===null||typeof e!="object"&&typeof e!="function")return{default:e};var n=JW(t);if(n&&n.has(e))return n.get(e);var r={__proto__:null},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if(i!=="default"&&Object.prototype.hasOwnProperty.call(e,i)){var a=o?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(r,i,a):r[i]=e[i]}return r.default=e,n&&n.set(e,r),r}function cde(e){return Object.keys(e).length===0}function ude(e=null){const t=ade.useContext(sde.ThemeContext);return!t||cde(t)?e:t}XW=lA.default=ude;const dde=["anchorEl","component","components","componentsProps","container","disablePortal","keepMounted","modifiers","open","placement","popperOptions","popperRef","transition","slots","slotProps"],fde=W(Xue,{name:"MuiPopper",slot:"Root",overridesResolver:(e,t)=>t.root})({}),Bc=g.forwardRef(function(t,n){var r;const o=XW(),i=Ee({props:t,name:"MuiPopper"}),{anchorEl:a,component:s,components:l,componentsProps:c,container:u,disablePortal:d,keepMounted:f,modifiers:p,open:h,placement:m,popperOptions:v,popperRef:b,transition:y,slots:w,slotProps:C}=i,O=q(i,dde),P=(r=w==null?void 0:w.root)!=null?r:l==null?void 0:l.Root,E=S({anchorEl:a,container:u,disablePortal:d,keepMounted:f,modifiers:p,open:h,placement:m,popperOptions:v,popperRef:b,transition:y},O);return k.jsx(fde,S({as:s,direction:o==null?void 0:o.direction,slots:{root:P},slotProps:C??c},E,{ref:n}))});function pde(e){return Se("MuiListSubheader",e)}Pe("MuiListSubheader",["root","colorPrimary","colorInherit","gutters","inset","sticky"]);const hde=["className","color","component","disableGutters","disableSticky","inset"],mde=e=>{const{classes:t,color:n,disableGutters:r,inset:o,disableSticky:i}=e,a={root:["root",n!=="default"&&`color${ie(n)}`,!r&&"gutters",o&&"inset",!i&&"sticky"]};return de(a,pde,t)},gde=W("li",{name:"MuiListSubheader",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.color!=="default"&&t[`color${ie(n.color)}`],!n.disableGutters&&t.gutters,n.inset&&t.inset,!n.disableSticky&&t.sticky]}})(({theme:e,ownerState:t})=>S({boxSizing:"border-box",lineHeight:"48px",listStyle:"none",color:(e.vars||e).palette.text.secondary,fontFamily:e.typography.fontFamily,fontWeight:e.typography.fontWeightMedium,fontSize:e.typography.pxToRem(14)},t.color==="primary"&&{color:(e.vars||e).palette.primary.main},t.color==="inherit"&&{color:"inherit"},!t.disableGutters&&{paddingLeft:16,paddingRight:16},t.inset&&{paddingLeft:72},!t.disableSticky&&{position:"sticky",top:0,zIndex:1,backgroundColor:(e.vars||e).palette.background.paper})),ZW=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiListSubheader"}),{className:o,color:i="default",component:a="li",disableGutters:s=!1,disableSticky:l=!1,inset:c=!1}=r,u=q(r,hde),d=S({},r,{color:i,component:a,disableGutters:s,disableSticky:l,inset:c}),f=mde(d);return k.jsx(gde,S({as:a,className:Q(f.root,o),ref:n,ownerState:d},u))});ZW.muiSkipListHighlight=!0;const vde=rt(k.jsx("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"}),"Cancel");function yde(e){return Se("MuiChip",e)}const Yt=Pe("MuiChip",["root","sizeSmall","sizeMedium","colorError","colorInfo","colorPrimary","colorSecondary","colorSuccess","colorWarning","disabled","clickable","clickableColorPrimary","clickableColorSecondary","deletable","deletableColorPrimary","deletableColorSecondary","outlined","filled","outlinedPrimary","outlinedSecondary","filledPrimary","filledSecondary","avatar","avatarSmall","avatarMedium","avatarColorPrimary","avatarColorSecondary","icon","iconSmall","iconMedium","iconColorPrimary","iconColorSecondary","label","labelSmall","labelMedium","deleteIcon","deleteIconSmall","deleteIconMedium","deleteIconColorPrimary","deleteIconColorSecondary","deleteIconOutlinedColorPrimary","deleteIconOutlinedColorSecondary","deleteIconFilledColorPrimary","deleteIconFilledColorSecondary","focusVisible"]),bde=["avatar","className","clickable","color","component","deleteIcon","disabled","icon","label","onClick","onDelete","onKeyDown","onKeyUp","size","variant","tabIndex","skipFocusWhenDisabled"],xde=e=>{const{classes:t,disabled:n,size:r,color:o,iconColor:i,onDelete:a,clickable:s,variant:l}=e,c={root:["root",l,n&&"disabled",`size${ie(r)}`,`color${ie(o)}`,s&&"clickable",s&&`clickableColor${ie(o)}`,a&&"deletable",a&&`deletableColor${ie(o)}`,`${l}${ie(o)}`],label:["label",`label${ie(r)}`],avatar:["avatar",`avatar${ie(r)}`,`avatarColor${ie(o)}`],icon:["icon",`icon${ie(r)}`,`iconColor${ie(i)}`],deleteIcon:["deleteIcon",`deleteIcon${ie(r)}`,`deleteIconColor${ie(o)}`,`deleteIcon${ie(l)}Color${ie(o)}`]};return de(c,yde,t)},wde=W("div",{name:"MuiChip",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e,{color:r,iconColor:o,clickable:i,onDelete:a,size:s,variant:l}=n;return[{[`& .${Yt.avatar}`]:t.avatar},{[`& .${Yt.avatar}`]:t[`avatar${ie(s)}`]},{[`& .${Yt.avatar}`]:t[`avatarColor${ie(r)}`]},{[`& .${Yt.icon}`]:t.icon},{[`& .${Yt.icon}`]:t[`icon${ie(s)}`]},{[`& .${Yt.icon}`]:t[`iconColor${ie(o)}`]},{[`& .${Yt.deleteIcon}`]:t.deleteIcon},{[`& .${Yt.deleteIcon}`]:t[`deleteIcon${ie(s)}`]},{[`& .${Yt.deleteIcon}`]:t[`deleteIconColor${ie(r)}`]},{[`& .${Yt.deleteIcon}`]:t[`deleteIcon${ie(l)}Color${ie(r)}`]},t.root,t[`size${ie(s)}`],t[`color${ie(r)}`],i&&t.clickable,i&&r!=="default"&&t[`clickableColor${ie(r)})`],a&&t.deletable,a&&r!=="default"&&t[`deletableColor${ie(r)}`],t[l],t[`${l}${ie(r)}`]]}})(({theme:e,ownerState:t})=>{const n=e.palette.mode==="light"?e.palette.grey[700]:e.palette.grey[300];return S({maxWidth:"100%",fontFamily:e.typography.fontFamily,fontSize:e.typography.pxToRem(13),display:"inline-flex",alignItems:"center",justifyContent:"center",height:32,color:(e.vars||e).palette.text.primary,backgroundColor:(e.vars||e).palette.action.selected,borderRadius:32/2,whiteSpace:"nowrap",transition:e.transitions.create(["background-color","box-shadow"]),cursor:"unset",outline:0,textDecoration:"none",border:0,padding:0,verticalAlign:"middle",boxSizing:"border-box",[`&.${Yt.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity,pointerEvents:"none"},[`& .${Yt.avatar}`]:{marginLeft:5,marginRight:-6,width:24,height:24,color:e.vars?e.vars.palette.Chip.defaultAvatarColor:n,fontSize:e.typography.pxToRem(12)},[`& .${Yt.avatarColorPrimary}`]:{color:(e.vars||e).palette.primary.contrastText,backgroundColor:(e.vars||e).palette.primary.dark},[`& .${Yt.avatarColorSecondary}`]:{color:(e.vars||e).palette.secondary.contrastText,backgroundColor:(e.vars||e).palette.secondary.dark},[`& .${Yt.avatarSmall}`]:{marginLeft:4,marginRight:-4,width:18,height:18,fontSize:e.typography.pxToRem(10)},[`& .${Yt.icon}`]:S({marginLeft:5,marginRight:-6},t.size==="small"&&{fontSize:18,marginLeft:4,marginRight:-4},t.iconColor===t.color&&S({color:e.vars?e.vars.palette.Chip.defaultIconColor:n},t.color!=="default"&&{color:"inherit"})),[`& .${Yt.deleteIcon}`]:S({WebkitTapHighlightColor:"transparent",color:e.vars?`rgba(${e.vars.palette.text.primaryChannel} / 0.26)`:st(e.palette.text.primary,.26),fontSize:22,cursor:"pointer",margin:"0 5px 0 -6px","&:hover":{color:e.vars?`rgba(${e.vars.palette.text.primaryChannel} / 0.4)`:st(e.palette.text.primary,.4)}},t.size==="small"&&{fontSize:16,marginRight:4,marginLeft:-4},t.color!=="default"&&{color:e.vars?`rgba(${e.vars.palette[t.color].contrastTextChannel} / 0.7)`:st(e.palette[t.color].contrastText,.7),"&:hover, &:active":{color:(e.vars||e).palette[t.color].contrastText}})},t.size==="small"&&{height:24},t.color!=="default"&&{backgroundColor:(e.vars||e).palette[t.color].main,color:(e.vars||e).palette[t.color].contrastText},t.onDelete&&{[`&.${Yt.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.action.selectedChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:st(e.palette.action.selected,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}},t.onDelete&&t.color!=="default"&&{[`&.${Yt.focusVisible}`]:{backgroundColor:(e.vars||e).palette[t.color].dark}})},({theme:e,ownerState:t})=>S({},t.clickable&&{userSelect:"none",WebkitTapHighlightColor:"transparent",cursor:"pointer","&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.action.selectedChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:st(e.palette.action.selected,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity)},[`&.${Yt.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.action.selectedChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:st(e.palette.action.selected,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)},"&:active":{boxShadow:(e.vars||e).shadows[1]}},t.clickable&&t.color!=="default"&&{[`&:hover, &.${Yt.focusVisible}`]:{backgroundColor:(e.vars||e).palette[t.color].dark}}),({theme:e,ownerState:t})=>S({},t.variant==="outlined"&&{backgroundColor:"transparent",border:e.vars?`1px solid ${e.vars.palette.Chip.defaultBorder}`:`1px solid ${e.palette.mode==="light"?e.palette.grey[400]:e.palette.grey[700]}`,[`&.${Yt.clickable}:hover`]:{backgroundColor:(e.vars||e).palette.action.hover},[`&.${Yt.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`& .${Yt.avatar}`]:{marginLeft:4},[`& .${Yt.avatarSmall}`]:{marginLeft:2},[`& .${Yt.icon}`]:{marginLeft:4},[`& .${Yt.iconSmall}`]:{marginLeft:2},[`& .${Yt.deleteIcon}`]:{marginRight:5},[`& .${Yt.deleteIconSmall}`]:{marginRight:3}},t.variant==="outlined"&&t.color!=="default"&&{color:(e.vars||e).palette[t.color].main,border:`1px solid ${e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / 0.7)`:st(e.palette[t.color].main,.7)}`,[`&.${Yt.clickable}:hover`]:{backgroundColor:e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:st(e.palette[t.color].main,e.palette.action.hoverOpacity)},[`&.${Yt.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / ${e.vars.palette.action.focusOpacity})`:st(e.palette[t.color].main,e.palette.action.focusOpacity)},[`& .${Yt.deleteIcon}`]:{color:e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / 0.7)`:st(e.palette[t.color].main,.7),"&:hover, &:active":{color:(e.vars||e).palette[t.color].main}}})),Cde=W("span",{name:"MuiChip",slot:"Label",overridesResolver:(e,t)=>{const{ownerState:n}=e,{size:r}=n;return[t.label,t[`label${ie(r)}`]]}})(({ownerState:e})=>S({overflow:"hidden",textOverflow:"ellipsis",paddingLeft:12,paddingRight:12,whiteSpace:"nowrap"},e.variant==="outlined"&&{paddingLeft:11,paddingRight:11},e.size==="small"&&{paddingLeft:8,paddingRight:8},e.size==="small"&&e.variant==="outlined"&&{paddingLeft:7,paddingRight:7}));function mL(e){return e.key==="Backspace"||e.key==="Delete"}const Pp=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiChip"}),{avatar:o,className:i,clickable:a,color:s="default",component:l,deleteIcon:c,disabled:u=!1,icon:d,label:f,onClick:p,onDelete:h,onKeyDown:m,onKeyUp:v,size:b="medium",variant:y="filled",tabIndex:w,skipFocusWhenDisabled:C=!1}=r,O=q(r,bde),P=g.useRef(null),E=Ot(P,n),T=j=>{j.stopPropagation(),h&&h(j)},$=j=>{j.currentTarget===j.target&&mL(j)&&j.preventDefault(),m&&m(j)},M=j=>{j.currentTarget===j.target&&(h&&mL(j)?h(j):j.key==="Escape"&&P.current&&P.current.blur()),v&&v(j)},D=a!==!1&&p?!0:a,L=D||h?Zr:l||"div",N=S({},r,{component:L,disabled:u,size:b,color:s,iconColor:g.isValidElement(d)&&d.props.color||s,onDelete:!!h,clickable:D,variant:y}),R=xde(N),I=L===Zr?S({component:l||"div",focusVisibleClassName:R.focusVisible},h&&{disableRipple:!0}):{};let A=null;h&&(A=c&&g.isValidElement(c)?g.cloneElement(c,{className:Q(c.props.className,R.deleteIcon),onClick:T}):k.jsx(vde,{className:Q(R.deleteIcon),onClick:T}));let F=null;o&&g.isValidElement(o)&&(F=g.cloneElement(o,{className:Q(R.avatar,o.props.className)}));let _=null;return d&&g.isValidElement(d)&&(_=g.cloneElement(d,{className:Q(R.icon,d.props.className)})),k.jsxs(wde,S({as:L,className:Q(R.root,i),disabled:D&&u?!0:void 0,onClick:p,onKeyDown:$,onKeyUp:M,ref:E,tabIndex:C&&u?-1:w,ownerState:N},I,O,{children:[F||_,k.jsx(Cde,{className:Q(R.label),ownerState:N,children:f}),A]}))});function zc({props:e,states:t,muiFormControl:n}){return t.reduce((r,o)=>(r[o]=e[o],n&&typeof e[o]>"u"&&(r[o]=n[o]),r),{})}const MC=g.createContext(void 0);function Ps(){return g.useContext(MC)}function Sde(e){return k.jsx(ene,S({},e,{defaultTheme:nC,themeId:qu}))}function gL(e){return e!=null&&!(Array.isArray(e)&&e.length===0)}function Vx(e,t=!1){return e&&(gL(e.value)&&e.value!==""||t&&gL(e.defaultValue)&&e.defaultValue!=="")}function Pde(e){return e.startAdornment}function Ede(e){return Se("MuiInputBase",e)}const qo=Pe("MuiInputBase",["root","formControl","focused","disabled","adornedStart","adornedEnd","error","sizeSmall","multiline","colorSecondary","fullWidth","hiddenLabel","readOnly","input","inputSizeSmall","inputMultiline","inputTypeSearch","inputAdornedStart","inputAdornedEnd","inputHiddenLabel"]),Ode=["aria-describedby","autoComplete","autoFocus","className","color","components","componentsProps","defaultValue","disabled","disableInjectingGlobalStyles","endAdornment","error","fullWidth","id","inputComponent","inputProps","inputRef","margin","maxRows","minRows","multiline","name","onBlur","onChange","onClick","onFocus","onKeyDown","onKeyUp","placeholder","readOnly","renderSuffix","rows","size","slotProps","slots","startAdornment","type","value"],AC=(e,t)=>{const{ownerState:n}=e;return[t.root,n.formControl&&t.formControl,n.startAdornment&&t.adornedStart,n.endAdornment&&t.adornedEnd,n.error&&t.error,n.size==="small"&&t.sizeSmall,n.multiline&&t.multiline,n.color&&t[`color${ie(n.color)}`],n.fullWidth&&t.fullWidth,n.hiddenLabel&&t.hiddenLabel]},RC=(e,t)=>{const{ownerState:n}=e;return[t.input,n.size==="small"&&t.inputSizeSmall,n.multiline&&t.inputMultiline,n.type==="search"&&t.inputTypeSearch,n.startAdornment&&t.inputAdornedStart,n.endAdornment&&t.inputAdornedEnd,n.hiddenLabel&&t.inputHiddenLabel]},Tde=e=>{const{classes:t,color:n,disabled:r,error:o,endAdornment:i,focused:a,formControl:s,fullWidth:l,hiddenLabel:c,multiline:u,readOnly:d,size:f,startAdornment:p,type:h}=e,m={root:["root",`color${ie(n)}`,r&&"disabled",o&&"error",l&&"fullWidth",a&&"focused",s&&"formControl",f&&f!=="medium"&&`size${ie(f)}`,u&&"multiline",p&&"adornedStart",i&&"adornedEnd",c&&"hiddenLabel",d&&"readOnly"],input:["input",r&&"disabled",h==="search"&&"inputTypeSearch",u&&"inputMultiline",f==="small"&&"inputSizeSmall",c&&"inputHiddenLabel",p&&"inputAdornedStart",i&&"inputAdornedEnd",d&&"readOnly"]};return de(m,Ede,t)},_C=W("div",{name:"MuiInputBase",slot:"Root",overridesResolver:AC})(({theme:e,ownerState:t})=>S({},e.typography.body1,{color:(e.vars||e).palette.text.primary,lineHeight:"1.4375em",boxSizing:"border-box",position:"relative",cursor:"text",display:"inline-flex",alignItems:"center",[`&.${qo.disabled}`]:{color:(e.vars||e).palette.text.disabled,cursor:"default"}},t.multiline&&S({padding:"4px 0 5px"},t.size==="small"&&{paddingTop:1}),t.fullWidth&&{width:"100%"})),DC=W("input",{name:"MuiInputBase",slot:"Input",overridesResolver:RC})(({theme:e,ownerState:t})=>{const n=e.palette.mode==="light",r=S({color:"currentColor"},e.vars?{opacity:e.vars.opacity.inputPlaceholder}:{opacity:n?.42:.5},{transition:e.transitions.create("opacity",{duration:e.transitions.duration.shorter})}),o={opacity:"0 !important"},i=e.vars?{opacity:e.vars.opacity.inputPlaceholder}:{opacity:n?.42:.5};return S({font:"inherit",letterSpacing:"inherit",color:"currentColor",padding:"4px 0 5px",border:0,boxSizing:"content-box",background:"none",height:"1.4375em",margin:0,WebkitTapHighlightColor:"transparent",display:"block",minWidth:0,width:"100%",animationName:"mui-auto-fill-cancel",animationDuration:"10ms","&::-webkit-input-placeholder":r,"&::-moz-placeholder":r,"&:-ms-input-placeholder":r,"&::-ms-input-placeholder":r,"&:focus":{outline:0},"&:invalid":{boxShadow:"none"},"&::-webkit-search-decoration":{WebkitAppearance:"none"},[`label[data-shrink=false] + .${qo.formControl} &`]:{"&::-webkit-input-placeholder":o,"&::-moz-placeholder":o,"&:-ms-input-placeholder":o,"&::-ms-input-placeholder":o,"&:focus::-webkit-input-placeholder":i,"&:focus::-moz-placeholder":i,"&:focus:-ms-input-placeholder":i,"&:focus::-ms-input-placeholder":i},[`&.${qo.disabled}`]:{opacity:1,WebkitTextFillColor:(e.vars||e).palette.text.disabled},"&:-webkit-autofill":{animationDuration:"5000s",animationName:"mui-auto-fill"}},t.size==="small"&&{paddingTop:1},t.multiline&&{height:"auto",resize:"none",padding:0,paddingTop:0},t.type==="search"&&{MozAppearance:"textfield"})}),kde=k.jsx(Sde,{styles:{"@keyframes mui-auto-fill":{from:{display:"block"}},"@keyframes mui-auto-fill-cancel":{from:{display:"block"}}}}),fh=g.forwardRef(function(t,n){var r;const o=Ee({props:t,name:"MuiInputBase"}),{"aria-describedby":i,autoComplete:a,autoFocus:s,className:l,components:c={},componentsProps:u={},defaultValue:d,disabled:f,disableInjectingGlobalStyles:p,endAdornment:h,fullWidth:m=!1,id:v,inputComponent:b="input",inputProps:y={},inputRef:w,maxRows:C,minRows:O,multiline:P=!1,name:E,onBlur:T,onChange:$,onClick:M,onFocus:D,onKeyDown:L,onKeyUp:N,placeholder:R,readOnly:I,renderSuffix:A,rows:F,slotProps:_={},slots:j={},startAdornment:B,type:U="text",value:H}=o,K=q(o,Ode),J=y.value!=null?y.value:H,{current:oe}=g.useRef(J!=null),ae=g.useRef(),Z=g.useCallback(ze=>{},[]),ue=Ot(ae,w,y.ref,Z),[re,pe]=g.useState(!1),le=Ps(),G=zc({props:o,muiFormControl:le,states:["color","disabled","error","hiddenLabel","size","required","filled"]});G.focused=le?le.focused:re,g.useEffect(()=>{!le&&f&&re&&(pe(!1),T&&T())},[le,f,re,T]);const te=le&&le.onFilled,fe=le&&le.onEmpty,he=g.useCallback(ze=>{Vx(ze)?te&&te():fe&&fe()},[te,fe]);Ft(()=>{oe&&he({value:J})},[J,he,oe]);const ce=ze=>{if(G.disabled){ze.stopPropagation();return}D&&D(ze),y.onFocus&&y.onFocus(ze),le&&le.onFocus?le.onFocus(ze):pe(!0)},be=ze=>{T&&T(ze),y.onBlur&&y.onBlur(ze),le&&le.onBlur?le.onBlur(ze):pe(!1)},ye=(ze,...Ie)=>{if(!oe){const ht=ze.target||ae.current;if(ht==null)throw new Error(al(1));he({value:ht.value})}y.onChange&&y.onChange(ze,...Ie),$&&$(ze,...Ie)};g.useEffect(()=>{he(ae.current)},[]);const Me=ze=>{ae.current&&ze.currentTarget===ze.target&&ae.current.focus(),M&&M(ze)};let Re=b,_e=y;P&&Re==="input"&&(F?_e=S({type:void 0,minRows:F,maxRows:F},_e):_e=S({type:void 0,maxRows:C,minRows:O},_e),Re=nde);const Y=ze=>{he(ze.animationName==="mui-auto-fill-cancel"?ae.current:{value:"x"})};g.useEffect(()=>{le&&le.setAdornedStart(!!B)},[le,B]);const ne=S({},o,{color:G.color||"primary",disabled:G.disabled,endAdornment:h,error:G.error,focused:G.focused,formControl:le,fullWidth:m,hiddenLabel:G.hiddenLabel,multiline:P,size:G.size,startAdornment:B,type:U}),se=Tde(ne),ge=j.root||c.Root||_C,Ae=_.root||u.root||{},Ve=j.input||c.Input||DC;return _e=S({},_e,(r=_.input)!=null?r:u.input),k.jsxs(g.Fragment,{children:[!p&&kde,k.jsxs(ge,S({},Ae,!ed(ge)&&{ownerState:S({},ne,Ae.ownerState)},{ref:n,onClick:Me},K,{className:Q(se.root,Ae.className,l,I&&"MuiInputBase-readOnly"),children:[B,k.jsx(MC.Provider,{value:null,children:k.jsx(Ve,S({ownerState:ne,"aria-invalid":G.error,"aria-describedby":i,autoComplete:a,autoFocus:s,defaultValue:d,disabled:G.disabled,id:v,onAnimationStart:Y,name:E,placeholder:R,readOnly:I,required:G.required,rows:F,value:J,onKeyDown:L,onKeyUp:N,type:U},_e,!ed(Ve)&&{as:Re,ownerState:S({},ne,_e.ownerState)},{ref:ue,className:Q(se.input,_e.className,I&&"MuiInputBase-readOnly"),onBlur:be,onChange:ye,onFocus:ce}))}),h,A?A(S({},G,{startAdornment:B})):null]}))]})});function Ide(e){return Se("MuiInput",e)}const nc=S({},qo,Pe("MuiInput",["root","underline","input"]));function $de(e){return Se("MuiOutlinedInput",e)}const Qa=S({},qo,Pe("MuiOutlinedInput",["root","notchedOutline","input"]));function Mde(e){return Se("MuiFilledInput",e)}const Ko=S({},qo,Pe("MuiFilledInput",["root","underline","input"])),e8=rt(k.jsx("path",{d:"M7 10l5 5 5-5z"}),"ArrowDropDown");function Ade(e){return Se("MuiAutocomplete",e)}const Et=Pe("MuiAutocomplete",["root","expanded","fullWidth","focused","focusVisible","tag","tagSizeSmall","tagSizeMedium","hasPopupIcon","hasClearIcon","inputRoot","input","inputFocused","endAdornment","clearIndicator","popupIndicator","popupIndicatorOpen","popper","popperDisablePortal","paper","listbox","loading","noOptions","option","groupLabel","groupUl"]);var vL,yL;const Rde=["autoComplete","autoHighlight","autoSelect","blurOnSelect","ChipProps","className","clearIcon","clearOnBlur","clearOnEscape","clearText","closeText","componentsProps","defaultValue","disableClearable","disableCloseOnSelect","disabled","disabledItemsFocusable","disableListWrap","disablePortal","filterOptions","filterSelectedOptions","forcePopupIcon","freeSolo","fullWidth","getLimitTagsText","getOptionDisabled","getOptionKey","getOptionLabel","isOptionEqualToValue","groupBy","handleHomeEndKeys","id","includeInputInList","inputValue","limitTags","ListboxComponent","ListboxProps","loading","loadingText","multiple","noOptionsText","onChange","onClose","onHighlightChange","onInputChange","onOpen","open","openOnFocus","openText","options","PaperComponent","PopperComponent","popupIcon","readOnly","renderGroup","renderInput","renderOption","renderTags","selectOnFocus","size","slotProps","value"],_de=["ref"],Dde=["key"],Nde=["key"],Lde=Sl(),jde=e=>{const{classes:t,disablePortal:n,expanded:r,focused:o,fullWidth:i,hasClearIcon:a,hasPopupIcon:s,inputFocused:l,popupOpen:c,size:u}=e,d={root:["root",r&&"expanded",o&&"focused",i&&"fullWidth",a&&"hasClearIcon",s&&"hasPopupIcon"],inputRoot:["inputRoot"],input:["input",l&&"inputFocused"],tag:["tag",`tagSize${ie(u)}`],endAdornment:["endAdornment"],clearIndicator:["clearIndicator"],popupIndicator:["popupIndicator",c&&"popupIndicatorOpen"],popper:["popper",n&&"popperDisablePortal"],paper:["paper"],listbox:["listbox"],loading:["loading"],noOptions:["noOptions"],option:["option"],groupLabel:["groupLabel"],groupUl:["groupUl"]};return de(d,Ade,t)},Fde=W("div",{name:"MuiAutocomplete",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e,{fullWidth:r,hasClearIcon:o,hasPopupIcon:i,inputFocused:a,size:s}=n;return[{[`& .${Et.tag}`]:t.tag},{[`& .${Et.tag}`]:t[`tagSize${ie(s)}`]},{[`& .${Et.inputRoot}`]:t.inputRoot},{[`& .${Et.input}`]:t.input},{[`& .${Et.input}`]:a&&t.inputFocused},t.root,r&&t.fullWidth,i&&t.hasPopupIcon,o&&t.hasClearIcon]}})({[`&.${Et.focused} .${Et.clearIndicator}`]:{visibility:"visible"},"@media (pointer: fine)":{[`&:hover .${Et.clearIndicator}`]:{visibility:"visible"}},[`& .${Et.tag}`]:{margin:3,maxWidth:"calc(100% - 6px)"},[`& .${Et.inputRoot}`]:{[`.${Et.hasPopupIcon}&, .${Et.hasClearIcon}&`]:{paddingRight:30},[`.${Et.hasPopupIcon}.${Et.hasClearIcon}&`]:{paddingRight:56},[`& .${Et.input}`]:{width:0,minWidth:30}},[`& .${nc.root}`]:{paddingBottom:1,"& .MuiInput-input":{padding:"4px 4px 4px 0px"}},[`& .${nc.root}.${qo.sizeSmall}`]:{[`& .${nc.input}`]:{padding:"2px 4px 3px 0"}},[`& .${Qa.root}`]:{padding:9,[`.${Et.hasPopupIcon}&, .${Et.hasClearIcon}&`]:{paddingRight:39},[`.${Et.hasPopupIcon}.${Et.hasClearIcon}&`]:{paddingRight:65},[`& .${Et.input}`]:{padding:"7.5px 4px 7.5px 5px"},[`& .${Et.endAdornment}`]:{right:9}},[`& .${Qa.root}.${qo.sizeSmall}`]:{paddingTop:6,paddingBottom:6,paddingLeft:6,[`& .${Et.input}`]:{padding:"2.5px 4px 2.5px 8px"}},[`& .${Ko.root}`]:{paddingTop:19,paddingLeft:8,[`.${Et.hasPopupIcon}&, .${Et.hasClearIcon}&`]:{paddingRight:39},[`.${Et.hasPopupIcon}.${Et.hasClearIcon}&`]:{paddingRight:65},[`& .${Ko.input}`]:{padding:"7px 4px"},[`& .${Et.endAdornment}`]:{right:9}},[`& .${Ko.root}.${qo.sizeSmall}`]:{paddingBottom:1,[`& .${Ko.input}`]:{padding:"2.5px 4px"}},[`& .${qo.hiddenLabel}`]:{paddingTop:8},[`& .${Ko.root}.${qo.hiddenLabel}`]:{paddingTop:0,paddingBottom:0,[`& .${Et.input}`]:{paddingTop:16,paddingBottom:17}},[`& .${Ko.root}.${qo.hiddenLabel}.${qo.sizeSmall}`]:{[`& .${Et.input}`]:{paddingTop:8,paddingBottom:9}},[`& .${Et.input}`]:{flexGrow:1,textOverflow:"ellipsis",opacity:0},variants:[{props:{fullWidth:!0},style:{width:"100%"}},{props:{size:"small"},style:{[`& .${Et.tag}`]:{margin:2,maxWidth:"calc(100% - 4px)"}}},{props:{inputFocused:!0},style:{[`& .${Et.input}`]:{opacity:1}}},{props:{multiple:!0},style:{[`& .${Et.inputRoot}`]:{flexWrap:"wrap"}}}]}),Bde=W("div",{name:"MuiAutocomplete",slot:"EndAdornment",overridesResolver:(e,t)=>t.endAdornment})({position:"absolute",right:0,top:"50%",transform:"translate(0, -50%)"}),zde=W(Rt,{name:"MuiAutocomplete",slot:"ClearIndicator",overridesResolver:(e,t)=>t.clearIndicator})({marginRight:-2,padding:4,visibility:"hidden"}),Vde=W(Rt,{name:"MuiAutocomplete",slot:"PopupIndicator",overridesResolver:({ownerState:e},t)=>S({},t.popupIndicator,e.popupOpen&&t.popupIndicatorOpen)})({padding:2,marginRight:-2,variants:[{props:{popupOpen:!0},style:{transform:"rotate(180deg)"}}]}),Hde=W(Bc,{name:"MuiAutocomplete",slot:"Popper",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[{[`& .${Et.option}`]:t.option},t.popper,n.disablePortal&&t.popperDisablePortal]}})(({theme:e})=>({zIndex:(e.vars||e).zIndex.modal,variants:[{props:{disablePortal:!0},style:{position:"absolute"}}]})),Ude=W(Kn,{name:"MuiAutocomplete",slot:"Paper",overridesResolver:(e,t)=>t.paper})(({theme:e})=>S({},e.typography.body1,{overflow:"auto"})),Wde=W("div",{name:"MuiAutocomplete",slot:"Loading",overridesResolver:(e,t)=>t.loading})(({theme:e})=>({color:(e.vars||e).palette.text.secondary,padding:"14px 16px"})),Gde=W("div",{name:"MuiAutocomplete",slot:"NoOptions",overridesResolver:(e,t)=>t.noOptions})(({theme:e})=>({color:(e.vars||e).palette.text.secondary,padding:"14px 16px"})),qde=W("div",{name:"MuiAutocomplete",slot:"Listbox",overridesResolver:(e,t)=>t.listbox})(({theme:e})=>({listStyle:"none",margin:0,padding:"8px 0",maxHeight:"40vh",overflow:"auto",position:"relative",[`& .${Et.option}`]:{minHeight:48,display:"flex",overflow:"hidden",justifyContent:"flex-start",alignItems:"center",cursor:"pointer",paddingTop:6,boxSizing:"border-box",outline:"0",WebkitTapHighlightColor:"transparent",paddingBottom:6,paddingLeft:16,paddingRight:16,[e.breakpoints.up("sm")]:{minHeight:"auto"},[`&.${Et.focused}`]:{backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},'&[aria-disabled="true"]':{opacity:(e.vars||e).palette.action.disabledOpacity,pointerEvents:"none"},[`&.${Et.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},'&[aria-selected="true"]':{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:st(e.palette.primary.main,e.palette.action.selectedOpacity),[`&.${Et.focused}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:st(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(e.vars||e).palette.action.selected}},[`&.${Et.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:st(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}}}})),Kde=W(ZW,{name:"MuiAutocomplete",slot:"GroupLabel",overridesResolver:(e,t)=>t.groupLabel})(({theme:e})=>({backgroundColor:(e.vars||e).palette.background.paper,top:-8})),Yde=W("ul",{name:"MuiAutocomplete",slot:"GroupUl",overridesResolver:(e,t)=>t.groupUl})({padding:0,[`& .${Et.option}`]:{paddingLeft:24}}),Da=g.forwardRef(function(t,n){var r,o,i,a;const s=Lde({props:t,name:"MuiAutocomplete"}),{autoComplete:l=!1,autoHighlight:c=!1,autoSelect:u=!1,blurOnSelect:d=!1,ChipProps:f,className:p,clearIcon:h=vL||(vL=k.jsx(NW,{fontSize:"small"})),clearOnBlur:m=!s.freeSolo,clearOnEscape:v=!1,clearText:b="Clear",closeText:y="Close",componentsProps:w={},defaultValue:C=s.multiple?[]:null,disableClearable:O=!1,disableCloseOnSelect:P=!1,disabled:E=!1,disabledItemsFocusable:T=!1,disableListWrap:$=!1,disablePortal:M=!1,filterSelectedOptions:D=!1,forcePopupIcon:L="auto",freeSolo:N=!1,fullWidth:R=!1,getLimitTagsText:I=Le=>`+${Le}`,getOptionLabel:A,groupBy:F,handleHomeEndKeys:_=!s.freeSolo,includeInputInList:j=!1,limitTags:B=-1,ListboxComponent:U="ul",ListboxProps:H,loading:K=!1,loadingText:J="Loading…",multiple:oe=!1,noOptionsText:ae="No options",openOnFocus:Z=!1,openText:ue="Open",PaperComponent:re=Kn,PopperComponent:pe=Bc,popupIcon:le=yL||(yL=k.jsx(e8,{})),readOnly:G=!1,renderGroup:te,renderInput:fe,renderOption:he,renderTags:ce,selectOnFocus:be=!s.freeSolo,size:ye="medium",slotProps:Me={}}=s,Re=q(s,Rde),{getRootProps:_e,getInputProps:Y,getInputLabelProps:ne,getPopupIndicatorProps:se,getClearProps:ge,getTagProps:Ae,getListboxProps:Ve,getOptionProps:ze,value:Ie,dirty:ht,expanded:sn,id:Tt,popupOpen:Fe,focused:it,focusedTag:$e,anchorEl:We,setAnchorEl:mt,inputValue:yt,groupedOptions:kt}=ide(S({},s,{componentName:"Autocomplete"})),tn=!O&&!E&&ht&&!G,Ct=(!N||L===!0)&&L!==!1,{onMouseDown:jt}=Y(),{ref:zn}=H??{},Fo=Ve(),{ref:_s}=Fo,Al=q(Fo,_de),Ds=Ot(_s,zn),Bo=A||(Le=>{var ut;return(ut=Le.label)!=null?ut:Le}),er=S({},s,{disablePortal:M,expanded:sn,focused:it,fullWidth:R,getOptionLabel:Bo,hasClearIcon:tn,hasPopupIcon:Ct,inputFocused:$e===-1,popupOpen:Fe,size:ye}),hn=jde(er);let yr;if(oe&&Ie.length>0){const Le=ut=>S({className:hn.tag,disabled:E},Ae(ut));ce?yr=ce(Ie,Le,er):yr=Ie.map((ut,Ye)=>{const Pt=Le({index:Ye}),{key:xi}=Pt,mb=q(Pt,Dde);return k.jsx(Pp,S({label:Bo(ut),size:ye},mb,f),xi)})}if(B>-1&&Array.isArray(yr)){const Le=yr.length-B;!it&&Le>0&&(yr=yr.splice(0,B),yr.push(k.jsx("span",{className:hn.tag,children:I(Le)},yr.length)))}const ca=te||(Le=>k.jsxs("li",{children:[k.jsx(Kde,{className:hn.groupLabel,ownerState:er,component:"div",children:Le.group}),k.jsx(Yde,{className:hn.groupUl,ownerState:er,children:Le.children})]},Le.key)),bi=he||((Le,ut)=>{const{key:Ye}=Le,Pt=q(Le,Nde);return k.jsx("li",S({},Pt,{children:Bo(ut)}),Ye)}),Rl=(Le,ut)=>{const Ye=ze({option:Le,index:ut});return bi(S({},Ye,{className:hn.option}),Le,{selected:Ye["aria-selected"],index:ut,inputValue:yt},er)},_l=(r=Me.clearIndicator)!=null?r:w.clearIndicator,Ga=(o=Me.paper)!=null?o:w.paper,Ls=(i=Me.popper)!=null?i:w.popper,we=(a=Me.popupIndicator)!=null?a:w.popupIndicator,xe=Le=>k.jsx(Hde,S({as:pe,disablePortal:M,style:{width:We?We.clientWidth:null},ownerState:er,role:"presentation",anchorEl:We,open:Fe},Ls,{className:Q(hn.popper,Ls==null?void 0:Ls.className),children:k.jsx(Ude,S({ownerState:er,as:re},Ga,{className:Q(hn.paper,Ga==null?void 0:Ga.className),children:Le}))}));let Ge=null;return kt.length>0?Ge=xe(k.jsx(qde,S({as:U,className:hn.listbox,ownerState:er},Al,H,{ref:Ds,children:kt.map((Le,ut)=>F?ca({key:Le.key,group:Le.group,children:Le.options.map((Ye,Pt)=>Rl(Ye,Le.index+Pt))}):Rl(Le,ut))}))):K&&kt.length===0?Ge=xe(k.jsx(Wde,{className:hn.loading,ownerState:er,children:J})):kt.length===0&&!N&&!K&&(Ge=xe(k.jsx(Gde,{className:hn.noOptions,ownerState:er,role:"presentation",onMouseDown:Le=>{Le.preventDefault()},children:ae}))),k.jsxs(g.Fragment,{children:[k.jsx(Fde,S({ref:n,className:Q(hn.root,p),ownerState:er},_e(Re),{children:fe({id:Tt,disabled:E,fullWidth:!0,size:ye==="small"?"small":void 0,InputLabelProps:ne(),InputProps:S({ref:mt,className:hn.inputRoot,startAdornment:yr,onClick:Le=>{Le.target===Le.currentTarget&&jt(Le)}},(tn||Ct)&&{endAdornment:k.jsxs(Bde,{className:hn.endAdornment,ownerState:er,children:[tn?k.jsx(zde,S({},ge(),{"aria-label":b,title:b,ownerState:er},_l,{className:Q(hn.clearIndicator,_l==null?void 0:_l.className),children:h})):null,Ct?k.jsx(Vde,S({},se(),{disabled:E,"aria-label":Fe?y:ue,title:Fe?y:ue,ownerState:er},we,{className:Q(hn.popupIndicator,we==null?void 0:we.className),children:le})):null]})}),inputProps:S({className:hn.input,disabled:E,readOnly:G},Y())})})),We?Ge:null]})}),Qde=rt(k.jsx("path",{d:"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"}),"Person");function Xde(e){return Se("MuiAvatar",e)}const Jde=Pe("MuiAvatar",["root","colorDefault","circular","rounded","square","img","fallback"]),Zde=["alt","children","className","component","slots","slotProps","imgProps","sizes","src","srcSet","variant"],efe=Sl(),tfe=e=>{const{classes:t,variant:n,colorDefault:r}=e;return de({root:["root",n,r&&"colorDefault"],img:["img"],fallback:["fallback"]},Xde,t)},nfe=W("div",{name:"MuiAvatar",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],n.colorDefault&&t.colorDefault]}})(({theme:e})=>({position:"relative",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,width:40,height:40,fontFamily:e.typography.fontFamily,fontSize:e.typography.pxToRem(20),lineHeight:1,borderRadius:"50%",overflow:"hidden",userSelect:"none",variants:[{props:{variant:"rounded"},style:{borderRadius:(e.vars||e).shape.borderRadius}},{props:{variant:"square"},style:{borderRadius:0}},{props:{colorDefault:!0},style:S({color:(e.vars||e).palette.background.default},e.vars?{backgroundColor:e.vars.palette.Avatar.defaultBg}:S({backgroundColor:e.palette.grey[400]},e.applyStyles("dark",{backgroundColor:e.palette.grey[600]})))}]})),rfe=W("img",{name:"MuiAvatar",slot:"Img",overridesResolver:(e,t)=>t.img})({width:"100%",height:"100%",textAlign:"center",objectFit:"cover",color:"transparent",textIndent:1e4}),ofe=W(Qde,{name:"MuiAvatar",slot:"Fallback",overridesResolver:(e,t)=>t.fallback})({width:"75%",height:"75%"});function ife({crossOrigin:e,referrerPolicy:t,src:n,srcSet:r}){const[o,i]=g.useState(!1);return g.useEffect(()=>{if(!n&&!r)return;i(!1);let a=!0;const s=new Image;return s.onload=()=>{a&&i("loaded")},s.onerror=()=>{a&&i("error")},s.crossOrigin=e,s.referrerPolicy=t,s.src=n,r&&(s.srcset=r),()=>{a=!1}},[e,t,n,r]),o}const Na=g.forwardRef(function(t,n){const r=efe({props:t,name:"MuiAvatar"}),{alt:o,children:i,className:a,component:s="div",slots:l={},slotProps:c={},imgProps:u,sizes:d,src:f,srcSet:p,variant:h="circular"}=r,m=q(r,Zde);let v=null;const b=ife(S({},u,{src:f,srcSet:p})),y=f||p,w=y&&b!=="error",C=S({},r,{colorDefault:!w,component:s,variant:h}),O=tfe(C),[P,E]=Fx("img",{className:O.img,elementType:rfe,externalForwardedProps:{slots:l,slotProps:{img:S({},u,c.img)}},additionalProps:{alt:o,src:f,srcSet:p,sizes:d},ownerState:C});return w?v=k.jsx(P,S({},E)):i||i===0?v=i:y&&o?v=o[0]:v=k.jsx(ofe,{ownerState:C,className:O.fallback}),k.jsx(nfe,S({as:s,ownerState:C,className:Q(O.root,a),ref:n},m,{children:v}))});function afe(e){return Se("MuiAvatarGroup",e)}const sfe=Pe("MuiAvatarGroup",["root","avatar"]),lfe=["children","className","component","componentsProps","max","renderSurplus","slotProps","spacing","total","variant"],bL={small:-16,medium:null},cfe=e=>{const{classes:t}=e;return de({root:["root"],avatar:["avatar"]},afe,t)},ufe=W("div",{name:"MuiAvatarGroup",slot:"Root",overridesResolver:(e,t)=>S({[`& .${sfe.avatar}`]:t.avatar},t.root)})(({theme:e,ownerState:t})=>{const n=t.spacing&&bL[t.spacing]!==void 0?bL[t.spacing]:-t.spacing;return{[`& .${Jde.root}`]:{border:`2px solid ${(e.vars||e).palette.background.default}`,boxSizing:"content-box",marginLeft:n??-8,"&:last-child":{marginLeft:0}},display:"flex",flexDirection:"row-reverse"}}),dfe=g.forwardRef(function(t,n){var r;const o=Ee({props:t,name:"MuiAvatarGroup"}),{children:i,className:a,component:s="div",componentsProps:l={},max:c=5,renderSurplus:u,slotProps:d={},spacing:f="medium",total:p,variant:h="circular"}=o,m=q(o,lfe);let v=c<2?2:c;const b=S({},o,{max:c,spacing:f,component:s,variant:h}),y=cfe(b),w=g.Children.toArray(i).filter($=>g.isValidElement($)),C=p||w.length;C===v&&(v+=1),v=Math.min(C+1,v);const O=Math.min(w.length,v-1),P=Math.max(C-v,C-O,0),E=u?u(P):`+${P}`,T=(r=d.additionalAvatar)!=null?r:l.additionalAvatar;return k.jsxs(ufe,S({as:s,ownerState:b,className:Q(y.root,a),ref:n},m,{children:[P?k.jsx(Na,S({variant:h},T,{className:Q(y.avatar,T==null?void 0:T.className),children:E})):null,w.slice(0,O).reverse().map($=>g.cloneElement($,{className:Q($.props.className,y.avatar),variant:$.props.variant||h}))]}))}),ffe=["addEndListener","appear","children","easing","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","style","timeout","TransitionComponent"],pfe={entering:{opacity:1},entered:{opacity:1}},NC=g.forwardRef(function(t,n){const r=qn(),o={enter:r.transitions.duration.enteringScreen,exit:r.transitions.duration.leavingScreen},{addEndListener:i,appear:a=!0,children:s,easing:l,in:c,onEnter:u,onEntered:d,onEntering:f,onExit:p,onExited:h,onExiting:m,style:v,timeout:b=o,TransitionComponent:y=mi}=t,w=q(t,ffe),C=g.useRef(null),O=Ot(C,s.ref,n),P=R=>I=>{if(R){const A=C.current;I===void 0?R(A):R(A,I)}},E=P(f),T=P((R,I)=>{YM(R);const A=kc({style:v,timeout:b,easing:l},{mode:"enter"});R.style.webkitTransition=r.transitions.create("opacity",A),R.style.transition=r.transitions.create("opacity",A),u&&u(R,I)}),$=P(d),M=P(m),D=P(R=>{const I=kc({style:v,timeout:b,easing:l},{mode:"exit"});R.style.webkitTransition=r.transitions.create("opacity",I),R.style.transition=r.transitions.create("opacity",I),p&&p(R)}),L=P(h),N=R=>{i&&i(C.current,R)};return k.jsx(y,S({appear:a,in:c,nodeRef:C,onEnter:T,onEntered:$,onEntering:E,onExit:D,onExited:L,onExiting:M,addEndListener:N,timeout:b},w,{children:(R,I)=>g.cloneElement(s,S({style:S({opacity:0,visibility:R==="exited"&&!c?"hidden":void 0},pfe[R],v,s.props.style),ref:O},I))}))});function hfe(e){return Se("MuiBackdrop",e)}Pe("MuiBackdrop",["root","invisible"]);const mfe=["children","className","component","components","componentsProps","invisible","open","slotProps","slots","TransitionComponent","transitionDuration"],gfe=e=>{const{classes:t,invisible:n}=e;return de({root:["root",n&&"invisible"]},hfe,t)},vfe=W("div",{name:"MuiBackdrop",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.invisible&&t.invisible]}})(({ownerState:e})=>S({position:"fixed",display:"flex",alignItems:"center",justifyContent:"center",right:0,bottom:0,top:0,left:0,backgroundColor:"rgba(0, 0, 0, 0.5)",WebkitTapHighlightColor:"transparent"},e.invisible&&{backgroundColor:"transparent"})),t8=g.forwardRef(function(t,n){var r,o,i;const a=Ee({props:t,name:"MuiBackdrop"}),{children:s,className:l,component:c="div",components:u={},componentsProps:d={},invisible:f=!1,open:p,slotProps:h={},slots:m={},TransitionComponent:v=NC,transitionDuration:b}=a,y=q(a,mfe),w=S({},a,{component:c,invisible:f}),C=gfe(w),O=(r=h.root)!=null?r:d.root;return k.jsx(v,S({in:p,timeout:b},y,{children:k.jsx(vfe,S({"aria-hidden":!0},O,{as:(o=(i=m.root)!=null?i:u.Root)!=null?o:c,className:Q(C.root,l,O==null?void 0:O.className),ownerState:S({},w,O==null?void 0:O.ownerState),classes:C,ref:n,children:s}))}))});function yfe(e){return Se("MuiBadge",e)}const Nl=Pe("MuiBadge",["root","badge","dot","standard","anchorOriginTopRight","anchorOriginBottomRight","anchorOriginTopLeft","anchorOriginBottomLeft","invisible","colorError","colorInfo","colorPrimary","colorSecondary","colorSuccess","colorWarning","overlapRectangular","overlapCircular","anchorOriginTopLeftCircular","anchorOriginTopLeftRectangular","anchorOriginTopRightCircular","anchorOriginTopRightRectangular","anchorOriginBottomLeftCircular","anchorOriginBottomLeftRectangular","anchorOriginBottomRightCircular","anchorOriginBottomRightRectangular"]),bfe=["anchorOrigin","className","classes","component","components","componentsProps","children","overlap","color","invisible","max","badgeContent","slots","slotProps","showZero","variant"],YP=10,QP=4,xfe=Sl(),wfe=e=>{const{color:t,anchorOrigin:n,invisible:r,overlap:o,variant:i,classes:a={}}=e,s={root:["root"],badge:["badge",i,r&&"invisible",`anchorOrigin${ie(n.vertical)}${ie(n.horizontal)}`,`anchorOrigin${ie(n.vertical)}${ie(n.horizontal)}${ie(o)}`,`overlap${ie(o)}`,t!=="default"&&`color${ie(t)}`]};return de(s,yfe,a)},Cfe=W("span",{name:"MuiBadge",slot:"Root",overridesResolver:(e,t)=>t.root})({position:"relative",display:"inline-flex",verticalAlign:"middle",flexShrink:0}),Sfe=W("span",{name:"MuiBadge",slot:"Badge",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.badge,t[n.variant],t[`anchorOrigin${ie(n.anchorOrigin.vertical)}${ie(n.anchorOrigin.horizontal)}${ie(n.overlap)}`],n.color!=="default"&&t[`color${ie(n.color)}`],n.invisible&&t.invisible]}})(({theme:e})=>{var t;return{display:"flex",flexDirection:"row",flexWrap:"wrap",justifyContent:"center",alignContent:"center",alignItems:"center",position:"absolute",boxSizing:"border-box",fontFamily:e.typography.fontFamily,fontWeight:e.typography.fontWeightMedium,fontSize:e.typography.pxToRem(12),minWidth:YP*2,lineHeight:1,padding:"0 6px",height:YP*2,borderRadius:YP,zIndex:1,transition:e.transitions.create("transform",{easing:e.transitions.easing.easeInOut,duration:e.transitions.duration.enteringScreen}),variants:[...Object.keys(((t=e.vars)!=null?t:e).palette).filter(n=>{var r,o;return((r=e.vars)!=null?r:e).palette[n].main&&((o=e.vars)!=null?o:e).palette[n].contrastText}).map(n=>({props:{color:n},style:{backgroundColor:(e.vars||e).palette[n].main,color:(e.vars||e).palette[n].contrastText}})),{props:{variant:"dot"},style:{borderRadius:QP,height:QP*2,minWidth:QP*2,padding:0}},{props:({ownerState:n})=>n.anchorOrigin.vertical==="top"&&n.anchorOrigin.horizontal==="right"&&n.overlap==="rectangular",style:{top:0,right:0,transform:"scale(1) translate(50%, -50%)",transformOrigin:"100% 0%",[`&.${Nl.invisible}`]:{transform:"scale(0) translate(50%, -50%)"}}},{props:({ownerState:n})=>n.anchorOrigin.vertical==="bottom"&&n.anchorOrigin.horizontal==="right"&&n.overlap==="rectangular",style:{bottom:0,right:0,transform:"scale(1) translate(50%, 50%)",transformOrigin:"100% 100%",[`&.${Nl.invisible}`]:{transform:"scale(0) translate(50%, 50%)"}}},{props:({ownerState:n})=>n.anchorOrigin.vertical==="top"&&n.anchorOrigin.horizontal==="left"&&n.overlap==="rectangular",style:{top:0,left:0,transform:"scale(1) translate(-50%, -50%)",transformOrigin:"0% 0%",[`&.${Nl.invisible}`]:{transform:"scale(0) translate(-50%, -50%)"}}},{props:({ownerState:n})=>n.anchorOrigin.vertical==="bottom"&&n.anchorOrigin.horizontal==="left"&&n.overlap==="rectangular",style:{bottom:0,left:0,transform:"scale(1) translate(-50%, 50%)",transformOrigin:"0% 100%",[`&.${Nl.invisible}`]:{transform:"scale(0) translate(-50%, 50%)"}}},{props:({ownerState:n})=>n.anchorOrigin.vertical==="top"&&n.anchorOrigin.horizontal==="right"&&n.overlap==="circular",style:{top:"14%",right:"14%",transform:"scale(1) translate(50%, -50%)",transformOrigin:"100% 0%",[`&.${Nl.invisible}`]:{transform:"scale(0) translate(50%, -50%)"}}},{props:({ownerState:n})=>n.anchorOrigin.vertical==="bottom"&&n.anchorOrigin.horizontal==="right"&&n.overlap==="circular",style:{bottom:"14%",right:"14%",transform:"scale(1) translate(50%, 50%)",transformOrigin:"100% 100%",[`&.${Nl.invisible}`]:{transform:"scale(0) translate(50%, 50%)"}}},{props:({ownerState:n})=>n.anchorOrigin.vertical==="top"&&n.anchorOrigin.horizontal==="left"&&n.overlap==="circular",style:{top:"14%",left:"14%",transform:"scale(1) translate(-50%, -50%)",transformOrigin:"0% 0%",[`&.${Nl.invisible}`]:{transform:"scale(0) translate(-50%, -50%)"}}},{props:({ownerState:n})=>n.anchorOrigin.vertical==="bottom"&&n.anchorOrigin.horizontal==="left"&&n.overlap==="circular",style:{bottom:"14%",left:"14%",transform:"scale(1) translate(-50%, 50%)",transformOrigin:"0% 100%",[`&.${Nl.invisible}`]:{transform:"scale(0) translate(-50%, 50%)"}}},{props:{invisible:!0},style:{transition:e.transitions.create("transform",{easing:e.transitions.easing.easeInOut,duration:e.transitions.duration.leavingScreen})}}]}}),n8=g.forwardRef(function(t,n){var r,o,i,a,s,l;const c=xfe({props:t,name:"MuiBadge"}),{anchorOrigin:u={vertical:"top",horizontal:"right"},className:d,component:f,components:p={},componentsProps:h={},children:m,overlap:v="rectangular",color:b="default",invisible:y=!1,max:w=99,badgeContent:C,slots:O,slotProps:P,showZero:E=!1,variant:T="standard"}=c,$=q(c,bfe),{badgeContent:M,invisible:D,max:L,displayValue:N}=gce({max:w,invisible:y,badgeContent:C,showZero:E}),R=W$({anchorOrigin:u,color:b,overlap:v,variant:T,badgeContent:C}),I=D||M==null&&T!=="dot",{color:A=b,overlap:F=v,anchorOrigin:_=u,variant:j=T}=I?R:c,B=j!=="dot"?N:void 0,U=S({},c,{badgeContent:M,invisible:I,max:L,displayValue:B,showZero:E,anchorOrigin:_,color:A,overlap:F,variant:j}),H=wfe(U),K=(r=(o=O==null?void 0:O.root)!=null?o:p.Root)!=null?r:Cfe,J=(i=(a=O==null?void 0:O.badge)!=null?a:p.Badge)!=null?i:Sfe,oe=(s=P==null?void 0:P.root)!=null?s:h.root,ae=(l=P==null?void 0:P.badge)!=null?l:h.badge,Z=Lo({elementType:K,externalSlotProps:oe,externalForwardedProps:$,additionalProps:{ref:n,as:f},ownerState:U,className:Q(oe==null?void 0:oe.className,H.root,d)}),ue=Lo({elementType:J,externalSlotProps:ae,ownerState:U,className:Q(H.badge,ae==null?void 0:ae.className)});return k.jsxs(K,S({},Z,{children:[m,k.jsx(J,S({},ue,{children:B}))]}))}),Pfe=Pe("MuiBox",["root"]),Efe=tC(),an=ane({themeId:qu,defaultTheme:Efe,defaultClassName:Pfe.root,generateClassName:j$.generate});function Ofe(e){return Se("MuiButton",e)}const Vb=Pe("MuiButton",["root","text","textInherit","textPrimary","textSecondary","textSuccess","textError","textInfo","textWarning","outlined","outlinedInherit","outlinedPrimary","outlinedSecondary","outlinedSuccess","outlinedError","outlinedInfo","outlinedWarning","contained","containedInherit","containedPrimary","containedSecondary","containedSuccess","containedError","containedInfo","containedWarning","disableElevation","focusVisible","disabled","colorInherit","colorPrimary","colorSecondary","colorSuccess","colorError","colorInfo","colorWarning","textSizeSmall","textSizeMedium","textSizeLarge","outlinedSizeSmall","outlinedSizeMedium","outlinedSizeLarge","containedSizeSmall","containedSizeMedium","containedSizeLarge","sizeMedium","sizeSmall","sizeLarge","fullWidth","startIcon","endIcon","icon","iconSizeSmall","iconSizeMedium","iconSizeLarge"]),Tfe=g.createContext({}),kfe=g.createContext(void 0),Ife=["children","color","component","className","disabled","disableElevation","disableFocusRipple","endIcon","focusVisibleClassName","fullWidth","size","startIcon","type","variant"],$fe=e=>{const{color:t,disableElevation:n,fullWidth:r,size:o,variant:i,classes:a}=e,s={root:["root",i,`${i}${ie(t)}`,`size${ie(o)}`,`${i}Size${ie(o)}`,`color${ie(t)}`,n&&"disableElevation",r&&"fullWidth"],label:["label"],startIcon:["icon","startIcon",`iconSize${ie(o)}`],endIcon:["icon","endIcon",`iconSize${ie(o)}`]},l=de(s,Ofe,a);return S({},a,l)},r8=e=>S({},e.size==="small"&&{"& > *:nth-of-type(1)":{fontSize:18}},e.size==="medium"&&{"& > *:nth-of-type(1)":{fontSize:20}},e.size==="large"&&{"& > *:nth-of-type(1)":{fontSize:22}}),Mfe=W(Zr,{shouldForwardProp:e=>jr(e)||e==="classes",name:"MuiButton",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],t[`${n.variant}${ie(n.color)}`],t[`size${ie(n.size)}`],t[`${n.variant}Size${ie(n.size)}`],n.color==="inherit"&&t.colorInherit,n.disableElevation&&t.disableElevation,n.fullWidth&&t.fullWidth]}})(({theme:e,ownerState:t})=>{var n,r;const o=e.palette.mode==="light"?e.palette.grey[300]:e.palette.grey[800],i=e.palette.mode==="light"?e.palette.grey.A100:e.palette.grey[700];return S({},e.typography.button,{minWidth:64,padding:"6px 16px",borderRadius:(e.vars||e).shape.borderRadius,transition:e.transitions.create(["background-color","box-shadow","border-color","color"],{duration:e.transitions.duration.short}),"&:hover":S({textDecoration:"none",backgroundColor:e.vars?`rgba(${e.vars.palette.text.primaryChannel} / ${e.vars.palette.action.hoverOpacity})`:st(e.palette.text.primary,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},t.variant==="text"&&t.color!=="inherit"&&{backgroundColor:e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:st(e.palette[t.color].main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},t.variant==="outlined"&&t.color!=="inherit"&&{border:`1px solid ${(e.vars||e).palette[t.color].main}`,backgroundColor:e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:st(e.palette[t.color].main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},t.variant==="contained"&&{backgroundColor:e.vars?e.vars.palette.Button.inheritContainedHoverBg:i,boxShadow:(e.vars||e).shadows[4],"@media (hover: none)":{boxShadow:(e.vars||e).shadows[2],backgroundColor:(e.vars||e).palette.grey[300]}},t.variant==="contained"&&t.color!=="inherit"&&{backgroundColor:(e.vars||e).palette[t.color].dark,"@media (hover: none)":{backgroundColor:(e.vars||e).palette[t.color].main}}),"&:active":S({},t.variant==="contained"&&{boxShadow:(e.vars||e).shadows[8]}),[`&.${Vb.focusVisible}`]:S({},t.variant==="contained"&&{boxShadow:(e.vars||e).shadows[6]}),[`&.${Vb.disabled}`]:S({color:(e.vars||e).palette.action.disabled},t.variant==="outlined"&&{border:`1px solid ${(e.vars||e).palette.action.disabledBackground}`},t.variant==="contained"&&{color:(e.vars||e).palette.action.disabled,boxShadow:(e.vars||e).shadows[0],backgroundColor:(e.vars||e).palette.action.disabledBackground})},t.variant==="text"&&{padding:"6px 8px"},t.variant==="text"&&t.color!=="inherit"&&{color:(e.vars||e).palette[t.color].main},t.variant==="outlined"&&{padding:"5px 15px",border:"1px solid currentColor"},t.variant==="outlined"&&t.color!=="inherit"&&{color:(e.vars||e).palette[t.color].main,border:e.vars?`1px solid rgba(${e.vars.palette[t.color].mainChannel} / 0.5)`:`1px solid ${st(e.palette[t.color].main,.5)}`},t.variant==="contained"&&{color:e.vars?e.vars.palette.text.primary:(n=(r=e.palette).getContrastText)==null?void 0:n.call(r,e.palette.grey[300]),backgroundColor:e.vars?e.vars.palette.Button.inheritContainedBg:o,boxShadow:(e.vars||e).shadows[2]},t.variant==="contained"&&t.color!=="inherit"&&{color:(e.vars||e).palette[t.color].contrastText,backgroundColor:(e.vars||e).palette[t.color].main},t.color==="inherit"&&{color:"inherit",borderColor:"currentColor"},t.size==="small"&&t.variant==="text"&&{padding:"4px 5px",fontSize:e.typography.pxToRem(13)},t.size==="large"&&t.variant==="text"&&{padding:"8px 11px",fontSize:e.typography.pxToRem(15)},t.size==="small"&&t.variant==="outlined"&&{padding:"3px 9px",fontSize:e.typography.pxToRem(13)},t.size==="large"&&t.variant==="outlined"&&{padding:"7px 21px",fontSize:e.typography.pxToRem(15)},t.size==="small"&&t.variant==="contained"&&{padding:"4px 10px",fontSize:e.typography.pxToRem(13)},t.size==="large"&&t.variant==="contained"&&{padding:"8px 22px",fontSize:e.typography.pxToRem(15)},t.fullWidth&&{width:"100%"})},({ownerState:e})=>e.disableElevation&&{boxShadow:"none","&:hover":{boxShadow:"none"},[`&.${Vb.focusVisible}`]:{boxShadow:"none"},"&:active":{boxShadow:"none"},[`&.${Vb.disabled}`]:{boxShadow:"none"}}),Afe=W("span",{name:"MuiButton",slot:"StartIcon",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.startIcon,t[`iconSize${ie(n.size)}`]]}})(({ownerState:e})=>S({display:"inherit",marginRight:8,marginLeft:-4},e.size==="small"&&{marginLeft:-2},r8(e))),Rfe=W("span",{name:"MuiButton",slot:"EndIcon",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.endIcon,t[`iconSize${ie(n.size)}`]]}})(({ownerState:e})=>S({display:"inherit",marginRight:-4,marginLeft:8},e.size==="small"&&{marginRight:-2},r8(e))),qe=g.forwardRef(function(t,n){const r=g.useContext(Tfe),o=g.useContext(kfe),i=Q1(r,t),a=Ee({props:i,name:"MuiButton"}),{children:s,color:l="primary",component:c="button",className:u,disabled:d=!1,disableElevation:f=!1,disableFocusRipple:p=!1,endIcon:h,focusVisibleClassName:m,fullWidth:v=!1,size:b="medium",startIcon:y,type:w,variant:C="text"}=a,O=q(a,Ife),P=S({},a,{color:l,component:c,disabled:d,disableElevation:f,disableFocusRipple:p,fullWidth:v,size:b,type:w,variant:C}),E=$fe(P),T=y&&k.jsx(Afe,{className:E.startIcon,ownerState:P,children:y}),$=h&&k.jsx(Rfe,{className:E.endIcon,ownerState:P,children:h}),M=o||"";return k.jsxs(Mfe,S({ownerState:P,className:Q(r.className,E.root,u,M),component:c,disabled:d,focusRipple:!p,focusVisibleClassName:Q(E.focusVisible,m),ref:n,type:w},O,{classes:E,children:[T,s,$]}))});function _fe(e){return Se("MuiCard",e)}Pe("MuiCard",["root"]);const Dfe=["className","raised"],Nfe=e=>{const{classes:t}=e;return de({root:["root"]},_fe,t)},Lfe=W(Kn,{name:"MuiCard",slot:"Root",overridesResolver:(e,t)=>t.root})(()=>({overflow:"hidden"})),gr=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiCard"}),{className:o,raised:i=!1}=r,a=q(r,Dfe),s=S({},r,{raised:i}),l=Nfe(s);return k.jsx(Lfe,S({className:Q(l.root,o),elevation:i?8:void 0,ref:n,ownerState:s},a))});function jfe(e){return Se("MuiCardActionArea",e)}const XP=Pe("MuiCardActionArea",["root","focusVisible","focusHighlight"]),Ffe=["children","className","focusVisibleClassName"],Bfe=e=>{const{classes:t}=e;return de({root:["root"],focusHighlight:["focusHighlight"]},jfe,t)},zfe=W(Zr,{name:"MuiCardActionArea",slot:"Root",overridesResolver:(e,t)=>t.root})(({theme:e})=>({display:"block",textAlign:"inherit",borderRadius:"inherit",width:"100%",[`&:hover .${XP.focusHighlight}`]:{opacity:(e.vars||e).palette.action.hoverOpacity,"@media (hover: none)":{opacity:0}},[`&.${XP.focusVisible} .${XP.focusHighlight}`]:{opacity:(e.vars||e).palette.action.focusOpacity}})),Vfe=W("span",{name:"MuiCardActionArea",slot:"FocusHighlight",overridesResolver:(e,t)=>t.focusHighlight})(({theme:e})=>({overflow:"hidden",pointerEvents:"none",position:"absolute",top:0,right:0,bottom:0,left:0,borderRadius:"inherit",opacity:0,backgroundColor:"currentcolor",transition:e.transitions.create("opacity",{duration:e.transitions.duration.short})})),Hfe=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiCardActionArea"}),{children:o,className:i,focusVisibleClassName:a}=r,s=q(r,Ffe),l=r,c=Bfe(l);return k.jsxs(zfe,S({className:Q(c.root,i),focusVisibleClassName:Q(a,c.focusVisible),ref:n,ownerState:l},s,{children:[o,k.jsx(Vfe,{className:c.focusHighlight,ownerState:l})]}))});function Ufe(e){return Se("MuiCardActions",e)}Pe("MuiCardActions",["root","spacing"]);const Wfe=["disableSpacing","className"],Gfe=e=>{const{classes:t,disableSpacing:n}=e;return de({root:["root",!n&&"spacing"]},Ufe,t)},qfe=W("div",{name:"MuiCardActions",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,!n.disableSpacing&&t.spacing]}})(({ownerState:e})=>S({display:"flex",alignItems:"center",padding:8},!e.disableSpacing&&{"& > :not(style) ~ :not(style)":{marginLeft:8}})),gi=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiCardActions"}),{disableSpacing:o=!1,className:i}=r,a=q(r,Wfe),s=S({},r,{disableSpacing:o}),l=Gfe(s);return k.jsx(qfe,S({className:Q(l.root,i),ownerState:s,ref:n},a))});function Kfe(e){return Se("MuiCardContent",e)}Pe("MuiCardContent",["root"]);const Yfe=["className","component"],Qfe=e=>{const{classes:t}=e;return de({root:["root"]},Kfe,t)},Xfe=W("div",{name:"MuiCardContent",slot:"Root",overridesResolver:(e,t)=>t.root})(()=>({padding:16,"&:last-child":{paddingBottom:24}})),Ro=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiCardContent"}),{className:o,component:i="div"}=r,a=q(r,Yfe),s=S({},r,{component:i}),l=Qfe(s);return k.jsx(Xfe,S({as:i,className:Q(l.root,o),ownerState:s,ref:n},a))});function Jfe(e){return Se("MuiCardHeader",e)}const xL=Pe("MuiCardHeader",["root","avatar","action","content","title","subheader"]),Zfe=["action","avatar","className","component","disableTypography","subheader","subheaderTypographyProps","title","titleTypographyProps"],epe=e=>{const{classes:t}=e;return de({root:["root"],avatar:["avatar"],action:["action"],content:["content"],title:["title"],subheader:["subheader"]},Jfe,t)},tpe=W("div",{name:"MuiCardHeader",slot:"Root",overridesResolver:(e,t)=>S({[`& .${xL.title}`]:t.title,[`& .${xL.subheader}`]:t.subheader},t.root)})({display:"flex",alignItems:"center",padding:16}),npe=W("div",{name:"MuiCardHeader",slot:"Avatar",overridesResolver:(e,t)=>t.avatar})({display:"flex",flex:"0 0 auto",marginRight:16}),rpe=W("div",{name:"MuiCardHeader",slot:"Action",overridesResolver:(e,t)=>t.action})({flex:"0 0 auto",alignSelf:"flex-start",marginTop:-4,marginRight:-8,marginBottom:-4}),ope=W("div",{name:"MuiCardHeader",slot:"Content",overridesResolver:(e,t)=>t.content})({flex:"1 1 auto"}),Pl=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiCardHeader"}),{action:o,avatar:i,className:a,component:s="div",disableTypography:l=!1,subheader:c,subheaderTypographyProps:u,title:d,titleTypographyProps:f}=r,p=q(r,Zfe),h=S({},r,{component:s,disableTypography:l}),m=epe(h);let v=d;v!=null&&v.type!==Be&&!l&&(v=k.jsx(Be,S({variant:i?"body2":"h5",className:m.title,component:"span",display:"block"},f,{children:v})));let b=c;return b!=null&&b.type!==Be&&!l&&(b=k.jsx(Be,S({variant:i?"body2":"body1",className:m.subheader,color:"text.secondary",component:"span",display:"block"},u,{children:b}))),k.jsxs(tpe,S({className:Q(m.root,a),as:s,ref:n,ownerState:h},p,{children:[i&&k.jsx(npe,{className:m.avatar,ownerState:h,children:i}),k.jsxs(ope,{className:m.content,ownerState:h,children:[v,b]}),o&&k.jsx(rpe,{className:m.action,ownerState:h,children:o})]}))});function ipe(e){return Se("MuiCardMedia",e)}Pe("MuiCardMedia",["root","media","img"]);const ape=["children","className","component","image","src","style"],spe=e=>{const{classes:t,isMediaComponent:n,isImageComponent:r}=e;return de({root:["root",n&&"media",r&&"img"]},ipe,t)},lpe=W("div",{name:"MuiCardMedia",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e,{isMediaComponent:r,isImageComponent:o}=n;return[t.root,r&&t.media,o&&t.img]}})(({ownerState:e})=>S({display:"block",backgroundSize:"cover",backgroundRepeat:"no-repeat",backgroundPosition:"center"},e.isMediaComponent&&{width:"100%"},e.isImageComponent&&{objectFit:"cover"})),cpe=["video","audio","picture","iframe","img"],upe=["picture","img"],ys=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiCardMedia"}),{children:o,className:i,component:a="div",image:s,src:l,style:c}=r,u=q(r,ape),d=cpe.indexOf(a)!==-1,f=!d&&s?S({backgroundImage:`url("${s}")`},c):c,p=S({},r,{component:a,isMediaComponent:d,isImageComponent:upe.indexOf(a)!==-1}),h=spe(p);return k.jsx(lpe,S({className:Q(h.root,i),as:a,role:!d&&s?"img":void 0,ref:n,style:f,ownerState:p,src:d?s||l:void 0},u,{children:o}))});function dpe(e){return Se("PrivateSwitchBase",e)}Pe("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);const fpe=["autoFocus","checked","checkedIcon","className","defaultChecked","disabled","disableFocusRipple","edge","icon","id","inputProps","inputRef","name","onBlur","onChange","onFocus","readOnly","required","tabIndex","type","value"],ppe=e=>{const{classes:t,checked:n,disabled:r,edge:o}=e,i={root:["root",n&&"checked",r&&"disabled",o&&`edge${ie(o)}`],input:["input"]};return de(i,dpe,t)},hpe=W(Zr)(({ownerState:e})=>S({padding:9,borderRadius:"50%"},e.edge==="start"&&{marginLeft:e.size==="small"?-3:-12},e.edge==="end"&&{marginRight:e.size==="small"?-3:-12})),mpe=W("input",{shouldForwardProp:jr})({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}),o8=g.forwardRef(function(t,n){const{autoFocus:r,checked:o,checkedIcon:i,className:a,defaultChecked:s,disabled:l,disableFocusRipple:c=!1,edge:u=!1,icon:d,id:f,inputProps:p,inputRef:h,name:m,onBlur:v,onChange:b,onFocus:y,readOnly:w,required:C=!1,tabIndex:O,type:P,value:E}=t,T=q(t,fpe),[$,M]=To({controlled:o,default:!!s,name:"SwitchBase",state:"checked"}),D=Ps(),L=j=>{y&&y(j),D&&D.onFocus&&D.onFocus(j)},N=j=>{v&&v(j),D&&D.onBlur&&D.onBlur(j)},R=j=>{if(j.nativeEvent.defaultPrevented)return;const B=j.target.checked;M(B),b&&b(j,B)};let I=l;D&&typeof I>"u"&&(I=D.disabled);const A=P==="checkbox"||P==="radio",F=S({},t,{checked:$,disabled:I,disableFocusRipple:c,edge:u}),_=ppe(F);return k.jsxs(hpe,S({component:"span",className:Q(_.root,a),centerRipple:!0,focusRipple:!c,disabled:I,tabIndex:null,role:void 0,onFocus:L,onBlur:N,ownerState:F,ref:n},T,{children:[k.jsx(mpe,S({autoFocus:r,checked:o,defaultChecked:s,className:_.input,disabled:I,id:A?f:void 0,name:m,onChange:R,readOnly:w,ref:h,required:C,ownerState:F,tabIndex:O,type:P},P==="checkbox"&&E===void 0?{}:{value:E},p)),$?i:d]}))}),gpe=rt(k.jsx("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"}),"CheckBoxOutlineBlank"),vpe=rt(k.jsx("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckBox"),ype=rt(k.jsx("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"}),"IndeterminateCheckBox");function bpe(e){return Se("MuiCheckbox",e)}const JP=Pe("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary","sizeSmall","sizeMedium"]),xpe=["checkedIcon","color","icon","indeterminate","indeterminateIcon","inputProps","size","className"],wpe=e=>{const{classes:t,indeterminate:n,color:r,size:o}=e,i={root:["root",n&&"indeterminate",`color${ie(r)}`,`size${ie(o)}`]},a=de(i,bpe,t);return S({},t,a)},Cpe=W(o8,{shouldForwardProp:e=>jr(e)||e==="classes",name:"MuiCheckbox",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.indeterminate&&t.indeterminate,t[`size${ie(n.size)}`],n.color!=="default"&&t[`color${ie(n.color)}`]]}})(({theme:e,ownerState:t})=>S({color:(e.vars||e).palette.text.secondary},!t.disableRipple&&{"&:hover":{backgroundColor:e.vars?`rgba(${t.color==="default"?e.vars.palette.action.activeChannel:e.vars.palette[t.color].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:st(t.color==="default"?e.palette.action.active:e.palette[t.color].main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},t.color!=="default"&&{[`&.${JP.checked}, &.${JP.indeterminate}`]:{color:(e.vars||e).palette[t.color].main},[`&.${JP.disabled}`]:{color:(e.vars||e).palette.action.disabled}})),Spe=k.jsx(vpe,{}),Ppe=k.jsx(gpe,{}),Epe=k.jsx(ype,{}),Ope=g.forwardRef(function(t,n){var r,o;const i=Ee({props:t,name:"MuiCheckbox"}),{checkedIcon:a=Spe,color:s="primary",icon:l=Ppe,indeterminate:c=!1,indeterminateIcon:u=Epe,inputProps:d,size:f="medium",className:p}=i,h=q(i,xpe),m=c?u:l,v=c?u:a,b=S({},i,{color:s,indeterminate:c,size:f}),y=wpe(b);return k.jsx(Cpe,S({type:"checkbox",inputProps:S({"data-indeterminate":c},d),icon:g.cloneElement(m,{fontSize:(r=m.props.fontSize)!=null?r:f}),checkedIcon:g.cloneElement(v,{fontSize:(o=v.props.fontSize)!=null?o:f}),ownerState:b,ref:n,className:Q(y.root,p)},h,{classes:y}))});function Tpe(e){return Se("MuiCircularProgress",e)}Pe("MuiCircularProgress",["root","determinate","indeterminate","colorPrimary","colorSecondary","svg","circle","circleDeterminate","circleIndeterminate","circleDisableShrink"]);const kpe=["className","color","disableShrink","size","style","thickness","value","variant"];let LC=e=>e,wL,CL,SL,PL;const Ll=44,Ipe=Ba(wL||(wL=LC` +`,gCe=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiTouchRipple"}),{center:o=!1,classes:i={},className:a,...s}=r,[l,c]=y.useState([]),u=y.useRef(0),d=y.useRef(null);y.useEffect(()=>{d.current&&(d.current(),d.current=null)},[l]);const f=y.useRef(!1),p=tf(),m=y.useRef(null),g=y.useRef(null),v=y.useCallback(P=>{const{pulsate:T,rippleX:E,rippleY:O,rippleSize:k,cb:A}=P;c(I=>[...I,$.jsx(mCe,{classes:{ripple:de(i.ripple,zs.ripple),rippleVisible:de(i.rippleVisible,zs.rippleVisible),ripplePulsate:de(i.ripplePulsate,zs.ripplePulsate),child:de(i.child,zs.child),childLeaving:de(i.childLeaving,zs.childLeaving),childPulsate:de(i.childPulsate,zs.childPulsate)},timeout:c_,pulsate:T,rippleX:E,rippleY:O,rippleSize:k},u.current)]),u.current+=1,d.current=A},[i]),w=y.useCallback((P={},T={},E=()=>{})=>{const{pulsate:O=!1,center:k=o||T.pulsate,fakeElement:A=!1}=T;if((P==null?void 0:P.type)==="mousedown"&&f.current){f.current=!1;return}(P==null?void 0:P.type)==="touchstart"&&(f.current=!0);const I=A?null:g.current,R=I?I.getBoundingClientRect():{width:0,height:0,left:0,top:0};let N,L,j;if(k||P===void 0||P.clientX===0&&P.clientY===0||!P.clientX&&!P.touches)N=Math.round(R.width/2),L=Math.round(R.height/2);else{const{clientX:_,clientY:D}=P.touches&&P.touches.length>0?P.touches[0]:P;N=Math.round(_-R.left),L=Math.round(D-R.top)}if(k)j=Math.sqrt((2*R.width**2+R.height**2)/3),j%2===0&&(j+=1);else{const _=Math.max(Math.abs((I?I.clientWidth:0)-N),N)*2+2,D=Math.max(Math.abs((I?I.clientHeight:0)-L),L)*2+2;j=Math.sqrt(_**2+D**2)}P!=null&&P.touches?m.current===null&&(m.current=()=>{v({pulsate:O,rippleX:N,rippleY:L,rippleSize:j,cb:E})},p.start(uCe,()=>{m.current&&(m.current(),m.current=null)})):v({pulsate:O,rippleX:N,rippleY:L,rippleSize:j,cb:E})},[o,v,p]),x=y.useCallback(()=>{w({},{pulsate:!0})},[w]),S=y.useCallback((P,T)=>{if(p.clear(),(P==null?void 0:P.type)==="touchend"&&m.current){m.current(),m.current=null,p.start(0,()=>{S(P,T)});return}m.current=null,c(E=>E.length>0?E.slice(1):E),d.current=T},[p]);return y.useImperativeHandle(n,()=>({pulsate:x,start:w,stop:S}),[x,w,S]),$.jsx(hCe,{className:de(zs.root,i.root,a),ref:g,...s,children:$.jsx(ES,{component:null,exit:!0,children:l})})});function yCe(e){return tt("MuiButtonBase",e)}const vCe=ot("MuiButtonBase",["root","disabled","focusVisible"]),bCe=e=>{const{disabled:t,focusVisible:n,focusVisibleClassName:r,classes:o}=e,a=rt({root:["root",t&&"disabled",n&&"focusVisible"]},yCe,o);return n&&r&&(a.root+=` ${r}`),a},wCe=oe("button",{name:"MuiButtonBase",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"inline-flex",alignItems:"center",justifyContent:"center",position:"relative",boxSizing:"border-box",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none",textDecoration:"none",color:"inherit","&::-moz-focus-inner":{borderStyle:"none"},[`&.${vCe.disabled}`]:{pointerEvents:"none",cursor:"default"},"@media print":{colorAdjust:"exact"}}),Ki=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiButtonBase"}),{action:o,centerRipple:i=!1,children:a,className:s,component:l="button",disabled:c=!1,disableRipple:u=!1,disableTouchRipple:d=!1,focusRipple:f=!1,focusVisibleClassName:p,LinkComponent:m="a",onBlur:g,onClick:v,onContextMenu:w,onDragLeave:x,onFocus:S,onFocusVisible:P,onKeyDown:T,onKeyUp:E,onMouseDown:O,onMouseLeave:k,onMouseUp:A,onTouchEnd:I,onTouchMove:R,onTouchStart:N,tabIndex:L=0,TouchRippleProps:j,touchRippleRef:_,type:D,...z}=r,F=y.useRef(null),H=sCe(),U=Cr(H.ref,_),[q,X]=y.useState(!1);c&&q&&X(!1),y.useImperativeHandle(o,()=>({focusVisible:()=>{X(!0),F.current.focus()}}),[]);const ae=H.shouldMount&&!u&&!c;y.useEffect(()=>{q&&f&&!u&&H.pulsate()},[u,f,q,H]);function Z(Te,Oe,Me=d){return Go(We=>(Oe&&Oe(We),Me||H[Te](We),!0))}const K=Z("start",O),te=Z("stop",w),pe=Z("stop",x),ie=Z("stop",A),le=Z("stop",Te=>{q&&Te.preventDefault(),k&&k(Te)}),re=Z("start",N),fe=Z("stop",I),ee=Z("stop",R),ce=Z("stop",Te=>{lT(Te.target)||X(!1),g&&g(Te)},!1),me=Go(Te=>{F.current||(F.current=Te.currentTarget),lT(Te.target)&&(X(!0),P&&P(Te)),S&&S(Te)}),we=()=>{const Te=F.current;return l&&l!=="button"&&!(Te.tagName==="A"&&Te.href)},ge=Go(Te=>{f&&!Te.repeat&&q&&Te.key===" "&&H.stop(Te,()=>{H.start(Te)}),Te.target===Te.currentTarget&&we()&&Te.key===" "&&Te.preventDefault(),T&&T(Te),Te.target===Te.currentTarget&&we()&&Te.key==="Enter"&&!c&&(Te.preventDefault(),v&&v(Te))}),Se=Go(Te=>{f&&Te.key===" "&&q&&!Te.defaultPrevented&&H.stop(Te,()=>{H.pulsate(Te)}),E&&E(Te),v&&Te.target===Te.currentTarget&&we()&&Te.key===" "&&!Te.defaultPrevented&&v(Te)});let xe=l;xe==="button"&&(z.href||z.to)&&(xe=m);const Ie={};xe==="button"?(Ie.type=D===void 0?"button":D,Ie.disabled=c):(!z.href&&!z.to&&(Ie.role="button"),c&&(Ie["aria-disabled"]=c));const Re=Cr(n,F),_e={...r,centerRipple:i,component:l,disabled:c,disableRipple:u,disableTouchRipple:d,focusRipple:f,tabIndex:L,focusVisible:q},ye=bCe(_e);return $.jsxs(wCe,{as:xe,className:de(ye.root,s),ownerState:_e,onBlur:ce,onClick:v,onContextMenu:te,onFocus:me,onKeyDown:ge,onKeyUp:Se,onMouseDown:K,onMouseLeave:le,onMouseUp:ie,onDragLeave:pe,onTouchEnd:fe,onTouchMove:ee,onTouchStart:re,ref:Re,tabIndex:c?-1:L,type:D,...Ie,...z,children:[a,ae?$.jsx(gCe,{ref:U,center:i,...j}):null]})});function xCe(e){return tt("MuiAccordionSummary",e)}const $g=ot("MuiAccordionSummary",["root","expanded","focusVisible","disabled","gutters","contentGutters","content","expandIconWrapper"]),SCe=e=>{const{classes:t,expanded:n,disabled:r,disableGutters:o}=e;return rt({root:["root",n&&"expanded",r&&"disabled",!o&&"gutters"],focusVisible:["focusVisible"],content:["content",n&&"expanded",!o&&"contentGutters"],expandIconWrapper:["expandIconWrapper",n&&"expanded"]},xCe,t)},CCe=oe(Ki,{name:"MuiAccordionSummary",slot:"Root",overridesResolver:(e,t)=>t.root})(Ze(({theme:e})=>{const t={duration:e.transitions.duration.shortest};return{display:"flex",minHeight:48,padding:e.spacing(0,2),transition:e.transitions.create(["min-height","background-color"],t),[`&.${$g.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${$g.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity},[`&:hover:not(.${$g.disabled})`]:{cursor:"pointer"},variants:[{props:n=>!n.disableGutters,style:{[`&.${$g.expanded}`]:{minHeight:64}}}]}})),PCe=oe("div",{name:"MuiAccordionSummary",slot:"Content",overridesResolver:(e,t)=>t.content})(Ze(({theme:e})=>({display:"flex",flexGrow:1,margin:"12px 0",variants:[{props:t=>!t.disableGutters,style:{transition:e.transitions.create(["margin"],{duration:e.transitions.duration.shortest}),[`&.${$g.expanded}`]:{margin:"20px 0"}}}]}))),TCe=oe("div",{name:"MuiAccordionSummary",slot:"ExpandIconWrapper",overridesResolver:(e,t)=>t.expandIconWrapper})(Ze(({theme:e})=>({display:"flex",color:(e.vars||e).palette.action.active,transform:"rotate(0deg)",transition:e.transitions.create("transform",{duration:e.transitions.duration.shortest}),[`&.${$g.expanded}`]:{transform:"rotate(180deg)"}}))),jF=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiAccordionSummary"}),{children:o,className:i,expandIcon:a,focusVisibleClassName:s,onClick:l,...c}=r,{disabled:u=!1,disableGutters:d,expanded:f,toggle:p}=y.useContext(XJ),m=w=>{p&&p(w),l&&l(w)},g={...r,expanded:f,disabled:u,disableGutters:d},v=SCe(g);return $.jsxs(CCe,{focusRipple:!1,disableRipple:!0,disabled:u,component:"div","aria-expanded":f,className:de(v.root,i),focusVisibleClassName:de(v.focusVisible,s),onClick:m,ref:n,ownerState:g,...c,children:[$.jsx(PCe,{className:v.content,ownerState:g,children:o}),a&&$.jsx(TCe,{className:v.expandIconWrapper,ownerState:g,children:a})]})});function ECe(e){return typeof e.main=="string"}function OCe(e,t=[]){if(!ECe(e))return!1;for(const n of t)if(!e.hasOwnProperty(n)||typeof e[n]!="string")return!1;return!0}function zn(e=[]){return([,t])=>t&&OCe(t,e)}function ICe(e){return tt("MuiAlert",e)}const O3=ot("MuiAlert",["root","action","icon","message","filled","colorSuccess","colorInfo","colorWarning","colorError","filledSuccess","filledInfo","filledWarning","filledError","outlined","outlinedSuccess","outlinedInfo","outlinedWarning","outlinedError","standard","standardSuccess","standardInfo","standardWarning","standardError"]);function kCe(e){return tt("MuiIconButton",e)}const MCe=ot("MuiIconButton",["root","disabled","colorInherit","colorPrimary","colorSecondary","colorError","colorInfo","colorSuccess","colorWarning","edgeStart","edgeEnd","sizeSmall","sizeMedium","sizeLarge"]),ACe=e=>{const{classes:t,disabled:n,color:r,edge:o,size:i}=e,a={root:["root",n&&"disabled",r!=="default"&&`color${Ce(r)}`,o&&`edge${Ce(o)}`,`size${Ce(i)}`]};return rt(a,kCe,t)},$Ce=oe(Ki,{name:"MuiIconButton",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.color!=="default"&&t[`color${Ce(n.color)}`],n.edge&&t[`edge${Ce(n.edge)}`],t[`size${Ce(n.size)}`]]}})(Ze(({theme:e})=>({textAlign:"center",flex:"0 0 auto",fontSize:e.typography.pxToRem(24),padding:8,borderRadius:"50%",color:(e.vars||e).palette.action.active,transition:e.transitions.create("background-color",{duration:e.transitions.duration.shortest}),variants:[{props:t=>!t.disableRipple,style:{"--IconButton-hoverBg":e.vars?`rgba(${e.vars.palette.action.activeChannel} / ${e.vars.palette.action.hoverOpacity})`:mt(e.palette.action.active,e.palette.action.hoverOpacity),"&:hover":{backgroundColor:"var(--IconButton-hoverBg)","@media (hover: none)":{backgroundColor:"transparent"}}}},{props:{edge:"start"},style:{marginLeft:-12}},{props:{edge:"start",size:"small"},style:{marginLeft:-3}},{props:{edge:"end"},style:{marginRight:-12}},{props:{edge:"end",size:"small"},style:{marginRight:-3}}]})),Ze(({theme:e})=>({variants:[{props:{color:"inherit"},style:{color:"inherit"}},...Object.entries(e.palette).filter(zn()).map(([t])=>({props:{color:t},style:{color:(e.vars||e).palette[t].main}})),...Object.entries(e.palette).filter(zn()).map(([t])=>({props:{color:t},style:{"--IconButton-hoverBg":e.vars?`rgba(${(e.vars||e).palette[t].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:mt((e.vars||e).palette[t].main,e.palette.action.hoverOpacity)}})),{props:{size:"small"},style:{padding:5,fontSize:e.typography.pxToRem(18)}},{props:{size:"large"},style:{padding:12,fontSize:e.typography.pxToRem(28)}}],[`&.${MCe.disabled}`]:{backgroundColor:"transparent",color:(e.vars||e).palette.action.disabled}}))),kn=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiIconButton"}),{edge:o=!1,children:i,className:a,color:s="default",disabled:l=!1,disableFocusRipple:c=!1,size:u="medium",...d}=r,f={...r,edge:o,color:s,disabled:l,disableFocusRipple:c,size:u},p=ACe(f);return $.jsx($Ce,{className:de(p.root,a),centerRipple:!0,focusRipple:!c,disabled:l,ref:n,...d,ownerState:f,children:i})}),RCe=lt($.jsx("path",{d:"M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2, 4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0, 0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z"}),"SuccessOutlined"),_Ce=lt($.jsx("path",{d:"M12 5.99L19.53 19H4.47L12 5.99M12 2L1 21h22L12 2zm1 14h-2v2h2v-2zm0-6h-2v4h2v-4z"}),"ReportProblemOutlined"),DCe=lt($.jsx("path",{d:"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),"ErrorOutline"),NCe=lt($.jsx("path",{d:"M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20, 12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10, 10 0 0,0 12,2M11,17H13V11H11V17Z"}),"InfoOutlined"),QJ=lt($.jsx("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close"),LCe=e=>{const{variant:t,color:n,severity:r,classes:o}=e,i={root:["root",`color${Ce(n||r)}`,`${t}${Ce(n||r)}`,`${t}`],icon:["icon"],message:["message"],action:["action"]};return rt(i,ICe,o)},FCe=oe(uo,{name:"MuiAlert",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],t[`${n.variant}${Ce(n.color||n.severity)}`]]}})(Ze(({theme:e})=>{const t=e.palette.mode==="light"?zu:Vu,n=e.palette.mode==="light"?Vu:zu;return{...e.typography.body2,backgroundColor:"transparent",display:"flex",padding:"6px 16px",variants:[...Object.entries(e.palette).filter(zn(["light"])).map(([r])=>({props:{colorSeverity:r,variant:"standard"},style:{color:e.vars?e.vars.palette.Alert[`${r}Color`]:t(e.palette[r].light,.6),backgroundColor:e.vars?e.vars.palette.Alert[`${r}StandardBg`]:n(e.palette[r].light,.9),[`& .${O3.icon}`]:e.vars?{color:e.vars.palette.Alert[`${r}IconColor`]}:{color:e.palette[r].main}}})),...Object.entries(e.palette).filter(zn(["light"])).map(([r])=>({props:{colorSeverity:r,variant:"outlined"},style:{color:e.vars?e.vars.palette.Alert[`${r}Color`]:t(e.palette[r].light,.6),border:`1px solid ${(e.vars||e).palette[r].light}`,[`& .${O3.icon}`]:e.vars?{color:e.vars.palette.Alert[`${r}IconColor`]}:{color:e.palette[r].main}}})),...Object.entries(e.palette).filter(zn(["dark"])).map(([r])=>({props:{colorSeverity:r,variant:"filled"},style:{fontWeight:e.typography.fontWeightMedium,...e.vars?{color:e.vars.palette.Alert[`${r}FilledColor`],backgroundColor:e.vars.palette.Alert[`${r}FilledBg`]}:{backgroundColor:e.palette.mode==="dark"?e.palette[r].dark:e.palette[r].main,color:e.palette.getContrastText(e.palette[r].main)}}}))]}})),jCe=oe("div",{name:"MuiAlert",slot:"Icon",overridesResolver:(e,t)=>t.icon})({marginRight:12,padding:"7px 0",display:"flex",fontSize:22,opacity:.9}),BCe=oe("div",{name:"MuiAlert",slot:"Message",overridesResolver:(e,t)=>t.message})({padding:"8px 0",minWidth:0,overflow:"auto"}),I3=oe("div",{name:"MuiAlert",slot:"Action",overridesResolver:(e,t)=>t.action})({display:"flex",alignItems:"flex-start",padding:"4px 0 0 16px",marginLeft:"auto",marginRight:-8}),k3={success:$.jsx(RCe,{fontSize:"inherit"}),warning:$.jsx(_Ce,{fontSize:"inherit"}),error:$.jsx(DCe,{fontSize:"inherit"}),info:$.jsx(NCe,{fontSize:"inherit"})},qu=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiAlert"}),{action:o,children:i,className:a,closeText:s="Close",color:l,components:c={},componentsProps:u={},icon:d,iconMapping:f=k3,onClose:p,role:m="alert",severity:g="success",slotProps:v={},slots:w={},variant:x="standard",...S}=r,P={...r,color:l,severity:g,variant:x,colorSeverity:l||g},T=LCe(P),E={slots:{closeButton:c.CloseButton,closeIcon:c.CloseIcon,...w},slotProps:{...u,...v}},[O,k]=hr("closeButton",{elementType:kn,externalForwardedProps:E,ownerState:P}),[A,I]=hr("closeIcon",{elementType:QJ,externalForwardedProps:E,ownerState:P});return $.jsxs(FCe,{role:m,elevation:0,ownerState:P,className:de(T.root,a),ref:n,...S,children:[d!==!1?$.jsx(jCe,{ownerState:P,className:T.icon,children:d||f[g]||k3[g]}):null,$.jsx(BCe,{ownerState:P,className:T.message,children:i}),o!=null?$.jsx(I3,{ownerState:P,className:T.action,children:o}):null,o==null&&p?$.jsx(I3,{ownerState:P,className:T.action,children:$.jsx(O,{size:"small","aria-label":s,title:s,color:"inherit",onClick:p,...k,children:$.jsx(A,{fontSize:"small",...I})})}):null]})});function zCe(e){return tt("MuiTypography",e)}const jT=ot("MuiTypography",["root","h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","inherit","button","caption","overline","alignLeft","alignRight","alignCenter","alignJustify","noWrap","gutterBottom","paragraph"]),VCe={primary:!0,secondary:!0,error:!0,info:!0,success:!0,warning:!0,textPrimary:!0,textSecondary:!0,textDisabled:!0},HCe=kxe(),UCe=e=>{const{align:t,gutterBottom:n,noWrap:r,paragraph:o,variant:i,classes:a}=e,s={root:["root",i,e.align!=="inherit"&&`align${Ce(t)}`,n&&"gutterBottom",r&&"noWrap",o&&"paragraph"]};return rt(s,zCe,a)},WCe=oe("span",{name:"MuiTypography",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.variant&&t[n.variant],n.align!=="inherit"&&t[`align${Ce(n.align)}`],n.noWrap&&t.noWrap,n.gutterBottom&&t.gutterBottom,n.paragraph&&t.paragraph]}})(Ze(({theme:e})=>{var t;return{margin:0,variants:[{props:{variant:"inherit"},style:{font:"inherit",lineHeight:"inherit",letterSpacing:"inherit"}},...Object.entries(e.typography).filter(([n,r])=>n!=="inherit"&&r&&typeof r=="object").map(([n,r])=>({props:{variant:n},style:r})),...Object.entries(e.palette).filter(zn()).map(([n])=>({props:{color:n},style:{color:(e.vars||e).palette[n].main}})),...Object.entries(((t=e.palette)==null?void 0:t.text)||{}).filter(([,n])=>typeof n=="string").map(([n])=>({props:{color:`text${Ce(n)}`},style:{color:(e.vars||e).palette.text[n]}})),{props:({ownerState:n})=>n.align!=="inherit",style:{textAlign:"var(--Typography-textAlign)"}},{props:({ownerState:n})=>n.noWrap,style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},{props:({ownerState:n})=>n.gutterBottom,style:{marginBottom:"0.35em"}},{props:({ownerState:n})=>n.paragraph,style:{marginBottom:16}}]}})),M3={h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",subtitle1:"h6",subtitle2:"h6",body1:"p",body2:"p",inherit:"p"},ct=y.forwardRef(function(t,n){const{color:r,...o}=it({props:t,name:"MuiTypography"}),i=!VCe[r],a=HCe({...o,...i&&{color:r}}),{align:s="inherit",className:l,component:c,gutterBottom:u=!1,noWrap:d=!1,paragraph:f=!1,variant:p="body1",variantMapping:m=M3,...g}=a,v={...a,align:s,color:r,className:l,component:c,gutterBottom:u,noWrap:d,paragraph:f,variant:p,variantMapping:m},w=c||(f?"p":m[p]||M3[p])||"span",x=UCe(v);return $.jsx(WCe,{as:w,ref:n,className:de(x.root,l),...g,ownerState:v,style:{...s!=="inherit"&&{"--Typography-textAlign":s},...g.style}})});function GCe(e){return tt("MuiAlertTitle",e)}ot("MuiAlertTitle",["root"]);const qCe=e=>{const{classes:t}=e;return rt({root:["root"]},GCe,t)},KCe=oe(ct,{name:"MuiAlertTitle",slot:"Root",overridesResolver:(e,t)=>t.root})(Ze(({theme:e})=>({fontWeight:e.typography.fontWeightMedium,marginTop:-2}))),BT=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiAlertTitle"}),{className:o,...i}=r,a=r,s=qCe(a);return $.jsx(KCe,{gutterBottom:!0,component:"div",ownerState:a,ref:n,className:de(s.root,o),...i})});function YCe(e){return tt("MuiAppBar",e)}ot("MuiAppBar",["root","positionFixed","positionAbsolute","positionSticky","positionStatic","positionRelative","colorDefault","colorPrimary","colorSecondary","colorInherit","colorTransparent","colorError","colorInfo","colorSuccess","colorWarning"]);const XCe=e=>{const{color:t,position:n,classes:r}=e,o={root:["root",`color${Ce(t)}`,`position${Ce(n)}`]};return rt(o,YCe,r)},A3=(e,t)=>e?`${e==null?void 0:e.replace(")","")}, ${t})`:t,QCe=oe(uo,{name:"MuiAppBar",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[`position${Ce(n.position)}`],t[`color${Ce(n.color)}`]]}})(Ze(({theme:e})=>({display:"flex",flexDirection:"column",width:"100%",boxSizing:"border-box",flexShrink:0,variants:[{props:{position:"fixed"},style:{position:"fixed",zIndex:(e.vars||e).zIndex.appBar,top:0,left:"auto",right:0,"@media print":{position:"absolute"}}},{props:{position:"absolute"},style:{position:"absolute",zIndex:(e.vars||e).zIndex.appBar,top:0,left:"auto",right:0}},{props:{position:"sticky"},style:{position:"sticky",zIndex:(e.vars||e).zIndex.appBar,top:0,left:"auto",right:0}},{props:{position:"static"},style:{position:"static"}},{props:{position:"relative"},style:{position:"relative"}},{props:{color:"inherit"},style:{"--AppBar-color":"inherit"}},{props:{color:"default"},style:{"--AppBar-background":e.vars?e.vars.palette.AppBar.defaultBg:e.palette.grey[100],"--AppBar-color":e.vars?e.vars.palette.text.primary:e.palette.getContrastText(e.palette.grey[100]),...e.applyStyles("dark",{"--AppBar-background":e.vars?e.vars.palette.AppBar.defaultBg:e.palette.grey[900],"--AppBar-color":e.vars?e.vars.palette.text.primary:e.palette.getContrastText(e.palette.grey[900])})}},...Object.entries(e.palette).filter(zn(["contrastText"])).map(([t])=>({props:{color:t},style:{"--AppBar-background":(e.vars??e).palette[t].main,"--AppBar-color":(e.vars??e).palette[t].contrastText}})),{props:t=>t.enableColorOnDark===!0&&!["inherit","transparent"].includes(t.color),style:{backgroundColor:"var(--AppBar-background)",color:"var(--AppBar-color)"}},{props:t=>t.enableColorOnDark===!1&&!["inherit","transparent"].includes(t.color),style:{backgroundColor:"var(--AppBar-background)",color:"var(--AppBar-color)",...e.applyStyles("dark",{backgroundColor:e.vars?A3(e.vars.palette.AppBar.darkBg,"var(--AppBar-background)"):null,color:e.vars?A3(e.vars.palette.AppBar.darkColor,"var(--AppBar-color)"):null})}},{props:{color:"transparent"},style:{"--AppBar-background":"transparent","--AppBar-color":"inherit",backgroundColor:"var(--AppBar-background)",color:"var(--AppBar-color)",...e.applyStyles("dark",{backgroundImage:"none"})}}]}))),JCe=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiAppBar"}),{className:o,color:i="primary",enableColorOnDark:a=!1,position:s="fixed",...l}=r,c={...r,color:i,position:s,enableColorOnDark:a},u=XCe(c);return $.jsx(QCe,{square:!0,component:"header",ownerState:c,elevation:4,className:de(u.root,o,s==="fixed"&&"mui-fixed"),ref:n,...l})});function $3(e){return e.normalize("NFD").replace(/[\u0300-\u036f]/g,"")}function JJ(e={}){const{ignoreAccents:t=!0,ignoreCase:n=!0,limit:r,matchFrom:o="any",stringify:i,trim:a=!1}=e;return(s,{inputValue:l,getOptionLabel:c})=>{let u=a?l.trim():l;n&&(u=u.toLowerCase()),t&&(u=$3(u));const d=u?s.filter(f=>{let p=(i||c)(f);return n&&(p=p.toLowerCase()),t&&(p=$3(p)),o==="start"?p.startsWith(u):p.includes(u)}):s;return typeof r=="number"?d.slice(0,r):d}}const ZCe=JJ(),R3=5,ePe=e=>{var t;return e.current!==null&&((t=e.current.parentElement)==null?void 0:t.contains(document.activeElement))},tPe=[];function nPe(e){const{unstable_isActiveElementInListbox:t=ePe,unstable_classNamePrefix:n="Mui",autoComplete:r=!1,autoHighlight:o=!1,autoSelect:i=!1,blurOnSelect:a=!1,clearOnBlur:s=!e.freeSolo,clearOnEscape:l=!1,componentName:c="useAutocomplete",defaultValue:u=e.multiple?tPe:null,disableClearable:d=!1,disableCloseOnSelect:f=!1,disabled:p,disabledItemsFocusable:m=!1,disableListWrap:g=!1,filterOptions:v=ZCe,filterSelectedOptions:w=!1,freeSolo:x=!1,getOptionDisabled:S,getOptionKey:P,getOptionLabel:T=He=>He.label??He,groupBy:E,handleHomeEndKeys:O=!e.freeSolo,id:k,includeInputInList:A=!1,inputValue:I,isOptionEqualToValue:R=(He,Ne)=>He===Ne,multiple:N=!1,onChange:L,onClose:j,onHighlightChange:_,onInputChange:D,onOpen:z,open:F,openOnFocus:H=!1,options:U,readOnly:q=!1,selectOnFocus:X=!e.freeSolo,value:ae}=e,Z=wh(k);let K=T;K=He=>{const Ne=T(He);return typeof Ne!="string"?String(Ne):Ne};const te=y.useRef(!1),pe=y.useRef(!0),ie=y.useRef(null),le=y.useRef(null),[re,fe]=y.useState(null),[ee,ce]=y.useState(-1),me=o?0:-1,we=y.useRef(me),[ge,Se]=ku({controlled:ae,default:u,name:c}),[xe,Ie]=ku({controlled:I,default:"",name:c,state:"inputValue"}),[Re,_e]=y.useState(!1),ye=y.useCallback((He,Ne,wt)=>{if(!(N?ge.length!(w&&(N?ge:[ge]).some(Ne=>Ne!==null&&R(He,Ne)))),{inputValue:Ve&&Me?"":xe,getOptionLabel:K}):[],nt=NL({filteredOptions:ut,value:ge,inputValue:xe});y.useEffect(()=>{const He=ge!==nt.value;Re&&!He||x&&!He||ye(null,ge,"reset")},[ge,ye,Re,nt.value,x]);const et=Te&&ut.length>0&&!q,yt=Go(He=>{He===-1?ie.current.focus():re.querySelector(`[data-tag-index="${He}"]`).focus()});y.useEffect(()=>{N&&ee>ge.length-1&&(ce(-1),yt(-1))},[ge,N,ee,yt]);function wn(He,Ne){if(!le.current||He<0||He>=ut.length)return-1;let wt=He;for(;;){const en=le.current.querySelector(`[data-option-index="${wt}"]`),sn=m?!1:!en||en.disabled||en.getAttribute("aria-disabled")==="true";if(en&&en.hasAttribute("tabindex")&&!sn)return wt;if(Ne==="next"?wt=(wt+1)%ut.length:wt=(wt-1+ut.length)%ut.length,wt===He)return-1}}const Ke=Go(({event:He,index:Ne,reason:wt="auto"})=>{if(we.current=Ne,Ne===-1?ie.current.removeAttribute("aria-activedescendant"):ie.current.setAttribute("aria-activedescendant",`${Z}-option-${Ne}`),_&&_(He,Ne===-1?null:ut[Ne],wt),!le.current)return;const en=le.current.querySelector(`[role="option"].${n}-focused`);en&&(en.classList.remove(`${n}-focused`),en.classList.remove(`${n}-focusVisible`));let sn=le.current;if(le.current.getAttribute("role")!=="listbox"&&(sn=le.current.parentElement.querySelector('[role="listbox"]')),!sn)return;if(Ne===-1){sn.scrollTop=0;return}const Rr=le.current.querySelector(`[data-option-index="${Ne}"]`);if(Rr&&(Rr.classList.add(`${n}-focused`),wt==="keyboard"&&Rr.classList.add(`${n}-focusVisible`),sn.scrollHeight>sn.clientHeight&&wt!=="mouse"&&wt!=="touch")){const Gn=Rr,Oa=sn.clientHeight+sn.scrollTop,nu=Gn.offsetTop+Gn.offsetHeight;nu>Oa?sn.scrollTop=nu-sn.clientHeight:Gn.offsetTop-Gn.offsetHeight*(E?1.3:0){if(!Qe)return;const Rr=wn((()=>{const Gn=ut.length-1;if(Ne==="reset")return me;if(Ne==="start")return 0;if(Ne==="end")return Gn;const Oa=we.current+Ne;return Oa<0?Oa===-1&&A?-1:g&&we.current!==-1||Math.abs(Ne)>1?0:Gn:Oa>Gn?Oa===Gn+1&&A?-1:g||Math.abs(Ne)>1?Gn:0:Oa})(),wt);if(Ke({index:Rr,reason:en,event:He}),r&&Ne!=="reset")if(Rr===-1)ie.current.value=xe;else{const Gn=K(ut[Rr]);ie.current.value=Gn,Gn.toLowerCase().indexOf(xe.toLowerCase())===0&&xe.length>0&&ie.current.setSelectionRange(xe.length,Gn.length)}}),Xe=()=>{const He=(Ne,wt)=>{const en=Ne?K(Ne):"",sn=wt?K(wt):"";return en===sn};if(we.current!==-1&&nt.filteredOptions&&nt.filteredOptions.length!==ut.length&&nt.inputValue===xe&&(N?ge.length===nt.value.length&&nt.value.every((Ne,wt)=>K(ge[wt])===K(Ne)):He(nt.value,ge))){const Ne=nt.filteredOptions[we.current];if(Ne)return ut.findIndex(wt=>K(wt)===K(Ne))}return-1},bt=y.useCallback(()=>{if(!Qe)return;const He=Xe();if(He!==-1){we.current=He;return}const Ne=N?ge[0]:ge;if(ut.length===0||Ne==null){$e({diff:"reset"});return}if(le.current){if(Ne!=null){const wt=ut[we.current];if(N&&wt&&ge.findIndex(sn=>R(wt,sn))!==-1)return;const en=ut.findIndex(sn=>R(sn,Ne));en===-1?$e({diff:"reset"}):Ke({index:en});return}if(we.current>=ut.length-1){Ke({index:ut.length-1});return}Ke({index:we.current})}},[ut.length,N?!1:ge,w,$e,Ke,Qe,xe,N]),Vt=Go(He=>{sT(le,He),He&&bt()});y.useEffect(()=>{bt()},[bt]);const Ot=He=>{Te||(Oe(!0),We(!0),z&&z(He))},un=(He,Ne)=>{Te&&(Oe(!1),j&&j(He,Ne))},jn=(He,Ne,wt,en)=>{if(N){if(ge.length===Ne.length&&ge.every((sn,Rr)=>sn===Ne[Rr]))return}else if(ge===Ne)return;L&&L(He,Ne,wt,en),Se(Ne)},Wn=y.useRef(!1),Eo=(He,Ne,wt="selectOption",en="options")=>{let sn=wt,Rr=Ne;if(N){Rr=Array.isArray(ge)?ge.slice():[];const Gn=Rr.findIndex(Oa=>R(Ne,Oa));Gn===-1?Rr.push(Ne):en!=="freeSolo"&&(Rr.splice(Gn,1),sn="removeOption")}ye(He,Rr,sn),jn(He,Rr,sn,{option:Ne}),!f&&(!He||!He.ctrlKey&&!He.metaKey)&&un(He,sn),(a===!0||a==="touch"&&Wn.current||a==="mouse"&&!Wn.current)&&ie.current.blur()};function Kr(He,Ne){if(He===-1)return-1;let wt=He;for(;;){if(Ne==="next"&&wt===ge.length||Ne==="previous"&&wt===-1)return-1;const en=re.querySelector(`[data-tag-index="${wt}"]`);if(!en||!en.hasAttribute("tabindex")||en.disabled||en.getAttribute("aria-disabled")==="true")wt+=Ne==="next"?1:-1;else return wt}}const Ii=(He,Ne)=>{if(!N)return;xe===""&&un(He,"toggleInput");let wt=ee;ee===-1?xe===""&&Ne==="previous"&&(wt=ge.length-1):(wt+=Ne==="next"?1:-1,wt<0&&(wt=0),wt===ge.length&&(wt=-1)),wt=Kr(wt,Ne),ce(wt),yt(wt)},ys=He=>{te.current=!0,Ie(""),D&&D(He,"","clear"),jn(He,N?[]:null,"clear")},Wt=He=>Ne=>{if(He.onKeyDown&&He.onKeyDown(Ne),!Ne.defaultMuiPrevented&&(ee!==-1&&!["ArrowLeft","ArrowRight"].includes(Ne.key)&&(ce(-1),yt(-1)),Ne.which!==229))switch(Ne.key){case"Home":Qe&&O&&(Ne.preventDefault(),$e({diff:"start",direction:"next",reason:"keyboard",event:Ne}));break;case"End":Qe&&O&&(Ne.preventDefault(),$e({diff:"end",direction:"previous",reason:"keyboard",event:Ne}));break;case"PageUp":Ne.preventDefault(),$e({diff:-R3,direction:"previous",reason:"keyboard",event:Ne}),Ot(Ne);break;case"PageDown":Ne.preventDefault(),$e({diff:R3,direction:"next",reason:"keyboard",event:Ne}),Ot(Ne);break;case"ArrowDown":Ne.preventDefault(),$e({diff:1,direction:"next",reason:"keyboard",event:Ne}),Ot(Ne);break;case"ArrowUp":Ne.preventDefault(),$e({diff:-1,direction:"previous",reason:"keyboard",event:Ne}),Ot(Ne);break;case"ArrowLeft":Ii(Ne,"previous");break;case"ArrowRight":Ii(Ne,"next");break;case"Enter":if(we.current!==-1&&Qe){const wt=ut[we.current],en=S?S(wt):!1;if(Ne.preventDefault(),en)return;Eo(Ne,wt,"selectOption"),r&&ie.current.setSelectionRange(ie.current.value.length,ie.current.value.length)}else x&&xe!==""&&Ve===!1&&(N&&Ne.preventDefault(),Eo(Ne,xe,"createOption","freeSolo"));break;case"Escape":Qe?(Ne.preventDefault(),Ne.stopPropagation(),un(Ne,"escape")):l&&(xe!==""||N&&ge.length>0)&&(Ne.preventDefault(),Ne.stopPropagation(),ys(Ne));break;case"Backspace":if(N&&!q&&xe===""&&ge.length>0){const wt=ee===-1?ge.length-1:ee,en=ge.slice();en.splice(wt,1),jn(Ne,en,"removeOption",{option:ge[wt]})}break;case"Delete":if(N&&!q&&xe===""&&ge.length>0&&ee!==-1){const wt=ee,en=ge.slice();en.splice(wt,1),jn(Ne,en,"removeOption",{option:ge[wt]})}break}},Xo=He=>{_e(!0),H&&!te.current&&Ot(He)},ym=He=>{if(t(le)){ie.current.focus();return}_e(!1),pe.current=!0,te.current=!1,i&&we.current!==-1&&Qe?Eo(He,ut[we.current],"blur"):i&&x&&xe!==""?Eo(He,xe,"blur","freeSolo"):s&&ye(He,ge,"blur"),un(He,"blur")},pd=He=>{const Ne=He.target.value;xe!==Ne&&(Ie(Ne),We(!1),D&&D(He,Ne,"input")),Ne===""?!d&&!N&&jn(He,null,"clear"):Ot(He)},tu=He=>{const Ne=Number(He.currentTarget.getAttribute("data-option-index"));we.current!==Ne&&Ke({event:He,index:Ne,reason:"mouse"})},lp=He=>{Ke({event:He,index:Number(He.currentTarget.getAttribute("data-option-index")),reason:"touch"}),Wn.current=!0},cp=He=>{const Ne=Number(He.currentTarget.getAttribute("data-option-index"));Eo(He,ut[Ne],"selectOption"),Wn.current=!1},$b=He=>Ne=>{const wt=ge.slice();wt.splice(He,1),jn(Ne,wt,"removeOption",{option:ge[He]})},vm=He=>{Te?un(He,"toggleInput"):Ot(He)},w1=He=>{He.currentTarget.contains(He.target)&&He.target.getAttribute("id")!==Z&&He.preventDefault()},up=He=>{He.currentTarget.contains(He.target)&&(ie.current.focus(),X&&pe.current&&ie.current.selectionEnd-ie.current.selectionStart===0&&ie.current.select(),pe.current=!1)},Fo=He=>{!p&&(xe===""||!Te)&&vm(He)};let Yr=x&&xe.length>0;Yr=Yr||(N?ge.length>0:ge!==null);let Sl=ut;return E&&(Sl=ut.reduce((He,Ne,wt)=>{const en=E(Ne);return He.length>0&&He[He.length-1].group===en?He[He.length-1].options.push(Ne):He.push({key:wt,index:wt,group:en,options:[Ne]}),He},[])),p&&Re&&ym(),{getRootProps:(He={})=>({"aria-owns":et?`${Z}-listbox`:null,...He,onKeyDown:Wt(He),onMouseDown:w1,onClick:up}),getInputLabelProps:()=>({id:`${Z}-label`,htmlFor:Z}),getInputProps:()=>({id:Z,value:xe,onBlur:ym,onFocus:Xo,onChange:pd,onMouseDown:Fo,"aria-activedescendant":Qe?"":null,"aria-autocomplete":r?"both":"list","aria-controls":et?`${Z}-listbox`:void 0,"aria-expanded":et,autoComplete:"off",ref:ie,autoCapitalize:"none",spellCheck:"false",role:"combobox",disabled:p}),getClearProps:()=>({tabIndex:-1,type:"button",onClick:ys}),getPopupIndicatorProps:()=>({tabIndex:-1,type:"button",onClick:vm}),getTagProps:({index:He})=>({key:He,"data-tag-index":He,tabIndex:-1,...!q&&{onDelete:$b(He)}}),getListboxProps:()=>({role:"listbox",id:`${Z}-listbox`,"aria-labelledby":`${Z}-label`,ref:Vt,onMouseDown:He=>{He.preventDefault()}}),getOptionProps:({index:He,option:Ne})=>{const wt=(N?ge:[ge]).some(sn=>sn!=null&&R(Ne,sn)),en=S?S(Ne):!1;return{key:(P==null?void 0:P(Ne))??K(Ne),tabIndex:-1,role:"option",id:`${Z}-option-${He}`,onMouseMove:tu,onClick:cp,onTouchStart:lp,"data-option-index":He,"aria-disabled":en,"aria-selected":wt}},id:Z,inputValue:xe,value:ge,dirty:Yr,expanded:Qe&&re,popupOpen:Qe,focused:Re||ee!==-1,anchorEl:re,setAnchorEl:fe,focusedTag:ee,groupedOptions:Sl}}var ba="top",sl="bottom",ll="right",wa="left",BF="auto",OS=[ba,sl,ll,wa],jy="start",rx="end",rPe="clippingParents",ZJ="viewport",o0="popper",oPe="reference",_3=OS.reduce(function(e,t){return e.concat([t+"-"+jy,t+"-"+rx])},[]),eZ=[].concat(OS,[BF]).reduce(function(e,t){return e.concat([t,t+"-"+jy,t+"-"+rx])},[]),iPe="beforeRead",aPe="read",sPe="afterRead",lPe="beforeMain",cPe="main",uPe="afterMain",dPe="beforeWrite",fPe="write",pPe="afterWrite",hPe=[iPe,aPe,sPe,lPe,cPe,uPe,dPe,fPe,pPe];function zc(e){return e?(e.nodeName||"").toLowerCase():null}function as(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Ih(e){var t=as(e).Element;return e instanceof t||e instanceof Element}function el(e){var t=as(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function zF(e){if(typeof ShadowRoot>"u")return!1;var t=as(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function mPe(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var r=t.styles[n]||{},o=t.attributes[n]||{},i=t.elements[n];!el(i)||!zc(i)||(Object.assign(i.style,r),Object.keys(o).forEach(function(a){var s=o[a];s===!1?i.removeAttribute(a):i.setAttribute(a,s===!0?"":s)}))})}function gPe(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(r){var o=t.elements[r],i=t.attributes[r]||{},a=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:n[r]),s=a.reduce(function(l,c){return l[c]="",l},{});!el(o)||!zc(o)||(Object.assign(o.style,s),Object.keys(i).forEach(function(l){o.removeAttribute(l)}))})}}const yPe={name:"applyStyles",enabled:!0,phase:"write",fn:mPe,effect:gPe,requires:["computeStyles"]};function Rc(e){return e.split("-")[0]}var lh=Math.max,zT=Math.min,By=Math.round;function u_(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function tZ(){return!/^((?!chrome|android).)*safari/i.test(u_())}function zy(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!1);var r=e.getBoundingClientRect(),o=1,i=1;t&&el(e)&&(o=e.offsetWidth>0&&By(r.width)/e.offsetWidth||1,i=e.offsetHeight>0&&By(r.height)/e.offsetHeight||1);var a=Ih(e)?as(e):window,s=a.visualViewport,l=!tZ()&&n,c=(r.left+(l&&s?s.offsetLeft:0))/o,u=(r.top+(l&&s?s.offsetTop:0))/i,d=r.width/o,f=r.height/i;return{width:d,height:f,top:u,right:c+d,bottom:u+f,left:c,x:c,y:u}}function VF(e){var t=zy(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function nZ(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&zF(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function Ku(e){return as(e).getComputedStyle(e)}function vPe(e){return["table","td","th"].indexOf(zc(e))>=0}function Vf(e){return((Ih(e)?e.ownerDocument:e.document)||window.document).documentElement}function AI(e){return zc(e)==="html"?e:e.assignedSlot||e.parentNode||(zF(e)?e.host:null)||Vf(e)}function D3(e){return!el(e)||Ku(e).position==="fixed"?null:e.offsetParent}function bPe(e){var t=/firefox/i.test(u_()),n=/Trident/i.test(u_());if(n&&el(e)){var r=Ku(e);if(r.position==="fixed")return null}var o=AI(e);for(zF(o)&&(o=o.host);el(o)&&["html","body"].indexOf(zc(o))<0;){var i=Ku(o);if(i.transform!=="none"||i.perspective!=="none"||i.contain==="paint"||["transform","perspective"].indexOf(i.willChange)!==-1||t&&i.willChange==="filter"||t&&i.filter&&i.filter!=="none")return o;o=o.parentNode}return null}function IS(e){for(var t=as(e),n=D3(e);n&&vPe(n)&&Ku(n).position==="static";)n=D3(n);return n&&(zc(n)==="html"||zc(n)==="body"&&Ku(n).position==="static")?t:n||bPe(e)||t}function HF(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function dw(e,t,n){return lh(e,zT(t,n))}function wPe(e,t,n){var r=dw(e,t,n);return r>n?n:r}function rZ(){return{top:0,right:0,bottom:0,left:0}}function oZ(e){return Object.assign({},rZ(),e)}function iZ(e,t){return t.reduce(function(n,r){return n[r]=e,n},{})}var xPe=function(t,n){return t=typeof t=="function"?t(Object.assign({},n.rects,{placement:n.placement})):t,oZ(typeof t!="number"?t:iZ(t,OS))};function SPe(e){var t,n=e.state,r=e.name,o=e.options,i=n.elements.arrow,a=n.modifiersData.popperOffsets,s=Rc(n.placement),l=HF(s),c=[wa,ll].indexOf(s)>=0,u=c?"height":"width";if(!(!i||!a)){var d=xPe(o.padding,n),f=VF(i),p=l==="y"?ba:wa,m=l==="y"?sl:ll,g=n.rects.reference[u]+n.rects.reference[l]-a[l]-n.rects.popper[u],v=a[l]-n.rects.reference[l],w=IS(i),x=w?l==="y"?w.clientHeight||0:w.clientWidth||0:0,S=g/2-v/2,P=d[p],T=x-f[u]-d[m],E=x/2-f[u]/2+S,O=dw(P,E,T),k=l;n.modifiersData[r]=(t={},t[k]=O,t.centerOffset=O-E,t)}}function CPe(e){var t=e.state,n=e.options,r=n.element,o=r===void 0?"[data-popper-arrow]":r;o!=null&&(typeof o=="string"&&(o=t.elements.popper.querySelector(o),!o)||nZ(t.elements.popper,o)&&(t.elements.arrow=o))}const PPe={name:"arrow",enabled:!0,phase:"main",fn:SPe,effect:CPe,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Vy(e){return e.split("-")[1]}var TPe={top:"auto",right:"auto",bottom:"auto",left:"auto"};function EPe(e,t){var n=e.x,r=e.y,o=t.devicePixelRatio||1;return{x:By(n*o)/o||0,y:By(r*o)/o||0}}function N3(e){var t,n=e.popper,r=e.popperRect,o=e.placement,i=e.variation,a=e.offsets,s=e.position,l=e.gpuAcceleration,c=e.adaptive,u=e.roundOffsets,d=e.isFixed,f=a.x,p=f===void 0?0:f,m=a.y,g=m===void 0?0:m,v=typeof u=="function"?u({x:p,y:g}):{x:p,y:g};p=v.x,g=v.y;var w=a.hasOwnProperty("x"),x=a.hasOwnProperty("y"),S=wa,P=ba,T=window;if(c){var E=IS(n),O="clientHeight",k="clientWidth";if(E===as(n)&&(E=Vf(n),Ku(E).position!=="static"&&s==="absolute"&&(O="scrollHeight",k="scrollWidth")),E=E,o===ba||(o===wa||o===ll)&&i===rx){P=sl;var A=d&&E===T&&T.visualViewport?T.visualViewport.height:E[O];g-=A-r.height,g*=l?1:-1}if(o===wa||(o===ba||o===sl)&&i===rx){S=ll;var I=d&&E===T&&T.visualViewport?T.visualViewport.width:E[k];p-=I-r.width,p*=l?1:-1}}var R=Object.assign({position:s},c&&TPe),N=u===!0?EPe({x:p,y:g},as(n)):{x:p,y:g};if(p=N.x,g=N.y,l){var L;return Object.assign({},R,(L={},L[P]=x?"0":"",L[S]=w?"0":"",L.transform=(T.devicePixelRatio||1)<=1?"translate("+p+"px, "+g+"px)":"translate3d("+p+"px, "+g+"px, 0)",L))}return Object.assign({},R,(t={},t[P]=x?g+"px":"",t[S]=w?p+"px":"",t.transform="",t))}function OPe(e){var t=e.state,n=e.options,r=n.gpuAcceleration,o=r===void 0?!0:r,i=n.adaptive,a=i===void 0?!0:i,s=n.roundOffsets,l=s===void 0?!0:s,c={placement:Rc(t.placement),variation:Vy(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:o,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,N3(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:l})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,N3(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}const IPe={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:OPe,data:{}};var RC={passive:!0};function kPe(e){var t=e.state,n=e.instance,r=e.options,o=r.scroll,i=o===void 0?!0:o,a=r.resize,s=a===void 0?!0:a,l=as(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return i&&c.forEach(function(u){u.addEventListener("scroll",n.update,RC)}),s&&l.addEventListener("resize",n.update,RC),function(){i&&c.forEach(function(u){u.removeEventListener("scroll",n.update,RC)}),s&&l.removeEventListener("resize",n.update,RC)}}const MPe={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:kPe,data:{}};var APe={left:"right",right:"left",bottom:"top",top:"bottom"};function jP(e){return e.replace(/left|right|bottom|top/g,function(t){return APe[t]})}var $Pe={start:"end",end:"start"};function L3(e){return e.replace(/start|end/g,function(t){return $Pe[t]})}function UF(e){var t=as(e),n=t.pageXOffset,r=t.pageYOffset;return{scrollLeft:n,scrollTop:r}}function WF(e){return zy(Vf(e)).left+UF(e).scrollLeft}function RPe(e,t){var n=as(e),r=Vf(e),o=n.visualViewport,i=r.clientWidth,a=r.clientHeight,s=0,l=0;if(o){i=o.width,a=o.height;var c=tZ();(c||!c&&t==="fixed")&&(s=o.offsetLeft,l=o.offsetTop)}return{width:i,height:a,x:s+WF(e),y:l}}function _Pe(e){var t,n=Vf(e),r=UF(e),o=(t=e.ownerDocument)==null?void 0:t.body,i=lh(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),a=lh(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),s=-r.scrollLeft+WF(e),l=-r.scrollTop;return Ku(o||n).direction==="rtl"&&(s+=lh(n.clientWidth,o?o.clientWidth:0)-i),{width:i,height:a,x:s,y:l}}function GF(e){var t=Ku(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function aZ(e){return["html","body","#document"].indexOf(zc(e))>=0?e.ownerDocument.body:el(e)&&GF(e)?e:aZ(AI(e))}function fw(e,t){var n;t===void 0&&(t=[]);var r=aZ(e),o=r===((n=e.ownerDocument)==null?void 0:n.body),i=as(r),a=o?[i].concat(i.visualViewport||[],GF(r)?r:[]):r,s=t.concat(a);return o?s:s.concat(fw(AI(a)))}function d_(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function DPe(e,t){var n=zy(e,!1,t==="fixed");return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function F3(e,t,n){return t===ZJ?d_(RPe(e,n)):Ih(t)?DPe(t,n):d_(_Pe(Vf(e)))}function NPe(e){var t=fw(AI(e)),n=["absolute","fixed"].indexOf(Ku(e).position)>=0,r=n&&el(e)?IS(e):e;return Ih(r)?t.filter(function(o){return Ih(o)&&nZ(o,r)&&zc(o)!=="body"}):[]}function LPe(e,t,n,r){var o=t==="clippingParents"?NPe(e):[].concat(t),i=[].concat(o,[n]),a=i[0],s=i.reduce(function(l,c){var u=F3(e,c,r);return l.top=lh(u.top,l.top),l.right=zT(u.right,l.right),l.bottom=zT(u.bottom,l.bottom),l.left=lh(u.left,l.left),l},F3(e,a,r));return s.width=s.right-s.left,s.height=s.bottom-s.top,s.x=s.left,s.y=s.top,s}function sZ(e){var t=e.reference,n=e.element,r=e.placement,o=r?Rc(r):null,i=r?Vy(r):null,a=t.x+t.width/2-n.width/2,s=t.y+t.height/2-n.height/2,l;switch(o){case ba:l={x:a,y:t.y-n.height};break;case sl:l={x:a,y:t.y+t.height};break;case ll:l={x:t.x+t.width,y:s};break;case wa:l={x:t.x-n.width,y:s};break;default:l={x:t.x,y:t.y}}var c=o?HF(o):null;if(c!=null){var u=c==="y"?"height":"width";switch(i){case jy:l[c]=l[c]-(t[u]/2-n[u]/2);break;case rx:l[c]=l[c]+(t[u]/2-n[u]/2);break}}return l}function ox(e,t){t===void 0&&(t={});var n=t,r=n.placement,o=r===void 0?e.placement:r,i=n.strategy,a=i===void 0?e.strategy:i,s=n.boundary,l=s===void 0?rPe:s,c=n.rootBoundary,u=c===void 0?ZJ:c,d=n.elementContext,f=d===void 0?o0:d,p=n.altBoundary,m=p===void 0?!1:p,g=n.padding,v=g===void 0?0:g,w=oZ(typeof v!="number"?v:iZ(v,OS)),x=f===o0?oPe:o0,S=e.rects.popper,P=e.elements[m?x:f],T=LPe(Ih(P)?P:P.contextElement||Vf(e.elements.popper),l,u,a),E=zy(e.elements.reference),O=sZ({reference:E,element:S,strategy:"absolute",placement:o}),k=d_(Object.assign({},S,O)),A=f===o0?k:E,I={top:T.top-A.top+w.top,bottom:A.bottom-T.bottom+w.bottom,left:T.left-A.left+w.left,right:A.right-T.right+w.right},R=e.modifiersData.offset;if(f===o0&&R){var N=R[o];Object.keys(I).forEach(function(L){var j=[ll,sl].indexOf(L)>=0?1:-1,_=[ba,sl].indexOf(L)>=0?"y":"x";I[L]+=N[_]*j})}return I}function FPe(e,t){t===void 0&&(t={});var n=t,r=n.placement,o=n.boundary,i=n.rootBoundary,a=n.padding,s=n.flipVariations,l=n.allowedAutoPlacements,c=l===void 0?eZ:l,u=Vy(r),d=u?s?_3:_3.filter(function(m){return Vy(m)===u}):OS,f=d.filter(function(m){return c.indexOf(m)>=0});f.length===0&&(f=d);var p=f.reduce(function(m,g){return m[g]=ox(e,{placement:g,boundary:o,rootBoundary:i,padding:a})[Rc(g)],m},{});return Object.keys(p).sort(function(m,g){return p[m]-p[g]})}function jPe(e){if(Rc(e)===BF)return[];var t=jP(e);return[L3(e),t,L3(t)]}function BPe(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var o=n.mainAxis,i=o===void 0?!0:o,a=n.altAxis,s=a===void 0?!0:a,l=n.fallbackPlacements,c=n.padding,u=n.boundary,d=n.rootBoundary,f=n.altBoundary,p=n.flipVariations,m=p===void 0?!0:p,g=n.allowedAutoPlacements,v=t.options.placement,w=Rc(v),x=w===v,S=l||(x||!m?[jP(v)]:jPe(v)),P=[v].concat(S).reduce(function(Z,K){return Z.concat(Rc(K)===BF?FPe(t,{placement:K,boundary:u,rootBoundary:d,padding:c,flipVariations:m,allowedAutoPlacements:g}):K)},[]),T=t.rects.reference,E=t.rects.popper,O=new Map,k=!0,A=P[0],I=0;I=0,_=j?"width":"height",D=ox(t,{placement:R,boundary:u,rootBoundary:d,altBoundary:f,padding:c}),z=j?L?ll:wa:L?sl:ba;T[_]>E[_]&&(z=jP(z));var F=jP(z),H=[];if(i&&H.push(D[N]<=0),s&&H.push(D[z]<=0,D[F]<=0),H.every(function(Z){return Z})){A=R,k=!1;break}O.set(R,H)}if(k)for(var U=m?3:1,q=function(K){var te=P.find(function(pe){var ie=O.get(pe);if(ie)return ie.slice(0,K).every(function(le){return le})});if(te)return A=te,"break"},X=U;X>0;X--){var ae=q(X);if(ae==="break")break}t.placement!==A&&(t.modifiersData[r]._skip=!0,t.placement=A,t.reset=!0)}}const zPe={name:"flip",enabled:!0,phase:"main",fn:BPe,requiresIfExists:["offset"],data:{_skip:!1}};function j3(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function B3(e){return[ba,ll,sl,wa].some(function(t){return e[t]>=0})}function VPe(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,i=t.modifiersData.preventOverflow,a=ox(t,{elementContext:"reference"}),s=ox(t,{altBoundary:!0}),l=j3(a,r),c=j3(s,o,i),u=B3(l),d=B3(c);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:u,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":d})}const HPe={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:VPe};function UPe(e,t,n){var r=Rc(e),o=[wa,ba].indexOf(r)>=0?-1:1,i=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,a=i[0],s=i[1];return a=a||0,s=(s||0)*o,[wa,ll].indexOf(r)>=0?{x:s,y:a}:{x:a,y:s}}function WPe(e){var t=e.state,n=e.options,r=e.name,o=n.offset,i=o===void 0?[0,0]:o,a=eZ.reduce(function(u,d){return u[d]=UPe(d,t.rects,i),u},{}),s=a[t.placement],l=s.x,c=s.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=c),t.modifiersData[r]=a}const GPe={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:WPe};function qPe(e){var t=e.state,n=e.name;t.modifiersData[n]=sZ({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}const KPe={name:"popperOffsets",enabled:!0,phase:"read",fn:qPe,data:{}};function YPe(e){return e==="x"?"y":"x"}function XPe(e){var t=e.state,n=e.options,r=e.name,o=n.mainAxis,i=o===void 0?!0:o,a=n.altAxis,s=a===void 0?!1:a,l=n.boundary,c=n.rootBoundary,u=n.altBoundary,d=n.padding,f=n.tether,p=f===void 0?!0:f,m=n.tetherOffset,g=m===void 0?0:m,v=ox(t,{boundary:l,rootBoundary:c,padding:d,altBoundary:u}),w=Rc(t.placement),x=Vy(t.placement),S=!x,P=HF(w),T=YPe(P),E=t.modifiersData.popperOffsets,O=t.rects.reference,k=t.rects.popper,A=typeof g=="function"?g(Object.assign({},t.rects,{placement:t.placement})):g,I=typeof A=="number"?{mainAxis:A,altAxis:A}:Object.assign({mainAxis:0,altAxis:0},A),R=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,N={x:0,y:0};if(E){if(i){var L,j=P==="y"?ba:wa,_=P==="y"?sl:ll,D=P==="y"?"height":"width",z=E[P],F=z+v[j],H=z-v[_],U=p?-k[D]/2:0,q=x===jy?O[D]:k[D],X=x===jy?-k[D]:-O[D],ae=t.elements.arrow,Z=p&&ae?VF(ae):{width:0,height:0},K=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:rZ(),te=K[j],pe=K[_],ie=dw(0,O[D],Z[D]),le=S?O[D]/2-U-ie-te-I.mainAxis:q-ie-te-I.mainAxis,re=S?-O[D]/2+U+ie+pe+I.mainAxis:X+ie+pe+I.mainAxis,fe=t.elements.arrow&&IS(t.elements.arrow),ee=fe?P==="y"?fe.clientTop||0:fe.clientLeft||0:0,ce=(L=R==null?void 0:R[P])!=null?L:0,me=z+le-ce-ee,we=z+re-ce,ge=dw(p?zT(F,me):F,z,p?lh(H,we):H);E[P]=ge,N[P]=ge-z}if(s){var Se,xe=P==="x"?ba:wa,Ie=P==="x"?sl:ll,Re=E[T],_e=T==="y"?"height":"width",ye=Re+v[xe],Te=Re-v[Ie],Oe=[ba,wa].indexOf(w)!==-1,Me=(Se=R==null?void 0:R[T])!=null?Se:0,We=Oe?ye:Re-O[_e]-k[_e]-Me+I.altAxis,Ve=Oe?Re+O[_e]+k[_e]-Me-I.altAxis:Te,Qe=p&&Oe?wPe(We,Re,Ve):dw(p?We:ye,Re,p?Ve:Te);E[T]=Qe,N[T]=Qe-Re}t.modifiersData[r]=N}}const QPe={name:"preventOverflow",enabled:!0,phase:"main",fn:XPe,requiresIfExists:["offset"]};function JPe(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function ZPe(e){return e===as(e)||!el(e)?UF(e):JPe(e)}function eTe(e){var t=e.getBoundingClientRect(),n=By(t.width)/e.offsetWidth||1,r=By(t.height)/e.offsetHeight||1;return n!==1||r!==1}function tTe(e,t,n){n===void 0&&(n=!1);var r=el(t),o=el(t)&&eTe(t),i=Vf(t),a=zy(e,o,n),s={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(r||!r&&!n)&&((zc(t)!=="body"||GF(i))&&(s=ZPe(t)),el(t)?(l=zy(t,!0),l.x+=t.clientLeft,l.y+=t.clientTop):i&&(l.x=WF(i))),{x:a.left+s.scrollLeft-l.x,y:a.top+s.scrollTop-l.y,width:a.width,height:a.height}}function nTe(e){var t=new Map,n=new Set,r=[];e.forEach(function(i){t.set(i.name,i)});function o(i){n.add(i.name);var a=[].concat(i.requires||[],i.requiresIfExists||[]);a.forEach(function(s){if(!n.has(s)){var l=t.get(s);l&&o(l)}}),r.push(i)}return e.forEach(function(i){n.has(i.name)||o(i)}),r}function rTe(e){var t=nTe(e);return hPe.reduce(function(n,r){return n.concat(t.filter(function(o){return o.phase===r}))},[])}function oTe(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function iTe(e){var t=e.reduce(function(n,r){var o=n[r.name];return n[r.name]=o?Object.assign({},o,r,{options:Object.assign({},o.options,r.options),data:Object.assign({},o.data,r.data)}):r,n},{});return Object.keys(t).map(function(n){return t[n]})}var z3={placement:"bottom",modifiers:[],strategy:"absolute"};function V3(){for(var e=arguments.length,t=new Array(e),n=0;n{i||s(cTe(o)||document.body)},[o,i]),rs(()=>{if(a&&!i)return sT(n,a),()=>{sT(n,null)}},[n,a,i]),i){if(y.isValidElement(r)){const c={ref:l};return y.cloneElement(r,c)}return $.jsx(y.Fragment,{children:r})}return $.jsx(y.Fragment,{children:a&&MI.createPortal(r,a)})});function uTe(e){return tt("MuiPopper",e)}ot("MuiPopper",["root"]);function dTe(e,t){if(t==="ltr")return e;switch(e){case"bottom-end":return"bottom-start";case"bottom-start":return"bottom-end";case"top-end":return"top-start";case"top-start":return"top-end";default:return e}}function f_(e){return typeof e=="function"?e():e}function fTe(e){return e.nodeType!==void 0}const pTe=e=>{const{classes:t}=e;return rt({root:["root"]},uTe,t)},hTe={},mTe=y.forwardRef(function(t,n){const{anchorEl:r,children:o,direction:i,disablePortal:a,modifiers:s,open:l,placement:c,popperOptions:u,popperRef:d,slotProps:f={},slots:p={},TransitionProps:m,ownerState:g,...v}=t,w=y.useRef(null),x=Cr(w,n),S=y.useRef(null),P=Cr(S,d),T=y.useRef(P);rs(()=>{T.current=P},[P]),y.useImperativeHandle(d,()=>S.current,[]);const E=dTe(c,i),[O,k]=y.useState(E),[A,I]=y.useState(f_(r));y.useEffect(()=>{S.current&&S.current.forceUpdate()}),y.useEffect(()=>{r&&I(f_(r))},[r]),rs(()=>{if(!A||!l)return;const _=F=>{k(F.placement)};let D=[{name:"preventOverflow",options:{altBoundary:a}},{name:"flip",options:{altBoundary:a}},{name:"onUpdate",enabled:!0,phase:"afterWrite",fn:({state:F})=>{_(F)}}];s!=null&&(D=D.concat(s)),u&&u.modifiers!=null&&(D=D.concat(u.modifiers));const z=lTe(A,w.current,{placement:E,...u,modifiers:D});return T.current(z),()=>{z.destroy(),T.current(null)}},[A,a,s,l,u,E]);const R={placement:O};m!==null&&(R.TransitionProps=m);const N=pTe(t),L=p.root??"div",j=Bc({elementType:L,externalSlotProps:f.root,externalForwardedProps:v,additionalProps:{role:"tooltip",ref:x},ownerState:t,className:N.root});return $.jsx(L,{...j,children:typeof o=="function"?o(R):o})}),gTe=y.forwardRef(function(t,n){const{anchorEl:r,children:o,container:i,direction:a="ltr",disablePortal:s=!1,keepMounted:l=!1,modifiers:c,open:u,placement:d="bottom",popperOptions:f=hTe,popperRef:p,style:m,transition:g=!1,slotProps:v={},slots:w={},...x}=t,[S,P]=y.useState(!0),T=()=>{P(!1)},E=()=>{P(!0)};if(!l&&!u&&(!g||S))return null;let O;if(i)O=i;else if(r){const I=f_(r);O=I&&fTe(I)?ii(I).body:ii(null).body}const k=!u&&l&&(!g||S)?"none":void 0,A=g?{in:u,onEnter:T,onExited:E}:void 0;return $.jsx(lZ,{disablePortal:s,container:O,children:$.jsx(mTe,{anchorEl:r,direction:a,disablePortal:s,modifiers:c,ref:n,open:g?!S:u,placement:d,popperOptions:f,popperRef:p,slotProps:v,slots:w,...x,style:{position:"fixed",top:0,left:0,display:k,...m},TransitionProps:A,children:o})})}),yTe=oe(gTe,{name:"MuiPopper",slot:"Root",overridesResolver:(e,t)=>t.root})({}),Hf=y.forwardRef(function(t,n){const r=nr(),o=it({props:t,name:"MuiPopper"}),{anchorEl:i,component:a,components:s,componentsProps:l,container:c,disablePortal:u,keepMounted:d,modifiers:f,open:p,placement:m,popperOptions:g,popperRef:v,transition:w,slots:x,slotProps:S,...P}=o,T=(x==null?void 0:x.root)??(s==null?void 0:s.Root),E={anchorEl:i,container:c,disablePortal:u,keepMounted:d,modifiers:f,open:p,placement:m,popperOptions:g,popperRef:v,transition:w,...P};return $.jsx(yTe,{as:a,direction:r?"rtl":"ltr",slots:{root:T},slotProps:S??l,...E,ref:n})});function vTe(e){return tt("MuiListSubheader",e)}ot("MuiListSubheader",["root","colorPrimary","colorInherit","gutters","inset","sticky"]);const bTe=e=>{const{classes:t,color:n,disableGutters:r,inset:o,disableSticky:i}=e,a={root:["root",n!=="default"&&`color${Ce(n)}`,!r&&"gutters",o&&"inset",!i&&"sticky"]};return rt(a,vTe,t)},wTe=oe("li",{name:"MuiListSubheader",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.color!=="default"&&t[`color${Ce(n.color)}`],!n.disableGutters&&t.gutters,n.inset&&t.inset,!n.disableSticky&&t.sticky]}})(Ze(({theme:e})=>({boxSizing:"border-box",lineHeight:"48px",listStyle:"none",color:(e.vars||e).palette.text.secondary,fontFamily:e.typography.fontFamily,fontWeight:e.typography.fontWeightMedium,fontSize:e.typography.pxToRem(14),variants:[{props:{color:"primary"},style:{color:(e.vars||e).palette.primary.main}},{props:{color:"inherit"},style:{color:"inherit"}},{props:({ownerState:t})=>!t.disableGutters,style:{paddingLeft:16,paddingRight:16}},{props:({ownerState:t})=>t.inset,style:{paddingLeft:72}},{props:({ownerState:t})=>!t.disableSticky,style:{position:"sticky",top:0,zIndex:1,backgroundColor:(e.vars||e).palette.background.paper}}]}))),p_=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiListSubheader"}),{className:o,color:i="default",component:a="li",disableGutters:s=!1,disableSticky:l=!1,inset:c=!1,...u}=r,d={...r,color:i,component:a,disableGutters:s,disableSticky:l,inset:c},f=bTe(d);return $.jsx(wTe,{as:a,className:de(f.root,o),ref:n,ownerState:d,...u})});p_&&(p_.muiSkipListHighlight=!0);const xTe=lt($.jsx("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"}),"Cancel");function STe(e){return tt("MuiChip",e)}const Pn=ot("MuiChip",["root","sizeSmall","sizeMedium","colorDefault","colorError","colorInfo","colorPrimary","colorSecondary","colorSuccess","colorWarning","disabled","clickable","clickableColorPrimary","clickableColorSecondary","deletable","deletableColorPrimary","deletableColorSecondary","outlined","filled","outlinedPrimary","outlinedSecondary","filledPrimary","filledSecondary","avatar","avatarSmall","avatarMedium","avatarColorPrimary","avatarColorSecondary","icon","iconSmall","iconMedium","iconColorPrimary","iconColorSecondary","label","labelSmall","labelMedium","deleteIcon","deleteIconSmall","deleteIconMedium","deleteIconColorPrimary","deleteIconColorSecondary","deleteIconOutlinedColorPrimary","deleteIconOutlinedColorSecondary","deleteIconFilledColorPrimary","deleteIconFilledColorSecondary","focusVisible"]),CTe=e=>{const{classes:t,disabled:n,size:r,color:o,iconColor:i,onDelete:a,clickable:s,variant:l}=e,c={root:["root",l,n&&"disabled",`size${Ce(r)}`,`color${Ce(o)}`,s&&"clickable",s&&`clickableColor${Ce(o)}`,a&&"deletable",a&&`deletableColor${Ce(o)}`,`${l}${Ce(o)}`],label:["label",`label${Ce(r)}`],avatar:["avatar",`avatar${Ce(r)}`,`avatarColor${Ce(o)}`],icon:["icon",`icon${Ce(r)}`,`iconColor${Ce(i)}`],deleteIcon:["deleteIcon",`deleteIcon${Ce(r)}`,`deleteIconColor${Ce(o)}`,`deleteIcon${Ce(l)}Color${Ce(o)}`]};return rt(c,STe,t)},PTe=oe("div",{name:"MuiChip",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e,{color:r,iconColor:o,clickable:i,onDelete:a,size:s,variant:l}=n;return[{[`& .${Pn.avatar}`]:t.avatar},{[`& .${Pn.avatar}`]:t[`avatar${Ce(s)}`]},{[`& .${Pn.avatar}`]:t[`avatarColor${Ce(r)}`]},{[`& .${Pn.icon}`]:t.icon},{[`& .${Pn.icon}`]:t[`icon${Ce(s)}`]},{[`& .${Pn.icon}`]:t[`iconColor${Ce(o)}`]},{[`& .${Pn.deleteIcon}`]:t.deleteIcon},{[`& .${Pn.deleteIcon}`]:t[`deleteIcon${Ce(s)}`]},{[`& .${Pn.deleteIcon}`]:t[`deleteIconColor${Ce(r)}`]},{[`& .${Pn.deleteIcon}`]:t[`deleteIcon${Ce(l)}Color${Ce(r)}`]},t.root,t[`size${Ce(s)}`],t[`color${Ce(r)}`],i&&t.clickable,i&&r!=="default"&&t[`clickableColor${Ce(r)})`],a&&t.deletable,a&&r!=="default"&&t[`deletableColor${Ce(r)}`],t[l],t[`${l}${Ce(r)}`]]}})(Ze(({theme:e})=>{const t=e.palette.mode==="light"?e.palette.grey[700]:e.palette.grey[300];return{maxWidth:"100%",fontFamily:e.typography.fontFamily,fontSize:e.typography.pxToRem(13),display:"inline-flex",alignItems:"center",justifyContent:"center",height:32,color:(e.vars||e).palette.text.primary,backgroundColor:(e.vars||e).palette.action.selected,borderRadius:32/2,whiteSpace:"nowrap",transition:e.transitions.create(["background-color","box-shadow"]),cursor:"unset",outline:0,textDecoration:"none",border:0,padding:0,verticalAlign:"middle",boxSizing:"border-box",[`&.${Pn.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity,pointerEvents:"none"},[`& .${Pn.avatar}`]:{marginLeft:5,marginRight:-6,width:24,height:24,color:e.vars?e.vars.palette.Chip.defaultAvatarColor:t,fontSize:e.typography.pxToRem(12)},[`& .${Pn.avatarColorPrimary}`]:{color:(e.vars||e).palette.primary.contrastText,backgroundColor:(e.vars||e).palette.primary.dark},[`& .${Pn.avatarColorSecondary}`]:{color:(e.vars||e).palette.secondary.contrastText,backgroundColor:(e.vars||e).palette.secondary.dark},[`& .${Pn.avatarSmall}`]:{marginLeft:4,marginRight:-4,width:18,height:18,fontSize:e.typography.pxToRem(10)},[`& .${Pn.icon}`]:{marginLeft:5,marginRight:-6},[`& .${Pn.deleteIcon}`]:{WebkitTapHighlightColor:"transparent",color:e.vars?`rgba(${e.vars.palette.text.primaryChannel} / 0.26)`:mt(e.palette.text.primary,.26),fontSize:22,cursor:"pointer",margin:"0 5px 0 -6px","&:hover":{color:e.vars?`rgba(${e.vars.palette.text.primaryChannel} / 0.4)`:mt(e.palette.text.primary,.4)}},variants:[{props:{size:"small"},style:{height:24,[`& .${Pn.icon}`]:{fontSize:18,marginLeft:4,marginRight:-4},[`& .${Pn.deleteIcon}`]:{fontSize:16,marginRight:4,marginLeft:-4}}},...Object.entries(e.palette).filter(zn(["contrastText"])).map(([n])=>({props:{color:n},style:{backgroundColor:(e.vars||e).palette[n].main,color:(e.vars||e).palette[n].contrastText,[`& .${Pn.deleteIcon}`]:{color:e.vars?`rgba(${e.vars.palette[n].contrastTextChannel} / 0.7)`:mt(e.palette[n].contrastText,.7),"&:hover, &:active":{color:(e.vars||e).palette[n].contrastText}}}})),{props:n=>n.iconColor===n.color,style:{[`& .${Pn.icon}`]:{color:e.vars?e.vars.palette.Chip.defaultIconColor:t}}},{props:n=>n.iconColor===n.color&&n.color!=="default",style:{[`& .${Pn.icon}`]:{color:"inherit"}}},{props:{onDelete:!0},style:{[`&.${Pn.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.action.selectedChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:mt(e.palette.action.selected,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}}},...Object.entries(e.palette).filter(zn(["dark"])).map(([n])=>({props:{color:n,onDelete:!0},style:{[`&.${Pn.focusVisible}`]:{background:(e.vars||e).palette[n].dark}}})),{props:{clickable:!0},style:{userSelect:"none",WebkitTapHighlightColor:"transparent",cursor:"pointer","&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.action.selectedChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:mt(e.palette.action.selected,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity)},[`&.${Pn.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.action.selectedChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:mt(e.palette.action.selected,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)},"&:active":{boxShadow:(e.vars||e).shadows[1]}}},...Object.entries(e.palette).filter(zn(["dark"])).map(([n])=>({props:{color:n,clickable:!0},style:{[`&:hover, &.${Pn.focusVisible}`]:{backgroundColor:(e.vars||e).palette[n].dark}}})),{props:{variant:"outlined"},style:{backgroundColor:"transparent",border:e.vars?`1px solid ${e.vars.palette.Chip.defaultBorder}`:`1px solid ${e.palette.mode==="light"?e.palette.grey[400]:e.palette.grey[700]}`,[`&.${Pn.clickable}:hover`]:{backgroundColor:(e.vars||e).palette.action.hover},[`&.${Pn.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`& .${Pn.avatar}`]:{marginLeft:4},[`& .${Pn.avatarSmall}`]:{marginLeft:2},[`& .${Pn.icon}`]:{marginLeft:4},[`& .${Pn.iconSmall}`]:{marginLeft:2},[`& .${Pn.deleteIcon}`]:{marginRight:5},[`& .${Pn.deleteIconSmall}`]:{marginRight:3}}},...Object.entries(e.palette).filter(zn()).map(([n])=>({props:{variant:"outlined",color:n},style:{color:(e.vars||e).palette[n].main,border:`1px solid ${e.vars?`rgba(${e.vars.palette[n].mainChannel} / 0.7)`:mt(e.palette[n].main,.7)}`,[`&.${Pn.clickable}:hover`]:{backgroundColor:e.vars?`rgba(${e.vars.palette[n].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:mt(e.palette[n].main,e.palette.action.hoverOpacity)},[`&.${Pn.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette[n].mainChannel} / ${e.vars.palette.action.focusOpacity})`:mt(e.palette[n].main,e.palette.action.focusOpacity)},[`& .${Pn.deleteIcon}`]:{color:e.vars?`rgba(${e.vars.palette[n].mainChannel} / 0.7)`:mt(e.palette[n].main,.7),"&:hover, &:active":{color:(e.vars||e).palette[n].main}}}}))]}})),TTe=oe("span",{name:"MuiChip",slot:"Label",overridesResolver:(e,t)=>{const{ownerState:n}=e,{size:r}=n;return[t.label,t[`label${Ce(r)}`]]}})({overflow:"hidden",textOverflow:"ellipsis",paddingLeft:12,paddingRight:12,whiteSpace:"nowrap",variants:[{props:{variant:"outlined"},style:{paddingLeft:11,paddingRight:11}},{props:{size:"small"},style:{paddingLeft:8,paddingRight:8}},{props:{size:"small",variant:"outlined"},style:{paddingLeft:7,paddingRight:7}}]});function H3(e){return e.key==="Backspace"||e.key==="Delete"}const kh=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiChip"}),{avatar:o,className:i,clickable:a,color:s="default",component:l,deleteIcon:c,disabled:u=!1,icon:d,label:f,onClick:p,onDelete:m,onKeyDown:g,onKeyUp:v,size:w="medium",variant:x="filled",tabIndex:S,skipFocusWhenDisabled:P=!1,...T}=r,E=y.useRef(null),O=Cr(E,n),k=H=>{H.stopPropagation(),m&&m(H)},A=H=>{H.currentTarget===H.target&&H3(H)&&H.preventDefault(),g&&g(H)},I=H=>{H.currentTarget===H.target&&m&&H3(H)&&m(H),v&&v(H)},R=a!==!1&&p?!0:a,N=R||m?Ki:l||"div",L={...r,component:N,disabled:u,size:w,color:s,iconColor:y.isValidElement(d)&&d.props.color||s,onDelete:!!m,clickable:R,variant:x},j=CTe(L),_=N===Ki?{component:l||"div",focusVisibleClassName:j.focusVisible,...m&&{disableRipple:!0}}:{};let D=null;m&&(D=c&&y.isValidElement(c)?y.cloneElement(c,{className:de(c.props.className,j.deleteIcon),onClick:k}):$.jsx(xTe,{className:de(j.deleteIcon),onClick:k}));let z=null;o&&y.isValidElement(o)&&(z=y.cloneElement(o,{className:de(j.avatar,o.props.className)}));let F=null;return d&&y.isValidElement(d)&&(F=y.cloneElement(d,{className:de(j.icon,d.props.className)})),$.jsxs(PTe,{as:N,className:de(j.root,i),disabled:R&&u?!0:void 0,onClick:p,onKeyDown:A,onKeyUp:I,ref:O,tabIndex:P&&u?-1:S,ownerState:L,..._,...T,children:[z||F,$.jsx(TTe,{className:de(j.label),ownerState:L,children:f}),D]})});function _C(e){return parseInt(e,10)||0}const ETe={shadow:{visibility:"hidden",position:"absolute",overflow:"hidden",height:0,top:0,left:0,transform:"translateZ(0)"}};function OTe(e){return e==null||Object.keys(e).length===0||e.outerHeightStyle===0&&!e.overflowing}const ITe=y.forwardRef(function(t,n){const{onChange:r,maxRows:o,minRows:i=1,style:a,value:s,...l}=t,{current:c}=y.useRef(s!=null),u=y.useRef(null),d=Cr(n,u),f=y.useRef(null),p=y.useRef(null),m=y.useCallback(()=>{const w=u.current,S=os(w).getComputedStyle(w);if(S.width==="0px")return{outerHeightStyle:0,overflowing:!1};const P=p.current;P.style.width=S.width,P.value=w.value||t.placeholder||"x",P.value.slice(-1)===` +`&&(P.value+=" ");const T=S.boxSizing,E=_C(S.paddingBottom)+_C(S.paddingTop),O=_C(S.borderBottomWidth)+_C(S.borderTopWidth),k=P.scrollHeight;P.value="x";const A=P.scrollHeight;let I=k;i&&(I=Math.max(Number(i)*A,I)),o&&(I=Math.min(Number(o)*A,I)),I=Math.max(I,A);const R=I+(T==="border-box"?E+O:0),N=Math.abs(I-k)<=1;return{outerHeightStyle:R,overflowing:N}},[o,i,t.placeholder]),g=y.useCallback(()=>{const w=m();if(OTe(w))return;const x=w.outerHeightStyle,S=u.current;f.current!==x&&(f.current=x,S.style.height=`${x}px`),S.style.overflow=w.overflowing?"hidden":""},[m]);rs(()=>{const w=()=>{g()};let x;const S=bS(w),P=u.current,T=os(P);T.addEventListener("resize",S);let E;return typeof ResizeObserver<"u"&&(E=new ResizeObserver(w),E.observe(P)),()=>{S.clear(),cancelAnimationFrame(x),T.removeEventListener("resize",S),E&&E.disconnect()}},[m,g]),rs(()=>{g()});const v=w=>{c||g(),r&&r(w)};return $.jsxs(y.Fragment,{children:[$.jsx("textarea",{value:s,onChange:v,ref:d,rows:i,style:a,...l}),$.jsx("textarea",{"aria-hidden":!0,className:t.className,readOnly:!0,ref:p,tabIndex:-1,style:{...ETe.shadow,...a,paddingTop:0,paddingBottom:0}})]})});function Hy(e){return typeof e=="string"}function Uf({props:e,states:t,muiFormControl:n}){return t.reduce((r,o)=>(r[o]=e[o],n&&typeof e[o]>"u"&&(r[o]=n[o]),r),{})}const $I=y.createContext(void 0);function Ta(){return y.useContext($I)}function U3(e){return e!=null&&!(Array.isArray(e)&&e.length===0)}function VT(e,t=!1){return e&&(U3(e.value)&&e.value!==""||t&&U3(e.defaultValue)&&e.defaultValue!=="")}function kTe(e){return e.startAdornment}function MTe(e){return tt("MuiInputBase",e)}const Va=ot("MuiInputBase",["root","formControl","focused","disabled","adornedStart","adornedEnd","error","sizeSmall","multiline","colorSecondary","fullWidth","hiddenLabel","readOnly","input","inputSizeSmall","inputMultiline","inputTypeSearch","inputAdornedStart","inputAdornedEnd","inputHiddenLabel"]);var W3;const RI=(e,t)=>{const{ownerState:n}=e;return[t.root,n.formControl&&t.formControl,n.startAdornment&&t.adornedStart,n.endAdornment&&t.adornedEnd,n.error&&t.error,n.size==="small"&&t.sizeSmall,n.multiline&&t.multiline,n.color&&t[`color${Ce(n.color)}`],n.fullWidth&&t.fullWidth,n.hiddenLabel&&t.hiddenLabel]},_I=(e,t)=>{const{ownerState:n}=e;return[t.input,n.size==="small"&&t.inputSizeSmall,n.multiline&&t.inputMultiline,n.type==="search"&&t.inputTypeSearch,n.startAdornment&&t.inputAdornedStart,n.endAdornment&&t.inputAdornedEnd,n.hiddenLabel&&t.inputHiddenLabel]},ATe=e=>{const{classes:t,color:n,disabled:r,error:o,endAdornment:i,focused:a,formControl:s,fullWidth:l,hiddenLabel:c,multiline:u,readOnly:d,size:f,startAdornment:p,type:m}=e,g={root:["root",`color${Ce(n)}`,r&&"disabled",o&&"error",l&&"fullWidth",a&&"focused",s&&"formControl",f&&f!=="medium"&&`size${Ce(f)}`,u&&"multiline",p&&"adornedStart",i&&"adornedEnd",c&&"hiddenLabel",d&&"readOnly"],input:["input",r&&"disabled",m==="search"&&"inputTypeSearch",u&&"inputMultiline",f==="small"&&"inputSizeSmall",c&&"inputHiddenLabel",p&&"inputAdornedStart",i&&"inputAdornedEnd",d&&"readOnly"]};return rt(g,MTe,t)},DI=oe("div",{name:"MuiInputBase",slot:"Root",overridesResolver:RI})(Ze(({theme:e})=>({...e.typography.body1,color:(e.vars||e).palette.text.primary,lineHeight:"1.4375em",boxSizing:"border-box",position:"relative",cursor:"text",display:"inline-flex",alignItems:"center",[`&.${Va.disabled}`]:{color:(e.vars||e).palette.text.disabled,cursor:"default"},variants:[{props:({ownerState:t})=>t.multiline,style:{padding:"4px 0 5px"}},{props:({ownerState:t,size:n})=>t.multiline&&n==="small",style:{paddingTop:1}},{props:({ownerState:t})=>t.fullWidth,style:{width:"100%"}}]}))),NI=oe("input",{name:"MuiInputBase",slot:"Input",overridesResolver:_I})(Ze(({theme:e})=>{const t=e.palette.mode==="light",n={color:"currentColor",...e.vars?{opacity:e.vars.opacity.inputPlaceholder}:{opacity:t?.42:.5},transition:e.transitions.create("opacity",{duration:e.transitions.duration.shorter})},r={opacity:"0 !important"},o=e.vars?{opacity:e.vars.opacity.inputPlaceholder}:{opacity:t?.42:.5};return{font:"inherit",letterSpacing:"inherit",color:"currentColor",padding:"4px 0 5px",border:0,boxSizing:"content-box",background:"none",height:"1.4375em",margin:0,WebkitTapHighlightColor:"transparent",display:"block",minWidth:0,width:"100%","&::-webkit-input-placeholder":n,"&::-moz-placeholder":n,"&::-ms-input-placeholder":n,"&:focus":{outline:0},"&:invalid":{boxShadow:"none"},"&::-webkit-search-decoration":{WebkitAppearance:"none"},[`label[data-shrink=false] + .${Va.formControl} &`]:{"&::-webkit-input-placeholder":r,"&::-moz-placeholder":r,"&::-ms-input-placeholder":r,"&:focus::-webkit-input-placeholder":o,"&:focus::-moz-placeholder":o,"&:focus::-ms-input-placeholder":o},[`&.${Va.disabled}`]:{opacity:1,WebkitTextFillColor:(e.vars||e).palette.text.disabled},variants:[{props:({ownerState:i})=>!i.disableInjectingGlobalStyles,style:{animationName:"mui-auto-fill-cancel",animationDuration:"10ms","&:-webkit-autofill":{animationDuration:"5000s",animationName:"mui-auto-fill"}}},{props:{size:"small"},style:{paddingTop:1}},{props:({ownerState:i})=>i.multiline,style:{height:"auto",resize:"none",padding:0,paddingTop:0}},{props:{type:"search"},style:{MozAppearance:"textfield"}}]}})),G3=Ixe({"@keyframes mui-auto-fill":{from:{display:"block"}},"@keyframes mui-auto-fill-cancel":{from:{display:"block"}}}),Fv=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiInputBase"}),{"aria-describedby":o,autoComplete:i,autoFocus:a,className:s,color:l,components:c={},componentsProps:u={},defaultValue:d,disabled:f,disableInjectingGlobalStyles:p,endAdornment:m,error:g,fullWidth:v=!1,id:w,inputComponent:x="input",inputProps:S={},inputRef:P,margin:T,maxRows:E,minRows:O,multiline:k=!1,name:A,onBlur:I,onChange:R,onClick:N,onFocus:L,onKeyDown:j,onKeyUp:_,placeholder:D,readOnly:z,renderSuffix:F,rows:H,size:U,slotProps:q={},slots:X={},startAdornment:ae,type:Z="text",value:K,...te}=r,pe=S.value!=null?S.value:K,{current:ie}=y.useRef(pe!=null),le=y.useRef(),re=y.useCallback(et=>{},[]),fe=Cr(le,P,S.ref,re),[ee,ce]=y.useState(!1),me=Ta(),we=Uf({props:r,muiFormControl:me,states:["color","disabled","error","hiddenLabel","size","required","filled"]});we.focused=me?me.focused:ee,y.useEffect(()=>{!me&&f&&ee&&(ce(!1),I&&I())},[me,f,ee,I]);const ge=me&&me.onFilled,Se=me&&me.onEmpty,xe=y.useCallback(et=>{VT(et)?ge&&ge():Se&&Se()},[ge,Se]);rs(()=>{ie&&xe({value:pe})},[pe,xe,ie]);const Ie=et=>{L&&L(et),S.onFocus&&S.onFocus(et),me&&me.onFocus?me.onFocus(et):ce(!0)},Re=et=>{I&&I(et),S.onBlur&&S.onBlur(et),me&&me.onBlur?me.onBlur(et):ce(!1)},_e=(et,...yt)=>{if(!ie){const wn=et.target||le.current;if(wn==null)throw new Error(Bu(1));xe({value:wn.value})}S.onChange&&S.onChange(et,...yt),R&&R(et,...yt)};y.useEffect(()=>{xe(le.current)},[]);const ye=et=>{le.current&&et.currentTarget===et.target&&le.current.focus(),N&&N(et)};let Te=x,Oe=S;k&&Te==="input"&&(H?Oe={type:void 0,minRows:H,maxRows:H,...Oe}:Oe={type:void 0,maxRows:E,minRows:O,...Oe},Te=ITe);const Me=et=>{xe(et.animationName==="mui-auto-fill-cancel"?le.current:{value:"x"})};y.useEffect(()=>{me&&me.setAdornedStart(!!ae)},[me,ae]);const We={...r,color:we.color||"primary",disabled:we.disabled,endAdornment:m,error:we.error,focused:we.focused,formControl:me,fullWidth:v,hiddenLabel:we.hiddenLabel,multiline:k,size:we.size,startAdornment:ae,type:Z},Ve=ATe(We),Qe=X.root||c.Root||DI,ut=q.root||u.root||{},nt=X.input||c.Input||NI;return Oe={...Oe,...q.input??u.input},$.jsxs(y.Fragment,{children:[!p&&typeof G3=="function"&&(W3||(W3=$.jsx(G3,{}))),$.jsxs(Qe,{...ut,ref:n,onClick:ye,...te,...!Hy(Qe)&&{ownerState:{...We,...ut.ownerState}},className:de(Ve.root,ut.className,s,z&&"MuiInputBase-readOnly"),children:[ae,$.jsx($I.Provider,{value:null,children:$.jsx(nt,{"aria-invalid":we.error,"aria-describedby":o,autoComplete:i,autoFocus:a,defaultValue:d,disabled:we.disabled,id:w,onAnimationStart:Me,name:A,placeholder:D,readOnly:z,required:we.required,rows:H,value:pe,onKeyDown:j,onKeyUp:_,type:Z,...Oe,...!Hy(nt)&&{as:Te,ownerState:{...We,...Oe.ownerState}},ref:fe,className:de(Ve.input,Oe.className,z&&"MuiInputBase-readOnly"),onBlur:Re,onChange:_e,onFocus:Ie})}),m,F?F({...we,startAdornment:ae}):null]})]})});function $Te(e){return tt("MuiInput",e)}const Vd={...Va,...ot("MuiInput",["root","underline","input"])};function RTe(e){return tt("MuiOutlinedInput",e)}const _s={...Va,...ot("MuiOutlinedInput",["root","notchedOutline","input"])};function _Te(e){return tt("MuiFilledInput",e)}const Ha={...Va,...ot("MuiFilledInput",["root","underline","input","adornedStart","adornedEnd","sizeSmall","multiline","hiddenLabel"])},cZ=lt($.jsx("path",{d:"M7 10l5 5 5-5z"}),"ArrowDropDown");function DTe(e){return tt("MuiAutocomplete",e)}const pn=ot("MuiAutocomplete",["root","expanded","fullWidth","focused","focusVisible","tag","tagSizeSmall","tagSizeMedium","hasPopupIcon","hasClearIcon","inputRoot","input","inputFocused","endAdornment","clearIndicator","popupIndicator","popupIndicatorOpen","popper","popperDisablePortal","paper","listbox","loading","noOptions","option","groupLabel","groupUl"]);var q3,K3;const NTe=e=>{const{classes:t,disablePortal:n,expanded:r,focused:o,fullWidth:i,hasClearIcon:a,hasPopupIcon:s,inputFocused:l,popupOpen:c,size:u}=e,d={root:["root",r&&"expanded",o&&"focused",i&&"fullWidth",a&&"hasClearIcon",s&&"hasPopupIcon"],inputRoot:["inputRoot"],input:["input",l&&"inputFocused"],tag:["tag",`tagSize${Ce(u)}`],endAdornment:["endAdornment"],clearIndicator:["clearIndicator"],popupIndicator:["popupIndicator",c&&"popupIndicatorOpen"],popper:["popper",n&&"popperDisablePortal"],paper:["paper"],listbox:["listbox"],loading:["loading"],noOptions:["noOptions"],option:["option"],groupLabel:["groupLabel"],groupUl:["groupUl"]};return rt(d,DTe,t)},LTe=oe("div",{name:"MuiAutocomplete",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e,{fullWidth:r,hasClearIcon:o,hasPopupIcon:i,inputFocused:a,size:s}=n;return[{[`& .${pn.tag}`]:t.tag},{[`& .${pn.tag}`]:t[`tagSize${Ce(s)}`]},{[`& .${pn.inputRoot}`]:t.inputRoot},{[`& .${pn.input}`]:t.input},{[`& .${pn.input}`]:a&&t.inputFocused},t.root,r&&t.fullWidth,i&&t.hasPopupIcon,o&&t.hasClearIcon]}})({[`&.${pn.focused} .${pn.clearIndicator}`]:{visibility:"visible"},"@media (pointer: fine)":{[`&:hover .${pn.clearIndicator}`]:{visibility:"visible"}},[`& .${pn.tag}`]:{margin:3,maxWidth:"calc(100% - 6px)"},[`& .${pn.inputRoot}`]:{[`.${pn.hasPopupIcon}&, .${pn.hasClearIcon}&`]:{paddingRight:30},[`.${pn.hasPopupIcon}.${pn.hasClearIcon}&`]:{paddingRight:56},[`& .${pn.input}`]:{width:0,minWidth:30}},[`& .${Vd.root}`]:{paddingBottom:1,"& .MuiInput-input":{padding:"4px 4px 4px 0px"}},[`& .${Vd.root}.${Va.sizeSmall}`]:{[`& .${Vd.input}`]:{padding:"2px 4px 3px 0"}},[`& .${_s.root}`]:{padding:9,[`.${pn.hasPopupIcon}&, .${pn.hasClearIcon}&`]:{paddingRight:39},[`.${pn.hasPopupIcon}.${pn.hasClearIcon}&`]:{paddingRight:65},[`& .${pn.input}`]:{padding:"7.5px 4px 7.5px 5px"},[`& .${pn.endAdornment}`]:{right:9}},[`& .${_s.root}.${Va.sizeSmall}`]:{paddingTop:6,paddingBottom:6,paddingLeft:6,[`& .${pn.input}`]:{padding:"2.5px 4px 2.5px 8px"}},[`& .${Ha.root}`]:{paddingTop:19,paddingLeft:8,[`.${pn.hasPopupIcon}&, .${pn.hasClearIcon}&`]:{paddingRight:39},[`.${pn.hasPopupIcon}.${pn.hasClearIcon}&`]:{paddingRight:65},[`& .${Ha.input}`]:{padding:"7px 4px"},[`& .${pn.endAdornment}`]:{right:9}},[`& .${Ha.root}.${Va.sizeSmall}`]:{paddingBottom:1,[`& .${Ha.input}`]:{padding:"2.5px 4px"}},[`& .${Va.hiddenLabel}`]:{paddingTop:8},[`& .${Ha.root}.${Va.hiddenLabel}`]:{paddingTop:0,paddingBottom:0,[`& .${pn.input}`]:{paddingTop:16,paddingBottom:17}},[`& .${Ha.root}.${Va.hiddenLabel}.${Va.sizeSmall}`]:{[`& .${pn.input}`]:{paddingTop:8,paddingBottom:9}},[`& .${pn.input}`]:{flexGrow:1,textOverflow:"ellipsis",opacity:0},variants:[{props:{fullWidth:!0},style:{width:"100%"}},{props:{size:"small"},style:{[`& .${pn.tag}`]:{margin:2,maxWidth:"calc(100% - 4px)"}}},{props:{inputFocused:!0},style:{[`& .${pn.input}`]:{opacity:1}}},{props:{multiple:!0},style:{[`& .${pn.inputRoot}`]:{flexWrap:"wrap"}}}]}),FTe=oe("div",{name:"MuiAutocomplete",slot:"EndAdornment",overridesResolver:(e,t)=>t.endAdornment})({position:"absolute",right:0,top:"50%",transform:"translate(0, -50%)"}),jTe=oe(kn,{name:"MuiAutocomplete",slot:"ClearIndicator",overridesResolver:(e,t)=>t.clearIndicator})({marginRight:-2,padding:4,visibility:"hidden"}),BTe=oe(kn,{name:"MuiAutocomplete",slot:"PopupIndicator",overridesResolver:({ownerState:e},t)=>({...t.popupIndicator,...e.popupOpen&&t.popupIndicatorOpen})})({padding:2,marginRight:-2,variants:[{props:{popupOpen:!0},style:{transform:"rotate(180deg)"}}]}),zTe=oe(Hf,{name:"MuiAutocomplete",slot:"Popper",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[{[`& .${pn.option}`]:t.option},t.popper,n.disablePortal&&t.popperDisablePortal]}})(Ze(({theme:e})=>({zIndex:(e.vars||e).zIndex.modal,variants:[{props:{disablePortal:!0},style:{position:"absolute"}}]}))),VTe=oe(uo,{name:"MuiAutocomplete",slot:"Paper",overridesResolver:(e,t)=>t.paper})(Ze(({theme:e})=>({...e.typography.body1,overflow:"auto"}))),HTe=oe("div",{name:"MuiAutocomplete",slot:"Loading",overridesResolver:(e,t)=>t.loading})(Ze(({theme:e})=>({color:(e.vars||e).palette.text.secondary,padding:"14px 16px"}))),UTe=oe("div",{name:"MuiAutocomplete",slot:"NoOptions",overridesResolver:(e,t)=>t.noOptions})(Ze(({theme:e})=>({color:(e.vars||e).palette.text.secondary,padding:"14px 16px"}))),WTe=oe("div",{name:"MuiAutocomplete",slot:"Listbox",overridesResolver:(e,t)=>t.listbox})(Ze(({theme:e})=>({listStyle:"none",margin:0,padding:"8px 0",maxHeight:"40vh",overflow:"auto",position:"relative",[`& .${pn.option}`]:{minHeight:48,display:"flex",overflow:"hidden",justifyContent:"flex-start",alignItems:"center",cursor:"pointer",paddingTop:6,boxSizing:"border-box",outline:"0",WebkitTapHighlightColor:"transparent",paddingBottom:6,paddingLeft:16,paddingRight:16,[e.breakpoints.up("sm")]:{minHeight:"auto"},[`&.${pn.focused}`]:{backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},'&[aria-disabled="true"]':{opacity:(e.vars||e).palette.action.disabledOpacity,pointerEvents:"none"},[`&.${pn.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},'&[aria-selected="true"]':{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:mt(e.palette.primary.main,e.palette.action.selectedOpacity),[`&.${pn.focused}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:mt(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(e.vars||e).palette.action.selected}},[`&.${pn.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:mt(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}}}}))),GTe=oe(p_,{name:"MuiAutocomplete",slot:"GroupLabel",overridesResolver:(e,t)=>t.groupLabel})(Ze(({theme:e})=>({backgroundColor:(e.vars||e).palette.background.paper,top:-8}))),qTe=oe("ul",{name:"MuiAutocomplete",slot:"GroupUl",overridesResolver:(e,t)=>t.groupUl})({padding:0,[`& .${pn.option}`]:{paddingLeft:24}}),oc=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiAutocomplete"}),{autoComplete:o=!1,autoHighlight:i=!1,autoSelect:a=!1,blurOnSelect:s=!1,ChipProps:l,className:c,clearIcon:u=q3||(q3=$.jsx(QJ,{fontSize:"small"})),clearOnBlur:d=!r.freeSolo,clearOnEscape:f=!1,clearText:p="Clear",closeText:m="Close",componentsProps:g,defaultValue:v=r.multiple?[]:null,disableClearable:w=!1,disableCloseOnSelect:x=!1,disabled:S=!1,disabledItemsFocusable:P=!1,disableListWrap:T=!1,disablePortal:E=!1,filterOptions:O,filterSelectedOptions:k=!1,forcePopupIcon:A="auto",freeSolo:I=!1,fullWidth:R=!1,getLimitTagsText:N=On=>`+${On}`,getOptionDisabled:L,getOptionKey:j,getOptionLabel:_,isOptionEqualToValue:D,groupBy:z,handleHomeEndKeys:F=!r.freeSolo,id:H,includeInputInList:U=!1,inputValue:q,limitTags:X=-1,ListboxComponent:ae,ListboxProps:Z,loading:K=!1,loadingText:te="Loading…",multiple:pe=!1,noOptionsText:ie="No options",onChange:le,onClose:re,onHighlightChange:fe,onInputChange:ee,onOpen:ce,open:me,openOnFocus:we=!1,openText:ge="Open",options:Se,PaperComponent:xe,PopperComponent:Ie,popupIcon:Re=K3||(K3=$.jsx(cZ,{})),readOnly:_e=!1,renderGroup:ye,renderInput:Te,renderOption:Oe,renderTags:Me,selectOnFocus:We=!r.freeSolo,size:Ve="medium",slots:Qe={},slotProps:ut={},value:nt,...et}=r,{getRootProps:yt,getInputProps:wn,getInputLabelProps:Ke,getPopupIndicatorProps:$e,getClearProps:Xe,getTagProps:bt,getListboxProps:Vt,getOptionProps:Ot,value:un,dirty:jn,expanded:Wn,id:Eo,popupOpen:Kr,focused:Ii,focusedTag:ys,anchorEl:Wt,setAnchorEl:Xo,inputValue:ym,groupedOptions:pd}=nPe({...r,componentName:"Autocomplete"}),tu=!w&&!S&&jn&&!_e,lp=(!I||A===!0)&&A!==!1,{onMouseDown:cp}=wn(),{ref:$b,...vm}=Vt(),up=_||(On=>On.label??On),Fo={...r,disablePortal:E,expanded:Wn,focused:Ii,fullWidth:R,getOptionLabel:up,hasClearIcon:tu,hasPopupIcon:lp,inputFocused:ys===-1,popupOpen:Kr,size:Ve},Yr=NTe(Fo),Sl={slots:{paper:xe,popper:Ie,...Qe},slotProps:{chip:l,listbox:Z,...g,...ut}},[He,Ne]=hr("listbox",{elementType:WTe,externalForwardedProps:Sl,ownerState:Fo,className:Yr.listbox,additionalProps:vm,ref:$b}),[wt,en]=hr("paper",{elementType:uo,externalForwardedProps:Sl,ownerState:Fo,className:Yr.paper}),[sn,Rr]=hr("popper",{elementType:Hf,externalForwardedProps:Sl,ownerState:Fo,className:Yr.popper,additionalProps:{disablePortal:E,style:{width:Wt?Wt.clientWidth:null},role:"presentation",anchorEl:Wt,open:Kr}});let Gn;if(pe&&un.length>0){const On=vs=>({className:Yr.tag,disabled:S,...bt(vs)});Me?Gn=Me(un,On,Fo):Gn=un.map((vs,uc)=>{const{key:fp,...TM}=On({index:uc});return $.jsx(kh,{label:up(vs),size:Ve,...TM,...Sl.slotProps.chip},fp)})}if(X>-1&&Array.isArray(Gn)){const On=Gn.length-X;!Ii&&On>0&&(Gn=Gn.splice(0,X),Gn.push($.jsx("span",{className:Yr.tag,children:N(On)},Gn.length)))}const nu=ye||(On=>$.jsxs("li",{children:[$.jsx(GTe,{className:Yr.groupLabel,ownerState:Fo,component:"div",children:On.group}),$.jsx(qTe,{className:Yr.groupUl,ownerState:Fo,children:On.children})]},On.key)),bm=Oe||((On,vs)=>{const{key:uc,...fp}=On;return $.jsx("li",{...fp,children:up(vs)},uc)}),x1=(On,vs)=>{const uc=Ot({option:On,index:vs});return bm({...uc,className:Yr.option},On,{selected:uc["aria-selected"],index:vs,inputValue:ym},Fo)},wm=Sl.slotProps.clearIndicator,xm=Sl.slotProps.popupIndicator,Sm=On=>$.jsx(zTe,{as:sn,...Rr,children:$.jsx(VTe,{as:wt,...en,children:On})});let dp=null;return pd.length>0?dp=Sm($.jsx(He,{as:ae,...Ne,children:pd.map((On,vs)=>z?nu({key:On.key,group:On.group,children:On.options.map((uc,fp)=>x1(uc,On.index+fp))}):x1(On,vs))})):K&&pd.length===0?dp=Sm($.jsx(HTe,{className:Yr.loading,ownerState:Fo,children:te})):pd.length===0&&!I&&!K&&(dp=Sm($.jsx(UTe,{className:Yr.noOptions,ownerState:Fo,role:"presentation",onMouseDown:On=>{On.preventDefault()},children:ie}))),$.jsxs(y.Fragment,{children:[$.jsx(LTe,{ref:n,className:de(Yr.root,c),ownerState:Fo,...yt(et),children:Te({id:Eo,disabled:S,fullWidth:!0,size:Ve==="small"?"small":void 0,InputLabelProps:Ke(),InputProps:{ref:Xo,className:Yr.inputRoot,startAdornment:Gn,onMouseDown:On=>{On.target===On.currentTarget&&cp(On)},...(tu||lp)&&{endAdornment:$.jsxs(FTe,{className:Yr.endAdornment,ownerState:Fo,children:[tu?$.jsx(jTe,{...Xe(),"aria-label":p,title:p,ownerState:Fo,...wm,className:de(Yr.clearIndicator,wm==null?void 0:wm.className),children:u}):null,lp?$.jsx(BTe,{...$e(),disabled:S,"aria-label":Kr?m:ge,title:Kr?m:ge,ownerState:Fo,...xm,className:de(Yr.popupIndicator,xm==null?void 0:xm.className),children:Re}):null]})}},inputProps:{className:Yr.input,disabled:S,readOnly:_e,...wn()}})}),Wt?dp:null]})}),KTe=lt($.jsx("path",{d:"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"}),"Person");function YTe(e){return tt("MuiAvatar",e)}const XTe=ot("MuiAvatar",["root","colorDefault","circular","rounded","square","img","fallback"]),QTe=e=>{const{classes:t,variant:n,colorDefault:r}=e;return rt({root:["root",n,r&&"colorDefault"],img:["img"],fallback:["fallback"]},YTe,t)},JTe=oe("div",{name:"MuiAvatar",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],n.colorDefault&&t.colorDefault]}})(Ze(({theme:e})=>({position:"relative",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,width:40,height:40,fontFamily:e.typography.fontFamily,fontSize:e.typography.pxToRem(20),lineHeight:1,borderRadius:"50%",overflow:"hidden",userSelect:"none",variants:[{props:{variant:"rounded"},style:{borderRadius:(e.vars||e).shape.borderRadius}},{props:{variant:"square"},style:{borderRadius:0}},{props:{colorDefault:!0},style:{color:(e.vars||e).palette.background.default,...e.vars?{backgroundColor:e.vars.palette.Avatar.defaultBg}:{backgroundColor:e.palette.grey[400],...e.applyStyles("dark",{backgroundColor:e.palette.grey[600]})}}}]}))),ZTe=oe("img",{name:"MuiAvatar",slot:"Img",overridesResolver:(e,t)=>t.img})({width:"100%",height:"100%",textAlign:"center",objectFit:"cover",color:"transparent",textIndent:1e4}),eEe=oe(KTe,{name:"MuiAvatar",slot:"Fallback",overridesResolver:(e,t)=>t.fallback})({width:"75%",height:"75%"});function tEe({crossOrigin:e,referrerPolicy:t,src:n,srcSet:r}){const[o,i]=y.useState(!1);return y.useEffect(()=>{if(!n&&!r)return;i(!1);let a=!0;const s=new Image;return s.onload=()=>{a&&i("loaded")},s.onerror=()=>{a&&i("error")},s.crossOrigin=e,s.referrerPolicy=t,s.src=n,r&&(s.srcset=r),()=>{a=!1}},[e,t,n,r]),o}const ic=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiAvatar"}),{alt:o,children:i,className:a,component:s="div",slots:l={},slotProps:c={},imgProps:u,sizes:d,src:f,srcSet:p,variant:m="circular",...g}=r;let v=null;const w=tEe({...u,src:f,srcSet:p}),x=f||p,S=x&&w!=="error",P={...r,colorDefault:!S,component:s,variant:m};delete P.ownerState;const T=QTe(P),[E,O]=hr("img",{className:T.img,elementType:ZTe,externalForwardedProps:{slots:l,slotProps:{img:{...u,...c.img}}},additionalProps:{alt:o,src:f,srcSet:p,sizes:d},ownerState:P});return S?v=$.jsx(E,{...O}):i||i===0?v=i:x&&o?v=o[0]:v=$.jsx(eEe,{ownerState:P,className:T.fallback}),$.jsx(JTe,{as:s,className:de(T.root,a),ref:n,...g,ownerState:P,children:v})});function nEe(e){return tt("MuiAvatarGroup",e)}const rEe=ot("MuiAvatarGroup",["root","avatar"]),Y3={small:-16,medium:-8},oEe=e=>{const{classes:t}=e;return rt({root:["root"],avatar:["avatar"]},nEe,t)},iEe=oe("div",{name:"MuiAvatarGroup",slot:"Root",overridesResolver:(e,t)=>({[`& .${rEe.avatar}`]:t.avatar,...t.root})})(Ze(({theme:e})=>({display:"flex",flexDirection:"row-reverse",[`& .${XTe.root}`]:{border:`2px solid ${(e.vars||e).palette.background.default}`,boxSizing:"content-box",marginLeft:"var(--AvatarGroup-spacing, -8px)","&:last-child":{marginLeft:0}}}))),aEe=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiAvatarGroup"}),{children:o,className:i,component:a="div",componentsProps:s,max:l=5,renderSurplus:c,slotProps:u={},slots:d={},spacing:f="medium",total:p,variant:m="circular",...g}=r;let v=l<2?2:l;const w={...r,max:l,spacing:f,component:a,variant:m},x=oEe(w),S=y.Children.toArray(o).filter(N=>y.isValidElement(N)),P=p||S.length;P===v&&(v+=1),v=Math.min(P+1,v);const T=Math.min(S.length,v-1),E=Math.max(P-v,P-T,0),O=c?c(E):`+${E}`,k=w.spacing&&Y3[w.spacing]!==void 0?Y3[w.spacing]:-w.spacing||-8,A={slots:d,slotProps:{surplus:u.additionalAvatar??(s==null?void 0:s.additionalAvatar),...s,...u}},[I,R]=hr("surplus",{elementType:ic,externalForwardedProps:A,className:x.avatar,ownerState:w,additionalProps:{variant:m}});return $.jsxs(iEe,{as:a,ownerState:w,className:de(x.root,i),ref:n,...g,style:{"--AvatarGroup-spacing":k?`${k}px`:void 0,...g.style},children:[E?$.jsx(I,{...R,children:O}):null,S.slice(0,T).reverse().map(N=>y.cloneElement(N,{className:de(N.props.className,x.avatar),variant:N.props.variant||m}))]})}),sEe={entering:{opacity:1},entered:{opacity:1}},jv=y.forwardRef(function(t,n){const r=Ei(),o={enter:r.transitions.duration.enteringScreen,exit:r.transitions.duration.leavingScreen},{addEndListener:i,appear:a=!0,children:s,easing:l,in:c,onEnter:u,onEntered:d,onEntering:f,onExit:p,onExited:m,onExiting:g,style:v,timeout:w=o,TransitionComponent:x=ps,...S}=t,P=y.useRef(null),T=Cr(P,Lf(s),n),E=j=>_=>{if(j){const D=P.current;_===void 0?j(D):j(D,_)}},O=E(f),k=E((j,_)=>{NF(j);const D=If({style:v,timeout:w,easing:l},{mode:"enter"});j.style.webkitTransition=r.transitions.create("opacity",D),j.style.transition=r.transitions.create("opacity",D),u&&u(j,_)}),A=E(d),I=E(g),R=E(j=>{const _=If({style:v,timeout:w,easing:l},{mode:"exit"});j.style.webkitTransition=r.transitions.create("opacity",_),j.style.transition=r.transitions.create("opacity",_),p&&p(j)}),N=E(m),L=j=>{i&&i(P.current,j)};return $.jsx(x,{appear:a,in:c,nodeRef:P,onEnter:k,onEntered:A,onEntering:O,onExit:R,onExited:N,onExiting:I,addEndListener:L,timeout:w,...S,children:(j,_)=>y.cloneElement(s,{style:{opacity:0,visibility:j==="exited"&&!c?"hidden":void 0,...sEe[j],...v,...s.props.style},ref:T,..._})})});function lEe(e){return tt("MuiBackdrop",e)}ot("MuiBackdrop",["root","invisible"]);const cEe=e=>{const{ownerState:t,...n}=e;return n},uEe=e=>{const{classes:t,invisible:n}=e;return rt({root:["root",n&&"invisible"]},lEe,t)},dEe=oe("div",{name:"MuiBackdrop",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.invisible&&t.invisible]}})({position:"fixed",display:"flex",alignItems:"center",justifyContent:"center",right:0,bottom:0,top:0,left:0,backgroundColor:"rgba(0, 0, 0, 0.5)",WebkitTapHighlightColor:"transparent",variants:[{props:{invisible:!0},style:{backgroundColor:"transparent"}}]}),uZ=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiBackdrop"}),{children:o,className:i,component:a="div",invisible:s=!1,open:l,components:c={},componentsProps:u={},slotProps:d={},slots:f={},TransitionComponent:p,transitionDuration:m,...g}=r,v={...r,component:a,invisible:s},w=uEe(v),x={transition:p,root:c.Root,...f},S={...u,...d},P={slots:x,slotProps:S},[T,E]=hr("root",{elementType:dEe,externalForwardedProps:P,className:de(w.root,i),ownerState:v}),[O,k]=hr("transition",{elementType:jv,externalForwardedProps:P,ownerState:v}),A=cEe(k);return $.jsx(O,{in:l,timeout:m,...g,...A,children:$.jsx(T,{"aria-hidden":!0,...E,classes:w,ref:n,children:o})})});function fEe(e){const{badgeContent:t,invisible:n=!1,max:r=99,showZero:o=!1}=e,i=NL({badgeContent:t,max:r});let a=n;n===!1&&t===0&&!o&&(a=!0);const{badgeContent:s,max:l=r}=a?i:e,c=s&&Number(s)>l?`${l}+`:s;return{badgeContent:s,invisible:a,max:l,displayValue:c}}function pEe(e){return tt("MuiBadge",e)}const Pd=ot("MuiBadge",["root","badge","dot","standard","anchorOriginTopRight","anchorOriginBottomRight","anchorOriginTopLeft","anchorOriginBottomLeft","invisible","colorError","colorInfo","colorPrimary","colorSecondary","colorSuccess","colorWarning","overlapRectangular","overlapCircular","anchorOriginTopLeftCircular","anchorOriginTopLeftRectangular","anchorOriginTopRightCircular","anchorOriginTopRightRectangular","anchorOriginBottomLeftCircular","anchorOriginBottomLeftRectangular","anchorOriginBottomRightCircular","anchorOriginBottomRightRectangular"]),y$=10,v$=4,hEe=e=>{const{color:t,anchorOrigin:n,invisible:r,overlap:o,variant:i,classes:a={}}=e,s={root:["root"],badge:["badge",i,r&&"invisible",`anchorOrigin${Ce(n.vertical)}${Ce(n.horizontal)}`,`anchorOrigin${Ce(n.vertical)}${Ce(n.horizontal)}${Ce(o)}`,`overlap${Ce(o)}`,t!=="default"&&`color${Ce(t)}`]};return rt(s,pEe,a)},mEe=oe("span",{name:"MuiBadge",slot:"Root",overridesResolver:(e,t)=>t.root})({position:"relative",display:"inline-flex",verticalAlign:"middle",flexShrink:0}),gEe=oe("span",{name:"MuiBadge",slot:"Badge",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.badge,t[n.variant],t[`anchorOrigin${Ce(n.anchorOrigin.vertical)}${Ce(n.anchorOrigin.horizontal)}${Ce(n.overlap)}`],n.color!=="default"&&t[`color${Ce(n.color)}`],n.invisible&&t.invisible]}})(Ze(({theme:e})=>({display:"flex",flexDirection:"row",flexWrap:"wrap",justifyContent:"center",alignContent:"center",alignItems:"center",position:"absolute",boxSizing:"border-box",fontFamily:e.typography.fontFamily,fontWeight:e.typography.fontWeightMedium,fontSize:e.typography.pxToRem(12),minWidth:y$*2,lineHeight:1,padding:"0 6px",height:y$*2,borderRadius:y$,zIndex:1,transition:e.transitions.create("transform",{easing:e.transitions.easing.easeInOut,duration:e.transitions.duration.enteringScreen}),variants:[...Object.entries(e.palette).filter(zn(["contrastText"])).map(([t])=>({props:{color:t},style:{backgroundColor:(e.vars||e).palette[t].main,color:(e.vars||e).palette[t].contrastText}})),{props:{variant:"dot"},style:{borderRadius:v$,height:v$*2,minWidth:v$*2,padding:0}},{props:({ownerState:t})=>t.anchorOrigin.vertical==="top"&&t.anchorOrigin.horizontal==="right"&&t.overlap==="rectangular",style:{top:0,right:0,transform:"scale(1) translate(50%, -50%)",transformOrigin:"100% 0%",[`&.${Pd.invisible}`]:{transform:"scale(0) translate(50%, -50%)"}}},{props:({ownerState:t})=>t.anchorOrigin.vertical==="bottom"&&t.anchorOrigin.horizontal==="right"&&t.overlap==="rectangular",style:{bottom:0,right:0,transform:"scale(1) translate(50%, 50%)",transformOrigin:"100% 100%",[`&.${Pd.invisible}`]:{transform:"scale(0) translate(50%, 50%)"}}},{props:({ownerState:t})=>t.anchorOrigin.vertical==="top"&&t.anchorOrigin.horizontal==="left"&&t.overlap==="rectangular",style:{top:0,left:0,transform:"scale(1) translate(-50%, -50%)",transformOrigin:"0% 0%",[`&.${Pd.invisible}`]:{transform:"scale(0) translate(-50%, -50%)"}}},{props:({ownerState:t})=>t.anchorOrigin.vertical==="bottom"&&t.anchorOrigin.horizontal==="left"&&t.overlap==="rectangular",style:{bottom:0,left:0,transform:"scale(1) translate(-50%, 50%)",transformOrigin:"0% 100%",[`&.${Pd.invisible}`]:{transform:"scale(0) translate(-50%, 50%)"}}},{props:({ownerState:t})=>t.anchorOrigin.vertical==="top"&&t.anchorOrigin.horizontal==="right"&&t.overlap==="circular",style:{top:"14%",right:"14%",transform:"scale(1) translate(50%, -50%)",transformOrigin:"100% 0%",[`&.${Pd.invisible}`]:{transform:"scale(0) translate(50%, -50%)"}}},{props:({ownerState:t})=>t.anchorOrigin.vertical==="bottom"&&t.anchorOrigin.horizontal==="right"&&t.overlap==="circular",style:{bottom:"14%",right:"14%",transform:"scale(1) translate(50%, 50%)",transformOrigin:"100% 100%",[`&.${Pd.invisible}`]:{transform:"scale(0) translate(50%, 50%)"}}},{props:({ownerState:t})=>t.anchorOrigin.vertical==="top"&&t.anchorOrigin.horizontal==="left"&&t.overlap==="circular",style:{top:"14%",left:"14%",transform:"scale(1) translate(-50%, -50%)",transformOrigin:"0% 0%",[`&.${Pd.invisible}`]:{transform:"scale(0) translate(-50%, -50%)"}}},{props:({ownerState:t})=>t.anchorOrigin.vertical==="bottom"&&t.anchorOrigin.horizontal==="left"&&t.overlap==="circular",style:{bottom:"14%",left:"14%",transform:"scale(1) translate(-50%, 50%)",transformOrigin:"0% 100%",[`&.${Pd.invisible}`]:{transform:"scale(0) translate(-50%, 50%)"}}},{props:{invisible:!0},style:{transition:e.transitions.create("transform",{easing:e.transitions.easing.easeInOut,duration:e.transitions.duration.leavingScreen})}}]})));function X3(e){return{vertical:(e==null?void 0:e.vertical)??"top",horizontal:(e==null?void 0:e.horizontal)??"right"}}const yEe=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiBadge"}),{anchorOrigin:o,className:i,classes:a,component:s,components:l={},componentsProps:c={},children:u,overlap:d="rectangular",color:f="default",invisible:p=!1,max:m=99,badgeContent:g,slots:v,slotProps:w,showZero:x=!1,variant:S="standard",...P}=r,{badgeContent:T,invisible:E,max:O,displayValue:k}=fEe({max:m,invisible:p,badgeContent:g,showZero:x}),A=NL({anchorOrigin:X3(o),color:f,overlap:d,variant:S,badgeContent:g}),I=E||T==null&&S!=="dot",{color:R=f,overlap:N=d,anchorOrigin:L,variant:j=S}=I?A:r,_=X3(L),D=j!=="dot"?k:void 0,z={...r,badgeContent:T,invisible:I,max:O,displayValue:D,showZero:x,anchorOrigin:_,color:R,overlap:N,variant:j},F=hEe(z),H=(v==null?void 0:v.root)??l.Root??mEe,U=(v==null?void 0:v.badge)??l.Badge??gEe,q=(w==null?void 0:w.root)??c.root,X=(w==null?void 0:w.badge)??c.badge,ae=Bc({elementType:H,externalSlotProps:q,externalForwardedProps:P,additionalProps:{ref:n,as:s},ownerState:z,className:de(q==null?void 0:q.className,F.root,i)}),Z=Bc({elementType:U,externalSlotProps:X,ownerState:z,className:de(F.badge,X==null?void 0:X.className)});return $.jsxs(H,{...ae,children:[u,$.jsx(U,{...Z,children:D})]})}),vEe=ot("MuiBox",["root"]),bEe=wS(),Rn=t0e({themeId:Kl,defaultTheme:bEe,defaultClassName:vEe.root,generateClassName:nX.generate});function wEe(e){return tt("MuiButton",e)}const Um=ot("MuiButton",["root","text","textInherit","textPrimary","textSecondary","textSuccess","textError","textInfo","textWarning","outlined","outlinedInherit","outlinedPrimary","outlinedSecondary","outlinedSuccess","outlinedError","outlinedInfo","outlinedWarning","contained","containedInherit","containedPrimary","containedSecondary","containedSuccess","containedError","containedInfo","containedWarning","disableElevation","focusVisible","disabled","colorInherit","colorPrimary","colorSecondary","colorSuccess","colorError","colorInfo","colorWarning","textSizeSmall","textSizeMedium","textSizeLarge","outlinedSizeSmall","outlinedSizeMedium","outlinedSizeLarge","containedSizeSmall","containedSizeMedium","containedSizeLarge","sizeMedium","sizeSmall","sizeLarge","fullWidth","startIcon","endIcon","icon","iconSizeSmall","iconSizeMedium","iconSizeLarge"]),dZ=y.createContext({}),fZ=y.createContext(void 0),xEe=e=>{const{color:t,disableElevation:n,fullWidth:r,size:o,variant:i,classes:a}=e,s={root:["root",i,`${i}${Ce(t)}`,`size${Ce(o)}`,`${i}Size${Ce(o)}`,`color${Ce(t)}`,n&&"disableElevation",r&&"fullWidth"],label:["label"],startIcon:["icon","startIcon",`iconSize${Ce(o)}`],endIcon:["icon","endIcon",`iconSize${Ce(o)}`]},l=rt(s,wEe,a);return{...a,...l}},pZ=[{props:{size:"small"},style:{"& > *:nth-of-type(1)":{fontSize:18}}},{props:{size:"medium"},style:{"& > *:nth-of-type(1)":{fontSize:20}}},{props:{size:"large"},style:{"& > *:nth-of-type(1)":{fontSize:22}}}],SEe=oe(Ki,{shouldForwardProp:e=>ci(e)||e==="classes",name:"MuiButton",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],t[`${n.variant}${Ce(n.color)}`],t[`size${Ce(n.size)}`],t[`${n.variant}Size${Ce(n.size)}`],n.color==="inherit"&&t.colorInherit,n.disableElevation&&t.disableElevation,n.fullWidth&&t.fullWidth]}})(Ze(({theme:e})=>{const t=e.palette.mode==="light"?e.palette.grey[300]:e.palette.grey[800],n=e.palette.mode==="light"?e.palette.grey.A100:e.palette.grey[700];return{...e.typography.button,minWidth:64,padding:"6px 16px",border:0,borderRadius:(e.vars||e).shape.borderRadius,transition:e.transitions.create(["background-color","box-shadow","border-color","color"],{duration:e.transitions.duration.short}),"&:hover":{textDecoration:"none"},[`&.${Um.disabled}`]:{color:(e.vars||e).palette.action.disabled},variants:[{props:{variant:"contained"},style:{color:"var(--variant-containedColor)",backgroundColor:"var(--variant-containedBg)",boxShadow:(e.vars||e).shadows[2],"&:hover":{boxShadow:(e.vars||e).shadows[4],"@media (hover: none)":{boxShadow:(e.vars||e).shadows[2]}},"&:active":{boxShadow:(e.vars||e).shadows[8]},[`&.${Um.focusVisible}`]:{boxShadow:(e.vars||e).shadows[6]},[`&.${Um.disabled}`]:{color:(e.vars||e).palette.action.disabled,boxShadow:(e.vars||e).shadows[0],backgroundColor:(e.vars||e).palette.action.disabledBackground}}},{props:{variant:"outlined"},style:{padding:"5px 15px",border:"1px solid currentColor",borderColor:"var(--variant-outlinedBorder, currentColor)",backgroundColor:"var(--variant-outlinedBg)",color:"var(--variant-outlinedColor)",[`&.${Um.disabled}`]:{border:`1px solid ${(e.vars||e).palette.action.disabledBackground}`}}},{props:{variant:"text"},style:{padding:"6px 8px",color:"var(--variant-textColor)",backgroundColor:"var(--variant-textBg)"}},...Object.entries(e.palette).filter(zn()).map(([r])=>({props:{color:r},style:{"--variant-textColor":(e.vars||e).palette[r].main,"--variant-outlinedColor":(e.vars||e).palette[r].main,"--variant-outlinedBorder":e.vars?`rgba(${e.vars.palette[r].mainChannel} / 0.5)`:mt(e.palette[r].main,.5),"--variant-containedColor":(e.vars||e).palette[r].contrastText,"--variant-containedBg":(e.vars||e).palette[r].main,"@media (hover: hover)":{"&:hover":{"--variant-containedBg":(e.vars||e).palette[r].dark,"--variant-textBg":e.vars?`rgba(${e.vars.palette[r].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:mt(e.palette[r].main,e.palette.action.hoverOpacity),"--variant-outlinedBorder":(e.vars||e).palette[r].main,"--variant-outlinedBg":e.vars?`rgba(${e.vars.palette[r].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:mt(e.palette[r].main,e.palette.action.hoverOpacity)}}}})),{props:{color:"inherit"},style:{color:"inherit",borderColor:"currentColor","--variant-containedBg":e.vars?e.vars.palette.Button.inheritContainedBg:t,"@media (hover: hover)":{"&:hover":{"--variant-containedBg":e.vars?e.vars.palette.Button.inheritContainedHoverBg:n,"--variant-textBg":e.vars?`rgba(${e.vars.palette.text.primaryChannel} / ${e.vars.palette.action.hoverOpacity})`:mt(e.palette.text.primary,e.palette.action.hoverOpacity),"--variant-outlinedBg":e.vars?`rgba(${e.vars.palette.text.primaryChannel} / ${e.vars.palette.action.hoverOpacity})`:mt(e.palette.text.primary,e.palette.action.hoverOpacity)}}}},{props:{size:"small",variant:"text"},style:{padding:"4px 5px",fontSize:e.typography.pxToRem(13)}},{props:{size:"large",variant:"text"},style:{padding:"8px 11px",fontSize:e.typography.pxToRem(15)}},{props:{size:"small",variant:"outlined"},style:{padding:"3px 9px",fontSize:e.typography.pxToRem(13)}},{props:{size:"large",variant:"outlined"},style:{padding:"7px 21px",fontSize:e.typography.pxToRem(15)}},{props:{size:"small",variant:"contained"},style:{padding:"4px 10px",fontSize:e.typography.pxToRem(13)}},{props:{size:"large",variant:"contained"},style:{padding:"8px 22px",fontSize:e.typography.pxToRem(15)}},{props:{disableElevation:!0},style:{boxShadow:"none","&:hover":{boxShadow:"none"},[`&.${Um.focusVisible}`]:{boxShadow:"none"},"&:active":{boxShadow:"none"},[`&.${Um.disabled}`]:{boxShadow:"none"}}},{props:{fullWidth:!0},style:{width:"100%"}}]}})),CEe=oe("span",{name:"MuiButton",slot:"StartIcon",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.startIcon,t[`iconSize${Ce(n.size)}`]]}})({display:"inherit",marginRight:8,marginLeft:-4,variants:[{props:{size:"small"},style:{marginLeft:-2}},...pZ]}),PEe=oe("span",{name:"MuiButton",slot:"EndIcon",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.endIcon,t[`iconSize${Ce(n.size)}`]]}})({display:"inherit",marginRight:-4,marginLeft:8,variants:[{props:{size:"small"},style:{marginRight:-2}},...pZ]}),gt=y.forwardRef(function(t,n){const r=y.useContext(dZ),o=y.useContext(fZ),i=Ay(r,t),a=it({props:i,name:"MuiButton"}),{children:s,color:l="primary",component:c="button",className:u,disabled:d=!1,disableElevation:f=!1,disableFocusRipple:p=!1,endIcon:m,focusVisibleClassName:g,fullWidth:v=!1,size:w="medium",startIcon:x,type:S,variant:P="text",...T}=a,E={...a,color:l,component:c,disabled:d,disableElevation:f,disableFocusRipple:p,fullWidth:v,size:w,type:S,variant:P},O=xEe(E),k=x&&$.jsx(CEe,{className:O.startIcon,ownerState:E,children:x}),A=m&&$.jsx(PEe,{className:O.endIcon,ownerState:E,children:m}),I=o||"";return $.jsxs(SEe,{ownerState:E,className:de(r.className,O.root,u,I),component:c,disabled:d,focusRipple:!p,focusVisibleClassName:de(O.focusVisible,g),ref:n,type:S,...T,classes:O,children:[k,s,A]})});function TEe(e){return tt("MuiButtonGroup",e)}const cn=ot("MuiButtonGroup",["root","contained","outlined","text","disableElevation","disabled","firstButton","fullWidth","horizontal","vertical","colorPrimary","colorSecondary","grouped","groupedHorizontal","groupedVertical","groupedText","groupedTextHorizontal","groupedTextVertical","groupedTextPrimary","groupedTextSecondary","groupedOutlined","groupedOutlinedHorizontal","groupedOutlinedVertical","groupedOutlinedPrimary","groupedOutlinedSecondary","groupedContained","groupedContainedHorizontal","groupedContainedVertical","groupedContainedPrimary","groupedContainedSecondary","lastButton","middleButton"]),EEe=(e,t)=>{const{ownerState:n}=e;return[{[`& .${cn.grouped}`]:t.grouped},{[`& .${cn.grouped}`]:t[`grouped${Ce(n.orientation)}`]},{[`& .${cn.grouped}`]:t[`grouped${Ce(n.variant)}`]},{[`& .${cn.grouped}`]:t[`grouped${Ce(n.variant)}${Ce(n.orientation)}`]},{[`& .${cn.grouped}`]:t[`grouped${Ce(n.variant)}${Ce(n.color)}`]},{[`& .${cn.firstButton}`]:t.firstButton},{[`& .${cn.lastButton}`]:t.lastButton},{[`& .${cn.middleButton}`]:t.middleButton},t.root,t[n.variant],n.disableElevation===!0&&t.disableElevation,n.fullWidth&&t.fullWidth,n.orientation==="vertical"&&t.vertical]},OEe=e=>{const{classes:t,color:n,disabled:r,disableElevation:o,fullWidth:i,orientation:a,variant:s}=e,l={root:["root",s,a,i&&"fullWidth",o&&"disableElevation",`color${Ce(n)}`],grouped:["grouped",`grouped${Ce(a)}`,`grouped${Ce(s)}`,`grouped${Ce(s)}${Ce(a)}`,`grouped${Ce(s)}${Ce(n)}`,r&&"disabled"],firstButton:["firstButton"],lastButton:["lastButton"],middleButton:["middleButton"]};return rt(l,TEe,t)},IEe=oe("div",{name:"MuiButtonGroup",slot:"Root",overridesResolver:EEe})(Ze(({theme:e})=>({display:"inline-flex",borderRadius:(e.vars||e).shape.borderRadius,variants:[{props:{variant:"contained"},style:{boxShadow:(e.vars||e).shadows[2]}},{props:{disableElevation:!0},style:{boxShadow:"none"}},{props:{fullWidth:!0},style:{width:"100%"}},{props:{orientation:"vertical"},style:{flexDirection:"column",[`& .${cn.lastButton},& .${cn.middleButton}`]:{borderTopRightRadius:0,borderTopLeftRadius:0},[`& .${cn.firstButton},& .${cn.middleButton}`]:{borderBottomRightRadius:0,borderBottomLeftRadius:0}}},{props:{orientation:"horizontal"},style:{[`& .${cn.firstButton},& .${cn.middleButton}`]:{borderTopRightRadius:0,borderBottomRightRadius:0},[`& .${cn.lastButton},& .${cn.middleButton}`]:{borderTopLeftRadius:0,borderBottomLeftRadius:0}}},{props:{variant:"text",orientation:"horizontal"},style:{[`& .${cn.firstButton},& .${cn.middleButton}`]:{borderRight:e.vars?`1px solid rgba(${e.vars.palette.common.onBackgroundChannel} / 0.23)`:`1px solid ${e.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)"}`,[`&.${cn.disabled}`]:{borderRight:`1px solid ${(e.vars||e).palette.action.disabled}`}}}},{props:{variant:"text",orientation:"vertical"},style:{[`& .${cn.firstButton},& .${cn.middleButton}`]:{borderBottom:e.vars?`1px solid rgba(${e.vars.palette.common.onBackgroundChannel} / 0.23)`:`1px solid ${e.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)"}`,[`&.${cn.disabled}`]:{borderBottom:`1px solid ${(e.vars||e).palette.action.disabled}`}}}},...Object.entries(e.palette).filter(zn()).flatMap(([t])=>[{props:{variant:"text",color:t},style:{[`& .${cn.firstButton},& .${cn.middleButton}`]:{borderColor:e.vars?`rgba(${e.vars.palette[t].mainChannel} / 0.5)`:mt(e.palette[t].main,.5)}}}]),{props:{variant:"outlined",orientation:"horizontal"},style:{[`& .${cn.firstButton},& .${cn.middleButton}`]:{borderRightColor:"transparent","&:hover":{borderRightColor:"currentColor"}},[`& .${cn.lastButton},& .${cn.middleButton}`]:{marginLeft:-1}}},{props:{variant:"outlined",orientation:"vertical"},style:{[`& .${cn.firstButton},& .${cn.middleButton}`]:{borderBottomColor:"transparent","&:hover":{borderBottomColor:"currentColor"}},[`& .${cn.lastButton},& .${cn.middleButton}`]:{marginTop:-1}}},{props:{variant:"contained",orientation:"horizontal"},style:{[`& .${cn.firstButton},& .${cn.middleButton}`]:{borderRight:`1px solid ${(e.vars||e).palette.grey[400]}`,[`&.${cn.disabled}`]:{borderRight:`1px solid ${(e.vars||e).palette.action.disabled}`}}}},{props:{variant:"contained",orientation:"vertical"},style:{[`& .${cn.firstButton},& .${cn.middleButton}`]:{borderBottom:`1px solid ${(e.vars||e).palette.grey[400]}`,[`&.${cn.disabled}`]:{borderBottom:`1px solid ${(e.vars||e).palette.action.disabled}`}}}},...Object.entries(e.palette).filter(zn(["dark"])).map(([t])=>({props:{variant:"contained",color:t},style:{[`& .${cn.firstButton},& .${cn.middleButton}`]:{borderColor:(e.vars||e).palette[t].dark}}}))],[`& .${cn.grouped}`]:{minWidth:40,boxShadow:"none",props:{variant:"contained"},style:{"&:hover":{boxShadow:"none"}}}}))),kEe=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiButtonGroup"}),{children:o,className:i,color:a="primary",component:s="div",disabled:l=!1,disableElevation:c=!1,disableFocusRipple:u=!1,disableRipple:d=!1,fullWidth:f=!1,orientation:p="horizontal",size:m="medium",variant:g="outlined",...v}=r,w={...r,color:a,component:s,disabled:l,disableElevation:c,disableFocusRipple:u,disableRipple:d,fullWidth:f,orientation:p,size:m,variant:g},x=OEe(w),S=y.useMemo(()=>({className:x.grouped,color:a,disabled:l,disableElevation:c,disableFocusRipple:u,disableRipple:d,fullWidth:f,size:m,variant:g}),[a,l,c,u,d,f,m,g,x.grouped]),P=yX(o),T=P.length,E=O=>{const k=O===0,A=O===T-1;return k&&A?"":k?x.firstButton:A?x.lastButton:x.middleButton};return $.jsx(IEe,{as:s,role:"group",className:de(x.root,i),ref:n,ownerState:w,...v,children:$.jsx(dZ.Provider,{value:S,children:P.map((O,k)=>$.jsx(fZ.Provider,{value:E(k),children:O},k))})})});function MEe(e){return tt("MuiCard",e)}ot("MuiCard",["root"]);const AEe=e=>{const{classes:t}=e;return rt({root:["root"]},MEe,t)},$Ee=oe(uo,{name:"MuiCard",slot:"Root",overridesResolver:(e,t)=>t.root})({overflow:"hidden"}),Do=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiCard"}),{className:o,raised:i=!1,...a}=r,s={...r,raised:i},l=AEe(s);return $.jsx($Ee,{className:de(l.root,o),elevation:i?8:void 0,ref:n,ownerState:s,...a})});function REe(e){return tt("MuiCardActionArea",e)}const b$=ot("MuiCardActionArea",["root","focusVisible","focusHighlight"]),_Ee=e=>{const{classes:t}=e;return rt({root:["root"],focusHighlight:["focusHighlight"]},REe,t)},DEe=oe(Ki,{name:"MuiCardActionArea",slot:"Root",overridesResolver:(e,t)=>t.root})(Ze(({theme:e})=>({display:"block",textAlign:"inherit",borderRadius:"inherit",width:"100%",[`&:hover .${b$.focusHighlight}`]:{opacity:(e.vars||e).palette.action.hoverOpacity,"@media (hover: none)":{opacity:0}},[`&.${b$.focusVisible} .${b$.focusHighlight}`]:{opacity:(e.vars||e).palette.action.focusOpacity}}))),NEe=oe("span",{name:"MuiCardActionArea",slot:"FocusHighlight",overridesResolver:(e,t)=>t.focusHighlight})(Ze(({theme:e})=>({overflow:"hidden",pointerEvents:"none",position:"absolute",top:0,right:0,bottom:0,left:0,borderRadius:"inherit",opacity:0,backgroundColor:"currentcolor",transition:e.transitions.create("opacity",{duration:e.transitions.duration.short})}))),LEe=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiCardActionArea"}),{children:o,className:i,focusVisibleClassName:a,...s}=r,l=r,c=_Ee(l);return $.jsxs(DEe,{className:de(c.root,i),focusVisibleClassName:de(a,c.focusVisible),ref:n,ownerState:l,...s,children:[o,$.jsx(NEe,{className:c.focusHighlight,ownerState:l})]})});function FEe(e){return tt("MuiCardActions",e)}ot("MuiCardActions",["root","spacing"]);const jEe=e=>{const{classes:t,disableSpacing:n}=e;return rt({root:["root",!n&&"spacing"]},FEe,t)},BEe=oe("div",{name:"MuiCardActions",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,!n.disableSpacing&&t.spacing]}})({display:"flex",alignItems:"center",padding:8,variants:[{props:{disableSpacing:!1},style:{"& > :not(style) ~ :not(style)":{marginLeft:8}}}]}),hs=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiCardActions"}),{disableSpacing:o=!1,className:i,...a}=r,s={...r,disableSpacing:o},l=jEe(s);return $.jsx(BEe,{className:de(l.root,i),ownerState:s,ref:n,...a})});function zEe(e){return tt("MuiCardContent",e)}ot("MuiCardContent",["root"]);const VEe=e=>{const{classes:t}=e;return rt({root:["root"]},zEe,t)},HEe=oe("div",{name:"MuiCardContent",slot:"Root",overridesResolver:(e,t)=>t.root})({padding:16,"&:last-child":{paddingBottom:24}}),xa=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiCardContent"}),{className:o,component:i="div",...a}=r,s={...r,component:i},l=VEe(s);return $.jsx(HEe,{as:i,className:de(l.root,o),ownerState:s,ref:n,...a})});function UEe(e){return tt("MuiCardHeader",e)}const HT=ot("MuiCardHeader",["root","avatar","action","content","title","subheader"]),WEe=e=>{const{classes:t}=e;return rt({root:["root"],avatar:["avatar"],action:["action"],content:["content"],title:["title"],subheader:["subheader"]},UEe,t)},GEe=oe("div",{name:"MuiCardHeader",slot:"Root",overridesResolver:(e,t)=>({[`& .${HT.title}`]:t.title,[`& .${HT.subheader}`]:t.subheader,...t.root})})({display:"flex",alignItems:"center",padding:16}),qEe=oe("div",{name:"MuiCardHeader",slot:"Avatar",overridesResolver:(e,t)=>t.avatar})({display:"flex",flex:"0 0 auto",marginRight:16}),KEe=oe("div",{name:"MuiCardHeader",slot:"Action",overridesResolver:(e,t)=>t.action})({flex:"0 0 auto",alignSelf:"flex-start",marginTop:-4,marginRight:-8,marginBottom:-4}),YEe=oe("div",{name:"MuiCardHeader",slot:"Content",overridesResolver:(e,t)=>t.content})({flex:"1 1 auto",[`.${jT.root}:where(& .${HT.title})`]:{display:"block"},[`.${jT.root}:where(& .${HT.subheader})`]:{display:"block"}}),od=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiCardHeader"}),{action:o,avatar:i,className:a,component:s="div",disableTypography:l=!1,subheader:c,subheaderTypographyProps:u,title:d,titleTypographyProps:f,...p}=r,m={...r,component:s,disableTypography:l},g=WEe(m);let v=d;v!=null&&v.type!==ct&&!l&&(v=$.jsx(ct,{variant:i?"body2":"h5",className:g.title,component:"span",...f,children:v}));let w=c;return w!=null&&w.type!==ct&&!l&&(w=$.jsx(ct,{variant:i?"body2":"body1",className:g.subheader,color:"textSecondary",component:"span",...u,children:w})),$.jsxs(GEe,{className:de(g.root,a),as:s,ref:n,ownerState:m,...p,children:[i&&$.jsx(qEe,{className:g.avatar,ownerState:m,children:i}),$.jsxs(YEe,{className:g.content,ownerState:m,children:[v,w]}),o&&$.jsx(KEe,{className:g.action,ownerState:m,children:o})]})});function XEe(e){return tt("MuiCardMedia",e)}ot("MuiCardMedia",["root","media","img"]);const QEe=e=>{const{classes:t,isMediaComponent:n,isImageComponent:r}=e;return rt({root:["root",n&&"media",r&&"img"]},XEe,t)},JEe=oe("div",{name:"MuiCardMedia",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e,{isMediaComponent:r,isImageComponent:o}=n;return[t.root,r&&t.media,o&&t.img]}})({display:"block",backgroundSize:"cover",backgroundRepeat:"no-repeat",backgroundPosition:"center",variants:[{props:{isMediaComponent:!0},style:{width:"100%"}},{props:{isImageComponent:!0},style:{objectFit:"cover"}}]}),ZEe=["video","audio","picture","iframe","img"],eOe=["picture","img"],Vc=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiCardMedia"}),{children:o,className:i,component:a="div",image:s,src:l,style:c,...u}=r,d=ZEe.includes(a),f=!d&&s?{backgroundImage:`url("${s}")`,...c}:c,p={...r,component:a,isMediaComponent:d,isImageComponent:eOe.includes(a)},m=QEe(p);return $.jsx(JEe,{className:de(m.root,i),as:a,role:!d&&s?"img":void 0,ref:n,style:f,ownerState:p,src:d?s||l:void 0,...u,children:o})});function tOe(e){return tt("PrivateSwitchBase",e)}ot("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);const nOe=e=>{const{classes:t,checked:n,disabled:r,edge:o}=e,i={root:["root",n&&"checked",r&&"disabled",o&&`edge${Ce(o)}`],input:["input"]};return rt(i,tOe,t)},rOe=oe(Ki)({padding:9,borderRadius:"50%",variants:[{props:{edge:"start",size:"small"},style:{marginLeft:-3}},{props:({edge:e,ownerState:t})=>e==="start"&&t.size!=="small",style:{marginLeft:-12}},{props:{edge:"end",size:"small"},style:{marginRight:-3}},{props:({edge:e,ownerState:t})=>e==="end"&&t.size!=="small",style:{marginRight:-12}}]}),oOe=oe("input",{shouldForwardProp:ci})({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}),hZ=y.forwardRef(function(t,n){const{autoFocus:r,checked:o,checkedIcon:i,className:a,defaultChecked:s,disabled:l,disableFocusRipple:c=!1,edge:u=!1,icon:d,id:f,inputProps:p,inputRef:m,name:g,onBlur:v,onChange:w,onFocus:x,readOnly:S,required:P=!1,tabIndex:T,type:E,value:O,...k}=t,[A,I]=ku({controlled:o,default:!!s,name:"SwitchBase",state:"checked"}),R=Ta(),N=H=>{x&&x(H),R&&R.onFocus&&R.onFocus(H)},L=H=>{v&&v(H),R&&R.onBlur&&R.onBlur(H)},j=H=>{if(H.nativeEvent.defaultPrevented)return;const U=H.target.checked;I(U),w&&w(H,U)};let _=l;R&&typeof _>"u"&&(_=R.disabled);const D=E==="checkbox"||E==="radio",z={...t,checked:A,disabled:_,disableFocusRipple:c,edge:u},F=nOe(z);return $.jsxs(rOe,{component:"span",className:de(F.root,a),centerRipple:!0,focusRipple:!c,disabled:_,tabIndex:null,role:void 0,onFocus:N,onBlur:L,ownerState:z,ref:n,...k,children:[$.jsx(oOe,{autoFocus:r,checked:o,defaultChecked:s,className:F.input,disabled:_,id:D?f:void 0,name:g,onChange:j,readOnly:S,ref:m,required:P,ownerState:z,tabIndex:T,type:E,...E==="checkbox"&&O===void 0?{}:{value:O},...p}),A?i:d]})}),iOe=lt($.jsx("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"}),"CheckBoxOutlineBlank"),aOe=lt($.jsx("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckBox"),sOe=lt($.jsx("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"}),"IndeterminateCheckBox");function lOe(e){return tt("MuiCheckbox",e)}const w$=ot("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary","sizeSmall","sizeMedium"]),cOe=e=>{const{classes:t,indeterminate:n,color:r,size:o}=e,i={root:["root",n&&"indeterminate",`color${Ce(r)}`,`size${Ce(o)}`]},a=rt(i,lOe,t);return{...t,...a}},uOe=oe(hZ,{shouldForwardProp:e=>ci(e)||e==="classes",name:"MuiCheckbox",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.indeterminate&&t.indeterminate,t[`size${Ce(n.size)}`],n.color!=="default"&&t[`color${Ce(n.color)}`]]}})(Ze(({theme:e})=>({color:(e.vars||e).palette.text.secondary,variants:[{props:{color:"default",disableRipple:!1},style:{"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.action.activeChannel} / ${e.vars.palette.action.hoverOpacity})`:mt(e.palette.action.active,e.palette.action.hoverOpacity)}}},...Object.entries(e.palette).filter(zn()).map(([t])=>({props:{color:t,disableRipple:!1},style:{"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette[t].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:mt(e.palette[t].main,e.palette.action.hoverOpacity)}}})),...Object.entries(e.palette).filter(zn()).map(([t])=>({props:{color:t},style:{[`&.${w$.checked}, &.${w$.indeterminate}`]:{color:(e.vars||e).palette[t].main},[`&.${w$.disabled}`]:{color:(e.vars||e).palette.action.disabled}}})),{props:{disableRipple:!1},style:{"&:hover":{"@media (hover: none)":{backgroundColor:"transparent"}}}}]}))),dOe=$.jsx(aOe,{}),fOe=$.jsx(iOe,{}),pOe=$.jsx(sOe,{}),hOe=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiCheckbox"}),{checkedIcon:o=dOe,color:i="primary",icon:a=fOe,indeterminate:s=!1,indeterminateIcon:l=pOe,inputProps:c,size:u="medium",disableRipple:d=!1,className:f,...p}=r,m=s?l:a,g=s?l:o,v={...r,disableRipple:d,color:i,indeterminate:s,size:u},w=cOe(v);return $.jsx(uOe,{type:"checkbox",inputProps:{"data-indeterminate":s,...c},icon:y.cloneElement(m,{fontSize:m.props.fontSize??u}),checkedIcon:y.cloneElement(g,{fontSize:g.props.fontSize??u}),ownerState:v,ref:n,className:de(w.root,f),disableRipple:d,...p,classes:w})});function mOe(e){return tt("MuiCircularProgress",e)}ot("MuiCircularProgress",["root","determinate","indeterminate","colorPrimary","colorSecondary","svg","circle","circleDeterminate","circleIndeterminate","circleDisableShrink"]);const Td=44,h_=qc` 0% { transform: rotate(0deg); } @@ -150,7 +175,7 @@ Error generating stack: `+i.message+` 100% { transform: rotate(360deg); } -`)),$pe=Ba(CL||(CL=LC` +`,m_=qc` 0% { stroke-dasharray: 1px, 200px; stroke-dashoffset: 0; @@ -165,11 +190,11 @@ Error generating stack: `+i.message+` stroke-dasharray: 100px, 200px; stroke-dashoffset: -125px; } -`)),Mpe=e=>{const{classes:t,variant:n,color:r,disableShrink:o}=e,i={root:["root",n,`color${ie(r)}`],svg:["svg"],circle:["circle",`circle${ie(n)}`,o&&"circleDisableShrink"]};return de(i,Tpe,t)},Ape=W("span",{name:"MuiCircularProgress",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],t[`color${ie(n.color)}`]]}})(({ownerState:e,theme:t})=>S({display:"inline-block"},e.variant==="determinate"&&{transition:t.transitions.create("transform")},e.color!=="inherit"&&{color:(t.vars||t).palette[e.color].main}),({ownerState:e})=>e.variant==="indeterminate"&&il(SL||(SL=LC` - animation: ${0} 1.4s linear infinite; - `),Ipe)),Rpe=W("svg",{name:"MuiCircularProgress",slot:"Svg",overridesResolver:(e,t)=>t.svg})({display:"block"}),_pe=W("circle",{name:"MuiCircularProgress",slot:"Circle",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.circle,t[`circle${ie(n.variant)}`],n.disableShrink&&t.circleDisableShrink]}})(({ownerState:e,theme:t})=>S({stroke:"currentColor"},e.variant==="determinate"&&{transition:t.transitions.create("stroke-dashoffset")},e.variant==="indeterminate"&&{strokeDasharray:"80px, 200px",strokeDashoffset:0}),({ownerState:e})=>e.variant==="indeterminate"&&!e.disableShrink&&il(PL||(PL=LC` - animation: ${0} 1.4s ease-in-out infinite; - `),$pe)),i8=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiCircularProgress"}),{className:o,color:i="primary",disableShrink:a=!1,size:s=40,style:l,thickness:c=3.6,value:u=0,variant:d="indeterminate"}=r,f=q(r,kpe),p=S({},r,{color:i,disableShrink:a,size:s,thickness:c,value:u,variant:d}),h=Mpe(p),m={},v={},b={};if(d==="determinate"){const y=2*Math.PI*((Ll-c)/2);m.strokeDasharray=y.toFixed(3),b["aria-valuenow"]=Math.round(u),m.strokeDashoffset=`${((100-u)/100*y).toFixed(3)}px`,v.transform="rotate(-90deg)"}return k.jsx(Ape,S({className:Q(h.root,o),style:S({width:s,height:s},v,l),ownerState:p,ref:n,role:"progressbar"},b,f,{children:k.jsx(Rpe,{className:h.svg,ownerState:p,viewBox:`${Ll/2} ${Ll/2} ${Ll} ${Ll}`,children:k.jsx(_pe,{className:h.circle,style:m,ownerState:p,cx:Ll,cy:Ll,r:(Ll-c)/2,fill:"none",strokeWidth:c})})}))}),hl=nre({createStyledComponent:W("div",{name:"MuiContainer",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[`maxWidth${ie(String(n.maxWidth))}`],n.fixed&&t.fixed,n.disableGutters&&t.disableGutters]}}),useThemeProps:e=>Ee({props:e,name:"MuiContainer"})});function Dpe(e){return Se("MuiModal",e)}Pe("MuiModal",["root","hidden","backdrop"]);const Npe=["BackdropComponent","BackdropProps","classes","className","closeAfterTransition","children","container","component","components","componentsProps","disableAutoFocus","disableEnforceFocus","disableEscapeKeyDown","disablePortal","disableRestoreFocus","disableScrollLock","hideBackdrop","keepMounted","onBackdropClick","onClose","onTransitionEnter","onTransitionExited","open","slotProps","slots","theme"],Lpe=e=>{const{open:t,exited:n,classes:r}=e;return de({root:["root",!t&&n&&"hidden"],backdrop:["backdrop"]},Dpe,r)},jpe=W("div",{name:"MuiModal",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,!n.open&&n.exited&&t.hidden]}})(({theme:e,ownerState:t})=>S({position:"fixed",zIndex:(e.vars||e).zIndex.modal,right:0,bottom:0,top:0,left:0},!t.open&&t.exited&&{visibility:"hidden"})),Fpe=W(t8,{name:"MuiModal",slot:"Backdrop",overridesResolver:(e,t)=>t.backdrop})({zIndex:-1}),ph=g.forwardRef(function(t,n){var r,o,i,a,s,l;const c=Ee({name:"MuiModal",props:t}),{BackdropComponent:u=Fpe,BackdropProps:d,className:f,closeAfterTransition:p=!1,children:h,container:m,component:v,components:b={},componentsProps:y={},disableAutoFocus:w=!1,disableEnforceFocus:C=!1,disableEscapeKeyDown:O=!1,disablePortal:P=!1,disableRestoreFocus:E=!1,disableScrollLock:T=!1,hideBackdrop:$=!1,keepMounted:M=!1,onBackdropClick:D,open:L,slotProps:N,slots:R}=c,I=q(c,Npe),A=S({},c,{closeAfterTransition:p,disableAutoFocus:w,disableEnforceFocus:C,disableEscapeKeyDown:O,disablePortal:P,disableRestoreFocus:E,disableScrollLock:T,hideBackdrop:$,keepMounted:M}),{getRootProps:F,getBackdropProps:_,getTransitionProps:j,portalRef:B,isTopModal:U,exited:H,hasTransition:K}=Nce(S({},A,{rootRef:n})),J=S({},A,{exited:H}),oe=Lpe(J),ae={};if(h.props.tabIndex===void 0&&(ae.tabIndex="-1"),K){const{onEnter:te,onExited:fe}=j();ae.onEnter=te,ae.onExited=fe}const Z=(r=(o=R==null?void 0:R.root)!=null?o:b.Root)!=null?r:jpe,ue=(i=(a=R==null?void 0:R.backdrop)!=null?a:b.Backdrop)!=null?i:u,re=(s=N==null?void 0:N.root)!=null?s:y.root,pe=(l=N==null?void 0:N.backdrop)!=null?l:y.backdrop,le=Lo({elementType:Z,externalSlotProps:re,externalForwardedProps:I,getSlotProps:F,additionalProps:{ref:n,as:v},ownerState:J,className:Q(f,re==null?void 0:re.className,oe==null?void 0:oe.root,!J.open&&J.exited&&(oe==null?void 0:oe.hidden))}),G=Lo({elementType:ue,externalSlotProps:pe,additionalProps:d,getSlotProps:te=>_(S({},te,{onClick:fe=>{D&&D(fe),te!=null&&te.onClick&&te.onClick(fe)}})),className:Q(pe==null?void 0:pe.className,d==null?void 0:d.className,oe==null?void 0:oe.backdrop),ownerState:J});return!M&&!L&&(!K||H)?null:k.jsx(FW,{ref:B,container:m,disablePortal:P,children:k.jsxs(Z,S({},le,{children:[!$&&u?k.jsx(ue,S({},G)):null,k.jsx(eA,{disableEnforceFocus:C,disableAutoFocus:w,disableRestoreFocus:E,isEnabled:U,open:L,children:g.cloneElement(h,ae)})]}))})});function Bpe(e){return Se("MuiDialog",e)}const bg=Pe("MuiDialog",["root","scrollPaper","scrollBody","container","paper","paperScrollPaper","paperScrollBody","paperWidthFalse","paperWidthXs","paperWidthSm","paperWidthMd","paperWidthLg","paperWidthXl","paperFullWidth","paperFullScreen"]),a8=g.createContext({}),zpe=["aria-describedby","aria-labelledby","BackdropComponent","BackdropProps","children","className","disableEscapeKeyDown","fullScreen","fullWidth","maxWidth","onBackdropClick","onClick","onClose","open","PaperComponent","PaperProps","scroll","TransitionComponent","transitionDuration","TransitionProps"],Vpe=W(t8,{name:"MuiDialog",slot:"Backdrop",overrides:(e,t)=>t.backdrop})({zIndex:-1}),Hpe=e=>{const{classes:t,scroll:n,maxWidth:r,fullWidth:o,fullScreen:i}=e,a={root:["root"],container:["container",`scroll${ie(n)}`],paper:["paper",`paperScroll${ie(n)}`,`paperWidth${ie(String(r))}`,o&&"paperFullWidth",i&&"paperFullScreen"]};return de(a,Bpe,t)},Upe=W(ph,{name:"MuiDialog",slot:"Root",overridesResolver:(e,t)=>t.root})({"@media print":{position:"absolute !important"}}),Wpe=W("div",{name:"MuiDialog",slot:"Container",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.container,t[`scroll${ie(n.scroll)}`]]}})(({ownerState:e})=>S({height:"100%","@media print":{height:"auto"},outline:0},e.scroll==="paper"&&{display:"flex",justifyContent:"center",alignItems:"center"},e.scroll==="body"&&{overflowY:"auto",overflowX:"hidden",textAlign:"center","&::after":{content:'""',display:"inline-block",verticalAlign:"middle",height:"100%",width:"0"}})),Gpe=W(Kn,{name:"MuiDialog",slot:"Paper",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.paper,t[`scrollPaper${ie(n.scroll)}`],t[`paperWidth${ie(String(n.maxWidth))}`],n.fullWidth&&t.paperFullWidth,n.fullScreen&&t.paperFullScreen]}})(({theme:e,ownerState:t})=>S({margin:32,position:"relative",overflowY:"auto","@media print":{overflowY:"visible",boxShadow:"none"}},t.scroll==="paper"&&{display:"flex",flexDirection:"column",maxHeight:"calc(100% - 64px)"},t.scroll==="body"&&{display:"inline-block",verticalAlign:"middle",textAlign:"left"},!t.maxWidth&&{maxWidth:"calc(100% - 64px)"},t.maxWidth==="xs"&&{maxWidth:e.breakpoints.unit==="px"?Math.max(e.breakpoints.values.xs,444):`max(${e.breakpoints.values.xs}${e.breakpoints.unit}, 444px)`,[`&.${bg.paperScrollBody}`]:{[e.breakpoints.down(Math.max(e.breakpoints.values.xs,444)+32*2)]:{maxWidth:"calc(100% - 64px)"}}},t.maxWidth&&t.maxWidth!=="xs"&&{maxWidth:`${e.breakpoints.values[t.maxWidth]}${e.breakpoints.unit}`,[`&.${bg.paperScrollBody}`]:{[e.breakpoints.down(e.breakpoints.values[t.maxWidth]+32*2)]:{maxWidth:"calc(100% - 64px)"}}},t.fullWidth&&{width:"calc(100% - 64px)"},t.fullScreen&&{margin:0,width:"100%",maxWidth:"100%",height:"100%",maxHeight:"none",borderRadius:0,[`&.${bg.paperScrollBody}`]:{margin:0,maxWidth:"100%"}})),s8=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiDialog"}),o=qn(),i={enter:o.transitions.duration.enteringScreen,exit:o.transitions.duration.leavingScreen},{"aria-describedby":a,"aria-labelledby":s,BackdropComponent:l,BackdropProps:c,children:u,className:d,disableEscapeKeyDown:f=!1,fullScreen:p=!1,fullWidth:h=!1,maxWidth:m="sm",onBackdropClick:v,onClick:b,onClose:y,open:w,PaperComponent:C=Kn,PaperProps:O={},scroll:P="paper",TransitionComponent:E=NC,transitionDuration:T=i,TransitionProps:$}=r,M=q(r,zpe),D=S({},r,{disableEscapeKeyDown:f,fullScreen:p,fullWidth:h,maxWidth:m,scroll:P}),L=Hpe(D),N=g.useRef(),R=_=>{N.current=_.target===_.currentTarget},I=_=>{b&&b(_),N.current&&(N.current=null,v&&v(_),y&&y(_,"backdropClick"))},A=on(s),F=g.useMemo(()=>({titleId:A}),[A]);return k.jsx(Upe,S({className:Q(L.root,d),closeAfterTransition:!0,components:{Backdrop:Vpe},componentsProps:{backdrop:S({transitionDuration:T,as:l},c)},disableEscapeKeyDown:f,onClose:y,open:w,ref:n,onClick:I,ownerState:D},M,{children:k.jsx(E,S({appear:!0,in:w,timeout:T,role:"presentation"},$,{children:k.jsx(Wpe,{className:Q(L.container),onMouseDown:R,ownerState:D,children:k.jsx(Gpe,S({as:C,elevation:24,role:"dialog","aria-describedby":a,"aria-labelledby":A},O,{className:Q(L.paper,O.className),ownerState:D,children:k.jsx(a8.Provider,{value:F,children:u})}))})}))}))});function qpe(e){return Se("MuiDialogActions",e)}Pe("MuiDialogActions",["root","spacing"]);const Kpe=["className","disableSpacing"],Ype=e=>{const{classes:t,disableSpacing:n}=e;return de({root:["root",!n&&"spacing"]},qpe,t)},Qpe=W("div",{name:"MuiDialogActions",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,!n.disableSpacing&&t.spacing]}})(({ownerState:e})=>S({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",flex:"0 0 auto"},!e.disableSpacing&&{"& > :not(style) ~ :not(style)":{marginLeft:8}})),l8=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiDialogActions"}),{className:o,disableSpacing:i=!1}=r,a=q(r,Kpe),s=S({},r,{disableSpacing:i}),l=Ype(s);return k.jsx(Qpe,S({className:Q(l.root,o),ownerState:s,ref:n},a))});function Xpe(e){return Se("MuiDialogContent",e)}Pe("MuiDialogContent",["root","dividers"]);function Jpe(e){return Se("MuiDialogTitle",e)}const Zpe=Pe("MuiDialogTitle",["root"]),ehe=["className","dividers"],the=e=>{const{classes:t,dividers:n}=e;return de({root:["root",n&&"dividers"]},Xpe,t)},nhe=W("div",{name:"MuiDialogContent",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.dividers&&t.dividers]}})(({theme:e,ownerState:t})=>S({flex:"1 1 auto",WebkitOverflowScrolling:"touch",overflowY:"auto",padding:"20px 24px"},t.dividers?{padding:"16px 24px",borderTop:`1px solid ${(e.vars||e).palette.divider}`,borderBottom:`1px solid ${(e.vars||e).palette.divider}`}:{[`.${Zpe.root} + &`]:{paddingTop:0}})),c8=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiDialogContent"}),{className:o,dividers:i=!1}=r,a=q(r,ehe),s=S({},r,{dividers:i}),l=the(s);return k.jsx(nhe,S({className:Q(l.root,o),ownerState:s,ref:n},a))}),rhe=["className","id"],ohe=e=>{const{classes:t}=e;return de({root:["root"]},Jpe,t)},ihe=W(Be,{name:"MuiDialogTitle",slot:"Root",overridesResolver:(e,t)=>t.root})({padding:"16px 24px",flex:"0 0 auto"}),ahe=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiDialogTitle"}),{className:o,id:i}=r,a=q(r,rhe),s=r,l=ohe(s),{titleId:c=i}=g.useContext(a8);return k.jsx(ihe,S({component:"h2",className:Q(l.root,o),ownerState:s,ref:n,variant:"h6",id:i??c},a))});function she(e){return Se("MuiDivider",e)}const EL=Pe("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]),lhe=["absolute","children","className","component","flexItem","light","orientation","role","textAlign","variant"],che=e=>{const{absolute:t,children:n,classes:r,flexItem:o,light:i,orientation:a,textAlign:s,variant:l}=e;return de({root:["root",t&&"absolute",l,i&&"light",a==="vertical"&&"vertical",o&&"flexItem",n&&"withChildren",n&&a==="vertical"&&"withChildrenVertical",s==="right"&&a!=="vertical"&&"textAlignRight",s==="left"&&a!=="vertical"&&"textAlignLeft"],wrapper:["wrapper",a==="vertical"&&"wrapperVertical"]},she,r)},uhe=W("div",{name:"MuiDivider",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.absolute&&t.absolute,t[n.variant],n.light&&t.light,n.orientation==="vertical"&&t.vertical,n.flexItem&&t.flexItem,n.children&&t.withChildren,n.children&&n.orientation==="vertical"&&t.withChildrenVertical,n.textAlign==="right"&&n.orientation!=="vertical"&&t.textAlignRight,n.textAlign==="left"&&n.orientation!=="vertical"&&t.textAlignLeft]}})(({theme:e,ownerState:t})=>S({margin:0,flexShrink:0,borderWidth:0,borderStyle:"solid",borderColor:(e.vars||e).palette.divider,borderBottomWidth:"thin"},t.absolute&&{position:"absolute",bottom:0,left:0,width:"100%"},t.light&&{borderColor:e.vars?`rgba(${e.vars.palette.dividerChannel} / 0.08)`:st(e.palette.divider,.08)},t.variant==="inset"&&{marginLeft:72},t.variant==="middle"&&t.orientation==="horizontal"&&{marginLeft:e.spacing(2),marginRight:e.spacing(2)},t.variant==="middle"&&t.orientation==="vertical"&&{marginTop:e.spacing(1),marginBottom:e.spacing(1)},t.orientation==="vertical"&&{height:"100%",borderBottomWidth:0,borderRightWidth:"thin"},t.flexItem&&{alignSelf:"stretch",height:"auto"}),({ownerState:e})=>S({},e.children&&{display:"flex",whiteSpace:"nowrap",textAlign:"center",border:0,"&::before, &::after":{content:'""',alignSelf:"center"}}),({theme:e,ownerState:t})=>S({},t.children&&t.orientation!=="vertical"&&{"&::before, &::after":{width:"100%",borderTop:`thin solid ${(e.vars||e).palette.divider}`}}),({theme:e,ownerState:t})=>S({},t.children&&t.orientation==="vertical"&&{flexDirection:"column","&::before, &::after":{height:"100%",borderLeft:`thin solid ${(e.vars||e).palette.divider}`}}),({ownerState:e})=>S({},e.textAlign==="right"&&e.orientation!=="vertical"&&{"&::before":{width:"90%"},"&::after":{width:"10%"}},e.textAlign==="left"&&e.orientation!=="vertical"&&{"&::before":{width:"10%"},"&::after":{width:"90%"}})),dhe=W("span",{name:"MuiDivider",slot:"Wrapper",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.wrapper,n.orientation==="vertical"&&t.wrapperVertical]}})(({theme:e,ownerState:t})=>S({display:"inline-block",paddingLeft:`calc(${e.spacing(1)} * 1.2)`,paddingRight:`calc(${e.spacing(1)} * 1.2)`},t.orientation==="vertical"&&{paddingTop:`calc(${e.spacing(1)} * 1.2)`,paddingBottom:`calc(${e.spacing(1)} * 1.2)`})),bs=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiDivider"}),{absolute:o=!1,children:i,className:a,component:s=i?"div":"hr",flexItem:l=!1,light:c=!1,orientation:u="horizontal",role:d=s!=="hr"?"separator":void 0,textAlign:f="center",variant:p="fullWidth"}=r,h=q(r,lhe),m=S({},r,{absolute:o,component:s,flexItem:l,light:c,orientation:u,role:d,textAlign:f,variant:p}),v=che(m);return k.jsx(uhe,S({as:s,className:Q(v.root,a),role:d,ref:n,ownerState:m},h,{children:i?k.jsx(dhe,{className:v.wrapper,ownerState:m,children:i}):null}))});bs.muiSkipListHighlight=!0;const fhe=["addEndListener","appear","children","container","direction","easing","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","style","timeout","TransitionComponent"];function phe(e,t,n){const r=t.getBoundingClientRect(),o=n&&n.getBoundingClientRect(),i=si(t);let a;if(t.fakeTransform)a=t.fakeTransform;else{const c=i.getComputedStyle(t);a=c.getPropertyValue("-webkit-transform")||c.getPropertyValue("transform")}let s=0,l=0;if(a&&a!=="none"&&typeof a=="string"){const c=a.split("(")[1].split(")")[0].split(",");s=parseInt(c[4],10),l=parseInt(c[5],10)}return e==="left"?o?`translateX(${o.right+s-r.left}px)`:`translateX(${i.innerWidth+s-r.left}px)`:e==="right"?o?`translateX(-${r.right-o.left-s}px)`:`translateX(-${r.left+r.width-s}px)`:e==="up"?o?`translateY(${o.bottom+l-r.top}px)`:`translateY(${i.innerHeight+l-r.top}px)`:o?`translateY(-${r.top-o.top+r.height-l}px)`:`translateY(-${r.top+r.height-l}px)`}function hhe(e){return typeof e=="function"?e():e}function Hb(e,t,n){const r=hhe(n),o=phe(e,t,r);o&&(t.style.webkitTransform=o,t.style.transform=o)}const mhe=g.forwardRef(function(t,n){const r=qn(),o={enter:r.transitions.easing.easeOut,exit:r.transitions.easing.sharp},i={enter:r.transitions.duration.enteringScreen,exit:r.transitions.duration.leavingScreen},{addEndListener:a,appear:s=!0,children:l,container:c,direction:u="down",easing:d=o,in:f,onEnter:p,onEntered:h,onEntering:m,onExit:v,onExited:b,onExiting:y,style:w,timeout:C=i,TransitionComponent:O=mi}=t,P=q(t,fhe),E=g.useRef(null),T=Ot(l.ref,E,n),$=_=>j=>{_&&(j===void 0?_(E.current):_(E.current,j))},M=$((_,j)=>{Hb(u,_,c),YM(_),p&&p(_,j)}),D=$((_,j)=>{const B=kc({timeout:C,style:w,easing:d},{mode:"enter"});_.style.webkitTransition=r.transitions.create("-webkit-transform",S({},B)),_.style.transition=r.transitions.create("transform",S({},B)),_.style.webkitTransform="none",_.style.transform="none",m&&m(_,j)}),L=$(h),N=$(y),R=$(_=>{const j=kc({timeout:C,style:w,easing:d},{mode:"exit"});_.style.webkitTransition=r.transitions.create("-webkit-transform",j),_.style.transition=r.transitions.create("transform",j),Hb(u,_,c),v&&v(_)}),I=$(_=>{_.style.webkitTransition="",_.style.transition="",b&&b(_)}),A=_=>{a&&a(E.current,_)},F=g.useCallback(()=>{E.current&&Hb(u,E.current,c)},[u,c]);return g.useEffect(()=>{if(f||u==="down"||u==="right")return;const _=Rc(()=>{E.current&&Hb(u,E.current,c)}),j=si(E.current);return j.addEventListener("resize",_),()=>{_.clear(),j.removeEventListener("resize",_)}},[u,f,c]),g.useEffect(()=>{f||F()},[f,F]),k.jsx(O,S({nodeRef:E,onEnter:M,onEntered:L,onEntering:D,onExit:R,onExited:I,onExiting:N,addEndListener:A,appear:s,in:f,timeout:C},P,{children:(_,j)=>g.cloneElement(l,S({ref:T,style:S({visibility:_==="exited"&&!f?"hidden":void 0},w,l.props.style)},j))}))});function ghe(e){return Se("MuiDrawer",e)}Pe("MuiDrawer",["root","docked","paper","paperAnchorLeft","paperAnchorRight","paperAnchorTop","paperAnchorBottom","paperAnchorDockedLeft","paperAnchorDockedRight","paperAnchorDockedTop","paperAnchorDockedBottom","modal"]);const vhe=["BackdropProps"],yhe=["anchor","BackdropProps","children","className","elevation","hideBackdrop","ModalProps","onClose","open","PaperProps","SlideProps","TransitionComponent","transitionDuration","variant"],u8=(e,t)=>{const{ownerState:n}=e;return[t.root,(n.variant==="permanent"||n.variant==="persistent")&&t.docked,t.modal]},bhe=e=>{const{classes:t,anchor:n,variant:r}=e,o={root:["root"],docked:[(r==="permanent"||r==="persistent")&&"docked"],modal:["modal"],paper:["paper",`paperAnchor${ie(n)}`,r!=="temporary"&&`paperAnchorDocked${ie(n)}`]};return de(o,ghe,t)},xhe=W(ph,{name:"MuiDrawer",slot:"Root",overridesResolver:u8})(({theme:e})=>({zIndex:(e.vars||e).zIndex.drawer})),OL=W("div",{shouldForwardProp:jr,name:"MuiDrawer",slot:"Docked",skipVariantsResolver:!1,overridesResolver:u8})({flex:"0 0 auto"}),whe=W(Kn,{name:"MuiDrawer",slot:"Paper",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.paper,t[`paperAnchor${ie(n.anchor)}`],n.variant!=="temporary"&&t[`paperAnchorDocked${ie(n.anchor)}`]]}})(({theme:e,ownerState:t})=>S({overflowY:"auto",display:"flex",flexDirection:"column",height:"100%",flex:"1 0 auto",zIndex:(e.vars||e).zIndex.drawer,WebkitOverflowScrolling:"touch",position:"fixed",top:0,outline:0},t.anchor==="left"&&{left:0},t.anchor==="top"&&{top:0,left:0,right:0,height:"auto",maxHeight:"100%"},t.anchor==="right"&&{right:0},t.anchor==="bottom"&&{top:"auto",left:0,bottom:0,right:0,height:"auto",maxHeight:"100%"},t.anchor==="left"&&t.variant!=="temporary"&&{borderRight:`1px solid ${(e.vars||e).palette.divider}`},t.anchor==="top"&&t.variant!=="temporary"&&{borderBottom:`1px solid ${(e.vars||e).palette.divider}`},t.anchor==="right"&&t.variant!=="temporary"&&{borderLeft:`1px solid ${(e.vars||e).palette.divider}`},t.anchor==="bottom"&&t.variant!=="temporary"&&{borderTop:`1px solid ${(e.vars||e).palette.divider}`})),d8={left:"right",right:"left",top:"down",bottom:"up"};function Che(e){return["left","right"].indexOf(e)!==-1}function She({direction:e},t){return e==="rtl"&&Che(t)?d8[t]:t}const Phe=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiDrawer"}),o=qn(),i=_c(),a={enter:o.transitions.duration.enteringScreen,exit:o.transitions.duration.leavingScreen},{anchor:s="left",BackdropProps:l,children:c,className:u,elevation:d=16,hideBackdrop:f=!1,ModalProps:{BackdropProps:p}={},onClose:h,open:m=!1,PaperProps:v={},SlideProps:b,TransitionComponent:y=mhe,transitionDuration:w=a,variant:C="temporary"}=r,O=q(r.ModalProps,vhe),P=q(r,yhe),E=g.useRef(!1);g.useEffect(()=>{E.current=!0},[]);const T=She({direction:i?"rtl":"ltr"},s),M=S({},r,{anchor:s,elevation:d,open:m,variant:C},P),D=bhe(M),L=k.jsx(whe,S({elevation:C==="temporary"?d:0,square:!0},v,{className:Q(D.paper,v.className),ownerState:M,children:c}));if(C==="permanent")return k.jsx(OL,S({className:Q(D.root,D.docked,u),ownerState:M,ref:n},P,{children:L}));const N=k.jsx(y,S({in:m,direction:d8[T],timeout:w,appear:E.current},b,{children:L}));return C==="persistent"?k.jsx(OL,S({className:Q(D.root,D.docked,u),ownerState:M,ref:n},P,{children:N})):k.jsx(xhe,S({BackdropProps:S({},l,p,{transitionDuration:w}),className:Q(D.root,D.modal,u),open:m,ownerState:M,onClose:h,hideBackdrop:f,ref:n},P,O,{children:N}))});function Ehe(e){return Se("MuiFab",e)}const TL=Pe("MuiFab",["root","primary","secondary","extended","circular","focusVisible","disabled","colorInherit","sizeSmall","sizeMedium","sizeLarge","info","error","warning","success"]),Ohe=["children","className","color","component","disabled","disableFocusRipple","focusVisibleClassName","size","variant"],The=e=>{const{color:t,variant:n,classes:r,size:o}=e,i={root:["root",n,`size${ie(o)}`,t==="inherit"?"colorInherit":t]},a=de(i,Ehe,r);return S({},r,a)},khe=W(Zr,{name:"MuiFab",slot:"Root",shouldForwardProp:e=>jr(e)||e==="classes",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],t[`size${ie(n.size)}`],n.color==="inherit"&&t.colorInherit,t[ie(n.size)],t[n.color]]}})(({theme:e,ownerState:t})=>{var n,r;return S({},e.typography.button,{minHeight:36,transition:e.transitions.create(["background-color","box-shadow","border-color"],{duration:e.transitions.duration.short}),borderRadius:"50%",padding:0,minWidth:0,width:56,height:56,zIndex:(e.vars||e).zIndex.fab,boxShadow:(e.vars||e).shadows[6],"&:active":{boxShadow:(e.vars||e).shadows[12]},color:e.vars?e.vars.palette.text.primary:(n=(r=e.palette).getContrastText)==null?void 0:n.call(r,e.palette.grey[300]),backgroundColor:(e.vars||e).palette.grey[300],"&:hover":{backgroundColor:(e.vars||e).palette.grey.A100,"@media (hover: none)":{backgroundColor:(e.vars||e).palette.grey[300]},textDecoration:"none"},[`&.${TL.focusVisible}`]:{boxShadow:(e.vars||e).shadows[6]}},t.size==="small"&&{width:40,height:40},t.size==="medium"&&{width:48,height:48},t.variant==="extended"&&{borderRadius:48/2,padding:"0 16px",width:"auto",minHeight:"auto",minWidth:48,height:48},t.variant==="extended"&&t.size==="small"&&{width:"auto",padding:"0 8px",borderRadius:34/2,minWidth:34,height:34},t.variant==="extended"&&t.size==="medium"&&{width:"auto",padding:"0 16px",borderRadius:40/2,minWidth:40,height:40},t.color==="inherit"&&{color:"inherit"})},({theme:e,ownerState:t})=>S({},t.color!=="inherit"&&t.color!=="default"&&(e.vars||e).palette[t.color]!=null&&{color:(e.vars||e).palette[t.color].contrastText,backgroundColor:(e.vars||e).palette[t.color].main,"&:hover":{backgroundColor:(e.vars||e).palette[t.color].dark,"@media (hover: none)":{backgroundColor:(e.vars||e).palette[t.color].main}}}),({theme:e})=>({[`&.${TL.disabled}`]:{color:(e.vars||e).palette.action.disabled,boxShadow:(e.vars||e).shadows[0],backgroundColor:(e.vars||e).palette.action.disabledBackground}})),vd=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiFab"}),{children:o,className:i,color:a="default",component:s="button",disabled:l=!1,disableFocusRipple:c=!1,focusVisibleClassName:u,size:d="large",variant:f="circular"}=r,p=q(r,Ohe),h=S({},r,{color:a,component:s,disabled:l,disableFocusRipple:c,size:d,variant:f}),m=The(h);return k.jsx(khe,S({className:Q(m.root,i),component:s,disabled:l,focusRipple:!c,focusVisibleClassName:Q(m.focusVisible,u),ownerState:h,ref:n},p,{classes:m,children:o}))}),Ihe=["disableUnderline","components","componentsProps","fullWidth","hiddenLabel","inputComponent","multiline","slotProps","slots","type"],$he=e=>{const{classes:t,disableUnderline:n}=e,o=de({root:["root",!n&&"underline"],input:["input"]},Mde,t);return S({},t,o)},Mhe=W(_C,{shouldForwardProp:e=>jr(e)||e==="classes",name:"MuiFilledInput",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[...AC(e,t),!n.disableUnderline&&t.underline]}})(({theme:e,ownerState:t})=>{var n;const r=e.palette.mode==="light",o=r?"rgba(0, 0, 0, 0.42)":"rgba(255, 255, 255, 0.7)",i=r?"rgba(0, 0, 0, 0.06)":"rgba(255, 255, 255, 0.09)",a=r?"rgba(0, 0, 0, 0.09)":"rgba(255, 255, 255, 0.13)",s=r?"rgba(0, 0, 0, 0.12)":"rgba(255, 255, 255, 0.12)";return S({position:"relative",backgroundColor:e.vars?e.vars.palette.FilledInput.bg:i,borderTopLeftRadius:(e.vars||e).shape.borderRadius,borderTopRightRadius:(e.vars||e).shape.borderRadius,transition:e.transitions.create("background-color",{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut}),"&:hover":{backgroundColor:e.vars?e.vars.palette.FilledInput.hoverBg:a,"@media (hover: none)":{backgroundColor:e.vars?e.vars.palette.FilledInput.bg:i}},[`&.${Ko.focused}`]:{backgroundColor:e.vars?e.vars.palette.FilledInput.bg:i},[`&.${Ko.disabled}`]:{backgroundColor:e.vars?e.vars.palette.FilledInput.disabledBg:s}},!t.disableUnderline&&{"&::after":{borderBottom:`2px solid ${(n=(e.vars||e).palette[t.color||"primary"])==null?void 0:n.main}`,left:0,bottom:0,content:'""',position:"absolute",right:0,transform:"scaleX(0)",transition:e.transitions.create("transform",{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut}),pointerEvents:"none"},[`&.${Ko.focused}:after`]:{transform:"scaleX(1) translateX(0)"},[`&.${Ko.error}`]:{"&::before, &::after":{borderBottomColor:(e.vars||e).palette.error.main}},"&::before":{borderBottom:`1px solid ${e.vars?`rgba(${e.vars.palette.common.onBackgroundChannel} / ${e.vars.opacity.inputUnderline})`:o}`,left:0,bottom:0,content:'"\\00a0"',position:"absolute",right:0,transition:e.transitions.create("border-bottom-color",{duration:e.transitions.duration.shorter}),pointerEvents:"none"},[`&:hover:not(.${Ko.disabled}, .${Ko.error}):before`]:{borderBottom:`1px solid ${(e.vars||e).palette.text.primary}`},[`&.${Ko.disabled}:before`]:{borderBottomStyle:"dotted"}},t.startAdornment&&{paddingLeft:12},t.endAdornment&&{paddingRight:12},t.multiline&&S({padding:"25px 12px 8px"},t.size==="small"&&{paddingTop:21,paddingBottom:4},t.hiddenLabel&&{paddingTop:16,paddingBottom:17},t.hiddenLabel&&t.size==="small"&&{paddingTop:8,paddingBottom:9}))}),Ahe=W(DC,{name:"MuiFilledInput",slot:"Input",overridesResolver:RC})(({theme:e,ownerState:t})=>S({paddingTop:25,paddingRight:12,paddingBottom:8,paddingLeft:12},!e.vars&&{"&:-webkit-autofill":{WebkitBoxShadow:e.palette.mode==="light"?null:"0 0 0 100px #266798 inset",WebkitTextFillColor:e.palette.mode==="light"?null:"#fff",caretColor:e.palette.mode==="light"?null:"#fff",borderTopLeftRadius:"inherit",borderTopRightRadius:"inherit"}},e.vars&&{"&:-webkit-autofill":{borderTopLeftRadius:"inherit",borderTopRightRadius:"inherit"},[e.getColorSchemeSelector("dark")]:{"&:-webkit-autofill":{WebkitBoxShadow:"0 0 0 100px #266798 inset",WebkitTextFillColor:"#fff",caretColor:"#fff"}}},t.size==="small"&&{paddingTop:21,paddingBottom:4},t.hiddenLabel&&{paddingTop:16,paddingBottom:17},t.startAdornment&&{paddingLeft:0},t.endAdornment&&{paddingRight:0},t.hiddenLabel&&t.size==="small"&&{paddingTop:8,paddingBottom:9},t.multiline&&{paddingTop:0,paddingBottom:0,paddingLeft:0,paddingRight:0})),cA=g.forwardRef(function(t,n){var r,o,i,a;const s=Ee({props:t,name:"MuiFilledInput"}),{components:l={},componentsProps:c,fullWidth:u=!1,inputComponent:d="input",multiline:f=!1,slotProps:p,slots:h={},type:m="text"}=s,v=q(s,Ihe),b=S({},s,{fullWidth:u,inputComponent:d,multiline:f,type:m}),y=$he(s),w={root:{ownerState:b},input:{ownerState:b}},C=p??c?Dr(w,p??c):w,O=(r=(o=h.root)!=null?o:l.Root)!=null?r:Mhe,P=(i=(a=h.input)!=null?a:l.Input)!=null?i:Ahe;return k.jsx(fh,S({slots:{root:O,input:P},componentsProps:C,fullWidth:u,inputComponent:d,multiline:f,ref:n,type:m},v,{classes:y}))});cA.muiName="Input";function Rhe(e){return Se("MuiFormControl",e)}Pe("MuiFormControl",["root","marginNone","marginNormal","marginDense","fullWidth","disabled"]);const _he=["children","className","color","component","disabled","error","focused","fullWidth","hiddenLabel","margin","required","size","variant"],Dhe=e=>{const{classes:t,margin:n,fullWidth:r}=e,o={root:["root",n!=="none"&&`margin${ie(n)}`,r&&"fullWidth"]};return de(o,Rhe,t)},Nhe=W("div",{name:"MuiFormControl",slot:"Root",overridesResolver:({ownerState:e},t)=>S({},t.root,t[`margin${ie(e.margin)}`],e.fullWidth&&t.fullWidth)})(({ownerState:e})=>S({display:"inline-flex",flexDirection:"column",position:"relative",minWidth:0,padding:0,margin:0,border:0,verticalAlign:"top"},e.margin==="normal"&&{marginTop:16,marginBottom:8},e.margin==="dense"&&{marginTop:8,marginBottom:4},e.fullWidth&&{width:"100%"})),hh=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiFormControl"}),{children:o,className:i,color:a="primary",component:s="div",disabled:l=!1,error:c=!1,focused:u,fullWidth:d=!1,hiddenLabel:f=!1,margin:p="none",required:h=!1,size:m="medium",variant:v="outlined"}=r,b=q(r,_he),y=S({},r,{color:a,component:s,disabled:l,error:c,fullWidth:d,hiddenLabel:f,margin:p,required:h,size:m,variant:v}),w=Dhe(y),[C,O]=g.useState(()=>{let N=!1;return o&&g.Children.forEach(o,R=>{if(!Au(R,["Input","Select"]))return;const I=Au(R,["Select"])?R.props.input:R;I&&Pde(I.props)&&(N=!0)}),N}),[P,E]=g.useState(()=>{let N=!1;return o&&g.Children.forEach(o,R=>{Au(R,["Input","Select"])&&(Vx(R.props,!0)||Vx(R.props.inputProps,!0))&&(N=!0)}),N}),[T,$]=g.useState(!1);l&&T&&$(!1);const M=u!==void 0&&!l?u:T;let D;const L=g.useMemo(()=>({adornedStart:C,setAdornedStart:O,color:a,disabled:l,error:c,filled:P,focused:M,fullWidth:d,hiddenLabel:f,size:m,onBlur:()=>{$(!1)},onEmpty:()=>{E(!1)},onFilled:()=>{E(!0)},onFocus:()=>{$(!0)},registerEffect:D,required:h,variant:v}),[C,a,l,c,P,M,d,f,D,h,m,v]);return k.jsx(MC.Provider,{value:L,children:k.jsx(Nhe,S({as:s,ownerState:y,className:Q(w.root,i),ref:n},b,{children:o}))})}),pt=Ore({createStyledComponent:W("div",{name:"MuiStack",slot:"Root",overridesResolver:(e,t)=>t.root}),useThemeProps:e=>Ee({props:e,name:"MuiStack"})});function Lhe(e){return Se("MuiFormControlLabel",e)}const Ym=Pe("MuiFormControlLabel",["root","labelPlacementStart","labelPlacementTop","labelPlacementBottom","disabled","label","error","required","asterisk"]),jhe=["checked","className","componentsProps","control","disabled","disableTypography","inputRef","label","labelPlacement","name","onChange","required","slotProps","value"],Fhe=e=>{const{classes:t,disabled:n,labelPlacement:r,error:o,required:i}=e,a={root:["root",n&&"disabled",`labelPlacement${ie(r)}`,o&&"error",i&&"required"],label:["label",n&&"disabled"],asterisk:["asterisk",o&&"error"]};return de(a,Lhe,t)},Bhe=W("label",{name:"MuiFormControlLabel",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[{[`& .${Ym.label}`]:t.label},t.root,t[`labelPlacement${ie(n.labelPlacement)}`]]}})(({theme:e,ownerState:t})=>S({display:"inline-flex",alignItems:"center",cursor:"pointer",verticalAlign:"middle",WebkitTapHighlightColor:"transparent",marginLeft:-11,marginRight:16,[`&.${Ym.disabled}`]:{cursor:"default"}},t.labelPlacement==="start"&&{flexDirection:"row-reverse",marginLeft:16,marginRight:-11},t.labelPlacement==="top"&&{flexDirection:"column-reverse",marginLeft:16},t.labelPlacement==="bottom"&&{flexDirection:"column",marginLeft:16},{[`& .${Ym.label}`]:{[`&.${Ym.disabled}`]:{color:(e.vars||e).palette.text.disabled}}})),zhe=W("span",{name:"MuiFormControlLabel",slot:"Asterisk",overridesResolver:(e,t)=>t.asterisk})(({theme:e})=>({[`&.${Ym.error}`]:{color:(e.vars||e).palette.error.main}})),$y=g.forwardRef(function(t,n){var r,o;const i=Ee({props:t,name:"MuiFormControlLabel"}),{className:a,componentsProps:s={},control:l,disabled:c,disableTypography:u,label:d,labelPlacement:f="end",required:p,slotProps:h={}}=i,m=q(i,jhe),v=Ps(),b=(r=c??l.props.disabled)!=null?r:v==null?void 0:v.disabled,y=p??l.props.required,w={disabled:b,required:y};["checked","name","onChange","value","inputRef"].forEach($=>{typeof l.props[$]>"u"&&typeof i[$]<"u"&&(w[$]=i[$])});const C=zc({props:i,muiFormControl:v,states:["error"]}),O=S({},i,{disabled:b,labelPlacement:f,required:y,error:C.error}),P=Fhe(O),E=(o=h.typography)!=null?o:s.typography;let T=d;return T!=null&&T.type!==Be&&!u&&(T=k.jsx(Be,S({component:"span"},E,{className:Q(P.label,E==null?void 0:E.className),children:T}))),k.jsxs(Bhe,S({className:Q(P.root,a),ownerState:O,ref:n},m,{children:[g.cloneElement(l,w),y?k.jsxs(pt,{display:"block",children:[T,k.jsxs(zhe,{ownerState:O,"aria-hidden":!0,className:P.asterisk,children:[" ","*"]})]}):T]}))});function Vhe(e){return Se("MuiFormGroup",e)}Pe("MuiFormGroup",["root","row","error"]);const Hhe=["className","row"],Uhe=e=>{const{classes:t,row:n,error:r}=e;return de({root:["root",n&&"row",r&&"error"]},Vhe,t)},Whe=W("div",{name:"MuiFormGroup",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.row&&t.row]}})(({ownerState:e})=>S({display:"flex",flexDirection:"column",flexWrap:"wrap"},e.row&&{flexDirection:"row"})),jC=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiFormGroup"}),{className:o,row:i=!1}=r,a=q(r,Hhe),s=Ps(),l=zc({props:r,muiFormControl:s,states:["error"]}),c=S({},r,{row:i,error:l.error}),u=Uhe(c);return k.jsx(Whe,S({className:Q(u.root,o),ownerState:c,ref:n},a))});function Ghe(e){return Se("MuiFormHelperText",e)}const kL=Pe("MuiFormHelperText",["root","error","disabled","sizeSmall","sizeMedium","contained","focused","filled","required"]);var IL;const qhe=["children","className","component","disabled","error","filled","focused","margin","required","variant"],Khe=e=>{const{classes:t,contained:n,size:r,disabled:o,error:i,filled:a,focused:s,required:l}=e,c={root:["root",o&&"disabled",i&&"error",r&&`size${ie(r)}`,n&&"contained",s&&"focused",a&&"filled",l&&"required"]};return de(c,Ghe,t)},Yhe=W("p",{name:"MuiFormHelperText",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.size&&t[`size${ie(n.size)}`],n.contained&&t.contained,n.filled&&t.filled]}})(({theme:e,ownerState:t})=>S({color:(e.vars||e).palette.text.secondary},e.typography.caption,{textAlign:"left",marginTop:3,marginRight:0,marginBottom:0,marginLeft:0,[`&.${kL.disabled}`]:{color:(e.vars||e).palette.text.disabled},[`&.${kL.error}`]:{color:(e.vars||e).palette.error.main}},t.size==="small"&&{marginTop:4},t.contained&&{marginLeft:14,marginRight:14})),uA=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiFormHelperText"}),{children:o,className:i,component:a="p"}=r,s=q(r,qhe),l=Ps(),c=zc({props:r,muiFormControl:l,states:["variant","size","disabled","error","filled","focused","required"]}),u=S({},r,{component:a,contained:c.variant==="filled"||c.variant==="outlined",variant:c.variant,size:c.size,disabled:c.disabled,error:c.error,filled:c.filled,focused:c.focused,required:c.required}),d=Khe(u);return k.jsx(Yhe,S({as:a,ownerState:u,className:Q(d.root,i),ref:n},s,{children:o===" "?IL||(IL=k.jsx("span",{className:"notranslate",children:"​"})):o}))});function Qhe(e){return Se("MuiFormLabel",e)}const xg=Pe("MuiFormLabel",["root","colorSecondary","focused","disabled","error","filled","required","asterisk"]),Xhe=["children","className","color","component","disabled","error","filled","focused","required"],Jhe=e=>{const{classes:t,color:n,focused:r,disabled:o,error:i,filled:a,required:s}=e,l={root:["root",`color${ie(n)}`,o&&"disabled",i&&"error",a&&"filled",r&&"focused",s&&"required"],asterisk:["asterisk",i&&"error"]};return de(l,Qhe,t)},Zhe=W("label",{name:"MuiFormLabel",slot:"Root",overridesResolver:({ownerState:e},t)=>S({},t.root,e.color==="secondary"&&t.colorSecondary,e.filled&&t.filled)})(({theme:e,ownerState:t})=>S({color:(e.vars||e).palette.text.secondary},e.typography.body1,{lineHeight:"1.4375em",padding:0,position:"relative",[`&.${xg.focused}`]:{color:(e.vars||e).palette[t.color].main},[`&.${xg.disabled}`]:{color:(e.vars||e).palette.text.disabled},[`&.${xg.error}`]:{color:(e.vars||e).palette.error.main}})),eme=W("span",{name:"MuiFormLabel",slot:"Asterisk",overridesResolver:(e,t)=>t.asterisk})(({theme:e})=>({[`&.${xg.error}`]:{color:(e.vars||e).palette.error.main}})),tme=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiFormLabel"}),{children:o,className:i,component:a="label"}=r,s=q(r,Xhe),l=Ps(),c=zc({props:r,muiFormControl:l,states:["color","required","focused","disabled","error","filled"]}),u=S({},r,{color:c.color||"primary",component:a,disabled:c.disabled,error:c.error,filled:c.filled,focused:c.focused,required:c.required}),d=Jhe(u);return k.jsxs(Zhe,S({as:a,ownerState:u,className:Q(d.root,i),ref:n},s,{children:[o,c.required&&k.jsxs(eme,{ownerState:u,"aria-hidden":!0,className:d.asterisk,children:[" ","*"]})]}))}),$L=g.createContext();function nme(e){return Se("MuiGrid",e)}const rme=[0,1,2,3,4,5,6,7,8,9,10],ome=["column-reverse","column","row-reverse","row"],ime=["nowrap","wrap-reverse","wrap"],vm=["auto",!0,1,2,3,4,5,6,7,8,9,10,11,12],fv=Pe("MuiGrid",["root","container","item","zeroMinWidth",...rme.map(e=>`spacing-xs-${e}`),...ome.map(e=>`direction-xs-${e}`),...ime.map(e=>`wrap-xs-${e}`),...vm.map(e=>`grid-xs-${e}`),...vm.map(e=>`grid-sm-${e}`),...vm.map(e=>`grid-md-${e}`),...vm.map(e=>`grid-lg-${e}`),...vm.map(e=>`grid-xl-${e}`)]),ame=["className","columns","columnSpacing","component","container","direction","item","rowSpacing","spacing","wrap","zeroMinWidth"];function Jf(e){const t=parseFloat(e);return`${t}${String(e).replace(String(t),"")||"px"}`}function sme({theme:e,ownerState:t}){let n;return e.breakpoints.keys.reduce((r,o)=>{let i={};if(t[o]&&(n=t[o]),!n)return r;if(n===!0)i={flexBasis:0,flexGrow:1,maxWidth:"100%"};else if(n==="auto")i={flexBasis:"auto",flexGrow:0,flexShrink:0,maxWidth:"none",width:"auto"};else{const a=Mu({values:t.columns,breakpoints:e.breakpoints.values}),s=typeof a=="object"?a[o]:a;if(s==null)return r;const l=`${Math.round(n/s*1e8)/1e6}%`;let c={};if(t.container&&t.item&&t.columnSpacing!==0){const u=e.spacing(t.columnSpacing);if(u!=="0px"){const d=`calc(${l} + ${Jf(u)})`;c={flexBasis:d,maxWidth:d}}}i=S({flexBasis:l,flexGrow:0,maxWidth:l},c)}return e.breakpoints.values[o]===0?Object.assign(r,i):r[e.breakpoints.up(o)]=i,r},{})}function lme({theme:e,ownerState:t}){const n=Mu({values:t.direction,breakpoints:e.breakpoints.values});return No({theme:e},n,r=>{const o={flexDirection:r};return r.indexOf("column")===0&&(o[`& > .${fv.item}`]={maxWidth:"none"}),o})}function f8({breakpoints:e,values:t}){let n="";Object.keys(t).forEach(o=>{n===""&&t[o]!==0&&(n=o)});const r=Object.keys(e).sort((o,i)=>e[o]-e[i]);return r.slice(0,r.indexOf(n))}function cme({theme:e,ownerState:t}){const{container:n,rowSpacing:r}=t;let o={};if(n&&r!==0){const i=Mu({values:r,breakpoints:e.breakpoints.values});let a;typeof i=="object"&&(a=f8({breakpoints:e.breakpoints.values,values:i})),o=No({theme:e},i,(s,l)=>{var c;const u=e.spacing(s);return u!=="0px"?{marginTop:`-${Jf(u)}`,[`& > .${fv.item}`]:{paddingTop:Jf(u)}}:(c=a)!=null&&c.includes(l)?{}:{marginTop:0,[`& > .${fv.item}`]:{paddingTop:0}}})}return o}function ume({theme:e,ownerState:t}){const{container:n,columnSpacing:r}=t;let o={};if(n&&r!==0){const i=Mu({values:r,breakpoints:e.breakpoints.values});let a;typeof i=="object"&&(a=f8({breakpoints:e.breakpoints.values,values:i})),o=No({theme:e},i,(s,l)=>{var c;const u=e.spacing(s);return u!=="0px"?{width:`calc(100% + ${Jf(u)})`,marginLeft:`-${Jf(u)}`,[`& > .${fv.item}`]:{paddingLeft:Jf(u)}}:(c=a)!=null&&c.includes(l)?{}:{width:"100%",marginLeft:0,[`& > .${fv.item}`]:{paddingLeft:0}}})}return o}function dme(e,t,n={}){if(!e||e<=0)return[];if(typeof e=="string"&&!Number.isNaN(Number(e))||typeof e=="number")return[n[`spacing-xs-${String(e)}`]];const r=[];return t.forEach(o=>{const i=e[o];Number(i)>0&&r.push(n[`spacing-${o}-${String(i)}`])}),r}const fme=W("div",{name:"MuiGrid",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e,{container:r,direction:o,item:i,spacing:a,wrap:s,zeroMinWidth:l,breakpoints:c}=n;let u=[];r&&(u=dme(a,c,t));const d=[];return c.forEach(f=>{const p=n[f];p&&d.push(t[`grid-${f}-${String(p)}`])}),[t.root,r&&t.container,i&&t.item,l&&t.zeroMinWidth,...u,o!=="row"&&t[`direction-xs-${String(o)}`],s!=="wrap"&&t[`wrap-xs-${String(s)}`],...d]}})(({ownerState:e})=>S({boxSizing:"border-box"},e.container&&{display:"flex",flexWrap:"wrap",width:"100%"},e.item&&{margin:0},e.zeroMinWidth&&{minWidth:0},e.wrap!=="wrap"&&{flexWrap:e.wrap}),lme,cme,ume,sme);function pme(e,t){if(!e||e<=0)return[];if(typeof e=="string"&&!Number.isNaN(Number(e))||typeof e=="number")return[`spacing-xs-${String(e)}`];const n=[];return t.forEach(r=>{const o=e[r];if(Number(o)>0){const i=`spacing-${r}-${String(o)}`;n.push(i)}}),n}const hme=e=>{const{classes:t,container:n,direction:r,item:o,spacing:i,wrap:a,zeroMinWidth:s,breakpoints:l}=e;let c=[];n&&(c=pme(i,l));const u=[];l.forEach(f=>{const p=e[f];p&&u.push(`grid-${f}-${String(p)}`)});const d={root:["root",n&&"container",o&&"item",s&&"zeroMinWidth",...c,r!=="row"&&`direction-xs-${String(r)}`,a!=="wrap"&&`wrap-xs-${String(a)}`,...u]};return de(d,nme,t)},Te=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiGrid"}),{breakpoints:o}=qn(),i=ih(r),{className:a,columns:s,columnSpacing:l,component:c="div",container:u=!1,direction:d="row",item:f=!1,rowSpacing:p,spacing:h=0,wrap:m="wrap",zeroMinWidth:v=!1}=i,b=q(i,ame),y=p||h,w=l||h,C=g.useContext($L),O=u?s||12:C,P={},E=S({},b);o.keys.forEach(M=>{b[M]!=null&&(P[M]=b[M],delete E[M])});const T=S({},i,{columns:O,container:u,direction:d,item:f,rowSpacing:y,columnSpacing:w,wrap:m,zeroMinWidth:v,spacing:h},P,{breakpoints:o.keys}),$=hme(T);return k.jsx($L.Provider,{value:O,children:k.jsx(fme,S({ownerState:T,className:Q($.root,a),as:c,ref:n},E))})}),Wd=yre({createStyledComponent:W("div",{name:"MuiGrid2",slot:"Root",overridesResolver:(e,t)=>t.root}),componentName:"MuiGrid2",useThemeProps:e=>Ee({props:e,name:"MuiGrid2"})}),mme=["addEndListener","appear","children","easing","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","style","timeout","TransitionComponent"];function IT(e){return`scale(${e}, ${e**2})`}const gme={entering:{opacity:1,transform:IT(1)},entered:{opacity:1,transform:"none"}},ZP=typeof navigator<"u"&&/^((?!chrome|android).)*(safari|mobile)/i.test(navigator.userAgent)&&/(os |version\/)15(.|_)4/i.test(navigator.userAgent),nd=g.forwardRef(function(t,n){const{addEndListener:r,appear:o=!0,children:i,easing:a,in:s,onEnter:l,onEntered:c,onEntering:u,onExit:d,onExited:f,onExiting:p,style:h,timeout:m="auto",TransitionComponent:v=mi}=t,b=q(t,mme),y=ic(),w=g.useRef(),C=qn(),O=g.useRef(null),P=Ot(O,i.ref,n),E=I=>A=>{if(I){const F=O.current;A===void 0?I(F):I(F,A)}},T=E(u),$=E((I,A)=>{YM(I);const{duration:F,delay:_,easing:j}=kc({style:h,timeout:m,easing:a},{mode:"enter"});let B;m==="auto"?(B=C.transitions.getAutoHeightDuration(I.clientHeight),w.current=B):B=F,I.style.transition=[C.transitions.create("opacity",{duration:B,delay:_}),C.transitions.create("transform",{duration:ZP?B:B*.666,delay:_,easing:j})].join(","),l&&l(I,A)}),M=E(c),D=E(p),L=E(I=>{const{duration:A,delay:F,easing:_}=kc({style:h,timeout:m,easing:a},{mode:"exit"});let j;m==="auto"?(j=C.transitions.getAutoHeightDuration(I.clientHeight),w.current=j):j=A,I.style.transition=[C.transitions.create("opacity",{duration:j,delay:F}),C.transitions.create("transform",{duration:ZP?j:j*.666,delay:ZP?F:F||j*.333,easing:_})].join(","),I.style.opacity=0,I.style.transform=IT(.75),d&&d(I)}),N=E(f),R=I=>{m==="auto"&&y.start(w.current||0,I),r&&r(O.current,I)};return k.jsx(v,S({appear:o,in:s,nodeRef:O,onEnter:$,onEntered:M,onEntering:T,onExit:L,onExited:N,onExiting:D,addEndListener:R,timeout:m==="auto"?null:m},b,{children:(I,A)=>g.cloneElement(i,S({style:S({opacity:0,transform:IT(.75),visibility:I==="exited"&&!s?"hidden":void 0},gme[I],h,i.props.style),ref:P},A))}))});nd.muiSupportAuto=!0;function vme(e){return Se("MuiImageList",e)}Pe("MuiImageList",["root","masonry","quilted","standard","woven"]);const p8=g.createContext({}),yme=["children","className","cols","component","rowHeight","gap","style","variant"],bme=e=>{const{classes:t,variant:n}=e;return de({root:["root",n]},vme,t)},xme=W("ul",{name:"MuiImageList",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant]]}})(({ownerState:e})=>S({display:"grid",overflowY:"auto",listStyle:"none",padding:0,WebkitOverflowScrolling:"touch"},e.variant==="masonry"&&{display:"block"})),h8=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiImageList"}),{children:o,className:i,cols:a=2,component:s="ul",rowHeight:l="auto",gap:c=4,style:u,variant:d="standard"}=r,f=q(r,yme),p=g.useMemo(()=>({rowHeight:l,gap:c,variant:d}),[l,c,d]);g.useEffect(()=>{},[]);const h=S(d==="masonry"?{columnCount:a,columnGap:c}:{gridTemplateColumns:`repeat(${a}, 1fr)`,gap:c},u),m=S({},r,{component:s,gap:c,rowHeight:l,variant:d}),v=bme(m);return k.jsx(xme,S({as:s,className:Q(v.root,v[d],i),ref:n,style:h,ownerState:m},f,{children:k.jsx(p8.Provider,{value:p,children:o})}))});function wme(e){return Se("MuiImageListItem",e)}const ML=Pe("MuiImageListItem",["root","img","standard","woven","masonry","quilted"]),Cme=["children","className","cols","component","rows","style"],Sme=e=>{const{classes:t,variant:n}=e;return de({root:["root",n],img:["img"]},wme,t)},Pme=W("li",{name:"MuiImageListItem",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[{[`& .${ML.img}`]:t.img},t.root,t[n.variant]]}})(({ownerState:e})=>S({display:"block",position:"relative"},e.variant==="standard"&&{display:"flex",flexDirection:"column"},e.variant==="woven"&&{height:"100%",alignSelf:"center","&:nth-of-type(even)":{height:"70%"}},{[`& .${ML.img}`]:S({objectFit:"cover",width:"100%",height:"100%",display:"block"},e.variant==="standard"&&{height:"auto",flexGrow:1})})),m8=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiImageListItem"}),{children:o,className:i,cols:a=1,component:s="li",rows:l=1,style:c}=r,u=q(r,Cme),{rowHeight:d="auto",gap:f,variant:p}=g.useContext(p8);let h="auto";p==="woven"?h=void 0:d!=="auto"&&(h=d*l+f*(l-1));const m=S({},r,{cols:a,component:s,gap:f,rowHeight:d,rows:l,variant:p}),v=Sme(m);return k.jsx(Pme,S({as:s,className:Q(v.root,v[p],i),ref:n,style:S({height:h,gridColumnEnd:p!=="masonry"?`span ${a}`:void 0,gridRowEnd:p!=="masonry"?`span ${l}`:void 0,marginBottom:p==="masonry"?f:void 0,breakInside:p==="masonry"?"avoid":void 0},c),ownerState:m},u,{children:g.Children.map(o,b=>g.isValidElement(b)?b.type==="img"||Au(b,["Image"])?g.cloneElement(b,{className:Q(v.img,b.props.className)}):b:null)}))});function Eme(e){return Se("MuiImageListItemBar",e)}Pe("MuiImageListItemBar",["root","positionBottom","positionTop","positionBelow","titleWrap","titleWrapBottom","titleWrapTop","titleWrapBelow","titleWrapActionPosLeft","titleWrapActionPosRight","title","subtitle","actionIcon","actionIconActionPosLeft","actionIconActionPosRight"]);const Ome=["actionIcon","actionPosition","className","subtitle","title","position"],Tme=e=>{const{classes:t,position:n,actionIcon:r,actionPosition:o}=e,i={root:["root",`position${ie(n)}`],titleWrap:["titleWrap",`titleWrap${ie(n)}`,r&&`titleWrapActionPos${ie(o)}`],title:["title"],subtitle:["subtitle"],actionIcon:["actionIcon",`actionIconActionPos${ie(o)}`]};return de(i,Eme,t)},kme=W("div",{name:"MuiImageListItemBar",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[`position${ie(n.position)}`]]}})(({theme:e,ownerState:t})=>S({position:"absolute",left:0,right:0,background:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",fontFamily:e.typography.fontFamily},t.position==="bottom"&&{bottom:0},t.position==="top"&&{top:0},t.position==="below"&&{position:"relative",background:"transparent",alignItems:"normal"})),Ime=W("div",{name:"MuiImageListItemBar",slot:"TitleWrap",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.titleWrap,t[`titleWrap${ie(n.position)}`],n.actionIcon&&t[`titleWrapActionPos${ie(n.actionPosition)}`]]}})(({theme:e,ownerState:t})=>S({flexGrow:1,padding:"12px 16px",color:(e.vars||e).palette.common.white,overflow:"hidden"},t.position==="below"&&{padding:"6px 0 12px",color:"inherit"},t.actionIcon&&t.actionPosition==="left"&&{paddingLeft:0},t.actionIcon&&t.actionPosition==="right"&&{paddingRight:0})),$me=W("div",{name:"MuiImageListItemBar",slot:"Title",overridesResolver:(e,t)=>t.title})(({theme:e})=>({fontSize:e.typography.pxToRem(16),lineHeight:"24px",textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap"})),Mme=W("div",{name:"MuiImageListItemBar",slot:"Subtitle",overridesResolver:(e,t)=>t.subtitle})(({theme:e})=>({fontSize:e.typography.pxToRem(12),lineHeight:1,textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap"})),Ame=W("div",{name:"MuiImageListItemBar",slot:"ActionIcon",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.actionIcon,t[`actionIconActionPos${ie(n.actionPosition)}`]]}})(({ownerState:e})=>S({},e.actionPosition==="left"&&{order:-1})),Rme=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiImageListItemBar"}),{actionIcon:o,actionPosition:i="right",className:a,subtitle:s,title:l,position:c="bottom"}=r,u=q(r,Ome),d=S({},r,{position:c,actionPosition:i}),f=Tme(d);return k.jsxs(kme,S({ownerState:d,className:Q(f.root,a),ref:n},u,{children:[k.jsxs(Ime,{ownerState:d,className:f.titleWrap,children:[k.jsx($me,{className:f.title,children:l}),s?k.jsx(Mme,{className:f.subtitle,children:s}):null]}),o?k.jsx(Ame,{ownerState:d,className:f.actionIcon,children:o}):null]}))}),_me=["disableUnderline","components","componentsProps","fullWidth","inputComponent","multiline","slotProps","slots","type"],Dme=e=>{const{classes:t,disableUnderline:n}=e,o=de({root:["root",!n&&"underline"],input:["input"]},Ide,t);return S({},t,o)},Nme=W(_C,{shouldForwardProp:e=>jr(e)||e==="classes",name:"MuiInput",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[...AC(e,t),!n.disableUnderline&&t.underline]}})(({theme:e,ownerState:t})=>{let r=e.palette.mode==="light"?"rgba(0, 0, 0, 0.42)":"rgba(255, 255, 255, 0.7)";return e.vars&&(r=`rgba(${e.vars.palette.common.onBackgroundChannel} / ${e.vars.opacity.inputUnderline})`),S({position:"relative"},t.formControl&&{"label + &":{marginTop:16}},!t.disableUnderline&&{"&::after":{borderBottom:`2px solid ${(e.vars||e).palette[t.color].main}`,left:0,bottom:0,content:'""',position:"absolute",right:0,transform:"scaleX(0)",transition:e.transitions.create("transform",{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut}),pointerEvents:"none"},[`&.${nc.focused}:after`]:{transform:"scaleX(1) translateX(0)"},[`&.${nc.error}`]:{"&::before, &::after":{borderBottomColor:(e.vars||e).palette.error.main}},"&::before":{borderBottom:`1px solid ${r}`,left:0,bottom:0,content:'"\\00a0"',position:"absolute",right:0,transition:e.transitions.create("border-bottom-color",{duration:e.transitions.duration.shorter}),pointerEvents:"none"},[`&:hover:not(.${nc.disabled}, .${nc.error}):before`]:{borderBottom:`2px solid ${(e.vars||e).palette.text.primary}`,"@media (hover: none)":{borderBottom:`1px solid ${r}`}},[`&.${nc.disabled}:before`]:{borderBottomStyle:"dotted"}})}),Lme=W(DC,{name:"MuiInput",slot:"Input",overridesResolver:RC})({}),dA=g.forwardRef(function(t,n){var r,o,i,a;const s=Ee({props:t,name:"MuiInput"}),{disableUnderline:l,components:c={},componentsProps:u,fullWidth:d=!1,inputComponent:f="input",multiline:p=!1,slotProps:h,slots:m={},type:v="text"}=s,b=q(s,_me),y=Dme(s),C={root:{ownerState:{disableUnderline:l}}},O=h??u?Dr(h??u,C):C,P=(r=(o=m.root)!=null?o:c.Root)!=null?r:Nme,E=(i=(a=m.input)!=null?a:c.Input)!=null?i:Lme;return k.jsx(fh,S({slots:{root:P,input:E},slotProps:O,fullWidth:d,inputComponent:f,multiline:p,ref:n,type:v},b,{classes:y}))});dA.muiName="Input";function jme(e){return Se("MuiInputAdornment",e)}const AL=Pe("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]);var RL;const Fme=["children","className","component","disablePointerEvents","disableTypography","position","variant"],Bme=(e,t)=>{const{ownerState:n}=e;return[t.root,t[`position${ie(n.position)}`],n.disablePointerEvents===!0&&t.disablePointerEvents,t[n.variant]]},zme=e=>{const{classes:t,disablePointerEvents:n,hiddenLabel:r,position:o,size:i,variant:a}=e,s={root:["root",n&&"disablePointerEvents",o&&`position${ie(o)}`,a,r&&"hiddenLabel",i&&`size${ie(i)}`]};return de(s,jme,t)},Vme=W("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:Bme})(({theme:e,ownerState:t})=>S({display:"flex",height:"0.01em",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:(e.vars||e).palette.action.active},t.variant==="filled"&&{[`&.${AL.positionStart}&:not(.${AL.hiddenLabel})`]:{marginTop:16}},t.position==="start"&&{marginRight:8},t.position==="end"&&{marginLeft:8},t.disablePointerEvents===!0&&{pointerEvents:"none"})),dr=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiInputAdornment"}),{children:o,className:i,component:a="div",disablePointerEvents:s=!1,disableTypography:l=!1,position:c,variant:u}=r,d=q(r,Fme),f=Ps()||{};let p=u;u&&f.variant,f&&!p&&(p=f.variant);const h=S({},r,{hiddenLabel:f.hiddenLabel,size:f.size,disablePointerEvents:s,position:c,variant:p}),m=zme(h);return k.jsx(MC.Provider,{value:null,children:k.jsx(Vme,S({as:a,ownerState:h,className:Q(m.root,i),ref:n},d,{children:typeof o=="string"&&!l?k.jsx(Be,{color:"text.secondary",children:o}):k.jsxs(g.Fragment,{children:[c==="start"?RL||(RL=k.jsx("span",{className:"notranslate",children:"​"})):null,o]})}))})});function Hme(e){return Se("MuiInputLabel",e)}Pe("MuiInputLabel",["root","focused","disabled","error","required","asterisk","formControl","sizeSmall","shrink","animated","standard","filled","outlined"]);const Ume=["disableAnimation","margin","shrink","variant","className"],Wme=e=>{const{classes:t,formControl:n,size:r,shrink:o,disableAnimation:i,variant:a,required:s}=e,l={root:["root",n&&"formControl",!i&&"animated",o&&"shrink",r&&r!=="normal"&&`size${ie(r)}`,a],asterisk:[s&&"asterisk"]},c=de(l,Hme,t);return S({},t,c)},Gme=W(tme,{shouldForwardProp:e=>jr(e)||e==="classes",name:"MuiInputLabel",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[{[`& .${xg.asterisk}`]:t.asterisk},t.root,n.formControl&&t.formControl,n.size==="small"&&t.sizeSmall,n.shrink&&t.shrink,!n.disableAnimation&&t.animated,n.focused&&t.focused,t[n.variant]]}})(({theme:e,ownerState:t})=>S({display:"block",transformOrigin:"top left",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:"100%"},t.formControl&&{position:"absolute",left:0,top:0,transform:"translate(0, 20px) scale(1)"},t.size==="small"&&{transform:"translate(0, 17px) scale(1)"},t.shrink&&{transform:"translate(0, -1.5px) scale(0.75)",transformOrigin:"top left",maxWidth:"133%"},!t.disableAnimation&&{transition:e.transitions.create(["color","transform","max-width"],{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut})},t.variant==="filled"&&S({zIndex:1,pointerEvents:"none",transform:"translate(12px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"},t.size==="small"&&{transform:"translate(12px, 13px) scale(1)"},t.shrink&&S({userSelect:"none",pointerEvents:"auto",transform:"translate(12px, 7px) scale(0.75)",maxWidth:"calc(133% - 24px)"},t.size==="small"&&{transform:"translate(12px, 4px) scale(0.75)"})),t.variant==="outlined"&&S({zIndex:1,pointerEvents:"none",transform:"translate(14px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"},t.size==="small"&&{transform:"translate(14px, 9px) scale(1)"},t.shrink&&{userSelect:"none",pointerEvents:"auto",maxWidth:"calc(133% - 32px)",transform:"translate(14px, -9px) scale(0.75)"}))),mh=g.forwardRef(function(t,n){const r=Ee({name:"MuiInputLabel",props:t}),{disableAnimation:o=!1,shrink:i,className:a}=r,s=q(r,Ume),l=Ps();let c=i;typeof c>"u"&&l&&(c=l.filled||l.focused||l.adornedStart);const u=zc({props:r,muiFormControl:l,states:["size","variant","required","focused"]}),d=S({},r,{disableAnimation:o,formControl:l,shrink:c,size:u.size,variant:u.variant,required:u.required,focused:u.focused}),f=Wme(d);return k.jsx(Gme,S({"data-shrink":c,ownerState:d,ref:n,className:Q(f.root,a)},s,{classes:f}))});function qme(e){return Se("MuiLinearProgress",e)}Pe("MuiLinearProgress",["root","colorPrimary","colorSecondary","determinate","indeterminate","buffer","query","dashed","dashedColorPrimary","dashedColorSecondary","bar","barColorPrimary","barColorSecondary","bar1Indeterminate","bar1Determinate","bar1Buffer","bar2Indeterminate","bar2Buffer"]);const Kme=["className","color","value","valueBuffer","variant"];let gh=e=>e,_L,DL,NL,LL,jL,FL;const $T=4,Yme=Ba(_L||(_L=gh` +`,gOe=typeof h_!="string"?Nf` + animation: ${h_} 1.4s linear infinite; + `:null,yOe=typeof m_!="string"?Nf` + animation: ${m_} 1.4s ease-in-out infinite; + `:null,vOe=e=>{const{classes:t,variant:n,color:r,disableShrink:o}=e,i={root:["root",n,`color${Ce(r)}`],svg:["svg"],circle:["circle",`circle${Ce(n)}`,o&&"circleDisableShrink"]};return rt(i,mOe,t)},bOe=oe("span",{name:"MuiCircularProgress",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],t[`color${Ce(n.color)}`]]}})(Ze(({theme:e})=>({display:"inline-block",variants:[{props:{variant:"determinate"},style:{transition:e.transitions.create("transform")}},{props:{variant:"indeterminate"},style:gOe||{animation:`${h_} 1.4s linear infinite`}},...Object.entries(e.palette).filter(zn()).map(([t])=>({props:{color:t},style:{color:(e.vars||e).palette[t].main}}))]}))),wOe=oe("svg",{name:"MuiCircularProgress",slot:"Svg",overridesResolver:(e,t)=>t.svg})({display:"block"}),xOe=oe("circle",{name:"MuiCircularProgress",slot:"Circle",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.circle,t[`circle${Ce(n.variant)}`],n.disableShrink&&t.circleDisableShrink]}})(Ze(({theme:e})=>({stroke:"currentColor",variants:[{props:{variant:"determinate"},style:{transition:e.transitions.create("stroke-dashoffset")}},{props:{variant:"indeterminate"},style:{strokeDasharray:"80px, 200px",strokeDashoffset:0}},{props:({ownerState:t})=>t.variant==="indeterminate"&&!t.disableShrink,style:yOe||{animation:`${m_} 1.4s ease-in-out infinite`}}]}))),mZ=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiCircularProgress"}),{className:o,color:i="primary",disableShrink:a=!1,size:s=40,style:l,thickness:c=3.6,value:u=0,variant:d="indeterminate",...f}=r,p={...r,color:i,disableShrink:a,size:s,thickness:c,value:u,variant:d},m=vOe(p),g={},v={},w={};if(d==="determinate"){const x=2*Math.PI*((Td-c)/2);g.strokeDasharray=x.toFixed(3),w["aria-valuenow"]=Math.round(u),g.strokeDashoffset=`${((100-u)/100*x).toFixed(3)}px`,v.transform="rotate(-90deg)"}return $.jsx(bOe,{className:de(m.root,o),style:{width:s,height:s,...v,...l},ownerState:p,ref:n,role:"progressbar",...w,...f,children:$.jsx(wOe,{className:m.svg,ownerState:p,viewBox:`${Td/2} ${Td/2} ${Td} ${Td}`,children:$.jsx(xOe,{className:m.circle,style:g,ownerState:p,cx:Td,cy:Td,r:(Td-c)/2,fill:"none",strokeWidth:c})})})});function Q3(e){return e.substring(2).toLowerCase()}function SOe(e,t){return t.documentElement.clientWidth(setTimeout(()=>{l.current=!0},0),()=>{l.current=!1}),[]);const u=Cr(Lf(t),s),d=Go(m=>{const g=c.current;c.current=!1;const v=ii(s.current);if(!l.current||!s.current||"clientX"in m&&SOe(m,v))return;if(a.current){a.current=!1;return}let w;m.composedPath?w=m.composedPath().includes(s.current):w=!v.documentElement.contains(m.target)||s.current.contains(m.target),!w&&(n||!g)&&o(m)}),f=m=>g=>{c.current=!0;const v=t.props[m];v&&v(g)},p={ref:u};return i!==!1&&(p[i]=f(i)),y.useEffect(()=>{if(i!==!1){const m=Q3(i),g=ii(s.current),v=()=>{a.current=!0};return g.addEventListener(m,d),g.addEventListener("touchmove",v),()=>{g.removeEventListener(m,d),g.removeEventListener("touchmove",v)}}},[d,i]),r!==!1&&(p[r]=f(r)),y.useEffect(()=>{if(r!==!1){const m=Q3(r),g=ii(s.current);return g.addEventListener(m,d),()=>{g.removeEventListener(m,d)}}},[d,r]),$.jsx(y.Fragment,{children:y.cloneElement(t,p)})}const Yu=K0e({createStyledComponent:oe("div",{name:"MuiContainer",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[`maxWidth${Ce(String(n.maxWidth))}`],n.fixed&&t.fixed,n.disableGutters&&t.disableGutters]}}),useThemeProps:e=>it({props:e,name:"MuiContainer"})});function COe(e){const t=ii(e);return t.body===e?os(e).innerWidth>t.documentElement.clientWidth:e.scrollHeight>e.clientHeight}function pw(e,t){t?e.setAttribute("aria-hidden","true"):e.removeAttribute("aria-hidden")}function J3(e){return parseInt(os(e).getComputedStyle(e).paddingRight,10)||0}function POe(e){const n=["TEMPLATE","SCRIPT","STYLE","LINK","MAP","META","NOSCRIPT","PICTURE","COL","COLGROUP","PARAM","SLOT","SOURCE","TRACK"].includes(e.tagName),r=e.tagName==="INPUT"&&e.getAttribute("type")==="hidden";return n||r}function Z3(e,t,n,r,o){const i=[t,n,...r];[].forEach.call(e.children,a=>{const s=!i.includes(a),l=!POe(a);s&&l&&pw(a,o)})}function x$(e,t){let n=-1;return e.some((r,o)=>t(r)?(n=o,!0):!1),n}function TOe(e,t){const n=[],r=e.container;if(!t.disableScrollLock){if(COe(r)){const a=gX(os(r));n.push({value:r.style.paddingRight,property:"padding-right",el:r}),r.style.paddingRight=`${J3(r)+a}px`;const s=ii(r).querySelectorAll(".mui-fixed");[].forEach.call(s,l=>{n.push({value:l.style.paddingRight,property:"padding-right",el:l}),l.style.paddingRight=`${J3(l)+a}px`})}let i;if(r.parentNode instanceof DocumentFragment)i=ii(r).body;else{const a=r.parentElement,s=os(r);i=(a==null?void 0:a.nodeName)==="HTML"&&s.getComputedStyle(a).overflowY==="scroll"?a:r}n.push({value:i.style.overflow,property:"overflow",el:i},{value:i.style.overflowX,property:"overflow-x",el:i},{value:i.style.overflowY,property:"overflow-y",el:i}),i.style.overflow="hidden"}return()=>{n.forEach(({value:i,el:a,property:s})=>{i?a.style.setProperty(s,i):a.style.removeProperty(s)})}}function EOe(e){const t=[];return[].forEach.call(e.children,n=>{n.getAttribute("aria-hidden")==="true"&&t.push(n)}),t}class OOe{constructor(){this.modals=[],this.containers=[]}add(t,n){let r=this.modals.indexOf(t);if(r!==-1)return r;r=this.modals.length,this.modals.push(t),t.modalRef&&pw(t.modalRef,!1);const o=EOe(n);Z3(n,t.mount,t.modalRef,o,!0);const i=x$(this.containers,a=>a.container===n);return i!==-1?(this.containers[i].modals.push(t),r):(this.containers.push({modals:[t],container:n,restore:null,hiddenSiblings:o}),r)}mount(t,n){const r=x$(this.containers,i=>i.modals.includes(t)),o=this.containers[r];o.restore||(o.restore=TOe(o,n))}remove(t,n=!0){const r=this.modals.indexOf(t);if(r===-1)return r;const o=x$(this.containers,a=>a.modals.includes(t)),i=this.containers[o];if(i.modals.splice(i.modals.indexOf(t),1),this.modals.splice(r,1),i.modals.length===0)i.restore&&i.restore(),t.modalRef&&pw(t.modalRef,n),Z3(i.container,t.mount,t.modalRef,i.hiddenSiblings,!1),this.containers.splice(o,1);else{const a=i.modals[i.modals.length-1];a.modalRef&&pw(a.modalRef,!1)}return r}isTopModal(t){return this.modals.length>0&&this.modals[this.modals.length-1]===t}}const IOe=["input","select","textarea","a[href]","button","[tabindex]","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable="false"])'].join(",");function kOe(e){const t=parseInt(e.getAttribute("tabindex")||"",10);return Number.isNaN(t)?e.contentEditable==="true"||(e.nodeName==="AUDIO"||e.nodeName==="VIDEO"||e.nodeName==="DETAILS")&&e.getAttribute("tabindex")===null?0:e.tabIndex:t}function MOe(e){if(e.tagName!=="INPUT"||e.type!=="radio"||!e.name)return!1;const t=r=>e.ownerDocument.querySelector(`input[type="radio"]${r}`);let n=t(`[name="${e.name}"]:checked`);return n||(n=t(`[name="${e.name}"]`)),n!==e}function AOe(e){return!(e.disabled||e.tagName==="INPUT"&&e.type==="hidden"||MOe(e))}function $Oe(e){const t=[],n=[];return Array.from(e.querySelectorAll(IOe)).forEach((r,o)=>{const i=kOe(r);i===-1||!AOe(r)||(i===0?t.push(r):n.push({documentOrder:o,tabIndex:i,node:r}))}),n.sort((r,o)=>r.tabIndex===o.tabIndex?r.documentOrder-o.documentOrder:r.tabIndex-o.tabIndex).map(r=>r.node).concat(t)}function ROe(){return!0}function KF(e){const{children:t,disableAutoFocus:n=!1,disableEnforceFocus:r=!1,disableRestoreFocus:o=!1,getTabbable:i=$Oe,isEnabled:a=ROe,open:s}=e,l=y.useRef(!1),c=y.useRef(null),u=y.useRef(null),d=y.useRef(null),f=y.useRef(null),p=y.useRef(!1),m=y.useRef(null),g=Cr(Lf(t),m),v=y.useRef(null);y.useEffect(()=>{!s||!m.current||(p.current=!n)},[n,s]),y.useEffect(()=>{if(!s||!m.current)return;const S=ii(m.current);return m.current.contains(S.activeElement)||(m.current.hasAttribute("tabIndex")||m.current.setAttribute("tabIndex","-1"),p.current&&m.current.focus()),()=>{o||(d.current&&d.current.focus&&(l.current=!0,d.current.focus()),d.current=null)}},[s]),y.useEffect(()=>{if(!s||!m.current)return;const S=ii(m.current),P=O=>{v.current=O,!(r||!a()||O.key!=="Tab")&&S.activeElement===m.current&&O.shiftKey&&(l.current=!0,u.current&&u.current.focus())},T=()=>{var A,I;const O=m.current;if(O===null)return;if(!S.hasFocus()||!a()||l.current){l.current=!1;return}if(O.contains(S.activeElement)||r&&S.activeElement!==c.current&&S.activeElement!==u.current)return;if(S.activeElement!==f.current)f.current=null;else if(f.current!==null)return;if(!p.current)return;let k=[];if((S.activeElement===c.current||S.activeElement===u.current)&&(k=i(m.current)),k.length>0){const R=!!((A=v.current)!=null&&A.shiftKey&&((I=v.current)==null?void 0:I.key)==="Tab"),N=k[0],L=k[k.length-1];typeof N!="string"&&typeof L!="string"&&(R?L.focus():N.focus())}else O.focus()};S.addEventListener("focusin",T),S.addEventListener("keydown",P,!0);const E=setInterval(()=>{S.activeElement&&S.activeElement.tagName==="BODY"&&T()},50);return()=>{clearInterval(E),S.removeEventListener("focusin",T),S.removeEventListener("keydown",P,!0)}},[n,r,o,a,s,i]);const w=S=>{d.current===null&&(d.current=S.relatedTarget),p.current=!0,f.current=S.target;const P=t.props.onFocus;P&&P(S)},x=S=>{d.current===null&&(d.current=S.relatedTarget),p.current=!0};return $.jsxs(y.Fragment,{children:[$.jsx("div",{tabIndex:s?0:-1,onFocus:x,ref:c,"data-testid":"sentinelStart"}),y.cloneElement(t,{ref:g,onFocus:w}),$.jsx("div",{tabIndex:s?0:-1,onFocus:x,ref:u,"data-testid":"sentinelEnd"})]})}function _Oe(e){return typeof e=="function"?e():e}function DOe(e){return e?e.props.hasOwnProperty("in"):!1}const DC=new OOe;function NOe(e){const{container:t,disableEscapeKeyDown:n=!1,disableScrollLock:r=!1,closeAfterTransition:o=!1,onTransitionEnter:i,onTransitionExited:a,children:s,onClose:l,open:c,rootRef:u}=e,d=y.useRef({}),f=y.useRef(null),p=y.useRef(null),m=Cr(p,u),[g,v]=y.useState(!c),w=DOe(s);let x=!0;(e["aria-hidden"]==="false"||e["aria-hidden"]===!1)&&(x=!1);const S=()=>ii(f.current),P=()=>(d.current.modalRef=p.current,d.current.mount=f.current,d.current),T=()=>{DC.mount(P(),{disableScrollLock:r}),p.current&&(p.current.scrollTop=0)},E=Go(()=>{const _=_Oe(t)||S().body;DC.add(P(),_),p.current&&T()}),O=()=>DC.isTopModal(P()),k=Go(_=>{f.current=_,_&&(c&&O()?T():p.current&&pw(p.current,x))}),A=y.useCallback(()=>{DC.remove(P(),x)},[x]);y.useEffect(()=>()=>{A()},[A]),y.useEffect(()=>{c?E():(!w||!o)&&A()},[c,A,w,o,E]);const I=_=>D=>{var z;(z=_.onKeyDown)==null||z.call(_,D),!(D.key!=="Escape"||D.which===229||!O())&&(n||(D.stopPropagation(),l&&l(D,"escapeKeyDown")))},R=_=>D=>{var z;(z=_.onClick)==null||z.call(_,D),D.target===D.currentTarget&&l&&l(D,"backdropClick")};return{getRootProps:(_={})=>{const D=cT(e);delete D.onTransitionEnter,delete D.onTransitionExited;const z={...D,..._};return{role:"presentation",...z,onKeyDown:I(z),ref:m}},getBackdropProps:(_={})=>{const D=_;return{"aria-hidden":!0,...D,onClick:R(D),open:c}},getTransitionProps:()=>{const _=()=>{v(!1),i&&i()},D=()=>{v(!0),a&&a(),o&&A()};return{onEnter:qH(_,s==null?void 0:s.props.onEnter),onExited:qH(D,s==null?void 0:s.props.onExited)}},rootRef:m,portalRef:k,isTopModal:O,exited:g,hasTransition:w}}function LOe(e){return tt("MuiModal",e)}ot("MuiModal",["root","hidden","backdrop"]);const FOe=e=>{const{open:t,exited:n,classes:r}=e;return rt({root:["root",!t&&n&&"hidden"],backdrop:["backdrop"]},LOe,r)},jOe=oe("div",{name:"MuiModal",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,!n.open&&n.exited&&t.hidden]}})(Ze(({theme:e})=>({position:"fixed",zIndex:(e.vars||e).zIndex.modal,right:0,bottom:0,top:0,left:0,variants:[{props:({ownerState:t})=>!t.open&&t.exited,style:{visibility:"hidden"}}]}))),BOe=oe(uZ,{name:"MuiModal",slot:"Backdrop",overridesResolver:(e,t)=>t.backdrop})({zIndex:-1}),Bv=y.forwardRef(function(t,n){const r=it({name:"MuiModal",props:t}),{BackdropComponent:o=BOe,BackdropProps:i,classes:a,className:s,closeAfterTransition:l=!1,children:c,container:u,component:d,components:f={},componentsProps:p={},disableAutoFocus:m=!1,disableEnforceFocus:g=!1,disableEscapeKeyDown:v=!1,disablePortal:w=!1,disableRestoreFocus:x=!1,disableScrollLock:S=!1,hideBackdrop:P=!1,keepMounted:T=!1,onBackdropClick:E,onClose:O,onTransitionEnter:k,onTransitionExited:A,open:I,slotProps:R={},slots:N={},theme:L,...j}=r,_={...r,closeAfterTransition:l,disableAutoFocus:m,disableEnforceFocus:g,disableEscapeKeyDown:v,disablePortal:w,disableRestoreFocus:x,disableScrollLock:S,hideBackdrop:P,keepMounted:T},{getRootProps:D,getBackdropProps:z,getTransitionProps:F,portalRef:H,isTopModal:U,exited:q,hasTransition:X}=NOe({..._,rootRef:n}),ae={..._,exited:q},Z=FOe(ae),K={};if(c.props.tabIndex===void 0&&(K.tabIndex="-1"),X){const{onEnter:ee,onExited:ce}=F();K.onEnter=ee,K.onExited=ce}const te={...j,slots:{root:f.Root,backdrop:f.Backdrop,...N},slotProps:{...p,...R}},[pe,ie]=hr("root",{elementType:jOe,externalForwardedProps:te,getSlotProps:D,additionalProps:{ref:n,as:d},ownerState:ae,className:de(s,Z==null?void 0:Z.root,!ae.open&&ae.exited&&(Z==null?void 0:Z.hidden))}),[le,re]=hr("backdrop",{elementType:o,externalForwardedProps:te,additionalProps:i,getSlotProps:ee=>z({...ee,onClick:ce=>{E&&E(ce),ee!=null&&ee.onClick&&ee.onClick(ce)}}),className:de(i==null?void 0:i.className,Z==null?void 0:Z.backdrop),ownerState:ae}),fe=Cr(i==null?void 0:i.ref,re.ref);return!T&&!I&&(!X||q)?null:$.jsx(lZ,{ref:H,container:u,disablePortal:w,children:$.jsxs(pe,{...ie,children:[!P&&o?$.jsx(le,{...re,ref:fe}):null,$.jsx(KF,{disableEnforceFocus:g,disableAutoFocus:m,disableRestoreFocus:x,isEnabled:U,open:I,children:y.cloneElement(c,K)})]})})});function zOe(e){return tt("MuiDialog",e)}const hw=ot("MuiDialog",["root","scrollPaper","scrollBody","container","paper","paperScrollPaper","paperScrollBody","paperWidthFalse","paperWidthXs","paperWidthSm","paperWidthMd","paperWidthLg","paperWidthXl","paperFullWidth","paperFullScreen"]),gZ=y.createContext({}),VOe=oe(uZ,{name:"MuiDialog",slot:"Backdrop",overrides:(e,t)=>t.backdrop})({zIndex:-1}),HOe=e=>{const{classes:t,scroll:n,maxWidth:r,fullWidth:o,fullScreen:i}=e,a={root:["root"],container:["container",`scroll${Ce(n)}`],paper:["paper",`paperScroll${Ce(n)}`,`paperWidth${Ce(String(r))}`,o&&"paperFullWidth",i&&"paperFullScreen"]};return rt(a,zOe,t)},UOe=oe(Bv,{name:"MuiDialog",slot:"Root",overridesResolver:(e,t)=>t.root})({"@media print":{position:"absolute !important"}}),WOe=oe("div",{name:"MuiDialog",slot:"Container",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.container,t[`scroll${Ce(n.scroll)}`]]}})({height:"100%","@media print":{height:"auto"},outline:0,variants:[{props:{scroll:"paper"},style:{display:"flex",justifyContent:"center",alignItems:"center"}},{props:{scroll:"body"},style:{overflowY:"auto",overflowX:"hidden",textAlign:"center","&::after":{content:'""',display:"inline-block",verticalAlign:"middle",height:"100%",width:"0"}}}]}),GOe=oe(uo,{name:"MuiDialog",slot:"Paper",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.paper,t[`scrollPaper${Ce(n.scroll)}`],t[`paperWidth${Ce(String(n.maxWidth))}`],n.fullWidth&&t.paperFullWidth,n.fullScreen&&t.paperFullScreen]}})(Ze(({theme:e})=>({margin:32,position:"relative",overflowY:"auto","@media print":{overflowY:"visible",boxShadow:"none"},variants:[{props:{scroll:"paper"},style:{display:"flex",flexDirection:"column",maxHeight:"calc(100% - 64px)"}},{props:{scroll:"body"},style:{display:"inline-block",verticalAlign:"middle",textAlign:"initial"}},{props:({ownerState:t})=>!t.maxWidth,style:{maxWidth:"calc(100% - 64px)"}},{props:{maxWidth:"xs"},style:{maxWidth:e.breakpoints.unit==="px"?Math.max(e.breakpoints.values.xs,444):`max(${e.breakpoints.values.xs}${e.breakpoints.unit}, 444px)`,[`&.${hw.paperScrollBody}`]:{[e.breakpoints.down(Math.max(e.breakpoints.values.xs,444)+32*2)]:{maxWidth:"calc(100% - 64px)"}}}},...Object.keys(e.breakpoints.values).filter(t=>t!=="xs").map(t=>({props:{maxWidth:t},style:{maxWidth:`${e.breakpoints.values[t]}${e.breakpoints.unit}`,[`&.${hw.paperScrollBody}`]:{[e.breakpoints.down(e.breakpoints.values[t]+32*2)]:{maxWidth:"calc(100% - 64px)"}}}})),{props:({ownerState:t})=>t.fullWidth,style:{width:"calc(100% - 64px)"}},{props:({ownerState:t})=>t.fullScreen,style:{margin:0,width:"100%",maxWidth:"100%",height:"100%",maxHeight:"none",borderRadius:0,[`&.${hw.paperScrollBody}`]:{margin:0,maxWidth:"100%"}}}]}))),yZ=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiDialog"}),o=Ei(),i={enter:o.transitions.duration.enteringScreen,exit:o.transitions.duration.leavingScreen},{"aria-describedby":a,"aria-labelledby":s,"aria-modal":l=!0,BackdropComponent:c,BackdropProps:u,children:d,className:f,disableEscapeKeyDown:p=!1,fullScreen:m=!1,fullWidth:g=!1,maxWidth:v="sm",onBackdropClick:w,onClick:x,onClose:S,open:P,PaperComponent:T=uo,PaperProps:E={},scroll:O="paper",TransitionComponent:k=jv,transitionDuration:A=i,TransitionProps:I,...R}=r,N={...r,disableEscapeKeyDown:p,fullScreen:m,fullWidth:g,maxWidth:v,scroll:O},L=HOe(N),j=y.useRef(),_=H=>{j.current=H.target===H.currentTarget},D=H=>{x&&x(H),j.current&&(j.current=null,w&&w(H),S&&S(H,"backdropClick"))},z=wh(s),F=y.useMemo(()=>({titleId:z}),[z]);return $.jsx(UOe,{className:de(L.root,f),closeAfterTransition:!0,components:{Backdrop:VOe},componentsProps:{backdrop:{transitionDuration:A,as:c,...u}},disableEscapeKeyDown:p,onClose:S,open:P,ref:n,onClick:D,ownerState:N,...R,children:$.jsx(k,{appear:!0,in:P,timeout:A,role:"presentation",...I,children:$.jsx(WOe,{className:de(L.container),onMouseDown:_,ownerState:N,children:$.jsx(GOe,{as:T,elevation:24,role:"dialog","aria-describedby":a,"aria-labelledby":z,"aria-modal":l,...E,className:de(L.paper,E.className),ownerState:N,children:$.jsx(gZ.Provider,{value:F,children:d})})})})})});function qOe(e){return tt("MuiDialogActions",e)}ot("MuiDialogActions",["root","spacing"]);const KOe=e=>{const{classes:t,disableSpacing:n}=e;return rt({root:["root",!n&&"spacing"]},qOe,t)},YOe=oe("div",{name:"MuiDialogActions",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,!n.disableSpacing&&t.spacing]}})({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",flex:"0 0 auto",variants:[{props:({ownerState:e})=>!e.disableSpacing,style:{"& > :not(style) ~ :not(style)":{marginLeft:8}}}]}),vZ=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiDialogActions"}),{className:o,disableSpacing:i=!1,...a}=r,s={...r,disableSpacing:i},l=KOe(s);return $.jsx(YOe,{className:de(l.root,o),ownerState:s,ref:n,...a})});function XOe(e){return tt("MuiDialogContent",e)}ot("MuiDialogContent",["root","dividers"]);function QOe(e){return tt("MuiDialogTitle",e)}const JOe=ot("MuiDialogTitle",["root"]),ZOe=e=>{const{classes:t,dividers:n}=e;return rt({root:["root",n&&"dividers"]},XOe,t)},eIe=oe("div",{name:"MuiDialogContent",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.dividers&&t.dividers]}})(Ze(({theme:e})=>({flex:"1 1 auto",WebkitOverflowScrolling:"touch",overflowY:"auto",padding:"20px 24px",variants:[{props:({ownerState:t})=>t.dividers,style:{padding:"16px 24px",borderTop:`1px solid ${(e.vars||e).palette.divider}`,borderBottom:`1px solid ${(e.vars||e).palette.divider}`}},{props:({ownerState:t})=>!t.dividers,style:{[`.${JOe.root} + &`]:{paddingTop:0}}}]}))),bZ=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiDialogContent"}),{className:o,dividers:i=!1,...a}=r,s={...r,dividers:i},l=ZOe(s);return $.jsx(eIe,{className:de(l.root,o),ownerState:s,ref:n,...a})}),tIe=e=>{const{classes:t}=e;return rt({root:["root"]},QOe,t)},nIe=oe(ct,{name:"MuiDialogTitle",slot:"Root",overridesResolver:(e,t)=>t.root})({padding:"16px 24px",flex:"0 0 auto"}),rIe=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiDialogTitle"}),{className:o,id:i,...a}=r,s=r,l=tIe(s),{titleId:c=i}=y.useContext(gZ);return $.jsx(nIe,{component:"h2",className:de(l.root,o),ownerState:s,ref:n,variant:"h6",id:i??c,...a})});function oIe(e){return tt("MuiDivider",e)}const eU=ot("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]),iIe=e=>{const{absolute:t,children:n,classes:r,flexItem:o,light:i,orientation:a,textAlign:s,variant:l}=e;return rt({root:["root",t&&"absolute",l,i&&"light",a==="vertical"&&"vertical",o&&"flexItem",n&&"withChildren",n&&a==="vertical"&&"withChildrenVertical",s==="right"&&a!=="vertical"&&"textAlignRight",s==="left"&&a!=="vertical"&&"textAlignLeft"],wrapper:["wrapper",a==="vertical"&&"wrapperVertical"]},oIe,r)},aIe=oe("div",{name:"MuiDivider",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.absolute&&t.absolute,t[n.variant],n.light&&t.light,n.orientation==="vertical"&&t.vertical,n.flexItem&&t.flexItem,n.children&&t.withChildren,n.children&&n.orientation==="vertical"&&t.withChildrenVertical,n.textAlign==="right"&&n.orientation!=="vertical"&&t.textAlignRight,n.textAlign==="left"&&n.orientation!=="vertical"&&t.textAlignLeft]}})(Ze(({theme:e})=>({margin:0,flexShrink:0,borderWidth:0,borderStyle:"solid",borderColor:(e.vars||e).palette.divider,borderBottomWidth:"thin",variants:[{props:{absolute:!0},style:{position:"absolute",bottom:0,left:0,width:"100%"}},{props:{light:!0},style:{borderColor:e.vars?`rgba(${e.vars.palette.dividerChannel} / 0.08)`:mt(e.palette.divider,.08)}},{props:{variant:"inset"},style:{marginLeft:72}},{props:{variant:"middle",orientation:"horizontal"},style:{marginLeft:e.spacing(2),marginRight:e.spacing(2)}},{props:{variant:"middle",orientation:"vertical"},style:{marginTop:e.spacing(1),marginBottom:e.spacing(1)}},{props:{orientation:"vertical"},style:{height:"100%",borderBottomWidth:0,borderRightWidth:"thin"}},{props:{flexItem:!0},style:{alignSelf:"stretch",height:"auto"}},{props:({ownerState:t})=>!!t.children,style:{display:"flex",textAlign:"center",border:0,borderTopStyle:"solid",borderLeftStyle:"solid","&::before, &::after":{content:'""',alignSelf:"center"}}},{props:({ownerState:t})=>t.children&&t.orientation!=="vertical",style:{"&::before, &::after":{width:"100%",borderTop:`thin solid ${(e.vars||e).palette.divider}`,borderTopStyle:"inherit"}}},{props:({ownerState:t})=>t.orientation==="vertical"&&t.children,style:{flexDirection:"column","&::before, &::after":{height:"100%",borderLeft:`thin solid ${(e.vars||e).palette.divider}`,borderLeftStyle:"inherit"}}},{props:({ownerState:t})=>t.textAlign==="right"&&t.orientation!=="vertical",style:{"&::before":{width:"90%"},"&::after":{width:"10%"}}},{props:({ownerState:t})=>t.textAlign==="left"&&t.orientation!=="vertical",style:{"&::before":{width:"10%"},"&::after":{width:"90%"}}}]}))),sIe=oe("span",{name:"MuiDivider",slot:"Wrapper",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.wrapper,n.orientation==="vertical"&&t.wrapperVertical]}})(Ze(({theme:e})=>({display:"inline-block",paddingLeft:`calc(${e.spacing(1)} * 1.2)`,paddingRight:`calc(${e.spacing(1)} * 1.2)`,whiteSpace:"nowrap",variants:[{props:{orientation:"vertical"},style:{paddingTop:`calc(${e.spacing(1)} * 1.2)`,paddingBottom:`calc(${e.spacing(1)} * 1.2)`}}]}))),ss=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiDivider"}),{absolute:o=!1,children:i,className:a,orientation:s="horizontal",component:l=i||s==="vertical"?"div":"hr",flexItem:c=!1,light:u=!1,role:d=l!=="hr"?"separator":void 0,textAlign:f="center",variant:p="fullWidth",...m}=r,g={...r,absolute:o,component:l,flexItem:c,light:u,orientation:s,role:d,textAlign:f,variant:p},v=iIe(g);return $.jsx(aIe,{as:l,className:de(v.root,a),role:d,ref:n,ownerState:g,"aria-orientation":d==="separator"&&(l!=="hr"||s==="vertical")?s:void 0,...m,children:i?$.jsx(sIe,{className:v.wrapper,ownerState:g,children:i}):null})});ss&&(ss.muiSkipListHighlight=!0);function lIe(e,t,n){const r=t.getBoundingClientRect(),o=n&&n.getBoundingClientRect(),i=os(t);let a;if(t.fakeTransform)a=t.fakeTransform;else{const c=i.getComputedStyle(t);a=c.getPropertyValue("-webkit-transform")||c.getPropertyValue("transform")}let s=0,l=0;if(a&&a!=="none"&&typeof a=="string"){const c=a.split("(")[1].split(")")[0].split(",");s=parseInt(c[4],10),l=parseInt(c[5],10)}return e==="left"?o?`translateX(${o.right+s-r.left}px)`:`translateX(${i.innerWidth+s-r.left}px)`:e==="right"?o?`translateX(-${r.right-o.left-s}px)`:`translateX(-${r.left+r.width-s}px)`:e==="up"?o?`translateY(${o.bottom+l-r.top}px)`:`translateY(${i.innerHeight+l-r.top}px)`:o?`translateY(-${r.top-o.top+r.height-l}px)`:`translateY(-${r.top+r.height-l}px)`}function cIe(e){return typeof e=="function"?e():e}function NC(e,t,n){const r=cIe(n),o=lIe(e,t,r);o&&(t.style.webkitTransform=o,t.style.transform=o)}const uIe=y.forwardRef(function(t,n){const r=Ei(),o={enter:r.transitions.easing.easeOut,exit:r.transitions.easing.sharp},i={enter:r.transitions.duration.enteringScreen,exit:r.transitions.duration.leavingScreen},{addEndListener:a,appear:s=!0,children:l,container:c,direction:u="down",easing:d=o,in:f,onEnter:p,onEntered:m,onEntering:g,onExit:v,onExited:w,onExiting:x,style:S,timeout:P=i,TransitionComponent:T=ps,...E}=t,O=y.useRef(null),k=Cr(Lf(l),O,n),A=F=>H=>{F&&(H===void 0?F(O.current):F(O.current,H))},I=A((F,H)=>{NC(u,F,c),NF(F),p&&p(F,H)}),R=A((F,H)=>{const U=If({timeout:P,style:S,easing:d},{mode:"enter"});F.style.webkitTransition=r.transitions.create("-webkit-transform",{...U}),F.style.transition=r.transitions.create("transform",{...U}),F.style.webkitTransform="none",F.style.transform="none",g&&g(F,H)}),N=A(m),L=A(x),j=A(F=>{const H=If({timeout:P,style:S,easing:d},{mode:"exit"});F.style.webkitTransition=r.transitions.create("-webkit-transform",H),F.style.transition=r.transitions.create("transform",H),NC(u,F,c),v&&v(F)}),_=A(F=>{F.style.webkitTransition="",F.style.transition="",w&&w(F)}),D=F=>{a&&a(O.current,F)},z=y.useCallback(()=>{O.current&&NC(u,O.current,c)},[u,c]);return y.useEffect(()=>{if(f||u==="down"||u==="right")return;const F=bS(()=>{O.current&&NC(u,O.current,c)}),H=os(O.current);return H.addEventListener("resize",F),()=>{F.clear(),H.removeEventListener("resize",F)}},[u,f,c]),y.useEffect(()=>{f||z()},[f,z]),$.jsx(T,{nodeRef:O,onEnter:I,onEntered:N,onEntering:R,onExit:j,onExited:_,onExiting:L,addEndListener:D,appear:s,in:f,timeout:P,...E,children:(F,H)=>y.cloneElement(l,{ref:k,style:{visibility:F==="exited"&&!f?"hidden":void 0,...S,...l.props.style},...H})})});function dIe(e){return tt("MuiDrawer",e)}ot("MuiDrawer",["root","docked","paper","paperAnchorLeft","paperAnchorRight","paperAnchorTop","paperAnchorBottom","paperAnchorDockedLeft","paperAnchorDockedRight","paperAnchorDockedTop","paperAnchorDockedBottom","modal"]);const wZ=(e,t)=>{const{ownerState:n}=e;return[t.root,(n.variant==="permanent"||n.variant==="persistent")&&t.docked,t.modal]},fIe=e=>{const{classes:t,anchor:n,variant:r}=e,o={root:["root"],docked:[(r==="permanent"||r==="persistent")&&"docked"],modal:["modal"],paper:["paper",`paperAnchor${Ce(n)}`,r!=="temporary"&&`paperAnchorDocked${Ce(n)}`]};return rt(o,dIe,t)},pIe=oe(Bv,{name:"MuiDrawer",slot:"Root",overridesResolver:wZ})(Ze(({theme:e})=>({zIndex:(e.vars||e).zIndex.drawer}))),tU=oe("div",{shouldForwardProp:ci,name:"MuiDrawer",slot:"Docked",skipVariantsResolver:!1,overridesResolver:wZ})({flex:"0 0 auto"}),hIe=oe(uo,{name:"MuiDrawer",slot:"Paper",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.paper,t[`paperAnchor${Ce(n.anchor)}`],n.variant!=="temporary"&&t[`paperAnchorDocked${Ce(n.anchor)}`]]}})(Ze(({theme:e})=>({overflowY:"auto",display:"flex",flexDirection:"column",height:"100%",flex:"1 0 auto",zIndex:(e.vars||e).zIndex.drawer,WebkitOverflowScrolling:"touch",position:"fixed",top:0,outline:0,variants:[{props:{anchor:"left"},style:{left:0}},{props:{anchor:"top"},style:{top:0,left:0,right:0,height:"auto",maxHeight:"100%"}},{props:{anchor:"right"},style:{right:0}},{props:{anchor:"bottom"},style:{top:"auto",left:0,bottom:0,right:0,height:"auto",maxHeight:"100%"}},{props:({ownerState:t})=>t.anchor==="left"&&t.variant!=="temporary",style:{borderRight:`1px solid ${(e.vars||e).palette.divider}`}},{props:({ownerState:t})=>t.anchor==="top"&&t.variant!=="temporary",style:{borderBottom:`1px solid ${(e.vars||e).palette.divider}`}},{props:({ownerState:t})=>t.anchor==="right"&&t.variant!=="temporary",style:{borderLeft:`1px solid ${(e.vars||e).palette.divider}`}},{props:({ownerState:t})=>t.anchor==="bottom"&&t.variant!=="temporary",style:{borderTop:`1px solid ${(e.vars||e).palette.divider}`}}]}))),xZ={left:"right",right:"left",top:"down",bottom:"up"};function mIe(e){return["left","right"].includes(e)}function gIe({direction:e},t){return e==="rtl"&&mIe(t)?xZ[t]:t}const yIe=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiDrawer"}),o=Ei(),i=nr(),a={enter:o.transitions.duration.enteringScreen,exit:o.transitions.duration.leavingScreen},{anchor:s="left",BackdropProps:l,children:c,className:u,elevation:d=16,hideBackdrop:f=!1,ModalProps:{BackdropProps:p,...m}={},onClose:g,open:v=!1,PaperProps:w={},SlideProps:x,TransitionComponent:S=uIe,transitionDuration:P=a,variant:T="temporary",...E}=r,O=y.useRef(!1);y.useEffect(()=>{O.current=!0},[]);const k=gIe({direction:i?"rtl":"ltr"},s),I={...r,anchor:s,elevation:d,open:v,variant:T,...E},R=fIe(I),N=$.jsx(hIe,{elevation:T==="temporary"?d:0,square:!0,...w,className:de(R.paper,w.className),ownerState:I,children:c});if(T==="permanent")return $.jsx(tU,{className:de(R.root,R.docked,u),ownerState:I,ref:n,...E,children:N});const L=$.jsx(S,{in:v,direction:xZ[k],timeout:P,appear:O.current,...x,children:N});return T==="persistent"?$.jsx(tU,{className:de(R.root,R.docked,u),ownerState:I,ref:n,...E,children:L}):$.jsx(pIe,{BackdropProps:{...l,...p,transitionDuration:P},className:de(R.root,R.modal,u),open:v,ownerState:I,onClose:g,hideBackdrop:f,ref:n,...E,...m,children:L})});function vIe(e){return tt("MuiFab",e)}const nU=ot("MuiFab",["root","primary","secondary","extended","circular","focusVisible","disabled","colorInherit","sizeSmall","sizeMedium","sizeLarge","info","error","warning","success"]),bIe=e=>{const{color:t,variant:n,classes:r,size:o}=e,i={root:["root",n,`size${Ce(o)}`,t==="inherit"?"colorInherit":t]},a=rt(i,vIe,r);return{...r,...a}},wIe=oe(Ki,{name:"MuiFab",slot:"Root",shouldForwardProp:e=>ci(e)||e==="classes",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],t[`size${Ce(n.size)}`],n.color==="inherit"&&t.colorInherit,t[Ce(n.size)],t[n.color]]}})(Ze(({theme:e})=>{var t,n;return{...e.typography.button,minHeight:36,transition:e.transitions.create(["background-color","box-shadow","border-color"],{duration:e.transitions.duration.short}),borderRadius:"50%",padding:0,minWidth:0,width:56,height:56,zIndex:(e.vars||e).zIndex.fab,boxShadow:(e.vars||e).shadows[6],"&:active":{boxShadow:(e.vars||e).shadows[12]},color:e.vars?e.vars.palette.text.primary:(n=(t=e.palette).getContrastText)==null?void 0:n.call(t,e.palette.grey[300]),backgroundColor:(e.vars||e).palette.grey[300],"&:hover":{backgroundColor:(e.vars||e).palette.grey.A100,"@media (hover: none)":{backgroundColor:(e.vars||e).palette.grey[300]},textDecoration:"none"},[`&.${nU.focusVisible}`]:{boxShadow:(e.vars||e).shadows[6]},variants:[{props:{size:"small"},style:{width:40,height:40}},{props:{size:"medium"},style:{width:48,height:48}},{props:{variant:"extended"},style:{borderRadius:48/2,padding:"0 16px",width:"auto",minHeight:"auto",minWidth:48,height:48}},{props:{variant:"extended",size:"small"},style:{width:"auto",padding:"0 8px",borderRadius:34/2,minWidth:34,height:34}},{props:{variant:"extended",size:"medium"},style:{width:"auto",padding:"0 16px",borderRadius:40/2,minWidth:40,height:40}},{props:{color:"inherit"},style:{color:"inherit"}}]}}),Ze(({theme:e})=>({variants:[...Object.entries(e.palette).filter(zn(["dark","contrastText"])).map(([t])=>({props:{color:t},style:{color:(e.vars||e).palette[t].contrastText,backgroundColor:(e.vars||e).palette[t].main,"&:hover":{backgroundColor:(e.vars||e).palette[t].dark,"@media (hover: none)":{backgroundColor:(e.vars||e).palette[t].main}}}}))]})),Ze(({theme:e})=>({[`&.${nU.disabled}`]:{color:(e.vars||e).palette.action.disabled,boxShadow:(e.vars||e).shadows[0],backgroundColor:(e.vars||e).palette.action.disabledBackground}}))),Gh=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiFab"}),{children:o,className:i,color:a="default",component:s="button",disabled:l=!1,disableFocusRipple:c=!1,focusVisibleClassName:u,size:d="large",variant:f="circular",...p}=r,m={...r,color:a,component:s,disabled:l,disableFocusRipple:c,size:d,variant:f},g=bIe(m);return $.jsx(wIe,{className:de(g.root,i),component:s,disabled:l,focusRipple:!c,focusVisibleClassName:de(g.focusVisible,u),ownerState:m,ref:n,...p,classes:g,children:o})}),xIe=e=>{const{classes:t,disableUnderline:n,startAdornment:r,endAdornment:o,size:i,hiddenLabel:a,multiline:s}=e,l={root:["root",!n&&"underline",r&&"adornedStart",o&&"adornedEnd",i==="small"&&`size${Ce(i)}`,a&&"hiddenLabel",s&&"multiline"],input:["input"]},c=rt(l,_Te,t);return{...t,...c}},SIe=oe(DI,{shouldForwardProp:e=>ci(e)||e==="classes",name:"MuiFilledInput",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[...RI(e,t),!n.disableUnderline&&t.underline]}})(Ze(({theme:e})=>{const t=e.palette.mode==="light",n=t?"rgba(0, 0, 0, 0.42)":"rgba(255, 255, 255, 0.7)",r=t?"rgba(0, 0, 0, 0.06)":"rgba(255, 255, 255, 0.09)",o=t?"rgba(0, 0, 0, 0.09)":"rgba(255, 255, 255, 0.13)",i=t?"rgba(0, 0, 0, 0.12)":"rgba(255, 255, 255, 0.12)";return{position:"relative",backgroundColor:e.vars?e.vars.palette.FilledInput.bg:r,borderTopLeftRadius:(e.vars||e).shape.borderRadius,borderTopRightRadius:(e.vars||e).shape.borderRadius,transition:e.transitions.create("background-color",{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut}),"&:hover":{backgroundColor:e.vars?e.vars.palette.FilledInput.hoverBg:o,"@media (hover: none)":{backgroundColor:e.vars?e.vars.palette.FilledInput.bg:r}},[`&.${Ha.focused}`]:{backgroundColor:e.vars?e.vars.palette.FilledInput.bg:r},[`&.${Ha.disabled}`]:{backgroundColor:e.vars?e.vars.palette.FilledInput.disabledBg:i},variants:[{props:({ownerState:a})=>!a.disableUnderline,style:{"&::after":{left:0,bottom:0,content:'""',position:"absolute",right:0,transform:"scaleX(0)",transition:e.transitions.create("transform",{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut}),pointerEvents:"none"},[`&.${Ha.focused}:after`]:{transform:"scaleX(1) translateX(0)"},[`&.${Ha.error}`]:{"&::before, &::after":{borderBottomColor:(e.vars||e).palette.error.main}},"&::before":{borderBottom:`1px solid ${e.vars?`rgba(${e.vars.palette.common.onBackgroundChannel} / ${e.vars.opacity.inputUnderline})`:n}`,left:0,bottom:0,content:'"\\00a0"',position:"absolute",right:0,transition:e.transitions.create("border-bottom-color",{duration:e.transitions.duration.shorter}),pointerEvents:"none"},[`&:hover:not(.${Ha.disabled}, .${Ha.error}):before`]:{borderBottom:`1px solid ${(e.vars||e).palette.text.primary}`},[`&.${Ha.disabled}:before`]:{borderBottomStyle:"dotted"}}},...Object.entries(e.palette).filter(zn()).map(([a])=>{var s;return{props:{disableUnderline:!1,color:a},style:{"&::after":{borderBottom:`2px solid ${(s=(e.vars||e).palette[a])==null?void 0:s.main}`}}}}),{props:({ownerState:a})=>a.startAdornment,style:{paddingLeft:12}},{props:({ownerState:a})=>a.endAdornment,style:{paddingRight:12}},{props:({ownerState:a})=>a.multiline,style:{padding:"25px 12px 8px"}},{props:({ownerState:a,size:s})=>a.multiline&&s==="small",style:{paddingTop:21,paddingBottom:4}},{props:({ownerState:a})=>a.multiline&&a.hiddenLabel,style:{paddingTop:16,paddingBottom:17}},{props:({ownerState:a})=>a.multiline&&a.hiddenLabel&&a.size==="small",style:{paddingTop:8,paddingBottom:9}}]}})),CIe=oe(NI,{name:"MuiFilledInput",slot:"Input",overridesResolver:_I})(Ze(({theme:e})=>({paddingTop:25,paddingRight:12,paddingBottom:8,paddingLeft:12,...!e.vars&&{"&:-webkit-autofill":{WebkitBoxShadow:e.palette.mode==="light"?null:"0 0 0 100px #266798 inset",WebkitTextFillColor:e.palette.mode==="light"?null:"#fff",caretColor:e.palette.mode==="light"?null:"#fff",borderTopLeftRadius:"inherit",borderTopRightRadius:"inherit"}},...e.vars&&{"&:-webkit-autofill":{borderTopLeftRadius:"inherit",borderTopRightRadius:"inherit"},[e.getColorSchemeSelector("dark")]:{"&:-webkit-autofill":{WebkitBoxShadow:"0 0 0 100px #266798 inset",WebkitTextFillColor:"#fff",caretColor:"#fff"}}},variants:[{props:{size:"small"},style:{paddingTop:21,paddingBottom:4}},{props:({ownerState:t})=>t.hiddenLabel,style:{paddingTop:16,paddingBottom:17}},{props:({ownerState:t})=>t.startAdornment,style:{paddingLeft:0}},{props:({ownerState:t})=>t.endAdornment,style:{paddingRight:0}},{props:({ownerState:t})=>t.hiddenLabel&&t.size==="small",style:{paddingTop:8,paddingBottom:9}},{props:({ownerState:t})=>t.multiline,style:{paddingTop:0,paddingBottom:0,paddingLeft:0,paddingRight:0}}]}))),UT=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiFilledInput"}),{disableUnderline:o=!1,components:i={},componentsProps:a,fullWidth:s=!1,hiddenLabel:l,inputComponent:c="input",multiline:u=!1,slotProps:d,slots:f={},type:p="text",...m}=r,g={...r,disableUnderline:o,fullWidth:s,inputComponent:c,multiline:u,type:p},v=xIe(r),w={root:{ownerState:g},input:{ownerState:g}},x=d??a?bo(w,d??a):w,S=f.root??i.Root??SIe,P=f.input??i.Input??CIe;return $.jsx(Fv,{slots:{root:S,input:P},componentsProps:x,fullWidth:s,inputComponent:c,multiline:u,ref:n,type:p,...m,classes:v})});UT&&(UT.muiName="Input");function PIe(e){return tt("MuiFormControl",e)}ot("MuiFormControl",["root","marginNone","marginNormal","marginDense","fullWidth","disabled"]);const TIe=e=>{const{classes:t,margin:n,fullWidth:r}=e,o={root:["root",n!=="none"&&`margin${Ce(n)}`,r&&"fullWidth"]};return rt(o,PIe,t)},EIe=oe("div",{name:"MuiFormControl",slot:"Root",overridesResolver:({ownerState:e},t)=>({...t.root,...t[`margin${Ce(e.margin)}`],...e.fullWidth&&t.fullWidth})})({display:"inline-flex",flexDirection:"column",position:"relative",minWidth:0,padding:0,margin:0,border:0,verticalAlign:"top",variants:[{props:{margin:"normal"},style:{marginTop:16,marginBottom:8}},{props:{margin:"dense"},style:{marginTop:8,marginBottom:4}},{props:{fullWidth:!0},style:{width:"100%"}}]}),qh=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiFormControl"}),{children:o,className:i,color:a="primary",component:s="div",disabled:l=!1,error:c=!1,focused:u,fullWidth:d=!1,hiddenLabel:f=!1,margin:p="none",required:m=!1,size:g="medium",variant:v="outlined",...w}=r,x={...r,color:a,component:s,disabled:l,error:c,fullWidth:d,hiddenLabel:f,margin:p,required:m,size:g,variant:v},S=TIe(x),[P,T]=y.useState(()=>{let L=!1;return o&&y.Children.forEach(o,j=>{if(!qg(j,["Input","Select"]))return;const _=qg(j,["Select"])?j.props.input:j;_&&kTe(_.props)&&(L=!0)}),L}),[E,O]=y.useState(()=>{let L=!1;return o&&y.Children.forEach(o,j=>{qg(j,["Input","Select"])&&(VT(j.props,!0)||VT(j.props.inputProps,!0))&&(L=!0)}),L}),[k,A]=y.useState(!1);l&&k&&A(!1);const I=u!==void 0&&!l?u:k;let R;y.useRef(!1);const N=y.useMemo(()=>({adornedStart:P,setAdornedStart:T,color:a,disabled:l,error:c,filled:E,focused:I,fullWidth:d,hiddenLabel:f,size:g,onBlur:()=>{A(!1)},onEmpty:()=>{O(!1)},onFilled:()=>{O(!0)},onFocus:()=>{A(!0)},registerEffect:R,required:m,variant:v}),[P,a,l,c,E,I,d,f,R,m,g,v]);return $.jsx($I.Provider,{value:N,children:$.jsx(EIe,{as:s,ownerState:x,className:de(S.root,i),ref:n,...w,children:o})})});function OIe(e){return tt("MuiFormControlLabel",e)}const H0=ot("MuiFormControlLabel",["root","labelPlacementStart","labelPlacementTop","labelPlacementBottom","disabled","label","error","required","asterisk"]),IIe=e=>{const{classes:t,disabled:n,labelPlacement:r,error:o,required:i}=e,a={root:["root",n&&"disabled",`labelPlacement${Ce(r)}`,o&&"error",i&&"required"],label:["label",n&&"disabled"],asterisk:["asterisk",o&&"error"]};return rt(a,OIe,t)},kIe=oe("label",{name:"MuiFormControlLabel",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[{[`& .${H0.label}`]:t.label},t.root,t[`labelPlacement${Ce(n.labelPlacement)}`]]}})(Ze(({theme:e})=>({display:"inline-flex",alignItems:"center",cursor:"pointer",verticalAlign:"middle",WebkitTapHighlightColor:"transparent",marginLeft:-11,marginRight:16,[`&.${H0.disabled}`]:{cursor:"default"},[`& .${H0.label}`]:{[`&.${H0.disabled}`]:{color:(e.vars||e).palette.text.disabled}},variants:[{props:{labelPlacement:"start"},style:{flexDirection:"row-reverse",marginRight:-11}},{props:{labelPlacement:"top"},style:{flexDirection:"column-reverse"}},{props:{labelPlacement:"bottom"},style:{flexDirection:"column"}},{props:({labelPlacement:t})=>t==="start"||t==="top"||t==="bottom",style:{marginLeft:16}}]}))),MIe=oe("span",{name:"MuiFormControlLabel",slot:"Asterisk",overridesResolver:(e,t)=>t.asterisk})(Ze(({theme:e})=>({[`&.${H0.error}`]:{color:(e.vars||e).palette.error.main}}))),Uy=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiFormControlLabel"}),{checked:o,className:i,componentsProps:a={},control:s,disabled:l,disableTypography:c,inputRef:u,label:d,labelPlacement:f="end",name:p,onChange:m,required:g,slots:v={},slotProps:w={},value:x,...S}=r,P=Ta(),T=l??s.props.disabled??(P==null?void 0:P.disabled),E=g??s.props.required,O={disabled:T,required:E};["checked","name","onChange","value","inputRef"].forEach(_=>{typeof s.props[_]>"u"&&typeof r[_]<"u"&&(O[_]=r[_])});const k=Uf({props:r,muiFormControl:P,states:["error"]}),A={...r,disabled:T,labelPlacement:f,required:E,error:k.error},I=IIe(A),R={slots:v,slotProps:{...a,...w}},[N,L]=hr("typography",{elementType:ct,externalForwardedProps:R,ownerState:A});let j=d;return j!=null&&j.type!==ct&&!c&&(j=$.jsx(N,{component:"span",...L,className:de(I.label,L==null?void 0:L.className),children:j})),$.jsxs(kIe,{className:de(I.root,i),ownerState:A,ref:n,...S,children:[y.cloneElement(s,O),E?$.jsxs("div",{children:[j,$.jsxs(MIe,{ownerState:A,"aria-hidden":!0,className:I.asterisk,children:[" ","*"]})]}):j]})});function AIe(e){return tt("MuiFormGroup",e)}ot("MuiFormGroup",["root","row","error"]);const $Ie=e=>{const{classes:t,row:n,error:r}=e;return rt({root:["root",n&&"row",r&&"error"]},AIe,t)},RIe=oe("div",{name:"MuiFormGroup",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.row&&t.row]}})({display:"flex",flexDirection:"column",flexWrap:"wrap",variants:[{props:{row:!0},style:{flexDirection:"row"}}]}),LI=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiFormGroup"}),{className:o,row:i=!1,...a}=r,s=Ta(),l=Uf({props:r,muiFormControl:s,states:["error"]}),c={...r,row:i,error:l.error},u=$Ie(c);return $.jsx(RIe,{className:de(u.root,o),ownerState:c,ref:n,...a})});function _Ie(e){return tt("MuiFormHelperText",e)}const rU=ot("MuiFormHelperText",["root","error","disabled","sizeSmall","sizeMedium","contained","focused","filled","required"]);var oU;const DIe=e=>{const{classes:t,contained:n,size:r,disabled:o,error:i,filled:a,focused:s,required:l}=e,c={root:["root",o&&"disabled",i&&"error",r&&`size${Ce(r)}`,n&&"contained",s&&"focused",a&&"filled",l&&"required"]};return rt(c,_Ie,t)},NIe=oe("p",{name:"MuiFormHelperText",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.size&&t[`size${Ce(n.size)}`],n.contained&&t.contained,n.filled&&t.filled]}})(Ze(({theme:e})=>({color:(e.vars||e).palette.text.secondary,...e.typography.caption,textAlign:"left",marginTop:3,marginRight:0,marginBottom:0,marginLeft:0,[`&.${rU.disabled}`]:{color:(e.vars||e).palette.text.disabled},[`&.${rU.error}`]:{color:(e.vars||e).palette.error.main},variants:[{props:{size:"small"},style:{marginTop:4}},{props:({ownerState:t})=>t.contained,style:{marginLeft:14,marginRight:14}}]}))),FI=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiFormHelperText"}),{children:o,className:i,component:a="p",disabled:s,error:l,filled:c,focused:u,margin:d,required:f,variant:p,...m}=r,g=Ta(),v=Uf({props:r,muiFormControl:g,states:["variant","size","disabled","error","filled","focused","required"]}),w={...r,component:a,contained:v.variant==="filled"||v.variant==="outlined",variant:v.variant,size:v.size,disabled:v.disabled,error:v.error,filled:v.filled,focused:v.focused,required:v.required};delete w.ownerState;const x=DIe(w);return $.jsx(NIe,{as:a,className:de(x.root,i),ref:n,...m,ownerState:w,children:o===" "?oU||(oU=$.jsx("span",{className:"notranslate",children:"​"})):o})});function LIe(e){return tt("MuiFormLabel",e)}const mw=ot("MuiFormLabel",["root","colorSecondary","focused","disabled","error","filled","required","asterisk"]),FIe=e=>{const{classes:t,color:n,focused:r,disabled:o,error:i,filled:a,required:s}=e,l={root:["root",`color${Ce(n)}`,o&&"disabled",i&&"error",a&&"filled",r&&"focused",s&&"required"],asterisk:["asterisk",i&&"error"]};return rt(l,LIe,t)},jIe=oe("label",{name:"MuiFormLabel",slot:"Root",overridesResolver:({ownerState:e},t)=>({...t.root,...e.color==="secondary"&&t.colorSecondary,...e.filled&&t.filled})})(Ze(({theme:e})=>({color:(e.vars||e).palette.text.secondary,...e.typography.body1,lineHeight:"1.4375em",padding:0,position:"relative",variants:[...Object.entries(e.palette).filter(zn()).map(([t])=>({props:{color:t},style:{[`&.${mw.focused}`]:{color:(e.vars||e).palette[t].main}}})),{props:{},style:{[`&.${mw.disabled}`]:{color:(e.vars||e).palette.text.disabled},[`&.${mw.error}`]:{color:(e.vars||e).palette.error.main}}}]}))),BIe=oe("span",{name:"MuiFormLabel",slot:"Asterisk",overridesResolver:(e,t)=>t.asterisk})(Ze(({theme:e})=>({[`&.${mw.error}`]:{color:(e.vars||e).palette.error.main}}))),zIe=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiFormLabel"}),{children:o,className:i,color:a,component:s="label",disabled:l,error:c,filled:u,focused:d,required:f,...p}=r,m=Ta(),g=Uf({props:r,muiFormControl:m,states:["color","required","focused","disabled","error","filled"]}),v={...r,color:g.color||"primary",component:s,disabled:g.disabled,error:g.error,filled:g.filled,focused:g.focused,required:g.required},w=FIe(v);return $.jsxs(jIe,{as:s,ownerState:v,className:de(w.root,i),ref:n,...p,children:[o,g.required&&$.jsxs(BIe,{ownerState:v,"aria-hidden":!0,className:w.asterisk,children:[" ","*"]})]})}),Be=cwe({createStyledComponent:oe("div",{name:"MuiGrid2",slot:"Root",overridesResolver:(e,t)=>t.root}),componentName:"MuiGrid2",useThemeProps:e=>it({props:e,name:"MuiGrid2"})});function g_(e){return`scale(${e}, ${e**2})`}const VIe={entering:{opacity:1,transform:g_(1)},entered:{opacity:1,transform:"none"}},S$=typeof navigator<"u"&&/^((?!chrome|android).)*(safari|mobile)/i.test(navigator.userAgent)&&/(os |version\/)15(.|_)4/i.test(navigator.userAgent),kf=y.forwardRef(function(t,n){const{addEndListener:r,appear:o=!0,children:i,easing:a,in:s,onEnter:l,onEntered:c,onEntering:u,onExit:d,onExited:f,onExiting:p,style:m,timeout:g="auto",TransitionComponent:v=ps,...w}=t,x=tf(),S=y.useRef(),P=Ei(),T=y.useRef(null),E=Cr(T,Lf(i),n),O=_=>D=>{if(_){const z=T.current;D===void 0?_(z):_(z,D)}},k=O(u),A=O((_,D)=>{NF(_);const{duration:z,delay:F,easing:H}=If({style:m,timeout:g,easing:a},{mode:"enter"});let U;g==="auto"?(U=P.transitions.getAutoHeightDuration(_.clientHeight),S.current=U):U=z,_.style.transition=[P.transitions.create("opacity",{duration:U,delay:F}),P.transitions.create("transform",{duration:S$?U:U*.666,delay:F,easing:H})].join(","),l&&l(_,D)}),I=O(c),R=O(p),N=O(_=>{const{duration:D,delay:z,easing:F}=If({style:m,timeout:g,easing:a},{mode:"exit"});let H;g==="auto"?(H=P.transitions.getAutoHeightDuration(_.clientHeight),S.current=H):H=D,_.style.transition=[P.transitions.create("opacity",{duration:H,delay:z}),P.transitions.create("transform",{duration:S$?H:H*.666,delay:S$?z:z||H*.333,easing:F})].join(","),_.style.opacity=0,_.style.transform=g_(.75),d&&d(_)}),L=O(f),j=_=>{g==="auto"&&x.start(S.current||0,_),r&&r(T.current,_)};return $.jsx(v,{appear:o,in:s,nodeRef:T,onEnter:A,onEntered:I,onEntering:k,onExit:N,onExited:L,onExiting:R,addEndListener:j,timeout:g==="auto"?null:g,...w,children:(_,D)=>y.cloneElement(i,{style:{opacity:0,transform:g_(.75),visibility:_==="exited"&&!s?"hidden":void 0,...VIe[_],...m,...i.props.style},ref:E,...D})})});kf&&(kf.muiSupportAuto=!0);function HIe(e){return tt("MuiImageList",e)}ot("MuiImageList",["root","masonry","quilted","standard","woven"]);const SZ=y.createContext({}),UIe=e=>{const{classes:t,variant:n}=e;return rt({root:["root",n]},HIe,t)},WIe=oe("ul",{name:"MuiImageList",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant]]}})({display:"grid",overflowY:"auto",listStyle:"none",padding:0,WebkitOverflowScrolling:"touch",variants:[{props:{variant:"masonry"},style:{display:"block"}}]}),CZ=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiImageList"}),{children:o,className:i,cols:a=2,component:s="ul",rowHeight:l="auto",gap:c=4,style:u,variant:d="standard",...f}=r,p=y.useMemo(()=>({rowHeight:l,gap:c,variant:d}),[l,c,d]),m=d==="masonry"?{columnCount:a,columnGap:c,...u}:{gridTemplateColumns:`repeat(${a}, 1fr)`,gap:c,...u},g={...r,component:s,gap:c,rowHeight:l,variant:d},v=UIe(g);return $.jsx(WIe,{as:s,className:de(v.root,v[d],i),ref:n,style:m,ownerState:g,...f,children:$.jsx(SZ.Provider,{value:p,children:o})})});function GIe(e){return tt("MuiImageListItem",e)}const C$=ot("MuiImageListItem",["root","img","standard","woven","masonry","quilted"]),qIe=e=>{const{classes:t,variant:n}=e;return rt({root:["root",n],img:["img"]},GIe,t)},KIe=oe("li",{name:"MuiImageListItem",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[{[`& .${C$.img}`]:t.img},t.root,t[n.variant]]}})({display:"block",position:"relative",[`& .${C$.img}`]:{objectFit:"cover",width:"100%",height:"100%",display:"block"},variants:[{props:{variant:"standard"},style:{display:"flex",flexDirection:"column"}},{props:{variant:"woven"},style:{height:"100%",alignSelf:"center","&:nth-of-type(even)":{height:"70%"}}},{props:{variant:"standard"},style:{[`& .${C$.img}`]:{height:"auto",flexGrow:1}}}]}),PZ=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiImageListItem"}),{children:o,className:i,cols:a=1,component:s="li",rows:l=1,style:c,...u}=r,{rowHeight:d="auto",gap:f,variant:p}=y.useContext(SZ);let m="auto";p==="woven"?m=void 0:d!=="auto"&&(m=d*l+f*(l-1));const g={...r,cols:a,component:s,gap:f,rowHeight:d,rows:l,variant:p},v=qIe(g);return $.jsx(KIe,{as:s,className:de(v.root,v[p],i),ref:n,style:{height:m,gridColumnEnd:p!=="masonry"?`span ${a}`:void 0,gridRowEnd:p!=="masonry"?`span ${l}`:void 0,marginBottom:p==="masonry"?f:void 0,breakInside:p==="masonry"?"avoid":void 0,...c},ownerState:g,...u,children:y.Children.map(o,w=>y.isValidElement(w)?w.type==="img"||qg(w,["Image"])?y.cloneElement(w,{className:de(v.img,w.props.className)}):w:null)})});function YIe(e){return tt("MuiImageListItemBar",e)}ot("MuiImageListItemBar",["root","positionBottom","positionTop","positionBelow","actionPositionLeft","actionPositionRight","titleWrap","titleWrapBottom","titleWrapTop","titleWrapBelow","titleWrapActionPosLeft","titleWrapActionPosRight","title","subtitle","actionIcon","actionIconActionPosLeft","actionIconActionPosRight"]);const XIe=e=>{const{classes:t,position:n,actionIcon:r,actionPosition:o}=e,i={root:["root",`position${Ce(n)}`,`actionPosition${Ce(o)}`],titleWrap:["titleWrap",`titleWrap${Ce(n)}`,r&&`titleWrapActionPos${Ce(o)}`],title:["title"],subtitle:["subtitle"],actionIcon:["actionIcon",`actionIconActionPos${Ce(o)}`]};return rt(i,YIe,t)},QIe=oe("div",{name:"MuiImageListItemBar",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[`position${Ce(n.position)}`]]}})(Ze(({theme:e})=>({position:"absolute",left:0,right:0,background:"rgba(0, 0, 0, 0.5)",display:"flex",alignItems:"center",fontFamily:e.typography.fontFamily,variants:[{props:{position:"bottom"},style:{bottom:0}},{props:{position:"top"},style:{top:0}},{props:{position:"below"},style:{position:"relative",background:"transparent",alignItems:"normal"}}]}))),JIe=oe("div",{name:"MuiImageListItemBar",slot:"TitleWrap",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.titleWrap,t[`titleWrap${Ce(n.position)}`],n.actionIcon&&t[`titleWrapActionPos${Ce(n.actionPosition)}`]]}})(Ze(({theme:e})=>({flexGrow:1,padding:"12px 16px",color:(e.vars||e).palette.common.white,overflow:"hidden",variants:[{props:{position:"below"},style:{padding:"6px 0 12px",color:"inherit"}},{props:({ownerState:t})=>t.actionIcon&&t.actionPosition==="left",style:{paddingLeft:0}},{props:({ownerState:t})=>t.actionIcon&&t.actionPosition==="right",style:{paddingRight:0}}]}))),ZIe=oe("div",{name:"MuiImageListItemBar",slot:"Title",overridesResolver:(e,t)=>t.title})(Ze(({theme:e})=>({fontSize:e.typography.pxToRem(16),lineHeight:"24px",textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap"}))),eke=oe("div",{name:"MuiImageListItemBar",slot:"Subtitle",overridesResolver:(e,t)=>t.subtitle})(Ze(({theme:e})=>({fontSize:e.typography.pxToRem(12),lineHeight:1,textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap"}))),tke=oe("div",{name:"MuiImageListItemBar",slot:"ActionIcon",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.actionIcon,t[`actionIconActionPos${Ce(n.actionPosition)}`]]}})({variants:[{props:{actionPosition:"left"},style:{order:-1}}]}),nke=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiImageListItemBar"}),{actionIcon:o,actionPosition:i="right",className:a,subtitle:s,title:l,position:c="bottom",...u}=r,d={...r,position:c,actionPosition:i},f=XIe(d);return $.jsxs(QIe,{ownerState:d,className:de(f.root,a),ref:n,...u,children:[$.jsxs(JIe,{ownerState:d,className:f.titleWrap,children:[$.jsx(ZIe,{className:f.title,children:l}),s?$.jsx(eke,{className:f.subtitle,children:s}):null]}),o?$.jsx(tke,{ownerState:d,className:f.actionIcon,children:o}):null]})}),rke=e=>{const{classes:t,disableUnderline:n}=e,o=rt({root:["root",!n&&"underline"],input:["input"]},$Te,t);return{...t,...o}},oke=oe(DI,{shouldForwardProp:e=>ci(e)||e==="classes",name:"MuiInput",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[...RI(e,t),!n.disableUnderline&&t.underline]}})(Ze(({theme:e})=>{let n=e.palette.mode==="light"?"rgba(0, 0, 0, 0.42)":"rgba(255, 255, 255, 0.7)";return e.vars&&(n=`rgba(${e.vars.palette.common.onBackgroundChannel} / ${e.vars.opacity.inputUnderline})`),{position:"relative",variants:[{props:({ownerState:r})=>r.formControl,style:{"label + &":{marginTop:16}}},{props:({ownerState:r})=>!r.disableUnderline,style:{"&::after":{left:0,bottom:0,content:'""',position:"absolute",right:0,transform:"scaleX(0)",transition:e.transitions.create("transform",{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut}),pointerEvents:"none"},[`&.${Vd.focused}:after`]:{transform:"scaleX(1) translateX(0)"},[`&.${Vd.error}`]:{"&::before, &::after":{borderBottomColor:(e.vars||e).palette.error.main}},"&::before":{borderBottom:`1px solid ${n}`,left:0,bottom:0,content:'"\\00a0"',position:"absolute",right:0,transition:e.transitions.create("border-bottom-color",{duration:e.transitions.duration.shorter}),pointerEvents:"none"},[`&:hover:not(.${Vd.disabled}, .${Vd.error}):before`]:{borderBottom:`2px solid ${(e.vars||e).palette.text.primary}`,"@media (hover: none)":{borderBottom:`1px solid ${n}`}},[`&.${Vd.disabled}:before`]:{borderBottomStyle:"dotted"}}},...Object.entries(e.palette).filter(zn()).map(([r])=>({props:{color:r,disableUnderline:!1},style:{"&::after":{borderBottom:`2px solid ${(e.vars||e).palette[r].main}`}}}))]}})),ike=oe(NI,{name:"MuiInput",slot:"Input",overridesResolver:_I})({}),WT=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiInput"}),{disableUnderline:o=!1,components:i={},componentsProps:a,fullWidth:s=!1,inputComponent:l="input",multiline:c=!1,slotProps:u,slots:d={},type:f="text",...p}=r,m=rke(r),v={root:{ownerState:{disableUnderline:o}}},w=u??a?bo(u??a,v):v,x=d.root??i.Root??oke,S=d.input??i.Input??ike;return $.jsx(Fv,{slots:{root:x,input:S},slotProps:w,fullWidth:s,inputComponent:l,multiline:c,ref:n,type:f,...p,classes:m})});WT&&(WT.muiName="Input");function ake(e){return tt("MuiInputAdornment",e)}const iU=ot("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]);var aU;const ske=(e,t)=>{const{ownerState:n}=e;return[t.root,t[`position${Ce(n.position)}`],n.disablePointerEvents===!0&&t.disablePointerEvents,t[n.variant]]},lke=e=>{const{classes:t,disablePointerEvents:n,hiddenLabel:r,position:o,size:i,variant:a}=e,s={root:["root",n&&"disablePointerEvents",o&&`position${Ce(o)}`,a,r&&"hiddenLabel",i&&`size${Ce(i)}`]};return rt(s,ake,t)},cke=oe("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:ske})(Ze(({theme:e})=>({display:"flex",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:(e.vars||e).palette.action.active,variants:[{props:{variant:"filled"},style:{[`&.${iU.positionStart}&:not(.${iU.hiddenLabel})`]:{marginTop:16}}},{props:{position:"start"},style:{marginRight:8}},{props:{position:"end"},style:{marginLeft:8}},{props:{disablePointerEvents:!0},style:{pointerEvents:"none"}}]}))),po=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiInputAdornment"}),{children:o,className:i,component:a="div",disablePointerEvents:s=!1,disableTypography:l=!1,position:c,variant:u,...d}=r,f=Ta()||{};let p=u;u&&f.variant,f&&!p&&(p=f.variant);const m={...r,hiddenLabel:f.hiddenLabel,size:f.size,disablePointerEvents:s,position:c,variant:p},g=lke(m);return $.jsx($I.Provider,{value:null,children:$.jsx(cke,{as:a,ownerState:m,className:de(g.root,i),ref:n,...d,children:typeof o=="string"&&!l?$.jsx(ct,{color:"textSecondary",children:o}):$.jsxs(y.Fragment,{children:[c==="start"?aU||(aU=$.jsx("span",{className:"notranslate",children:"​"})):null,o]})})})});function uke(e){return tt("MuiInputLabel",e)}ot("MuiInputLabel",["root","focused","disabled","error","required","asterisk","formControl","sizeSmall","shrink","animated","standard","filled","outlined"]);const dke=e=>{const{classes:t,formControl:n,size:r,shrink:o,disableAnimation:i,variant:a,required:s}=e,l={root:["root",n&&"formControl",!i&&"animated",o&&"shrink",r&&r!=="normal"&&`size${Ce(r)}`,a],asterisk:[s&&"asterisk"]},c=rt(l,uke,t);return{...t,...c}},fke=oe(zIe,{shouldForwardProp:e=>ci(e)||e==="classes",name:"MuiInputLabel",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[{[`& .${mw.asterisk}`]:t.asterisk},t.root,n.formControl&&t.formControl,n.size==="small"&&t.sizeSmall,n.shrink&&t.shrink,!n.disableAnimation&&t.animated,n.focused&&t.focused,t[n.variant]]}})(Ze(({theme:e})=>({display:"block",transformOrigin:"top left",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:"100%",variants:[{props:({ownerState:t})=>t.formControl,style:{position:"absolute",left:0,top:0,transform:"translate(0, 20px) scale(1)"}},{props:{size:"small"},style:{transform:"translate(0, 17px) scale(1)"}},{props:({ownerState:t})=>t.shrink,style:{transform:"translate(0, -1.5px) scale(0.75)",transformOrigin:"top left",maxWidth:"133%"}},{props:({ownerState:t})=>!t.disableAnimation,style:{transition:e.transitions.create(["color","transform","max-width"],{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut})}},{props:{variant:"filled"},style:{zIndex:1,pointerEvents:"none",transform:"translate(12px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"}},{props:{variant:"filled",size:"small"},style:{transform:"translate(12px, 13px) scale(1)"}},{props:({variant:t,ownerState:n})=>t==="filled"&&n.shrink,style:{userSelect:"none",pointerEvents:"auto",transform:"translate(12px, 7px) scale(0.75)",maxWidth:"calc(133% - 24px)"}},{props:({variant:t,ownerState:n,size:r})=>t==="filled"&&n.shrink&&r==="small",style:{transform:"translate(12px, 4px) scale(0.75)"}},{props:{variant:"outlined"},style:{zIndex:1,pointerEvents:"none",transform:"translate(14px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"}},{props:{variant:"outlined",size:"small"},style:{transform:"translate(14px, 9px) scale(1)"}},{props:({variant:t,ownerState:n})=>t==="outlined"&&n.shrink,style:{userSelect:"none",pointerEvents:"auto",maxWidth:"calc(133% - 32px)",transform:"translate(14px, -9px) scale(0.75)"}}]}))),Kh=y.forwardRef(function(t,n){const r=it({name:"MuiInputLabel",props:t}),{disableAnimation:o=!1,margin:i,shrink:a,variant:s,className:l,...c}=r,u=Ta();let d=a;typeof d>"u"&&u&&(d=u.filled||u.focused||u.adornedStart);const f=Uf({props:r,muiFormControl:u,states:["size","variant","required","focused"]}),p={...r,disableAnimation:o,formControl:u,shrink:d,size:f.size,variant:f.variant,required:f.required,focused:f.focused},m=dke(p);return $.jsx(fke,{"data-shrink":d,ref:n,className:de(m.root,l),...c,ownerState:p,classes:m})});function pke(e){return tt("MuiLinearProgress",e)}ot("MuiLinearProgress",["root","colorPrimary","colorSecondary","determinate","indeterminate","buffer","query","dashed","dashedColorPrimary","dashedColorSecondary","bar","barColorPrimary","barColorSecondary","bar1Indeterminate","bar1Determinate","bar1Buffer","bar2Indeterminate","bar2Buffer"]);const y_=4,v_=qc` 0% { left: -35%; right: 100%; @@ -184,7 +209,9 @@ Error generating stack: `+i.message+` left: 100%; right: -90%; } -`)),Qme=Ba(DL||(DL=gh` +`,hke=typeof v_!="string"?Nf` + animation: ${v_} 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite; + `:null,b_=qc` 0% { left: -200%; right: 100%; @@ -199,7 +226,9 @@ Error generating stack: `+i.message+` left: 107%; right: -8%; } -`)),Xme=Ba(NL||(NL=gh` +`,mke=typeof b_!="string"?Nf` + animation: ${b_} 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite; + `:null,w_=qc` 0% { opacity: 1; background-position: 0 -23px; @@ -214,15 +243,9 @@ Error generating stack: `+i.message+` opacity: 1; background-position: -200px -23px; } -`)),Jme=e=>{const{classes:t,variant:n,color:r}=e,o={root:["root",`color${ie(r)}`,n],dashed:["dashed",`dashedColor${ie(r)}`],bar1:["bar",`barColor${ie(r)}`,(n==="indeterminate"||n==="query")&&"bar1Indeterminate",n==="determinate"&&"bar1Determinate",n==="buffer"&&"bar1Buffer"],bar2:["bar",n!=="buffer"&&`barColor${ie(r)}`,n==="buffer"&&`color${ie(r)}`,(n==="indeterminate"||n==="query")&&"bar2Indeterminate",n==="buffer"&&"bar2Buffer"]};return de(o,qme,t)},fA=(e,t)=>t==="inherit"?"currentColor":e.vars?e.vars.palette.LinearProgress[`${t}Bg`]:e.palette.mode==="light"?dp(e.palette[t].main,.62):up(e.palette[t].main,.5),Zme=W("span",{name:"MuiLinearProgress",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[`color${ie(n.color)}`],t[n.variant]]}})(({ownerState:e,theme:t})=>S({position:"relative",overflow:"hidden",display:"block",height:4,zIndex:0,"@media print":{colorAdjust:"exact"},backgroundColor:fA(t,e.color)},e.color==="inherit"&&e.variant!=="buffer"&&{backgroundColor:"none","&::before":{content:'""',position:"absolute",left:0,top:0,right:0,bottom:0,backgroundColor:"currentColor",opacity:.3}},e.variant==="buffer"&&{backgroundColor:"transparent"},e.variant==="query"&&{transform:"rotate(180deg)"})),ege=W("span",{name:"MuiLinearProgress",slot:"Dashed",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.dashed,t[`dashedColor${ie(n.color)}`]]}})(({ownerState:e,theme:t})=>{const n=fA(t,e.color);return S({position:"absolute",marginTop:0,height:"100%",width:"100%"},e.color==="inherit"&&{opacity:.3},{backgroundImage:`radial-gradient(${n} 0%, ${n} 16%, transparent 42%)`,backgroundSize:"10px 10px",backgroundPosition:"0 -23px"})},il(LL||(LL=gh` - animation: ${0} 3s infinite linear; - `),Xme)),tge=W("span",{name:"MuiLinearProgress",slot:"Bar1",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.bar,t[`barColor${ie(n.color)}`],(n.variant==="indeterminate"||n.variant==="query")&&t.bar1Indeterminate,n.variant==="determinate"&&t.bar1Determinate,n.variant==="buffer"&&t.bar1Buffer]}})(({ownerState:e,theme:t})=>S({width:"100%",position:"absolute",left:0,bottom:0,top:0,transition:"transform 0.2s linear",transformOrigin:"left",backgroundColor:e.color==="inherit"?"currentColor":(t.vars||t).palette[e.color].main},e.variant==="determinate"&&{transition:`transform .${$T}s linear`},e.variant==="buffer"&&{zIndex:1,transition:`transform .${$T}s linear`}),({ownerState:e})=>(e.variant==="indeterminate"||e.variant==="query")&&il(jL||(jL=gh` - width: auto; - animation: ${0} 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite; - `),Yme)),nge=W("span",{name:"MuiLinearProgress",slot:"Bar2",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.bar,t[`barColor${ie(n.color)}`],(n.variant==="indeterminate"||n.variant==="query")&&t.bar2Indeterminate,n.variant==="buffer"&&t.bar2Buffer]}})(({ownerState:e,theme:t})=>S({width:"100%",position:"absolute",left:0,bottom:0,top:0,transition:"transform 0.2s linear",transformOrigin:"left"},e.variant!=="buffer"&&{backgroundColor:e.color==="inherit"?"currentColor":(t.vars||t).palette[e.color].main},e.color==="inherit"&&{opacity:.3},e.variant==="buffer"&&{backgroundColor:fA(t,e.color),transition:`transform .${$T}s linear`}),({ownerState:e})=>(e.variant==="indeterminate"||e.variant==="query")&&il(FL||(FL=gh` - width: auto; - animation: ${0} 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite; - `),Qme)),rge=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiLinearProgress"}),{className:o,color:i="primary",value:a,valueBuffer:s,variant:l="indeterminate"}=r,c=q(r,Kme),u=S({},r,{color:i,variant:l}),d=Jme(u),f=_c(),p={},h={bar1:{},bar2:{}};if((l==="determinate"||l==="buffer")&&a!==void 0){p["aria-valuenow"]=Math.round(a),p["aria-valuemin"]=0,p["aria-valuemax"]=100;let m=a-100;f&&(m=-m),h.bar1.transform=`translateX(${m}%)`}if(l==="buffer"&&s!==void 0){let m=(s||0)-100;f&&(m=-m),h.bar2.transform=`translateX(${m}%)`}return k.jsxs(Zme,S({className:Q(d.root,o),ownerState:u,role:"progressbar"},p,{ref:n},c,{children:[l==="buffer"?k.jsx(ege,{className:d.dashed,ownerState:u}):null,k.jsx(tge,{className:d.bar1,ownerState:u,style:h.bar1}),l==="determinate"?null:k.jsx(nge,{className:d.bar2,ownerState:u,style:h.bar2})]}))}),qi=g.createContext({});function oge(e){return Se("MuiList",e)}Pe("MuiList",["root","padding","dense","subheader"]);const ige=["children","className","component","dense","disablePadding","subheader"],age=e=>{const{classes:t,disablePadding:n,dense:r,subheader:o}=e;return de({root:["root",!n&&"padding",r&&"dense",o&&"subheader"]},oge,t)},sge=W("ul",{name:"MuiList",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,!n.disablePadding&&t.padding,n.dense&&t.dense,n.subheader&&t.subheader]}})(({ownerState:e})=>S({listStyle:"none",margin:0,padding:0,position:"relative"},!e.disablePadding&&{paddingTop:8,paddingBottom:8},e.subheader&&{paddingTop:0})),za=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiList"}),{children:o,className:i,component:a="ul",dense:s=!1,disablePadding:l=!1,subheader:c}=r,u=q(r,ige),d=g.useMemo(()=>({dense:s}),[s]),f=S({},r,{component:a,dense:s,disablePadding:l}),p=age(f);return k.jsx(qi.Provider,{value:d,children:k.jsxs(sge,S({as:a,className:Q(p.root,i),ref:n,ownerState:f},u,{children:[c,o]}))})});function lge(e){return Se("MuiListItem",e)}const df=Pe("MuiListItem",["root","container","focusVisible","dense","alignItemsFlexStart","disabled","divider","gutters","padding","button","secondaryAction","selected"]);function cge(e){return Se("MuiListItemButton",e)}const ff=Pe("MuiListItemButton",["root","focusVisible","dense","alignItemsFlexStart","disabled","divider","gutters","selected"]),uge=["alignItems","autoFocus","component","children","dense","disableGutters","divider","focusVisibleClassName","selected","className"],dge=(e,t)=>{const{ownerState:n}=e;return[t.root,n.dense&&t.dense,n.alignItems==="flex-start"&&t.alignItemsFlexStart,n.divider&&t.divider,!n.disableGutters&&t.gutters]},fge=e=>{const{alignItems:t,classes:n,dense:r,disabled:o,disableGutters:i,divider:a,selected:s}=e,c=de({root:["root",r&&"dense",!i&&"gutters",a&&"divider",o&&"disabled",t==="flex-start"&&"alignItemsFlexStart",s&&"selected"]},cge,n);return S({},n,c)},pge=W(Zr,{shouldForwardProp:e=>jr(e)||e==="classes",name:"MuiListItemButton",slot:"Root",overridesResolver:dge})(({theme:e,ownerState:t})=>S({display:"flex",flexGrow:1,justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minWidth:0,boxSizing:"border-box",textAlign:"left",paddingTop:8,paddingBottom:8,transition:e.transitions.create("background-color",{duration:e.transitions.duration.shortest}),"&:hover":{textDecoration:"none",backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${ff.selected}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:st(e.palette.primary.main,e.palette.action.selectedOpacity),[`&.${ff.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:st(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}},[`&.${ff.selected}:hover`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:st(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:st(e.palette.primary.main,e.palette.action.selectedOpacity)}},[`&.${ff.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${ff.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity}},t.divider&&{borderBottom:`1px solid ${(e.vars||e).palette.divider}`,backgroundClip:"padding-box"},t.alignItems==="flex-start"&&{alignItems:"flex-start"},!t.disableGutters&&{paddingLeft:16,paddingRight:16},t.dense&&{paddingTop:4,paddingBottom:4})),Vc=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiListItemButton"}),{alignItems:o="center",autoFocus:i=!1,component:a="div",children:s,dense:l=!1,disableGutters:c=!1,divider:u=!1,focusVisibleClassName:d,selected:f=!1,className:p}=r,h=q(r,uge),m=g.useContext(qi),v=g.useMemo(()=>({dense:l||m.dense||!1,alignItems:o,disableGutters:c}),[o,m.dense,l,c]),b=g.useRef(null);Ft(()=>{i&&b.current&&b.current.focus()},[i]);const y=S({},r,{alignItems:o,dense:v.dense,disableGutters:c,divider:u,selected:f}),w=fge(y),C=Ot(b,n);return k.jsx(qi.Provider,{value:v,children:k.jsx(pge,S({ref:C,href:h.href||h.to,component:(h.href||h.to)&&a==="div"?"button":a,focusVisibleClassName:Q(w.focusVisible,d),ownerState:y,className:Q(w.root,p)},h,{classes:w,children:s}))})});function hge(e){return Se("MuiListItemSecondaryAction",e)}Pe("MuiListItemSecondaryAction",["root","disableGutters"]);const mge=["className"],gge=e=>{const{disableGutters:t,classes:n}=e;return de({root:["root",t&&"disableGutters"]},hge,n)},vge=W("div",{name:"MuiListItemSecondaryAction",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.disableGutters&&t.disableGutters]}})(({ownerState:e})=>S({position:"absolute",right:16,top:"50%",transform:"translateY(-50%)"},e.disableGutters&&{right:0})),g8=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiListItemSecondaryAction"}),{className:o}=r,i=q(r,mge),a=g.useContext(qi),s=S({},r,{disableGutters:a.disableGutters}),l=gge(s);return k.jsx(vge,S({className:Q(l.root,o),ownerState:s,ref:n},i))});g8.muiName="ListItemSecondaryAction";const yge=["className"],bge=["alignItems","autoFocus","button","children","className","component","components","componentsProps","ContainerComponent","ContainerProps","dense","disabled","disableGutters","disablePadding","divider","focusVisibleClassName","secondaryAction","selected","slotProps","slots"],xge=(e,t)=>{const{ownerState:n}=e;return[t.root,n.dense&&t.dense,n.alignItems==="flex-start"&&t.alignItemsFlexStart,n.divider&&t.divider,!n.disableGutters&&t.gutters,!n.disablePadding&&t.padding,n.button&&t.button,n.hasSecondaryAction&&t.secondaryAction]},wge=e=>{const{alignItems:t,button:n,classes:r,dense:o,disabled:i,disableGutters:a,disablePadding:s,divider:l,hasSecondaryAction:c,selected:u}=e;return de({root:["root",o&&"dense",!a&&"gutters",!s&&"padding",l&&"divider",i&&"disabled",n&&"button",t==="flex-start"&&"alignItemsFlexStart",c&&"secondaryAction",u&&"selected"],container:["container"]},lge,r)},Cge=W("div",{name:"MuiListItem",slot:"Root",overridesResolver:xge})(({theme:e,ownerState:t})=>S({display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",width:"100%",boxSizing:"border-box",textAlign:"left"},!t.disablePadding&&S({paddingTop:8,paddingBottom:8},t.dense&&{paddingTop:4,paddingBottom:4},!t.disableGutters&&{paddingLeft:16,paddingRight:16},!!t.secondaryAction&&{paddingRight:48}),!!t.secondaryAction&&{[`& > .${ff.root}`]:{paddingRight:48}},{[`&.${df.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${df.selected}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:st(e.palette.primary.main,e.palette.action.selectedOpacity),[`&.${df.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:st(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}},[`&.${df.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity}},t.alignItems==="flex-start"&&{alignItems:"flex-start"},t.divider&&{borderBottom:`1px solid ${(e.vars||e).palette.divider}`,backgroundClip:"padding-box"},t.button&&{transition:e.transitions.create("background-color",{duration:e.transitions.duration.shortest}),"&:hover":{textDecoration:"none",backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${df.selected}:hover`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:st(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:st(e.palette.primary.main,e.palette.action.selectedOpacity)}}},t.hasSecondaryAction&&{paddingRight:48})),Sge=W("li",{name:"MuiListItem",slot:"Container",overridesResolver:(e,t)=>t.container})({position:"relative"}),Zi=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiListItem"}),{alignItems:o="center",autoFocus:i=!1,button:a=!1,children:s,className:l,component:c,components:u={},componentsProps:d={},ContainerComponent:f="li",ContainerProps:{className:p}={},dense:h=!1,disabled:m=!1,disableGutters:v=!1,disablePadding:b=!1,divider:y=!1,focusVisibleClassName:w,secondaryAction:C,selected:O=!1,slotProps:P={},slots:E={}}=r,T=q(r.ContainerProps,yge),$=q(r,bge),M=g.useContext(qi),D=g.useMemo(()=>({dense:h||M.dense||!1,alignItems:o,disableGutters:v}),[o,M.dense,h,v]),L=g.useRef(null);Ft(()=>{i&&L.current&&L.current.focus()},[i]);const N=g.Children.toArray(s),R=N.length&&Au(N[N.length-1],["ListItemSecondaryAction"]),I=S({},r,{alignItems:o,autoFocus:i,button:a,dense:D.dense,disabled:m,disableGutters:v,disablePadding:b,divider:y,hasSecondaryAction:R,selected:O}),A=wge(I),F=Ot(L,n),_=E.root||u.Root||Cge,j=P.root||d.root||{},B=S({className:Q(A.root,j.className,l),disabled:m},$);let U=c||"li";return a&&(B.component=c||"div",B.focusVisibleClassName=Q(df.focusVisible,w),U=Zr),R?(U=!B.component&&!c?"div":U,f==="li"&&(U==="li"?U="div":B.component==="li"&&(B.component="div")),k.jsx(qi.Provider,{value:D,children:k.jsxs(Sge,S({as:f,className:Q(A.container,p),ref:F,ownerState:I},T,{children:[k.jsx(_,S({},j,!ed(_)&&{as:U,ownerState:S({},I,j.ownerState)},B,{children:N})),N.pop()]}))})):k.jsx(qi.Provider,{value:D,children:k.jsxs(_,S({},j,{as:U,ref:F},!ed(_)&&{ownerState:S({},I,j.ownerState)},B,{children:[N,C&&k.jsx(g8,{children:C})]}))})});function Pge(e){return Se("MuiListItemAvatar",e)}Pe("MuiListItemAvatar",["root","alignItemsFlexStart"]);const Ege=["className"],Oge=e=>{const{alignItems:t,classes:n}=e;return de({root:["root",t==="flex-start"&&"alignItemsFlexStart"]},Pge,n)},Tge=W("div",{name:"MuiListItemAvatar",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.alignItems==="flex-start"&&t.alignItemsFlexStart]}})(({ownerState:e})=>S({minWidth:56,flexShrink:0},e.alignItems==="flex-start"&&{marginTop:8})),pA=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiListItemAvatar"}),{className:o}=r,i=q(r,Ege),a=g.useContext(qi),s=S({},r,{alignItems:a.alignItems}),l=Oge(s);return k.jsx(Tge,S({className:Q(l.root,o),ownerState:s,ref:n},i))});function kge(e){return Se("MuiListItemIcon",e)}const BL=Pe("MuiListItemIcon",["root","alignItemsFlexStart"]),Ige=["className"],$ge=e=>{const{alignItems:t,classes:n}=e;return de({root:["root",t==="flex-start"&&"alignItemsFlexStart"]},kge,n)},Mge=W("div",{name:"MuiListItemIcon",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.alignItems==="flex-start"&&t.alignItemsFlexStart]}})(({theme:e,ownerState:t})=>S({minWidth:56,color:(e.vars||e).palette.action.active,flexShrink:0,display:"inline-flex"},t.alignItems==="flex-start"&&{marginTop:8})),fo=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiListItemIcon"}),{className:o}=r,i=q(r,Ige),a=g.useContext(qi),s=S({},r,{alignItems:a.alignItems}),l=$ge(s);return k.jsx(Mge,S({className:Q(l.root,o),ownerState:s,ref:n},i))});function Age(e){return Se("MuiListItemText",e)}const Hx=Pe("MuiListItemText",["root","multiline","dense","inset","primary","secondary"]),Rge=["children","className","disableTypography","inset","primary","primaryTypographyProps","secondary","secondaryTypographyProps"],_ge=e=>{const{classes:t,inset:n,primary:r,secondary:o,dense:i}=e;return de({root:["root",n&&"inset",i&&"dense",r&&o&&"multiline"],primary:["primary"],secondary:["secondary"]},Age,t)},Dge=W("div",{name:"MuiListItemText",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[{[`& .${Hx.primary}`]:t.primary},{[`& .${Hx.secondary}`]:t.secondary},t.root,n.inset&&t.inset,n.primary&&n.secondary&&t.multiline,n.dense&&t.dense]}})(({ownerState:e})=>S({flex:"1 1 auto",minWidth:0,marginTop:4,marginBottom:4},e.primary&&e.secondary&&{marginTop:6,marginBottom:6},e.inset&&{paddingLeft:56})),or=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiListItemText"}),{children:o,className:i,disableTypography:a=!1,inset:s=!1,primary:l,primaryTypographyProps:c,secondary:u,secondaryTypographyProps:d}=r,f=q(r,Rge),{dense:p}=g.useContext(qi);let h=l??o,m=u;const v=S({},r,{disableTypography:a,inset:s,primary:!!h,secondary:!!m,dense:p}),b=_ge(v);return h!=null&&h.type!==Be&&!a&&(h=k.jsx(Be,S({variant:p?"body2":"body1",className:b.primary,component:c!=null&&c.variant?void 0:"span",display:"block"},c,{children:h}))),m!=null&&m.type!==Be&&!a&&(m=k.jsx(Be,S({variant:"body2",className:b.secondary,color:"text.secondary",display:"block"},d,{children:m}))),k.jsxs(Dge,S({className:Q(b.root,i),ownerState:v,ref:n},f,{children:[h,m]}))}),Nge=["actions","autoFocus","autoFocusItem","children","className","disabledItemsFocusable","disableListWrap","onKeyDown","variant"];function eE(e,t,n){return e===t?e.firstChild:t&&t.nextElementSibling?t.nextElementSibling:n?null:e.firstChild}function zL(e,t,n){return e===t?n?e.firstChild:e.lastChild:t&&t.previousElementSibling?t.previousElementSibling:n?null:e.lastChild}function v8(e,t){if(t===void 0)return!0;let n=e.innerText;return n===void 0&&(n=e.textContent),n=n.trim().toLowerCase(),n.length===0?!1:t.repeating?n[0]===t.keys[0]:n.indexOf(t.keys.join(""))===0}function ym(e,t,n,r,o,i){let a=!1,s=o(e,t,t?n:!1);for(;s;){if(s===e.firstChild){if(a)return!1;a=!0}const l=r?!1:s.disabled||s.getAttribute("aria-disabled")==="true";if(!s.hasAttribute("tabindex")||!v8(s,i)||l)s=o(e,s,n);else return s.focus(),!0}return!1}const hA=g.forwardRef(function(t,n){const{actions:r,autoFocus:o=!1,autoFocusItem:i=!1,children:a,className:s,disabledItemsFocusable:l=!1,disableListWrap:c=!1,onKeyDown:u,variant:d="selectedMenu"}=t,f=q(t,Nge),p=g.useRef(null),h=g.useRef({keys:[],repeating:!0,previousKeyMatched:!0,lastTime:null});Ft(()=>{o&&p.current.focus()},[o]),g.useImperativeHandle(r,()=>({adjustStyleForScrollbar:(w,{direction:C})=>{const O=!p.current.style.width;if(w.clientHeight{const C=p.current,O=w.key,P=gn(C).activeElement;if(O==="ArrowDown")w.preventDefault(),ym(C,P,c,l,eE);else if(O==="ArrowUp")w.preventDefault(),ym(C,P,c,l,zL);else if(O==="Home")w.preventDefault(),ym(C,null,c,l,eE);else if(O==="End")w.preventDefault(),ym(C,null,c,l,zL);else if(O.length===1){const E=h.current,T=O.toLowerCase(),$=performance.now();E.keys.length>0&&($-E.lastTime>500?(E.keys=[],E.repeating=!0,E.previousKeyMatched=!0):E.repeating&&T!==E.keys[0]&&(E.repeating=!1)),E.lastTime=$,E.keys.push(T);const M=P&&!E.repeating&&v8(P,E);E.previousKeyMatched&&(M||ym(C,P,!1,l,eE,E))?w.preventDefault():E.previousKeyMatched=!1}u&&u(w)},v=Ot(p,n);let b=-1;g.Children.forEach(a,(w,C)=>{if(!g.isValidElement(w)){b===C&&(b+=1,b>=a.length&&(b=-1));return}w.props.disabled||(d==="selectedMenu"&&w.props.selected||b===-1)&&(b=C),b===C&&(w.props.disabled||w.props.muiSkipListHighlight||w.type.muiSkipListHighlight)&&(b+=1,b>=a.length&&(b=-1))});const y=g.Children.map(a,(w,C)=>{if(C===b){const O={};return i&&(O.autoFocus=!0),w.props.tabIndex===void 0&&d==="selectedMenu"&&(O.tabIndex=0),g.cloneElement(w,O)}return w});return k.jsx(za,S({role:"menu",ref:v,className:s,onKeyDown:m,tabIndex:o?0:-1},f,{children:y}))});function Lge(e){return Se("MuiPopover",e)}Pe("MuiPopover",["root","paper"]);const jge=["onEntering"],Fge=["action","anchorEl","anchorOrigin","anchorPosition","anchorReference","children","className","container","elevation","marginThreshold","open","PaperProps","slots","slotProps","transformOrigin","TransitionComponent","transitionDuration","TransitionProps","disableScrollLock"],Bge=["slotProps"];function VL(e,t){let n=0;return typeof t=="number"?n=t:t==="center"?n=e.height/2:t==="bottom"&&(n=e.height),n}function HL(e,t){let n=0;return typeof t=="number"?n=t:t==="center"?n=e.width/2:t==="right"&&(n=e.width),n}function UL(e){return[e.horizontal,e.vertical].map(t=>typeof t=="number"?`${t}px`:t).join(" ")}function tE(e){return typeof e=="function"?e():e}const zge=e=>{const{classes:t}=e;return de({root:["root"],paper:["paper"]},Lge,t)},Vge=W(ph,{name:"MuiPopover",slot:"Root",overridesResolver:(e,t)=>t.root})({}),y8=W(Kn,{name:"MuiPopover",slot:"Paper",overridesResolver:(e,t)=>t.paper})({position:"absolute",overflowY:"auto",overflowX:"hidden",minWidth:16,minHeight:16,maxWidth:"calc(100% - 32px)",maxHeight:"calc(100% - 32px)",outline:0}),Hge=g.forwardRef(function(t,n){var r,o,i;const a=Ee({props:t,name:"MuiPopover"}),{action:s,anchorEl:l,anchorOrigin:c={vertical:"top",horizontal:"left"},anchorPosition:u,anchorReference:d="anchorEl",children:f,className:p,container:h,elevation:m=8,marginThreshold:v=16,open:b,PaperProps:y={},slots:w,slotProps:C,transformOrigin:O={vertical:"top",horizontal:"left"},TransitionComponent:P=nd,transitionDuration:E="auto",TransitionProps:{onEntering:T}={},disableScrollLock:$=!1}=a,M=q(a.TransitionProps,jge),D=q(a,Fge),L=(r=C==null?void 0:C.paper)!=null?r:y,N=g.useRef(),R=Ot(N,L.ref),I=S({},a,{anchorOrigin:c,anchorReference:d,elevation:m,marginThreshold:v,externalPaperSlotProps:L,transformOrigin:O,TransitionComponent:P,transitionDuration:E,TransitionProps:M}),A=zge(I),F=g.useCallback(()=>{if(d==="anchorPosition")return u;const te=tE(l),he=(te&&te.nodeType===1?te:gn(N.current).body).getBoundingClientRect();return{top:he.top+VL(he,c.vertical),left:he.left+HL(he,c.horizontal)}},[l,c.horizontal,c.vertical,u,d]),_=g.useCallback(te=>({vertical:VL(te,O.vertical),horizontal:HL(te,O.horizontal)}),[O.horizontal,O.vertical]),j=g.useCallback(te=>{const fe={width:te.offsetWidth,height:te.offsetHeight},he=_(fe);if(d==="none")return{top:null,left:null,transformOrigin:UL(he)};const ce=F();let be=ce.top-he.vertical,ye=ce.left-he.horizontal;const Me=be+fe.height,Re=ye+fe.width,_e=si(tE(l)),Y=_e.innerHeight-v,ne=_e.innerWidth-v;if(v!==null&&beY){const se=Me-Y;be-=se,he.vertical+=se}if(v!==null&&yene){const se=Re-ne;ye-=se,he.horizontal+=se}return{top:`${Math.round(be)}px`,left:`${Math.round(ye)}px`,transformOrigin:UL(he)}},[l,d,F,_,v]),[B,U]=g.useState(b),H=g.useCallback(()=>{const te=N.current;if(!te)return;const fe=j(te);fe.top!==null&&(te.style.top=fe.top),fe.left!==null&&(te.style.left=fe.left),te.style.transformOrigin=fe.transformOrigin,U(!0)},[j]);g.useEffect(()=>($&&window.addEventListener("scroll",H),()=>window.removeEventListener("scroll",H)),[l,$,H]);const K=(te,fe)=>{T&&T(te,fe),H()},J=()=>{U(!1)};g.useEffect(()=>{b&&H()}),g.useImperativeHandle(s,()=>b?{updatePosition:()=>{H()}}:null,[b,H]),g.useEffect(()=>{if(!b)return;const te=Rc(()=>{H()}),fe=si(l);return fe.addEventListener("resize",te),()=>{te.clear(),fe.removeEventListener("resize",te)}},[l,b,H]);let oe=E;E==="auto"&&!P.muiSupportAuto&&(oe=void 0);const ae=h||(l?gn(tE(l)).body:void 0),Z=(o=w==null?void 0:w.root)!=null?o:Vge,ue=(i=w==null?void 0:w.paper)!=null?i:y8,re=Lo({elementType:ue,externalSlotProps:S({},L,{style:B?L.style:S({},L.style,{opacity:0})}),additionalProps:{elevation:m,ref:R},ownerState:I,className:Q(A.paper,L==null?void 0:L.className)}),pe=Lo({elementType:Z,externalSlotProps:(C==null?void 0:C.root)||{},externalForwardedProps:D,additionalProps:{ref:n,slotProps:{backdrop:{invisible:!0}},container:ae,open:b},ownerState:I,className:Q(A.root,p)}),{slotProps:le}=pe,G=q(pe,Bge);return k.jsx(Z,S({},G,!ed(Z)&&{slotProps:le,disableScrollLock:$},{children:k.jsx(P,S({appear:!0,in:b,onEntering:K,onExited:J,timeout:oe},M,{children:k.jsx(ue,S({},re,{children:f}))}))}))});function Uge(e){return Se("MuiMenu",e)}Pe("MuiMenu",["root","paper","list"]);const Wge=["onEntering"],Gge=["autoFocus","children","className","disableAutoFocusItem","MenuListProps","onClose","open","PaperProps","PopoverClasses","transitionDuration","TransitionProps","variant","slots","slotProps"],qge={vertical:"top",horizontal:"right"},Kge={vertical:"top",horizontal:"left"},Yge=e=>{const{classes:t}=e;return de({root:["root"],paper:["paper"],list:["list"]},Uge,t)},Qge=W(Hge,{shouldForwardProp:e=>jr(e)||e==="classes",name:"MuiMenu",slot:"Root",overridesResolver:(e,t)=>t.root})({}),Xge=W(y8,{name:"MuiMenu",slot:"Paper",overridesResolver:(e,t)=>t.paper})({maxHeight:"calc(100% - 96px)",WebkitOverflowScrolling:"touch"}),Jge=W(hA,{name:"MuiMenu",slot:"List",overridesResolver:(e,t)=>t.list})({outline:0}),vi=g.forwardRef(function(t,n){var r,o;const i=Ee({props:t,name:"MuiMenu"}),{autoFocus:a=!0,children:s,className:l,disableAutoFocusItem:c=!1,MenuListProps:u={},onClose:d,open:f,PaperProps:p={},PopoverClasses:h,transitionDuration:m="auto",TransitionProps:{onEntering:v}={},variant:b="selectedMenu",slots:y={},slotProps:w={}}=i,C=q(i.TransitionProps,Wge),O=q(i,Gge),P=_c(),E=S({},i,{autoFocus:a,disableAutoFocusItem:c,MenuListProps:u,onEntering:v,PaperProps:p,transitionDuration:m,TransitionProps:C,variant:b}),T=Yge(E),$=a&&!c&&f,M=g.useRef(null),D=(_,j)=>{M.current&&M.current.adjustStyleForScrollbar(_,{direction:P?"rtl":"ltr"}),v&&v(_,j)},L=_=>{_.key==="Tab"&&(_.preventDefault(),d&&d(_,"tabKeyDown"))};let N=-1;g.Children.map(s,(_,j)=>{g.isValidElement(_)&&(_.props.disabled||(b==="selectedMenu"&&_.props.selected||N===-1)&&(N=j))});const R=(r=y.paper)!=null?r:Xge,I=(o=w.paper)!=null?o:p,A=Lo({elementType:y.root,externalSlotProps:w.root,ownerState:E,className:[T.root,l]}),F=Lo({elementType:R,externalSlotProps:I,ownerState:E,className:T.paper});return k.jsx(Qge,S({onClose:d,anchorOrigin:{vertical:"bottom",horizontal:P?"right":"left"},transformOrigin:P?qge:Kge,slots:{paper:R,root:y.root},slotProps:{root:A,paper:F},open:f,ref:n,transitionDuration:m,TransitionProps:S({onEntering:D},C),ownerState:E},O,{classes:h,children:k.jsx(Jge,S({onKeyDown:L,actions:M,autoFocus:a&&(N===-1||c),autoFocusItem:$,variant:b},u,{className:Q(T.list,u.className),children:s}))}))});function Zge(e){return Se("MuiMenuItem",e)}const bm=Pe("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]),eve=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex","className"],tve=(e,t)=>{const{ownerState:n}=e;return[t.root,n.dense&&t.dense,n.divider&&t.divider,!n.disableGutters&&t.gutters]},nve=e=>{const{disabled:t,dense:n,divider:r,disableGutters:o,selected:i,classes:a}=e,l=de({root:["root",n&&"dense",t&&"disabled",!o&&"gutters",r&&"divider",i&&"selected"]},Zge,a);return S({},a,l)},rve=W(Zr,{shouldForwardProp:e=>jr(e)||e==="classes",name:"MuiMenuItem",slot:"Root",overridesResolver:tve})(({theme:e,ownerState:t})=>S({},e.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!t.disableGutters&&{paddingLeft:16,paddingRight:16},t.divider&&{borderBottom:`1px solid ${(e.vars||e).palette.divider}`,backgroundClip:"padding-box"},{"&:hover":{textDecoration:"none",backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${bm.selected}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:st(e.palette.primary.main,e.palette.action.selectedOpacity),[`&.${bm.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:st(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}},[`&.${bm.selected}:hover`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:st(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:st(e.palette.primary.main,e.palette.action.selectedOpacity)}},[`&.${bm.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${bm.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity},[`& + .${EL.root}`]:{marginTop:e.spacing(1),marginBottom:e.spacing(1)},[`& + .${EL.inset}`]:{marginLeft:52},[`& .${Hx.root}`]:{marginTop:0,marginBottom:0},[`& .${Hx.inset}`]:{paddingLeft:36},[`& .${BL.root}`]:{minWidth:36}},!t.dense&&{[e.breakpoints.up("sm")]:{minHeight:"auto"}},t.dense&&S({minHeight:32,paddingTop:4,paddingBottom:4},e.typography.body2,{[`& .${BL.root} svg`]:{fontSize:"1.25rem"}}))),bt=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiMenuItem"}),{autoFocus:o=!1,component:i="li",dense:a=!1,divider:s=!1,disableGutters:l=!1,focusVisibleClassName:c,role:u="menuitem",tabIndex:d,className:f}=r,p=q(r,eve),h=g.useContext(qi),m=g.useMemo(()=>({dense:a||h.dense||!1,disableGutters:l}),[h.dense,a,l]),v=g.useRef(null);Ft(()=>{o&&v.current&&v.current.focus()},[o]);const b=S({},r,{dense:m.dense,divider:s,disableGutters:l}),y=nve(r),w=Ot(v,n);let C;return r.disabled||(C=d!==void 0?d:-1),k.jsx(qi.Provider,{value:m,children:k.jsx(rve,S({ref:w,role:u,tabIndex:C,component:i,focusVisibleClassName:Q(y.focusVisible,c),className:Q(y.root,f)},p,{ownerState:b,classes:y}))})});function ove(e){return Se("MuiNativeSelect",e)}const mA=Pe("MuiNativeSelect",["root","select","multiple","filled","outlined","standard","disabled","icon","iconOpen","iconFilled","iconOutlined","iconStandard","nativeInput","error"]),ive=["className","disabled","error","IconComponent","inputRef","variant"],ave=e=>{const{classes:t,variant:n,disabled:r,multiple:o,open:i,error:a}=e,s={select:["select",n,r&&"disabled",o&&"multiple",a&&"error"],icon:["icon",`icon${ie(n)}`,i&&"iconOpen",r&&"disabled"]};return de(s,ove,t)},b8=({ownerState:e,theme:t})=>S({MozAppearance:"none",WebkitAppearance:"none",userSelect:"none",borderRadius:0,cursor:"pointer","&:focus":S({},t.vars?{backgroundColor:`rgba(${t.vars.palette.common.onBackgroundChannel} / 0.05)`}:{backgroundColor:t.palette.mode==="light"?"rgba(0, 0, 0, 0.05)":"rgba(255, 255, 255, 0.05)"},{borderRadius:0}),"&::-ms-expand":{display:"none"},[`&.${mA.disabled}`]:{cursor:"default"},"&[multiple]":{height:"auto"},"&:not([multiple]) option, &:not([multiple]) optgroup":{backgroundColor:(t.vars||t).palette.background.paper},"&&&":{paddingRight:24,minWidth:16}},e.variant==="filled"&&{"&&&":{paddingRight:32}},e.variant==="outlined"&&{borderRadius:(t.vars||t).shape.borderRadius,"&:focus":{borderRadius:(t.vars||t).shape.borderRadius},"&&&":{paddingRight:32}}),sve=W("select",{name:"MuiNativeSelect",slot:"Select",shouldForwardProp:jr,overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.select,t[n.variant],n.error&&t.error,{[`&.${mA.multiple}`]:t.multiple}]}})(b8),x8=({ownerState:e,theme:t})=>S({position:"absolute",right:0,top:"calc(50% - .5em)",pointerEvents:"none",color:(t.vars||t).palette.action.active,[`&.${mA.disabled}`]:{color:(t.vars||t).palette.action.disabled}},e.open&&{transform:"rotate(180deg)"},e.variant==="filled"&&{right:7},e.variant==="outlined"&&{right:7}),lve=W("svg",{name:"MuiNativeSelect",slot:"Icon",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.icon,n.variant&&t[`icon${ie(n.variant)}`],n.open&&t.iconOpen]}})(x8),cve=g.forwardRef(function(t,n){const{className:r,disabled:o,error:i,IconComponent:a,inputRef:s,variant:l="standard"}=t,c=q(t,ive),u=S({},t,{disabled:o,variant:l,error:i}),d=ave(u);return k.jsxs(g.Fragment,{children:[k.jsx(sve,S({ownerState:u,className:Q(d.select,r),disabled:o,ref:s||n},c)),t.multiple?null:k.jsx(lve,{as:a,ownerState:u,className:d.icon})]})});var WL;const uve=["children","classes","className","label","notched"],dve=W("fieldset",{shouldForwardProp:jr})({textAlign:"left",position:"absolute",bottom:0,right:0,top:-5,left:0,margin:0,padding:"0 8px",pointerEvents:"none",borderRadius:"inherit",borderStyle:"solid",borderWidth:1,overflow:"hidden",minWidth:"0%"}),fve=W("legend",{shouldForwardProp:jr})(({ownerState:e,theme:t})=>S({float:"unset",width:"auto",overflow:"hidden"},!e.withLabel&&{padding:0,lineHeight:"11px",transition:t.transitions.create("width",{duration:150,easing:t.transitions.easing.easeOut})},e.withLabel&&S({display:"block",padding:0,height:11,fontSize:"0.75em",visibility:"hidden",maxWidth:.01,transition:t.transitions.create("max-width",{duration:50,easing:t.transitions.easing.easeOut}),whiteSpace:"nowrap","& > span":{paddingLeft:5,paddingRight:5,display:"inline-block",opacity:0,visibility:"visible"}},e.notched&&{maxWidth:"100%",transition:t.transitions.create("max-width",{duration:100,easing:t.transitions.easing.easeOut,delay:50})})));function pve(e){const{className:t,label:n,notched:r}=e,o=q(e,uve),i=n!=null&&n!=="",a=S({},e,{notched:r,withLabel:i});return k.jsx(dve,S({"aria-hidden":!0,className:t,ownerState:a},o,{children:k.jsx(fve,{ownerState:a,children:i?k.jsx("span",{children:n}):WL||(WL=k.jsx("span",{className:"notranslate",children:"​"}))})}))}const hve=["components","fullWidth","inputComponent","label","multiline","notched","slots","type"],mve=e=>{const{classes:t}=e,r=de({root:["root"],notchedOutline:["notchedOutline"],input:["input"]},$de,t);return S({},t,r)},gve=W(_C,{shouldForwardProp:e=>jr(e)||e==="classes",name:"MuiOutlinedInput",slot:"Root",overridesResolver:AC})(({theme:e,ownerState:t})=>{const n=e.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)";return S({position:"relative",borderRadius:(e.vars||e).shape.borderRadius,[`&:hover .${Qa.notchedOutline}`]:{borderColor:(e.vars||e).palette.text.primary},"@media (hover: none)":{[`&:hover .${Qa.notchedOutline}`]:{borderColor:e.vars?`rgba(${e.vars.palette.common.onBackgroundChannel} / 0.23)`:n}},[`&.${Qa.focused} .${Qa.notchedOutline}`]:{borderColor:(e.vars||e).palette[t.color].main,borderWidth:2},[`&.${Qa.error} .${Qa.notchedOutline}`]:{borderColor:(e.vars||e).palette.error.main},[`&.${Qa.disabled} .${Qa.notchedOutline}`]:{borderColor:(e.vars||e).palette.action.disabled}},t.startAdornment&&{paddingLeft:14},t.endAdornment&&{paddingRight:14},t.multiline&&S({padding:"16.5px 14px"},t.size==="small"&&{padding:"8.5px 14px"}))}),vve=W(pve,{name:"MuiOutlinedInput",slot:"NotchedOutline",overridesResolver:(e,t)=>t.notchedOutline})(({theme:e})=>{const t=e.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)";return{borderColor:e.vars?`rgba(${e.vars.palette.common.onBackgroundChannel} / 0.23)`:t}}),yve=W(DC,{name:"MuiOutlinedInput",slot:"Input",overridesResolver:RC})(({theme:e,ownerState:t})=>S({padding:"16.5px 14px"},!e.vars&&{"&:-webkit-autofill":{WebkitBoxShadow:e.palette.mode==="light"?null:"0 0 0 100px #266798 inset",WebkitTextFillColor:e.palette.mode==="light"?null:"#fff",caretColor:e.palette.mode==="light"?null:"#fff",borderRadius:"inherit"}},e.vars&&{"&:-webkit-autofill":{borderRadius:"inherit"},[e.getColorSchemeSelector("dark")]:{"&:-webkit-autofill":{WebkitBoxShadow:"0 0 0 100px #266798 inset",WebkitTextFillColor:"#fff",caretColor:"#fff"}}},t.size==="small"&&{padding:"8.5px 14px"},t.multiline&&{padding:0},t.startAdornment&&{paddingLeft:0},t.endAdornment&&{paddingRight:0})),gA=g.forwardRef(function(t,n){var r,o,i,a,s;const l=Ee({props:t,name:"MuiOutlinedInput"}),{components:c={},fullWidth:u=!1,inputComponent:d="input",label:f,multiline:p=!1,notched:h,slots:m={},type:v="text"}=l,b=q(l,hve),y=mve(l),w=Ps(),C=zc({props:l,muiFormControl:w,states:["color","disabled","error","focused","hiddenLabel","size","required"]}),O=S({},l,{color:C.color||"primary",disabled:C.disabled,error:C.error,focused:C.focused,formControl:w,fullWidth:u,hiddenLabel:C.hiddenLabel,multiline:p,size:C.size,type:v}),P=(r=(o=m.root)!=null?o:c.Root)!=null?r:gve,E=(i=(a=m.input)!=null?a:c.Input)!=null?i:yve;return k.jsx(fh,S({slots:{root:P,input:E},renderSuffix:T=>k.jsx(vve,{ownerState:O,className:y.notchedOutline,label:f!=null&&f!==""&&C.required?s||(s=k.jsxs(g.Fragment,{children:[f," ","*"]})):f,notched:typeof h<"u"?h:!!(T.startAdornment||T.filled||T.focused)}),fullWidth:u,inputComponent:d,multiline:p,ref:n,type:v},b,{classes:S({},y,{notchedOutline:null})}))});gA.muiName="Input";function bve(e){return Se("MuiPagination",e)}Pe("MuiPagination",["root","ul","outlined","text"]);const xve=["boundaryCount","componentName","count","defaultPage","disabled","hideNextButton","hidePrevButton","onChange","page","showFirstButton","showLastButton","siblingCount"];function wve(e={}){const{boundaryCount:t=1,componentName:n="usePagination",count:r=1,defaultPage:o=1,disabled:i=!1,hideNextButton:a=!1,hidePrevButton:s=!1,onChange:l,page:c,showFirstButton:u=!1,showLastButton:d=!1,siblingCount:f=1}=e,p=q(e,xve),[h,m]=To({controlled:c,default:o,name:n,state:"page"}),v=($,M)=>{c||m(M),l&&l($,M)},b=($,M)=>{const D=M-$+1;return Array.from({length:D},(L,N)=>$+N)},y=b(1,Math.min(t,r)),w=b(Math.max(r-t+1,t+1),r),C=Math.max(Math.min(h-f,r-t-f*2-1),t+2),O=Math.min(Math.max(h+f,t+f*2+2),w.length>0?w[0]-2:r-1),P=[...u?["first"]:[],...s?[]:["previous"],...y,...C>t+2?["start-ellipsis"]:t+1t?[r-t]:[],...w,...a?[]:["next"],...d?["last"]:[]],E=$=>{switch($){case"first":return 1;case"previous":return h-1;case"next":return h+1;case"last":return r;default:return null}},T=P.map($=>typeof $=="number"?{onClick:M=>{v(M,$)},type:"page",page:$,selected:$===h,disabled:i,"aria-current":$===h?"true":void 0}:{onClick:M=>{v(M,E($))},type:$,page:E($),selected:!1,disabled:i||$.indexOf("ellipsis")===-1&&($==="next"||$==="last"?h>=r:h<=1)});return S({items:T},p)}function Cve(e){return Se("MuiPaginationItem",e)}const Oi=Pe("MuiPaginationItem",["root","page","sizeSmall","sizeLarge","text","textPrimary","textSecondary","outlined","outlinedPrimary","outlinedSecondary","rounded","ellipsis","firstLast","previousNext","focusVisible","disabled","selected","icon","colorPrimary","colorSecondary"]),MT=rt(k.jsx("path",{d:"M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6 6 6zM6 6h2v12H6z"}),"FirstPage"),AT=rt(k.jsx("path",{d:"M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z"}),"LastPage"),GL=rt(k.jsx("path",{d:"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"}),"NavigateBefore"),qL=rt(k.jsx("path",{d:"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"NavigateNext"),Sve=["className","color","component","components","disabled","page","selected","shape","size","slots","type","variant"],w8=(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],t[`size${ie(n.size)}`],n.variant==="text"&&t[`text${ie(n.color)}`],n.variant==="outlined"&&t[`outlined${ie(n.color)}`],n.shape==="rounded"&&t.rounded,n.type==="page"&&t.page,(n.type==="start-ellipsis"||n.type==="end-ellipsis")&&t.ellipsis,(n.type==="previous"||n.type==="next")&&t.previousNext,(n.type==="first"||n.type==="last")&&t.firstLast]},Pve=e=>{const{classes:t,color:n,disabled:r,selected:o,size:i,shape:a,type:s,variant:l}=e,c={root:["root",`size${ie(i)}`,l,a,n!=="standard"&&`color${ie(n)}`,n!=="standard"&&`${l}${ie(n)}`,r&&"disabled",o&&"selected",{page:"page",first:"firstLast",last:"firstLast","start-ellipsis":"ellipsis","end-ellipsis":"ellipsis",previous:"previousNext",next:"previousNext"}[s]],icon:["icon"]};return de(c,Cve,t)},Eve=W("div",{name:"MuiPaginationItem",slot:"Root",overridesResolver:w8})(({theme:e,ownerState:t})=>S({},e.typography.body2,{borderRadius:32/2,textAlign:"center",boxSizing:"border-box",minWidth:32,padding:"0 6px",margin:"0 3px",color:(e.vars||e).palette.text.primary,height:"auto",[`&.${Oi.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity}},t.size==="small"&&{minWidth:26,borderRadius:26/2,margin:"0 1px",padding:"0 4px"},t.size==="large"&&{minWidth:40,borderRadius:40/2,padding:"0 10px",fontSize:e.typography.pxToRem(15)})),Ove=W(Zr,{name:"MuiPaginationItem",slot:"Root",overridesResolver:w8})(({theme:e,ownerState:t})=>S({},e.typography.body2,{borderRadius:32/2,textAlign:"center",boxSizing:"border-box",minWidth:32,height:32,padding:"0 6px",margin:"0 3px",color:(e.vars||e).palette.text.primary,[`&.${Oi.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${Oi.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity},transition:e.transitions.create(["color","background-color"],{duration:e.transitions.duration.short}),"&:hover":{backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${Oi.selected}`]:{backgroundColor:(e.vars||e).palette.action.selected,"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.action.selectedChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:st(e.palette.action.selected,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(e.vars||e).palette.action.selected}},[`&.${Oi.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.action.selectedChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:st(e.palette.action.selected,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)},[`&.${Oi.disabled}`]:{opacity:1,color:(e.vars||e).palette.action.disabled,backgroundColor:(e.vars||e).palette.action.selected}}},t.size==="small"&&{minWidth:26,height:26,borderRadius:26/2,margin:"0 1px",padding:"0 4px"},t.size==="large"&&{minWidth:40,height:40,borderRadius:40/2,padding:"0 10px",fontSize:e.typography.pxToRem(15)},t.shape==="rounded"&&{borderRadius:(e.vars||e).shape.borderRadius}),({theme:e,ownerState:t})=>S({},t.variant==="text"&&{[`&.${Oi.selected}`]:S({},t.color!=="standard"&&{color:(e.vars||e).palette[t.color].contrastText,backgroundColor:(e.vars||e).palette[t.color].main,"&:hover":{backgroundColor:(e.vars||e).palette[t.color].dark,"@media (hover: none)":{backgroundColor:(e.vars||e).palette[t.color].main}},[`&.${Oi.focusVisible}`]:{backgroundColor:(e.vars||e).palette[t.color].dark}},{[`&.${Oi.disabled}`]:{color:(e.vars||e).palette.action.disabled}})},t.variant==="outlined"&&{border:e.vars?`1px solid rgba(${e.vars.palette.common.onBackgroundChannel} / 0.23)`:`1px solid ${e.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)"}`,[`&.${Oi.selected}`]:S({},t.color!=="standard"&&{color:(e.vars||e).palette[t.color].main,border:`1px solid ${e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / 0.5)`:st(e.palette[t.color].main,.5)}`,backgroundColor:e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / ${e.vars.palette.action.activatedOpacity})`:st(e.palette[t.color].main,e.palette.action.activatedOpacity),"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / calc(${e.vars.palette.action.activatedOpacity} + ${e.vars.palette.action.focusOpacity}))`:st(e.palette[t.color].main,e.palette.action.activatedOpacity+e.palette.action.focusOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${Oi.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / calc(${e.vars.palette.action.activatedOpacity} + ${e.vars.palette.action.focusOpacity}))`:st(e.palette[t.color].main,e.palette.action.activatedOpacity+e.palette.action.focusOpacity)}},{[`&.${Oi.disabled}`]:{borderColor:(e.vars||e).palette.action.disabledBackground,color:(e.vars||e).palette.action.disabled}})})),Tve=W("div",{name:"MuiPaginationItem",slot:"Icon",overridesResolver:(e,t)=>t.icon})(({theme:e,ownerState:t})=>S({fontSize:e.typography.pxToRem(20),margin:"0 -8px"},t.size==="small"&&{fontSize:e.typography.pxToRem(18)},t.size==="large"&&{fontSize:e.typography.pxToRem(22)})),kve=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiPaginationItem"}),{className:o,color:i="standard",component:a,components:s={},disabled:l=!1,page:c,selected:u=!1,shape:d="circular",size:f="medium",slots:p={},type:h="page",variant:m="text"}=r,v=q(r,Sve),b=S({},r,{color:i,disabled:l,selected:u,shape:d,size:f,type:h,variant:m}),y=_c(),w=Pve(b),O=(y?{previous:p.next||s.next||qL,next:p.previous||s.previous||GL,last:p.first||s.first||MT,first:p.last||s.last||AT}:{previous:p.previous||s.previous||GL,next:p.next||s.next||qL,first:p.first||s.first||MT,last:p.last||s.last||AT})[h];return h==="start-ellipsis"||h==="end-ellipsis"?k.jsx(Eve,{ref:n,ownerState:b,className:Q(w.root,o),children:"…"}):k.jsxs(Ove,S({ref:n,ownerState:b,component:a,disabled:l,className:Q(w.root,o)},v,{children:[h==="page"&&c,O?k.jsx(Tve,{as:O,ownerState:b,className:w.icon}):null]}))}),Ive=["boundaryCount","className","color","count","defaultPage","disabled","getItemAriaLabel","hideNextButton","hidePrevButton","onChange","page","renderItem","shape","showFirstButton","showLastButton","siblingCount","size","variant"],$ve=e=>{const{classes:t,variant:n}=e;return de({root:["root",n],ul:["ul"]},bve,t)},Mve=W("nav",{name:"MuiPagination",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant]]}})({}),Ave=W("ul",{name:"MuiPagination",slot:"Ul",overridesResolver:(e,t)=>t.ul})({display:"flex",flexWrap:"wrap",alignItems:"center",padding:0,margin:0,listStyle:"none"});function Rve(e,t,n){return e==="page"?`${n?"":"Go to "}page ${t}`:`Go to ${e} page`}const _ve=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiPagination"}),{boundaryCount:o=1,className:i,color:a="standard",count:s=1,defaultPage:l=1,disabled:c=!1,getItemAriaLabel:u=Rve,hideNextButton:d=!1,hidePrevButton:f=!1,renderItem:p=T=>k.jsx(kve,S({},T)),shape:h="circular",showFirstButton:m=!1,showLastButton:v=!1,siblingCount:b=1,size:y="medium",variant:w="text"}=r,C=q(r,Ive),{items:O}=wve(S({},r,{componentName:"Pagination"})),P=S({},r,{boundaryCount:o,color:a,count:s,defaultPage:l,disabled:c,getItemAriaLabel:u,hideNextButton:d,hidePrevButton:f,renderItem:p,shape:h,showFirstButton:m,showLastButton:v,siblingCount:b,size:y,variant:w}),E=$ve(P);return k.jsx(Mve,S({"aria-label":"pagination navigation",className:Q(E.root,i),ownerState:P,ref:n},C,{children:k.jsx(Ave,{className:E.ul,ownerState:P,children:O.map((T,$)=>k.jsx("li",{children:p(S({},T,{color:a,"aria-label":u(T.type,T.page,T.selected),shape:h,size:y,variant:w}))},$))})}))});function Dve(e){return Se("MuiSelect",e)}const xm=Pe("MuiSelect",["root","select","multiple","filled","outlined","standard","disabled","focused","icon","iconOpen","iconFilled","iconOutlined","iconStandard","nativeInput","error"]);var KL;const Nve=["aria-describedby","aria-label","autoFocus","autoWidth","children","className","defaultOpen","defaultValue","disabled","displayEmpty","error","IconComponent","inputRef","labelId","MenuProps","multiple","name","onBlur","onChange","onClose","onFocus","onOpen","open","readOnly","renderValue","SelectDisplayProps","tabIndex","type","value","variant"],Lve=W("div",{name:"MuiSelect",slot:"Select",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[{[`&.${xm.select}`]:t.select},{[`&.${xm.select}`]:t[n.variant]},{[`&.${xm.error}`]:t.error},{[`&.${xm.multiple}`]:t.multiple}]}})(b8,{[`&.${xm.select}`]:{height:"auto",minHeight:"1.4375em",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"}}),jve=W("svg",{name:"MuiSelect",slot:"Icon",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.icon,n.variant&&t[`icon${ie(n.variant)}`],n.open&&t.iconOpen]}})(x8),Fve=W("input",{shouldForwardProp:e=>hU(e)&&e!=="classes",name:"MuiSelect",slot:"NativeInput",overridesResolver:(e,t)=>t.nativeInput})({bottom:0,left:0,position:"absolute",opacity:0,pointerEvents:"none",width:"100%",boxSizing:"border-box"});function YL(e,t){return typeof t=="object"&&t!==null?e===t:String(e)===String(t)}function Bve(e){return e==null||typeof e=="string"&&!e.trim()}const zve=e=>{const{classes:t,variant:n,disabled:r,multiple:o,open:i,error:a}=e,s={select:["select",n,r&&"disabled",o&&"multiple",a&&"error"],icon:["icon",`icon${ie(n)}`,i&&"iconOpen",r&&"disabled"],nativeInput:["nativeInput"]};return de(s,Dve,t)},Vve=g.forwardRef(function(t,n){var r;const{"aria-describedby":o,"aria-label":i,autoFocus:a,autoWidth:s,children:l,className:c,defaultOpen:u,defaultValue:d,disabled:f,displayEmpty:p,error:h=!1,IconComponent:m,inputRef:v,labelId:b,MenuProps:y={},multiple:w,name:C,onBlur:O,onChange:P,onClose:E,onFocus:T,onOpen:$,open:M,readOnly:D,renderValue:L,SelectDisplayProps:N={},tabIndex:R,value:I,variant:A="standard"}=t,F=q(t,Nve),[_,j]=To({controlled:I,default:d,name:"Select"}),[B,U]=To({controlled:M,default:u,name:"Select"}),H=g.useRef(null),K=g.useRef(null),[J,oe]=g.useState(null),{current:ae}=g.useRef(M!=null),[Z,ue]=g.useState(),re=Ot(n,v),pe=g.useCallback(Fe=>{K.current=Fe,Fe&&oe(Fe)},[]),le=J==null?void 0:J.parentNode;g.useImperativeHandle(re,()=>({focus:()=>{K.current.focus()},node:H.current,value:_}),[_]),g.useEffect(()=>{u&&B&&J&&!ae&&(ue(s?null:le.clientWidth),K.current.focus())},[J,s]),g.useEffect(()=>{a&&K.current.focus()},[a]),g.useEffect(()=>{if(!b)return;const Fe=gn(K.current).getElementById(b);if(Fe){const it=()=>{getSelection().isCollapsed&&K.current.focus()};return Fe.addEventListener("click",it),()=>{Fe.removeEventListener("click",it)}}},[b]);const G=(Fe,it)=>{Fe?$&&$(it):E&&E(it),ae||(ue(s?null:le.clientWidth),U(Fe))},te=Fe=>{Fe.button===0&&(Fe.preventDefault(),K.current.focus(),G(!0,Fe))},fe=Fe=>{G(!1,Fe)},he=g.Children.toArray(l),ce=Fe=>{const it=he.find($e=>$e.props.value===Fe.target.value);it!==void 0&&(j(it.props.value),P&&P(Fe,it))},be=Fe=>it=>{let $e;if(it.currentTarget.hasAttribute("tabindex")){if(w){$e=Array.isArray(_)?_.slice():[];const We=_.indexOf(Fe.props.value);We===-1?$e.push(Fe.props.value):$e.splice(We,1)}else $e=Fe.props.value;if(Fe.props.onClick&&Fe.props.onClick(it),_!==$e&&(j($e),P)){const We=it.nativeEvent||it,mt=new We.constructor(We.type,We);Object.defineProperty(mt,"target",{writable:!0,value:{value:$e,name:C}}),P(mt,Fe)}w||G(!1,it)}},ye=Fe=>{D||[" ","ArrowUp","ArrowDown","Enter"].indexOf(Fe.key)!==-1&&(Fe.preventDefault(),G(!0,Fe))},Me=J!==null&&B,Re=Fe=>{!Me&&O&&(Object.defineProperty(Fe,"target",{writable:!0,value:{value:_,name:C}}),O(Fe))};delete F["aria-invalid"];let _e,Y;const ne=[];let se=!1;(Vx({value:_})||p)&&(L?_e=L(_):se=!0);const ge=he.map(Fe=>{if(!g.isValidElement(Fe))return null;let it;if(w){if(!Array.isArray(_))throw new Error(al(2));it=_.some($e=>YL($e,Fe.props.value)),it&&se&&ne.push(Fe.props.children)}else it=YL(_,Fe.props.value),it&&se&&(Y=Fe.props.children);return g.cloneElement(Fe,{"aria-selected":it?"true":"false",onClick:be(Fe),onKeyUp:$e=>{$e.key===" "&&$e.preventDefault(),Fe.props.onKeyUp&&Fe.props.onKeyUp($e)},role:"option",selected:it,value:void 0,"data-value":Fe.props.value})});se&&(w?ne.length===0?_e=null:_e=ne.reduce((Fe,it,$e)=>(Fe.push(it),$e{const{classes:t}=e;return t},vA={name:"MuiSelect",overridesResolver:(e,t)=>t.root,shouldForwardProp:e=>jr(e)&&e!=="variant",slot:"Root"},Gve=W(dA,vA)(""),qve=W(gA,vA)(""),Kve=W(cA,vA)(""),Hc=g.forwardRef(function(t,n){const r=Ee({name:"MuiSelect",props:t}),{autoWidth:o=!1,children:i,classes:a={},className:s,defaultOpen:l=!1,displayEmpty:c=!1,IconComponent:u=e8,id:d,input:f,inputProps:p,label:h,labelId:m,MenuProps:v,multiple:b=!1,native:y=!1,onClose:w,onOpen:C,open:O,renderValue:P,SelectDisplayProps:E,variant:T="outlined"}=r,$=q(r,Hve),M=y?cve:Vve,D=Ps(),L=zc({props:r,muiFormControl:D,states:["variant","error"]}),N=L.variant||T,R=S({},r,{variant:N,classes:a}),I=Wve(R),A=q(I,Uve),F=f||{standard:k.jsx(Gve,{ownerState:R}),outlined:k.jsx(qve,{label:h,ownerState:R}),filled:k.jsx(Kve,{ownerState:R})}[N],_=Ot(n,F.ref);return k.jsx(g.Fragment,{children:g.cloneElement(F,S({inputComponent:M,inputProps:S({children:i,error:L.error,IconComponent:u,variant:N,type:void 0,multiple:b},y?{id:d}:{autoWidth:o,defaultOpen:l,displayEmpty:c,labelId:m,MenuProps:v,onClose:w,onOpen:C,open:O,renderValue:P,SelectDisplayProps:S({id:d},E)},p,{classes:p?Dr(A,p.classes):A},f?f.props.inputProps:{})},(b&&y||c)&&N==="outlined"?{notched:!0}:{},{ref:_,className:Q(F.props.className,s,I.root)},!f&&{variant:N},$))})});Hc.muiName="Select";function Yve(e){return Se("MuiSkeleton",e)}Pe("MuiSkeleton",["root","text","rectangular","rounded","circular","pulse","wave","withChildren","fitContent","heightAuto"]);const Qve=["animation","className","component","height","style","variant","width"];let Ux=e=>e,QL,XL,JL,ZL;const Xve=e=>{const{classes:t,variant:n,animation:r,hasChildren:o,width:i,height:a}=e;return de({root:["root",n,r,o&&"withChildren",o&&!i&&"fitContent",o&&!a&&"heightAuto"]},Yve,t)},Jve=Ba(QL||(QL=Ux` +`,gke=typeof w_!="string"?Nf` + animation: ${w_} 3s infinite linear; + `:null,yke=e=>{const{classes:t,variant:n,color:r}=e,o={root:["root",`color${Ce(r)}`,n],dashed:["dashed",`dashedColor${Ce(r)}`],bar1:["bar",`barColor${Ce(r)}`,(n==="indeterminate"||n==="query")&&"bar1Indeterminate",n==="determinate"&&"bar1Determinate",n==="buffer"&&"bar1Buffer"],bar2:["bar",n!=="buffer"&&`barColor${Ce(r)}`,n==="buffer"&&`color${Ce(r)}`,(n==="indeterminate"||n==="query")&&"bar2Indeterminate",n==="buffer"&&"bar2Buffer"]};return rt(o,pke,t)},YF=(e,t)=>e.vars?e.vars.palette.LinearProgress[`${t}Bg`]:e.palette.mode==="light"?Vu(e.palette[t].main,.62):zu(e.palette[t].main,.5),vke=oe("span",{name:"MuiLinearProgress",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[`color${Ce(n.color)}`],t[n.variant]]}})(Ze(({theme:e})=>({position:"relative",overflow:"hidden",display:"block",height:4,zIndex:0,"@media print":{colorAdjust:"exact"},variants:[...Object.entries(e.palette).filter(zn()).map(([t])=>({props:{color:t},style:{backgroundColor:YF(e,t)}})),{props:({ownerState:t})=>t.color==="inherit"&&t.variant!=="buffer",style:{"&::before":{content:'""',position:"absolute",left:0,top:0,right:0,bottom:0,backgroundColor:"currentColor",opacity:.3}}},{props:{variant:"buffer"},style:{backgroundColor:"transparent"}},{props:{variant:"query"},style:{transform:"rotate(180deg)"}}]}))),bke=oe("span",{name:"MuiLinearProgress",slot:"Dashed",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.dashed,t[`dashedColor${Ce(n.color)}`]]}})(Ze(({theme:e})=>({position:"absolute",marginTop:0,height:"100%",width:"100%",backgroundSize:"10px 10px",backgroundPosition:"0 -23px",variants:[{props:{color:"inherit"},style:{opacity:.3,backgroundImage:"radial-gradient(currentColor 0%, currentColor 16%, transparent 42%)"}},...Object.entries(e.palette).filter(zn()).map(([t])=>{const n=YF(e,t);return{props:{color:t},style:{backgroundImage:`radial-gradient(${n} 0%, ${n} 16%, transparent 42%)`}}})]})),gke||{animation:`${w_} 3s infinite linear`}),wke=oe("span",{name:"MuiLinearProgress",slot:"Bar1",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.bar,t[`barColor${Ce(n.color)}`],(n.variant==="indeterminate"||n.variant==="query")&&t.bar1Indeterminate,n.variant==="determinate"&&t.bar1Determinate,n.variant==="buffer"&&t.bar1Buffer]}})(Ze(({theme:e})=>({width:"100%",position:"absolute",left:0,bottom:0,top:0,transition:"transform 0.2s linear",transformOrigin:"left",variants:[{props:{color:"inherit"},style:{backgroundColor:"currentColor"}},...Object.entries(e.palette).filter(zn()).map(([t])=>({props:{color:t},style:{backgroundColor:(e.vars||e).palette[t].main}})),{props:{variant:"determinate"},style:{transition:`transform .${y_}s linear`}},{props:{variant:"buffer"},style:{zIndex:1,transition:`transform .${y_}s linear`}},{props:({ownerState:t})=>t.variant==="indeterminate"||t.variant==="query",style:{width:"auto"}},{props:({ownerState:t})=>t.variant==="indeterminate"||t.variant==="query",style:hke||{animation:`${v_} 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite`}}]}))),xke=oe("span",{name:"MuiLinearProgress",slot:"Bar2",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.bar,t[`barColor${Ce(n.color)}`],(n.variant==="indeterminate"||n.variant==="query")&&t.bar2Indeterminate,n.variant==="buffer"&&t.bar2Buffer]}})(Ze(({theme:e})=>({width:"100%",position:"absolute",left:0,bottom:0,top:0,transition:"transform 0.2s linear",transformOrigin:"left",variants:[...Object.entries(e.palette).filter(zn()).map(([t])=>({props:{color:t},style:{"--LinearProgressBar2-barColor":(e.vars||e).palette[t].main}})),{props:({ownerState:t})=>t.variant!=="buffer"&&t.color!=="inherit",style:{backgroundColor:"var(--LinearProgressBar2-barColor, currentColor)"}},{props:({ownerState:t})=>t.variant!=="buffer"&&t.color==="inherit",style:{backgroundColor:"currentColor"}},{props:{color:"inherit"},style:{opacity:.3}},...Object.entries(e.palette).filter(zn()).map(([t])=>({props:{color:t,variant:"buffer"},style:{backgroundColor:YF(e,t),transition:`transform .${y_}s linear`}})),{props:({ownerState:t})=>t.variant==="indeterminate"||t.variant==="query",style:{width:"auto"}},{props:({ownerState:t})=>t.variant==="indeterminate"||t.variant==="query",style:mke||{animation:`${b_} 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite`}}]}))),TZ=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiLinearProgress"}),{className:o,color:i="primary",value:a,valueBuffer:s,variant:l="indeterminate",...c}=r,u={...r,color:i,variant:l},d=yke(u),f=nr(),p={},m={bar1:{},bar2:{}};if((l==="determinate"||l==="buffer")&&a!==void 0){p["aria-valuenow"]=Math.round(a),p["aria-valuemin"]=0,p["aria-valuemax"]=100;let g=a-100;f&&(g=-g),m.bar1.transform=`translateX(${g}%)`}if(l==="buffer"&&s!==void 0){let g=(s||0)-100;f&&(g=-g),m.bar2.transform=`translateX(${g}%)`}return $.jsxs(vke,{className:de(d.root,o),ownerState:u,role:"progressbar",...p,ref:n,...c,children:[l==="buffer"?$.jsx(bke,{className:d.dashed,ownerState:u}):null,$.jsx(wke,{className:d.bar1,ownerState:u,style:m.bar1}),l==="determinate"?null:$.jsx(xke,{className:d.bar2,ownerState:u,style:m.bar2})]})}),tl=y.createContext({});function Ske(e){return tt("MuiList",e)}ot("MuiList",["root","padding","dense","subheader"]);const Cke=e=>{const{classes:t,disablePadding:n,dense:r,subheader:o}=e;return rt({root:["root",!n&&"padding",r&&"dense",o&&"subheader"]},Ske,t)},Pke=oe("ul",{name:"MuiList",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,!n.disablePadding&&t.padding,n.dense&&t.dense,n.subheader&&t.subheader]}})({listStyle:"none",margin:0,padding:0,position:"relative",variants:[{props:({ownerState:e})=>!e.disablePadding,style:{paddingTop:8,paddingBottom:8}},{props:({ownerState:e})=>e.subheader,style:{paddingTop:0}}]}),pl=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiList"}),{children:o,className:i,component:a="ul",dense:s=!1,disablePadding:l=!1,subheader:c,...u}=r,d=y.useMemo(()=>({dense:s}),[s]),f={...r,component:a,dense:s,disablePadding:l},p=Cke(f);return $.jsx(tl.Provider,{value:d,children:$.jsxs(Pke,{as:a,className:de(p.root,i),ref:n,ownerState:f,...u,children:[c,o]})})});function Tke(e){return tt("MuiListItem",e)}ot("MuiListItem",["root","container","dense","alignItemsFlexStart","divider","gutters","padding","secondaryAction"]);function Eke(e){return tt("MuiListItemButton",e)}const fg=ot("MuiListItemButton",["root","focusVisible","dense","alignItemsFlexStart","disabled","divider","gutters","selected"]),Oke=(e,t)=>{const{ownerState:n}=e;return[t.root,n.dense&&t.dense,n.alignItems==="flex-start"&&t.alignItemsFlexStart,n.divider&&t.divider,!n.disableGutters&&t.gutters]},Ike=e=>{const{alignItems:t,classes:n,dense:r,disabled:o,disableGutters:i,divider:a,selected:s}=e,c=rt({root:["root",r&&"dense",!i&&"gutters",a&&"divider",o&&"disabled",t==="flex-start"&&"alignItemsFlexStart",s&&"selected"]},Eke,n);return{...n,...c}},kke=oe(Ki,{shouldForwardProp:e=>ci(e)||e==="classes",name:"MuiListItemButton",slot:"Root",overridesResolver:Oke})(Ze(({theme:e})=>({display:"flex",flexGrow:1,justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minWidth:0,boxSizing:"border-box",textAlign:"left",paddingTop:8,paddingBottom:8,transition:e.transitions.create("background-color",{duration:e.transitions.duration.shortest}),"&:hover":{textDecoration:"none",backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${fg.selected}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:mt(e.palette.primary.main,e.palette.action.selectedOpacity),[`&.${fg.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:mt(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}},[`&.${fg.selected}:hover`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:mt(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:mt(e.palette.primary.main,e.palette.action.selectedOpacity)}},[`&.${fg.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${fg.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity},variants:[{props:({ownerState:t})=>t.divider,style:{borderBottom:`1px solid ${(e.vars||e).palette.divider}`,backgroundClip:"padding-box"}},{props:{alignItems:"flex-start"},style:{alignItems:"flex-start"}},{props:({ownerState:t})=>!t.disableGutters,style:{paddingLeft:16,paddingRight:16}},{props:({ownerState:t})=>t.dense,style:{paddingTop:4,paddingBottom:4}}]}))),Wf=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiListItemButton"}),{alignItems:o="center",autoFocus:i=!1,component:a="div",children:s,dense:l=!1,disableGutters:c=!1,divider:u=!1,focusVisibleClassName:d,selected:f=!1,className:p,...m}=r,g=y.useContext(tl),v=y.useMemo(()=>({dense:l||g.dense||!1,alignItems:o,disableGutters:c}),[o,g.dense,l,c]),w=y.useRef(null);rs(()=>{i&&w.current&&w.current.focus()},[i]);const x={...r,alignItems:o,dense:v.dense,disableGutters:c,divider:u,selected:f},S=Ike(x),P=Cr(w,n);return $.jsx(tl.Provider,{value:v,children:$.jsx(kke,{ref:P,href:m.href||m.to,component:(m.href||m.to)&&a==="div"?"button":a,focusVisibleClassName:de(S.focusVisible,d),ownerState:x,className:de(S.root,p),...m,classes:S,children:s})})});function Mke(e){return tt("MuiListItemSecondaryAction",e)}ot("MuiListItemSecondaryAction",["root","disableGutters"]);const Ake=e=>{const{disableGutters:t,classes:n}=e;return rt({root:["root",t&&"disableGutters"]},Mke,n)},$ke=oe("div",{name:"MuiListItemSecondaryAction",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.disableGutters&&t.disableGutters]}})({position:"absolute",right:16,top:"50%",transform:"translateY(-50%)",variants:[{props:({ownerState:e})=>e.disableGutters,style:{right:0}}]}),EZ=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiListItemSecondaryAction"}),{className:o,...i}=r,a=y.useContext(tl),s={...r,disableGutters:a.disableGutters},l=Ake(s);return $.jsx($ke,{className:de(l.root,o),ownerState:s,ref:n,...i})});EZ.muiName="ListItemSecondaryAction";const Rke=(e,t)=>{const{ownerState:n}=e;return[t.root,n.dense&&t.dense,n.alignItems==="flex-start"&&t.alignItemsFlexStart,n.divider&&t.divider,!n.disableGutters&&t.gutters,!n.disablePadding&&t.padding,n.hasSecondaryAction&&t.secondaryAction]},_ke=e=>{const{alignItems:t,classes:n,dense:r,disableGutters:o,disablePadding:i,divider:a,hasSecondaryAction:s}=e;return rt({root:["root",r&&"dense",!o&&"gutters",!i&&"padding",a&&"divider",t==="flex-start"&&"alignItemsFlexStart",s&&"secondaryAction"],container:["container"]},Tke,n)},Dke=oe("div",{name:"MuiListItem",slot:"Root",overridesResolver:Rke})(Ze(({theme:e})=>({display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",width:"100%",boxSizing:"border-box",textAlign:"left",variants:[{props:({ownerState:t})=>!t.disablePadding,style:{paddingTop:8,paddingBottom:8}},{props:({ownerState:t})=>!t.disablePadding&&t.dense,style:{paddingTop:4,paddingBottom:4}},{props:({ownerState:t})=>!t.disablePadding&&!t.disableGutters,style:{paddingLeft:16,paddingRight:16}},{props:({ownerState:t})=>!t.disablePadding&&!!t.secondaryAction,style:{paddingRight:48}},{props:({ownerState:t})=>!!t.secondaryAction,style:{[`& > .${fg.root}`]:{paddingRight:48}}},{props:{alignItems:"flex-start"},style:{alignItems:"flex-start"}},{props:({ownerState:t})=>t.divider,style:{borderBottom:`1px solid ${(e.vars||e).palette.divider}`,backgroundClip:"padding-box"}},{props:({ownerState:t})=>t.button,style:{transition:e.transitions.create("background-color",{duration:e.transitions.duration.shortest}),"&:hover":{textDecoration:"none",backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}}},{props:({ownerState:t})=>t.hasSecondaryAction,style:{paddingRight:48}}]}))),Nke=oe("li",{name:"MuiListItem",slot:"Container",overridesResolver:(e,t)=>t.container})({position:"relative"}),ls=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiListItem"}),{alignItems:o="center",children:i,className:a,component:s,components:l={},componentsProps:c={},ContainerComponent:u="li",ContainerProps:{className:d,...f}={},dense:p=!1,disableGutters:m=!1,disablePadding:g=!1,divider:v=!1,secondaryAction:w,slotProps:x={},slots:S={},...P}=r,T=y.useContext(tl),E=y.useMemo(()=>({dense:p||T.dense||!1,alignItems:o,disableGutters:m}),[o,T.dense,p,m]),O=y.useRef(null),k=y.Children.toArray(i),A=k.length&&qg(k[k.length-1],["ListItemSecondaryAction"]),I={...r,alignItems:o,dense:E.dense,disableGutters:m,disablePadding:g,divider:v,hasSecondaryAction:A},R=_ke(I),N=Cr(O,n),L=S.root||l.Root||Dke,j=x.root||c.root||{},_={className:de(R.root,j.className,a),...P};let D=s||"li";return A?(D=!_.component&&!s?"div":D,u==="li"&&(D==="li"?D="div":_.component==="li"&&(_.component="div")),$.jsx(tl.Provider,{value:E,children:$.jsxs(Nke,{as:u,className:de(R.container,d),ref:N,ownerState:I,...f,children:[$.jsx(L,{...j,...!Hy(L)&&{as:D,ownerState:{...I,...j.ownerState}},..._,children:k}),k.pop()]})})):$.jsx(tl.Provider,{value:E,children:$.jsxs(L,{...j,as:D,ref:N,...!Hy(L)&&{ownerState:{...I,...j.ownerState}},..._,children:[k,w&&$.jsx(EZ,{children:w})]})})});function Lke(e){return tt("MuiListItemAvatar",e)}ot("MuiListItemAvatar",["root","alignItemsFlexStart"]);const Fke=e=>{const{alignItems:t,classes:n}=e;return rt({root:["root",t==="flex-start"&&"alignItemsFlexStart"]},Lke,n)},jke=oe("div",{name:"MuiListItemAvatar",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.alignItems==="flex-start"&&t.alignItemsFlexStart]}})({minWidth:56,flexShrink:0,variants:[{props:{alignItems:"flex-start"},style:{marginTop:8}}]}),XF=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiListItemAvatar"}),{className:o,...i}=r,a=y.useContext(tl),s={...r,alignItems:a.alignItems},l=Fke(s);return $.jsx(jke,{className:de(l.root,o),ownerState:s,ref:n,...i})});function Bke(e){return tt("MuiListItemIcon",e)}const sU=ot("MuiListItemIcon",["root","alignItemsFlexStart"]),zke=e=>{const{alignItems:t,classes:n}=e;return rt({root:["root",t==="flex-start"&&"alignItemsFlexStart"]},Bke,n)},Vke=oe("div",{name:"MuiListItemIcon",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.alignItems==="flex-start"&&t.alignItemsFlexStart]}})(Ze(({theme:e})=>({minWidth:56,color:(e.vars||e).palette.action.active,flexShrink:0,display:"inline-flex",variants:[{props:{alignItems:"flex-start"},style:{marginTop:8}}]}))),Gi=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiListItemIcon"}),{className:o,...i}=r,a=y.useContext(tl),s={...r,alignItems:a.alignItems},l=zke(s);return $.jsx(Vke,{className:de(l.root,o),ownerState:s,ref:n,...i})});function Hke(e){return tt("MuiListItemText",e)}const Rg=ot("MuiListItemText",["root","multiline","dense","inset","primary","secondary"]),Uke=e=>{const{classes:t,inset:n,primary:r,secondary:o,dense:i}=e;return rt({root:["root",n&&"inset",i&&"dense",r&&o&&"multiline"],primary:["primary"],secondary:["secondary"]},Hke,t)},Wke=oe("div",{name:"MuiListItemText",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[{[`& .${Rg.primary}`]:t.primary},{[`& .${Rg.secondary}`]:t.secondary},t.root,n.inset&&t.inset,n.primary&&n.secondary&&t.multiline,n.dense&&t.dense]}})({flex:"1 1 auto",minWidth:0,marginTop:4,marginBottom:4,[`.${jT.root}:where(& .${Rg.primary})`]:{display:"block"},[`.${jT.root}:where(& .${Rg.secondary})`]:{display:"block"},variants:[{props:({ownerState:e})=>e.primary&&e.secondary,style:{marginTop:6,marginBottom:6}},{props:({ownerState:e})=>e.inset,style:{paddingLeft:56}}]}),wo=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiListItemText"}),{children:o,className:i,disableTypography:a=!1,inset:s=!1,primary:l,primaryTypographyProps:c,secondary:u,secondaryTypographyProps:d,...f}=r,{dense:p}=y.useContext(tl);let m=l??o,g=u;const v={...r,disableTypography:a,inset:s,primary:!!m,secondary:!!g,dense:p},w=Uke(v);return m!=null&&m.type!==ct&&!a&&(m=$.jsx(ct,{variant:p?"body2":"body1",className:w.primary,component:c!=null&&c.variant?void 0:"span",...c,children:m})),g!=null&&g.type!==ct&&!a&&(g=$.jsx(ct,{variant:"body2",className:w.secondary,color:"textSecondary",...d,children:g})),$.jsxs(Wke,{className:de(w.root,i),ownerState:v,ref:n,...f,children:[m,g]})});function P$(e,t,n){return e===t?e.firstChild:t&&t.nextElementSibling?t.nextElementSibling:n?null:e.firstChild}function lU(e,t,n){return e===t?n?e.firstChild:e.lastChild:t&&t.previousElementSibling?t.previousElementSibling:n?null:e.lastChild}function OZ(e,t){if(t===void 0)return!0;let n=e.innerText;return n===void 0&&(n=e.textContent),n=n.trim().toLowerCase(),n.length===0?!1:t.repeating?n[0]===t.keys[0]:n.startsWith(t.keys.join(""))}function i0(e,t,n,r,o,i){let a=!1,s=o(e,t,t?n:!1);for(;s;){if(s===e.firstChild){if(a)return!1;a=!0}const l=r?!1:s.disabled||s.getAttribute("aria-disabled")==="true";if(!s.hasAttribute("tabindex")||!OZ(s,i)||l)s=o(e,s,n);else return s.focus(),!0}return!1}const kS=y.forwardRef(function(t,n){const{actions:r,autoFocus:o=!1,autoFocusItem:i=!1,children:a,className:s,disabledItemsFocusable:l=!1,disableListWrap:c=!1,onKeyDown:u,variant:d="selectedMenu",...f}=t,p=y.useRef(null),m=y.useRef({keys:[],repeating:!0,previousKeyMatched:!0,lastTime:null});rs(()=>{o&&p.current.focus()},[o]),y.useImperativeHandle(r,()=>({adjustStyleForScrollbar:(S,{direction:P})=>{const T=!p.current.style.width;if(S.clientHeight{const P=p.current,T=S.key;if(S.ctrlKey||S.metaKey||S.altKey){u&&u(S);return}const O=ii(P).activeElement;if(T==="ArrowDown")S.preventDefault(),i0(P,O,c,l,P$);else if(T==="ArrowUp")S.preventDefault(),i0(P,O,c,l,lU);else if(T==="Home")S.preventDefault(),i0(P,null,c,l,P$);else if(T==="End")S.preventDefault(),i0(P,null,c,l,lU);else if(T.length===1){const k=m.current,A=T.toLowerCase(),I=performance.now();k.keys.length>0&&(I-k.lastTime>500?(k.keys=[],k.repeating=!0,k.previousKeyMatched=!0):k.repeating&&A!==k.keys[0]&&(k.repeating=!1)),k.lastTime=I,k.keys.push(A);const R=O&&!k.repeating&&OZ(O,k);k.previousKeyMatched&&(R||i0(P,O,!1,l,P$,k))?S.preventDefault():k.previousKeyMatched=!1}u&&u(S)},v=Cr(p,n);let w=-1;y.Children.forEach(a,(S,P)=>{if(!y.isValidElement(S)){w===P&&(w+=1,w>=a.length&&(w=-1));return}S.props.disabled||(d==="selectedMenu"&&S.props.selected||w===-1)&&(w=P),w===P&&(S.props.disabled||S.props.muiSkipListHighlight||S.type.muiSkipListHighlight)&&(w+=1,w>=a.length&&(w=-1))});const x=y.Children.map(a,(S,P)=>{if(P===w){const T={};return i&&(T.autoFocus=!0),S.props.tabIndex===void 0&&d==="selectedMenu"&&(T.tabIndex=0),y.cloneElement(S,T)}return S});return $.jsx(pl,{role:"menu",ref:v,className:s,onKeyDown:g,tabIndex:o?0:-1,...f,children:x})});function Gke(e){return tt("MuiPopover",e)}ot("MuiPopover",["root","paper"]);function cU(e,t){let n=0;return typeof t=="number"?n=t:t==="center"?n=e.height/2:t==="bottom"&&(n=e.height),n}function uU(e,t){let n=0;return typeof t=="number"?n=t:t==="center"?n=e.width/2:t==="right"&&(n=e.width),n}function dU(e){return[e.horizontal,e.vertical].map(t=>typeof t=="number"?`${t}px`:t).join(" ")}function T$(e){return typeof e=="function"?e():e}const qke=e=>{const{classes:t}=e;return rt({root:["root"],paper:["paper"]},Gke,t)},Kke=oe(Bv,{name:"MuiPopover",slot:"Root",overridesResolver:(e,t)=>t.root})({}),IZ=oe(uo,{name:"MuiPopover",slot:"Paper",overridesResolver:(e,t)=>t.paper})({position:"absolute",overflowY:"auto",overflowX:"hidden",minWidth:16,minHeight:16,maxWidth:"calc(100% - 32px)",maxHeight:"calc(100% - 32px)",outline:0}),Yke=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiPopover"}),{action:o,anchorEl:i,anchorOrigin:a={vertical:"top",horizontal:"left"},anchorPosition:s,anchorReference:l="anchorEl",children:c,className:u,container:d,elevation:f=8,marginThreshold:p=16,open:m,PaperProps:g={},slots:v={},slotProps:w={},transformOrigin:x={vertical:"top",horizontal:"left"},TransitionComponent:S=kf,transitionDuration:P="auto",TransitionProps:{onEntering:T,...E}={},disableScrollLock:O=!1,...k}=r,A=(w==null?void 0:w.paper)??g,I=y.useRef(),R={...r,anchorOrigin:a,anchorReference:l,elevation:f,marginThreshold:p,externalPaperSlotProps:A,transformOrigin:x,TransitionComponent:S,transitionDuration:P,TransitionProps:E},N=qke(R),L=y.useCallback(()=>{if(l==="anchorPosition")return s;const re=T$(i),ee=(re&&re.nodeType===1?re:ii(I.current).body).getBoundingClientRect();return{top:ee.top+cU(ee,a.vertical),left:ee.left+uU(ee,a.horizontal)}},[i,a.horizontal,a.vertical,s,l]),j=y.useCallback(re=>({vertical:cU(re,x.vertical),horizontal:uU(re,x.horizontal)}),[x.horizontal,x.vertical]),_=y.useCallback(re=>{const fe={width:re.offsetWidth,height:re.offsetHeight},ee=j(fe);if(l==="none")return{top:null,left:null,transformOrigin:dU(ee)};const ce=L();let me=ce.top-ee.vertical,we=ce.left-ee.horizontal;const ge=me+fe.height,Se=we+fe.width,xe=os(T$(i)),Ie=xe.innerHeight-p,Re=xe.innerWidth-p;if(p!==null&&meIe){const _e=ge-Ie;me-=_e,ee.vertical+=_e}if(p!==null&&weRe){const _e=Se-Re;we-=_e,ee.horizontal+=_e}return{top:`${Math.round(me)}px`,left:`${Math.round(we)}px`,transformOrigin:dU(ee)}},[i,l,L,j,p]),[D,z]=y.useState(m),F=y.useCallback(()=>{const re=I.current;if(!re)return;const fe=_(re);fe.top!==null&&re.style.setProperty("top",fe.top),fe.left!==null&&(re.style.left=fe.left),re.style.transformOrigin=fe.transformOrigin,z(!0)},[_]);y.useEffect(()=>(O&&window.addEventListener("scroll",F),()=>window.removeEventListener("scroll",F)),[i,O,F]);const H=(re,fe)=>{T&&T(re,fe),F()},U=()=>{z(!1)};y.useEffect(()=>{m&&F()}),y.useImperativeHandle(o,()=>m?{updatePosition:()=>{F()}}:null,[m,F]),y.useEffect(()=>{if(!m)return;const re=bS(()=>{F()}),fe=os(i);return fe.addEventListener("resize",re),()=>{re.clear(),fe.removeEventListener("resize",re)}},[i,m,F]);let q=P;P==="auto"&&!S.muiSupportAuto&&(q=void 0);const X=d||(i?ii(T$(i)).body:void 0),ae={slots:v,slotProps:{...w,paper:A}},[Z,K]=hr("paper",{elementType:IZ,externalForwardedProps:ae,additionalProps:{elevation:f,className:de(N.paper,A==null?void 0:A.className),style:D?A.style:{...A.style,opacity:0}},ownerState:R}),[te,{slotProps:pe,...ie}]=hr("root",{elementType:Kke,externalForwardedProps:ae,additionalProps:{slotProps:{backdrop:{invisible:!0}},container:X,open:m},ownerState:R,className:de(N.root,u)}),le=Cr(I,K.ref);return $.jsx(te,{...ie,...!Hy(te)&&{slotProps:pe,disableScrollLock:O},...k,ref:n,children:$.jsx(S,{appear:!0,in:m,onEntering:H,onExited:U,timeout:q,...E,children:$.jsx(Z,{...K,ref:le,children:c})})})});function Xke(e){return tt("MuiMenu",e)}ot("MuiMenu",["root","paper","list"]);const Qke={vertical:"top",horizontal:"right"},Jke={vertical:"top",horizontal:"left"},Zke=e=>{const{classes:t}=e;return rt({root:["root"],paper:["paper"],list:["list"]},Xke,t)},eMe=oe(Yke,{shouldForwardProp:e=>ci(e)||e==="classes",name:"MuiMenu",slot:"Root",overridesResolver:(e,t)=>t.root})({}),tMe=oe(IZ,{name:"MuiMenu",slot:"Paper",overridesResolver:(e,t)=>t.paper})({maxHeight:"calc(100% - 96px)",WebkitOverflowScrolling:"touch"}),nMe=oe(kS,{name:"MuiMenu",slot:"List",overridesResolver:(e,t)=>t.list})({outline:0}),ms=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiMenu"}),{autoFocus:o=!0,children:i,className:a,disableAutoFocusItem:s=!1,MenuListProps:l={},onClose:c,open:u,PaperProps:d={},PopoverClasses:f,transitionDuration:p="auto",TransitionProps:{onEntering:m,...g}={},variant:v="selectedMenu",slots:w={},slotProps:x={},...S}=r,P=nr(),T={...r,autoFocus:o,disableAutoFocusItem:s,MenuListProps:l,onEntering:m,PaperProps:d,transitionDuration:p,TransitionProps:g,variant:v},E=Zke(T),O=o&&!s&&u,k=y.useRef(null),A=(D,z)=>{k.current&&k.current.adjustStyleForScrollbar(D,{direction:P?"rtl":"ltr"}),m&&m(D,z)},I=D=>{D.key==="Tab"&&(D.preventDefault(),c&&c(D,"tabKeyDown"))};let R=-1;y.Children.map(i,(D,z)=>{y.isValidElement(D)&&(D.props.disabled||(v==="selectedMenu"&&D.props.selected||R===-1)&&(R=z))});const N=w.paper??tMe,L=x.paper??d,j=Bc({elementType:w.root,externalSlotProps:x.root,ownerState:T,className:[E.root,a]}),_=Bc({elementType:N,externalSlotProps:L,ownerState:T,className:E.paper});return $.jsx(eMe,{onClose:c,anchorOrigin:{vertical:"bottom",horizontal:P?"right":"left"},transformOrigin:P?Qke:Jke,slots:{paper:N,root:w.root},slotProps:{root:j,paper:_},open:u,ref:n,transitionDuration:p,TransitionProps:{onEntering:A,...g},ownerState:T,...S,classes:f,children:$.jsx(nMe,{onKeyDown:I,actions:k,autoFocus:o&&(R===-1||s),autoFocusItem:O,variant:v,...l,className:de(E.list,l.className),children:i})})});function rMe(e){return tt("MuiMenuItem",e)}const a0=ot("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]),oMe=(e,t)=>{const{ownerState:n}=e;return[t.root,n.dense&&t.dense,n.divider&&t.divider,!n.disableGutters&&t.gutters]},iMe=e=>{const{disabled:t,dense:n,divider:r,disableGutters:o,selected:i,classes:a}=e,l=rt({root:["root",n&&"dense",t&&"disabled",!o&&"gutters",r&&"divider",i&&"selected"]},rMe,a);return{...a,...l}},aMe=oe(Ki,{shouldForwardProp:e=>ci(e)||e==="classes",name:"MuiMenuItem",slot:"Root",overridesResolver:oMe})(Ze(({theme:e})=>({...e.typography.body1,display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap","&:hover":{textDecoration:"none",backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${a0.selected}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:mt(e.palette.primary.main,e.palette.action.selectedOpacity),[`&.${a0.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:mt(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}},[`&.${a0.selected}:hover`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:mt(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:mt(e.palette.primary.main,e.palette.action.selectedOpacity)}},[`&.${a0.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${a0.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity},[`& + .${eU.root}`]:{marginTop:e.spacing(1),marginBottom:e.spacing(1)},[`& + .${eU.inset}`]:{marginLeft:52},[`& .${Rg.root}`]:{marginTop:0,marginBottom:0},[`& .${Rg.inset}`]:{paddingLeft:36},[`& .${sU.root}`]:{minWidth:36},variants:[{props:({ownerState:t})=>!t.disableGutters,style:{paddingLeft:16,paddingRight:16}},{props:({ownerState:t})=>t.divider,style:{borderBottom:`1px solid ${(e.vars||e).palette.divider}`,backgroundClip:"padding-box"}},{props:({ownerState:t})=>!t.dense,style:{[e.breakpoints.up("sm")]:{minHeight:"auto"}}},{props:({ownerState:t})=>t.dense,style:{minHeight:32,paddingTop:4,paddingBottom:4,...e.typography.body2,[`& .${sU.root} svg`]:{fontSize:"1.25rem"}}}]}))),Yt=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiMenuItem"}),{autoFocus:o=!1,component:i="li",dense:a=!1,divider:s=!1,disableGutters:l=!1,focusVisibleClassName:c,role:u="menuitem",tabIndex:d,className:f,...p}=r,m=y.useContext(tl),g=y.useMemo(()=>({dense:a||m.dense||!1,disableGutters:l}),[m.dense,a,l]),v=y.useRef(null);rs(()=>{o&&v.current&&v.current.focus()},[o]);const w={...r,dense:g.dense,divider:s,disableGutters:l},x=iMe(r),S=Cr(v,n);let P;return r.disabled||(P=d!==void 0?d:-1),$.jsx(tl.Provider,{value:g,children:$.jsx(aMe,{ref:S,role:u,tabIndex:P,component:i,focusVisibleClassName:de(x.focusVisible,c),className:de(x.root,f),...p,ownerState:w,classes:x})})});function sMe(e){return tt("MuiNativeSelect",e)}const QF=ot("MuiNativeSelect",["root","select","multiple","filled","outlined","standard","disabled","icon","iconOpen","iconFilled","iconOutlined","iconStandard","nativeInput","error"]),lMe=e=>{const{classes:t,variant:n,disabled:r,multiple:o,open:i,error:a}=e,s={select:["select",n,r&&"disabled",o&&"multiple",a&&"error"],icon:["icon",`icon${Ce(n)}`,i&&"iconOpen",r&&"disabled"]};return rt(s,sMe,t)},kZ=oe("select")(({theme:e})=>({MozAppearance:"none",WebkitAppearance:"none",userSelect:"none",borderRadius:0,cursor:"pointer","&:focus":{borderRadius:0},[`&.${QF.disabled}`]:{cursor:"default"},"&[multiple]":{height:"auto"},"&:not([multiple]) option, &:not([multiple]) optgroup":{backgroundColor:(e.vars||e).palette.background.paper},variants:[{props:({ownerState:t})=>t.variant!=="filled"&&t.variant!=="outlined",style:{"&&&":{paddingRight:24,minWidth:16}}},{props:{variant:"filled"},style:{"&&&":{paddingRight:32}}},{props:{variant:"outlined"},style:{borderRadius:(e.vars||e).shape.borderRadius,"&:focus":{borderRadius:(e.vars||e).shape.borderRadius},"&&&":{paddingRight:32}}}]})),cMe=oe(kZ,{name:"MuiNativeSelect",slot:"Select",shouldForwardProp:ci,overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.select,t[n.variant],n.error&&t.error,{[`&.${QF.multiple}`]:t.multiple}]}})({}),MZ=oe("svg")(({theme:e})=>({position:"absolute",right:0,top:"calc(50% - .5em)",pointerEvents:"none",color:(e.vars||e).palette.action.active,[`&.${QF.disabled}`]:{color:(e.vars||e).palette.action.disabled},variants:[{props:({ownerState:t})=>t.open,style:{transform:"rotate(180deg)"}},{props:{variant:"filled"},style:{right:7}},{props:{variant:"outlined"},style:{right:7}}]})),uMe=oe(MZ,{name:"MuiNativeSelect",slot:"Icon",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.icon,n.variant&&t[`icon${Ce(n.variant)}`],n.open&&t.iconOpen]}})({}),dMe=y.forwardRef(function(t,n){const{className:r,disabled:o,error:i,IconComponent:a,inputRef:s,variant:l="standard",...c}=t,u={...t,disabled:o,variant:l,error:i},d=lMe(u);return $.jsxs(y.Fragment,{children:[$.jsx(cMe,{ownerState:u,className:de(d.select,r),disabled:o,ref:s||n,...c}),t.multiple?null:$.jsx(uMe,{as:a,ownerState:u,className:d.icon})]})});var fU;const fMe=oe("fieldset",{shouldForwardProp:ci})({textAlign:"left",position:"absolute",bottom:0,right:0,top:-5,left:0,margin:0,padding:"0 8px",pointerEvents:"none",borderRadius:"inherit",borderStyle:"solid",borderWidth:1,overflow:"hidden",minWidth:"0%"}),pMe=oe("legend",{shouldForwardProp:ci})(Ze(({theme:e})=>({float:"unset",width:"auto",overflow:"hidden",variants:[{props:({ownerState:t})=>!t.withLabel,style:{padding:0,lineHeight:"11px",transition:e.transitions.create("width",{duration:150,easing:e.transitions.easing.easeOut})}},{props:({ownerState:t})=>t.withLabel,style:{display:"block",padding:0,height:11,fontSize:"0.75em",visibility:"hidden",maxWidth:.01,transition:e.transitions.create("max-width",{duration:50,easing:e.transitions.easing.easeOut}),whiteSpace:"nowrap","& > span":{paddingLeft:5,paddingRight:5,display:"inline-block",opacity:0,visibility:"visible"}}},{props:({ownerState:t})=>t.withLabel&&t.notched,style:{maxWidth:"100%",transition:e.transitions.create("max-width",{duration:100,easing:e.transitions.easing.easeOut,delay:50})}}]})));function hMe(e){const{children:t,classes:n,className:r,label:o,notched:i,...a}=e,s=o!=null&&o!=="",l={...e,notched:i,withLabel:s};return $.jsx(fMe,{"aria-hidden":!0,className:r,ownerState:l,...a,children:$.jsx(pMe,{ownerState:l,children:s?$.jsx("span",{children:o}):fU||(fU=$.jsx("span",{className:"notranslate",children:"​"}))})})}const mMe=e=>{const{classes:t}=e,r=rt({root:["root"],notchedOutline:["notchedOutline"],input:["input"]},RTe,t);return{...t,...r}},gMe=oe(DI,{shouldForwardProp:e=>ci(e)||e==="classes",name:"MuiOutlinedInput",slot:"Root",overridesResolver:RI})(Ze(({theme:e})=>{const t=e.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)";return{position:"relative",borderRadius:(e.vars||e).shape.borderRadius,[`&:hover .${_s.notchedOutline}`]:{borderColor:(e.vars||e).palette.text.primary},"@media (hover: none)":{[`&:hover .${_s.notchedOutline}`]:{borderColor:e.vars?`rgba(${e.vars.palette.common.onBackgroundChannel} / 0.23)`:t}},[`&.${_s.focused} .${_s.notchedOutline}`]:{borderWidth:2},variants:[...Object.entries(e.palette).filter(zn()).map(([n])=>({props:{color:n},style:{[`&.${_s.focused} .${_s.notchedOutline}`]:{borderColor:(e.vars||e).palette[n].main}}})),{props:{},style:{[`&.${_s.error} .${_s.notchedOutline}`]:{borderColor:(e.vars||e).palette.error.main},[`&.${_s.disabled} .${_s.notchedOutline}`]:{borderColor:(e.vars||e).palette.action.disabled}}},{props:({ownerState:n})=>n.startAdornment,style:{paddingLeft:14}},{props:({ownerState:n})=>n.endAdornment,style:{paddingRight:14}},{props:({ownerState:n})=>n.multiline,style:{padding:"16.5px 14px"}},{props:({ownerState:n,size:r})=>n.multiline&&r==="small",style:{padding:"8.5px 14px"}}]}})),yMe=oe(hMe,{name:"MuiOutlinedInput",slot:"NotchedOutline",overridesResolver:(e,t)=>t.notchedOutline})(Ze(({theme:e})=>{const t=e.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)";return{borderColor:e.vars?`rgba(${e.vars.palette.common.onBackgroundChannel} / 0.23)`:t}})),vMe=oe(NI,{name:"MuiOutlinedInput",slot:"Input",overridesResolver:_I})(Ze(({theme:e})=>({padding:"16.5px 14px",...!e.vars&&{"&:-webkit-autofill":{WebkitBoxShadow:e.palette.mode==="light"?null:"0 0 0 100px #266798 inset",WebkitTextFillColor:e.palette.mode==="light"?null:"#fff",caretColor:e.palette.mode==="light"?null:"#fff",borderRadius:"inherit"}},...e.vars&&{"&:-webkit-autofill":{borderRadius:"inherit"},[e.getColorSchemeSelector("dark")]:{"&:-webkit-autofill":{WebkitBoxShadow:"0 0 0 100px #266798 inset",WebkitTextFillColor:"#fff",caretColor:"#fff"}}},variants:[{props:{size:"small"},style:{padding:"8.5px 14px"}},{props:({ownerState:t})=>t.multiline,style:{padding:0}},{props:({ownerState:t})=>t.startAdornment,style:{paddingLeft:0}},{props:({ownerState:t})=>t.endAdornment,style:{paddingRight:0}}]}))),GT=y.forwardRef(function(t,n){var r;const o=it({props:t,name:"MuiOutlinedInput"}),{components:i={},fullWidth:a=!1,inputComponent:s="input",label:l,multiline:c=!1,notched:u,slots:d={},type:f="text",...p}=o,m=mMe(o),g=Ta(),v=Uf({props:o,muiFormControl:g,states:["color","disabled","error","focused","hiddenLabel","size","required"]}),w={...o,color:v.color||"primary",disabled:v.disabled,error:v.error,focused:v.focused,formControl:g,fullWidth:a,hiddenLabel:v.hiddenLabel,multiline:c,size:v.size,type:f},x=d.root??i.Root??gMe,S=d.input??i.Input??vMe;return $.jsx(Fv,{slots:{root:x,input:S},renderSuffix:P=>$.jsx(yMe,{ownerState:w,className:m.notchedOutline,label:l!=null&&l!==""&&v.required?r||(r=$.jsxs(y.Fragment,{children:[l," ","*"]})):l,notched:typeof u<"u"?u:!!(P.startAdornment||P.filled||P.focused)}),fullWidth:a,inputComponent:s,multiline:c,ref:n,type:f,...p,classes:{...m,notchedOutline:null}})});GT&&(GT.muiName="Input");function bMe(e){return tt("MuiPagination",e)}ot("MuiPagination",["root","ul","outlined","text"]);function wMe(e={}){const{boundaryCount:t=1,componentName:n="usePagination",count:r=1,defaultPage:o=1,disabled:i=!1,hideNextButton:a=!1,hidePrevButton:s=!1,onChange:l,page:c,showFirstButton:u=!1,showLastButton:d=!1,siblingCount:f=1,...p}=e,[m,g]=ku({controlled:c,default:o,name:n,state:"page"}),v=(A,I)=>{c||g(I),l&&l(A,I)},w=(A,I)=>{const R=I-A+1;return Array.from({length:R},(N,L)=>A+L)},x=w(1,Math.min(t,r)),S=w(Math.max(r-t+1,t+1),r),P=Math.max(Math.min(m-f,r-t-f*2-1),t+2),T=Math.min(Math.max(m+f,t+f*2+2),r-t-1),E=[...u?["first"]:[],...s?[]:["previous"],...x,...P>t+2?["start-ellipsis"]:t+1t?[r-t]:[],...S,...a?[]:["next"],...d?["last"]:[]],O=A=>{switch(A){case"first":return 1;case"previous":return m-1;case"next":return m+1;case"last":return r;default:return null}};return{items:E.map(A=>typeof A=="number"?{onClick:I=>{v(I,A)},type:"page",page:A,selected:A===m,disabled:i,"aria-current":A===m?"true":void 0}:{onClick:I=>{v(I,O(A))},type:A,page:O(A),selected:!1,disabled:i||!A.includes("ellipsis")&&(A==="next"||A==="last"?m>=r:m<=1)}),...p}}function xMe(e){return tt("MuiPaginationItem",e)}const Ri=ot("MuiPaginationItem",["root","page","sizeSmall","sizeLarge","text","textPrimary","textSecondary","outlined","outlinedPrimary","outlinedSecondary","rounded","ellipsis","firstLast","previousNext","focusVisible","disabled","selected","icon","colorPrimary","colorSecondary"]),AZ=lt($.jsx("path",{d:"M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6 6 6zM6 6h2v12H6z"}),"FirstPage"),$Z=lt($.jsx("path",{d:"M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z"}),"LastPage"),SMe=lt($.jsx("path",{d:"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z"}),"NavigateBefore"),CMe=lt($.jsx("path",{d:"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"NavigateNext"),RZ=(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],t[`size${Ce(n.size)}`],n.variant==="text"&&t[`text${Ce(n.color)}`],n.variant==="outlined"&&t[`outlined${Ce(n.color)}`],n.shape==="rounded"&&t.rounded,n.type==="page"&&t.page,(n.type==="start-ellipsis"||n.type==="end-ellipsis")&&t.ellipsis,(n.type==="previous"||n.type==="next")&&t.previousNext,(n.type==="first"||n.type==="last")&&t.firstLast]},PMe=e=>{const{classes:t,color:n,disabled:r,selected:o,size:i,shape:a,type:s,variant:l}=e,c={root:["root",`size${Ce(i)}`,l,a,n!=="standard"&&`color${Ce(n)}`,n!=="standard"&&`${l}${Ce(n)}`,r&&"disabled",o&&"selected",{page:"page",first:"firstLast",last:"firstLast","start-ellipsis":"ellipsis","end-ellipsis":"ellipsis",previous:"previousNext",next:"previousNext"}[s]],icon:["icon"]};return rt(c,xMe,t)},TMe=oe("div",{name:"MuiPaginationItem",slot:"Root",overridesResolver:RZ})(Ze(({theme:e})=>({...e.typography.body2,borderRadius:32/2,textAlign:"center",boxSizing:"border-box",minWidth:32,padding:"0 6px",margin:"0 3px",color:(e.vars||e).palette.text.primary,height:"auto",[`&.${Ri.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity},variants:[{props:{size:"small"},style:{minWidth:26,borderRadius:26/2,margin:"0 1px",padding:"0 4px"}},{props:{size:"large"},style:{minWidth:40,borderRadius:40/2,padding:"0 10px",fontSize:e.typography.pxToRem(15)}}]}))),EMe=oe(Ki,{name:"MuiPaginationItem",slot:"Root",overridesResolver:RZ})(Ze(({theme:e})=>({...e.typography.body2,borderRadius:32/2,textAlign:"center",boxSizing:"border-box",minWidth:32,height:32,padding:"0 6px",margin:"0 3px",color:(e.vars||e).palette.text.primary,[`&.${Ri.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${Ri.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity},transition:e.transitions.create(["color","background-color"],{duration:e.transitions.duration.short}),"&:hover":{backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${Ri.selected}`]:{backgroundColor:(e.vars||e).palette.action.selected,"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.action.selectedChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:mt(e.palette.action.selected,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(e.vars||e).palette.action.selected}},[`&.${Ri.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.action.selectedChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:mt(e.palette.action.selected,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)},[`&.${Ri.disabled}`]:{opacity:1,color:(e.vars||e).palette.action.disabled,backgroundColor:(e.vars||e).palette.action.selected}},variants:[{props:{size:"small"},style:{minWidth:26,height:26,borderRadius:26/2,margin:"0 1px",padding:"0 4px"}},{props:{size:"large"},style:{minWidth:40,height:40,borderRadius:40/2,padding:"0 10px",fontSize:e.typography.pxToRem(15)}},{props:{shape:"rounded"},style:{borderRadius:(e.vars||e).shape.borderRadius}},{props:{variant:"outlined"},style:{border:e.vars?`1px solid rgba(${e.vars.palette.common.onBackgroundChannel} / 0.23)`:`1px solid ${e.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)"}`,[`&.${Ri.selected}`]:{[`&.${Ri.disabled}`]:{borderColor:(e.vars||e).palette.action.disabledBackground,color:(e.vars||e).palette.action.disabled}}}},{props:{variant:"text"},style:{[`&.${Ri.selected}`]:{[`&.${Ri.disabled}`]:{color:(e.vars||e).palette.action.disabled}}}},...Object.entries(e.palette).filter(zn(["dark","contrastText"])).map(([t])=>({props:{variant:"text",color:t},style:{[`&.${Ri.selected}`]:{color:(e.vars||e).palette[t].contrastText,backgroundColor:(e.vars||e).palette[t].main,"&:hover":{backgroundColor:(e.vars||e).palette[t].dark,"@media (hover: none)":{backgroundColor:(e.vars||e).palette[t].main}},[`&.${Ri.focusVisible}`]:{backgroundColor:(e.vars||e).palette[t].dark},[`&.${Ri.disabled}`]:{color:(e.vars||e).palette.action.disabled}}}})),...Object.entries(e.palette).filter(zn(["light"])).map(([t])=>({props:{variant:"outlined",color:t},style:{[`&.${Ri.selected}`]:{color:(e.vars||e).palette[t].main,border:`1px solid ${e.vars?`rgba(${e.vars.palette[t].mainChannel} / 0.5)`:mt(e.palette[t].main,.5)}`,backgroundColor:e.vars?`rgba(${e.vars.palette[t].mainChannel} / ${e.vars.palette.action.activatedOpacity})`:mt(e.palette[t].main,e.palette.action.activatedOpacity),"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette[t].mainChannel} / calc(${e.vars.palette.action.activatedOpacity} + ${e.vars.palette.action.focusOpacity}))`:mt(e.palette[t].main,e.palette.action.activatedOpacity+e.palette.action.focusOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${Ri.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette[t].mainChannel} / calc(${e.vars.palette.action.activatedOpacity} + ${e.vars.palette.action.focusOpacity}))`:mt(e.palette[t].main,e.palette.action.activatedOpacity+e.palette.action.focusOpacity)}}}}))]}))),OMe=oe("div",{name:"MuiPaginationItem",slot:"Icon",overridesResolver:(e,t)=>t.icon})(Ze(({theme:e})=>({fontSize:e.typography.pxToRem(20),margin:"0 -8px",variants:[{props:{size:"small"},style:{fontSize:e.typography.pxToRem(18)}},{props:{size:"large"},style:{fontSize:e.typography.pxToRem(22)}}]}))),IMe=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiPaginationItem"}),{className:o,color:i="standard",component:a,components:s={},disabled:l=!1,page:c,selected:u=!1,shape:d="circular",size:f="medium",slots:p={},slotProps:m={},type:g="page",variant:v="text",...w}=r,x={...r,color:i,disabled:l,selected:u,shape:d,size:f,type:g,variant:v},S=nr(),P=PMe(x),T={slots:{previous:p.previous??s.previous,next:p.next??s.next,first:p.first??s.first,last:p.last??s.last},slotProps:m},[E,O]=hr("previous",{elementType:SMe,externalForwardedProps:T,ownerState:x}),[k,A]=hr("next",{elementType:CMe,externalForwardedProps:T,ownerState:x}),[I,R]=hr("first",{elementType:AZ,externalForwardedProps:T,ownerState:x}),[N,L]=hr("last",{elementType:$Z,externalForwardedProps:T,ownerState:x}),j=S?{previous:"next",next:"previous",first:"last",last:"first"}[g]:g,_={previous:E,next:k,first:I,last:N}[j],D={previous:O,next:A,first:R,last:L}[j];return g==="start-ellipsis"||g==="end-ellipsis"?$.jsx(TMe,{ref:n,ownerState:x,className:de(P.root,o),children:"…"}):$.jsxs(EMe,{ref:n,ownerState:x,component:a,disabled:l,className:de(P.root,o),...w,children:[g==="page"&&c,_?$.jsx(OMe,{...D,className:P.icon,as:_}):null]})}),kMe=e=>{const{classes:t,variant:n}=e;return rt({root:["root",n],ul:["ul"]},bMe,t)},MMe=oe("nav",{name:"MuiPagination",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant]]}})({}),AMe=oe("ul",{name:"MuiPagination",slot:"Ul",overridesResolver:(e,t)=>t.ul})({display:"flex",flexWrap:"wrap",alignItems:"center",padding:0,margin:0,listStyle:"none"});function $Me(e,t,n){return e==="page"?`${n?"":"Go to "}page ${t}`:`Go to ${e} page`}const RMe=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiPagination"}),{boundaryCount:o=1,className:i,color:a="standard",count:s=1,defaultPage:l=1,disabled:c=!1,getItemAriaLabel:u=$Me,hideNextButton:d=!1,hidePrevButton:f=!1,onChange:p,page:m,renderItem:g=I=>$.jsx(IMe,{...I}),shape:v="circular",showFirstButton:w=!1,showLastButton:x=!1,siblingCount:S=1,size:P="medium",variant:T="text",...E}=r,{items:O}=wMe({...r,componentName:"Pagination"}),k={...r,boundaryCount:o,color:a,count:s,defaultPage:l,disabled:c,getItemAriaLabel:u,hideNextButton:d,hidePrevButton:f,renderItem:g,shape:v,showFirstButton:w,showLastButton:x,siblingCount:S,size:P,variant:T},A=kMe(k);return $.jsx(MMe,{"aria-label":"pagination navigation",className:de(A.root,i),ownerState:k,ref:n,...E,children:$.jsx(AMe,{className:A.ul,ownerState:k,children:O.map((I,R)=>$.jsx("li",{children:g({...I,color:a,"aria-label":u(I.type,I.page,I.selected),shape:v,size:P,variant:T})},R))})})});function _Me(e){return tt("MuiSelect",e)}const s0=ot("MuiSelect",["root","select","multiple","filled","outlined","standard","disabled","focused","icon","iconOpen","iconFilled","iconOutlined","iconStandard","nativeInput","error"]);var pU;const DMe=oe(kZ,{name:"MuiSelect",slot:"Select",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[{[`&.${s0.select}`]:t.select},{[`&.${s0.select}`]:t[n.variant]},{[`&.${s0.error}`]:t.error},{[`&.${s0.multiple}`]:t.multiple}]}})({[`&.${s0.select}`]:{height:"auto",minHeight:"1.4375em",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"}}),NMe=oe(MZ,{name:"MuiSelect",slot:"Icon",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.icon,n.variant&&t[`icon${Ce(n.variant)}`],n.open&&t.iconOpen]}})({}),LMe=oe("input",{shouldForwardProp:e=>RX(e)&&e!=="classes",name:"MuiSelect",slot:"NativeInput",overridesResolver:(e,t)=>t.nativeInput})({bottom:0,left:0,position:"absolute",opacity:0,pointerEvents:"none",width:"100%",boxSizing:"border-box"});function hU(e,t){return typeof t=="object"&&t!==null?e===t:String(e)===String(t)}function FMe(e){return e==null||typeof e=="string"&&!e.trim()}const jMe=e=>{const{classes:t,variant:n,disabled:r,multiple:o,open:i,error:a}=e,s={select:["select",n,r&&"disabled",o&&"multiple",a&&"error"],icon:["icon",`icon${Ce(n)}`,i&&"iconOpen",r&&"disabled"],nativeInput:["nativeInput"]};return rt(s,_Me,t)},BMe=y.forwardRef(function(t,n){var wn;const{"aria-describedby":r,"aria-label":o,autoFocus:i,autoWidth:a,children:s,className:l,defaultOpen:c,defaultValue:u,disabled:d,displayEmpty:f,error:p=!1,IconComponent:m,inputRef:g,labelId:v,MenuProps:w={},multiple:x,name:S,onBlur:P,onChange:T,onClose:E,onFocus:O,onOpen:k,open:A,readOnly:I,renderValue:R,SelectDisplayProps:N={},tabIndex:L,type:j,value:_,variant:D="standard",...z}=t,[F,H]=ku({controlled:_,default:u,name:"Select"}),[U,q]=ku({controlled:A,default:c,name:"Select"}),X=y.useRef(null),ae=y.useRef(null),[Z,K]=y.useState(null),{current:te}=y.useRef(A!=null),[pe,ie]=y.useState(),le=Cr(n,g),re=y.useCallback(Ke=>{ae.current=Ke,Ke&&K(Ke)},[]),fe=Z==null?void 0:Z.parentNode;y.useImperativeHandle(le,()=>({focus:()=>{ae.current.focus()},node:X.current,value:F}),[F]),y.useEffect(()=>{c&&U&&Z&&!te&&(ie(a?null:fe.clientWidth),ae.current.focus())},[Z,a]),y.useEffect(()=>{i&&ae.current.focus()},[i]),y.useEffect(()=>{if(!v)return;const Ke=ii(ae.current).getElementById(v);if(Ke){const $e=()=>{getSelection().isCollapsed&&ae.current.focus()};return Ke.addEventListener("click",$e),()=>{Ke.removeEventListener("click",$e)}}},[v]);const ee=(Ke,$e)=>{Ke?k&&k($e):E&&E($e),te||(ie(a?null:fe.clientWidth),q(Ke))},ce=Ke=>{Ke.button===0&&(Ke.preventDefault(),ae.current.focus(),ee(!0,Ke))},me=Ke=>{ee(!1,Ke)},we=y.Children.toArray(s),ge=Ke=>{const $e=we.find(Xe=>Xe.props.value===Ke.target.value);$e!==void 0&&(H($e.props.value),T&&T(Ke,$e))},Se=Ke=>$e=>{let Xe;if($e.currentTarget.hasAttribute("tabindex")){if(x){Xe=Array.isArray(F)?F.slice():[];const bt=F.indexOf(Ke.props.value);bt===-1?Xe.push(Ke.props.value):Xe.splice(bt,1)}else Xe=Ke.props.value;if(Ke.props.onClick&&Ke.props.onClick($e),F!==Xe&&(H(Xe),T)){const bt=$e.nativeEvent||$e,Vt=new bt.constructor(bt.type,bt);Object.defineProperty(Vt,"target",{writable:!0,value:{value:Xe,name:S}}),T(Vt,Ke)}x||ee(!1,$e)}},xe=Ke=>{I||[" ","ArrowUp","ArrowDown","Enter"].includes(Ke.key)&&(Ke.preventDefault(),ee(!0,Ke))},Ie=Z!==null&&U,Re=Ke=>{!Ie&&P&&(Object.defineProperty(Ke,"target",{writable:!0,value:{value:F,name:S}}),P(Ke))};delete z["aria-invalid"];let _e,ye;const Te=[];let Oe=!1;(VT({value:F})||f)&&(R?_e=R(F):Oe=!0);const Me=we.map(Ke=>{if(!y.isValidElement(Ke))return null;let $e;if(x){if(!Array.isArray(F))throw new Error(Bu(2));$e=F.some(Xe=>hU(Xe,Ke.props.value)),$e&&Oe&&Te.push(Ke.props.children)}else $e=hU(F,Ke.props.value),$e&&Oe&&(ye=Ke.props.children);return y.cloneElement(Ke,{"aria-selected":$e?"true":"false",onClick:Se(Ke),onKeyUp:Xe=>{Xe.key===" "&&Xe.preventDefault(),Ke.props.onKeyUp&&Ke.props.onKeyUp(Xe)},role:"option",selected:$e,value:void 0,"data-value":Ke.props.value})});Oe&&(x?Te.length===0?_e=null:_e=Te.reduce((Ke,$e,Xe)=>(Ke.push($e),Xe{const{classes:t}=e;return t},JF={name:"MuiSelect",overridesResolver:(e,t)=>t.root,shouldForwardProp:e=>ci(e)&&e!=="variant",slot:"Root"},VMe=oe(WT,JF)(""),HMe=oe(GT,JF)(""),UMe=oe(UT,JF)(""),Gf=y.forwardRef(function(t,n){const r=it({name:"MuiSelect",props:t}),{autoWidth:o=!1,children:i,classes:a={},className:s,defaultOpen:l=!1,displayEmpty:c=!1,IconComponent:u=cZ,id:d,input:f,inputProps:p,label:m,labelId:g,MenuProps:v,multiple:w=!1,native:x=!1,onClose:S,onOpen:P,open:T,renderValue:E,SelectDisplayProps:O,variant:k="outlined",...A}=r,I=x?dMe:BMe,R=Ta(),N=Uf({props:r,muiFormControl:R,states:["variant","error"]}),L=N.variant||k,j={...r,variant:L,classes:a},_=zMe(j),{root:D,...z}=_,F=f||{standard:$.jsx(VMe,{ownerState:j}),outlined:$.jsx(HMe,{label:m,ownerState:j}),filled:$.jsx(UMe,{ownerState:j})}[L],H=Cr(n,Lf(F));return $.jsx(y.Fragment,{children:y.cloneElement(F,{inputComponent:I,inputProps:{children:i,error:N.error,IconComponent:u,variant:L,type:void 0,multiple:w,...x?{id:d}:{autoWidth:o,defaultOpen:l,displayEmpty:c,labelId:g,MenuProps:v,onClose:S,onOpen:P,open:T,renderValue:E,SelectDisplayProps:{id:d,...O}},...p,classes:p?bo(z,p.classes):z,...f?f.props.inputProps:{}},...(w&&x||c)&&L==="outlined"?{notched:!0}:{},ref:H,className:de(F.props.className,s,_.root),...!f&&{variant:L},...A})})});Gf.muiName="Select";function WMe(e){return tt("MuiSkeleton",e)}ot("MuiSkeleton",["root","text","rectangular","rounded","circular","pulse","wave","withChildren","fitContent","heightAuto"]);const GMe=e=>{const{classes:t,variant:n,animation:r,hasChildren:o,width:i,height:a}=e;return rt({root:["root",n,r,o&&"withChildren",o&&!i&&"fitContent",o&&!a&&"heightAuto"]},WMe,t)},x_=qc` 0% { opacity: 1; } @@ -234,7 +257,7 @@ Error generating stack: `+i.message+` 100% { opacity: 1; } -`)),Zve=Ba(XL||(XL=Ux` +`,S_=qc` 0% { transform: translateX(-100%); } @@ -247,106 +270,97 @@ Error generating stack: `+i.message+` 100% { transform: translateX(100%); } -`)),eye=W("span",{name:"MuiSkeleton",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],n.animation!==!1&&t[n.animation],n.hasChildren&&t.withChildren,n.hasChildren&&!n.width&&t.fitContent,n.hasChildren&&!n.height&&t.heightAuto]}})(({theme:e,ownerState:t})=>{const n=uoe(e.shape.borderRadius)||"px",r=doe(e.shape.borderRadius);return S({display:"block",backgroundColor:e.vars?e.vars.palette.Skeleton.bg:fr(e.palette.text.primary,e.palette.mode==="light"?.11:.13),height:"1.2em"},t.variant==="text"&&{marginTop:0,marginBottom:0,height:"auto",transformOrigin:"0 55%",transform:"scale(1, 0.60)",borderRadius:`${r}${n}/${Math.round(r/.6*10)/10}${n}`,"&:empty:before":{content:'"\\00a0"'}},t.variant==="circular"&&{borderRadius:"50%"},t.variant==="rounded"&&{borderRadius:(e.vars||e).shape.borderRadius},t.hasChildren&&{"& > *":{visibility:"hidden"}},t.hasChildren&&!t.width&&{maxWidth:"fit-content"},t.hasChildren&&!t.height&&{height:"auto"})},({ownerState:e})=>e.animation==="pulse"&&il(JL||(JL=Ux` - animation: ${0} 2s ease-in-out 0.5s infinite; - `),Jve),({ownerState:e,theme:t})=>e.animation==="wave"&&il(ZL||(ZL=Ux` - position: relative; - overflow: hidden; - - /* Fix bug in Safari https://bugs.webkit.org/show_bug.cgi?id=68196 */ - -webkit-mask-image: -webkit-radial-gradient(white, black); - - &::after { - animation: ${0} 2s linear 0.5s infinite; - background: linear-gradient( - 90deg, - transparent, - ${0}, - transparent - ); - content: ''; - position: absolute; - transform: translateX(-100%); /* Avoid flash during server-side hydration */ - bottom: 0; - left: 0; - right: 0; - top: 0; - } - `),Zve,(t.vars||t).palette.action.hover)),V0=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiSkeleton"}),{animation:o="pulse",className:i,component:a="span",height:s,style:l,variant:c="text",width:u}=r,d=q(r,Qve),f=S({},r,{animation:o,component:a,variant:c,hasChildren:!!d.children}),p=Xve(f);return k.jsx(eye,S({as:a,ref:n,className:Q(p.root,i),ownerState:f},d,{style:S({width:u,height:s},l)}))});function tye(e){return Se("MuiSnackbarContent",e)}Pe("MuiSnackbarContent",["root","message","action"]);const nye=["action","className","message","role"],rye=e=>{const{classes:t}=e;return de({root:["root"],action:["action"],message:["message"]},tye,t)},oye=W(Kn,{name:"MuiSnackbarContent",slot:"Root",overridesResolver:(e,t)=>t.root})(({theme:e})=>{const t=e.palette.mode==="light"?.8:.98,n=$re(e.palette.background.default,t);return S({},e.typography.body2,{color:e.vars?e.vars.palette.SnackbarContent.color:e.palette.getContrastText(n),backgroundColor:e.vars?e.vars.palette.SnackbarContent.bg:n,display:"flex",alignItems:"center",flexWrap:"wrap",padding:"6px 16px",borderRadius:(e.vars||e).shape.borderRadius,flexGrow:1,[e.breakpoints.up("sm")]:{flexGrow:"initial",minWidth:288}})}),iye=W("div",{name:"MuiSnackbarContent",slot:"Message",overridesResolver:(e,t)=>t.message})({padding:"8px 0"}),aye=W("div",{name:"MuiSnackbarContent",slot:"Action",overridesResolver:(e,t)=>t.action})({display:"flex",alignItems:"center",marginLeft:"auto",paddingLeft:16,marginRight:-8}),sye=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiSnackbarContent"}),{action:o,className:i,message:a,role:s="alert"}=r,l=q(r,nye),c=r,u=rye(c);return k.jsxs(oye,S({role:s,square:!0,elevation:6,className:Q(u.root,i),ownerState:c,ref:n},l,{children:[k.jsx(iye,{className:u.message,ownerState:c,children:a}),o?k.jsx(aye,{className:u.action,ownerState:c,children:o}):null]}))});function lye(e){return Se("MuiSnackbar",e)}Pe("MuiSnackbar",["root","anchorOriginTopCenter","anchorOriginBottomCenter","anchorOriginTopRight","anchorOriginBottomRight","anchorOriginTopLeft","anchorOriginBottomLeft"]);const cye=["onEnter","onExited"],uye=["action","anchorOrigin","autoHideDuration","children","className","ClickAwayListenerProps","ContentProps","disableWindowBlurListener","message","onBlur","onClose","onFocus","onMouseEnter","onMouseLeave","open","resumeHideDuration","TransitionComponent","transitionDuration","TransitionProps"],dye=e=>{const{classes:t,anchorOrigin:n}=e,r={root:["root",`anchorOrigin${ie(n.vertical)}${ie(n.horizontal)}`]};return de(r,lye,t)},ej=W("div",{name:"MuiSnackbar",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[`anchorOrigin${ie(n.anchorOrigin.vertical)}${ie(n.anchorOrigin.horizontal)}`]]}})(({theme:e,ownerState:t})=>{const n={left:"50%",right:"auto",transform:"translateX(-50%)"};return S({zIndex:(e.vars||e).zIndex.snackbar,position:"fixed",display:"flex",left:8,right:8,justifyContent:"center",alignItems:"center"},t.anchorOrigin.vertical==="top"?{top:8}:{bottom:8},t.anchorOrigin.horizontal==="left"&&{justifyContent:"flex-start"},t.anchorOrigin.horizontal==="right"&&{justifyContent:"flex-end"},{[e.breakpoints.up("sm")]:S({},t.anchorOrigin.vertical==="top"?{top:24}:{bottom:24},t.anchorOrigin.horizontal==="center"&&n,t.anchorOrigin.horizontal==="left"&&{left:24,right:"auto"},t.anchorOrigin.horizontal==="right"&&{right:24,left:"auto"})})}),C8=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiSnackbar"}),o=qn(),i={enter:o.transitions.duration.enteringScreen,exit:o.transitions.duration.leavingScreen},{action:a,anchorOrigin:{vertical:s,horizontal:l}={vertical:"bottom",horizontal:"left"},autoHideDuration:c=null,children:u,className:d,ClickAwayListenerProps:f,ContentProps:p,disableWindowBlurListener:h=!1,message:m,open:v,TransitionComponent:b=nd,transitionDuration:y=i,TransitionProps:{onEnter:w,onExited:C}={}}=r,O=q(r.TransitionProps,cye),P=q(r,uye),E=S({},r,{anchorOrigin:{vertical:s,horizontal:l},autoHideDuration:c,disableWindowBlurListener:h,TransitionComponent:b,transitionDuration:y}),T=dye(E),{getRootProps:$,onClickAway:M}=Jue(S({},E)),[D,L]=g.useState(!0),N=Lo({elementType:ej,getSlotProps:$,externalForwardedProps:P,ownerState:E,additionalProps:{ref:n},className:[T.root,d]}),R=A=>{L(!0),C&&C(A)},I=(A,F)=>{L(!1),w&&w(A,F)};return!v&&D?null:k.jsx(ZM,S({onClickAway:M},f,{children:k.jsx(ej,S({},N,{children:k.jsx(b,S({appear:!0,in:v,timeout:y,direction:s==="top"?"down":"up",onEnter:I,onExited:R},O,{children:u||k.jsx(sye,S({message:m,action:a},p))}))}))}))});function fye(e){return Se("MuiTooltip",e)}const Ks=Pe("MuiTooltip",["popper","popperInteractive","popperArrow","popperClose","tooltip","tooltipArrow","touch","tooltipPlacementLeft","tooltipPlacementRight","tooltipPlacementTop","tooltipPlacementBottom","arrow"]),pye=["arrow","children","classes","components","componentsProps","describeChild","disableFocusListener","disableHoverListener","disableInteractive","disableTouchListener","enterDelay","enterNextDelay","enterTouchDelay","followCursor","id","leaveDelay","leaveTouchDelay","onClose","onOpen","open","placement","PopperComponent","PopperProps","slotProps","slots","title","TransitionComponent","TransitionProps"];function hye(e){return Math.round(e*1e5)/1e5}const mye=e=>{const{classes:t,disableInteractive:n,arrow:r,touch:o,placement:i}=e,a={popper:["popper",!n&&"popperInteractive",r&&"popperArrow"],tooltip:["tooltip",r&&"tooltipArrow",o&&"touch",`tooltipPlacement${ie(i.split("-")[0])}`],arrow:["arrow"]};return de(a,fye,t)},gye=W(Bc,{name:"MuiTooltip",slot:"Popper",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.popper,!n.disableInteractive&&t.popperInteractive,n.arrow&&t.popperArrow,!n.open&&t.popperClose]}})(({theme:e,ownerState:t,open:n})=>S({zIndex:(e.vars||e).zIndex.tooltip,pointerEvents:"none"},!t.disableInteractive&&{pointerEvents:"auto"},!n&&{pointerEvents:"none"},t.arrow&&{[`&[data-popper-placement*="bottom"] .${Ks.arrow}`]:{top:0,marginTop:"-0.71em","&::before":{transformOrigin:"0 100%"}},[`&[data-popper-placement*="top"] .${Ks.arrow}`]:{bottom:0,marginBottom:"-0.71em","&::before":{transformOrigin:"100% 0"}},[`&[data-popper-placement*="right"] .${Ks.arrow}`]:S({},t.isRtl?{right:0,marginRight:"-0.71em"}:{left:0,marginLeft:"-0.71em"},{height:"1em",width:"0.71em","&::before":{transformOrigin:"100% 100%"}}),[`&[data-popper-placement*="left"] .${Ks.arrow}`]:S({},t.isRtl?{left:0,marginLeft:"-0.71em"}:{right:0,marginRight:"-0.71em"},{height:"1em",width:"0.71em","&::before":{transformOrigin:"0 0"}})})),vye=W("div",{name:"MuiTooltip",slot:"Tooltip",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.tooltip,n.touch&&t.touch,n.arrow&&t.tooltipArrow,t[`tooltipPlacement${ie(n.placement.split("-")[0])}`]]}})(({theme:e,ownerState:t})=>S({backgroundColor:e.vars?e.vars.palette.Tooltip.bg:st(e.palette.grey[700],.92),borderRadius:(e.vars||e).shape.borderRadius,color:(e.vars||e).palette.common.white,fontFamily:e.typography.fontFamily,padding:"4px 8px",fontSize:e.typography.pxToRem(11),maxWidth:300,margin:2,wordWrap:"break-word",fontWeight:e.typography.fontWeightMedium},t.arrow&&{position:"relative",margin:0},t.touch&&{padding:"8px 16px",fontSize:e.typography.pxToRem(14),lineHeight:`${hye(16/14)}em`,fontWeight:e.typography.fontWeightRegular},{[`.${Ks.popper}[data-popper-placement*="left"] &`]:S({transformOrigin:"right center"},t.isRtl?S({marginLeft:"14px"},t.touch&&{marginLeft:"24px"}):S({marginRight:"14px"},t.touch&&{marginRight:"24px"})),[`.${Ks.popper}[data-popper-placement*="right"] &`]:S({transformOrigin:"left center"},t.isRtl?S({marginRight:"14px"},t.touch&&{marginRight:"24px"}):S({marginLeft:"14px"},t.touch&&{marginLeft:"24px"})),[`.${Ks.popper}[data-popper-placement*="top"] &`]:S({transformOrigin:"center bottom",marginBottom:"14px"},t.touch&&{marginBottom:"24px"}),[`.${Ks.popper}[data-popper-placement*="bottom"] &`]:S({transformOrigin:"center top",marginTop:"14px"},t.touch&&{marginTop:"24px"})})),yye=W("span",{name:"MuiTooltip",slot:"Arrow",overridesResolver:(e,t)=>t.arrow})(({theme:e})=>({overflow:"hidden",position:"absolute",width:"1em",height:"0.71em",boxSizing:"border-box",color:e.vars?e.vars.palette.Tooltip.bg:st(e.palette.grey[700],.9),"&::before":{content:'""',margin:"auto",display:"block",width:"100%",height:"100%",backgroundColor:"currentColor",transform:"rotate(45deg)"}}));let Ub=!1;const tj=new H$;let wm={x:0,y:0};function Wb(e,t){return(n,...r)=>{t&&t(n,...r),e(n,...r)}}const La=g.forwardRef(function(t,n){var r,o,i,a,s,l,c,u,d,f,p,h,m,v,b,y,w,C,O;const P=Ee({props:t,name:"MuiTooltip"}),{arrow:E=!1,children:T,components:$={},componentsProps:M={},describeChild:D=!1,disableFocusListener:L=!1,disableHoverListener:N=!1,disableInteractive:R=!1,disableTouchListener:I=!1,enterDelay:A=100,enterNextDelay:F=0,enterTouchDelay:_=700,followCursor:j=!1,id:B,leaveDelay:U=0,leaveTouchDelay:H=1500,onClose:K,onOpen:J,open:oe,placement:ae="bottom",PopperComponent:Z,PopperProps:ue={},slotProps:re={},slots:pe={},title:le,TransitionComponent:G=nd,TransitionProps:te}=P,fe=q(P,pye),he=g.isValidElement(T)?T:k.jsx("span",{children:T}),ce=qn(),be=_c(),[ye,Me]=g.useState(),[Re,_e]=g.useState(null),Y=g.useRef(!1),ne=R||j,se=ic(),ge=ic(),Ae=ic(),Ve=ic(),[ze,Ie]=To({controlled:oe,default:!1,name:"Tooltip",state:"open"});let ht=ze;const sn=on(B),Tt=g.useRef(),Fe=Vt(()=>{Tt.current!==void 0&&(document.body.style.WebkitUserSelect=Tt.current,Tt.current=void 0),Ve.clear()});g.useEffect(()=>Fe,[Fe]);const it=Ye=>{tj.clear(),Ub=!0,Ie(!0),J&&!ht&&J(Ye)},$e=Vt(Ye=>{tj.start(800+U,()=>{Ub=!1}),Ie(!1),K&&ht&&K(Ye),se.start(ce.transitions.duration.shortest,()=>{Y.current=!1})}),We=Ye=>{Y.current&&Ye.type!=="touchstart"||(ye&&ye.removeAttribute("title"),ge.clear(),Ae.clear(),A||Ub&&F?ge.start(Ub?F:A,()=>{it(Ye)}):it(Ye))},mt=Ye=>{ge.clear(),Ae.start(U,()=>{$e(Ye)})},{isFocusVisibleRef:yt,onBlur:kt,onFocus:tn,ref:Ct}=U$(),[,jt]=g.useState(!1),zn=Ye=>{kt(Ye),yt.current===!1&&(jt(!1),mt(Ye))},Fo=Ye=>{ye||Me(Ye.currentTarget),tn(Ye),yt.current===!0&&(jt(!0),We(Ye))},_s=Ye=>{Y.current=!0;const Pt=he.props;Pt.onTouchStart&&Pt.onTouchStart(Ye)},Al=Ye=>{_s(Ye),Ae.clear(),se.clear(),Fe(),Tt.current=document.body.style.WebkitUserSelect,document.body.style.WebkitUserSelect="none",Ve.start(_,()=>{document.body.style.WebkitUserSelect=Tt.current,We(Ye)})},Ds=Ye=>{he.props.onTouchEnd&&he.props.onTouchEnd(Ye),Fe(),Ae.start(H,()=>{$e(Ye)})};g.useEffect(()=>{if(!ht)return;function Ye(Pt){(Pt.key==="Escape"||Pt.key==="Esc")&&$e(Pt)}return document.addEventListener("keydown",Ye),()=>{document.removeEventListener("keydown",Ye)}},[$e,ht]);const eu=Ot(he.ref,Ct,Me,n);!le&&le!==0&&(ht=!1);const Bo=g.useRef(),er=Ye=>{const Pt=he.props;Pt.onMouseMove&&Pt.onMouseMove(Ye),wm={x:Ye.clientX,y:Ye.clientY},Bo.current&&Bo.current.update()},hn={},yr=typeof le=="string";D?(hn.title=!ht&&yr&&!N?le:null,hn["aria-describedby"]=ht?sn:null):(hn["aria-label"]=yr?le:null,hn["aria-labelledby"]=ht&&!yr?sn:null);const Br=S({},hn,fe,he.props,{className:Q(fe.className,he.props.className),onTouchStart:_s,ref:eu},j?{onMouseMove:er}:{}),ca={};I||(Br.onTouchStart=Al,Br.onTouchEnd=Ds),N||(Br.onMouseOver=Wb(We,Br.onMouseOver),Br.onMouseLeave=Wb(mt,Br.onMouseLeave),ne||(ca.onMouseOver=We,ca.onMouseLeave=mt)),L||(Br.onFocus=Wb(Fo,Br.onFocus),Br.onBlur=Wb(zn,Br.onBlur),ne||(ca.onFocus=Fo,ca.onBlur=zn));const Ns=g.useMemo(()=>{var Ye;let Pt=[{name:"arrow",enabled:!!Re,options:{element:Re,padding:4}}];return(Ye=ue.popperOptions)!=null&&Ye.modifiers&&(Pt=Pt.concat(ue.popperOptions.modifiers)),S({},ue.popperOptions,{modifiers:Pt})},[Re,ue]),bi=S({},P,{isRtl:be,arrow:E,disableInteractive:ne,placement:ae,PopperComponentProp:Z,touch:Y.current}),Rl=mye(bi),_l=(r=(o=pe.popper)!=null?o:$.Popper)!=null?r:gye,Ga=(i=(a=(s=pe.transition)!=null?s:$.Transition)!=null?a:G)!=null?i:nd,Ls=(l=(c=pe.tooltip)!=null?c:$.Tooltip)!=null?l:vye,we=(u=(d=pe.arrow)!=null?d:$.Arrow)!=null?u:yye,xe=$f(_l,S({},ue,(f=re.popper)!=null?f:M.popper,{className:Q(Rl.popper,ue==null?void 0:ue.className,(p=(h=re.popper)!=null?h:M.popper)==null?void 0:p.className)}),bi),Ge=$f(Ga,S({},te,(m=re.transition)!=null?m:M.transition),bi),Le=$f(Ls,S({},(v=re.tooltip)!=null?v:M.tooltip,{className:Q(Rl.tooltip,(b=(y=re.tooltip)!=null?y:M.tooltip)==null?void 0:b.className)}),bi),ut=$f(we,S({},(w=re.arrow)!=null?w:M.arrow,{className:Q(Rl.arrow,(C=(O=re.arrow)!=null?O:M.arrow)==null?void 0:C.className)}),bi);return k.jsxs(g.Fragment,{children:[g.cloneElement(he,Br),k.jsx(_l,S({as:Z??Bc,placement:ae,anchorEl:j?{getBoundingClientRect:()=>({top:wm.y,left:wm.x,right:wm.x,bottom:wm.y,width:0,height:0})}:ye,popperRef:Bo,open:ye?ht:!1,id:sn,transition:!0},ca,xe,{popperOptions:Ns,children:({TransitionProps:Ye})=>k.jsx(Ga,S({timeout:ce.transitions.duration.shorter},Ye,Ge,{children:k.jsxs(Ls,S({},Le,{children:[le,E?k.jsx(we,S({},ut,{ref:_e})):null]}))}))}))]})}),My=g.createContext({}),FC=g.createContext({});function bye(e){return Se("MuiStep",e)}Pe("MuiStep",["root","horizontal","vertical","alternativeLabel","completed"]);const xye=["active","children","className","component","completed","disabled","expanded","index","last"],wye=e=>{const{classes:t,orientation:n,alternativeLabel:r,completed:o}=e;return de({root:["root",n,r&&"alternativeLabel",o&&"completed"]},bye,t)},Cye=W("div",{name:"MuiStep",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.orientation],n.alternativeLabel&&t.alternativeLabel,n.completed&&t.completed]}})(({ownerState:e})=>S({},e.orientation==="horizontal"&&{paddingLeft:8,paddingRight:8},e.alternativeLabel&&{flex:1,position:"relative"})),Gd=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiStep"}),{active:o,children:i,className:a,component:s="div",completed:l,disabled:c,expanded:u=!1,index:d,last:f}=r,p=q(r,xye),{activeStep:h,connector:m,alternativeLabel:v,orientation:b,nonLinear:y}=g.useContext(My);let[w=!1,C=!1,O=!1]=[o,l,c];h===d?w=o!==void 0?o:!0:!y&&h>d?C=l!==void 0?l:!0:!y&&h({index:d,last:f,expanded:u,icon:d+1,active:w,completed:C,disabled:O}),[d,f,u,w,C,O]),E=S({},r,{active:w,orientation:b,alternativeLabel:v,completed:C,disabled:O,expanded:u,component:s}),T=wye(E),$=k.jsxs(Cye,S({as:s,className:Q(T.root,a),ref:n,ownerState:E},p,{children:[m&&v&&d!==0?m:null,i]}));return k.jsx(FC.Provider,{value:P,children:m&&!v&&d!==0?k.jsxs(g.Fragment,{children:[m,$]}):$})}),Sye=rt(k.jsx("path",{d:"M12 0a12 12 0 1 0 0 24 12 12 0 0 0 0-24zm-2 17l-5-5 1.4-1.4 3.6 3.6 7.6-7.6L19 8l-9 9z"}),"CheckCircle"),Pye=rt(k.jsx("path",{d:"M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"}),"Warning");function Eye(e){return Se("MuiStepIcon",e)}const nE=Pe("MuiStepIcon",["root","active","completed","error","text"]);var nj;const Oye=["active","className","completed","error","icon"],Tye=e=>{const{classes:t,active:n,completed:r,error:o}=e;return de({root:["root",n&&"active",r&&"completed",o&&"error"],text:["text"]},Eye,t)},rE=W(Nx,{name:"MuiStepIcon",slot:"Root",overridesResolver:(e,t)=>t.root})(({theme:e})=>({display:"block",transition:e.transitions.create("color",{duration:e.transitions.duration.shortest}),color:(e.vars||e).palette.text.disabled,[`&.${nE.completed}`]:{color:(e.vars||e).palette.primary.main},[`&.${nE.active}`]:{color:(e.vars||e).palette.primary.main},[`&.${nE.error}`]:{color:(e.vars||e).palette.error.main}})),kye=W("text",{name:"MuiStepIcon",slot:"Text",overridesResolver:(e,t)=>t.text})(({theme:e})=>({fill:(e.vars||e).palette.primary.contrastText,fontSize:e.typography.caption.fontSize,fontFamily:e.typography.fontFamily})),Iye=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiStepIcon"}),{active:o=!1,className:i,completed:a=!1,error:s=!1,icon:l}=r,c=q(r,Oye),u=S({},r,{active:o,completed:a,error:s}),d=Tye(u);if(typeof l=="number"||typeof l=="string"){const f=Q(i,d.root);return s?k.jsx(rE,S({as:Pye,className:f,ref:n,ownerState:u},c)):a?k.jsx(rE,S({as:Sye,className:f,ref:n,ownerState:u},c)):k.jsxs(rE,S({className:f,ref:n,ownerState:u},c,{children:[nj||(nj=k.jsx("circle",{cx:"12",cy:"12",r:"12"})),k.jsx(kye,{className:d.text,x:"12",y:"12",textAnchor:"middle",dominantBaseline:"central",ownerState:u,children:l})]}))}return l});function $ye(e){return Se("MuiStepLabel",e)}const lc=Pe("MuiStepLabel",["root","horizontal","vertical","label","active","completed","error","disabled","iconContainer","alternativeLabel","labelContainer"]),Mye=["children","className","componentsProps","error","icon","optional","slotProps","StepIconComponent","StepIconProps"],Aye=e=>{const{classes:t,orientation:n,active:r,completed:o,error:i,disabled:a,alternativeLabel:s}=e;return de({root:["root",n,i&&"error",a&&"disabled",s&&"alternativeLabel"],label:["label",r&&"active",o&&"completed",i&&"error",a&&"disabled",s&&"alternativeLabel"],iconContainer:["iconContainer",r&&"active",o&&"completed",i&&"error",a&&"disabled",s&&"alternativeLabel"],labelContainer:["labelContainer",s&&"alternativeLabel"]},$ye,t)},Rye=W("span",{name:"MuiStepLabel",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.orientation]]}})(({ownerState:e})=>S({display:"flex",alignItems:"center",[`&.${lc.alternativeLabel}`]:{flexDirection:"column"},[`&.${lc.disabled}`]:{cursor:"default"}},e.orientation==="vertical"&&{textAlign:"left",padding:"8px 0"})),_ye=W("span",{name:"MuiStepLabel",slot:"Label",overridesResolver:(e,t)=>t.label})(({theme:e})=>S({},e.typography.body2,{display:"block",transition:e.transitions.create("color",{duration:e.transitions.duration.shortest}),[`&.${lc.active}`]:{color:(e.vars||e).palette.text.primary,fontWeight:500},[`&.${lc.completed}`]:{color:(e.vars||e).palette.text.primary,fontWeight:500},[`&.${lc.alternativeLabel}`]:{marginTop:16},[`&.${lc.error}`]:{color:(e.vars||e).palette.error.main}})),Dye=W("span",{name:"MuiStepLabel",slot:"IconContainer",overridesResolver:(e,t)=>t.iconContainer})(()=>({flexShrink:0,display:"flex",paddingRight:8,[`&.${lc.alternativeLabel}`]:{paddingRight:0}})),Nye=W("span",{name:"MuiStepLabel",slot:"LabelContainer",overridesResolver:(e,t)=>t.labelContainer})(({theme:e})=>({width:"100%",color:(e.vars||e).palette.text.secondary,[`&.${lc.alternativeLabel}`]:{textAlign:"center"}})),fu=g.forwardRef(function(t,n){var r;const o=Ee({props:t,name:"MuiStepLabel"}),{children:i,className:a,componentsProps:s={},error:l=!1,icon:c,optional:u,slotProps:d={},StepIconComponent:f,StepIconProps:p}=o,h=q(o,Mye),{alternativeLabel:m,orientation:v}=g.useContext(My),{active:b,disabled:y,completed:w,icon:C}=g.useContext(FC),O=c||C;let P=f;O&&!P&&(P=Iye);const E=S({},o,{active:b,alternativeLabel:m,completed:w,disabled:y,error:l,orientation:v}),T=Aye(E),$=(r=d.label)!=null?r:s.label;return k.jsxs(Rye,S({className:Q(T.root,a),ref:n,ownerState:E},h,{children:[O||P?k.jsx(Dye,{className:T.iconContainer,ownerState:E,children:k.jsx(P,S({completed:w,active:b,error:l,icon:O},p))}):null,k.jsxs(Nye,{className:T.labelContainer,ownerState:E,children:[i?k.jsx(_ye,S({ownerState:E},$,{className:Q(T.label,$==null?void 0:$.className),children:i})):null,u]})]}))});fu.muiName="StepLabel";function Lye(e){return Se("MuiStepConnector",e)}Pe("MuiStepConnector",["root","horizontal","vertical","alternativeLabel","active","completed","disabled","line","lineHorizontal","lineVertical"]);const jye=["className"],Fye=e=>{const{classes:t,orientation:n,alternativeLabel:r,active:o,completed:i,disabled:a}=e,s={root:["root",n,r&&"alternativeLabel",o&&"active",i&&"completed",a&&"disabled"],line:["line",`line${ie(n)}`]};return de(s,Lye,t)},Bye=W("div",{name:"MuiStepConnector",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.orientation],n.alternativeLabel&&t.alternativeLabel,n.completed&&t.completed]}})(({ownerState:e})=>S({flex:"1 1 auto"},e.orientation==="vertical"&&{marginLeft:12},e.alternativeLabel&&{position:"absolute",top:12,left:"calc(-50% + 20px)",right:"calc(50% + 20px)"})),zye=W("span",{name:"MuiStepConnector",slot:"Line",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.line,t[`line${ie(n.orientation)}`]]}})(({ownerState:e,theme:t})=>{const n=t.palette.mode==="light"?t.palette.grey[400]:t.palette.grey[600];return S({display:"block",borderColor:t.vars?t.vars.palette.StepConnector.border:n},e.orientation==="horizontal"&&{borderTopStyle:"solid",borderTopWidth:1},e.orientation==="vertical"&&{borderLeftStyle:"solid",borderLeftWidth:1,minHeight:24})}),Vye=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiStepConnector"}),{className:o}=r,i=q(r,jye),{alternativeLabel:a,orientation:s="horizontal"}=g.useContext(My),{active:l,disabled:c,completed:u}=g.useContext(FC),d=S({},r,{alternativeLabel:a,orientation:s,active:l,completed:u,disabled:c}),f=Fye(d);return k.jsx(Bye,S({className:Q(f.root,o),ref:n,ownerState:d},i,{children:k.jsx(zye,{className:f.line,ownerState:d})}))});function Hye(e){return Se("MuiStepContent",e)}Pe("MuiStepContent",["root","last","transition"]);const Uye=["children","className","TransitionComponent","transitionDuration","TransitionProps"],Wye=e=>{const{classes:t,last:n}=e;return de({root:["root",n&&"last"],transition:["transition"]},Hye,t)},Gye=W("div",{name:"MuiStepContent",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.last&&t.last]}})(({ownerState:e,theme:t})=>S({marginLeft:12,paddingLeft:20,paddingRight:8,borderLeft:t.vars?`1px solid ${t.vars.palette.StepContent.border}`:`1px solid ${t.palette.mode==="light"?t.palette.grey[400]:t.palette.grey[600]}`},e.last&&{borderLeft:"none"})),qye=W(ka,{name:"MuiStepContent",slot:"Transition",overridesResolver:(e,t)=>t.transition})({}),qd=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiStepContent"}),{children:o,className:i,TransitionComponent:a=ka,transitionDuration:s="auto",TransitionProps:l}=r,c=q(r,Uye);g.useContext(My);const{active:u,last:d,expanded:f}=g.useContext(FC),p=S({},r,{last:d}),h=Wye(p);let m=s;return s==="auto"&&!a.muiSupportAuto&&(m=void 0),k.jsx(Gye,S({className:Q(h.root,i),ref:n,ownerState:p},c,{children:k.jsx(qye,S({as:a,in:u||f,className:h.transition,ownerState:p,timeout:m,unmountOnExit:!0},l,{children:o}))}))});function Kye(e){return Se("MuiStepper",e)}Pe("MuiStepper",["root","horizontal","vertical","nonLinear","alternativeLabel"]);const Yye=["activeStep","alternativeLabel","children","className","component","connector","nonLinear","orientation"],Qye=e=>{const{orientation:t,nonLinear:n,alternativeLabel:r,classes:o}=e;return de({root:["root",t,n&&"nonLinear",r&&"alternativeLabel"]},Kye,o)},Xye=W("div",{name:"MuiStepper",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.orientation],n.alternativeLabel&&t.alternativeLabel,n.nonLinear&&t.nonLinear]}})(({ownerState:e})=>S({display:"flex"},e.orientation==="horizontal"&&{flexDirection:"row",alignItems:"center"},e.orientation==="vertical"&&{flexDirection:"column"},e.alternativeLabel&&{alignItems:"flex-start"})),Jye=k.jsx(Vye,{}),Zye=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiStepper"}),{activeStep:o=0,alternativeLabel:i=!1,children:a,className:s,component:l="div",connector:c=Jye,nonLinear:u=!1,orientation:d="horizontal"}=r,f=q(r,Yye),p=S({},r,{nonLinear:u,alternativeLabel:i,orientation:d,component:l}),h=Qye(p),m=g.Children.toArray(a).filter(Boolean),v=m.map((y,w)=>g.cloneElement(y,S({index:w,last:w+1===m.length},y.props))),b=g.useMemo(()=>({activeStep:o,alternativeLabel:i,connector:c,nonLinear:u,orientation:d}),[o,i,c,u,d]);return k.jsx(My.Provider,{value:b,children:k.jsx(Xye,S({as:l,ownerState:p,className:Q(h.root,s),ref:n},f,{children:v}))})});function ebe(e){return Se("MuiSwitch",e)}const Ur=Pe("MuiSwitch",["root","edgeStart","edgeEnd","switchBase","colorPrimary","colorSecondary","sizeSmall","sizeMedium","checked","disabled","input","thumb","track"]),tbe=["className","color","edge","size","sx"],nbe=Sl(),rbe=e=>{const{classes:t,edge:n,size:r,color:o,checked:i,disabled:a}=e,s={root:["root",n&&`edge${ie(n)}`,`size${ie(r)}`],switchBase:["switchBase",`color${ie(o)}`,i&&"checked",a&&"disabled"],thumb:["thumb"],track:["track"],input:["input"]},l=de(s,ebe,t);return S({},t,l)},obe=W("span",{name:"MuiSwitch",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.edge&&t[`edge${ie(n.edge)}`],t[`size${ie(n.size)}`]]}})({display:"inline-flex",width:34+12*2,height:14+12*2,overflow:"hidden",padding:12,boxSizing:"border-box",position:"relative",flexShrink:0,zIndex:0,verticalAlign:"middle","@media print":{colorAdjust:"exact"},variants:[{props:{edge:"start"},style:{marginLeft:-8}},{props:{edge:"end"},style:{marginRight:-8}},{props:{size:"small"},style:{width:40,height:24,padding:7,[`& .${Ur.thumb}`]:{width:16,height:16},[`& .${Ur.switchBase}`]:{padding:4,[`&.${Ur.checked}`]:{transform:"translateX(16px)"}}}}]}),ibe=W(o8,{name:"MuiSwitch",slot:"SwitchBase",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.switchBase,{[`& .${Ur.input}`]:t.input},n.color!=="default"&&t[`color${ie(n.color)}`]]}})(({theme:e})=>({position:"absolute",top:0,left:0,zIndex:1,color:e.vars?e.vars.palette.Switch.defaultColor:`${e.palette.mode==="light"?e.palette.common.white:e.palette.grey[300]}`,transition:e.transitions.create(["left","transform"],{duration:e.transitions.duration.shortest}),[`&.${Ur.checked}`]:{transform:"translateX(20px)"},[`&.${Ur.disabled}`]:{color:e.vars?e.vars.palette.Switch.defaultDisabledColor:`${e.palette.mode==="light"?e.palette.grey[100]:e.palette.grey[600]}`},[`&.${Ur.checked} + .${Ur.track}`]:{opacity:.5},[`&.${Ur.disabled} + .${Ur.track}`]:{opacity:e.vars?e.vars.opacity.switchTrackDisabled:`${e.palette.mode==="light"?.12:.2}`},[`& .${Ur.input}`]:{left:"-100%",width:"300%"}}),({theme:e})=>({"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.action.activeChannel} / ${e.vars.palette.action.hoverOpacity})`:st(e.palette.action.active,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},variants:[...Object.entries(e.palette).filter(([,t])=>t.main&&t.light).map(([t])=>({props:{color:t},style:{[`&.${Ur.checked}`]:{color:(e.vars||e).palette[t].main,"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette[t].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:st(e.palette[t].main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${Ur.disabled}`]:{color:e.vars?e.vars.palette.Switch[`${t}DisabledColor`]:`${e.palette.mode==="light"?dp(e.palette[t].main,.62):up(e.palette[t].main,.55)}`}},[`&.${Ur.checked} + .${Ur.track}`]:{backgroundColor:(e.vars||e).palette[t].main}}}))]})),abe=W("span",{name:"MuiSwitch",slot:"Track",overridesResolver:(e,t)=>t.track})(({theme:e})=>({height:"100%",width:"100%",borderRadius:14/2,zIndex:-1,transition:e.transitions.create(["opacity","background-color"],{duration:e.transitions.duration.shortest}),backgroundColor:e.vars?e.vars.palette.common.onBackground:`${e.palette.mode==="light"?e.palette.common.black:e.palette.common.white}`,opacity:e.vars?e.vars.opacity.switchTrack:`${e.palette.mode==="light"?.38:.3}`})),sbe=W("span",{name:"MuiSwitch",slot:"Thumb",overridesResolver:(e,t)=>t.thumb})(({theme:e})=>({boxShadow:(e.vars||e).shadows[1],backgroundColor:"currentColor",width:20,height:20,borderRadius:"50%"})),El=g.forwardRef(function(t,n){const r=nbe({props:t,name:"MuiSwitch"}),{className:o,color:i="primary",edge:a=!1,size:s="medium",sx:l}=r,c=q(r,tbe),u=S({},r,{color:i,edge:a,size:s}),d=rbe(u),f=k.jsx(sbe,{className:d.thumb,ownerState:u});return k.jsxs(obe,{className:Q(d.root,o),sx:l,ownerState:u,children:[k.jsx(ibe,S({type:"checkbox",icon:f,checkedIcon:f,ref:n,ownerState:u},c,{classes:S({},d,{root:d.switchBase})})),k.jsx(abe,{className:d.track,ownerState:u})]})});function lbe(e){return Se("MuiTab",e)}const jl=Pe("MuiTab",["root","labelIcon","textColorInherit","textColorPrimary","textColorSecondary","selected","disabled","fullWidth","wrapped","iconWrapper"]),cbe=["className","disabled","disableFocusRipple","fullWidth","icon","iconPosition","indicator","label","onChange","onClick","onFocus","selected","selectionFollowsFocus","textColor","value","wrapped"],ube=e=>{const{classes:t,textColor:n,fullWidth:r,wrapped:o,icon:i,label:a,selected:s,disabled:l}=e,c={root:["root",i&&a&&"labelIcon",`textColor${ie(n)}`,r&&"fullWidth",o&&"wrapped",s&&"selected",l&&"disabled"],iconWrapper:["iconWrapper"]};return de(c,lbe,t)},dbe=W(Zr,{name:"MuiTab",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.label&&n.icon&&t.labelIcon,t[`textColor${ie(n.textColor)}`],n.fullWidth&&t.fullWidth,n.wrapped&&t.wrapped,{[`& .${jl.iconWrapper}`]:t.iconWrapper}]}})(({theme:e,ownerState:t})=>S({},e.typography.button,{maxWidth:360,minWidth:90,position:"relative",minHeight:48,flexShrink:0,padding:"12px 16px",overflow:"hidden",whiteSpace:"normal",textAlign:"center"},t.label&&{flexDirection:t.iconPosition==="top"||t.iconPosition==="bottom"?"column":"row"},{lineHeight:1.25},t.icon&&t.label&&{minHeight:72,paddingTop:9,paddingBottom:9,[`& > .${jl.iconWrapper}`]:S({},t.iconPosition==="top"&&{marginBottom:6},t.iconPosition==="bottom"&&{marginTop:6},t.iconPosition==="start"&&{marginRight:e.spacing(1)},t.iconPosition==="end"&&{marginLeft:e.spacing(1)})},t.textColor==="inherit"&&{color:"inherit",opacity:.6,[`&.${jl.selected}`]:{opacity:1},[`&.${jl.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity}},t.textColor==="primary"&&{color:(e.vars||e).palette.text.secondary,[`&.${jl.selected}`]:{color:(e.vars||e).palette.primary.main},[`&.${jl.disabled}`]:{color:(e.vars||e).palette.text.disabled}},t.textColor==="secondary"&&{color:(e.vars||e).palette.text.secondary,[`&.${jl.selected}`]:{color:(e.vars||e).palette.secondary.main},[`&.${jl.disabled}`]:{color:(e.vars||e).palette.text.disabled}},t.fullWidth&&{flexShrink:1,flexGrow:1,flexBasis:0,maxWidth:"none"},t.wrapped&&{fontSize:e.typography.pxToRem(12)})),rj=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiTab"}),{className:o,disabled:i=!1,disableFocusRipple:a=!1,fullWidth:s,icon:l,iconPosition:c="top",indicator:u,label:d,onChange:f,onClick:p,onFocus:h,selected:m,selectionFollowsFocus:v,textColor:b="inherit",value:y,wrapped:w=!1}=r,C=q(r,cbe),O=S({},r,{disabled:i,disableFocusRipple:a,selected:m,icon:!!l,iconPosition:c,label:!!d,fullWidth:s,textColor:b,wrapped:w}),P=ube(O),E=l&&d&&g.isValidElement(l)?g.cloneElement(l,{className:Q(P.iconWrapper,l.props.className)}):l,T=M=>{!m&&f&&f(M,y),p&&p(M)},$=M=>{v&&!m&&f&&f(M,y),h&&h(M)};return k.jsxs(dbe,S({focusRipple:!a,className:Q(P.root,o),ref:n,role:"tab","aria-selected":m,disabled:i,onClick:T,onFocus:$,ownerState:O,tabIndex:m?0:-1},C,{children:[c==="top"||c==="start"?k.jsxs(g.Fragment,{children:[E,d]}):k.jsxs(g.Fragment,{children:[d,E]}),u]}))}),S8=g.createContext();function fbe(e){return Se("MuiTable",e)}Pe("MuiTable",["root","stickyHeader"]);const pbe=["className","component","padding","size","stickyHeader"],hbe=e=>{const{classes:t,stickyHeader:n}=e;return de({root:["root",n&&"stickyHeader"]},fbe,t)},mbe=W("table",{name:"MuiTable",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.stickyHeader&&t.stickyHeader]}})(({theme:e,ownerState:t})=>S({display:"table",width:"100%",borderCollapse:"collapse",borderSpacing:0,"& caption":S({},e.typography.body2,{padding:e.spacing(2),color:(e.vars||e).palette.text.secondary,textAlign:"left",captionSide:"bottom"})},t.stickyHeader&&{borderCollapse:"separate"})),oj="table",ml=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiTable"}),{className:o,component:i=oj,padding:a="normal",size:s="medium",stickyHeader:l=!1}=r,c=q(r,pbe),u=S({},r,{component:i,padding:a,size:s,stickyHeader:l}),d=hbe(u),f=g.useMemo(()=>({padding:a,size:s,stickyHeader:l}),[a,s,l]);return k.jsx(S8.Provider,{value:f,children:k.jsx(mbe,S({as:i,role:i===oj?null:"table",ref:n,className:Q(d.root,o),ownerState:u},c))})}),BC=g.createContext();function gbe(e){return Se("MuiTableBody",e)}Pe("MuiTableBody",["root"]);const vbe=["className","component"],ybe=e=>{const{classes:t}=e;return de({root:["root"]},gbe,t)},bbe=W("tbody",{name:"MuiTableBody",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"table-row-group"}),xbe={variant:"body"},ij="tbody",gl=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiTableBody"}),{className:o,component:i=ij}=r,a=q(r,vbe),s=S({},r,{component:i}),l=ybe(s);return k.jsx(BC.Provider,{value:xbe,children:k.jsx(bbe,S({className:Q(l.root,o),as:i,ref:n,role:i===ij?null:"rowgroup",ownerState:s},a))})});function wbe(e){return Se("MuiTableCell",e)}const Cbe=Pe("MuiTableCell",["root","head","body","footer","sizeSmall","sizeMedium","paddingCheckbox","paddingNone","alignLeft","alignCenter","alignRight","alignJustify","stickyHeader"]),Sbe=["align","className","component","padding","scope","size","sortDirection","variant"],Pbe=e=>{const{classes:t,variant:n,align:r,padding:o,size:i,stickyHeader:a}=e,s={root:["root",n,a&&"stickyHeader",r!=="inherit"&&`align${ie(r)}`,o!=="normal"&&`padding${ie(o)}`,`size${ie(i)}`]};return de(s,wbe,t)},Ebe=W("td",{name:"MuiTableCell",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],t[`size${ie(n.size)}`],n.padding!=="normal"&&t[`padding${ie(n.padding)}`],n.align!=="inherit"&&t[`align${ie(n.align)}`],n.stickyHeader&&t.stickyHeader]}})(({theme:e,ownerState:t})=>S({},e.typography.body2,{display:"table-cell",verticalAlign:"inherit",borderBottom:e.vars?`1px solid ${e.vars.palette.TableCell.border}`:`1px solid - ${e.palette.mode==="light"?dp(st(e.palette.divider,1),.88):up(st(e.palette.divider,1),.68)}`,textAlign:"left",padding:16},t.variant==="head"&&{color:(e.vars||e).palette.text.primary,lineHeight:e.typography.pxToRem(24),fontWeight:e.typography.fontWeightMedium},t.variant==="body"&&{color:(e.vars||e).palette.text.primary},t.variant==="footer"&&{color:(e.vars||e).palette.text.secondary,lineHeight:e.typography.pxToRem(21),fontSize:e.typography.pxToRem(12)},t.size==="small"&&{padding:"6px 16px",[`&.${Cbe.paddingCheckbox}`]:{width:24,padding:"0 12px 0 16px","& > *":{padding:0}}},t.padding==="checkbox"&&{width:48,padding:"0 0 0 4px"},t.padding==="none"&&{padding:0},t.align==="left"&&{textAlign:"left"},t.align==="center"&&{textAlign:"center"},t.align==="right"&&{textAlign:"right",flexDirection:"row-reverse"},t.align==="justify"&&{textAlign:"justify"},t.stickyHeader&&{position:"sticky",top:0,zIndex:2,backgroundColor:(e.vars||e).palette.background.default})),me=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiTableCell"}),{align:o="inherit",className:i,component:a,padding:s,scope:l,size:c,sortDirection:u,variant:d}=r,f=q(r,Sbe),p=g.useContext(S8),h=g.useContext(BC),m=h&&h.variant==="head";let v;a?v=a:v=m?"th":"td";let b=l;v==="td"?b=void 0:!b&&m&&(b="col");const y=d||h&&h.variant,w=S({},r,{align:o,component:v,padding:s||(p&&p.padding?p.padding:"normal"),size:c||(p&&p.size?p.size:"medium"),sortDirection:u,stickyHeader:y==="head"&&p&&p.stickyHeader,variant:y}),C=Pbe(w);let O=null;return u&&(O=u==="asc"?"ascending":"descending"),k.jsx(Ebe,S({as:v,ref:n,className:Q(C.root,i),"aria-sort":O,scope:b,ownerState:w},f))});function Obe(e){return Se("MuiTableContainer",e)}Pe("MuiTableContainer",["root"]);const Tbe=["className","component"],kbe=e=>{const{classes:t}=e;return de({root:["root"]},Obe,t)},Ibe=W("div",{name:"MuiTableContainer",slot:"Root",overridesResolver:(e,t)=>t.root})({width:"100%",overflowX:"auto"}),vl=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiTableContainer"}),{className:o,component:i="div"}=r,a=q(r,Tbe),s=S({},r,{component:i}),l=kbe(s);return k.jsx(Ibe,S({ref:n,as:i,className:Q(l.root,o),ownerState:s},a))});function $be(e){return Se("MuiTableHead",e)}Pe("MuiTableHead",["root"]);const Mbe=["className","component"],Abe=e=>{const{classes:t}=e;return de({root:["root"]},$be,t)},Rbe=W("thead",{name:"MuiTableHead",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"table-header-group"}),_be={variant:"head"},aj="thead",yd=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiTableHead"}),{className:o,component:i=aj}=r,a=q(r,Mbe),s=S({},r,{component:i}),l=Abe(s);return k.jsx(BC.Provider,{value:_be,children:k.jsx(Rbe,S({as:i,className:Q(l.root,o),ref:n,role:i===aj?null:"rowgroup",ownerState:s},a))})});function Dbe(e){return Se("MuiToolbar",e)}Pe("MuiToolbar",["root","gutters","regular","dense"]);const Nbe=["className","component","disableGutters","variant"],Lbe=e=>{const{classes:t,disableGutters:n,variant:r}=e;return de({root:["root",!n&&"gutters",r]},Dbe,t)},jbe=W("div",{name:"MuiToolbar",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,!n.disableGutters&&t.gutters,t[n.variant]]}})(({theme:e,ownerState:t})=>S({position:"relative",display:"flex",alignItems:"center"},!t.disableGutters&&{paddingLeft:e.spacing(2),paddingRight:e.spacing(2),[e.breakpoints.up("sm")]:{paddingLeft:e.spacing(3),paddingRight:e.spacing(3)}},t.variant==="dense"&&{minHeight:48}),({theme:e,ownerState:t})=>t.variant==="regular"&&e.mixins.toolbar),P8=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiToolbar"}),{className:o,component:i="div",disableGutters:a=!1,variant:s="regular"}=r,l=q(r,Nbe),c=S({},r,{component:i,disableGutters:a,variant:s}),u=Lbe(c);return k.jsx(jbe,S({as:i,className:Q(u.root,o),ref:n,ownerState:c},l))}),E8=rt(k.jsx("path",{d:"M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z"}),"KeyboardArrowLeft"),O8=rt(k.jsx("path",{d:"M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"}),"KeyboardArrowRight"),Fbe=["backIconButtonProps","count","disabled","getItemAriaLabel","nextIconButtonProps","onPageChange","page","rowsPerPage","showFirstButton","showLastButton","slots","slotProps"],Bbe=g.forwardRef(function(t,n){var r,o,i,a,s,l,c,u;const{backIconButtonProps:d,count:f,disabled:p=!1,getItemAriaLabel:h,nextIconButtonProps:m,onPageChange:v,page:b,rowsPerPage:y,showFirstButton:w,showLastButton:C,slots:O={},slotProps:P={}}=t,E=q(t,Fbe),T=_c(),$=re=>{v(re,0)},M=re=>{v(re,b-1)},D=re=>{v(re,b+1)},L=re=>{v(re,Math.max(0,Math.ceil(f/y)-1))},N=(r=O.firstButton)!=null?r:Rt,R=(o=O.lastButton)!=null?o:Rt,I=(i=O.nextButton)!=null?i:Rt,A=(a=O.previousButton)!=null?a:Rt,F=(s=O.firstButtonIcon)!=null?s:MT,_=(l=O.lastButtonIcon)!=null?l:AT,j=(c=O.nextButtonIcon)!=null?c:O8,B=(u=O.previousButtonIcon)!=null?u:E8,U=T?R:N,H=T?I:A,K=T?A:I,J=T?N:R,oe=T?P.lastButton:P.firstButton,ae=T?P.nextButton:P.previousButton,Z=T?P.previousButton:P.nextButton,ue=T?P.firstButton:P.lastButton;return k.jsxs("div",S({ref:n},E,{children:[w&&k.jsx(U,S({onClick:$,disabled:p||b===0,"aria-label":h("first",b),title:h("first",b)},oe,{children:T?k.jsx(_,S({},P.lastButtonIcon)):k.jsx(F,S({},P.firstButtonIcon))})),k.jsx(H,S({onClick:M,disabled:p||b===0,color:"inherit","aria-label":h("previous",b),title:h("previous",b)},ae??d,{children:T?k.jsx(j,S({},P.nextButtonIcon)):k.jsx(B,S({},P.previousButtonIcon))})),k.jsx(K,S({onClick:D,disabled:p||(f!==-1?b>=Math.ceil(f/y)-1:!1),color:"inherit","aria-label":h("next",b),title:h("next",b)},Z??m,{children:T?k.jsx(B,S({},P.previousButtonIcon)):k.jsx(j,S({},P.nextButtonIcon))})),C&&k.jsx(J,S({onClick:L,disabled:p||b>=Math.ceil(f/y)-1,"aria-label":h("last",b),title:h("last",b)},ue,{children:T?k.jsx(F,S({},P.firstButtonIcon)):k.jsx(_,S({},P.lastButtonIcon))}))]}))});function zbe(e){return Se("MuiTablePagination",e)}const Nu=Pe("MuiTablePagination",["root","toolbar","spacer","selectLabel","selectRoot","select","selectIcon","input","menuItem","displayedRows","actions"]);var sj;const Vbe=["ActionsComponent","backIconButtonProps","className","colSpan","component","count","disabled","getItemAriaLabel","labelDisplayedRows","labelRowsPerPage","nextIconButtonProps","onPageChange","onRowsPerPageChange","page","rowsPerPage","rowsPerPageOptions","SelectProps","showFirstButton","showLastButton","slotProps","slots"],Hbe=W(me,{name:"MuiTablePagination",slot:"Root",overridesResolver:(e,t)=>t.root})(({theme:e})=>({overflow:"auto",color:(e.vars||e).palette.text.primary,fontSize:e.typography.pxToRem(14),"&:last-child":{padding:0}})),Ube=W(P8,{name:"MuiTablePagination",slot:"Toolbar",overridesResolver:(e,t)=>S({[`& .${Nu.actions}`]:t.actions},t.toolbar)})(({theme:e})=>({minHeight:52,paddingRight:2,[`${e.breakpoints.up("xs")} and (orientation: landscape)`]:{minHeight:52},[e.breakpoints.up("sm")]:{minHeight:52,paddingRight:2},[`& .${Nu.actions}`]:{flexShrink:0,marginLeft:20}})),Wbe=W("div",{name:"MuiTablePagination",slot:"Spacer",overridesResolver:(e,t)=>t.spacer})({flex:"1 1 100%"}),Gbe=W("p",{name:"MuiTablePagination",slot:"SelectLabel",overridesResolver:(e,t)=>t.selectLabel})(({theme:e})=>S({},e.typography.body2,{flexShrink:0})),qbe=W(Hc,{name:"MuiTablePagination",slot:"Select",overridesResolver:(e,t)=>S({[`& .${Nu.selectIcon}`]:t.selectIcon,[`& .${Nu.select}`]:t.select},t.input,t.selectRoot)})({color:"inherit",fontSize:"inherit",flexShrink:0,marginRight:32,marginLeft:8,[`& .${Nu.select}`]:{paddingLeft:8,paddingRight:24,textAlign:"right",textAlignLast:"right"}}),Kbe=W(bt,{name:"MuiTablePagination",slot:"MenuItem",overridesResolver:(e,t)=>t.menuItem})({}),Ybe=W("p",{name:"MuiTablePagination",slot:"DisplayedRows",overridesResolver:(e,t)=>t.displayedRows})(({theme:e})=>S({},e.typography.body2,{flexShrink:0}));function Qbe({from:e,to:t,count:n}){return`${e}–${t} of ${n!==-1?n:`more than ${t}`}`}function Xbe(e){return`Go to ${e} page`}const Jbe=e=>{const{classes:t}=e;return de({root:["root"],toolbar:["toolbar"],spacer:["spacer"],selectLabel:["selectLabel"],select:["select"],input:["input"],selectIcon:["selectIcon"],menuItem:["menuItem"],displayedRows:["displayedRows"],actions:["actions"]},zbe,t)},yA=g.forwardRef(function(t,n){var r;const o=Ee({props:t,name:"MuiTablePagination"}),{ActionsComponent:i=Bbe,backIconButtonProps:a,className:s,colSpan:l,component:c=me,count:u,disabled:d=!1,getItemAriaLabel:f=Xbe,labelDisplayedRows:p=Qbe,labelRowsPerPage:h="Rows per page:",nextIconButtonProps:m,onPageChange:v,onRowsPerPageChange:b,page:y,rowsPerPage:w,rowsPerPageOptions:C=[10,25,50,100],SelectProps:O={},showFirstButton:P=!1,showLastButton:E=!1,slotProps:T={},slots:$={}}=o,M=q(o,Vbe),D=o,L=Jbe(D),N=(r=T==null?void 0:T.select)!=null?r:O,R=N.native?"option":Kbe;let I;(c===me||c==="td")&&(I=l||1e3);const A=on(N.id),F=on(N.labelId),_=()=>u===-1?(y+1)*w:w===-1?u:Math.min(u,(y+1)*w);return k.jsx(Hbe,S({colSpan:I,ref:n,as:c,ownerState:D,className:Q(L.root,s)},M,{children:k.jsxs(Ube,{className:L.toolbar,children:[k.jsx(Wbe,{className:L.spacer}),C.length>1&&k.jsx(Gbe,{className:L.selectLabel,id:F,children:h}),C.length>1&&k.jsx(qbe,S({variant:"standard"},!N.variant&&{input:sj||(sj=k.jsx(fh,{}))},{value:w,onChange:b,id:A,labelId:F},N,{classes:S({},N.classes,{root:Q(L.input,L.selectRoot,(N.classes||{}).root),select:Q(L.select,(N.classes||{}).select),icon:Q(L.selectIcon,(N.classes||{}).icon)}),disabled:d,children:C.map(j=>g.createElement(R,S({},!ed(R)&&{ownerState:D},{className:L.menuItem,key:j.label?j.label:j,value:j.value?j.value:j}),j.label?j.label:j))})),k.jsx(Ybe,{className:L.displayedRows,children:p({from:u===0?0:y*w+1,to:_(),count:u===-1?-1:u,page:y})}),k.jsx(i,{className:L.actions,backIconButtonProps:a,count:u,nextIconButtonProps:m,onPageChange:v,page:y,rowsPerPage:w,showFirstButton:P,showLastButton:E,slotProps:T.actions,slots:$.actions,getItemAriaLabel:f,disabled:d})]})}))});function Zbe(e){return Se("MuiTableRow",e)}const lj=Pe("MuiTableRow",["root","selected","hover","head","footer"]),e0e=["className","component","hover","selected"],t0e=e=>{const{classes:t,selected:n,hover:r,head:o,footer:i}=e;return de({root:["root",n&&"selected",r&&"hover",o&&"head",i&&"footer"]},Zbe,t)},n0e=W("tr",{name:"MuiTableRow",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.head&&t.head,n.footer&&t.footer]}})(({theme:e})=>({color:"inherit",display:"table-row",verticalAlign:"middle",outline:0,[`&.${lj.hover}:hover`]:{backgroundColor:(e.vars||e).palette.action.hover},[`&.${lj.selected}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:st(e.palette.primary.main,e.palette.action.selectedOpacity),"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:st(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity)}}})),cj="tr",gt=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiTableRow"}),{className:o,component:i=cj,hover:a=!1,selected:s=!1}=r,l=q(r,e0e),c=g.useContext(BC),u=S({},r,{component:i,hover:a,selected:s,head:c&&c.variant==="head",footer:c&&c.variant==="footer"}),d=t0e(u);return k.jsx(n0e,S({as:i,ref:n,className:Q(d.root,o),role:i===cj?null:"row",ownerState:u},l))});function r0e(e){return(1+Math.sin(Math.PI*e-Math.PI/2))/2}function o0e(e,t,n,r={},o=()=>{}){const{ease:i=r0e,duration:a=300}=r;let s=null;const l=t[e];let c=!1;const u=()=>{c=!0},d=f=>{if(c){o(new Error("Animation cancelled"));return}s===null&&(s=f);const p=Math.min(1,(f-s)/a);if(t[e]=i(p)*(n-l)+l,p>=1){requestAnimationFrame(()=>{o(null)});return}requestAnimationFrame(d)};return l===n?(o(new Error("Element already at target position")),u):(requestAnimationFrame(d),u)}const i0e=["onChange"],a0e={width:99,height:99,position:"absolute",top:-9999,overflow:"scroll"};function s0e(e){const{onChange:t}=e,n=q(e,i0e),r=g.useRef(),o=g.useRef(null),i=()=>{r.current=o.current.offsetHeight-o.current.clientHeight};return Ft(()=>{const a=Rc(()=>{const l=r.current;i(),l!==r.current&&t(r.current)}),s=si(o.current);return s.addEventListener("resize",a),()=>{a.clear(),s.removeEventListener("resize",a)}},[t]),g.useEffect(()=>{i(),t(r.current)},[t]),k.jsx("div",S({style:a0e,ref:o},n))}function l0e(e){return Se("MuiTabScrollButton",e)}const c0e=Pe("MuiTabScrollButton",["root","vertical","horizontal","disabled"]),u0e=["className","slots","slotProps","direction","orientation","disabled"],d0e=e=>{const{classes:t,orientation:n,disabled:r}=e;return de({root:["root",n,r&&"disabled"]},l0e,t)},f0e=W(Zr,{name:"MuiTabScrollButton",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.orientation&&t[n.orientation]]}})(({ownerState:e})=>S({width:40,flexShrink:0,opacity:.8,[`&.${c0e.disabled}`]:{opacity:0}},e.orientation==="vertical"&&{width:"100%",height:40,"& svg":{transform:`rotate(${e.isRtl?-90:90}deg)`}})),p0e=g.forwardRef(function(t,n){var r,o;const i=Ee({props:t,name:"MuiTabScrollButton"}),{className:a,slots:s={},slotProps:l={},direction:c}=i,u=q(i,u0e),d=_c(),f=S({isRtl:d},i),p=d0e(f),h=(r=s.StartScrollButtonIcon)!=null?r:E8,m=(o=s.EndScrollButtonIcon)!=null?o:O8,v=Lo({elementType:h,externalSlotProps:l.startScrollButtonIcon,additionalProps:{fontSize:"small"},ownerState:f}),b=Lo({elementType:m,externalSlotProps:l.endScrollButtonIcon,additionalProps:{fontSize:"small"},ownerState:f});return k.jsx(f0e,S({component:"div",className:Q(p.root,a),ref:n,role:null,ownerState:f,tabIndex:null},u,{children:c==="left"?k.jsx(h,S({},v)):k.jsx(m,S({},b))}))});function h0e(e){return Se("MuiTabs",e)}const H0=Pe("MuiTabs",["root","vertical","flexContainer","flexContainerVertical","centered","scroller","fixed","scrollableX","scrollableY","hideScrollbar","scrollButtons","scrollButtonsHideMobile","indicator"]),m0e=["aria-label","aria-labelledby","action","centered","children","className","component","allowScrollButtonsMobile","indicatorColor","onChange","orientation","ScrollButtonComponent","scrollButtons","selectionFollowsFocus","slots","slotProps","TabIndicatorProps","TabScrollButtonProps","textColor","value","variant","visibleScrollbar"],uj=(e,t)=>e===t?e.firstChild:t&&t.nextElementSibling?t.nextElementSibling:e.firstChild,dj=(e,t)=>e===t?e.lastChild:t&&t.previousElementSibling?t.previousElementSibling:e.lastChild,Gb=(e,t,n)=>{let r=!1,o=n(e,t);for(;o;){if(o===e.firstChild){if(r)return;r=!0}const i=o.disabled||o.getAttribute("aria-disabled")==="true";if(!o.hasAttribute("tabindex")||i)o=n(e,o);else{o.focus();return}}},g0e=e=>{const{vertical:t,fixed:n,hideScrollbar:r,scrollableX:o,scrollableY:i,centered:a,scrollButtonsHideMobile:s,classes:l}=e;return de({root:["root",t&&"vertical"],scroller:["scroller",n&&"fixed",r&&"hideScrollbar",o&&"scrollableX",i&&"scrollableY"],flexContainer:["flexContainer",t&&"flexContainerVertical",a&&"centered"],indicator:["indicator"],scrollButtons:["scrollButtons",s&&"scrollButtonsHideMobile"],scrollableX:[o&&"scrollableX"],hideScrollbar:[r&&"hideScrollbar"]},h0e,l)},v0e=W("div",{name:"MuiTabs",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[{[`& .${H0.scrollButtons}`]:t.scrollButtons},{[`& .${H0.scrollButtons}`]:n.scrollButtonsHideMobile&&t.scrollButtonsHideMobile},t.root,n.vertical&&t.vertical]}})(({ownerState:e,theme:t})=>S({overflow:"hidden",minHeight:48,WebkitOverflowScrolling:"touch",display:"flex"},e.vertical&&{flexDirection:"column"},e.scrollButtonsHideMobile&&{[`& .${H0.scrollButtons}`]:{[t.breakpoints.down("sm")]:{display:"none"}}})),y0e=W("div",{name:"MuiTabs",slot:"Scroller",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.scroller,n.fixed&&t.fixed,n.hideScrollbar&&t.hideScrollbar,n.scrollableX&&t.scrollableX,n.scrollableY&&t.scrollableY]}})(({ownerState:e})=>S({position:"relative",display:"inline-block",flex:"1 1 auto",whiteSpace:"nowrap"},e.fixed&&{overflowX:"hidden",width:"100%"},e.hideScrollbar&&{scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}},e.scrollableX&&{overflowX:"auto",overflowY:"hidden"},e.scrollableY&&{overflowY:"auto",overflowX:"hidden"})),b0e=W("div",{name:"MuiTabs",slot:"FlexContainer",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.flexContainer,n.vertical&&t.flexContainerVertical,n.centered&&t.centered]}})(({ownerState:e})=>S({display:"flex"},e.vertical&&{flexDirection:"column"},e.centered&&{justifyContent:"center"})),x0e=W("span",{name:"MuiTabs",slot:"Indicator",overridesResolver:(e,t)=>t.indicator})(({ownerState:e,theme:t})=>S({position:"absolute",height:2,bottom:0,width:"100%",transition:t.transitions.create()},e.indicatorColor==="primary"&&{backgroundColor:(t.vars||t).palette.primary.main},e.indicatorColor==="secondary"&&{backgroundColor:(t.vars||t).palette.secondary.main},e.vertical&&{height:"100%",width:2,right:0})),w0e=W(s0e)({overflowX:"auto",overflowY:"hidden",scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}}),fj={},C0e=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiTabs"}),o=qn(),i=_c(),{"aria-label":a,"aria-labelledby":s,action:l,centered:c=!1,children:u,className:d,component:f="div",allowScrollButtonsMobile:p=!1,indicatorColor:h="primary",onChange:m,orientation:v="horizontal",ScrollButtonComponent:b=p0e,scrollButtons:y="auto",selectionFollowsFocus:w,slots:C={},slotProps:O={},TabIndicatorProps:P={},TabScrollButtonProps:E={},textColor:T="primary",value:$,variant:M="standard",visibleScrollbar:D=!1}=r,L=q(r,m0e),N=M==="scrollable",R=v==="vertical",I=R?"scrollTop":"scrollLeft",A=R?"top":"left",F=R?"bottom":"right",_=R?"clientHeight":"clientWidth",j=R?"height":"width",B=S({},r,{component:f,allowScrollButtonsMobile:p,indicatorColor:h,orientation:v,vertical:R,scrollButtons:y,textColor:T,variant:M,visibleScrollbar:D,fixed:!N,hideScrollbar:N&&!D,scrollableX:N&&!R,scrollableY:N&&R,centered:c&&!N,scrollButtonsHideMobile:!p}),U=g0e(B),H=Lo({elementType:C.StartScrollButtonIcon,externalSlotProps:O.startScrollButtonIcon,ownerState:B}),K=Lo({elementType:C.EndScrollButtonIcon,externalSlotProps:O.endScrollButtonIcon,ownerState:B}),[J,oe]=g.useState(!1),[ae,Z]=g.useState(fj),[ue,re]=g.useState(!1),[pe,le]=g.useState(!1),[G,te]=g.useState(!1),[fe,he]=g.useState({overflow:"hidden",scrollbarWidth:0}),ce=new Map,be=g.useRef(null),ye=g.useRef(null),Me=()=>{const $e=be.current;let We;if($e){const yt=$e.getBoundingClientRect();We={clientWidth:$e.clientWidth,scrollLeft:$e.scrollLeft,scrollTop:$e.scrollTop,scrollLeftNormalized:Vne($e,i?"rtl":"ltr"),scrollWidth:$e.scrollWidth,top:yt.top,bottom:yt.bottom,left:yt.left,right:yt.right}}let mt;if($e&&$!==!1){const yt=ye.current.children;if(yt.length>0){const kt=yt[ce.get($)];mt=kt?kt.getBoundingClientRect():null}}return{tabsMeta:We,tabMeta:mt}},Re=Vt(()=>{const{tabsMeta:$e,tabMeta:We}=Me();let mt=0,yt;if(R)yt="top",We&&$e&&(mt=We.top-$e.top+$e.scrollTop);else if(yt=i?"right":"left",We&&$e){const tn=i?$e.scrollLeftNormalized+$e.clientWidth-$e.scrollWidth:$e.scrollLeft;mt=(i?-1:1)*(We[yt]-$e[yt]+tn)}const kt={[yt]:mt,[j]:We?We[j]:0};if(isNaN(ae[yt])||isNaN(ae[j]))Z(kt);else{const tn=Math.abs(ae[yt]-kt[yt]),Ct=Math.abs(ae[j]-kt[j]);(tn>=1||Ct>=1)&&Z(kt)}}),_e=($e,{animation:We=!0}={})=>{We?o0e(I,be.current,$e,{duration:o.transitions.duration.standard}):be.current[I]=$e},Y=$e=>{let We=be.current[I];R?We+=$e:(We+=$e*(i?-1:1),We*=i&&ZH()==="reverse"?-1:1),_e(We)},ne=()=>{const $e=be.current[_];let We=0;const mt=Array.from(ye.current.children);for(let yt=0;yt$e){yt===0&&(We=$e);break}We+=kt[_]}return We},se=()=>{Y(-1*ne())},ge=()=>{Y(ne())},Ae=g.useCallback($e=>{he({overflow:null,scrollbarWidth:$e})},[]),Ve=()=>{const $e={};$e.scrollbarSizeListener=N?k.jsx(w0e,{onChange:Ae,className:Q(U.scrollableX,U.hideScrollbar)}):null;const mt=N&&(y==="auto"&&(ue||pe)||y===!0);return $e.scrollButtonStart=mt?k.jsx(b,S({slots:{StartScrollButtonIcon:C.StartScrollButtonIcon},slotProps:{startScrollButtonIcon:H},orientation:v,direction:i?"right":"left",onClick:se,disabled:!ue},E,{className:Q(U.scrollButtons,E.className)})):null,$e.scrollButtonEnd=mt?k.jsx(b,S({slots:{EndScrollButtonIcon:C.EndScrollButtonIcon},slotProps:{endScrollButtonIcon:K},orientation:v,direction:i?"left":"right",onClick:ge,disabled:!pe},E,{className:Q(U.scrollButtons,E.className)})):null,$e},ze=Vt($e=>{const{tabsMeta:We,tabMeta:mt}=Me();if(!(!mt||!We)){if(mt[A]We[F]){const yt=We[I]+(mt[F]-We[F]);_e(yt,{animation:$e})}}}),Ie=Vt(()=>{N&&y!==!1&&te(!G)});g.useEffect(()=>{const $e=Rc(()=>{be.current&&Re()});let We;const mt=tn=>{tn.forEach(Ct=>{Ct.removedNodes.forEach(jt=>{var zn;(zn=We)==null||zn.unobserve(jt)}),Ct.addedNodes.forEach(jt=>{var zn;(zn=We)==null||zn.observe(jt)})}),$e(),Ie()},yt=si(be.current);yt.addEventListener("resize",$e);let kt;return typeof ResizeObserver<"u"&&(We=new ResizeObserver($e),Array.from(ye.current.children).forEach(tn=>{We.observe(tn)})),typeof MutationObserver<"u"&&(kt=new MutationObserver(mt),kt.observe(ye.current,{childList:!0})),()=>{var tn,Ct;$e.clear(),yt.removeEventListener("resize",$e),(tn=kt)==null||tn.disconnect(),(Ct=We)==null||Ct.disconnect()}},[Re,Ie]),g.useEffect(()=>{const $e=Array.from(ye.current.children),We=$e.length;if(typeof IntersectionObserver<"u"&&We>0&&N&&y!==!1){const mt=$e[0],yt=$e[We-1],kt={root:be.current,threshold:.99},tn=Fo=>{re(!Fo[0].isIntersecting)},Ct=new IntersectionObserver(tn,kt);Ct.observe(mt);const jt=Fo=>{le(!Fo[0].isIntersecting)},zn=new IntersectionObserver(jt,kt);return zn.observe(yt),()=>{Ct.disconnect(),zn.disconnect()}}},[N,y,G,u==null?void 0:u.length]),g.useEffect(()=>{oe(!0)},[]),g.useEffect(()=>{Re()}),g.useEffect(()=>{ze(fj!==ae)},[ze,ae]),g.useImperativeHandle(l,()=>({updateIndicator:Re,updateScrollButtons:Ie}),[Re,Ie]);const ht=k.jsx(x0e,S({},P,{className:Q(U.indicator,P.className),ownerState:B,style:S({},ae,P.style)}));let sn=0;const Tt=g.Children.map(u,$e=>{if(!g.isValidElement($e))return null;const We=$e.props.value===void 0?sn:$e.props.value;ce.set(We,sn);const mt=We===$;return sn+=1,g.cloneElement($e,S({fullWidth:M==="fullWidth",indicator:mt&&!J&&ht,selected:mt,selectionFollowsFocus:w,onChange:m,textColor:T,value:We},sn===1&&$===!1&&!$e.props.tabIndex?{tabIndex:0}:{}))}),Fe=$e=>{const We=ye.current,mt=gn(We).activeElement;if(mt.getAttribute("role")!=="tab")return;let kt=v==="horizontal"?"ArrowLeft":"ArrowUp",tn=v==="horizontal"?"ArrowRight":"ArrowDown";switch(v==="horizontal"&&i&&(kt="ArrowRight",tn="ArrowLeft"),$e.key){case kt:$e.preventDefault(),Gb(We,mt,dj);break;case tn:$e.preventDefault(),Gb(We,mt,uj);break;case"Home":$e.preventDefault(),Gb(We,null,uj);break;case"End":$e.preventDefault(),Gb(We,null,dj);break}},it=Ve();return k.jsxs(v0e,S({className:Q(U.root,d),ownerState:B,ref:n,as:f},L,{children:[it.scrollButtonStart,it.scrollbarSizeListener,k.jsxs(y0e,{className:U.scroller,ownerState:B,style:{overflow:fe.overflow,[R?`margin${i?"Left":"Right"}`:"marginBottom"]:D?void 0:-fe.scrollbarWidth},ref:be,children:[k.jsx(b0e,{"aria-label":a,"aria-labelledby":s,"aria-orientation":v==="vertical"?"vertical":null,className:U.flexContainer,ownerState:B,onKeyDown:Fe,ref:ye,role:"tablist",children:Tt}),J&&ht]}),it.scrollButtonEnd]}))});function S0e(e){return Se("MuiTextField",e)}Pe("MuiTextField",["root"]);const P0e=["autoComplete","autoFocus","children","className","color","defaultValue","disabled","error","FormHelperTextProps","fullWidth","helperText","id","InputLabelProps","inputProps","InputProps","inputRef","label","maxRows","minRows","multiline","name","onBlur","onChange","onFocus","placeholder","required","rows","select","SelectProps","type","value","variant"],E0e={standard:dA,filled:cA,outlined:gA},O0e=e=>{const{classes:t}=e;return de({root:["root"]},S0e,t)},T0e=W(hh,{name:"MuiTextField",slot:"Root",overridesResolver:(e,t)=>t.root})({}),$t=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiTextField"}),{autoComplete:o,autoFocus:i=!1,children:a,className:s,color:l="primary",defaultValue:c,disabled:u=!1,error:d=!1,FormHelperTextProps:f,fullWidth:p=!1,helperText:h,id:m,InputLabelProps:v,inputProps:b,InputProps:y,inputRef:w,label:C,maxRows:O,minRows:P,multiline:E=!1,name:T,onBlur:$,onChange:M,onFocus:D,placeholder:L,required:N=!1,rows:R,select:I=!1,SelectProps:A,type:F,value:_,variant:j="outlined"}=r,B=q(r,P0e),U=S({},r,{autoFocus:i,color:l,disabled:u,error:d,fullWidth:p,multiline:E,required:N,select:I,variant:j}),H=O0e(U),K={};j==="outlined"&&(v&&typeof v.shrink<"u"&&(K.notched=v.shrink),K.label=C),I&&((!A||!A.native)&&(K.id=void 0),K["aria-describedby"]=void 0);const J=on(m),oe=h&&J?`${J}-helper-text`:void 0,ae=C&&J?`${J}-label`:void 0,Z=E0e[j],ue=k.jsx(Z,S({"aria-describedby":oe,autoComplete:o,autoFocus:i,defaultValue:c,fullWidth:p,multiline:E,name:T,rows:R,maxRows:O,minRows:P,type:F,value:_,id:J,inputRef:w,onBlur:$,onChange:M,onFocus:D,placeholder:L,inputProps:b},K,y));return k.jsxs(T0e,S({className:Q(H.root,s),disabled:u,error:d,fullWidth:p,ref:n,required:N,color:l,variant:j,ownerState:U},B,{children:[C!=null&&C!==""&&k.jsx(mh,S({htmlFor:J,id:ae},v,{children:C})),I?k.jsx(Hc,S({"aria-describedby":oe,id:J,labelId:ae,value:_,input:ue},A,{children:a})):ue,h&&k.jsx(uA,S({id:oe},f,{children:h}))]}))});function k0e(e){return Se("MuiToggleButton",e)}const Af=Pe("MuiToggleButton",["root","disabled","selected","standard","primary","secondary","sizeSmall","sizeMedium","sizeLarge","fullWidth"]),T8=g.createContext({}),k8=g.createContext(void 0);function I0e(e,t){return t===void 0||e===void 0?!1:Array.isArray(t)?t.indexOf(e)>=0:e===t}const $0e=["value"],M0e=["children","className","color","disabled","disableFocusRipple","fullWidth","onChange","onClick","selected","size","value"],A0e=e=>{const{classes:t,fullWidth:n,selected:r,disabled:o,size:i,color:a}=e,s={root:["root",r&&"selected",o&&"disabled",n&&"fullWidth",`size${ie(i)}`,a]};return de(s,k0e,t)},R0e=W(Zr,{name:"MuiToggleButton",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[`size${ie(n.size)}`]]}})(({theme:e,ownerState:t})=>{let n=t.color==="standard"?e.palette.text.primary:e.palette[t.color].main,r;return e.vars&&(n=t.color==="standard"?e.vars.palette.text.primary:e.vars.palette[t.color].main,r=t.color==="standard"?e.vars.palette.text.primaryChannel:e.vars.palette[t.color].mainChannel),S({},e.typography.button,{borderRadius:(e.vars||e).shape.borderRadius,padding:11,border:`1px solid ${(e.vars||e).palette.divider}`,color:(e.vars||e).palette.action.active},t.fullWidth&&{width:"100%"},{[`&.${Af.disabled}`]:{color:(e.vars||e).palette.action.disabled,border:`1px solid ${(e.vars||e).palette.action.disabledBackground}`},"&:hover":{textDecoration:"none",backgroundColor:e.vars?`rgba(${e.vars.palette.text.primaryChannel} / ${e.vars.palette.action.hoverOpacity})`:fr(e.palette.text.primary,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${Af.selected}`]:{color:n,backgroundColor:e.vars?`rgba(${r} / ${e.vars.palette.action.selectedOpacity})`:fr(n,e.palette.action.selectedOpacity),"&:hover":{backgroundColor:e.vars?`rgba(${r} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:fr(n,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${r} / ${e.vars.palette.action.selectedOpacity})`:fr(n,e.palette.action.selectedOpacity)}}}},t.size==="small"&&{padding:7,fontSize:e.typography.pxToRem(13)},t.size==="large"&&{padding:15,fontSize:e.typography.pxToRem(15)})}),Cm=g.forwardRef(function(t,n){const r=g.useContext(T8),{value:o}=r,i=q(r,$0e),a=g.useContext(k8),s=Q1(S({},i,{selected:I0e(t.value,o)}),t),l=Ee({props:s,name:"MuiToggleButton"}),{children:c,className:u,color:d="standard",disabled:f=!1,disableFocusRipple:p=!1,fullWidth:h=!1,onChange:m,onClick:v,selected:b,size:y="medium",value:w}=l,C=q(l,M0e),O=S({},l,{color:d,disabled:f,disableFocusRipple:p,fullWidth:h,size:y}),P=A0e(O),E=$=>{v&&(v($,w),$.defaultPrevented)||m&&m($,w)},T=a||"";return k.jsx(R0e,S({className:Q(i.className,P.root,u,T),disabled:f,focusRipple:!p,ref:n,onClick:E,onChange:m,value:w,ownerState:O,"aria-pressed":b},C,{children:c}))});function _0e(e){return Se("MuiToggleButtonGroup",e)}const $n=Pe("MuiToggleButtonGroup",["root","selected","horizontal","vertical","disabled","grouped","groupedHorizontal","groupedVertical","fullWidth","firstButton","lastButton","middleButton"]),D0e=["children","className","color","disabled","exclusive","fullWidth","onChange","orientation","size","value"],N0e=e=>{const{classes:t,orientation:n,fullWidth:r,disabled:o}=e,i={root:["root",n==="vertical"&&"vertical",r&&"fullWidth"],grouped:["grouped",`grouped${ie(n)}`,o&&"disabled"],firstButton:["firstButton"],lastButton:["lastButton"],middleButton:["middleButton"]};return de(i,_0e,t)},L0e=W("div",{name:"MuiToggleButtonGroup",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[{[`& .${$n.grouped}`]:t.grouped},{[`& .${$n.grouped}`]:t[`grouped${ie(n.orientation)}`]},{[`& .${$n.firstButton}`]:t.firstButton},{[`& .${$n.lastButton}`]:t.lastButton},{[`& .${$n.middleButton}`]:t.middleButton},t.root,n.orientation==="vertical"&&t.vertical,n.fullWidth&&t.fullWidth]}})(({ownerState:e,theme:t})=>S({display:"inline-flex",borderRadius:(t.vars||t).shape.borderRadius},e.orientation==="vertical"&&{flexDirection:"column"},e.fullWidth&&{width:"100%"},{[`& .${$n.grouped}`]:S({},e.orientation==="horizontal"?{[`&.${$n.selected} + .${$n.grouped}.${$n.selected}`]:{borderLeft:0,marginLeft:0}}:{[`&.${$n.selected} + .${$n.grouped}.${$n.selected}`]:{borderTop:0,marginTop:0}})},e.orientation==="horizontal"?{[`& .${$n.firstButton},& .${$n.middleButton}`]:{borderTopRightRadius:0,borderBottomRightRadius:0},[`& .${$n.lastButton},& .${$n.middleButton}`]:{marginLeft:-1,borderLeft:"1px solid transparent",borderTopLeftRadius:0,borderBottomLeftRadius:0}}:{[`& .${$n.firstButton},& .${$n.middleButton}`]:{borderBottomLeftRadius:0,borderBottomRightRadius:0},[`& .${$n.lastButton},& .${$n.middleButton}`]:{marginTop:-1,borderTop:"1px solid transparent",borderTopLeftRadius:0,borderTopRightRadius:0}},e.orientation==="horizontal"?{[`& .${$n.lastButton}.${Af.disabled},& .${$n.middleButton}.${Af.disabled}`]:{borderLeft:"1px solid transparent"}}:{[`& .${$n.lastButton}.${Af.disabled},& .${$n.middleButton}.${Af.disabled}`]:{borderTop:"1px solid transparent"}})),j0e=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiToggleButtonGroup"}),{children:o,className:i,color:a="standard",disabled:s=!1,exclusive:l=!1,fullWidth:c=!1,onChange:u,orientation:d="horizontal",size:f="medium",value:p}=r,h=q(r,D0e),m=S({},r,{disabled:s,fullWidth:c,orientation:d,size:f}),v=N0e(m),b=g.useCallback((E,T)=>{if(!u)return;const $=p&&p.indexOf(T);let M;p&&$>=0?(M=p.slice(),M.splice($,1)):M=p?p.concat(T):[T],u(E,M)},[u,p]),y=g.useCallback((E,T)=>{u&&u(E,p===T?null:T)},[u,p]),w=g.useMemo(()=>({className:v.grouped,onChange:l?y:b,value:p,size:f,fullWidth:c,color:a,disabled:s}),[v.grouped,l,y,b,p,f,c,a,s]),C=Hne(o),O=C.length,P=E=>{const T=E===0,$=E===O-1;return T&&$?"":T?v.firstButton:$?v.lastButton:v.middleButton};return k.jsx(L0e,S({role:"group",className:Q(v.root,i),ref:n,ownerState:m},h,{children:k.jsx(T8.Provider,{value:w,children:C.map((E,T)=>k.jsx(k8.Provider,{value:P(T),children:E},T))})}))});function F0e(){if(console&&console.warn){for(var e=arguments.length,t=new Array(e),n=0;n()=>{if(e.isInitialized)t();else{const n=()=>{setTimeout(()=>{e.off("initialized",n)},0),t()};e.on("initialized",n)}};function hj(e,t,n){e.loadNamespaces(t,I8(e,n))}function mj(e,t,n,r){typeof n=="string"&&(n=[n]),n.forEach(o=>{e.options.ns.indexOf(o)<0&&e.options.ns.push(o)}),e.loadLanguages(t,I8(e,r))}function B0e(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const r=t.languages[0],o=t.options?t.options.fallbackLng:!1,i=t.languages[t.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const a=(s,l)=>{const c=t.services.backendConnector.state[`${s}|${l}`];return c===-1||c===2};return n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!a(t.isLanguageChangingTo,e)?!1:!!(t.hasResourceBundle(r,e)||!t.services.backendConnector.backend||t.options.resources&&!t.options.partialBundledLanguages||a(r,e)&&(!o||a(i,e)))}function z0e(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return!t.languages||!t.languages.length?(RT("i18n.languages were undefined or empty",t.languages),!0):t.options.ignoreJSONStructure!==void 0?t.hasLoadedNamespace(e,{lng:n.lng,precheck:(o,i)=>{if(n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&o.services.backendConnector.backend&&o.isLanguageChangingTo&&!i(o.isLanguageChangingTo,e))return!1}}):B0e(e,t,n)}const V0e=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,H0e={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},U0e=e=>H0e[e],W0e=e=>e.replace(V0e,U0e);let _T={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:W0e};function G0e(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};_T={..._T,...e}}function q0e(){return _T}let $8;function K0e(e){$8=e}function Y0e(){return $8}const Q0e={type:"3rdParty",init(e){G0e(e.options.react),K0e(e)}},X0e=g.createContext();class J0e{constructor(){this.usedNamespaces={}}addUsedNamespaces(t){t.forEach(n=>{this.usedNamespaces[n]||(this.usedNamespaces[n]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const Z0e=(e,t)=>{const n=g.useRef();return g.useEffect(()=>{n.current=e},[e,t]),n.current};function M8(e,t,n,r){return e.getFixedT(t,n,r)}function exe(e,t,n,r){return g.useCallback(M8(e,t,n,r),[e,t,n,r])}function Oe(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{i18n:n}=t,{i18n:r,defaultNS:o}=g.useContext(X0e)||{},i=n||r||Y0e();if(i&&!i.reportNamespaces&&(i.reportNamespaces=new J0e),!i){RT("You will need to pass in an i18next instance by using initReactI18next");const C=(P,E)=>typeof E=="string"?E:E&&typeof E=="object"&&typeof E.defaultValue=="string"?E.defaultValue:Array.isArray(P)?P[P.length-1]:P,O=[C,{},!1];return O.t=C,O.i18n={},O.ready=!1,O}i.options.react&&i.options.react.wait!==void 0&&RT("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const a={...q0e(),...i.options.react,...t},{useSuspense:s,keyPrefix:l}=a;let c=o||i.options&&i.options.defaultNS;c=typeof c=="string"?[c]:c||["translation"],i.reportNamespaces.addUsedNamespaces&&i.reportNamespaces.addUsedNamespaces(c);const u=(i.isInitialized||i.initializedStoreOnce)&&c.every(C=>z0e(C,i,a)),d=exe(i,t.lng||null,a.nsMode==="fallback"?c:c[0],l),f=()=>d,p=()=>M8(i,t.lng||null,a.nsMode==="fallback"?c:c[0],l),[h,m]=g.useState(f);let v=c.join();t.lng&&(v=`${t.lng}${v}`);const b=Z0e(v),y=g.useRef(!0);g.useEffect(()=>{const{bindI18n:C,bindI18nStore:O}=a;y.current=!0,!u&&!s&&(t.lng?mj(i,t.lng,c,()=>{y.current&&m(p)}):hj(i,c,()=>{y.current&&m(p)})),u&&b&&b!==v&&y.current&&m(p);function P(){y.current&&m(p)}return C&&i&&i.on(C,P),O&&i&&i.store.on(O,P),()=>{y.current=!1,C&&i&&C.split(" ").forEach(E=>i.off(E,P)),O&&i&&O.split(" ").forEach(E=>i.store.off(E,P))}},[i,v]),g.useEffect(()=>{y.current&&u&&m(f)},[i,l,u]);const w=[h,i,u];if(w.t=h,w.i18n=i,w.ready=u,u||!u&&!s)return w;throw new Promise(C=>{t.lng?mj(i,t.lng,c,()=>C()):hj(i,c,()=>C())})}const ri=()=>{const[e]=Oe();return x(an,{sx:{textAlign:"center"},children:e("loading")})},Tr=()=>x(an,{sx:{height:200,alignItems:"center",mt:2},component:pt,direction:"column",justifyContent:"center",children:x(i8,{})});var bA={},oE={};const txe=Ss(Ase);var gj;function Xt(){return gj||(gj=1,function(e){"use client";Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.createSvgIcon}});var t=txe}(oE)),oE}var nxe=Ut;Object.defineProperty(bA,"__esModule",{value:!0});var xA=bA.default=void 0,rxe=nxe(Xt()),oxe=Kt();xA=bA.default=(0,rxe.default)((0,oxe.jsx)("path",{d:"m12 8-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z"}),"ExpandLess");var wA={},ixe=Ut;Object.defineProperty(wA,"__esModule",{value:!0});var bd=wA.default=void 0,axe=ixe(Xt()),sxe=Kt();bd=wA.default=(0,axe.default)((0,sxe.jsx)("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"}),"ExpandMore");var CA={},lxe=Ut;Object.defineProperty(CA,"__esModule",{value:!0});var vh=CA.default=void 0,cxe=lxe(Xt()),uxe=Kt();vh=CA.default=(0,cxe.default)((0,uxe.jsx)("path",{d:"M9 4v1.38c-.83-.33-1.72-.5-2.61-.5-1.79 0-3.58.68-4.95 2.05l3.33 3.33h1.11v1.11c.86.86 1.98 1.31 3.11 1.36V15H6v3c0 1.1.9 2 2 2h10c1.66 0 3-1.34 3-3V4zm-1.11 6.41V8.26H5.61L4.57 7.22a5.07 5.07 0 0 1 1.82-.34c1.34 0 2.59.52 3.54 1.46l1.41 1.41-.2.2c-.51.51-1.19.8-1.92.8-.47 0-.93-.12-1.33-.34M19 17c0 .55-.45 1-1 1s-1-.45-1-1v-2h-6v-2.59c.57-.23 1.1-.57 1.56-1.03l.2-.2L15.59 14H17v-1.41l-6-5.97V6h8z"}),"HistoryEdu");var SA={},dxe=Ut;Object.defineProperty(SA,"__esModule",{value:!0});var Es=SA.default=void 0,fxe=dxe(Xt()),pxe=Kt();Es=SA.default=(0,fxe.default)((0,pxe.jsx)("path",{d:"M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2M8.5 13.5l2.5 3.01L14.5 12l4.5 6H5z"}),"Photo");var PA={},hxe=Ut;Object.defineProperty(PA,"__esModule",{value:!0});var yh=PA.default=void 0,mxe=hxe(Xt()),gxe=Kt();yh=PA.default=(0,mxe.default)((0,gxe.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");const yo=({title:e,subtitle:t,isOpen:n,closeFn:r,children:o})=>x(ph,{open:n,onClose:r,"aria-labelledby":"modal-modal-title","aria-describedby":"modal-modal-description",children:z(gr,{sx:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",p:2,minWidth:"400px"},children:[x(Pl,{title:e,subheader:t,action:x(yh,{onClick:r})}),x(Ro,{children:o}),x(gi,{})]})}),zC=e=>{const[t]=Oe(),n=e.height?e.height:"50vh";return x(tt,{children:z(an,{sx:{height:n,display:"flex",alignItems:"center",flexDirection:"column",justifyContent:"center"},children:[x(Be,{variant:"h6",mr:3,children:t("nothingHereYet")}),x(Be,{mr:3,children:t("nothingHereYetAction")})]})})},EA=e=>{const[t]=Oe(),[n,r]=V.useState(!1),o=()=>r(!0),i=()=>r(!1),a=e.link!==void 0?x(qe,{size:"small",variant:"contained",href:e.link,children:t("add")}):x(qe,{size:"small",variant:"contained",onClick:o,children:t("add")});return z(tt,{children:[z(gr,{children:[x(Pl,{title:e.title,subheader:".",sx:{paddingBottom:0}}),x(Ro,{sx:{paddingTop:0,height:"500px"},children:x(zC,{})}),x(gi,{children:a})]}),x(yo,{title:t("add"),isOpen:n,closeFn:i,children:e.modalContent})]})};function A8(e,t){return function(){return e.apply(t,arguments)}}const{toString:vxe}=Object.prototype,{getPrototypeOf:OA}=Object,VC=(e=>t=>{const n=vxe.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),Va=e=>(e=e.toLowerCase(),t=>VC(t)===e),HC=e=>t=>typeof t===e,{isArray:bh}=Array,pv=HC("undefined");function yxe(e){return e!==null&&!pv(e)&&e.constructor!==null&&!pv(e.constructor)&&oi(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const R8=Va("ArrayBuffer");function bxe(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&R8(e.buffer),t}const xxe=HC("string"),oi=HC("function"),_8=HC("number"),UC=e=>e!==null&&typeof e=="object",wxe=e=>e===!0||e===!1,U0=e=>{if(VC(e)!=="object")return!1;const t=OA(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},Cxe=Va("Date"),Sxe=Va("File"),Pxe=Va("Blob"),Exe=Va("FileList"),Oxe=e=>UC(e)&&oi(e.pipe),Txe=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||oi(e.append)&&((t=VC(e))==="formdata"||t==="object"&&oi(e.toString)&&e.toString()==="[object FormData]"))},kxe=Va("URLSearchParams"),[Ixe,$xe,Mxe,Axe]=["ReadableStream","Request","Response","Headers"].map(Va),Rxe=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Ay(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,o;if(typeof e!="object"&&(e=[e]),bh(e))for(r=0,o=e.length;r0;)if(o=n[r],t===o.toLowerCase())return o;return null}const Eu=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,N8=e=>!pv(e)&&e!==Eu;function DT(){const{caseless:e}=N8(this)&&this||{},t={},n=(r,o)=>{const i=e&&D8(t,o)||o;U0(t[i])&&U0(r)?t[i]=DT(t[i],r):U0(r)?t[i]=DT({},r):bh(r)?t[i]=r.slice():t[i]=r};for(let r=0,o=arguments.length;r(Ay(t,(o,i)=>{n&&oi(o)?e[i]=A8(o,n):e[i]=o},{allOwnKeys:r}),e),Dxe=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),Nxe=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},Lxe=(e,t,n,r)=>{let o,i,a;const s={};if(t=t||{},e==null)return t;do{for(o=Object.getOwnPropertyNames(e),i=o.length;i-- >0;)a=o[i],(!r||r(a,e,t))&&!s[a]&&(t[a]=e[a],s[a]=!0);e=n!==!1&&OA(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},jxe=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return r!==-1&&r===n},Fxe=e=>{if(!e)return null;if(bh(e))return e;let t=e.length;if(!_8(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},Bxe=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&OA(Uint8Array)),zxe=(e,t)=>{const r=(e&&e[Symbol.iterator]).call(e);let o;for(;(o=r.next())&&!o.done;){const i=o.value;t.call(e,i[0],i[1])}},Vxe=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},Hxe=Va("HTMLFormElement"),Uxe=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,o){return r.toUpperCase()+o}),vj=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),Wxe=Va("RegExp"),L8=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};Ay(n,(o,i)=>{let a;(a=t(o,i,e))!==!1&&(r[i]=a||o)}),Object.defineProperties(e,r)},Gxe=e=>{L8(e,(t,n)=>{if(oi(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=e[n];if(oi(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},qxe=(e,t)=>{const n={},r=o=>{o.forEach(i=>{n[i]=!0})};return bh(e)?r(e):r(String(e).split(t)),n},Kxe=()=>{},Yxe=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t,iE="abcdefghijklmnopqrstuvwxyz",yj="0123456789",j8={DIGIT:yj,ALPHA:iE,ALPHA_DIGIT:iE+iE.toUpperCase()+yj},Qxe=(e=16,t=j8.ALPHA_DIGIT)=>{let n="";const{length:r}=t;for(;e--;)n+=t[Math.random()*r|0];return n};function Xxe(e){return!!(e&&oi(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}const Jxe=e=>{const t=new Array(10),n=(r,o)=>{if(UC(r)){if(t.indexOf(r)>=0)return;if(!("toJSON"in r)){t[o]=r;const i=bh(r)?[]:{};return Ay(r,(a,s)=>{const l=n(a,o+1);!pv(l)&&(i[s]=l)}),t[o]=void 0,i}}return r};return n(e,0)},Zxe=Va("AsyncFunction"),ewe=e=>e&&(UC(e)||oi(e))&&oi(e.then)&&oi(e.catch),F8=((e,t)=>e?setImmediate:t?((n,r)=>(Eu.addEventListener("message",({source:o,data:i})=>{o===Eu&&i===n&&r.length&&r.shift()()},!1),o=>{r.push(o),Eu.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",oi(Eu.postMessage)),twe=typeof queueMicrotask<"u"?queueMicrotask.bind(Eu):typeof process<"u"&&process.nextTick||F8,ve={isArray:bh,isArrayBuffer:R8,isBuffer:yxe,isFormData:Txe,isArrayBufferView:bxe,isString:xxe,isNumber:_8,isBoolean:wxe,isObject:UC,isPlainObject:U0,isReadableStream:Ixe,isRequest:$xe,isResponse:Mxe,isHeaders:Axe,isUndefined:pv,isDate:Cxe,isFile:Sxe,isBlob:Pxe,isRegExp:Wxe,isFunction:oi,isStream:Oxe,isURLSearchParams:kxe,isTypedArray:Bxe,isFileList:Exe,forEach:Ay,merge:DT,extend:_xe,trim:Rxe,stripBOM:Dxe,inherits:Nxe,toFlatObject:Lxe,kindOf:VC,kindOfTest:Va,endsWith:jxe,toArray:Fxe,forEachEntry:zxe,matchAll:Vxe,isHTMLForm:Hxe,hasOwnProperty:vj,hasOwnProp:vj,reduceDescriptors:L8,freezeMethods:Gxe,toObjectSet:qxe,toCamelCase:Uxe,noop:Kxe,toFiniteNumber:Yxe,findKey:D8,global:Eu,isContextDefined:N8,ALPHABET:j8,generateString:Qxe,isSpecCompliantForm:Xxe,toJSONObject:Jxe,isAsyncFn:Zxe,isThenable:ewe,setImmediate:F8,asap:twe};function xt(e,t,n,r,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o)}ve.inherits(xt,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:ve.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const B8=xt.prototype,z8={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{z8[e]={value:e}});Object.defineProperties(xt,z8);Object.defineProperty(B8,"isAxiosError",{value:!0});xt.from=(e,t,n,r,o,i)=>{const a=Object.create(B8);return ve.toFlatObject(e,a,function(l){return l!==Error.prototype},s=>s!=="isAxiosError"),xt.call(a,e.message,t,n,r,o),a.cause=e,a.name=e.name,i&&Object.assign(a,i),a};const nwe=null;function NT(e){return ve.isPlainObject(e)||ve.isArray(e)}function V8(e){return ve.endsWith(e,"[]")?e.slice(0,-2):e}function bj(e,t,n){return e?e.concat(t).map(function(o,i){return o=V8(o),!n&&i?"["+o+"]":o}).join(n?".":""):t}function rwe(e){return ve.isArray(e)&&!e.some(NT)}const owe=ve.toFlatObject(ve,{},null,function(t){return/^is[A-Z]/.test(t)});function WC(e,t,n){if(!ve.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=ve.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(m,v){return!ve.isUndefined(v[m])});const r=n.metaTokens,o=n.visitor||u,i=n.dots,a=n.indexes,l=(n.Blob||typeof Blob<"u"&&Blob)&&ve.isSpecCompliantForm(t);if(!ve.isFunction(o))throw new TypeError("visitor must be a function");function c(h){if(h===null)return"";if(ve.isDate(h))return h.toISOString();if(!l&&ve.isBlob(h))throw new xt("Blob is not supported. Use a Buffer instead.");return ve.isArrayBuffer(h)||ve.isTypedArray(h)?l&&typeof Blob=="function"?new Blob([h]):Buffer.from(h):h}function u(h,m,v){let b=h;if(h&&!v&&typeof h=="object"){if(ve.endsWith(m,"{}"))m=r?m:m.slice(0,-2),h=JSON.stringify(h);else if(ve.isArray(h)&&rwe(h)||(ve.isFileList(h)||ve.endsWith(m,"[]"))&&(b=ve.toArray(h)))return m=V8(m),b.forEach(function(w,C){!(ve.isUndefined(w)||w===null)&&t.append(a===!0?bj([m],C,i):a===null?m:m+"[]",c(w))}),!1}return NT(h)?!0:(t.append(bj(v,m,i),c(h)),!1)}const d=[],f=Object.assign(owe,{defaultVisitor:u,convertValue:c,isVisitable:NT});function p(h,m){if(!ve.isUndefined(h)){if(d.indexOf(h)!==-1)throw Error("Circular reference detected in "+m.join("."));d.push(h),ve.forEach(h,function(b,y){(!(ve.isUndefined(b)||b===null)&&o.call(t,b,ve.isString(y)?y.trim():y,m,f))===!0&&p(b,m?m.concat(y):[y])}),d.pop()}}if(!ve.isObject(e))throw new TypeError("data must be an object");return p(e),t}function xj(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(r){return t[r]})}function TA(e,t){this._pairs=[],e&&WC(e,this,t)}const H8=TA.prototype;H8.append=function(t,n){this._pairs.push([t,n])};H8.toString=function(t){const n=t?function(r){return t.call(this,r,xj)}:xj;return this._pairs.map(function(o){return n(o[0])+"="+n(o[1])},"").join("&")};function iwe(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function U8(e,t,n){if(!t)return e;const r=n&&n.encode||iwe,o=n&&n.serialize;let i;if(o?i=o(t,n):i=ve.isURLSearchParams(t)?t.toString():new TA(t,n).toString(r),i){const a=e.indexOf("#");a!==-1&&(e=e.slice(0,a)),e+=(e.indexOf("?")===-1?"?":"&")+i}return e}class wj{constructor(){this.handlers=[]}use(t,n,r){return this.handlers.push({fulfilled:t,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){ve.forEach(this.handlers,function(r){r!==null&&t(r)})}}const W8={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},awe=typeof URLSearchParams<"u"?URLSearchParams:TA,swe=typeof FormData<"u"?FormData:null,lwe=typeof Blob<"u"?Blob:null,cwe={isBrowser:!0,classes:{URLSearchParams:awe,FormData:swe,Blob:lwe},protocols:["http","https","file","blob","url","data"]},kA=typeof window<"u"&&typeof document<"u",uwe=(e=>kA&&["ReactNative","NativeScript","NS"].indexOf(e)<0)(typeof navigator<"u"&&navigator.product),dwe=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",fwe=kA&&window.location.href||"http://localhost",pwe=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:kA,hasStandardBrowserEnv:uwe,hasStandardBrowserWebWorkerEnv:dwe,origin:fwe},Symbol.toStringTag,{value:"Module"})),Ia={...pwe,...cwe};function hwe(e,t){return WC(e,new Ia.classes.URLSearchParams,Object.assign({visitor:function(n,r,o,i){return Ia.isNode&&ve.isBuffer(n)?(this.append(r,n.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)}},t))}function mwe(e){return ve.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function gwe(e){const t={},n=Object.keys(e);let r;const o=n.length;let i;for(r=0;r=n.length;return a=!a&&ve.isArray(o)?o.length:a,l?(ve.hasOwnProp(o,a)?o[a]=[o[a],r]:o[a]=r,!s):((!o[a]||!ve.isObject(o[a]))&&(o[a]=[]),t(n,r,o[a],i)&&ve.isArray(o[a])&&(o[a]=gwe(o[a])),!s)}if(ve.isFormData(e)&&ve.isFunction(e.entries)){const n={};return ve.forEachEntry(e,(r,o)=>{t(mwe(r),o,n,0)}),n}return null}function vwe(e,t,n){if(ve.isString(e))try{return(t||JSON.parse)(e),ve.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(0,JSON.stringify)(e)}const Ry={transitional:W8,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const r=n.getContentType()||"",o=r.indexOf("application/json")>-1,i=ve.isObject(t);if(i&&ve.isHTMLForm(t)&&(t=new FormData(t)),ve.isFormData(t))return o?JSON.stringify(G8(t)):t;if(ve.isArrayBuffer(t)||ve.isBuffer(t)||ve.isStream(t)||ve.isFile(t)||ve.isBlob(t)||ve.isReadableStream(t))return t;if(ve.isArrayBufferView(t))return t.buffer;if(ve.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let s;if(i){if(r.indexOf("application/x-www-form-urlencoded")>-1)return hwe(t,this.formSerializer).toString();if((s=ve.isFileList(t))||r.indexOf("multipart/form-data")>-1){const l=this.env&&this.env.FormData;return WC(s?{"files[]":t}:t,l&&new l,this.formSerializer)}}return i||o?(n.setContentType("application/json",!1),vwe(t)):t}],transformResponse:[function(t){const n=this.transitional||Ry.transitional,r=n&&n.forcedJSONParsing,o=this.responseType==="json";if(ve.isResponse(t)||ve.isReadableStream(t))return t;if(t&&ve.isString(t)&&(r&&!this.responseType||o)){const a=!(n&&n.silentJSONParsing)&&o;try{return JSON.parse(t)}catch(s){if(a)throw s.name==="SyntaxError"?xt.from(s,xt.ERR_BAD_RESPONSE,this,null,this.response):s}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Ia.classes.FormData,Blob:Ia.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};ve.forEach(["delete","get","head","post","put","patch"],e=>{Ry.headers[e]={}});const ywe=ve.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),bwe=e=>{const t={};let n,r,o;return e&&e.split(` -`).forEach(function(a){o=a.indexOf(":"),n=a.substring(0,o).trim().toLowerCase(),r=a.substring(o+1).trim(),!(!n||t[n]&&ywe[n])&&(n==="set-cookie"?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)}),t},Cj=Symbol("internals");function Sm(e){return e&&String(e).trim().toLowerCase()}function W0(e){return e===!1||e==null?e:ve.isArray(e)?e.map(W0):String(e)}function xwe(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}const wwe=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function aE(e,t,n,r,o){if(ve.isFunction(r))return r.call(this,t,n);if(o&&(t=n),!!ve.isString(t)){if(ve.isString(r))return t.indexOf(r)!==-1;if(ve.isRegExp(r))return r.test(t)}}function Cwe(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,r)=>n.toUpperCase()+r)}function Swe(e,t){const n=ve.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+n,{value:function(o,i,a){return this[r].call(this,t,o,i,a)},configurable:!0})})}class _o{constructor(t){t&&this.set(t)}set(t,n,r){const o=this;function i(s,l,c){const u=Sm(l);if(!u)throw new Error("header name must be a non-empty string");const d=ve.findKey(o,u);(!d||o[d]===void 0||c===!0||c===void 0&&o[d]!==!1)&&(o[d||l]=W0(s))}const a=(s,l)=>ve.forEach(s,(c,u)=>i(c,u,l));if(ve.isPlainObject(t)||t instanceof this.constructor)a(t,n);else if(ve.isString(t)&&(t=t.trim())&&!wwe(t))a(bwe(t),n);else if(ve.isHeaders(t))for(const[s,l]of t.entries())i(l,s,r);else t!=null&&i(n,t,r);return this}get(t,n){if(t=Sm(t),t){const r=ve.findKey(this,t);if(r){const o=this[r];if(!n)return o;if(n===!0)return xwe(o);if(ve.isFunction(n))return n.call(this,o,r);if(ve.isRegExp(n))return n.exec(o);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=Sm(t),t){const r=ve.findKey(this,t);return!!(r&&this[r]!==void 0&&(!n||aE(this,this[r],r,n)))}return!1}delete(t,n){const r=this;let o=!1;function i(a){if(a=Sm(a),a){const s=ve.findKey(r,a);s&&(!n||aE(r,r[s],s,n))&&(delete r[s],o=!0)}}return ve.isArray(t)?t.forEach(i):i(t),o}clear(t){const n=Object.keys(this);let r=n.length,o=!1;for(;r--;){const i=n[r];(!t||aE(this,this[i],i,t,!0))&&(delete this[i],o=!0)}return o}normalize(t){const n=this,r={};return ve.forEach(this,(o,i)=>{const a=ve.findKey(r,i);if(a){n[a]=W0(o),delete n[i];return}const s=t?Cwe(i):String(i).trim();s!==i&&delete n[i],n[s]=W0(o),r[s]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return ve.forEach(this,(r,o)=>{r!=null&&r!==!1&&(n[o]=t&&ve.isArray(r)?r.join(", "):r)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(` -`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const r=new this(t);return n.forEach(o=>r.set(o)),r}static accessor(t){const r=(this[Cj]=this[Cj]={accessors:{}}).accessors,o=this.prototype;function i(a){const s=Sm(a);r[s]||(Swe(o,a),r[s]=!0)}return ve.isArray(t)?t.forEach(i):i(t),this}}_o.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);ve.reduceDescriptors(_o.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}});ve.freezeMethods(_o);function sE(e,t){const n=this||Ry,r=t||n,o=_o.from(r.headers);let i=r.data;return ve.forEach(e,function(s){i=s.call(n,i,o.normalize(),t?t.status:void 0)}),o.normalize(),i}function q8(e){return!!(e&&e.__CANCEL__)}function xh(e,t,n){xt.call(this,e??"canceled",xt.ERR_CANCELED,t,n),this.name="CanceledError"}ve.inherits(xh,xt,{__CANCEL__:!0});function K8(e,t,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new xt("Request failed with status code "+n.status,[xt.ERR_BAD_REQUEST,xt.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function Pwe(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function Ewe(e,t){e=e||10;const n=new Array(e),r=new Array(e);let o=0,i=0,a;return t=t!==void 0?t:1e3,function(l){const c=Date.now(),u=r[i];a||(a=c),n[o]=l,r[o]=c;let d=i,f=0;for(;d!==o;)f+=n[d++],d=d%e;if(o=(o+1)%e,o===i&&(i=(i+1)%e),c-a{n=u,o=null,i&&(clearTimeout(i),i=null),e.apply(null,c)};return[(...c)=>{const u=Date.now(),d=u-n;d>=r?a(c,u):(o=c,i||(i=setTimeout(()=>{i=null,a(o)},r-d)))},()=>o&&a(o)]}const Wx=(e,t,n=3)=>{let r=0;const o=Ewe(50,250);return Owe(i=>{const a=i.loaded,s=i.lengthComputable?i.total:void 0,l=a-r,c=o(l),u=a<=s;r=a;const d={loaded:a,total:s,progress:s?a/s:void 0,bytes:l,rate:c||void 0,estimated:c&&s&&u?(s-a)/c:void 0,event:i,lengthComputable:s!=null,[t?"download":"upload"]:!0};e(d)},n)},Sj=(e,t)=>{const n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},Pj=e=>(...t)=>ve.asap(()=>e(...t)),Twe=Ia.hasStandardBrowserEnv?function(){const t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");let r;function o(i){let a=i;return t&&(n.setAttribute("href",a),a=n.href),n.setAttribute("href",a),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:n.pathname.charAt(0)==="/"?n.pathname:"/"+n.pathname}}return r=o(window.location.href),function(a){const s=ve.isString(a)?o(a):a;return s.protocol===r.protocol&&s.host===r.host}}():function(){return function(){return!0}}(),kwe=Ia.hasStandardBrowserEnv?{write(e,t,n,r,o,i){const a=[e+"="+encodeURIComponent(t)];ve.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),ve.isString(r)&&a.push("path="+r),ve.isString(o)&&a.push("domain="+o),i===!0&&a.push("secure"),document.cookie=a.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function Iwe(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function $we(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function Y8(e,t){return e&&!Iwe(t)?$we(e,t):t}const Ej=e=>e instanceof _o?{...e}:e;function rd(e,t){t=t||{};const n={};function r(c,u,d){return ve.isPlainObject(c)&&ve.isPlainObject(u)?ve.merge.call({caseless:d},c,u):ve.isPlainObject(u)?ve.merge({},u):ve.isArray(u)?u.slice():u}function o(c,u,d){if(ve.isUndefined(u)){if(!ve.isUndefined(c))return r(void 0,c,d)}else return r(c,u,d)}function i(c,u){if(!ve.isUndefined(u))return r(void 0,u)}function a(c,u){if(ve.isUndefined(u)){if(!ve.isUndefined(c))return r(void 0,c)}else return r(void 0,u)}function s(c,u,d){if(d in t)return r(c,u);if(d in e)return r(void 0,c)}const l={url:i,method:i,data:i,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s,headers:(c,u)=>o(Ej(c),Ej(u),!0)};return ve.forEach(Object.keys(Object.assign({},e,t)),function(u){const d=l[u]||o,f=d(e[u],t[u],u);ve.isUndefined(f)&&d!==s||(n[u]=f)}),n}const Q8=e=>{const t=rd({},e);let{data:n,withXSRFToken:r,xsrfHeaderName:o,xsrfCookieName:i,headers:a,auth:s}=t;t.headers=a=_o.from(a),t.url=U8(Y8(t.baseURL,t.url),e.params,e.paramsSerializer),s&&a.set("Authorization","Basic "+btoa((s.username||"")+":"+(s.password?unescape(encodeURIComponent(s.password)):"")));let l;if(ve.isFormData(n)){if(Ia.hasStandardBrowserEnv||Ia.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if((l=a.getContentType())!==!1){const[c,...u]=l?l.split(";").map(d=>d.trim()).filter(Boolean):[];a.setContentType([c||"multipart/form-data",...u].join("; "))}}if(Ia.hasStandardBrowserEnv&&(r&&ve.isFunction(r)&&(r=r(t)),r||r!==!1&&Twe(t.url))){const c=o&&i&&kwe.read(i);c&&a.set(o,c)}return t},Mwe=typeof XMLHttpRequest<"u",Awe=Mwe&&function(e){return new Promise(function(n,r){const o=Q8(e);let i=o.data;const a=_o.from(o.headers).normalize();let{responseType:s,onUploadProgress:l,onDownloadProgress:c}=o,u,d,f,p,h;function m(){p&&p(),h&&h(),o.cancelToken&&o.cancelToken.unsubscribe(u),o.signal&&o.signal.removeEventListener("abort",u)}let v=new XMLHttpRequest;v.open(o.method.toUpperCase(),o.url,!0),v.timeout=o.timeout;function b(){if(!v)return;const w=_o.from("getAllResponseHeaders"in v&&v.getAllResponseHeaders()),O={data:!s||s==="text"||s==="json"?v.responseText:v.response,status:v.status,statusText:v.statusText,headers:w,config:e,request:v};K8(function(E){n(E),m()},function(E){r(E),m()},O),v=null}"onloadend"in v?v.onloadend=b:v.onreadystatechange=function(){!v||v.readyState!==4||v.status===0&&!(v.responseURL&&v.responseURL.indexOf("file:")===0)||setTimeout(b)},v.onabort=function(){v&&(r(new xt("Request aborted",xt.ECONNABORTED,e,v)),v=null)},v.onerror=function(){r(new xt("Network Error",xt.ERR_NETWORK,e,v)),v=null},v.ontimeout=function(){let C=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded";const O=o.transitional||W8;o.timeoutErrorMessage&&(C=o.timeoutErrorMessage),r(new xt(C,O.clarifyTimeoutError?xt.ETIMEDOUT:xt.ECONNABORTED,e,v)),v=null},i===void 0&&a.setContentType(null),"setRequestHeader"in v&&ve.forEach(a.toJSON(),function(C,O){v.setRequestHeader(O,C)}),ve.isUndefined(o.withCredentials)||(v.withCredentials=!!o.withCredentials),s&&s!=="json"&&(v.responseType=o.responseType),c&&([f,h]=Wx(c,!0),v.addEventListener("progress",f)),l&&v.upload&&([d,p]=Wx(l),v.upload.addEventListener("progress",d),v.upload.addEventListener("loadend",p)),(o.cancelToken||o.signal)&&(u=w=>{v&&(r(!w||w.type?new xh(null,e,v):w),v.abort(),v=null)},o.cancelToken&&o.cancelToken.subscribe(u),o.signal&&(o.signal.aborted?u():o.signal.addEventListener("abort",u)));const y=Pwe(o.url);if(y&&Ia.protocols.indexOf(y)===-1){r(new xt("Unsupported protocol "+y+":",xt.ERR_BAD_REQUEST,e));return}v.send(i||null)})},Rwe=(e,t)=>{let n=new AbortController,r;const o=function(l){if(!r){r=!0,a();const c=l instanceof Error?l:this.reason;n.abort(c instanceof xt?c:new xh(c instanceof Error?c.message:c))}};let i=t&&setTimeout(()=>{o(new xt(`timeout ${t} of ms exceeded`,xt.ETIMEDOUT))},t);const a=()=>{e&&(i&&clearTimeout(i),i=null,e.forEach(l=>{l&&(l.removeEventListener?l.removeEventListener("abort",o):l.unsubscribe(o))}),e=null)};e.forEach(l=>l&&l.addEventListener&&l.addEventListener("abort",o));const{signal:s}=n;return s.unsubscribe=a,[s,()=>{i&&clearTimeout(i),i=null}]},_we=function*(e,t){let n=e.byteLength;if(n{const i=Dwe(e,t,o);let a=0,s,l=c=>{s||(s=!0,r&&r(c))};return new ReadableStream({async pull(c){try{const{done:u,value:d}=await i.next();if(u){l(),c.close();return}let f=d.byteLength;if(n){let p=a+=f;n(p)}c.enqueue(new Uint8Array(d))}catch(u){throw l(u),u}},cancel(c){return l(c),i.return()}},{highWaterMark:2})},GC=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",X8=GC&&typeof ReadableStream=="function",LT=GC&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),J8=(e,...t)=>{try{return!!e(...t)}catch{return!1}},Nwe=X8&&J8(()=>{let e=!1;const t=new Request(Ia.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),Tj=64*1024,jT=X8&&J8(()=>ve.isReadableStream(new Response("").body)),Gx={stream:jT&&(e=>e.body)};GC&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!Gx[t]&&(Gx[t]=ve.isFunction(e[t])?n=>n[t]():(n,r)=>{throw new xt(`Response type '${t}' is not supported`,xt.ERR_NOT_SUPPORT,r)})})})(new Response);const Lwe=async e=>{if(e==null)return 0;if(ve.isBlob(e))return e.size;if(ve.isSpecCompliantForm(e))return(await new Request(e).arrayBuffer()).byteLength;if(ve.isArrayBufferView(e)||ve.isArrayBuffer(e))return e.byteLength;if(ve.isURLSearchParams(e)&&(e=e+""),ve.isString(e))return(await LT(e)).byteLength},jwe=async(e,t)=>{const n=ve.toFiniteNumber(e.getContentLength());return n??Lwe(t)},Fwe=GC&&(async e=>{let{url:t,method:n,data:r,signal:o,cancelToken:i,timeout:a,onDownloadProgress:s,onUploadProgress:l,responseType:c,headers:u,withCredentials:d="same-origin",fetchOptions:f}=Q8(e);c=c?(c+"").toLowerCase():"text";let[p,h]=o||i||a?Rwe([o,i],a):[],m,v;const b=()=>{!m&&setTimeout(()=>{p&&p.unsubscribe()}),m=!0};let y;try{if(l&&Nwe&&n!=="get"&&n!=="head"&&(y=await jwe(u,r))!==0){let P=new Request(t,{method:"POST",body:r,duplex:"half"}),E;if(ve.isFormData(r)&&(E=P.headers.get("content-type"))&&u.setContentType(E),P.body){const[T,$]=Sj(y,Wx(Pj(l)));r=Oj(P.body,Tj,T,$,LT)}}ve.isString(d)||(d=d?"include":"omit"),v=new Request(t,{...f,signal:p,method:n.toUpperCase(),headers:u.normalize().toJSON(),body:r,duplex:"half",credentials:d});let w=await fetch(v);const C=jT&&(c==="stream"||c==="response");if(jT&&(s||C)){const P={};["status","statusText","headers"].forEach(M=>{P[M]=w[M]});const E=ve.toFiniteNumber(w.headers.get("content-length")),[T,$]=s&&Sj(E,Wx(Pj(s),!0))||[];w=new Response(Oj(w.body,Tj,T,()=>{$&&$(),C&&b()},LT),P)}c=c||"text";let O=await Gx[ve.findKey(Gx,c)||"text"](w,e);return!C&&b(),h&&h(),await new Promise((P,E)=>{K8(P,E,{data:O,headers:_o.from(w.headers),status:w.status,statusText:w.statusText,config:e,request:v})})}catch(w){throw b(),w&&w.name==="TypeError"&&/fetch/i.test(w.message)?Object.assign(new xt("Network Error",xt.ERR_NETWORK,e,v),{cause:w.cause||w}):xt.from(w,w&&w.code,e,v)}}),FT={http:nwe,xhr:Awe,fetch:Fwe};ve.forEach(FT,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const kj=e=>`- ${e}`,Bwe=e=>ve.isFunction(e)||e===null||e===!1,Z8={getAdapter:e=>{e=ve.isArray(e)?e:[e];const{length:t}=e;let n,r;const o={};for(let i=0;i`adapter ${s} `+(l===!1?"is not supported by the environment":"is not available in the build"));let a=t?i.length>1?`since : -`+i.map(kj).join(` -`):" "+kj(i[0]):"as no adapter specified";throw new xt("There is no suitable adapter to dispatch the request "+a,"ERR_NOT_SUPPORT")}return r},adapters:FT};function lE(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new xh(null,e)}function Ij(e){return lE(e),e.headers=_o.from(e.headers),e.data=sE.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Z8.getAdapter(e.adapter||Ry.adapter)(e).then(function(r){return lE(e),r.data=sE.call(e,e.transformResponse,r),r.headers=_o.from(r.headers),r},function(r){return q8(r)||(lE(e),r&&r.response&&(r.response.data=sE.call(e,e.transformResponse,r.response),r.response.headers=_o.from(r.response.headers))),Promise.reject(r)})}const eG="1.7.4",IA={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{IA[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const $j={};IA.transitional=function(t,n,r){function o(i,a){return"[Axios v"+eG+"] Transitional option '"+i+"'"+a+(r?". "+r:"")}return(i,a,s)=>{if(t===!1)throw new xt(o(a," has been removed"+(n?" in "+n:"")),xt.ERR_DEPRECATED);return n&&!$j[a]&&($j[a]=!0,console.warn(o(a," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(i,a,s):!0}};function zwe(e,t,n){if(typeof e!="object")throw new xt("options must be an object",xt.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let o=r.length;for(;o-- >0;){const i=r[o],a=t[i];if(a){const s=e[i],l=s===void 0||a(s,i,e);if(l!==!0)throw new xt("option "+i+" must be "+l,xt.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new xt("Unknown option "+i,xt.ERR_BAD_OPTION)}}const BT={assertOptions:zwe,validators:IA},Fl=BT.validators;class Lu{constructor(t){this.defaults=t,this.interceptors={request:new wj,response:new wj}}async request(t,n){try{return await this._request(t,n)}catch(r){if(r instanceof Error){let o;Error.captureStackTrace?Error.captureStackTrace(o={}):o=new Error;const i=o.stack?o.stack.replace(/^.+\n/,""):"";try{r.stack?i&&!String(r.stack).endsWith(i.replace(/^.+\n.+\n/,""))&&(r.stack+=` -`+i):r.stack=i}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=rd(this.defaults,n);const{transitional:r,paramsSerializer:o,headers:i}=n;r!==void 0&&BT.assertOptions(r,{silentJSONParsing:Fl.transitional(Fl.boolean),forcedJSONParsing:Fl.transitional(Fl.boolean),clarifyTimeoutError:Fl.transitional(Fl.boolean)},!1),o!=null&&(ve.isFunction(o)?n.paramsSerializer={serialize:o}:BT.assertOptions(o,{encode:Fl.function,serialize:Fl.function},!0)),n.method=(n.method||this.defaults.method||"get").toLowerCase();let a=i&&ve.merge(i.common,i[n.method]);i&&ve.forEach(["delete","get","head","post","put","patch","common"],h=>{delete i[h]}),n.headers=_o.concat(a,i);const s=[];let l=!0;this.interceptors.request.forEach(function(m){typeof m.runWhen=="function"&&m.runWhen(n)===!1||(l=l&&m.synchronous,s.unshift(m.fulfilled,m.rejected))});const c=[];this.interceptors.response.forEach(function(m){c.push(m.fulfilled,m.rejected)});let u,d=0,f;if(!l){const h=[Ij.bind(this),void 0];for(h.unshift.apply(h,s),h.push.apply(h,c),f=h.length,u=Promise.resolve(n);d{if(!r._listeners)return;let i=r._listeners.length;for(;i-- >0;)r._listeners[i](o);r._listeners=null}),this.promise.then=o=>{let i;const a=new Promise(s=>{r.subscribe(s),i=s}).then(o);return a.cancel=function(){r.unsubscribe(i)},a},t(function(i,a,s){r.reason||(r.reason=new xh(i,a,s),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}static source(){let t;return{token:new $A(function(o){t=o}),cancel:t}}}function Vwe(e){return function(n){return e.apply(null,n)}}function Hwe(e){return ve.isObject(e)&&e.isAxiosError===!0}const zT={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(zT).forEach(([e,t])=>{zT[t]=e});function tG(e){const t=new Lu(e),n=A8(Lu.prototype.request,t);return ve.extend(n,Lu.prototype,t,{allOwnKeys:!0}),ve.extend(n,t,null,{allOwnKeys:!0}),n.create=function(o){return tG(rd(e,o))},n}const je=tG(Ry);je.Axios=Lu;je.CanceledError=xh;je.CancelToken=$A;je.isCancel=q8;je.VERSION=eG;je.toFormData=WC;je.AxiosError=xt;je.Cancel=je.CanceledError;je.all=function(t){return Promise.all(t)};je.spread=Vwe;je.isAxiosError=Hwe;je.mergeConfig=rd;je.AxiosHeaders=_o;je.formToJSON=e=>G8(ve.isHTMLForm(e)?new FormData(e):e);je.getAdapter=Z8.getAdapter;je.HttpStatusCode=zT;je.default=je;const Zf={protein:4,carbohydrates:4,fat:9};class Qo{constructor(t){Bt(this,"bodyWeight",0);Bt(this,"energy",0);Bt(this,"protein",0);Bt(this,"carbohydrates",0);Bt(this,"carbohydratesSugar",0);Bt(this,"fat",0);Bt(this,"fatSaturated",0);Bt(this,"fiber",0);Bt(this,"sodium",0);this.energy=(t==null?void 0:t.energy)??0,this.protein=(t==null?void 0:t.protein)??0,this.carbohydrates=(t==null?void 0:t.carbohydrates)??0,this.carbohydratesSugar=(t==null?void 0:t.carbohydratesSugar)??0,this.fat=(t==null?void 0:t.fat)??0,this.fatSaturated=(t==null?void 0:t.fatSaturated)??0,this.fiber=(t==null?void 0:t.fiber)??0,this.sodium=(t==null?void 0:t.sodium)??0,this.bodyWeight=(t==null?void 0:t.bodyWeight)??0}get energyKj(){return this.energy*4.184}get isEmpty(){return this.energy===0&&this.protein===0&&this.carbohydrates===0&&this.fat===0}get percent(){return{protein:this.protein>0?this.protein*Zf.protein/this.energy*100:0,carbohydrates:this.carbohydrates>0?this.carbohydrates*Zf.carbohydrates/this.energy*100:0,fat:this.fat>0?this.fat*Zf.fat/this.energy*100:0}}get perBodyKg(){return{protein:this.bodyWeight>0?this.protein/this.bodyWeight:0,carbohydrates:this.bodyWeight>0?this.carbohydrates/this.bodyWeight:0,fat:this.bodyWeight>0?this.fat/this.bodyWeight:0}}static fromIngredient(t,n,r){const o=new Qo,i=r===null?n:n*r.amount*r.grams;return o.energy=t.energy*i/100,o.protein=t.protein*i/100,o.carbohydrates=t.carbohydrates*i/100,o.carbohydratesSugar=t.carbohydratesSugar?t.carbohydratesSugar*i/100:0,o.fat=t.fat*i/100,o.fatSaturated=t.fatSaturated?t.fatSaturated*i/100:0,o.fiber=t.fiber?t.fiber*i/100:0,o.sodium=t.sodium?t.sodium*i/100:0,o}add(t){return this.energy+=t.energy,this.protein+=t.protein,this.carbohydrates+=t.carbohydrates,this.carbohydratesSugar+=t.carbohydratesSugar,this.fat+=t.fat,this.fatSaturated+=t.fatSaturated,this.fiber+=t.fiber,this.sodium+=t.sodium,this}toString(){return`e: ${this.energy}, p: ${this.protein}, c: ${this.carbohydrates}, cS: ${this.carbohydratesSugar}, f: ${this.fat}, fS: ${this.fatSaturated}, fi: ${this.fiber}, s: ${this.sodium}`}equals(t){return this.energy===t.energy&&this.protein===t.protein&&this.carbohydrates===t.carbohydrates&&this.carbohydratesSugar===t.carbohydratesSugar&&this.fat===t.fat&&this.fatSaturated===t.fatSaturated&&this.fiber===t.fiber&&this.sodium===t.sodium}}function io(e){return e.toISOString().split("T")[0]}const nG=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"];function VT(e,t){return e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()}function qx(e,t){return e==null?null:e.toLocaleTimeString(t?[t]:[],{hour:"2-digit",minute:"2-digit"})}function Uwe(e){if(e==null)return null;const[t,n]=e.toTimeString().split(":");return`${t}:${n}`}function Wwe(e){if(e==null)return null;const[t,n]=e.split(":"),r=new Date;return r.setHours(parseInt(t)),r.setMinutes(parseInt(n)),r}class rG{constructor(t,n,r,o){Bt(this,"items",[]);Bt(this,"diaryEntries",[]);this.id=t,this.order=n,this.time=r,this.name=o}get timeHHMMLocale(){return qx(this.time)}get displayName(){return this.name?this.name:this.timeHHMMLocale}get diaryEntriesToday(){return this.diaryEntries.filter(t=>VT(t.datetime,new Date))}get plannedNutritionalValues(){const t=new Qo;for(const n of this.items)t.add(n.nutritionalValues);return t}get loggedNutritionalValuesToday(){const t=new Qo;for(const n of this.diaryEntriesToday)t.add(n.nutritionalValues);return t}}class MA{fromJson(t){return new rG(t.id,t.order,Wwe(t.time),t.name)}toJson(t){return{name:t.name,order:t.order,time:qx(t.time)}}}const G0=-1;class Gwe{constructor(t,n,r,o=!1,i=null,a=null,s=null,l=null,c=null,u=null,d=null){Bt(this,"meals",[]);Bt(this,"diaryEntries",[]);this.id=t,this.creationDate=n,this.description=r,this.onlyLogging=o,this.goalEnergy=i,this.goalProtein=a,this.goalCarbohydrates=s,this.goalFiber=l,this.goalSodium=c,this.goalFat=u,this.goalFatsSaturated=d}get hasAnyGoals(){return this.goalEnergy!==null||this.goalProtein!==null||this.goalCarbohydrates!==null||this.goalFat!==null}get hasAnyAdvancedGoals(){return this.goalFiber!==null||this.goalSodium!==null||this.goalFatsSaturated!==null}get hasAnyPlanned(){return this.hasAnyGoals||this.plannedNutritionalValues.energy>0}get plannedNutritionalValues(){if(this.hasAnyGoals)return new Qo({energy:this.goalEnergy,carbohydrates:this.goalCarbohydrates,protein:this.goalProtein,fat:this.goalFat});const t=new Qo;for(const n of this.meals)t.add(n.plannedNutritionalValues);return t}get loggedNutritionalValues7DayAvg(){const t=new Date,n=new Date(t.getTime()-7*24*60*60*1e3),r=this.diaryEntries.filter(o=>o.datetime>=n);return this.getAverageNutritionalValuesFromDiaryEntries(r)}get loggedNutritionalValuesToday(){const t=this.diaryEntries.filter(n=>VT(n.datetime,new Date));return this.getNutritionalValuesFromDiaryEntries(t)}get groupDiaryEntries(){return this.diaryEntries.reduce((t,n)=>{const r=n.datetime.toISOString().split("T")[0],o=t.get(r)||{entries:[],nutritionalValues:new Qo};return o.entries.push(n),o.nutritionalValues.add(n.nutritionalValues),t.set(r,o),t},new Map)}get percentageValuesLoggedToday(){return new Qo({protein:this.loggedNutritionalValuesToday.protein/this.plannedNutritionalValues.protein*100,carbohydrates:this.loggedNutritionalValuesToday.carbohydrates/this.plannedNutritionalValues.carbohydrates*100,fat:this.loggedNutritionalValuesToday.fat/this.plannedNutritionalValues.fat*100})}pseudoMealOthers(t){const n=new rG(G0,-1,null,t);return n.diaryEntries=this.diaryEntries.filter(r=>r.mealId===null),n}loggedNutritionalValuesDate(t){return this.getNutritionalValuesFromDiaryEntries(this.loggedEntriesDate(t))}loggedEntriesDate(t){return this.diaryEntries.filter(n=>VT(n.datetime,t))}getAverageNutritionalValuesFromDiaryEntries(t){const n=t.length,r=this.getNutritionalValuesFromDiaryEntries(t);return n===0||(r.energy=r.energy/n,r.protein=r.protein/n,r.carbohydrates=r.carbohydrates/n,r.carbohydratesSugar=r.carbohydratesSugar/n,r.fat=r.fat/n,r.fatSaturated=r.fatSaturated/n,r.fiber=r.fiber/n,r.sodium=r.sodium/n),r}getNutritionalValuesFromDiaryEntries(t){return t.reduce((n,r)=>n.add(r.nutritionalValues),new Qo)}}class qC{fromJson(t){return new Gwe(t.id,new Date(t.creation_date),t.description,t.only_logging,t.goal_energy,t.goal_protein,t.goal_carbohydrates,t.goal_fiber,t.goal_fat)}toJson(t){return{description:t.description}}}class qwe{constructor(t,n,r,o,i,a,s,l){this.id=t,this.uuid=n,this.url=r,this.created=o,this.lastUpdate=i,this.size=a,this.width=s,this.height=l}}class Kwe{fromJson(t){return new qwe(t.id,t.uuid,t.image,new Date(t.created),new Date(t.last_update),t.size,t.width,t.height)}}class Ywe{constructor(t,n,r,o,i,a,s,l,c,u,d,f,p=null){this.id=t,this.uuid=n,this.code=r,this.name=o,this.energy=i,this.protein=a,this.carbohydrates=s,this.carbohydratesSugar=l,this.fat=c,this.fatSaturated=u,this.fiber=d,this.sodium=f,this.image=p}}class Qwe{fromJson(t){return new Ywe(t.id,t.uuid,t.code,t.name,t.energy,parseFloat(t.protein),parseFloat(t.carbohydrates),t.carbohydrates_sugar===null?null:parseFloat(t.carbohydrates_sugar),parseFloat(t.fat),t.fat_saturated===null?null:parseFloat(t.fat_saturated),t.fiber===null?null:parseFloat(t.fiber),t.sodium===null?null:parseFloat(t.sodium),t.image===null?null:new Kwe().fromJson(t.image))}}var AA={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1,VITE_API_SERVER:""};const Xwe="/static/react",RA="",Jwe=AA.TIME_ZONE,Zwe=AA.MIN_ACCOUNT_AGE_TO_TRUST,e1e="",t1e=AA.VITE_API_KEY,Ep=2,n1e="en",r1e=Zwe||21,oG=1,o1e=2,i1e=1,a1e=2,s1e="exercises",l1e="variations",c1e="detail",u1e="languages",d1e="categories",f1e="equipment",p1e="muscles",h1e="permission",m1e="profile",g1e="routine",v1e="routines-shallow",y1e="routines-active",b1e="routines-logs",wh="measurements",Ch="measurements-categories";var Dn=(e=>(e.NUTRITIONAL_PLANS="nutritional-plans",e.NUTRITIONAL_PLAN="nutritional-plan",e.NUTRITIONAL_PLAN_LAST="nutritional-plan-last",e.INGREDIENT="ingredient",e.BODY_WEIGHT="body-weight",e))(Dn||{}),ho=(e=>(e.MEAL="meal",e.MEAL_ITEM="mealitem",e.NUTRITIONAL_DIARY="nutritiondiary",e.INGREDIENT_PATH="ingredientinfo",e.INGREDIENT_SEARCH_PATH="ingredient/search",e.INGREDIENT_WEIGHT_UNIT="ingredientweightunit",e))(ho||{});const iG="999",x1e=["#2a4c7d","#5b5291","#8e5298","#bf5092","#e7537e","#ff6461","#ff813d","#ffa600"],w1e=["#2a4c7d","#825298","#d45089","#ff6a59","#ffa600"],C1e=["#2a4c7d","#d45089","#ffa600"],Mj={pageSizeOptions:[5,10,25,50,100],pageSize:10},S1e=Jwe||"Europe/Berlin",Op="en",aG=3e3;var sG={exports:{}};(function(e){(function(t){let n;function r(u,d){const f=u.charCodeAt(d);if(isNaN(f))throw new RangeError("Index "+d+' out of range for string "'+u+'"; please open an issue at https://github.com/Trott/slug/issues/new');if(f<55296||f>57343)return[u.charAt(d),d];if(f>=55296&&f<=56319){if(u.length<=d+1)return[" ",d];const h=u.charCodeAt(d+1);return h<56320||h>57343?[" ",d]:[u.charAt(d)+u.charAt(d+1),d+1]}if(d===0)return[" ",d];const p=u.charCodeAt(d-1);if(p<55296||p>56319)return[" ",d];throw new Error('String "'+u+'" reaches code believed to be unreachable; please open an issue at https://github.com/Trott/slug/issues/new')}typeof window<"u"?window.btoa?n=function(u){return btoa(unescape(encodeURIComponent(u)))}:n=function(u){const d=unescape(encodeURIComponent(u+""));let f="";for(let p,h,m=0,v="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";d.charAt(m|0)||(v="=",m%1);f+=v.charAt(63&p>>8-m%1*8)){if(h=d.charCodeAt(m+=3/4),h>255)throw new Error("'btoa' failed: The string to be encoded contains characters outside of the Latin1 range.");p=p<<8|h}return f}:n=function(u){return Buffer.from(u).toString("base64")};function o(u,d){let f=s(u,d);if((d&&d.fallback!==void 0?d.fallback:o.defaults.fallback)===!0&&f===""){let h="";for(let m=0;m1?f[d[h]]=u[d[h]]:p[d[h]]=u[d[h]];Object.assign(o.charmap,p),Object.assign(o.multicharmap,f)},o.setLocale=function(u){a=i[u]||{}},e.exports?e.exports=o:t.slug=o})(os)})(sG);var P1e=sG.exports;const lG=Ht(P1e);function Ke(e,t){t=t||{};const r=[t.server||e1e,"api","v2",e];if(t.objectMethod&&r.push(t.objectMethod),t.id&&r.push(t.id.toString()),r.push(""),t.query){const o=[];for(const i in t.query)t.query.hasOwnProperty(i)&&o.push(`${encodeURIComponent(i)}=${encodeURIComponent(t.query[i])}`);r.pop(),r.push(`?${o.join("&")}`)}return r.join("/")}var Mt=(e=>(e[e.DASHBOARD=0]="DASHBOARD",e[e.ROUTINE_OVERVIEW=1]="ROUTINE_OVERVIEW",e[e.ROUTINE_DETAIL=2]="ROUTINE_DETAIL",e[e.ROUTINE_ADD=3]="ROUTINE_ADD",e[e.ROUTINE_DELETE=4]="ROUTINE_DELETE",e[e.ROUTINE_ADD_LOG=5]="ROUTINE_ADD_LOG",e[e.ROUTINE_EDIT_LOG=6]="ROUTINE_EDIT_LOG",e[e.ROUTINE_DELETE_LOG=7]="ROUTINE_DELETE_LOG",e[e.ROUTINE_EDIT_DAY=8]="ROUTINE_EDIT_DAY",e[e.ROUTINE_ADD_DAY=9]="ROUTINE_ADD_DAY",e[e.ROUTINE_DELETE_DAY=10]="ROUTINE_DELETE_DAY",e[e.ROUTINE_ADD_SET=11]="ROUTINE_ADD_SET",e[e.ROUTINE_EDIT_SET=12]="ROUTINE_EDIT_SET",e[e.ROUTINE_DELETE_SET=13]="ROUTINE_DELETE_SET",e[e.EXERCISE_DETAIL=14]="EXERCISE_DETAIL",e[e.EXERCISE_OVERVIEW=15]="EXERCISE_OVERVIEW",e[e.EXERCISE_CONTRIBUTE=16]="EXERCISE_CONTRIBUTE",e[e.WEIGHT_OVERVIEW=17]="WEIGHT_OVERVIEW",e[e.WEIGHT_ADD=18]="WEIGHT_ADD",e[e.MEASUREMENT_OVERVIEW=19]="MEASUREMENT_OVERVIEW",e[e.MEASUREMENT_DETAIL=20]="MEASUREMENT_DETAIL",e[e.NUTRITION_OVERVIEW=21]="NUTRITION_OVERVIEW",e[e.NUTRITION_DETAIL=22]="NUTRITION_DETAIL",e[e.NUTRITION_PLAN_PDF=23]="NUTRITION_PLAN_PDF",e[e.NUTRITION_PLAN_COPY=24]="NUTRITION_PLAN_COPY",e[e.NUTRITION_DIARY=25]="NUTRITION_DIARY",e[e.INGREDIENT_DETAIL=26]="INGREDIENT_DETAIL",e))(Mt||{});function _t(e,t,n){t=t||"en-us";const r=t.split("-")[0];switch(e){case 1:return`/${r}/routine/overview`;case 2:return`/${r}/routine/${n.id}/view`;case 3:return`/${r}/routine/add`;case 9:return`/${r}/routine/day/${n.id}/add`;case 5:return`/${r}/routine/day/${n.id}/log/add`;case 6:return`/${r}/routine/log/${n.id}/edit`;case 7:return`/${r}/routine/log/${n.id}/delete`;case 8:return`/${r}/routine/day/${n.id}/edit`;case 10:return`/${r}/routine/day/${n.id}/delete`;case 11:return`/${r}/routine/set/${n.id}/add`;case 12:return`/${r}/routine/set/${n.id}/edit`;case 13:return`/${r}/routine/set/${n.id}/delete`;case 16:return`/${r}/exercise/contribute`;case 14:return n.slug?`/${r}/exercise/${n.id}/view-base/${lG(n.slug)}`:`/${r}/exercise/${n.id}/view-base`;case 15:return`/${r}/exercise/overview`;case 17:return`/${r}/weight/overview`;case 18:return`/${r}/weight/add`;case 19:return`/${r}/measurement/overview`;case 20:return`/${r}/measurement/category/${n.id}`;case 21:return`/${r}/nutrition/overview`;case 22:return`/${r}/nutrition/${n.id}/view`;case 25:return`/${r}/nutrition/${n.id}/${n.date}`;case 23:return`/${r}/nutrition/${n.id}/pdf`;case 24:return`/${r}/nutrition/${n.id}/copy`;case 26:return`/${r}/nutrition/ingredient/${n.id}/view`;case 0:default:return"/"}}function E1e(e){let t=null;if(document.cookie&&document.cookie!==""){const n=document.cookie.split(";");for(let r=0;r{if(e.length===0)return[];const t=Ke(ho.INGREDIENT_PATH,{query:{id__in:e.join(",")}}),n=new Qwe,r=[];for await(const o of _y(t,Je()))for(const i of o)r.push(n.fromJson(i));return r},O1e=async(e,t,n=!0)=>{const r=[t];t!==Op&&n&&r.push(Op);const o=Ke(ho.INGREDIENT_SEARCH_PATH,{query:{term:e,language:r.join(",")}}),{data:i}=await je.get(o);return i.suggestions};class T1e{constructor(t,n,r,o,i,a,s){Bt(this,"ingredient",null);Bt(this,"weightUnit",null);this.id=t,this.ingredientId=n,this.weightUnitId=r,this.amount=o,this.order=i,a&&(this.ingredient=a),s&&(this.weightUnit=s)}get amountString(){var t;return this.amount.toFixed().toString()+(this.weightUnitId!==null?` ${(t=this.weightUnit)==null?void 0:t.name}`:"g")}get nutritionalValues(){return this.ingredient?Qo.fromIngredient(this.ingredient,this.amount,this.weightUnit):new Qo}}class _A{fromJson(t){return new T1e(t.id,t.ingredient,t.weight_unit,parseFloat(t.amount),t.order)}toJson(t){return{ingredient:t.ingredientId,weight_unit:t.weightUnitId,amount:t.amount.toString(),order:t.order}}}class k1e{constructor(t,n,r,o=""){this.id=t,this.amount=n,this.grams=r,this.name=o}}class I1e{fromJson(t){return new k1e(t.id,parseFloat(t.amount),t.gram)}}const uG=async e=>{if(e===null)return null;const{data:t}=await je.get(Ke(ho.INGREDIENT_WEIGHT_UNIT,{id:e}),{headers:Je()});return new I1e().fromJson(t)},$1e=async e=>{const t=await je.post(Ke(ho.MEAL),e,{headers:Je()});return new MA().fromJson(t.data)},M1e=async e=>{const t=await je.patch(Ke(ho.MEAL,{id:e.id}),e,{headers:Je()});return new MA().fromJson(t.data)},A1e=async e=>{await je.delete(Ke(ho.MEAL,{id:e}),{headers:Je()})},R1e=async e=>{let t=[];const n=new MA,r=new _A,{data:o}=await je.get(Ke(ho.MEAL,{query:{plan:e}}),{headers:Je()}),i=o.results.map(a=>n.fromJson(a));for(const a of i){t=[];const{data:s}=await je.get(Ke(ho.MEAL_ITEM,{query:{meal:a.id}}),{headers:Je()}),l=s.results.map(u=>r.fromJson(u));for(const u of l)t.push(u.ingredientId);const c=await cG(t);for(const u of l)u.weightUnit=await uG(u.weightUnitId),u.ingredient=c.find(d=>d.id===u.ingredientId);a.items=l}return i};class _1e{constructor(t,n,r,o,i,a,s,l,c){Bt(this,"ingredient",null);Bt(this,"weightUnit",null);this.id=t,this.planId=n,this.mealId=r,this.ingredientId=o,this.weightUnitId=i,this.amount=a,this.datetime=s,l&&(this.ingredient=l),c&&(this.weightUnit=c)}get amountString(){var t;return this.amount.toFixed().toString()+(this.weightUnitId!==null?` ${(t=this.weightUnit)==null?void 0:t.name}`:"g")}get nutritionalValues(){return this.ingredient?Qo.fromIngredient(this.ingredient,this.amount,this.weightUnit):(console.log("Diary entry has no ingredient, returning empty NutritionalValues object"),new Qo)}}class DA{fromJson(t){return new _1e(t.id,t.plan,t.meal,t.ingredient,t.weight_unit,parseFloat(t.amount),new Date(t.datetime))}toJson(t){return{plan:t.planId,meal:t.mealId,ingredient:t.ingredientId,weight_unit:t.weightUnitId,amount:t.amount.toString(),datetime:t.datetime.toISOString()}}}const D1e=async(e,t)=>{const n=new DA,r={plan:e,limit:iG};t&&(r.datetime__date=io(t));const o=Ke(ho.NUTRITIONAL_DIARY,{query:r}),i=[];for await(const a of _y(o,Je()))for(const s of a){let l=n.fromJson(s);l.weightUnit=await uG(l.weightUnitId),i.push(l)}return i},dG=async e=>{const t=await je.post(Ke(ho.NUTRITIONAL_DIARY),e,{headers:Je()});return new DA().fromJson(t.data)},N1e=async e=>{const t=await je.patch(Ke(ho.NUTRITIONAL_DIARY,{id:e.id}),e,{headers:Je()});return new DA().fromJson(t.data)},Sh="nutritionplan",L1e=async()=>{const{data:e}=await je.get(Ke(Sh),{headers:Je()}),t=new qC;return e.results.map(n=>t.fromJson(n))},j1e=async()=>{const{data:e}=await je.get(Ke(Sh,{query:{limit:"1"}}),{headers:Je()});return e.count===0?null:await NA(e.results[0].id)},NA=async(e,t)=>{if(e===null)return null;const{data:n}=await je.get(Ke(Sh,{id:e}),{headers:Je()}),r=[],i=new qC().fromJson(n),a=await Promise.all([R1e(e),D1e(e,t)]);i.meals=a[0],i.diaryEntries=a[1],i.diaryEntries.forEach(l=>{r.includes(l.ingredientId)||r.push(l.ingredientId)});const s=await cG(r);return i.diaryEntries.forEach(l=>{l.ingredient=s.find(c=>c.id===l.ingredientId)}),i.meals.forEach(l=>{l.diaryEntries=i.diaryEntries.filter(c=>c.mealId===l.id)}),i},F1e=async e=>{const t=await je.post(Ke(Sh),e,{headers:Je()});return new qC().fromJson(t.data)},B1e=async e=>{const t=await je.patch(Ke(Sh,{id:e.id}),e,{headers:Je()});return new qC().fromJson(t.data)},z1e=async e=>{await je.delete(Ke(Sh,{id:e}),{headers:Je()})};function V1e(){return lr([Dn.NUTRITIONAL_PLANS],L1e)}function H1e(){return lr([Dn.NUTRITIONAL_PLAN,"last"],()=>j1e())}function U1e(e){return lr([Dn.NUTRITIONAL_PLAN,e],()=>NA(e))}function W1e(e,t,n=!0){return lr({queryKey:[Dn.NUTRITIONAL_PLAN,e,t],queryFn:()=>NA(e,new Date(t)),enabled:n})}const G1e=()=>{const e=Bn();return Zn({mutationFn:t=>F1e(t),onSuccess:()=>{e.invalidateQueries([Dn.NUTRITIONAL_PLANS]),e.invalidateQueries([Dn.NUTRITIONAL_PLAN])}})},q1e=e=>{const t=Bn();return Zn({mutationFn:n=>z1e(n),onSuccess:()=>{t.invalidateQueries([Dn.NUTRITIONAL_PLANS]),t.invalidateQueries([Dn.NUTRITIONAL_PLAN,e])}})},K1e=e=>{const t=Bn();return Zn({mutationFn:n=>B1e(n),onSuccess:()=>{t.invalidateQueries([Dn.NUTRITIONAL_PLAN,e]),t.invalidateQueries([Dn.NUTRITIONAL_PLANS])}})},Y1e=e=>{const t=Bn();return Zn({mutationFn:n=>dG(n),onSuccess:()=>t.invalidateQueries([Dn.NUTRITIONAL_PLAN,e])})},fG=e=>{const t=Bn();return Zn({mutationFn:n=>Promise.all(n.map(r=>dG(r))),onSuccess:()=>t.invalidateQueries([Dn.NUTRITIONAL_PLAN,e])})},Q1e=e=>{const t=Bn();return Zn({mutationFn:n=>N1e(n),onSuccess:()=>t.invalidateQueries([Dn.NUTRITIONAL_PLAN,e])})},X1e=e=>{const t=Bn();return Zn({mutationFn:n=>$1e(n),onSuccess:()=>{t.invalidateQueries([Dn.NUTRITIONAL_PLAN,e])}})},J1e=e=>{const t=Bn();return Zn({mutationFn:n=>A1e(n),onSuccess:()=>{t.invalidateQueries([Dn.NUTRITIONAL_PLAN,e])}})},Z1e=e=>{const t=Bn();return Zn({mutationFn:n=>M1e(n),onSuccess:()=>{t.invalidateQueries([Dn.NUTRITIONAL_PLAN,e])}})},eCe=async e=>{const t=await je.post(Ke(ho.MEAL_ITEM),e,{headers:Je()});return new _A().fromJson(t.data)},tCe=async e=>{const t=await je.patch(Ke(ho.MEAL_ITEM,{id:e.id}),e,{headers:Je()});return new _A().fromJson(t.data)},nCe=async e=>{await je.delete(Ke(ho.MEAL_ITEM,{id:e}),{headers:Je()})},rCe=e=>{const t=Bn();return Zn({mutationFn:n=>eCe(n),onSuccess:()=>{t.invalidateQueries([Dn.NUTRITIONAL_PLAN,e])}})},oCe=e=>{const t=Bn();return Zn({mutationFn:n=>tCe(n),onSuccess:()=>{t.invalidateQueries([Dn.NUTRITIONAL_PLAN,e])}})},iCe=e=>{const t=Bn();return Zn({mutationFn:n=>nCe(n),onSuccess:()=>{t.invalidateQueries([Dn.NUTRITIONAL_PLAN,e])}})};class pG{constructor(t,n,r){this.date=t,this.weight=n,this.id=r}}class LA{fromJson(t){return new pG(new Date(t.date),parseFloat(t.weight),t.id)}toJson(t){return{id:t.id,date:io(t.date),weight:t.weight}}}const KC="weightentry",aCe=async()=>{const e=Ke(KC,{query:{ordering:"-date",limit:900}}),{data:t}=await je.get(e,{headers:Je()}),n=new LA;return t.results.map(r=>n.fromJson(r))},sCe=async e=>(await je.delete(Ke(KC,{id:e}),{headers:Je()})).status,hG=async e=>{const t=new LA,n=await je.patch(Ke(KC,{id:e.id}),t.toJson(e),{headers:Je()});return t.fromJson(n)},mG=async e=>{const t=new LA,n=await je.post(Ke(KC),t.toJson(e),{headers:Je()});return t.fromJson(n.data)},lCe=22;function cCe(e,t=lCe){return e.length>t?e.slice(0,t)+"…":e}function uCe(e){return e.toLowerCase().replace(/\s/g,"_").replace("(","_").replace(")","_").replace("-","_")}function mo(e){return`server.${uCe(e)}`}class dCe{constructor(t,n,r,o){this.id=t,this.name=n,this.nameEn=r,this.isFront=o}getName(t){return this.nameEn?`${this.name} (${t(mo(this.nameEn))})`:this.name}}class gG{fromJson(t){return new dCe(t.id,t.name,t.name_en,t.is_front)}toJson(t){return{}}}const fCe="muscle",pCe=async()=>{const e=Ke(fCe),{data:t}=await je.get(e,{headers:Je()}),n=new gG;return t.results.map(r=>n.fromJson(r))};class hCe{constructor(t,n){this.id=t,this.name=n}}class vG{fromJson(t){return new hCe(t.id,t.name)}toJson(t){return{id:t.id,name:t.name}}}const mCe="equipment",gCe=async()=>{const e=Ke(mCe),{data:t}=await je.get(e,{headers:Je()}),n=new vG;return t.results.map(r=>n.fromJson(r))};class vCe{constructor(t,n){this.id=t,this.name=n}}class yG{fromJson(t){return new vCe(t.id,t.name)}toJson(t){return{id:t.id,name:t.name}}}const yCe="exercisecategory",bCe=async()=>{const e=Ke(yCe),{data:t}=await je.get(e,{headers:Je()}),n=new yG;return t.results.map(r=>n.fromJson(r))};var Hs=(e=>(e[e.LINE_ART=1]="LINE_ART",e[e.THREE_D=2]="THREE_D",e[e.LOW_POLY=3]="LOW_POLY",e[e.PHOTO=4]="PHOTO",e[e.OTHER=5]="OTHER",e))(Hs||{});class xCe{constructor(t,n,r,o){this.id=t,this.uuid=n,this.url=r,this.isMain=o}}class HT{fromJson(t){return new xCe(t.id,t.uuid,t.image,t.is_main)}toJson(t){return{id:t.id,image:t.url,is_front:t.isMain}}}class wCe{constructor(t,n,r){this.id=t,this.uuid=n,this.alias=r}}class bG{fromJson(t){return new wCe(t.id,t.uuid,t.alias)}toJson(t){return{id:t.id,name:t.alias}}}class UT{constructor(t,n,r){this.id=t,this.exercise=n,this.note=r}}class xG{fromJson(t){return new UT(t.id,t.exercise,t.comment)}toJson(t){return{id:t.id,comment:t.note,exercise:t.exercise}}}class wG{constructor(t,n,r,o,i,a,s,l){Bt(this,"notes",[]);Bt(this,"aliases",[]);Bt(this,"authors",[]);this.id=t,this.uuid=n,this.name=r,this.description=o,this.language=i,a&&(this.notes=a),s&&(this.aliases=s),l&&(this.authors=l)}get nameLong(){return cCe(this.name)}get nameSlug(){return lG(this.name)}}class jA{fromJson(t){var n,r;return new wG(t.id,t.uuid,t.name,t.description,t.language,(n=t.notes)==null?void 0:n.map(o=>new xG().fromJson(o)),(r=t.aliases)==null?void 0:r.map(o=>new bG().fromJson(o)),t.author_history)}toJson(t){return{id:t.id,uuid:t.uuid,name:t.name,description:t.description,language:t.language}}}class CCe{constructor(t,n,r,o){this.id=t,this.uuid=n,this.url=r,this.isMain=o}}class CG{fromJson(t){return new CCe(t.id,t.uuid,t.video,t.is_main)}toJson(t){return{id:t.id,video:t.url}}}class SCe{constructor(t,n,r,o,i,a,s,l,c,u,d){Bt(this,"translations",[]);Bt(this,"videos",[]);Bt(this,"authors",[]);this.id=t,this.uuid=n,this.category=r,this.equipment=o,this.muscles=i,this.musclesSecondary=a,this.images=s,this.variationId=l,c&&(this.translations=c),u&&(this.videos=u),d&&(this.authors=d)}getTranslation(t){const n=t!=null?t.id:Ep;let r=this.translations.find(o=>o.language===n);return r||(r=this.translations.find(o=>o.language===Ep)),r||this.translations[0]}get availableLanguages(){return this.translations.map(t=>t.language)}get mainImage(){return this.images.find(t=>t.isMain)}get sideImages(){return this.images.filter(t=>!t.isMain)}}class SG{fromJson(t){const n=new yG,r=new vG,o=new gG,i=new HT,a=new jA,s=new CG,l=new SCe(t.id,t.uuid,n.fromJson(t.category),t.equipment.map(c=>r.fromJson(c)),t.muscles.map(c=>o.fromJson(c)),t.muscles_secondary.map(c=>o.fromJson(c)),t.images.map(c=>i.fromJson(c)),t.variations,t.exercises.map(c=>a.fromJson(c)),t.videos.map(c=>s.fromJson(c)),t.author_history);if(l.translations.some(c=>c.language===Ep)||console.info(`No english translation found for exercise base ${l.uuid}!`),l.translations.length===0)throw new Error(`No translations found for exercise base ${l.uuid}!`);return l}toJson(t){return{id:t.id,uuid:t.uuid,category:t.category.id,equipment:t.equipment.map(n=>n.id),muscles:t.muscles.map(n=>n.id),muscles_secondary:t.musclesSecondary.map(n=>n.id),images:t.images.map(n=>new HT().toJson(n))}}}const FA="exercisebaseinfo",BA="exercise-base";function PG(e){const t=new SG,n=[];for(const r of e.results)try{n.push(t.fromJson(r))}catch(o){console.error("An error happened, skipping base:",o)}return n}const PCe=async()=>{const e=Ke(FA,{query:{limit:900}}),t=await je.get(e,{headers:Je()});return PG(t.data)},YC=async e=>{const t=new SG,n=Ke(FA,{id:e}),r=await je.get(n,{headers:Je()});return t.fromJson(r.data)},ECe=async e=>{if(!e)return[];const t=Ke(FA,{query:{variations:e}}),n=await je.get(t,{headers:Je()});return PG(n.data)},OCe=async(e,t,n,r,o,i)=>{const a=Ke(BA),s={category:e,equipment:t,muscles:n,muscles_secondary:r,variation_id:o,license_author:i};return(await je.post(a,s,{headers:Je()})).data.id},zA=async(e,t)=>{const n=Ke(BA,{id:e});return(await je.patch(n,t,{headers:Je()})).status},Aj=async(e,t)=>{const r=Ke(BA,t===void 0?{id:e}:{id:e,query:{replaced_by:t}});return(await je.delete(r,{headers:Je()})).status},VA="exercise-translation",TCe="exercise/search",kCe=async(e,t=n1e,n=!0)=>{const r=[t];t!==Op&&n&&r.push(Op);const o=Ke(TCe,{query:{term:e,language:r.join(",")}}),{data:i}=await je.get(o);return i.suggestions},WT=async(e,t,n,r,o)=>{const i=Ke(VA),a={exercise_base:e,language:t,name:n,description:r,license_author:o},s=await je.post(i,a,{headers:Je()});return new jA().fromJson(s.data)},ICe=async(e,t,n,r,o)=>{const i=Ke(VA,{id:e}),a={exercise_base:t,language:n,name:r,description:o},s=await je.patch(i,a,{headers:Je()});return new jA().fromJson(s.data)},$Ce=async e=>{const t=Ke(VA,{id:e});return(await je.delete(t,{headers:Je()})).status};class EG{constructor(t,n,r){this.id=t,this.nameShort=n,this.nameLong=r}}class MCe{fromJson(t){return new EG(t.id,t.short_name,t.full_name)}toJson(t){return{}}}const ACe="language",RCe=async()=>{const e=Ke(ACe),{data:t}=await je.get(e,{headers:Je()}),n=new MCe;return t.results.map(r=>n.fromJson(r))},GT=(e,t)=>{const n=e.split("-")[0],r=t.find(o=>o.nameShort===n);if(r)return r},OG="exerciseimage",TG=async e=>{const t=Ke(OG),n=Je();n["Content-Type"]="multipart/form-data";const r=await je.post(t,{exercise_base:e.exerciseId,image:e.image,license_title:e.imageData.title,license_object_url:e.imageData.objectUrl,license_author:e.imageData.author,license_author_url:e.imageData.authorUrl,license_derivative_source_url:e.imageData.derivativeSourceUrl,style:e.imageData.style},{headers:n});return new HT().fromJson(r.data)},_Ce=async e=>{const t=Ke(OG,{id:e}),n=Je();return(await je.delete(t,{headers:n})).status},kG="exercisealias",qT=async(e,t)=>{const n=Ke(kG),r=await je.post(n,{exercise:e,alias:t},{headers:Je()});return new bG().fromJson(r.data)},DCe=async e=>(await je.delete(Ke(kG,{id:e}),{headers:Je()})).status,IG="video",NCe=async(e,t,n)=>{const r=Ke(IG),o=Je();o["Content-Type"]="multipart/form-data";const i=await je.post(r,{exercise_base:e,license_author:t,video:n},{headers:o});return new CG().fromJson(i.data)},LCe=async e=>{const t=Ke(IG,{id:e}),n=Je();return(await je.delete(t,{headers:n})).status};class jCe{constructor(t,n,r,o){Bt(this,"sets",[]);this.id=t,this.description=n,this.daysOfWeek=r,o&&(this.sets=o)}}class FCe{fromJson(t){return new jCe(t.id,t.description,t.day)}toJson(t){return{id:t.id,description:t.description,day:t.daysOfWeek}}}class BCe{constructor(t,n,r,o,i,a,s,l,c,u,d){this.id=t,this.date=n,this.exerciseId=r,this.repetitionUnit=o,this.reps=i,this.weight=a,this.weightUnit=s,this.rir=l,this.repetitionUnitObj=c,this.weightUnitObj=u,this.baseObj=d,c&&(this.repetitionUnitObj=c),u&&(this.weightUnitObj=u),d&&(this.baseObj=d)}get rirString(){return this.rir===null||this.rir===""?"-/-":this.rir}}class zCe{fromJson(t){return new BCe(t.id,new Date(t.date),t.exercise_base,t.repetition_unit,t.reps,t.weight===null?null:Number.parseFloat(t.weight),t.weight_unit,t.rir)}toJson(t){return{id:t.id,exercise_base:t.exerciseId,repetition_unit:t.repetitionUnit,reps:t.reps,weight:t.weight,weight_unit:t.weightUnit,rir:t.rir}}}class VCe{constructor(t,n,r,o,i){Bt(this,"days",[]);this.id=t,this.name=n,this.description=r,this.date=o,i&&(this.days=i)}}class $G{fromJson(t){return new VCe(t.id,t.name,t.description,new Date(t.creation_date))}toJson(t){return{id:t.id,name:t.name,description:t.description,creation_date:io(t.date)}}}function HCe(e,t,n){n=n||(s=>s);const r=s=>s.rir?`${s.rir} ${n("routines.rir")}`:"",o=s=>{if(s.repetitionUnit===o1e)return"∞";const l=s.repetitionUnit!==oG?n(mo(s.repetitionUnitObj.name)):"";return`${s.reps} ${l}`},i=s=>s===null?"":Number.isInteger(s)?s.toString():s.toFixed(2).toString(),a=(s,l=!1)=>{const c=o(s),u=s.weightUnitObj.name,d=i(s.weight),f=r(s);let p=l?c:`${e} × ${c}`.trim();if(d){const h=f?`, ${f}`:"";p+=` (${d} ${u}${h})`}else p+=f?` (${f})`:"";return p};return t.length===1?a(t[0]):t.map(s=>a(s,!0)).join(" – ")}class UCe{constructor(t,n,r,o,i,a){Bt(this,"settings",[]);Bt(this,"settingsComputed",[]);this.id=t,this.sets=n,this.order=r,this.comment=o,i&&(this.settings=i),a&&(this.settingsComputed=a)}get exercises(){return this.settingsFiltered.map(t=>t.base)}get settingsFiltered(){const t=[];for(const n of this.settings)t.filter(o=>o.exerciseId===n.exerciseId).length===0&&t.push(n);return t}filterSettingsByExercise(t){return this.settings.filter(n=>n.exerciseId===t.id)}getSettingsTextRepresentation(t,n){return n=n||(r=>r),HCe(this.sets,this.filterSettingsByExercise(t),n)}}class WCe{fromJson(t){return new UCe(t.id,t.sets,t.order,t.comment)}toJson(t){return{id:t.id,sets:t.sets,order:t.order,comment:t.order}}}class GCe{constructor(t,n,r,o,i,a,s,l,c,u,d,f){Bt(this,"base");this.id=t,this.date=n,this.exerciseId=r,this.repetitionUnit=o,this.reps=i,this.weight=a,this.weightUnit=s,this.rir=l,this.order=c,this.comment=u,this.repetitionUnitObj=d,this.weightUnitObj=f,d&&(this.repetitionUnitObj=d),f&&(this.weightUnitObj=f)}}class qCe{fromJson(t){return new GCe(t.id,new Date(t.date),t.exercise_base,t.repetition_unit,t.reps,t.weight===null?null:Number.parseFloat(t.weight),t.weight_unit,t.rir,t.order,t.comment)}toJson(t){return{id:t.id,exercise_base:t.exerciseId,repetition_unit:t.repetitionUnit,reps:t.reps,weight:t.weight,weight_unit:t.weightUnit,rir:t.rir,order:t.order,comment:t.comment}}}class KCe{constructor(t,n){Bt(this,"id");Bt(this,"name");this.id=t,this.name=n}}class YCe{fromJson(t){return new KCe(t.id,t.name)}toJson(t){return{}}}class QCe{constructor(t,n){Bt(this,"id");Bt(this,"name");this.id=t,this.name=n}}class XCe{fromJson(t){return new QCe(t.id,t.name)}toJson(t){return{}}}const JCe="setting-repetitionunit",ZCe="setting-weightunit",MG=async()=>{const e=Ke(JCe),{data:t}=await je.get(e,{headers:Je()}),n=new YCe;return t.results.map(r=>n.fromJson(r))},AG=async()=>{const e=Ke(ZCe),{data:t}=await je.get(e,{headers:Je()}),n=new XCe;return t.results.map(r=>n.fromJson(r))},HA="workout",eSe="workoutlog",tSe="day",nSe="set",rSe="setting",oSe=e=>new $G().fromJson(e),RG=async e=>{const t=new $G,n=new FCe,r=new WCe,o=new qCe,i=await je.get(Ke(HA,{id:e}),{headers:Je()}),a=t.fromJson(i.data),s=await je.get(Ke(tSe,{query:{training:a.id.toString()}}),{headers:Je()}),l=await Promise.all([MG(),AG()]),c=l[0],u=l[1];for(const d of s.data.results){const f=n.fromJson(d),p=await je.get(Ke(nSe,{query:{exerciseday:f.id.toString()}}),{headers:Je()});for(const v of p.data.results){const b=r.fromJson(v);f.sets.push(b)}const h=p.data.results.map(v=>je.get(Ke(rSe,{query:{set:v.id}}),{headers:Je()})),m=await Promise.all(h);for(const v of m)for(const b of v.data.results){const y=f.sets.find(E=>E.id===b.set),w=o.fromJson(b),C=u.find(E=>E.id===w.weightUnit),O=c.find(E=>E.id===w.repetitionUnit),P=y.settings.find(E=>E.exerciseId===w.exerciseId);w.base=P!==void 0?P.base:await YC(w.exerciseId),w.weightUnitObj=C,w.repetitionUnitObj=O,y.settings.push(w)}a.days.push(f)}return a},iSe=async()=>{const e=Ke(HA,{query:{limit:"1"}}),t=await je.get(e,{headers:Je()});return t.data.count===0?null:await RG(t.data.results[0].id)},aSe=async e=>await RG(e),sSe=async()=>{const e=Ke(HA),t=await je.get(e,{headers:Je()}),n=[];for(const r of t.data.results)n.push(await oSe(r));return n},lSe=async(e,t=!1)=>{const n=new zCe,r=Ke(eSe,{query:{workout:e.toString(),limit:iG,ordering:"-date"}}),o=await Promise.all([MG(),AG()]),i=o[0],a=o[1],s=new Map,l=[];for await(const c of _y(r))for(const u of c){const d=n.fromJson(u);d.repetitionUnitObj=i.find(f=>f.id===d.repetitionUnit),d.weightUnitObj=a.find(f=>f.id===d.weightUnit),t&&(s.get(d.exerciseId)===void 0&&s.set(d.exerciseId,await YC(d.exerciseId)),d.baseObj=s.get(d.exerciseId)),l.push(d)}return l};class cSe{constructor(t,n,r,o){Bt(this,"entries",[]);this.id=t,this.name=n,this.unit=r,o&&(this.entries=o)}}class QC{fromJson(t){return new cSe(t.id,t.name,t.unit)}toJson(t){return{id:t.id,name:t.name,unit:t.unit}}}class uSe{constructor(t,n,r,o,i){this.id=t,this.category=n,this.date=r,this.value=o,this.notes=i}}class XC{fromJson(t){return new uSe(t.id,t.category,new Date(t.date),t.value,t.notes)}toJson(t){return{id:t.id,category:t.category,date:t.date,value:t.value,notes:t.notes}}}const Dy="measurement-category",Ny="measurement",dSe=async()=>{const e=new QC,t=new XC,{data:n}=await je.get(Ke(Dy),{headers:Je()}),r=n.results.map(s=>e.fromJson(s)),o=r.map(async s=>{const l=[],c=Ke(Ny,{query:{category:s.id}});for await(const u of _y(c,Je()))for(const d of u)l.push(t.fromJson(d));return l}),i=await Promise.all(o);let a;return i.forEach(s=>{s.length>0&&(a=s[0].category,r.findLast(l=>l.id===a).entries=s)}),r},fSe=async e=>{const{data:t}=await je.get(Ke(Dy,{id:e}),{headers:Je()}),n=new QC().fromJson(t),r=new XC,o=[],i=Ke(Ny,{query:{category:n.id}});for await(const a of _y(i,Je()))for(const s of a)o.push(r.fromJson(s));return n.entries=o,n},pSe=async e=>{const t=await je.post(Ke(Dy),{name:e.name,unit:e.unit},{headers:Je()});return new QC().fromJson(t.data)},hSe=async e=>{const t=await je.patch(Ke(Dy,{id:e.id}),{name:e.name,unit:e.unit},{headers:Je()});return new QC().fromJson(t.data)},mSe=async e=>{await je.delete(Ke(Dy,{id:e}),{headers:Je()})},gSe=async e=>{await je.delete(Ke(Ny,{id:e}),{headers:Je()})},vSe=async e=>{const t=await je.patch(Ke(Ny,{id:e.id}),{date:io(e.date),value:e.value,notes:e.notes},{headers:Je()});return new XC().fromJson(t.data)},ySe=async e=>{const t=await je.post(Ke(Ny),{category:e.categoryId,date:io(e.date),value:e.value,notes:e.notes},{headers:Je()});return new XC().fromJson(t.data)};function Yr(e,t){return e.toLocaleString(t,{maximumFractionDigits:0})}function _G(e,t,n){return e.toLocaleString(t,{maximumFractionDigits:0,unit:n.valueOf(),style:"unit"})}function It(e,t){return _G(e,t,"gram")}function cE(e,t){return _G(e,t,"percent")}const ep=e=>{const{i18n:t}=Oe(),n=e.planned>0;return z(tt,{children:[x(rge,{variant:"determinate",value:e.percentage<100?e.percentage:100}),z(Be,{variant:"caption",children:[e.title," — ",It(e.logged,t.language),n&&z(tt,{children:[" / ",It(e.planned,t.language)]})]})]})};var bSe=Array.isArray,jo=bSe,xSe=typeof os=="object"&&os&&os.Object===Object&&os,DG=xSe,wSe=DG,CSe=typeof self=="object"&&self&&self.Object===Object&&self,SSe=wSe||CSe||Function("return this")(),Os=SSe,PSe=Os,ESe=PSe.Symbol,Ly=ESe,Rj=Ly,NG=Object.prototype,OSe=NG.hasOwnProperty,TSe=NG.toString,Pm=Rj?Rj.toStringTag:void 0;function kSe(e){var t=OSe.call(e,Pm),n=e[Pm];try{e[Pm]=void 0;var r=!0}catch{}var o=TSe.call(e);return r&&(t?e[Pm]=n:delete e[Pm]),o}var ISe=kSe,$Se=Object.prototype,MSe=$Se.toString;function ASe(e){return MSe.call(e)}var RSe=ASe,_j=Ly,_Se=ISe,DSe=RSe,NSe="[object Null]",LSe="[object Undefined]",Dj=_j?_j.toStringTag:void 0;function jSe(e){return e==null?e===void 0?LSe:NSe:Dj&&Dj in Object(e)?_Se(e):DSe(e)}var Ol=jSe;function FSe(e){return e!=null&&typeof e=="object"}var Tl=FSe,BSe=Ol,zSe=Tl,VSe="[object Symbol]";function HSe(e){return typeof e=="symbol"||zSe(e)&&BSe(e)==VSe}var Ph=HSe,USe=jo,WSe=Ph,GSe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,qSe=/^\w*$/;function KSe(e,t){if(USe(e))return!1;var n=typeof e;return n=="number"||n=="symbol"||n=="boolean"||e==null||WSe(e)?!0:qSe.test(e)||!GSe.test(e)||t!=null&&e in Object(t)}var UA=KSe;function YSe(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Uc=YSe;const Eh=Ht(Uc);var QSe=Ol,XSe=Uc,JSe="[object AsyncFunction]",ZSe="[object Function]",ePe="[object GeneratorFunction]",tPe="[object Proxy]";function nPe(e){if(!XSe(e))return!1;var t=QSe(e);return t==ZSe||t==ePe||t==JSe||t==tPe}var WA=nPe;const ft=Ht(WA);var rPe=Os,oPe=rPe["__core-js_shared__"],iPe=oPe,uE=iPe,Nj=function(){var e=/[^.]+$/.exec(uE&&uE.keys&&uE.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function aPe(e){return!!Nj&&Nj in e}var sPe=aPe,lPe=Function.prototype,cPe=lPe.toString;function uPe(e){if(e!=null){try{return cPe.call(e)}catch{}try{return e+""}catch{}}return""}var LG=uPe,dPe=WA,fPe=sPe,pPe=Uc,hPe=LG,mPe=/[\\^$.*+?()[\]{}|]/g,gPe=/^\[object .+?Constructor\]$/,vPe=Function.prototype,yPe=Object.prototype,bPe=vPe.toString,xPe=yPe.hasOwnProperty,wPe=RegExp("^"+bPe.call(xPe).replace(mPe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function CPe(e){if(!pPe(e)||fPe(e))return!1;var t=dPe(e)?wPe:gPe;return t.test(hPe(e))}var SPe=CPe;function PPe(e,t){return e==null?void 0:e[t]}var EPe=PPe,OPe=SPe,TPe=EPe;function kPe(e,t){var n=TPe(e,t);return OPe(n)?n:void 0}var xd=kPe,IPe=xd,$Pe=IPe(Object,"create"),JC=$Pe,Lj=JC;function MPe(){this.__data__=Lj?Lj(null):{},this.size=0}var APe=MPe;function RPe(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var _Pe=RPe,DPe=JC,NPe="__lodash_hash_undefined__",LPe=Object.prototype,jPe=LPe.hasOwnProperty;function FPe(e){var t=this.__data__;if(DPe){var n=t[e];return n===NPe?void 0:n}return jPe.call(t,e)?t[e]:void 0}var BPe=FPe,zPe=JC,VPe=Object.prototype,HPe=VPe.hasOwnProperty;function UPe(e){var t=this.__data__;return zPe?t[e]!==void 0:HPe.call(t,e)}var WPe=UPe,GPe=JC,qPe="__lodash_hash_undefined__";function KPe(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=GPe&&t===void 0?qPe:t,this}var YPe=KPe,QPe=APe,XPe=_Pe,JPe=BPe,ZPe=WPe,eEe=YPe;function Oh(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t-1}var vEe=gEe,yEe=ZC;function bEe(e,t){var n=this.__data__,r=yEe(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}var xEe=bEe,wEe=rEe,CEe=dEe,SEe=hEe,PEe=vEe,EEe=xEe;function Th(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t0?1:-1},Ou=function(t){return jy(t)&&t.indexOf("%")===t.length-1},Ne=function(t){return UOe(t)&&!Fy(t)},mr=function(t){return Ne(t)||jy(t)},KOe=0,wd=function(t){var n=++KOe;return"".concat(t||"").concat(n)},so=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!Ne(t)&&!jy(t))return r;var i;if(Ou(t)){var a=t.indexOf("%");i=n*parseFloat(t.slice(0,a))/100}else i=+t;return Fy(i)&&(i=r),o&&i>n&&(i=n),i},rc=function(t){if(!t)return null;var n=Object.keys(t);return n&&n.length?t[n[0]]:null},YOe=function(t){if(!Array.isArray(t))return!1;for(var n=t.length,r={},o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function nTe(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}function YT(e){"@babel/helpers - typeof";return YT=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},YT(e)}var Uj={click:"onClick",mousedown:"onMouseDown",mouseup:"onMouseUp",mouseover:"onMouseOver",mousemove:"onMouseMove",mouseout:"onMouseOut",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",touchcancel:"onTouchCancel",touchend:"onTouchEnd",touchmove:"onTouchMove",touchstart:"onTouchStart"},el=function(t){return typeof t=="string"?t:t?t.displayName||t.name||"Component":""},Wj=null,fE=null,ZA=function e(t){if(t===Wj&&Array.isArray(fE))return fE;var n=[];return g.Children.forEach(t,function(r){lt(r)||(ix.isFragment(r)?n=n.concat(e(r.props.children)):n.push(r))}),fE=n,Wj=t,n};function po(e,t){var n=[],r=[];return Array.isArray(t)?r=t.map(function(o){return el(o)}):r=[el(t)],ZA(e).forEach(function(o){var i=ii(o,"type.displayName")||ii(o,"type.name");r.indexOf(i)!==-1&&n.push(o)}),n}function Wo(e,t){var n=po(e,t);return n&&n[0]}var Gj=function(t){if(!t||!t.props)return!1;var n=t.props,r=n.width,o=n.height;return!(!Ne(r)||r<=0||!Ne(o)||o<=0)},rTe=["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"],oTe=function(t){return t&&t.type&&jy(t.type)&&rTe.indexOf(t.type)>=0},iTe=function(t){return t&&YT(t)==="object"&&"cx"in t&&"cy"in t&&"r"in t},aTe=function(t,n,r,o){var i,a=(i=dE==null?void 0:dE[o])!==null&&i!==void 0?i:[];return!ft(t)&&(o&&a.includes(n)||JOe.includes(n))||r&&JA.includes(n)},ot=function(t,n,r){if(!t||typeof t=="function"||typeof t=="boolean")return null;var o=t;if(g.isValidElement(t)&&(o=t.props),!Eh(o))return null;var i={};return Object.keys(o).forEach(function(a){var s;aTe((s=o)===null||s===void 0?void 0:s[a],a,n,r)&&(i[a]=o[a])}),i},QT=function e(t,n){if(t===n)return!0;var r=g.Children.count(t);if(r!==g.Children.count(n))return!1;if(r===0)return!0;if(r===1)return qj(Array.isArray(t)?t[0]:t,Array.isArray(n)?n[0]:n);for(var o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function dTe(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}function JT(e){var t=e.children,n=e.width,r=e.height,o=e.viewBox,i=e.className,a=e.style,s=e.title,l=e.desc,c=uTe(e,cTe),u=o||{width:n,height:r,x:0,y:0},d=Q("recharts-surface",i);return V.createElement("svg",XT({},ot(c,!0,"svg"),{className:d,width:n,height:r,style:a,viewBox:"".concat(u.x," ").concat(u.y," ").concat(u.width," ").concat(u.height)}),V.createElement("title",null,s),V.createElement("desc",null,l),t)}var fTe=["children","className"];function ZT(){return ZT=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function hTe(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}var At=V.forwardRef(function(e,t){var n=e.children,r=e.className,o=pTe(e,fTe),i=Q("recharts-layer",r);return V.createElement("g",ZT({className:i},ot(o,!0),{ref:t}),n)}),$a=function(t,n){for(var r=arguments.length,o=new Array(r>2?r-2:0),i=2;io?0:o+t),n=n>o?o:n,n<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var i=Array(o);++r=r?e:vTe(e,t,n)}var bTe=yTe,xTe="\\ud800-\\udfff",wTe="\\u0300-\\u036f",CTe="\\ufe20-\\ufe2f",STe="\\u20d0-\\u20ff",PTe=wTe+CTe+STe,ETe="\\ufe0e\\ufe0f",OTe="\\u200d",TTe=RegExp("["+OTe+xTe+PTe+ETe+"]");function kTe(e){return TTe.test(e)}var WG=kTe;function ITe(e){return e.split("")}var $Te=ITe,GG="\\ud800-\\udfff",MTe="\\u0300-\\u036f",ATe="\\ufe20-\\ufe2f",RTe="\\u20d0-\\u20ff",_Te=MTe+ATe+RTe,DTe="\\ufe0e\\ufe0f",NTe="["+GG+"]",ek="["+_Te+"]",tk="\\ud83c[\\udffb-\\udfff]",LTe="(?:"+ek+"|"+tk+")",qG="[^"+GG+"]",KG="(?:\\ud83c[\\udde6-\\uddff]){2}",YG="[\\ud800-\\udbff][\\udc00-\\udfff]",jTe="\\u200d",QG=LTe+"?",XG="["+DTe+"]?",FTe="(?:"+jTe+"(?:"+[qG,KG,YG].join("|")+")"+XG+QG+")*",BTe=XG+QG+FTe,zTe="(?:"+[qG+ek+"?",ek,KG,YG,NTe].join("|")+")",VTe=RegExp(tk+"(?="+tk+")|"+zTe+BTe,"g");function HTe(e){return e.match(VTe)||[]}var UTe=HTe,WTe=$Te,GTe=WG,qTe=UTe;function KTe(e){return GTe(e)?qTe(e):WTe(e)}var YTe=KTe,QTe=bTe,XTe=WG,JTe=YTe,ZTe=zG;function eke(e){return function(t){t=ZTe(t);var n=XTe(t)?JTe(t):void 0,r=n?n[0]:t.charAt(0),o=n?QTe(n,1).join(""):t.slice(1);return r[e]()+o}}var tke=eke,nke=tke,rke=nke("toUpperCase"),oke=rke;const rS=Ht(oke);function yn(e){return function(){return e}}const JG=Math.cos,Qx=Math.sin,Ha=Math.sqrt,Xx=Math.PI,oS=2*Xx,nk=Math.PI,rk=2*nk,pu=1e-6,ike=rk-pu;function ZG(e){this._+=e[0];for(let t=1,n=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return ZG;const n=10**t;return function(r){this._+=r[0];for(let o=1,i=r.length;opu)if(!(Math.abs(d*l-c*u)>pu)||!i)this._append`L${this._x1=t},${this._y1=n}`;else{let p=r-a,h=o-s,m=l*l+c*c,v=p*p+h*h,b=Math.sqrt(m),y=Math.sqrt(f),w=i*Math.tan((nk-Math.acos((m+f-v)/(2*b*y)))/2),C=w/y,O=w/b;Math.abs(C-1)>pu&&this._append`L${t+C*u},${n+C*d}`,this._append`A${i},${i},0,0,${+(d*p>u*h)},${this._x1=t+O*l},${this._y1=n+O*c}`}}arc(t,n,r,o,i,a){if(t=+t,n=+n,r=+r,a=!!a,r<0)throw new Error(`negative radius: ${r}`);let s=r*Math.cos(o),l=r*Math.sin(o),c=t+s,u=n+l,d=1^a,f=a?o-i:i-o;this._x1===null?this._append`M${c},${u}`:(Math.abs(this._x1-c)>pu||Math.abs(this._y1-u)>pu)&&this._append`L${c},${u}`,r&&(f<0&&(f=f%rk+rk),f>ike?this._append`A${r},${r},0,1,${d},${t-s},${n-l}A${r},${r},0,1,${d},${this._x1=c},${this._y1=u}`:f>pu&&this._append`A${r},${r},0,${+(f>=nk)},${d},${this._x1=t+r*Math.cos(i)},${this._y1=n+r*Math.sin(i)}`)}rect(t,n,r,o){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}h${r=+r}v${+o}h${-r}Z`}toString(){return this._}}function eR(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{const r=Math.floor(n);if(!(r>=0))throw new RangeError(`invalid digits: ${n}`);t=r}return e},()=>new ske(t)}function tR(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function e9(e){this._context=e}e9.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),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:this._context.lineTo(e,t);break}}};function iS(e){return new e9(e)}function t9(e){return e[0]}function n9(e){return e[1]}function r9(e,t){var n=yn(!0),r=null,o=iS,i=null,a=eR(s);e=typeof e=="function"?e:e===void 0?t9:yn(e),t=typeof t=="function"?t:t===void 0?n9:yn(t);function s(l){var c,u=(l=tR(l)).length,d,f=!1,p;for(r==null&&(i=o(p=a())),c=0;c<=u;++c)!(c=p;--h)s.point(w[h],C[h]);s.lineEnd(),s.areaEnd()}b&&(w[f]=+e(v,f,d),C[f]=+t(v,f,d),s.point(r?+r(v,f,d):w[f],n?+n(v,f,d):C[f]))}if(y)return s=null,y+""||null}function u(){return r9().defined(o).curve(a).context(i)}return c.x=function(d){return arguments.length?(e=typeof d=="function"?d:yn(+d),r=null,c):e},c.x0=function(d){return arguments.length?(e=typeof d=="function"?d:yn(+d),c):e},c.x1=function(d){return arguments.length?(r=d==null?null:typeof d=="function"?d:yn(+d),c):r},c.y=function(d){return arguments.length?(t=typeof d=="function"?d:yn(+d),n=null,c):t},c.y0=function(d){return arguments.length?(t=typeof d=="function"?d:yn(+d),c):t},c.y1=function(d){return arguments.length?(n=d==null?null:typeof d=="function"?d:yn(+d),c):n},c.lineX0=c.lineY0=function(){return u().x(e).y(t)},c.lineY1=function(){return u().x(e).y(n)},c.lineX1=function(){return u().x(r).y(t)},c.defined=function(d){return arguments.length?(o=typeof d=="function"?d:yn(!!d),c):o},c.curve=function(d){return arguments.length?(a=d,i!=null&&(s=a(i)),c):a},c.context=function(d){return arguments.length?(d==null?i=s=null:s=a(i=d),c):i},c}class o9{constructor(t,n){this._context=t,this._x=n}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(t,n){switch(t=+t,n=+n,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,n,t,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,t,this._y0,t,n);break}}this._x0=t,this._y0=n}}function lke(e){return new o9(e,!0)}function cke(e){return new o9(e,!1)}const nR={draw(e,t){const n=Ha(t/Xx);e.moveTo(n,0),e.arc(0,0,n,0,oS)}},uke={draw(e,t){const n=Ha(t/5)/2;e.moveTo(-3*n,-n),e.lineTo(-n,-n),e.lineTo(-n,-3*n),e.lineTo(n,-3*n),e.lineTo(n,-n),e.lineTo(3*n,-n),e.lineTo(3*n,n),e.lineTo(n,n),e.lineTo(n,3*n),e.lineTo(-n,3*n),e.lineTo(-n,n),e.lineTo(-3*n,n),e.closePath()}},i9=Ha(1/3),dke=i9*2,fke={draw(e,t){const n=Ha(t/dke),r=n*i9;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},pke={draw(e,t){const n=Ha(t),r=-n/2;e.rect(r,r,n,n)}},hke=.8908130915292852,a9=Qx(Xx/10)/Qx(7*Xx/10),mke=Qx(oS/10)*a9,gke=-JG(oS/10)*a9,vke={draw(e,t){const n=Ha(t*hke),r=mke*n,o=gke*n;e.moveTo(0,-n),e.lineTo(r,o);for(let i=1;i<5;++i){const a=oS*i/5,s=JG(a),l=Qx(a);e.lineTo(l*n,-s*n),e.lineTo(s*r-l*o,l*r+s*o)}e.closePath()}},pE=Ha(3),yke={draw(e,t){const n=-Ha(t/(pE*3));e.moveTo(0,n*2),e.lineTo(-pE*n,-n),e.lineTo(pE*n,-n),e.closePath()}},wi=-.5,Ci=Ha(3)/2,ok=1/Ha(12),bke=(ok/2+1)*3,xke={draw(e,t){const n=Ha(t/bke),r=n/2,o=n*ok,i=r,a=n*ok+n,s=-i,l=a;e.moveTo(r,o),e.lineTo(i,a),e.lineTo(s,l),e.lineTo(wi*r-Ci*o,Ci*r+wi*o),e.lineTo(wi*i-Ci*a,Ci*i+wi*a),e.lineTo(wi*s-Ci*l,Ci*s+wi*l),e.lineTo(wi*r+Ci*o,wi*o-Ci*r),e.lineTo(wi*i+Ci*a,wi*a-Ci*i),e.lineTo(wi*s+Ci*l,wi*l-Ci*s),e.closePath()}};function wke(e,t){let n=null,r=eR(o);e=typeof e=="function"?e:yn(e||nR),t=typeof t=="function"?t:yn(t===void 0?64:+t);function o(){let i;if(n||(n=i=r()),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),i)return n=null,i+""||null}return o.type=function(i){return arguments.length?(e=typeof i=="function"?i:yn(i),o):e},o.size=function(i){return arguments.length?(t=typeof i=="function"?i:yn(+i),o):t},o.context=function(i){return arguments.length?(n=i??null,o):n},o}function Jx(){}function Zx(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function s9(e){this._context=e}s9.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:Zx(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),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;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:Zx(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Cke(e){return new s9(e)}function l9(e){this._context=e}l9.prototype={areaStart:Jx,areaEnd:Jx,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:Zx(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Ske(e){return new l9(e)}function c9(e){this._context=e}c9.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:Zx(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Pke(e){return new c9(e)}function u9(e){this._context=e}u9.prototype={areaStart:Jx,areaEnd:Jx,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function Eke(e){return new u9(e)}function Yj(e){return e<0?-1:1}function Qj(e,t,n){var r=e._x1-e._x0,o=t-e._x1,i=(e._y1-e._y0)/(r||o<0&&-0),a=(n-e._y1)/(o||r<0&&-0),s=(i*o+a*r)/(r+o);return(Yj(i)+Yj(a))*Math.min(Math.abs(i),Math.abs(a),.5*Math.abs(s))||0}function Xj(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function hE(e,t,n){var r=e._x0,o=e._y0,i=e._x1,a=e._y1,s=(i-r)/3;e._context.bezierCurveTo(r+s,o+s*t,i-s,a-s*n,i,a)}function ew(e){this._context=e}ew.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:hE(this,this._t0,Xj(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(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;break;case 2:this._point=3,hE(this,Xj(this,n=Qj(this,e,t)),n);break;default:hE(this,this._t0,n=Qj(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}};function d9(e){this._context=new f9(e)}(d9.prototype=Object.create(ew.prototype)).point=function(e,t){ew.prototype.point.call(this,t,e)};function f9(e){this._context=e}f9.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,n,r,o,i){this._context.bezierCurveTo(t,e,r,n,i,o)}};function Oke(e){return new ew(e)}function Tke(e){return new d9(e)}function p9(e){this._context=e}p9.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,n=e.length;if(n)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),n===2)this._context.lineTo(e[1],t[1]);else for(var r=Jj(e),o=Jj(t),i=0,a=1;a=0;--t)o[t]=(a[t]-o[t+1])/i[t];for(i[n-1]=(e[n]+o[n-1])/2,t=0;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)}break}}this._x=e,this._y=t}};function Ike(e){return new aS(e,.5)}function $ke(e){return new aS(e,0)}function Mke(e){return new aS(e,1)}function Tp(e,t){if((a=e.length)>1)for(var n=1,r,o,i=e[t[0]],a,s=i.length;n=0;)n[t]=t;return n}function Ake(e,t){return e[t]}function Rke(e){const t=[];return t.key=e,t}function _ke(){var e=yn([]),t=ik,n=Tp,r=Ake;function o(i){var a=Array.from(e.apply(this,arguments),Rke),s,l=a.length,c=-1,u;for(const d of i)for(s=0,++c;s0){for(var n,r,o=0,i=e[0].length,a;o0){for(var n=0,r=e[t[0]],o,i=r.length;n0)||!((i=(o=e[t[0]]).length)>0))){for(var n=0,r=1,o,i,a;r=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Hke(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}var h9={symbolCircle:nR,symbolCross:uke,symbolDiamond:fke,symbolSquare:pke,symbolStar:vke,symbolTriangle:yke,symbolWye:xke},Uke=Math.PI/180,Wke=function(t){var n="symbol".concat(rS(t));return h9[n]||nR},Gke=function(t,n,r){if(n==="area")return t;switch(r){case"cross":return 5*t*t/9;case"diamond":return .5*t*t/Math.sqrt(3);case"square":return t*t;case"star":{var o=18*Uke;return 1.25*t*t*(Math.tan(o)-Math.tan(o*2)*Math.pow(Math.tan(o),2))}case"triangle":return Math.sqrt(3)*t*t/4;case"wye":return(21-10*Math.sqrt(3))*t*t/8;default:return Math.PI*t*t/4}},qke=function(t,n){h9["symbol".concat(rS(t))]=n},sS=function(t){var n=t.type,r=n===void 0?"circle":n,o=t.size,i=o===void 0?64:o,a=t.sizeType,s=a===void 0?"area":a,l=Vke(t,jke),c=eF(eF({},l),{},{type:r,size:i,sizeType:s}),u=function(){var v=Wke(r),b=wke().type(v).size(Gke(i,s,r));return b()},d=c.className,f=c.cx,p=c.cy,h=ot(c,!0);return f===+f&&p===+p&&i===+i?V.createElement("path",ak({},h,{className:Q("recharts-symbols",d),transform:"translate(".concat(f,", ").concat(p,")"),d:u()})):null};sS.registerSymbol=qke;function kp(e){"@babel/helpers - typeof";return kp=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},kp(e)}function sk(){return sk=Object.assign?Object.assign.bind():function(e){for(var t=1;t{const{ownerState:n}=e;return[t.root,t[n.variant],n.animation!==!1&&t[n.animation],n.hasChildren&&t.withChildren,n.hasChildren&&!n.width&&t.fitContent,n.hasChildren&&!n.height&&t.heightAuto]}})(Ze(({theme:e})=>{const t=Gwe(e.shape.borderRadius)||"px",n=qwe(e.shape.borderRadius);return{display:"block",backgroundColor:e.vars?e.vars.palette.Skeleton.bg:mt(e.palette.text.primary,e.palette.mode==="light"?.11:.13),height:"1.2em",variants:[{props:{variant:"text"},style:{marginTop:0,marginBottom:0,height:"auto",transformOrigin:"0 55%",transform:"scale(1, 0.60)",borderRadius:`${n}${t}/${Math.round(n/.6*10)/10}${t}`,"&:empty:before":{content:'"\\00a0"'}}},{props:{variant:"circular"},style:{borderRadius:"50%"}},{props:{variant:"rounded"},style:{borderRadius:(e.vars||e).shape.borderRadius}},{props:({ownerState:r})=>r.hasChildren,style:{"& > *":{visibility:"hidden"}}},{props:({ownerState:r})=>r.hasChildren&&!r.width,style:{maxWidth:"fit-content"}},{props:({ownerState:r})=>r.hasChildren&&!r.height,style:{height:"auto"}},{props:{animation:"pulse"},style:qMe||{animation:`${x_} 2s ease-in-out 0.5s infinite`}},{props:{animation:"wave"},style:{position:"relative",overflow:"hidden",WebkitMaskImage:"-webkit-radial-gradient(white, black)","&::after":{background:`linear-gradient( + 90deg, + transparent, + ${(e.vars||e).palette.action.hover}, + transparent + )`,content:'""',position:"absolute",transform:"translateX(-100%)",bottom:0,left:0,right:0,top:0}}},{props:{animation:"wave"},style:KMe||{"&::after":{animation:`${S_} 2s linear 0.5s infinite`}}}]}})),BP=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiSkeleton"}),{animation:o="pulse",className:i,component:a="span",height:s,style:l,variant:c="text",width:u,...d}=r,f={...r,animation:o,component:a,variant:c,hasChildren:!!d.children},p=GMe(f);return $.jsx(YMe,{as:a,ref:n,className:de(p.root,i),ownerState:f,...d,style:{width:u,height:s,...l}})});function XMe(e={}){const{autoHideDuration:t=null,disableWindowBlurListener:n=!1,onClose:r,open:o,resumeHideDuration:i}=e,a=tf();y.useEffect(()=>{if(!o)return;function w(x){x.defaultPrevented||x.key==="Escape"&&(r==null||r(x,"escapeKeyDown"))}return document.addEventListener("keydown",w),()=>{document.removeEventListener("keydown",w)}},[o,r]);const s=Go((w,x)=>{r==null||r(w,x)}),l=Go(w=>{!r||w==null||a.start(w,()=>{s(null,"timeout")})});y.useEffect(()=>(o&&l(t),a.clear),[o,t,l,a]);const c=w=>{r==null||r(w,"clickaway")},u=a.clear,d=y.useCallback(()=>{t!=null&&l(i??t*.5)},[t,i,l]),f=w=>x=>{const S=w.onBlur;S==null||S(x),d()},p=w=>x=>{const S=w.onFocus;S==null||S(x),u()},m=w=>x=>{const S=w.onMouseEnter;S==null||S(x),u()},g=w=>x=>{const S=w.onMouseLeave;S==null||S(x),d()};return y.useEffect(()=>{if(!n&&o)return window.addEventListener("focus",d),window.addEventListener("blur",u),()=>{window.removeEventListener("focus",d),window.removeEventListener("blur",u)}},[n,o,d,u]),{getRootProps:(w={})=>{const x={...cT(e),...cT(w)};return{role:"presentation",...w,...x,onBlur:f(x),onFocus:p(x),onMouseEnter:m(x),onMouseLeave:g(x)}},onClickAway:c}}function QMe(e){return tt("MuiSnackbarContent",e)}ot("MuiSnackbarContent",["root","message","action"]);const JMe=e=>{const{classes:t}=e;return rt({root:["root"],action:["action"],message:["message"]},QMe,t)},ZMe=oe(uo,{name:"MuiSnackbarContent",slot:"Root",overridesResolver:(e,t)=>t.root})(Ze(({theme:e})=>{const t=e.palette.mode==="light"?.8:.98,n=fX(e.palette.background.default,t);return{...e.typography.body2,color:e.vars?e.vars.palette.SnackbarContent.color:e.palette.getContrastText(n),backgroundColor:e.vars?e.vars.palette.SnackbarContent.bg:n,display:"flex",alignItems:"center",flexWrap:"wrap",padding:"6px 16px",borderRadius:(e.vars||e).shape.borderRadius,flexGrow:1,[e.breakpoints.up("sm")]:{flexGrow:"initial",minWidth:288}}})),eAe=oe("div",{name:"MuiSnackbarContent",slot:"Message",overridesResolver:(e,t)=>t.message})({padding:"8px 0"}),tAe=oe("div",{name:"MuiSnackbarContent",slot:"Action",overridesResolver:(e,t)=>t.action})({display:"flex",alignItems:"center",marginLeft:"auto",paddingLeft:16,marginRight:-8}),nAe=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiSnackbarContent"}),{action:o,className:i,message:a,role:s="alert",...l}=r,c=r,u=JMe(c);return $.jsxs(ZMe,{role:s,square:!0,elevation:6,className:de(u.root,i),ownerState:c,ref:n,...l,children:[$.jsx(eAe,{className:u.message,ownerState:c,children:a}),o?$.jsx(tAe,{className:u.action,ownerState:c,children:o}):null]})});function rAe(e){return tt("MuiSnackbar",e)}ot("MuiSnackbar",["root","anchorOriginTopCenter","anchorOriginBottomCenter","anchorOriginTopRight","anchorOriginBottomRight","anchorOriginTopLeft","anchorOriginBottomLeft"]);const oAe=e=>{const{classes:t,anchorOrigin:n}=e,r={root:["root",`anchorOrigin${Ce(n.vertical)}${Ce(n.horizontal)}`]};return rt(r,rAe,t)},mU=oe("div",{name:"MuiSnackbar",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[`anchorOrigin${Ce(n.anchorOrigin.vertical)}${Ce(n.anchorOrigin.horizontal)}`]]}})(Ze(({theme:e})=>({zIndex:(e.vars||e).zIndex.snackbar,position:"fixed",display:"flex",left:8,right:8,justifyContent:"center",alignItems:"center",variants:[{props:({ownerState:t})=>t.anchorOrigin.vertical==="top",style:{top:8,[e.breakpoints.up("sm")]:{top:24}}},{props:({ownerState:t})=>t.anchorOrigin.vertical!=="top",style:{bottom:8,[e.breakpoints.up("sm")]:{bottom:24}}},{props:({ownerState:t})=>t.anchorOrigin.horizontal==="left",style:{justifyContent:"flex-start",[e.breakpoints.up("sm")]:{left:24,right:"auto"}}},{props:({ownerState:t})=>t.anchorOrigin.horizontal==="right",style:{justifyContent:"flex-end",[e.breakpoints.up("sm")]:{right:24,left:"auto"}}},{props:({ownerState:t})=>t.anchorOrigin.horizontal==="center",style:{[e.breakpoints.up("sm")]:{left:"50%",right:"auto",transform:"translateX(-50%)"}}}]}))),_Z=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiSnackbar"}),o=Ei(),i={enter:o.transitions.duration.enteringScreen,exit:o.transitions.duration.leavingScreen},{action:a,anchorOrigin:{vertical:s,horizontal:l}={vertical:"bottom",horizontal:"left"},autoHideDuration:c=null,children:u,className:d,ClickAwayListenerProps:f,ContentProps:p,disableWindowBlurListener:m=!1,message:g,onBlur:v,onClose:w,onFocus:x,onMouseEnter:S,onMouseLeave:P,open:T,resumeHideDuration:E,TransitionComponent:O=kf,transitionDuration:k=i,TransitionProps:{onEnter:A,onExited:I,...R}={},...N}=r,L={...r,anchorOrigin:{vertical:s,horizontal:l},autoHideDuration:c,disableWindowBlurListener:m,TransitionComponent:O,transitionDuration:k},j=oAe(L),{getRootProps:_,onClickAway:D}=XMe({...L}),[z,F]=y.useState(!0),H=Bc({elementType:mU,getSlotProps:_,externalForwardedProps:N,ownerState:L,additionalProps:{ref:n},className:[j.root,d]}),U=X=>{F(!0),I&&I(X)},q=(X,ae)=>{F(!1),A&&A(X,ae)};return!T&&z?null:$.jsx(qF,{onClickAway:D,...f,children:$.jsx(mU,{...H,children:$.jsx(O,{appear:!0,in:T,timeout:k,direction:s==="top"?"down":"up",onEnter:q,onExited:U,...R,children:u||$.jsx(nAe,{message:g,action:a,...p})})})})});function iAe(e){return tt("MuiTooltip",e)}const zr=ot("MuiTooltip",["popper","popperInteractive","popperArrow","popperClose","tooltip","tooltipArrow","touch","tooltipPlacementLeft","tooltipPlacementRight","tooltipPlacementTop","tooltipPlacementBottom","arrow"]);function aAe(e){return Math.round(e*1e5)/1e5}const sAe=e=>{const{classes:t,disableInteractive:n,arrow:r,touch:o,placement:i}=e,a={popper:["popper",!n&&"popperInteractive",r&&"popperArrow"],tooltip:["tooltip",r&&"tooltipArrow",o&&"touch",`tooltipPlacement${Ce(i.split("-")[0])}`],arrow:["arrow"]};return rt(a,iAe,t)},lAe=oe(Hf,{name:"MuiTooltip",slot:"Popper",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.popper,!n.disableInteractive&&t.popperInteractive,n.arrow&&t.popperArrow,!n.open&&t.popperClose]}})(Ze(({theme:e})=>({zIndex:(e.vars||e).zIndex.tooltip,pointerEvents:"none",variants:[{props:({ownerState:t})=>!t.disableInteractive,style:{pointerEvents:"auto"}},{props:({open:t})=>!t,style:{pointerEvents:"none"}},{props:({ownerState:t})=>t.arrow,style:{[`&[data-popper-placement*="bottom"] .${zr.arrow}`]:{top:0,marginTop:"-0.71em","&::before":{transformOrigin:"0 100%"}},[`&[data-popper-placement*="top"] .${zr.arrow}`]:{bottom:0,marginBottom:"-0.71em","&::before":{transformOrigin:"100% 0"}},[`&[data-popper-placement*="right"] .${zr.arrow}`]:{height:"1em",width:"0.71em","&::before":{transformOrigin:"100% 100%"}},[`&[data-popper-placement*="left"] .${zr.arrow}`]:{height:"1em",width:"0.71em","&::before":{transformOrigin:"0 0"}}}},{props:({ownerState:t})=>t.arrow&&!t.isRtl,style:{[`&[data-popper-placement*="right"] .${zr.arrow}`]:{left:0,marginLeft:"-0.71em"}}},{props:({ownerState:t})=>t.arrow&&!!t.isRtl,style:{[`&[data-popper-placement*="right"] .${zr.arrow}`]:{right:0,marginRight:"-0.71em"}}},{props:({ownerState:t})=>t.arrow&&!t.isRtl,style:{[`&[data-popper-placement*="left"] .${zr.arrow}`]:{right:0,marginRight:"-0.71em"}}},{props:({ownerState:t})=>t.arrow&&!!t.isRtl,style:{[`&[data-popper-placement*="left"] .${zr.arrow}`]:{left:0,marginLeft:"-0.71em"}}}]}))),cAe=oe("div",{name:"MuiTooltip",slot:"Tooltip",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.tooltip,n.touch&&t.touch,n.arrow&&t.tooltipArrow,t[`tooltipPlacement${Ce(n.placement.split("-")[0])}`]]}})(Ze(({theme:e})=>({backgroundColor:e.vars?e.vars.palette.Tooltip.bg:mt(e.palette.grey[700],.92),borderRadius:(e.vars||e).shape.borderRadius,color:(e.vars||e).palette.common.white,fontFamily:e.typography.fontFamily,padding:"4px 8px",fontSize:e.typography.pxToRem(11),maxWidth:300,margin:2,wordWrap:"break-word",fontWeight:e.typography.fontWeightMedium,[`.${zr.popper}[data-popper-placement*="left"] &`]:{transformOrigin:"right center"},[`.${zr.popper}[data-popper-placement*="right"] &`]:{transformOrigin:"left center"},[`.${zr.popper}[data-popper-placement*="top"] &`]:{transformOrigin:"center bottom",marginBottom:"14px"},[`.${zr.popper}[data-popper-placement*="bottom"] &`]:{transformOrigin:"center top",marginTop:"14px"},variants:[{props:({ownerState:t})=>t.arrow,style:{position:"relative",margin:0}},{props:({ownerState:t})=>t.touch,style:{padding:"8px 16px",fontSize:e.typography.pxToRem(14),lineHeight:`${aAe(16/14)}em`,fontWeight:e.typography.fontWeightRegular}},{props:({ownerState:t})=>!t.isRtl,style:{[`.${zr.popper}[data-popper-placement*="left"] &`]:{marginRight:"14px"},[`.${zr.popper}[data-popper-placement*="right"] &`]:{marginLeft:"14px"}}},{props:({ownerState:t})=>!t.isRtl&&t.touch,style:{[`.${zr.popper}[data-popper-placement*="left"] &`]:{marginRight:"24px"},[`.${zr.popper}[data-popper-placement*="right"] &`]:{marginLeft:"24px"}}},{props:({ownerState:t})=>!!t.isRtl,style:{[`.${zr.popper}[data-popper-placement*="left"] &`]:{marginLeft:"14px"},[`.${zr.popper}[data-popper-placement*="right"] &`]:{marginRight:"14px"}}},{props:({ownerState:t})=>!!t.isRtl&&t.touch,style:{[`.${zr.popper}[data-popper-placement*="left"] &`]:{marginLeft:"24px"},[`.${zr.popper}[data-popper-placement*="right"] &`]:{marginRight:"24px"}}},{props:({ownerState:t})=>t.touch,style:{[`.${zr.popper}[data-popper-placement*="top"] &`]:{marginBottom:"24px"}}},{props:({ownerState:t})=>t.touch,style:{[`.${zr.popper}[data-popper-placement*="bottom"] &`]:{marginTop:"24px"}}}]}))),uAe=oe("span",{name:"MuiTooltip",slot:"Arrow",overridesResolver:(e,t)=>t.arrow})(Ze(({theme:e})=>({overflow:"hidden",position:"absolute",width:"1em",height:"0.71em",boxSizing:"border-box",color:e.vars?e.vars.palette.Tooltip.bg:mt(e.palette.grey[700],.9),"&::before":{content:'""',margin:"auto",display:"block",width:"100%",height:"100%",backgroundColor:"currentColor",transform:"rotate(45deg)"}})));let LC=!1;const gU=new hX;let l0={x:0,y:0};function FC(e,t){return(n,...r)=>{t&&t(n,...r),e(n,...r)}}const ac=y.forwardRef(function(t,n){var Kr,Ii,ys;const r=it({props:t,name:"MuiTooltip"}),{arrow:o=!1,children:i,classes:a,components:s={},componentsProps:l={},describeChild:c=!1,disableFocusListener:u=!1,disableHoverListener:d=!1,disableInteractive:f=!1,disableTouchListener:p=!1,enterDelay:m=100,enterNextDelay:g=0,enterTouchDelay:v=700,followCursor:w=!1,id:x,leaveDelay:S=0,leaveTouchDelay:P=1500,onClose:T,onOpen:E,open:O,placement:k="bottom",PopperComponent:A,PopperProps:I={},slotProps:R={},slots:N={},title:L,TransitionComponent:j=kf,TransitionProps:_,...D}=r,z=y.isValidElement(i)?i:$.jsx("span",{children:i}),F=Ei(),H=nr(),[U,q]=y.useState(),[X,ae]=y.useState(null),Z=y.useRef(!1),K=f||w,te=tf(),pe=tf(),ie=tf(),le=tf(),[re,fe]=ku({controlled:O,default:!1,name:"Tooltip",state:"open"});let ee=re;const ce=wh(x),me=y.useRef(),we=Go(()=>{me.current!==void 0&&(document.body.style.WebkitUserSelect=me.current,me.current=void 0),le.clear()});y.useEffect(()=>we,[we]);const ge=Wt=>{gU.clear(),LC=!0,fe(!0),E&&!ee&&E(Wt)},Se=Go(Wt=>{gU.start(800+S,()=>{LC=!1}),fe(!1),T&&ee&&T(Wt),te.start(F.transitions.duration.shortest,()=>{Z.current=!1})}),xe=Wt=>{Z.current&&Wt.type!=="touchstart"||(U&&U.removeAttribute("title"),pe.clear(),ie.clear(),m||LC&&g?pe.start(LC?g:m,()=>{ge(Wt)}):ge(Wt))},Ie=Wt=>{pe.clear(),ie.start(S,()=>{Se(Wt)})},[,Re]=y.useState(!1),_e=Wt=>{lT(Wt.target)||(Re(!1),Ie(Wt))},ye=Wt=>{U||q(Wt.currentTarget),lT(Wt.target)&&(Re(!0),xe(Wt))},Te=Wt=>{Z.current=!0;const Xo=z.props;Xo.onTouchStart&&Xo.onTouchStart(Wt)},Oe=Wt=>{Te(Wt),ie.clear(),te.clear(),we(),me.current=document.body.style.WebkitUserSelect,document.body.style.WebkitUserSelect="none",le.start(v,()=>{document.body.style.WebkitUserSelect=me.current,xe(Wt)})},Me=Wt=>{z.props.onTouchEnd&&z.props.onTouchEnd(Wt),we(),ie.start(P,()=>{Se(Wt)})};y.useEffect(()=>{if(!ee)return;function Wt(Xo){Xo.key==="Escape"&&Se(Xo)}return document.addEventListener("keydown",Wt),()=>{document.removeEventListener("keydown",Wt)}},[Se,ee]);const We=Cr(Lf(z),q,n);!L&&L!==0&&(ee=!1);const Ve=y.useRef(),Qe=Wt=>{const Xo=z.props;Xo.onMouseMove&&Xo.onMouseMove(Wt),l0={x:Wt.clientX,y:Wt.clientY},Ve.current&&Ve.current.update()},ut={},nt=typeof L=="string";c?(ut.title=!ee&&nt&&!d?L:null,ut["aria-describedby"]=ee?ce:null):(ut["aria-label"]=nt?L:null,ut["aria-labelledby"]=ee&&!nt?ce:null);const et={...ut,...D,...z.props,className:de(D.className,z.props.className),onTouchStart:Te,ref:We,...w?{onMouseMove:Qe}:{}},yt={};p||(et.onTouchStart=Oe,et.onTouchEnd=Me),d||(et.onMouseOver=FC(xe,et.onMouseOver),et.onMouseLeave=FC(Ie,et.onMouseLeave),K||(yt.onMouseOver=xe,yt.onMouseLeave=Ie)),u||(et.onFocus=FC(ye,et.onFocus),et.onBlur=FC(_e,et.onBlur),K||(yt.onFocus=ye,yt.onBlur=_e));const wn=y.useMemo(()=>{var Xo;let Wt=[{name:"arrow",enabled:!!X,options:{element:X,padding:4}}];return(Xo=I.popperOptions)!=null&&Xo.modifiers&&(Wt=Wt.concat(I.popperOptions.modifiers)),{...I.popperOptions,modifiers:Wt}},[X,I]),Ke={...r,isRtl:H,arrow:o,disableInteractive:K,placement:k,PopperComponentProp:A,touch:Z.current},$e=sAe(Ke),Xe=N.popper??s.Popper??lAe,bt=N.transition??s.Transition??j??kf,Vt=N.tooltip??s.Tooltip??cAe,Ot=N.arrow??s.Arrow??uAe,un=bg(Xe,{...I,...R.popper??l.popper,className:de($e.popper,I==null?void 0:I.className,(Kr=R.popper??l.popper)==null?void 0:Kr.className)},Ke),jn=bg(bt,{..._,...R.transition??l.transition},Ke),Wn=bg(Vt,{...R.tooltip??l.tooltip,className:de($e.tooltip,(Ii=R.tooltip??l.tooltip)==null?void 0:Ii.className)},Ke),Eo=bg(Ot,{...R.arrow??l.arrow,className:de($e.arrow,(ys=R.arrow??l.arrow)==null?void 0:ys.className)},Ke);return $.jsxs(y.Fragment,{children:[y.cloneElement(z,et),$.jsx(Xe,{as:A??Hf,placement:k,anchorEl:w?{getBoundingClientRect:()=>({top:l0.y,left:l0.x,right:l0.x,bottom:l0.y,width:0,height:0})}:U,popperRef:Ve,open:U?ee:!1,id:ce,transition:!0,...yt,...un,popperOptions:wn,children:({TransitionProps:Wt})=>$.jsx(bt,{timeout:F.transitions.duration.shorter,...Wt,...jn,children:$.jsxs(Vt,{...Wn,children:[L,o?$.jsx(Ot,{...Eo,ref:ae}):null]})})})]})}),Gt=gwe({createStyledComponent:oe("div",{name:"MuiStack",slot:"Root",overridesResolver:(e,t)=>t.root}),useThemeProps:e=>it({props:e,name:"MuiStack"})}),MS=y.createContext({}),jI=y.createContext({});function dAe(e){return tt("MuiStep",e)}ot("MuiStep",["root","horizontal","vertical","alternativeLabel","completed"]);const fAe=e=>{const{classes:t,orientation:n,alternativeLabel:r,completed:o}=e;return rt({root:["root",n,r&&"alternativeLabel",o&&"completed"]},dAe,t)},pAe=oe("div",{name:"MuiStep",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.orientation],n.alternativeLabel&&t.alternativeLabel,n.completed&&t.completed]}})({variants:[{props:{orientation:"horizontal"},style:{paddingLeft:8,paddingRight:8}},{props:{alternativeLabel:!0},style:{flex:1,position:"relative"}}]}),Wm=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiStep"}),{active:o,children:i,className:a,component:s="div",completed:l,disabled:c,expanded:u=!1,index:d,last:f,...p}=r,{activeStep:m,connector:g,alternativeLabel:v,orientation:w,nonLinear:x}=y.useContext(MS);let[S=!1,P=!1,T=!1]=[o,l,c];m===d?S=o!==void 0?o:!0:!x&&m>d?P=l!==void 0?l:!0:!x&&m({index:d,last:f,expanded:u,icon:d+1,active:S,completed:P,disabled:T}),[d,f,u,S,P,T]),O={...r,active:S,orientation:w,alternativeLabel:v,completed:P,disabled:T,expanded:u,component:s},k=fAe(O),A=$.jsxs(pAe,{as:s,className:de(k.root,a),ref:n,ownerState:O,...p,children:[g&&v&&d!==0?g:null,i]});return $.jsx(jI.Provider,{value:E,children:g&&!v&&d!==0?$.jsxs(y.Fragment,{children:[g,A]}):A})}),hAe=lt($.jsx("path",{d:"M12 0a12 12 0 1 0 0 24 12 12 0 0 0 0-24zm-2 17l-5-5 1.4-1.4 3.6 3.6 7.6-7.6L19 8l-9 9z"}),"CheckCircle"),mAe=lt($.jsx("path",{d:"M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"}),"Warning");function gAe(e){return tt("MuiStepIcon",e)}const E$=ot("MuiStepIcon",["root","active","completed","error","text"]);var yU;const yAe=e=>{const{classes:t,active:n,completed:r,error:o}=e;return rt({root:["root",n&&"active",r&&"completed",o&&"error"],text:["text"]},gAe,t)},O$=oe(jw,{name:"MuiStepIcon",slot:"Root",overridesResolver:(e,t)=>t.root})(Ze(({theme:e})=>({display:"block",transition:e.transitions.create("color",{duration:e.transitions.duration.shortest}),color:(e.vars||e).palette.text.disabled,[`&.${E$.completed}`]:{color:(e.vars||e).palette.primary.main},[`&.${E$.active}`]:{color:(e.vars||e).palette.primary.main},[`&.${E$.error}`]:{color:(e.vars||e).palette.error.main}}))),vAe=oe("text",{name:"MuiStepIcon",slot:"Text",overridesResolver:(e,t)=>t.text})(Ze(({theme:e})=>({fill:(e.vars||e).palette.primary.contrastText,fontSize:e.typography.caption.fontSize,fontFamily:e.typography.fontFamily}))),bAe=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiStepIcon"}),{active:o=!1,className:i,completed:a=!1,error:s=!1,icon:l,...c}=r,u={...r,active:o,completed:a,error:s},d=yAe(u);if(typeof l=="number"||typeof l=="string"){const f=de(i,d.root);return s?$.jsx(O$,{as:mAe,className:f,ref:n,ownerState:u,...c}):a?$.jsx(O$,{as:hAe,className:f,ref:n,ownerState:u,...c}):$.jsxs(O$,{className:f,ref:n,ownerState:u,...c,children:[yU||(yU=$.jsx("circle",{cx:"12",cy:"12",r:"12"})),$.jsx(vAe,{className:d.text,x:"12",y:"12",textAnchor:"middle",dominantBaseline:"central",ownerState:u,children:l})]})}return l});function wAe(e){return tt("MuiStepLabel",e)}const of=ot("MuiStepLabel",["root","horizontal","vertical","label","active","completed","error","disabled","iconContainer","alternativeLabel","labelContainer"]),xAe=e=>{const{classes:t,orientation:n,active:r,completed:o,error:i,disabled:a,alternativeLabel:s}=e;return rt({root:["root",n,i&&"error",a&&"disabled",s&&"alternativeLabel"],label:["label",r&&"active",o&&"completed",i&&"error",a&&"disabled",s&&"alternativeLabel"],iconContainer:["iconContainer",r&&"active",o&&"completed",i&&"error",a&&"disabled",s&&"alternativeLabel"],labelContainer:["labelContainer",s&&"alternativeLabel"]},wAe,t)},SAe=oe("span",{name:"MuiStepLabel",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.orientation]]}})({display:"flex",alignItems:"center",[`&.${of.alternativeLabel}`]:{flexDirection:"column"},[`&.${of.disabled}`]:{cursor:"default"},variants:[{props:{orientation:"vertical"},style:{textAlign:"left",padding:"8px 0"}}]}),CAe=oe("span",{name:"MuiStepLabel",slot:"Label",overridesResolver:(e,t)=>t.label})(Ze(({theme:e})=>({...e.typography.body2,display:"block",transition:e.transitions.create("color",{duration:e.transitions.duration.shortest}),[`&.${of.active}`]:{color:(e.vars||e).palette.text.primary,fontWeight:500},[`&.${of.completed}`]:{color:(e.vars||e).palette.text.primary,fontWeight:500},[`&.${of.alternativeLabel}`]:{marginTop:16},[`&.${of.error}`]:{color:(e.vars||e).palette.error.main}}))),PAe=oe("span",{name:"MuiStepLabel",slot:"IconContainer",overridesResolver:(e,t)=>t.iconContainer})({flexShrink:0,display:"flex",paddingRight:8,[`&.${of.alternativeLabel}`]:{paddingRight:0}}),TAe=oe("span",{name:"MuiStepLabel",slot:"LabelContainer",overridesResolver:(e,t)=>t.labelContainer})(Ze(({theme:e})=>({width:"100%",color:(e.vars||e).palette.text.secondary,[`&.${of.alternativeLabel}`]:{textAlign:"center"}}))),Nd=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiStepLabel"}),{children:o,className:i,componentsProps:a={},error:s=!1,icon:l,optional:c,slots:u={},slotProps:d={},StepIconComponent:f,StepIconProps:p,...m}=r,{alternativeLabel:g,orientation:v}=y.useContext(MS),{active:w,disabled:x,completed:S,icon:P}=y.useContext(jI),T=l||P;let E=f;T&&!E&&(E=bAe);const O={...r,active:w,alternativeLabel:g,completed:S,disabled:x,error:s,orientation:v},k=xAe(O),A={slots:u,slotProps:{stepIcon:p,...a,...d}},[I,R]=hr("label",{elementType:CAe,externalForwardedProps:A,ownerState:O}),[N,L]=hr("stepIcon",{elementType:E,externalForwardedProps:A,ownerState:O});return $.jsxs(SAe,{className:de(k.root,i),ref:n,ownerState:O,...m,children:[T||N?$.jsx(PAe,{className:k.iconContainer,ownerState:O,children:$.jsx(N,{completed:S,active:w,error:s,icon:T,...L})}):null,$.jsxs(TAe,{className:k.labelContainer,ownerState:O,children:[o?$.jsx(I,{...R,className:de(k.label,R==null?void 0:R.className),children:o}):null,c]})]})});Nd&&(Nd.muiName="StepLabel");function EAe(e){return tt("MuiStepConnector",e)}ot("MuiStepConnector",["root","horizontal","vertical","alternativeLabel","active","completed","disabled","line","lineHorizontal","lineVertical"]);const OAe=e=>{const{classes:t,orientation:n,alternativeLabel:r,active:o,completed:i,disabled:a}=e,s={root:["root",n,r&&"alternativeLabel",o&&"active",i&&"completed",a&&"disabled"],line:["line",`line${Ce(n)}`]};return rt(s,EAe,t)},IAe=oe("div",{name:"MuiStepConnector",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.orientation],n.alternativeLabel&&t.alternativeLabel,n.completed&&t.completed]}})({flex:"1 1 auto",variants:[{props:{orientation:"vertical"},style:{marginLeft:12}},{props:{alternativeLabel:!0},style:{position:"absolute",top:12,left:"calc(-50% + 20px)",right:"calc(50% + 20px)"}}]}),kAe=oe("span",{name:"MuiStepConnector",slot:"Line",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.line,t[`line${Ce(n.orientation)}`]]}})(Ze(({theme:e})=>{const t=e.palette.mode==="light"?e.palette.grey[400]:e.palette.grey[600];return{display:"block",borderColor:e.vars?e.vars.palette.StepConnector.border:t,variants:[{props:{orientation:"horizontal"},style:{borderTopStyle:"solid",borderTopWidth:1}},{props:{orientation:"vertical"},style:{borderLeftStyle:"solid",borderLeftWidth:1,minHeight:24}}]}})),MAe=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiStepConnector"}),{className:o,...i}=r,{alternativeLabel:a,orientation:s="horizontal"}=y.useContext(MS),{active:l,disabled:c,completed:u}=y.useContext(jI),d={...r,alternativeLabel:a,orientation:s,active:l,completed:u,disabled:c},f=OAe(d);return $.jsx(IAe,{className:de(f.root,o),ref:n,ownerState:d,...i,children:$.jsx(kAe,{className:f.line,ownerState:d})})});function AAe(e){return tt("MuiStepContent",e)}ot("MuiStepContent",["root","last","transition"]);const $Ae=e=>{const{classes:t,last:n}=e;return rt({root:["root",n&&"last"],transition:["transition"]},AAe,t)},RAe=oe("div",{name:"MuiStepContent",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.last&&t.last]}})(Ze(({theme:e})=>({marginLeft:12,paddingLeft:20,paddingRight:8,borderLeft:e.vars?`1px solid ${e.vars.palette.StepContent.border}`:`1px solid ${e.palette.mode==="light"?e.palette.grey[400]:e.palette.grey[600]}`,variants:[{props:{last:!0},style:{borderLeft:"none"}}]}))),_Ae=oe(Zs,{name:"MuiStepContent",slot:"Transition",overridesResolver:(e,t)=>t.transition})({}),Gm=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiStepContent"}),{children:o,className:i,TransitionComponent:a=Zs,transitionDuration:s="auto",TransitionProps:l,...c}=r;y.useContext(MS);const{active:u,last:d,expanded:f}=y.useContext(jI),p={...r,last:d},m=$Ae(p);let g=s;return s==="auto"&&!a.muiSupportAuto&&(g=void 0),$.jsx(RAe,{className:de(m.root,i),ref:n,ownerState:p,...c,children:$.jsx(_Ae,{as:a,in:u||f,className:m.transition,ownerState:p,timeout:g,unmountOnExit:!0,...l,children:o})})});function DAe(e){return tt("MuiStepper",e)}ot("MuiStepper",["root","horizontal","vertical","nonLinear","alternativeLabel"]);const NAe=e=>{const{orientation:t,nonLinear:n,alternativeLabel:r,classes:o}=e;return rt({root:["root",t,n&&"nonLinear",r&&"alternativeLabel"]},DAe,o)},LAe=oe("div",{name:"MuiStepper",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.orientation],n.alternativeLabel&&t.alternativeLabel,n.nonLinear&&t.nonLinear]}})({display:"flex",variants:[{props:{orientation:"horizontal"},style:{flexDirection:"row",alignItems:"center"}},{props:{orientation:"vertical"},style:{flexDirection:"column"}},{props:{alternativeLabel:!0},style:{alignItems:"flex-start"}}]}),FAe=$.jsx(MAe,{}),jAe=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiStepper"}),{activeStep:o=0,alternativeLabel:i=!1,children:a,className:s,component:l="div",connector:c=FAe,nonLinear:u=!1,orientation:d="horizontal",...f}=r,p={...r,nonLinear:u,alternativeLabel:i,orientation:d,component:l},m=NAe(p),g=y.Children.toArray(a).filter(Boolean),v=g.map((x,S)=>y.cloneElement(x,{index:S,last:S+1===g.length,...x.props})),w=y.useMemo(()=>({activeStep:o,alternativeLabel:i,connector:c,nonLinear:u,orientation:d}),[o,i,c,u,d]);return $.jsx(MS.Provider,{value:w,children:$.jsx(LAe,{as:l,ownerState:p,className:de(m.root,s),ref:n,...f,children:v})})});function BAe(e){return tt("MuiSwitch",e)}const _i=ot("MuiSwitch",["root","edgeStart","edgeEnd","switchBase","colorPrimary","colorSecondary","sizeSmall","sizeMedium","checked","disabled","input","thumb","track"]),zAe=e=>{const{classes:t,edge:n,size:r,color:o,checked:i,disabled:a}=e,s={root:["root",n&&`edge${Ce(n)}`,`size${Ce(r)}`],switchBase:["switchBase",`color${Ce(o)}`,i&&"checked",a&&"disabled"],thumb:["thumb"],track:["track"],input:["input"]},l=rt(s,BAe,t);return{...t,...l}},VAe=oe("span",{name:"MuiSwitch",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.edge&&t[`edge${Ce(n.edge)}`],t[`size${Ce(n.size)}`]]}})({display:"inline-flex",width:34+12*2,height:14+12*2,overflow:"hidden",padding:12,boxSizing:"border-box",position:"relative",flexShrink:0,zIndex:0,verticalAlign:"middle","@media print":{colorAdjust:"exact"},variants:[{props:{edge:"start"},style:{marginLeft:-8}},{props:{edge:"end"},style:{marginRight:-8}},{props:{size:"small"},style:{width:40,height:24,padding:7,[`& .${_i.thumb}`]:{width:16,height:16},[`& .${_i.switchBase}`]:{padding:4,[`&.${_i.checked}`]:{transform:"translateX(16px)"}}}}]}),HAe=oe(hZ,{name:"MuiSwitch",slot:"SwitchBase",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.switchBase,{[`& .${_i.input}`]:t.input},n.color!=="default"&&t[`color${Ce(n.color)}`]]}})(Ze(({theme:e})=>({position:"absolute",top:0,left:0,zIndex:1,color:e.vars?e.vars.palette.Switch.defaultColor:`${e.palette.mode==="light"?e.palette.common.white:e.palette.grey[300]}`,transition:e.transitions.create(["left","transform"],{duration:e.transitions.duration.shortest}),[`&.${_i.checked}`]:{transform:"translateX(20px)"},[`&.${_i.disabled}`]:{color:e.vars?e.vars.palette.Switch.defaultDisabledColor:`${e.palette.mode==="light"?e.palette.grey[100]:e.palette.grey[600]}`},[`&.${_i.checked} + .${_i.track}`]:{opacity:.5},[`&.${_i.disabled} + .${_i.track}`]:{opacity:e.vars?e.vars.opacity.switchTrackDisabled:`${e.palette.mode==="light"?.12:.2}`},[`& .${_i.input}`]:{left:"-100%",width:"300%"}})),Ze(({theme:e})=>({"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.action.activeChannel} / ${e.vars.palette.action.hoverOpacity})`:mt(e.palette.action.active,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},variants:[...Object.entries(e.palette).filter(zn(["light"])).map(([t])=>({props:{color:t},style:{[`&.${_i.checked}`]:{color:(e.vars||e).palette[t].main,"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette[t].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:mt(e.palette[t].main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${_i.disabled}`]:{color:e.vars?e.vars.palette.Switch[`${t}DisabledColor`]:`${e.palette.mode==="light"?Vu(e.palette[t].main,.62):zu(e.palette[t].main,.55)}`}},[`&.${_i.checked} + .${_i.track}`]:{backgroundColor:(e.vars||e).palette[t].main}}}))]}))),UAe=oe("span",{name:"MuiSwitch",slot:"Track",overridesResolver:(e,t)=>t.track})(Ze(({theme:e})=>({height:"100%",width:"100%",borderRadius:14/2,zIndex:-1,transition:e.transitions.create(["opacity","background-color"],{duration:e.transitions.duration.shortest}),backgroundColor:e.vars?e.vars.palette.common.onBackground:`${e.palette.mode==="light"?e.palette.common.black:e.palette.common.white}`,opacity:e.vars?e.vars.opacity.switchTrack:`${e.palette.mode==="light"?.38:.3}`}))),WAe=oe("span",{name:"MuiSwitch",slot:"Thumb",overridesResolver:(e,t)=>t.thumb})(Ze(({theme:e})=>({boxShadow:(e.vars||e).shadows[1],backgroundColor:"currentColor",width:20,height:20,borderRadius:"50%"}))),qf=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiSwitch"}),{className:o,color:i="primary",edge:a=!1,size:s="medium",sx:l,...c}=r,u={...r,color:i,edge:a,size:s},d=zAe(u),f=$.jsx(WAe,{className:d.thumb,ownerState:u});return $.jsxs(VAe,{className:de(d.root,o),sx:l,ownerState:u,children:[$.jsx(HAe,{type:"checkbox",icon:f,checkedIcon:f,ref:n,ownerState:u,...c,classes:{...d,root:d.switchBase}}),$.jsx(UAe,{className:d.track,ownerState:u})]})});function GAe(e){return tt("MuiTab",e)}const Os=ot("MuiTab",["root","labelIcon","textColorInherit","textColorPrimary","textColorSecondary","selected","disabled","fullWidth","wrapped","iconWrapper","icon"]),qAe=e=>{const{classes:t,textColor:n,fullWidth:r,wrapped:o,icon:i,label:a,selected:s,disabled:l}=e,c={root:["root",i&&a&&"labelIcon",`textColor${Ce(n)}`,r&&"fullWidth",o&&"wrapped",s&&"selected",l&&"disabled"],icon:["iconWrapper","icon"]};return rt(c,GAe,t)},KAe=oe(Ki,{name:"MuiTab",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.label&&n.icon&&t.labelIcon,t[`textColor${Ce(n.textColor)}`],n.fullWidth&&t.fullWidth,n.wrapped&&t.wrapped,{[`& .${Os.iconWrapper}`]:t.iconWrapper},{[`& .${Os.icon}`]:t.icon}]}})(Ze(({theme:e})=>({...e.typography.button,maxWidth:360,minWidth:90,position:"relative",minHeight:48,flexShrink:0,padding:"12px 16px",overflow:"hidden",whiteSpace:"normal",textAlign:"center",lineHeight:1.25,variants:[{props:({ownerState:t})=>t.label&&(t.iconPosition==="top"||t.iconPosition==="bottom"),style:{flexDirection:"column"}},{props:({ownerState:t})=>t.label&&t.iconPosition!=="top"&&t.iconPosition!=="bottom",style:{flexDirection:"row"}},{props:({ownerState:t})=>t.icon&&t.label,style:{minHeight:72,paddingTop:9,paddingBottom:9}},{props:({ownerState:t,iconPosition:n})=>t.icon&&t.label&&n==="top",style:{[`& > .${Os.icon}`]:{marginBottom:6}}},{props:({ownerState:t,iconPosition:n})=>t.icon&&t.label&&n==="bottom",style:{[`& > .${Os.icon}`]:{marginTop:6}}},{props:({ownerState:t,iconPosition:n})=>t.icon&&t.label&&n==="start",style:{[`& > .${Os.icon}`]:{marginRight:e.spacing(1)}}},{props:({ownerState:t,iconPosition:n})=>t.icon&&t.label&&n==="end",style:{[`& > .${Os.icon}`]:{marginLeft:e.spacing(1)}}},{props:{textColor:"inherit"},style:{color:"inherit",opacity:.6,[`&.${Os.selected}`]:{opacity:1},[`&.${Os.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity}}},{props:{textColor:"primary"},style:{color:(e.vars||e).palette.text.secondary,[`&.${Os.selected}`]:{color:(e.vars||e).palette.primary.main},[`&.${Os.disabled}`]:{color:(e.vars||e).palette.text.disabled}}},{props:{textColor:"secondary"},style:{color:(e.vars||e).palette.text.secondary,[`&.${Os.selected}`]:{color:(e.vars||e).palette.secondary.main},[`&.${Os.disabled}`]:{color:(e.vars||e).palette.text.disabled}}},{props:({ownerState:t})=>t.fullWidth,style:{flexShrink:1,flexGrow:1,flexBasis:0,maxWidth:"none"}},{props:({ownerState:t})=>t.wrapped,style:{fontSize:e.typography.pxToRem(12)}}]}))),vU=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiTab"}),{className:o,disabled:i=!1,disableFocusRipple:a=!1,fullWidth:s,icon:l,iconPosition:c="top",indicator:u,label:d,onChange:f,onClick:p,onFocus:m,selected:g,selectionFollowsFocus:v,textColor:w="inherit",value:x,wrapped:S=!1,...P}=r,T={...r,disabled:i,disableFocusRipple:a,selected:g,icon:!!l,iconPosition:c,label:!!d,fullWidth:s,textColor:w,wrapped:S},E=qAe(T),O=l&&d&&y.isValidElement(l)?y.cloneElement(l,{className:de(E.icon,l.props.className)}):l,k=I=>{!g&&f&&f(I,x),p&&p(I)},A=I=>{v&&!g&&f&&f(I,x),m&&m(I)};return $.jsxs(KAe,{focusRipple:!a,className:de(E.root,o),ref:n,role:"tab","aria-selected":g,disabled:i,onClick:k,onFocus:A,ownerState:T,tabIndex:g?0:-1,...P,children:[c==="top"||c==="start"?$.jsxs(y.Fragment,{children:[O,d]}):$.jsxs(y.Fragment,{children:[d,O]}),u]})}),DZ=y.createContext();function YAe(e){return tt("MuiTable",e)}ot("MuiTable",["root","stickyHeader"]);const XAe=e=>{const{classes:t,stickyHeader:n}=e;return rt({root:["root",n&&"stickyHeader"]},YAe,t)},QAe=oe("table",{name:"MuiTable",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.stickyHeader&&t.stickyHeader]}})(Ze(({theme:e})=>({display:"table",width:"100%",borderCollapse:"collapse",borderSpacing:0,"& caption":{...e.typography.body2,padding:e.spacing(2),color:(e.vars||e).palette.text.secondary,textAlign:"left",captionSide:"bottom"},variants:[{props:({ownerState:t})=>t.stickyHeader,style:{borderCollapse:"separate"}}]}))),bU="table",Xu=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiTable"}),{className:o,component:i=bU,padding:a="normal",size:s="medium",stickyHeader:l=!1,...c}=r,u={...r,component:i,padding:a,size:s,stickyHeader:l},d=XAe(u),f=y.useMemo(()=>({padding:a,size:s,stickyHeader:l}),[a,s,l]);return $.jsx(DZ.Provider,{value:f,children:$.jsx(QAe,{as:i,role:i===bU?null:"table",ref:n,className:de(d.root,o),ownerState:u,...c})})}),BI=y.createContext();function JAe(e){return tt("MuiTableBody",e)}ot("MuiTableBody",["root"]);const ZAe=e=>{const{classes:t}=e;return rt({root:["root"]},JAe,t)},e$e=oe("tbody",{name:"MuiTableBody",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"table-row-group"}),t$e={variant:"body"},wU="tbody",Qu=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiTableBody"}),{className:o,component:i=wU,...a}=r,s={...r,component:i},l=ZAe(s);return $.jsx(BI.Provider,{value:t$e,children:$.jsx(e$e,{className:de(l.root,o),as:i,ref:n,role:i===wU?null:"rowgroup",ownerState:s,...a})})});function n$e(e){return tt("MuiTableCell",e)}const r$e=ot("MuiTableCell",["root","head","body","footer","sizeSmall","sizeMedium","paddingCheckbox","paddingNone","alignLeft","alignCenter","alignRight","alignJustify","stickyHeader"]),o$e=e=>{const{classes:t,variant:n,align:r,padding:o,size:i,stickyHeader:a}=e,s={root:["root",n,a&&"stickyHeader",r!=="inherit"&&`align${Ce(r)}`,o!=="normal"&&`padding${Ce(o)}`,`size${Ce(i)}`]};return rt(s,n$e,t)},i$e=oe("td",{name:"MuiTableCell",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],t[`size${Ce(n.size)}`],n.padding!=="normal"&&t[`padding${Ce(n.padding)}`],n.align!=="inherit"&&t[`align${Ce(n.align)}`],n.stickyHeader&&t.stickyHeader]}})(Ze(({theme:e})=>({...e.typography.body2,display:"table-cell",verticalAlign:"inherit",borderBottom:e.vars?`1px solid ${e.vars.palette.TableCell.border}`:`1px solid + ${e.palette.mode==="light"?Vu(mt(e.palette.divider,1),.88):zu(mt(e.palette.divider,1),.68)}`,textAlign:"left",padding:16,variants:[{props:{variant:"head"},style:{color:(e.vars||e).palette.text.primary,lineHeight:e.typography.pxToRem(24),fontWeight:e.typography.fontWeightMedium}},{props:{variant:"body"},style:{color:(e.vars||e).palette.text.primary}},{props:{variant:"footer"},style:{color:(e.vars||e).palette.text.secondary,lineHeight:e.typography.pxToRem(21),fontSize:e.typography.pxToRem(12)}},{props:{size:"small"},style:{padding:"6px 16px",[`&.${r$e.paddingCheckbox}`]:{width:24,padding:"0 12px 0 16px","& > *":{padding:0}}}},{props:{padding:"checkbox"},style:{width:48,padding:"0 0 0 4px"}},{props:{padding:"none"},style:{padding:0}},{props:{align:"left"},style:{textAlign:"left"}},{props:{align:"center"},style:{textAlign:"center"}},{props:{align:"right"},style:{textAlign:"right",flexDirection:"row-reverse"}},{props:{align:"justify"},style:{textAlign:"justify"}},{props:({ownerState:t})=>t.stickyHeader,style:{position:"sticky",top:0,zIndex:2,backgroundColor:(e.vars||e).palette.background.default}}]}))),ke=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiTableCell"}),{align:o="inherit",className:i,component:a,padding:s,scope:l,size:c,sortDirection:u,variant:d,...f}=r,p=y.useContext(DZ),m=y.useContext(BI),g=m&&m.variant==="head";let v;a?v=a:v=g?"th":"td";let w=l;v==="td"?w=void 0:!w&&g&&(w="col");const x=d||m&&m.variant,S={...r,align:o,component:v,padding:s||(p&&p.padding?p.padding:"normal"),size:c||(p&&p.size?p.size:"medium"),sortDirection:u,stickyHeader:x==="head"&&p&&p.stickyHeader,variant:x},P=o$e(S);let T=null;return u&&(T=u==="asc"?"ascending":"descending"),$.jsx(i$e,{as:v,ref:n,className:de(P.root,i),"aria-sort":T,scope:w,ownerState:S,...f})});function a$e(e){return tt("MuiTableContainer",e)}ot("MuiTableContainer",["root"]);const s$e=e=>{const{classes:t}=e;return rt({root:["root"]},a$e,t)},l$e=oe("div",{name:"MuiTableContainer",slot:"Root",overridesResolver:(e,t)=>t.root})({width:"100%",overflowX:"auto"}),Ju=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiTableContainer"}),{className:o,component:i="div",...a}=r,s={...r,component:i},l=s$e(s);return $.jsx(l$e,{ref:n,as:i,className:de(l.root,o),ownerState:s,...a})});function c$e(e){return tt("MuiTableHead",e)}ot("MuiTableHead",["root"]);const u$e=e=>{const{classes:t}=e;return rt({root:["root"]},c$e,t)},d$e=oe("thead",{name:"MuiTableHead",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"table-header-group"}),f$e={variant:"head"},xU="thead",Yh=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiTableHead"}),{className:o,component:i=xU,...a}=r,s={...r,component:i},l=u$e(s);return $.jsx(BI.Provider,{value:f$e,children:$.jsx(d$e,{as:i,className:de(l.root,o),ref:n,role:i===xU?null:"rowgroup",ownerState:s,...a})})});function p$e(e){return tt("MuiToolbar",e)}ot("MuiToolbar",["root","gutters","regular","dense"]);const h$e=e=>{const{classes:t,disableGutters:n,variant:r}=e;return rt({root:["root",!n&&"gutters",r]},p$e,t)},m$e=oe("div",{name:"MuiToolbar",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,!n.disableGutters&&t.gutters,t[n.variant]]}})(Ze(({theme:e})=>({position:"relative",display:"flex",alignItems:"center",variants:[{props:({ownerState:t})=>!t.disableGutters,style:{paddingLeft:e.spacing(2),paddingRight:e.spacing(2),[e.breakpoints.up("sm")]:{paddingLeft:e.spacing(3),paddingRight:e.spacing(3)}}},{props:{variant:"dense"},style:{minHeight:48}},{props:{variant:"regular"},style:e.mixins.toolbar}]}))),NZ=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiToolbar"}),{className:o,component:i="div",disableGutters:a=!1,variant:s="regular",...l}=r,c={...r,component:i,disableGutters:a,variant:s},u=h$e(c);return $.jsx(m$e,{as:i,className:de(u.root,o),ref:n,ownerState:c,...l})}),LZ=lt($.jsx("path",{d:"M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z"}),"KeyboardArrowLeft"),FZ=lt($.jsx("path",{d:"M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"}),"KeyboardArrowRight"),g$e=y.forwardRef(function(t,n){const{backIconButtonProps:r,count:o,disabled:i=!1,getItemAriaLabel:a,nextIconButtonProps:s,onPageChange:l,page:c,rowsPerPage:u,showFirstButton:d,showLastButton:f,slots:p={},slotProps:m={},...g}=t,v=nr(),w=q=>{l(q,0)},x=q=>{l(q,c-1)},S=q=>{l(q,c+1)},P=q=>{l(q,Math.max(0,Math.ceil(o/u)-1))},T=p.firstButton??kn,E=p.lastButton??kn,O=p.nextButton??kn,k=p.previousButton??kn,A=p.firstButtonIcon??AZ,I=p.lastButtonIcon??$Z,R=p.nextButtonIcon??FZ,N=p.previousButtonIcon??LZ,L=v?E:T,j=v?O:k,_=v?k:O,D=v?T:E,z=v?m.lastButton:m.firstButton,F=v?m.nextButton:m.previousButton,H=v?m.previousButton:m.nextButton,U=v?m.firstButton:m.lastButton;return $.jsxs("div",{ref:n,...g,children:[d&&$.jsx(L,{onClick:w,disabled:i||c===0,"aria-label":a("first",c),title:a("first",c),...z,children:v?$.jsx(I,{...m.lastButtonIcon}):$.jsx(A,{...m.firstButtonIcon})}),$.jsx(j,{onClick:x,disabled:i||c===0,color:"inherit","aria-label":a("previous",c),title:a("previous",c),...F??r,children:v?$.jsx(R,{...m.nextButtonIcon}):$.jsx(N,{...m.previousButtonIcon})}),$.jsx(_,{onClick:S,disabled:i||(o!==-1?c>=Math.ceil(o/u)-1:!1),color:"inherit","aria-label":a("next",c),title:a("next",c),...H??s,children:v?$.jsx(N,{...m.previousButtonIcon}):$.jsx(R,{...m.nextButtonIcon})}),f&&$.jsx(D,{onClick:P,disabled:i||c>=Math.ceil(o/u)-1,"aria-label":a("last",c),title:a("last",c),...U,children:v?$.jsx(A,{...m.firstButtonIcon}):$.jsx(I,{...m.lastButtonIcon})})]})});function y$e(e){return tt("MuiTablePagination",e)}const ch=ot("MuiTablePagination",["root","toolbar","spacer","selectLabel","selectRoot","select","selectIcon","input","menuItem","displayedRows","actions"]);var SU;const v$e=oe(ke,{name:"MuiTablePagination",slot:"Root",overridesResolver:(e,t)=>t.root})(Ze(({theme:e})=>({overflow:"auto",color:(e.vars||e).palette.text.primary,fontSize:e.typography.pxToRem(14),"&:last-child":{padding:0}}))),b$e=oe(NZ,{name:"MuiTablePagination",slot:"Toolbar",overridesResolver:(e,t)=>({[`& .${ch.actions}`]:t.actions,...t.toolbar})})(Ze(({theme:e})=>({minHeight:52,paddingRight:2,[`${e.breakpoints.up("xs")} and (orientation: landscape)`]:{minHeight:52},[e.breakpoints.up("sm")]:{minHeight:52,paddingRight:2},[`& .${ch.actions}`]:{flexShrink:0,marginLeft:20}}))),w$e=oe("div",{name:"MuiTablePagination",slot:"Spacer",overridesResolver:(e,t)=>t.spacer})({flex:"1 1 100%"}),x$e=oe("p",{name:"MuiTablePagination",slot:"SelectLabel",overridesResolver:(e,t)=>t.selectLabel})(Ze(({theme:e})=>({...e.typography.body2,flexShrink:0}))),S$e=oe(Gf,{name:"MuiTablePagination",slot:"Select",overridesResolver:(e,t)=>({[`& .${ch.selectIcon}`]:t.selectIcon,[`& .${ch.select}`]:t.select,...t.input,...t.selectRoot})})({color:"inherit",fontSize:"inherit",flexShrink:0,marginRight:32,marginLeft:8,[`& .${ch.select}`]:{paddingLeft:8,paddingRight:24,textAlign:"right",textAlignLast:"right"}}),C$e=oe(Yt,{name:"MuiTablePagination",slot:"MenuItem",overridesResolver:(e,t)=>t.menuItem})({}),P$e=oe("p",{name:"MuiTablePagination",slot:"DisplayedRows",overridesResolver:(e,t)=>t.displayedRows})(Ze(({theme:e})=>({...e.typography.body2,flexShrink:0})));function T$e({from:e,to:t,count:n}){return`${e}–${t} of ${n!==-1?n:`more than ${t}`}`}function E$e(e){return`Go to ${e} page`}const O$e=e=>{const{classes:t}=e;return rt({root:["root"],toolbar:["toolbar"],spacer:["spacer"],selectLabel:["selectLabel"],select:["select"],input:["input"],selectIcon:["selectIcon"],menuItem:["menuItem"],displayedRows:["displayedRows"],actions:["actions"]},y$e,t)},ZF=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiTablePagination"}),{ActionsComponent:o=g$e,backIconButtonProps:i,className:a,colSpan:s,component:l=ke,count:c,disabled:u=!1,getItemAriaLabel:d=E$e,labelDisplayedRows:f=T$e,labelRowsPerPage:p="Rows per page:",nextIconButtonProps:m,onPageChange:g,onRowsPerPageChange:v,page:w,rowsPerPage:x,rowsPerPageOptions:S=[10,25,50,100],SelectProps:P={},showFirstButton:T=!1,showLastButton:E=!1,slotProps:O={},slots:k={},...A}=r,I=r,R=O$e(I),N=(O==null?void 0:O.select)??P,L=N.native?"option":C$e;let j;(l===ke||l==="td")&&(j=s||1e3);const _=wh(N.id),D=wh(N.labelId),z=()=>c===-1?(w+1)*x:x===-1?c:Math.min(c,(w+1)*x);return $.jsx(v$e,{colSpan:j,ref:n,as:l,ownerState:I,className:de(R.root,a),...A,children:$.jsxs(b$e,{className:R.toolbar,children:[$.jsx(w$e,{className:R.spacer}),S.length>1&&$.jsx(x$e,{className:R.selectLabel,id:D,children:p}),S.length>1&&$.jsx(S$e,{variant:"standard",...!N.variant&&{input:SU||(SU=$.jsx(Fv,{}))},value:x,onChange:v,id:_,labelId:D,...N,classes:{...N.classes,root:de(R.input,R.selectRoot,(N.classes||{}).root),select:de(R.select,(N.classes||{}).select),icon:de(R.selectIcon,(N.classes||{}).icon)},disabled:u,children:S.map(F=>y.createElement(L,{...!Hy(L)&&{ownerState:I},className:R.menuItem,key:F.label?F.label:F,value:F.value?F.value:F},F.label?F.label:F))}),$.jsx(P$e,{className:R.displayedRows,children:f({from:c===0?0:w*x+1,to:z(),count:c===-1?-1:c,page:w})}),$.jsx(o,{className:R.actions,backIconButtonProps:i,count:c,nextIconButtonProps:m,onPageChange:g,page:w,rowsPerPage:x,showFirstButton:T,showLastButton:E,slotProps:O.actions,slots:k.actions,getItemAriaLabel:d,disabled:u})]})})});function I$e(e){return tt("MuiTableRow",e)}const CU=ot("MuiTableRow",["root","selected","hover","head","footer"]),k$e=e=>{const{classes:t,selected:n,hover:r,head:o,footer:i}=e;return rt({root:["root",n&&"selected",r&&"hover",o&&"head",i&&"footer"]},I$e,t)},M$e=oe("tr",{name:"MuiTableRow",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.head&&t.head,n.footer&&t.footer]}})(Ze(({theme:e})=>({color:"inherit",display:"table-row",verticalAlign:"middle",outline:0,[`&.${CU.hover}:hover`]:{backgroundColor:(e.vars||e).palette.action.hover},[`&.${CU.selected}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:mt(e.palette.primary.main,e.palette.action.selectedOpacity),"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:mt(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity)}}}))),PU="tr",Qt=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiTableRow"}),{className:o,component:i=PU,hover:a=!1,selected:s=!1,...l}=r,c=y.useContext(BI),u={...r,component:i,hover:a,selected:s,head:c&&c.variant==="head",footer:c&&c.variant==="footer"},d=k$e(u);return $.jsx(M$e,{as:i,ref:n,className:de(d.root,o),role:i===PU?null:"row",ownerState:u,...l})});function A$e(e){return(1+Math.sin(Math.PI*e-Math.PI/2))/2}function $$e(e,t,n,r={},o=()=>{}){const{ease:i=A$e,duration:a=300}=r;let s=null;const l=t[e];let c=!1;const u=()=>{c=!0},d=f=>{if(c){o(new Error("Animation cancelled"));return}s===null&&(s=f);const p=Math.min(1,(f-s)/a);if(t[e]=i(p)*(n-l)+l,p>=1){requestAnimationFrame(()=>{o(null)});return}requestAnimationFrame(d)};return l===n?(o(new Error("Element already at target position")),u):(requestAnimationFrame(d),u)}const R$e={width:99,height:99,position:"absolute",top:-9999,overflow:"scroll"};function _$e(e){const{onChange:t,...n}=e,r=y.useRef(),o=y.useRef(null),i=()=>{r.current=o.current.offsetHeight-o.current.clientHeight};return rs(()=>{const a=bS(()=>{const l=r.current;i(),l!==r.current&&t(r.current)}),s=os(o.current);return s.addEventListener("resize",a),()=>{a.clear(),s.removeEventListener("resize",a)}},[t]),y.useEffect(()=>{i(),t(r.current)},[t]),$.jsx("div",{style:R$e,ref:o,...n})}function D$e(e){return tt("MuiTabScrollButton",e)}const N$e=ot("MuiTabScrollButton",["root","vertical","horizontal","disabled"]),L$e=e=>{const{classes:t,orientation:n,disabled:r}=e;return rt({root:["root",n,r&&"disabled"]},D$e,t)},F$e=oe(Ki,{name:"MuiTabScrollButton",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.orientation&&t[n.orientation]]}})({width:40,flexShrink:0,opacity:.8,[`&.${N$e.disabled}`]:{opacity:0},variants:[{props:{orientation:"vertical"},style:{width:"100%",height:40,"& svg":{transform:"var(--TabScrollButton-svgRotate)"}}}]}),j$e=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiTabScrollButton"}),{className:o,slots:i={},slotProps:a={},direction:s,orientation:l,disabled:c,...u}=r,d=nr(),f={isRtl:d,...r},p=L$e(f),m=i.StartScrollButtonIcon??LZ,g=i.EndScrollButtonIcon??FZ,v=Bc({elementType:m,externalSlotProps:a.startScrollButtonIcon,additionalProps:{fontSize:"small"},ownerState:f}),w=Bc({elementType:g,externalSlotProps:a.endScrollButtonIcon,additionalProps:{fontSize:"small"},ownerState:f});return $.jsx(F$e,{component:"div",className:de(p.root,o),ref:n,role:null,ownerState:f,tabIndex:null,...u,style:{...u.style,...l==="vertical"&&{"--TabScrollButton-svgRotate":`rotate(${d?-90:90}deg)`}},children:s==="left"?$.jsx(m,{...v}):$.jsx(g,{...w})})});function B$e(e){return tt("MuiTabs",e)}const zP=ot("MuiTabs",["root","vertical","flexContainer","flexContainerVertical","centered","scroller","fixed","scrollableX","scrollableY","hideScrollbar","scrollButtons","scrollButtonsHideMobile","indicator"]),TU=(e,t)=>e===t?e.firstChild:t&&t.nextElementSibling?t.nextElementSibling:e.firstChild,EU=(e,t)=>e===t?e.lastChild:t&&t.previousElementSibling?t.previousElementSibling:e.lastChild,jC=(e,t,n)=>{let r=!1,o=n(e,t);for(;o;){if(o===e.firstChild){if(r)return;r=!0}const i=o.disabled||o.getAttribute("aria-disabled")==="true";if(!o.hasAttribute("tabindex")||i)o=n(e,o);else{o.focus();return}}},z$e=e=>{const{vertical:t,fixed:n,hideScrollbar:r,scrollableX:o,scrollableY:i,centered:a,scrollButtonsHideMobile:s,classes:l}=e;return rt({root:["root",t&&"vertical"],scroller:["scroller",n&&"fixed",r&&"hideScrollbar",o&&"scrollableX",i&&"scrollableY"],flexContainer:["flexContainer",t&&"flexContainerVertical",a&&"centered"],indicator:["indicator"],scrollButtons:["scrollButtons",s&&"scrollButtonsHideMobile"],scrollableX:[o&&"scrollableX"],hideScrollbar:[r&&"hideScrollbar"]},B$e,l)},V$e=oe("div",{name:"MuiTabs",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[{[`& .${zP.scrollButtons}`]:t.scrollButtons},{[`& .${zP.scrollButtons}`]:n.scrollButtonsHideMobile&&t.scrollButtonsHideMobile},t.root,n.vertical&&t.vertical]}})(Ze(({theme:e})=>({overflow:"hidden",minHeight:48,WebkitOverflowScrolling:"touch",display:"flex",variants:[{props:({ownerState:t})=>t.vertical,style:{flexDirection:"column"}},{props:({ownerState:t})=>t.scrollButtonsHideMobile,style:{[`& .${zP.scrollButtons}`]:{[e.breakpoints.down("sm")]:{display:"none"}}}}]}))),H$e=oe("div",{name:"MuiTabs",slot:"Scroller",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.scroller,n.fixed&&t.fixed,n.hideScrollbar&&t.hideScrollbar,n.scrollableX&&t.scrollableX,n.scrollableY&&t.scrollableY]}})({position:"relative",display:"inline-block",flex:"1 1 auto",whiteSpace:"nowrap",variants:[{props:({ownerState:e})=>e.fixed,style:{overflowX:"hidden",width:"100%"}},{props:({ownerState:e})=>e.hideScrollbar,style:{scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}}},{props:({ownerState:e})=>e.scrollableX,style:{overflowX:"auto",overflowY:"hidden"}},{props:({ownerState:e})=>e.scrollableY,style:{overflowY:"auto",overflowX:"hidden"}}]}),U$e=oe("div",{name:"MuiTabs",slot:"FlexContainer",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.flexContainer,n.vertical&&t.flexContainerVertical,n.centered&&t.centered]}})({display:"flex",variants:[{props:({ownerState:e})=>e.vertical,style:{flexDirection:"column"}},{props:({ownerState:e})=>e.centered,style:{justifyContent:"center"}}]}),W$e=oe("span",{name:"MuiTabs",slot:"Indicator",overridesResolver:(e,t)=>t.indicator})(Ze(({theme:e})=>({position:"absolute",height:2,bottom:0,width:"100%",transition:e.transitions.create(),variants:[{props:{indicatorColor:"primary"},style:{backgroundColor:(e.vars||e).palette.primary.main}},{props:{indicatorColor:"secondary"},style:{backgroundColor:(e.vars||e).palette.secondary.main}},{props:({ownerState:t})=>t.vertical,style:{height:"100%",width:2,right:0}}]}))),G$e=oe(_$e)({overflowX:"auto",overflowY:"hidden",scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}}),OU={},q$e=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiTabs"}),o=Ei(),i=nr(),{"aria-label":a,"aria-labelledby":s,action:l,centered:c=!1,children:u,className:d,component:f="div",allowScrollButtonsMobile:p=!1,indicatorColor:m="primary",onChange:g,orientation:v="horizontal",ScrollButtonComponent:w=j$e,scrollButtons:x="auto",selectionFollowsFocus:S,slots:P={},slotProps:T={},TabIndicatorProps:E={},TabScrollButtonProps:O={},textColor:k="primary",value:A,variant:I="standard",visibleScrollbar:R=!1,...N}=r,L=I==="scrollable",j=v==="vertical",_=j?"scrollTop":"scrollLeft",D=j?"top":"left",z=j?"bottom":"right",F=j?"clientHeight":"clientWidth",H=j?"height":"width",U={...r,component:f,allowScrollButtonsMobile:p,indicatorColor:m,orientation:v,vertical:j,scrollButtons:x,textColor:k,variant:I,visibleScrollbar:R,fixed:!L,hideScrollbar:L&&!R,scrollableX:L&&!j,scrollableY:L&&j,centered:c&&!L,scrollButtonsHideMobile:!p},q=z$e(U),X=Bc({elementType:P.StartScrollButtonIcon,externalSlotProps:T.startScrollButtonIcon,ownerState:U}),ae=Bc({elementType:P.EndScrollButtonIcon,externalSlotProps:T.endScrollButtonIcon,ownerState:U}),[Z,K]=y.useState(!1),[te,pe]=y.useState(OU),[ie,le]=y.useState(!1),[re,fe]=y.useState(!1),[ee,ce]=y.useState(!1),[me,we]=y.useState({overflow:"hidden",scrollbarWidth:0}),ge=new Map,Se=y.useRef(null),xe=y.useRef(null),Ie=()=>{const $e=Se.current;let Xe;if($e){const Vt=$e.getBoundingClientRect();Xe={clientWidth:$e.clientWidth,scrollLeft:$e.scrollLeft,scrollTop:$e.scrollTop,scrollWidth:$e.scrollWidth,top:Vt.top,bottom:Vt.bottom,left:Vt.left,right:Vt.right}}let bt;if($e&&A!==!1){const Vt=xe.current.children;if(Vt.length>0){const Ot=Vt[ge.get(A)];bt=Ot?Ot.getBoundingClientRect():null}}return{tabsMeta:Xe,tabMeta:bt}},Re=Go(()=>{const{tabsMeta:$e,tabMeta:Xe}=Ie();let bt=0,Vt;j?(Vt="top",Xe&&$e&&(bt=Xe.top-$e.top+$e.scrollTop)):(Vt=i?"right":"left",Xe&&$e&&(bt=(i?-1:1)*(Xe[Vt]-$e[Vt]+$e.scrollLeft)));const Ot={[Vt]:bt,[H]:Xe?Xe[H]:0};if(typeof te[Vt]!="number"||typeof te[H]!="number")pe(Ot);else{const un=Math.abs(te[Vt]-Ot[Vt]),jn=Math.abs(te[H]-Ot[H]);(un>=1||jn>=1)&&pe(Ot)}}),_e=($e,{animation:Xe=!0}={})=>{Xe?$$e(_,Se.current,$e,{duration:o.transitions.duration.standard}):Se.current[_]=$e},ye=$e=>{let Xe=Se.current[_];j?Xe+=$e:Xe+=$e*(i?-1:1),_e(Xe)},Te=()=>{const $e=Se.current[F];let Xe=0;const bt=Array.from(xe.current.children);for(let Vt=0;Vt$e){Vt===0&&(Xe=$e);break}Xe+=Ot[F]}return Xe},Oe=()=>{ye(-1*Te())},Me=()=>{ye(Te())},We=y.useCallback($e=>{we({overflow:null,scrollbarWidth:$e})},[]),Ve=()=>{const $e={};$e.scrollbarSizeListener=L?$.jsx(G$e,{onChange:We,className:de(q.scrollableX,q.hideScrollbar)}):null;const bt=L&&(x==="auto"&&(ie||re)||x===!0);return $e.scrollButtonStart=bt?$.jsx(w,{slots:{StartScrollButtonIcon:P.StartScrollButtonIcon},slotProps:{startScrollButtonIcon:X},orientation:v,direction:i?"right":"left",onClick:Oe,disabled:!ie,...O,className:de(q.scrollButtons,O.className)}):null,$e.scrollButtonEnd=bt?$.jsx(w,{slots:{EndScrollButtonIcon:P.EndScrollButtonIcon},slotProps:{endScrollButtonIcon:ae},orientation:v,direction:i?"left":"right",onClick:Me,disabled:!re,...O,className:de(q.scrollButtons,O.className)}):null,$e},Qe=Go($e=>{const{tabsMeta:Xe,tabMeta:bt}=Ie();if(!(!bt||!Xe)){if(bt[D]Xe[z]){const Vt=Xe[_]+(bt[z]-Xe[z]);_e(Vt,{animation:$e})}}}),ut=Go(()=>{L&&x!==!1&&ce(!ee)});y.useEffect(()=>{const $e=bS(()=>{Se.current&&Re()});let Xe;const bt=un=>{un.forEach(jn=>{jn.removedNodes.forEach(Wn=>{Xe==null||Xe.unobserve(Wn)}),jn.addedNodes.forEach(Wn=>{Xe==null||Xe.observe(Wn)})}),$e(),ut()},Vt=os(Se.current);Vt.addEventListener("resize",$e);let Ot;return typeof ResizeObserver<"u"&&(Xe=new ResizeObserver($e),Array.from(xe.current.children).forEach(un=>{Xe.observe(un)})),typeof MutationObserver<"u"&&(Ot=new MutationObserver(bt),Ot.observe(xe.current,{childList:!0})),()=>{$e.clear(),Vt.removeEventListener("resize",$e),Ot==null||Ot.disconnect(),Xe==null||Xe.disconnect()}},[Re,ut]),y.useEffect(()=>{const $e=Array.from(xe.current.children),Xe=$e.length;if(typeof IntersectionObserver<"u"&&Xe>0&&L&&x!==!1){const bt=$e[0],Vt=$e[Xe-1],Ot={root:Se.current,threshold:.99},un=Kr=>{le(!Kr[0].isIntersecting)},jn=new IntersectionObserver(un,Ot);jn.observe(bt);const Wn=Kr=>{fe(!Kr[0].isIntersecting)},Eo=new IntersectionObserver(Wn,Ot);return Eo.observe(Vt),()=>{jn.disconnect(),Eo.disconnect()}}},[L,x,ee,u==null?void 0:u.length]),y.useEffect(()=>{K(!0)},[]),y.useEffect(()=>{Re()}),y.useEffect(()=>{Qe(OU!==te)},[Qe,te]),y.useImperativeHandle(l,()=>({updateIndicator:Re,updateScrollButtons:ut}),[Re,ut]);const nt=$.jsx(W$e,{...E,className:de(q.indicator,E.className),ownerState:U,style:{...te,...E.style}});let et=0;const yt=y.Children.map(u,$e=>{if(!y.isValidElement($e))return null;const Xe=$e.props.value===void 0?et:$e.props.value;ge.set(Xe,et);const bt=Xe===A;return et+=1,y.cloneElement($e,{fullWidth:I==="fullWidth",indicator:bt&&!Z&&nt,selected:bt,selectionFollowsFocus:S,onChange:g,textColor:k,value:Xe,...et===1&&A===!1&&!$e.props.tabIndex?{tabIndex:0}:{}})}),wn=$e=>{const Xe=xe.current,bt=ii(Xe).activeElement;if(bt.getAttribute("role")!=="tab")return;let Ot=v==="horizontal"?"ArrowLeft":"ArrowUp",un=v==="horizontal"?"ArrowRight":"ArrowDown";switch(v==="horizontal"&&i&&(Ot="ArrowRight",un="ArrowLeft"),$e.key){case Ot:$e.preventDefault(),jC(Xe,bt,EU);break;case un:$e.preventDefault(),jC(Xe,bt,TU);break;case"Home":$e.preventDefault(),jC(Xe,null,TU);break;case"End":$e.preventDefault(),jC(Xe,null,EU);break}},Ke=Ve();return $.jsxs(V$e,{className:de(q.root,d),ownerState:U,ref:n,as:f,...N,children:[Ke.scrollButtonStart,Ke.scrollbarSizeListener,$.jsxs(H$e,{className:q.scroller,ownerState:U,style:{overflow:me.overflow,[j?`margin${i?"Left":"Right"}`:"marginBottom"]:R?void 0:-me.scrollbarWidth},ref:Se,children:[$.jsx(U$e,{"aria-label":a,"aria-labelledby":s,"aria-orientation":v==="vertical"?"vertical":null,className:q.flexContainer,ownerState:U,onKeyDown:wn,ref:xe,role:"tablist",children:yt}),Z&&nt]}),Ke.scrollButtonEnd]})});function K$e(e){return tt("MuiTextField",e)}ot("MuiTextField",["root"]);const Y$e={standard:WT,filled:UT,outlined:GT},X$e=e=>{const{classes:t}=e;return rt({root:["root"]},K$e,t)},Q$e=oe(qh,{name:"MuiTextField",slot:"Root",overridesResolver:(e,t)=>t.root})({}),yn=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiTextField"}),{autoComplete:o,autoFocus:i=!1,children:a,className:s,color:l="primary",defaultValue:c,disabled:u=!1,error:d=!1,FormHelperTextProps:f,fullWidth:p=!1,helperText:m,id:g,InputLabelProps:v,inputProps:w,InputProps:x,inputRef:S,label:P,maxRows:T,minRows:E,multiline:O=!1,name:k,onBlur:A,onChange:I,onFocus:R,placeholder:N,required:L=!1,rows:j,select:_=!1,SelectProps:D,slots:z={},slotProps:F={},type:H,value:U,variant:q="outlined",...X}=r,ae={...r,autoFocus:i,color:l,disabled:u,error:d,fullWidth:p,multiline:O,required:L,select:_,variant:q},Z=X$e(ae),K=wh(g),te=m&&K?`${K}-helper-text`:void 0,pe=P&&K?`${K}-label`:void 0,ie=Y$e[q],le={slots:z,slotProps:{input:x,inputLabel:v,htmlInput:w,formHelperText:f,select:D,...F}},re={},fe=le.slotProps.inputLabel;q==="outlined"&&(fe&&typeof fe.shrink<"u"&&(re.notched=fe.shrink),re.label=P),_&&((!D||!D.native)&&(re.id=void 0),re["aria-describedby"]=void 0);const[ee,ce]=hr("input",{elementType:ie,externalForwardedProps:le,additionalProps:re,ownerState:ae}),[me,we]=hr("inputLabel",{elementType:Kh,externalForwardedProps:le,ownerState:ae}),[ge,Se]=hr("htmlInput",{elementType:"input",externalForwardedProps:le,ownerState:ae}),[xe,Ie]=hr("formHelperText",{elementType:FI,externalForwardedProps:le,ownerState:ae}),[Re,_e]=hr("select",{elementType:Gf,externalForwardedProps:le,ownerState:ae}),ye=$.jsx(ee,{"aria-describedby":te,autoComplete:o,autoFocus:i,defaultValue:c,fullWidth:p,multiline:O,name:k,rows:j,maxRows:T,minRows:E,type:H,value:U,id:K,inputRef:S,onBlur:A,onChange:I,onFocus:R,placeholder:N,inputProps:Se,slots:{input:z.htmlInput?ge:void 0},...ce});return $.jsxs(Q$e,{className:de(Z.root,s),disabled:u,error:d,fullWidth:p,ref:n,required:L,color:l,variant:q,ownerState:ae,...X,children:[P!=null&&P!==""&&$.jsx(me,{htmlFor:K,id:pe,...we,children:P}),_?$.jsx(Re,{"aria-describedby":te,id:K,labelId:pe,value:U,input:ye,..._e,children:a}):ye,m&&$.jsx(xe,{id:te,...Ie,children:m})]})});function J$e(e){return tt("MuiToggleButton",e)}const Wp=ot("MuiToggleButton",["root","disabled","selected","standard","primary","secondary","sizeSmall","sizeMedium","sizeLarge","fullWidth"]),jZ=y.createContext({}),BZ=y.createContext(void 0);function Z$e(e,t){return t===void 0||e===void 0?!1:Array.isArray(t)?t.includes(e):e===t}const eRe=e=>{const{classes:t,fullWidth:n,selected:r,disabled:o,size:i,color:a}=e,s={root:["root",r&&"selected",o&&"disabled",n&&"fullWidth",`size${Ce(i)}`,a]};return rt(s,J$e,t)},tRe=oe(Ki,{name:"MuiToggleButton",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[`size${Ce(n.size)}`]]}})(Ze(({theme:e})=>({...e.typography.button,borderRadius:(e.vars||e).shape.borderRadius,padding:11,border:`1px solid ${(e.vars||e).palette.divider}`,color:(e.vars||e).palette.action.active,[`&.${Wp.disabled}`]:{color:(e.vars||e).palette.action.disabled,border:`1px solid ${(e.vars||e).palette.action.disabledBackground}`},"&:hover":{textDecoration:"none",backgroundColor:e.vars?`rgba(${e.vars.palette.text.primaryChannel} / ${e.vars.palette.action.hoverOpacity})`:mt(e.palette.text.primary,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},variants:[{props:{color:"standard"},style:{[`&.${Wp.selected}`]:{color:(e.vars||e).palette.text.primary,backgroundColor:e.vars?`rgba(${e.vars.palette.text.primaryChannel} / ${e.vars.palette.action.selectedOpacity})`:mt(e.palette.text.primary,e.palette.action.selectedOpacity),"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.text.primaryChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:mt(e.palette.text.primary,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.text.primaryChannel} / ${e.vars.palette.action.selectedOpacity})`:mt(e.palette.text.primary,e.palette.action.selectedOpacity)}}}}},...Object.entries(e.palette).filter(zn()).map(([t])=>({props:{color:t},style:{[`&.${Wp.selected}`]:{color:(e.vars||e).palette[t].main,backgroundColor:e.vars?`rgba(${e.vars.palette[t].mainChannel} / ${e.vars.palette.action.selectedOpacity})`:mt(e.palette[t].main,e.palette.action.selectedOpacity),"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette[t].mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:mt(e.palette[t].main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette[t].mainChannel} / ${e.vars.palette.action.selectedOpacity})`:mt(e.palette[t].main,e.palette.action.selectedOpacity)}}}}})),{props:{fullWidth:!0},style:{width:"100%"}},{props:{size:"small"},style:{padding:7,fontSize:e.typography.pxToRem(13)}},{props:{size:"large"},style:{padding:15,fontSize:e.typography.pxToRem(15)}}]}))),c0=y.forwardRef(function(t,n){const{value:r,...o}=y.useContext(jZ),i=y.useContext(BZ),a=Ay({...o,selected:Z$e(t.value,r)},t),s=it({props:a,name:"MuiToggleButton"}),{children:l,className:c,color:u="standard",disabled:d=!1,disableFocusRipple:f=!1,fullWidth:p=!1,onChange:m,onClick:g,selected:v,size:w="medium",value:x,...S}=s,P={...s,color:u,disabled:d,disableFocusRipple:f,fullWidth:p,size:w},T=eRe(P),E=k=>{g&&(g(k,x),k.defaultPrevented)||m&&m(k,x)},O=i||"";return $.jsx(tRe,{className:de(o.className,T.root,c,O),disabled:d,focusRipple:!f,ref:n,onClick:E,onChange:m,value:x,ownerState:P,"aria-pressed":v,...S,children:l})});function nRe(e){return tt("MuiToggleButtonGroup",e)}const Tr=ot("MuiToggleButtonGroup",["root","selected","horizontal","vertical","disabled","grouped","groupedHorizontal","groupedVertical","fullWidth","firstButton","lastButton","middleButton"]),rRe=e=>{const{classes:t,orientation:n,fullWidth:r,disabled:o}=e,i={root:["root",n,r&&"fullWidth"],grouped:["grouped",`grouped${Ce(n)}`,o&&"disabled"],firstButton:["firstButton"],lastButton:["lastButton"],middleButton:["middleButton"]};return rt(i,nRe,t)},oRe=oe("div",{name:"MuiToggleButtonGroup",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[{[`& .${Tr.grouped}`]:t.grouped},{[`& .${Tr.grouped}`]:t[`grouped${Ce(n.orientation)}`]},{[`& .${Tr.firstButton}`]:t.firstButton},{[`& .${Tr.lastButton}`]:t.lastButton},{[`& .${Tr.middleButton}`]:t.middleButton},t.root,n.orientation==="vertical"&&t.vertical,n.fullWidth&&t.fullWidth]}})(Ze(({theme:e})=>({display:"inline-flex",borderRadius:(e.vars||e).shape.borderRadius,variants:[{props:{orientation:"vertical"},style:{flexDirection:"column",[`& .${Tr.grouped}`]:{[`&.${Tr.selected} + .${Tr.grouped}.${Tr.selected}`]:{borderTop:0,marginTop:0}},[`& .${Tr.firstButton},& .${Tr.middleButton}`]:{borderBottomLeftRadius:0,borderBottomRightRadius:0},[`& .${Tr.lastButton},& .${Tr.middleButton}`]:{marginTop:-1,borderTop:"1px solid transparent",borderTopLeftRadius:0,borderTopRightRadius:0},[`& .${Tr.lastButton}.${Wp.disabled},& .${Tr.middleButton}.${Wp.disabled}`]:{borderTop:"1px solid transparent"}}},{props:{fullWidth:!0},style:{width:"100%"}},{props:{orientation:"horizontal"},style:{[`& .${Tr.grouped}`]:{[`&.${Tr.selected} + .${Tr.grouped}.${Tr.selected}`]:{borderLeft:0,marginLeft:0}},[`& .${Tr.firstButton},& .${Tr.middleButton}`]:{borderTopRightRadius:0,borderBottomRightRadius:0},[`& .${Tr.lastButton},& .${Tr.middleButton}`]:{marginLeft:-1,borderLeft:"1px solid transparent",borderTopLeftRadius:0,borderBottomLeftRadius:0},[`& .${Tr.lastButton}.${Wp.disabled},& .${Tr.middleButton}.${Wp.disabled}`]:{borderLeft:"1px solid transparent"}}}]}))),iRe=y.forwardRef(function(t,n){const r=it({props:t,name:"MuiToggleButtonGroup"}),{children:o,className:i,color:a="standard",disabled:s=!1,exclusive:l=!1,fullWidth:c=!1,onChange:u,orientation:d="horizontal",size:f="medium",value:p,...m}=r,g={...r,disabled:s,fullWidth:c,orientation:d,size:f},v=rRe(g),w=y.useCallback((O,k)=>{if(!u)return;const A=p&&p.indexOf(k);let I;p&&A>=0?(I=p.slice(),I.splice(A,1)):I=p?p.concat(k):[k],u(O,I)},[u,p]),x=y.useCallback((O,k)=>{u&&u(O,p===k?null:k)},[u,p]),S=y.useMemo(()=>({className:v.grouped,onChange:l?x:w,value:p,size:f,fullWidth:c,color:a,disabled:s}),[v.grouped,l,x,w,p,f,c,a,s]),P=yX(o),T=P.length,E=O=>{const k=O===0,A=O===T-1;return k&&A?"":k?v.firstButton:A?v.lastButton:v.middleButton};return $.jsx(oRe,{role:"group",className:de(v.root,i),ref:n,ownerState:g,...m,children:$.jsx(jZ.Provider,{value:S,children:P.map((O,k)=>$.jsx(BZ.Provider,{value:E(k),children:O},k))})})}),aRe=(...e)=>{console!=null&&console.warn&&(uh(e[0])&&(e[0]=`react-i18next:: ${e[0]}`),console.warn(...e))},IU={},C_=(...e)=>{uh(e[0])&&IU[e[0]]||(uh(e[0])&&(IU[e[0]]=new Date),aRe(...e))},zZ=(e,t)=>()=>{if(e.isInitialized)t();else{const n=()=>{setTimeout(()=>{e.off("initialized",n)},0),t()};e.on("initialized",n)}},kU=(e,t,n)=>{e.loadNamespaces(t,zZ(e,n))},MU=(e,t,n,r)=>{uh(n)&&(n=[n]),n.forEach(o=>{e.options.ns.indexOf(o)<0&&e.options.ns.push(o)}),e.loadLanguages(t,zZ(e,r))},sRe=(e,t,n={})=>!t.languages||!t.languages.length?(C_("i18n.languages were undefined or empty",t.languages),!0):t.hasLoadedNamespace(e,{lng:n.lng,precheck:(r,o)=>{var i;if(((i=n.bindI18n)==null?void 0:i.indexOf("languageChanging"))>-1&&r.services.backendConnector.backend&&r.isLanguageChangingTo&&!o(r.isLanguageChangingTo,e))return!1}}),uh=e=>typeof e=="string",lRe=e=>typeof e=="object"&&e!==null,cRe=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,uRe={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},dRe=e=>uRe[e],fRe=e=>e.replace(cRe,dRe);let P_={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:fRe};const pRe=(e={})=>{P_={...P_,...e}},hRe=()=>P_;let VZ;const mRe=e=>{VZ=e},gRe=()=>VZ,yRe={type:"3rdParty",init(e){pRe(e.options.react),mRe(e)}},vRe=y.createContext();class bRe{constructor(){this.usedNamespaces={}}addUsedNamespaces(t){t.forEach(n=>{this.usedNamespaces[n]||(this.usedNamespaces[n]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}const wRe=(e,t)=>{const n=y.useRef();return y.useEffect(()=>{n.current=e},[e,t]),n.current},HZ=(e,t,n,r)=>e.getFixedT(t,n,r),xRe=(e,t,n,r)=>y.useCallback(HZ(e,t,n,r),[e,t,n,r]),Ue=(e,t={})=>{var P,T,E,O;const{i18n:n}=t,{i18n:r,defaultNS:o}=y.useContext(vRe)||{},i=n||r||gRe();if(i&&!i.reportNamespaces&&(i.reportNamespaces=new bRe),!i){C_("You will need to pass in an i18next instance by using initReactI18next");const k=(I,R)=>uh(R)?R:lRe(R)&&uh(R.defaultValue)?R.defaultValue:Array.isArray(I)?I[I.length-1]:I,A=[k,{},!1];return A.t=k,A.i18n={},A.ready=!1,A}(P=i.options.react)!=null&&P.wait&&C_("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const a={...hRe(),...i.options.react,...t},{useSuspense:s,keyPrefix:l}=a;let c=o||((T=i.options)==null?void 0:T.defaultNS);c=uh(c)?[c]:c||["translation"],(O=(E=i.reportNamespaces).addUsedNamespaces)==null||O.call(E,c);const u=(i.isInitialized||i.initializedStoreOnce)&&c.every(k=>sRe(k,i,a)),d=xRe(i,t.lng||null,a.nsMode==="fallback"?c:c[0],l),f=()=>d,p=()=>HZ(i,t.lng||null,a.nsMode==="fallback"?c:c[0],l),[m,g]=y.useState(f);let v=c.join();t.lng&&(v=`${t.lng}${v}`);const w=wRe(v),x=y.useRef(!0);y.useEffect(()=>{const{bindI18n:k,bindI18nStore:A}=a;x.current=!0,!u&&!s&&(t.lng?MU(i,t.lng,c,()=>{x.current&&g(p)}):kU(i,c,()=>{x.current&&g(p)})),u&&w&&w!==v&&x.current&&g(p);const I=()=>{x.current&&g(p)};return k&&(i==null||i.on(k,I)),A&&(i==null||i.store.on(A,I)),()=>{x.current=!1,i&&(k==null||k.split(" ").forEach(R=>i.off(R,I))),A&&i&&A.split(" ").forEach(R=>i.store.off(R,I))}},[i,v]),y.useEffect(()=>{x.current&&u&&g(f)},[i,l,u]);const S=[m,i,u];if(S.t=m,S.i18n=i,S.ready=u,u||!u&&!s)return S;throw new Promise(k=>{t.lng?MU(i,t.lng,c,()=>k()):kU(i,c,()=>k())})},Za=()=>{const[e]=Ue();return C(Rn,{sx:{textAlign:"center"},children:e("loading")})},Po=()=>C(Rn,{sx:{height:200,alignItems:"center",mt:2},component:Gt,direction:"column",justifyContent:"center",children:C(mZ,{})}),UZ=lt($.jsx("path",{d:"m12 8-6 6 1.41 1.41L12 10.83l4.59 4.58L18 14z"}),"ExpandLess"),zv=lt($.jsx("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"}),"ExpandMore"),AS=lt($.jsx("path",{d:"M9 4v1.38c-.83-.33-1.72-.5-2.61-.5-1.79 0-3.58.68-4.95 2.05l3.33 3.33h1.11v1.11c.86.86 1.98 1.31 3.11 1.36V15H6v3c0 1.1.9 2 2 2h10c1.66 0 3-1.34 3-3V4zm-1.11 6.41V8.26H5.61L4.57 7.22a5.07 5.07 0 0 1 1.82-.34c1.34 0 2.59.52 3.54 1.46l1.41 1.41-.2.2c-.51.51-1.19.8-1.92.8-.47 0-.93-.12-1.33-.34M19 17c0 .55-.45 1-1 1s-1-.45-1-1v-2h-6v-2.59c.57-.23 1.1-.57 1.56-1.03l.2-.2L15.59 14H17v-1.41l-6-5.97V6h8z"}),"HistoryEdu"),id=lt($.jsx("path",{d:"M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2M8.5 13.5l2.5 3.01L14.5 12l4.5 6H5z"}),"Photo"),$S=lt($.jsx("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close"),ta=({title:e,subtitle:t,isOpen:n,closeFn:r,children:o})=>C(Bv,{open:n,onClose:r,"aria-labelledby":"modal-modal-title","aria-describedby":"modal-modal-description",children:Q(Do,{sx:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",p:2,minWidth:"400px"},children:[C(od,{title:e,subheader:t,action:C($S,{onClick:r})}),C(xa,{children:o}),C(hs,{})]})}),zI=e=>{const[t]=Ue(),n=e.height?e.height:"50vh";return C(Mt,{children:Q(Rn,{sx:{height:n,display:"flex",alignItems:"center",flexDirection:"column",justifyContent:"center"},children:[C(ct,{variant:"h6",mr:3,children:t("nothingHereYet")}),C(ct,{mr:3,children:t("nothingHereYetAction")})]})})},ej=e=>{const[t]=Ue(),[n,r]=Y.useState(!1),o=()=>r(!0),i=()=>r(!1),a=e.link!==void 0?C(gt,{size:"small",variant:"contained",href:e.link,children:t("add")}):C(gt,{size:"small",variant:"contained",onClick:o,children:t("add")});return Q(Mt,{children:[Q(Do,{children:[C(od,{title:e.title,subheader:".",sx:{paddingBottom:0}}),C(xa,{sx:{paddingTop:0,height:"500px"},children:C(zI,{})}),C(hs,{children:a})]}),C(ta,{title:t("add"),isOpen:n,closeFn:i,children:e.modalContent})]})};function WZ(e,t){return function(){return e.apply(t,arguments)}}const{toString:SRe}=Object.prototype,{getPrototypeOf:tj}=Object,VI=(e=>t=>{const n=SRe.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),lc=e=>(e=e.toLowerCase(),t=>VI(t)===e),HI=e=>t=>typeof t===e,{isArray:Vv}=Array,ix=HI("undefined");function CRe(e){return e!==null&&!ix(e)&&e.constructor!==null&&!ix(e.constructor)&&es(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const GZ=lc("ArrayBuffer");function PRe(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&GZ(e.buffer),t}const TRe=HI("string"),es=HI("function"),qZ=HI("number"),UI=e=>e!==null&&typeof e=="object",ERe=e=>e===!0||e===!1,VP=e=>{if(VI(e)!=="object")return!1;const t=tj(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},ORe=lc("Date"),IRe=lc("File"),kRe=lc("Blob"),MRe=lc("FileList"),ARe=e=>UI(e)&&es(e.pipe),$Re=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||es(e.append)&&((t=VI(e))==="formdata"||t==="object"&&es(e.toString)&&e.toString()==="[object FormData]"))},RRe=lc("URLSearchParams"),[_Re,DRe,NRe,LRe]=["ReadableStream","Request","Response","Headers"].map(lc),FRe=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function RS(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,o;if(typeof e!="object"&&(e=[e]),Vv(e))for(r=0,o=e.length;r0;)if(o=n[r],t===o.toLowerCase())return o;return null}const Gp=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,YZ=e=>!ix(e)&&e!==Gp;function T_(){const{caseless:e}=YZ(this)&&this||{},t={},n=(r,o)=>{const i=e&&KZ(t,o)||o;VP(t[i])&&VP(r)?t[i]=T_(t[i],r):VP(r)?t[i]=T_({},r):Vv(r)?t[i]=r.slice():t[i]=r};for(let r=0,o=arguments.length;r(RS(t,(o,i)=>{n&&es(o)?e[i]=WZ(o,n):e[i]=o},{allOwnKeys:r}),e),BRe=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),zRe=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},VRe=(e,t,n,r)=>{let o,i,a;const s={};if(t=t||{},e==null)return t;do{for(o=Object.getOwnPropertyNames(e),i=o.length;i-- >0;)a=o[i],(!r||r(a,e,t))&&!s[a]&&(t[a]=e[a],s[a]=!0);e=n!==!1&&tj(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},HRe=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return r!==-1&&r===n},URe=e=>{if(!e)return null;if(Vv(e))return e;let t=e.length;if(!qZ(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},WRe=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&tj(Uint8Array)),GRe=(e,t)=>{const r=(e&&e[Symbol.iterator]).call(e);let o;for(;(o=r.next())&&!o.done;){const i=o.value;t.call(e,i[0],i[1])}},qRe=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},KRe=lc("HTMLFormElement"),YRe=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,o){return r.toUpperCase()+o}),AU=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),XRe=lc("RegExp"),XZ=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};RS(n,(o,i)=>{let a;(a=t(o,i,e))!==!1&&(r[i]=a||o)}),Object.defineProperties(e,r)},QRe=e=>{XZ(e,(t,n)=>{if(es(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=e[n];if(es(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},JRe=(e,t)=>{const n={},r=o=>{o.forEach(i=>{n[i]=!0})};return Vv(e)?r(e):r(String(e).split(t)),n},ZRe=()=>{},e2e=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t,I$="abcdefghijklmnopqrstuvwxyz",$U="0123456789",QZ={DIGIT:$U,ALPHA:I$,ALPHA_DIGIT:I$+I$.toUpperCase()+$U},t2e=(e=16,t=QZ.ALPHA_DIGIT)=>{let n="";const{length:r}=t;for(;e--;)n+=t[Math.random()*r|0];return n};function n2e(e){return!!(e&&es(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}const r2e=e=>{const t=new Array(10),n=(r,o)=>{if(UI(r)){if(t.indexOf(r)>=0)return;if(!("toJSON"in r)){t[o]=r;const i=Vv(r)?[]:{};return RS(r,(a,s)=>{const l=n(a,o+1);!ix(l)&&(i[s]=l)}),t[o]=void 0,i}}return r};return n(e,0)},o2e=lc("AsyncFunction"),i2e=e=>e&&(UI(e)||es(e))&&es(e.then)&&es(e.catch),JZ=((e,t)=>e?setImmediate:t?((n,r)=>(Gp.addEventListener("message",({source:o,data:i})=>{o===Gp&&i===n&&r.length&&r.shift()()},!1),o=>{r.push(o),Gp.postMessage(n,"*")}))(`axios@${Math.random()}`,[]):n=>setTimeout(n))(typeof setImmediate=="function",es(Gp.postMessage)),a2e=typeof queueMicrotask<"u"?queueMicrotask.bind(Gp):typeof process<"u"&&process.nextTick||JZ,De={isArray:Vv,isArrayBuffer:GZ,isBuffer:CRe,isFormData:$Re,isArrayBufferView:PRe,isString:TRe,isNumber:qZ,isBoolean:ERe,isObject:UI,isPlainObject:VP,isReadableStream:_Re,isRequest:DRe,isResponse:NRe,isHeaders:LRe,isUndefined:ix,isDate:ORe,isFile:IRe,isBlob:kRe,isRegExp:XRe,isFunction:es,isStream:ARe,isURLSearchParams:RRe,isTypedArray:WRe,isFileList:MRe,forEach:RS,merge:T_,extend:jRe,trim:FRe,stripBOM:BRe,inherits:zRe,toFlatObject:VRe,kindOf:VI,kindOfTest:lc,endsWith:HRe,toArray:URe,forEachEntry:GRe,matchAll:qRe,isHTMLForm:KRe,hasOwnProperty:AU,hasOwnProp:AU,reduceDescriptors:XZ,freezeMethods:QRe,toObjectSet:JRe,toCamelCase:YRe,noop:ZRe,toFiniteNumber:e2e,findKey:KZ,global:Gp,isContextDefined:YZ,ALPHABET:QZ,generateString:t2e,isSpecCompliantForm:n2e,toJSONObject:r2e,isAsyncFn:o2e,isThenable:i2e,setImmediate:JZ,asap:a2e};function rn(e,t,n,r,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o,this.status=o.status?o.status:null)}De.inherits(rn,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:De.toJSONObject(this.config),code:this.code,status:this.status}}});const ZZ=rn.prototype,eee={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{eee[e]={value:e}});Object.defineProperties(rn,eee);Object.defineProperty(ZZ,"isAxiosError",{value:!0});rn.from=(e,t,n,r,o,i)=>{const a=Object.create(ZZ);return De.toFlatObject(e,a,function(l){return l!==Error.prototype},s=>s!=="isAxiosError"),rn.call(a,e.message,t,n,r,o),a.cause=e,a.name=e.name,i&&Object.assign(a,i),a};const s2e=null;function E_(e){return De.isPlainObject(e)||De.isArray(e)}function tee(e){return De.endsWith(e,"[]")?e.slice(0,-2):e}function RU(e,t,n){return e?e.concat(t).map(function(o,i){return o=tee(o),!n&&i?"["+o+"]":o}).join(n?".":""):t}function l2e(e){return De.isArray(e)&&!e.some(E_)}const c2e=De.toFlatObject(De,{},null,function(t){return/^is[A-Z]/.test(t)});function WI(e,t,n){if(!De.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=De.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(g,v){return!De.isUndefined(v[g])});const r=n.metaTokens,o=n.visitor||u,i=n.dots,a=n.indexes,l=(n.Blob||typeof Blob<"u"&&Blob)&&De.isSpecCompliantForm(t);if(!De.isFunction(o))throw new TypeError("visitor must be a function");function c(m){if(m===null)return"";if(De.isDate(m))return m.toISOString();if(!l&&De.isBlob(m))throw new rn("Blob is not supported. Use a Buffer instead.");return De.isArrayBuffer(m)||De.isTypedArray(m)?l&&typeof Blob=="function"?new Blob([m]):Buffer.from(m):m}function u(m,g,v){let w=m;if(m&&!v&&typeof m=="object"){if(De.endsWith(g,"{}"))g=r?g:g.slice(0,-2),m=JSON.stringify(m);else if(De.isArray(m)&&l2e(m)||(De.isFileList(m)||De.endsWith(g,"[]"))&&(w=De.toArray(m)))return g=tee(g),w.forEach(function(S,P){!(De.isUndefined(S)||S===null)&&t.append(a===!0?RU([g],P,i):a===null?g:g+"[]",c(S))}),!1}return E_(m)?!0:(t.append(RU(v,g,i),c(m)),!1)}const d=[],f=Object.assign(c2e,{defaultVisitor:u,convertValue:c,isVisitable:E_});function p(m,g){if(!De.isUndefined(m)){if(d.indexOf(m)!==-1)throw Error("Circular reference detected in "+g.join("."));d.push(m),De.forEach(m,function(w,x){(!(De.isUndefined(w)||w===null)&&o.call(t,w,De.isString(x)?x.trim():x,g,f))===!0&&p(w,g?g.concat(x):[x])}),d.pop()}}if(!De.isObject(e))throw new TypeError("data must be an object");return p(e),t}function _U(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(r){return t[r]})}function nj(e,t){this._pairs=[],e&&WI(e,this,t)}const nee=nj.prototype;nee.append=function(t,n){this._pairs.push([t,n])};nee.toString=function(t){const n=t?function(r){return t.call(this,r,_U)}:_U;return this._pairs.map(function(o){return n(o[0])+"="+n(o[1])},"").join("&")};function u2e(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function ree(e,t,n){if(!t)return e;const r=n&&n.encode||u2e,o=n&&n.serialize;let i;if(o?i=o(t,n):i=De.isURLSearchParams(t)?t.toString():new nj(t,n).toString(r),i){const a=e.indexOf("#");a!==-1&&(e=e.slice(0,a)),e+=(e.indexOf("?")===-1?"?":"&")+i}return e}class DU{constructor(){this.handlers=[]}use(t,n,r){return this.handlers.push({fulfilled:t,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){De.forEach(this.handlers,function(r){r!==null&&t(r)})}}const oee={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},d2e=typeof URLSearchParams<"u"?URLSearchParams:nj,f2e=typeof FormData<"u"?FormData:null,p2e=typeof Blob<"u"?Blob:null,h2e={isBrowser:!0,classes:{URLSearchParams:d2e,FormData:f2e,Blob:p2e},protocols:["http","https","file","blob","url","data"]},rj=typeof window<"u"&&typeof document<"u",O_=typeof navigator=="object"&&navigator||void 0,m2e=rj&&(!O_||["ReactNative","NativeScript","NS"].indexOf(O_.product)<0),g2e=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",y2e=rj&&window.location.href||"http://localhost",v2e=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:rj,hasStandardBrowserEnv:m2e,hasStandardBrowserWebWorkerEnv:g2e,navigator:O_,origin:y2e},Symbol.toStringTag,{value:"Module"})),Sa={...v2e,...h2e};function b2e(e,t){return WI(e,new Sa.classes.URLSearchParams,Object.assign({visitor:function(n,r,o,i){return Sa.isNode&&De.isBuffer(n)?(this.append(r,n.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)}},t))}function w2e(e){return De.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function x2e(e){const t={},n=Object.keys(e);let r;const o=n.length;let i;for(r=0;r=n.length;return a=!a&&De.isArray(o)?o.length:a,l?(De.hasOwnProp(o,a)?o[a]=[o[a],r]:o[a]=r,!s):((!o[a]||!De.isObject(o[a]))&&(o[a]=[]),t(n,r,o[a],i)&&De.isArray(o[a])&&(o[a]=x2e(o[a])),!s)}if(De.isFormData(e)&&De.isFunction(e.entries)){const n={};return De.forEachEntry(e,(r,o)=>{t(w2e(r),o,n,0)}),n}return null}function S2e(e,t,n){if(De.isString(e))try{return(t||JSON.parse)(e),De.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(0,JSON.stringify)(e)}const _S={transitional:oee,adapter:["xhr","http","fetch"],transformRequest:[function(t,n){const r=n.getContentType()||"",o=r.indexOf("application/json")>-1,i=De.isObject(t);if(i&&De.isHTMLForm(t)&&(t=new FormData(t)),De.isFormData(t))return o?JSON.stringify(iee(t)):t;if(De.isArrayBuffer(t)||De.isBuffer(t)||De.isStream(t)||De.isFile(t)||De.isBlob(t)||De.isReadableStream(t))return t;if(De.isArrayBufferView(t))return t.buffer;if(De.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let s;if(i){if(r.indexOf("application/x-www-form-urlencoded")>-1)return b2e(t,this.formSerializer).toString();if((s=De.isFileList(t))||r.indexOf("multipart/form-data")>-1){const l=this.env&&this.env.FormData;return WI(s?{"files[]":t}:t,l&&new l,this.formSerializer)}}return i||o?(n.setContentType("application/json",!1),S2e(t)):t}],transformResponse:[function(t){const n=this.transitional||_S.transitional,r=n&&n.forcedJSONParsing,o=this.responseType==="json";if(De.isResponse(t)||De.isReadableStream(t))return t;if(t&&De.isString(t)&&(r&&!this.responseType||o)){const a=!(n&&n.silentJSONParsing)&&o;try{return JSON.parse(t)}catch(s){if(a)throw s.name==="SyntaxError"?rn.from(s,rn.ERR_BAD_RESPONSE,this,null,this.response):s}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Sa.classes.FormData,Blob:Sa.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};De.forEach(["delete","get","head","post","put","patch"],e=>{_S.headers[e]={}});const C2e=De.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),P2e=e=>{const t={};let n,r,o;return e&&e.split(` +`).forEach(function(a){o=a.indexOf(":"),n=a.substring(0,o).trim().toLowerCase(),r=a.substring(o+1).trim(),!(!n||t[n]&&C2e[n])&&(n==="set-cookie"?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)}),t},NU=Symbol("internals");function u0(e){return e&&String(e).trim().toLowerCase()}function HP(e){return e===!1||e==null?e:De.isArray(e)?e.map(HP):String(e)}function T2e(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}const E2e=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function k$(e,t,n,r,o){if(De.isFunction(r))return r.call(this,t,n);if(o&&(t=n),!!De.isString(t)){if(De.isString(r))return t.indexOf(r)!==-1;if(De.isRegExp(r))return r.test(t)}}function O2e(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,r)=>n.toUpperCase()+r)}function I2e(e,t){const n=De.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+n,{value:function(o,i,a){return this[r].call(this,t,o,i,a)},configurable:!0})})}class Ca{constructor(t){t&&this.set(t)}set(t,n,r){const o=this;function i(s,l,c){const u=u0(l);if(!u)throw new Error("header name must be a non-empty string");const d=De.findKey(o,u);(!d||o[d]===void 0||c===!0||c===void 0&&o[d]!==!1)&&(o[d||l]=HP(s))}const a=(s,l)=>De.forEach(s,(c,u)=>i(c,u,l));if(De.isPlainObject(t)||t instanceof this.constructor)a(t,n);else if(De.isString(t)&&(t=t.trim())&&!E2e(t))a(P2e(t),n);else if(De.isHeaders(t))for(const[s,l]of t.entries())i(l,s,r);else t!=null&&i(n,t,r);return this}get(t,n){if(t=u0(t),t){const r=De.findKey(this,t);if(r){const o=this[r];if(!n)return o;if(n===!0)return T2e(o);if(De.isFunction(n))return n.call(this,o,r);if(De.isRegExp(n))return n.exec(o);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=u0(t),t){const r=De.findKey(this,t);return!!(r&&this[r]!==void 0&&(!n||k$(this,this[r],r,n)))}return!1}delete(t,n){const r=this;let o=!1;function i(a){if(a=u0(a),a){const s=De.findKey(r,a);s&&(!n||k$(r,r[s],s,n))&&(delete r[s],o=!0)}}return De.isArray(t)?t.forEach(i):i(t),o}clear(t){const n=Object.keys(this);let r=n.length,o=!1;for(;r--;){const i=n[r];(!t||k$(this,this[i],i,t,!0))&&(delete this[i],o=!0)}return o}normalize(t){const n=this,r={};return De.forEach(this,(o,i)=>{const a=De.findKey(r,i);if(a){n[a]=HP(o),delete n[i];return}const s=t?O2e(i):String(i).trim();s!==i&&delete n[i],n[s]=HP(o),r[s]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return De.forEach(this,(r,o)=>{r!=null&&r!==!1&&(n[o]=t&&De.isArray(r)?r.join(", "):r)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(` +`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const r=new this(t);return n.forEach(o=>r.set(o)),r}static accessor(t){const r=(this[NU]=this[NU]={accessors:{}}).accessors,o=this.prototype;function i(a){const s=u0(a);r[s]||(I2e(o,a),r[s]=!0)}return De.isArray(t)?t.forEach(i):i(t),this}}Ca.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);De.reduceDescriptors(Ca.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}});De.freezeMethods(Ca);function M$(e,t){const n=this||_S,r=t||n,o=Ca.from(r.headers);let i=r.data;return De.forEach(e,function(s){i=s.call(n,i,o.normalize(),t?t.status:void 0)}),o.normalize(),i}function aee(e){return!!(e&&e.__CANCEL__)}function Hv(e,t,n){rn.call(this,e??"canceled",rn.ERR_CANCELED,t,n),this.name="CanceledError"}De.inherits(Hv,rn,{__CANCEL__:!0});function see(e,t,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new rn("Request failed with status code "+n.status,[rn.ERR_BAD_REQUEST,rn.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function k2e(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function M2e(e,t){e=e||10;const n=new Array(e),r=new Array(e);let o=0,i=0,a;return t=t!==void 0?t:1e3,function(l){const c=Date.now(),u=r[i];a||(a=c),n[o]=l,r[o]=c;let d=i,f=0;for(;d!==o;)f+=n[d++],d=d%e;if(o=(o+1)%e,o===i&&(i=(i+1)%e),c-a{n=u,o=null,i&&(clearTimeout(i),i=null),e.apply(null,c)};return[(...c)=>{const u=Date.now(),d=u-n;d>=r?a(c,u):(o=c,i||(i=setTimeout(()=>{i=null,a(o)},r-d)))},()=>o&&a(o)]}const qT=(e,t,n=3)=>{let r=0;const o=M2e(50,250);return A2e(i=>{const a=i.loaded,s=i.lengthComputable?i.total:void 0,l=a-r,c=o(l),u=a<=s;r=a;const d={loaded:a,total:s,progress:s?a/s:void 0,bytes:l,rate:c||void 0,estimated:c&&s&&u?(s-a)/c:void 0,event:i,lengthComputable:s!=null,[t?"download":"upload"]:!0};e(d)},n)},LU=(e,t)=>{const n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},FU=e=>(...t)=>De.asap(()=>e(...t)),$2e=Sa.hasStandardBrowserEnv?function(){const t=Sa.navigator&&/(msie|trident)/i.test(Sa.navigator.userAgent),n=document.createElement("a");let r;function o(i){let a=i;return t&&(n.setAttribute("href",a),a=n.href),n.setAttribute("href",a),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:n.pathname.charAt(0)==="/"?n.pathname:"/"+n.pathname}}return r=o(window.location.href),function(a){const s=De.isString(a)?o(a):a;return s.protocol===r.protocol&&s.host===r.host}}():function(){return function(){return!0}}(),R2e=Sa.hasStandardBrowserEnv?{write(e,t,n,r,o,i){const a=[e+"="+encodeURIComponent(t)];De.isNumber(n)&&a.push("expires="+new Date(n).toGMTString()),De.isString(r)&&a.push("path="+r),De.isString(o)&&a.push("domain="+o),i===!0&&a.push("secure"),document.cookie=a.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function _2e(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function D2e(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function lee(e,t){return e&&!_2e(t)?D2e(e,t):t}const jU=e=>e instanceof Ca?{...e}:e;function Mh(e,t){t=t||{};const n={};function r(c,u,d){return De.isPlainObject(c)&&De.isPlainObject(u)?De.merge.call({caseless:d},c,u):De.isPlainObject(u)?De.merge({},u):De.isArray(u)?u.slice():u}function o(c,u,d){if(De.isUndefined(u)){if(!De.isUndefined(c))return r(void 0,c,d)}else return r(c,u,d)}function i(c,u){if(!De.isUndefined(u))return r(void 0,u)}function a(c,u){if(De.isUndefined(u)){if(!De.isUndefined(c))return r(void 0,c)}else return r(void 0,u)}function s(c,u,d){if(d in t)return r(c,u);if(d in e)return r(void 0,c)}const l={url:i,method:i,data:i,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s,headers:(c,u)=>o(jU(c),jU(u),!0)};return De.forEach(Object.keys(Object.assign({},e,t)),function(u){const d=l[u]||o,f=d(e[u],t[u],u);De.isUndefined(f)&&d!==s||(n[u]=f)}),n}const cee=e=>{const t=Mh({},e);let{data:n,withXSRFToken:r,xsrfHeaderName:o,xsrfCookieName:i,headers:a,auth:s}=t;t.headers=a=Ca.from(a),t.url=ree(lee(t.baseURL,t.url),e.params,e.paramsSerializer),s&&a.set("Authorization","Basic "+btoa((s.username||"")+":"+(s.password?unescape(encodeURIComponent(s.password)):"")));let l;if(De.isFormData(n)){if(Sa.hasStandardBrowserEnv||Sa.hasStandardBrowserWebWorkerEnv)a.setContentType(void 0);else if((l=a.getContentType())!==!1){const[c,...u]=l?l.split(";").map(d=>d.trim()).filter(Boolean):[];a.setContentType([c||"multipart/form-data",...u].join("; "))}}if(Sa.hasStandardBrowserEnv&&(r&&De.isFunction(r)&&(r=r(t)),r||r!==!1&&$2e(t.url))){const c=o&&i&&R2e.read(i);c&&a.set(o,c)}return t},N2e=typeof XMLHttpRequest<"u",L2e=N2e&&function(e){return new Promise(function(n,r){const o=cee(e);let i=o.data;const a=Ca.from(o.headers).normalize();let{responseType:s,onUploadProgress:l,onDownloadProgress:c}=o,u,d,f,p,m;function g(){p&&p(),m&&m(),o.cancelToken&&o.cancelToken.unsubscribe(u),o.signal&&o.signal.removeEventListener("abort",u)}let v=new XMLHttpRequest;v.open(o.method.toUpperCase(),o.url,!0),v.timeout=o.timeout;function w(){if(!v)return;const S=Ca.from("getAllResponseHeaders"in v&&v.getAllResponseHeaders()),T={data:!s||s==="text"||s==="json"?v.responseText:v.response,status:v.status,statusText:v.statusText,headers:S,config:e,request:v};see(function(O){n(O),g()},function(O){r(O),g()},T),v=null}"onloadend"in v?v.onloadend=w:v.onreadystatechange=function(){!v||v.readyState!==4||v.status===0&&!(v.responseURL&&v.responseURL.indexOf("file:")===0)||setTimeout(w)},v.onabort=function(){v&&(r(new rn("Request aborted",rn.ECONNABORTED,e,v)),v=null)},v.onerror=function(){r(new rn("Network Error",rn.ERR_NETWORK,e,v)),v=null},v.ontimeout=function(){let P=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded";const T=o.transitional||oee;o.timeoutErrorMessage&&(P=o.timeoutErrorMessage),r(new rn(P,T.clarifyTimeoutError?rn.ETIMEDOUT:rn.ECONNABORTED,e,v)),v=null},i===void 0&&a.setContentType(null),"setRequestHeader"in v&&De.forEach(a.toJSON(),function(P,T){v.setRequestHeader(T,P)}),De.isUndefined(o.withCredentials)||(v.withCredentials=!!o.withCredentials),s&&s!=="json"&&(v.responseType=o.responseType),c&&([f,m]=qT(c,!0),v.addEventListener("progress",f)),l&&v.upload&&([d,p]=qT(l),v.upload.addEventListener("progress",d),v.upload.addEventListener("loadend",p)),(o.cancelToken||o.signal)&&(u=S=>{v&&(r(!S||S.type?new Hv(null,e,v):S),v.abort(),v=null)},o.cancelToken&&o.cancelToken.subscribe(u),o.signal&&(o.signal.aborted?u():o.signal.addEventListener("abort",u)));const x=k2e(o.url);if(x&&Sa.protocols.indexOf(x)===-1){r(new rn("Unsupported protocol "+x+":",rn.ERR_BAD_REQUEST,e));return}v.send(i||null)})},F2e=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let r=new AbortController,o;const i=function(c){if(!o){o=!0,s();const u=c instanceof Error?c:this.reason;r.abort(u instanceof rn?u:new Hv(u instanceof Error?u.message:u))}};let a=t&&setTimeout(()=>{a=null,i(new rn(`timeout ${t} of ms exceeded`,rn.ETIMEDOUT))},t);const s=()=>{e&&(a&&clearTimeout(a),a=null,e.forEach(c=>{c.unsubscribe?c.unsubscribe(i):c.removeEventListener("abort",i)}),e=null)};e.forEach(c=>c.addEventListener("abort",i));const{signal:l}=r;return l.unsubscribe=()=>De.asap(s),l}},j2e=function*(e,t){let n=e.byteLength;if(n{const o=B2e(e,t);let i=0,a,s=l=>{a||(a=!0,r&&r(l))};return new ReadableStream({async pull(l){try{const{done:c,value:u}=await o.next();if(c){s(),l.close();return}let d=u.byteLength;if(n){let f=i+=d;n(f)}l.enqueue(new Uint8Array(u))}catch(c){throw s(c),c}},cancel(l){return s(l),o.return()}},{highWaterMark:2})},GI=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",uee=GI&&typeof ReadableStream=="function",V2e=GI&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),dee=(e,...t)=>{try{return!!e(...t)}catch{return!1}},H2e=uee&&dee(()=>{let e=!1;const t=new Request(Sa.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),zU=64*1024,I_=uee&&dee(()=>De.isReadableStream(new Response("").body)),KT={stream:I_&&(e=>e.body)};GI&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!KT[t]&&(KT[t]=De.isFunction(e[t])?n=>n[t]():(n,r)=>{throw new rn(`Response type '${t}' is not supported`,rn.ERR_NOT_SUPPORT,r)})})})(new Response);const U2e=async e=>{if(e==null)return 0;if(De.isBlob(e))return e.size;if(De.isSpecCompliantForm(e))return(await new Request(Sa.origin,{method:"POST",body:e}).arrayBuffer()).byteLength;if(De.isArrayBufferView(e)||De.isArrayBuffer(e))return e.byteLength;if(De.isURLSearchParams(e)&&(e=e+""),De.isString(e))return(await V2e(e)).byteLength},W2e=async(e,t)=>{const n=De.toFiniteNumber(e.getContentLength());return n??U2e(t)},G2e=GI&&(async e=>{let{url:t,method:n,data:r,signal:o,cancelToken:i,timeout:a,onDownloadProgress:s,onUploadProgress:l,responseType:c,headers:u,withCredentials:d="same-origin",fetchOptions:f}=cee(e);c=c?(c+"").toLowerCase():"text";let p=F2e([o,i&&i.toAbortSignal()],a),m;const g=p&&p.unsubscribe&&(()=>{p.unsubscribe()});let v;try{if(l&&H2e&&n!=="get"&&n!=="head"&&(v=await W2e(u,r))!==0){let T=new Request(t,{method:"POST",body:r,duplex:"half"}),E;if(De.isFormData(r)&&(E=T.headers.get("content-type"))&&u.setContentType(E),T.body){const[O,k]=LU(v,qT(FU(l)));r=BU(T.body,zU,O,k)}}De.isString(d)||(d=d?"include":"omit");const w="credentials"in Request.prototype;m=new Request(t,{...f,signal:p,method:n.toUpperCase(),headers:u.normalize().toJSON(),body:r,duplex:"half",credentials:w?d:void 0});let x=await fetch(m);const S=I_&&(c==="stream"||c==="response");if(I_&&(s||S&&g)){const T={};["status","statusText","headers"].forEach(A=>{T[A]=x[A]});const E=De.toFiniteNumber(x.headers.get("content-length")),[O,k]=s&&LU(E,qT(FU(s),!0))||[];x=new Response(BU(x.body,zU,O,()=>{k&&k(),g&&g()}),T)}c=c||"text";let P=await KT[De.findKey(KT,c)||"text"](x,e);return!S&&g&&g(),await new Promise((T,E)=>{see(T,E,{data:P,headers:Ca.from(x.headers),status:x.status,statusText:x.statusText,config:e,request:m})})}catch(w){throw g&&g(),w&&w.name==="TypeError"&&/fetch/i.test(w.message)?Object.assign(new rn("Network Error",rn.ERR_NETWORK,e,m),{cause:w.cause||w}):rn.from(w,w&&w.code,e,m)}}),k_={http:s2e,xhr:L2e,fetch:G2e};De.forEach(k_,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const VU=e=>`- ${e}`,q2e=e=>De.isFunction(e)||e===null||e===!1,fee={getAdapter:e=>{e=De.isArray(e)?e:[e];const{length:t}=e;let n,r;const o={};for(let i=0;i`adapter ${s} `+(l===!1?"is not supported by the environment":"is not available in the build"));let a=t?i.length>1?`since : +`+i.map(VU).join(` +`):" "+VU(i[0]):"as no adapter specified";throw new rn("There is no suitable adapter to dispatch the request "+a,"ERR_NOT_SUPPORT")}return r},adapters:k_};function A$(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Hv(null,e)}function HU(e){return A$(e),e.headers=Ca.from(e.headers),e.data=M$.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),fee.getAdapter(e.adapter||_S.adapter)(e).then(function(r){return A$(e),r.data=M$.call(e,e.transformResponse,r),r.headers=Ca.from(r.headers),r},function(r){return aee(r)||(A$(e),r&&r.response&&(r.response.data=M$.call(e,e.transformResponse,r.response),r.response.headers=Ca.from(r.response.headers))),Promise.reject(r)})}const pee="1.7.7",oj={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{oj[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const UU={};oj.transitional=function(t,n,r){function o(i,a){return"[Axios v"+pee+"] Transitional option '"+i+"'"+a+(r?". "+r:"")}return(i,a,s)=>{if(t===!1)throw new rn(o(a," has been removed"+(n?" in "+n:"")),rn.ERR_DEPRECATED);return n&&!UU[a]&&(UU[a]=!0,console.warn(o(a," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(i,a,s):!0}};function K2e(e,t,n){if(typeof e!="object")throw new rn("options must be an object",rn.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let o=r.length;for(;o-- >0;){const i=r[o],a=t[i];if(a){const s=e[i],l=s===void 0||a(s,i,e);if(l!==!0)throw new rn("option "+i+" must be "+l,rn.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new rn("Unknown option "+i,rn.ERR_BAD_OPTION)}}const M_={assertOptions:K2e,validators:oj},Ed=M_.validators;class dh{constructor(t){this.defaults=t,this.interceptors={request:new DU,response:new DU}}async request(t,n){try{return await this._request(t,n)}catch(r){if(r instanceof Error){let o;Error.captureStackTrace?Error.captureStackTrace(o={}):o=new Error;const i=o.stack?o.stack.replace(/^.+\n/,""):"";try{r.stack?i&&!String(r.stack).endsWith(i.replace(/^.+\n.+\n/,""))&&(r.stack+=` +`+i):r.stack=i}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=Mh(this.defaults,n);const{transitional:r,paramsSerializer:o,headers:i}=n;r!==void 0&&M_.assertOptions(r,{silentJSONParsing:Ed.transitional(Ed.boolean),forcedJSONParsing:Ed.transitional(Ed.boolean),clarifyTimeoutError:Ed.transitional(Ed.boolean)},!1),o!=null&&(De.isFunction(o)?n.paramsSerializer={serialize:o}:M_.assertOptions(o,{encode:Ed.function,serialize:Ed.function},!0)),n.method=(n.method||this.defaults.method||"get").toLowerCase();let a=i&&De.merge(i.common,i[n.method]);i&&De.forEach(["delete","get","head","post","put","patch","common"],m=>{delete i[m]}),n.headers=Ca.concat(a,i);const s=[];let l=!0;this.interceptors.request.forEach(function(g){typeof g.runWhen=="function"&&g.runWhen(n)===!1||(l=l&&g.synchronous,s.unshift(g.fulfilled,g.rejected))});const c=[];this.interceptors.response.forEach(function(g){c.push(g.fulfilled,g.rejected)});let u,d=0,f;if(!l){const m=[HU.bind(this),void 0];for(m.unshift.apply(m,s),m.push.apply(m,c),f=m.length,u=Promise.resolve(n);d{if(!r._listeners)return;let i=r._listeners.length;for(;i-- >0;)r._listeners[i](o);r._listeners=null}),this.promise.then=o=>{let i;const a=new Promise(s=>{r.subscribe(s),i=s}).then(o);return a.cancel=function(){r.unsubscribe(i)},a},t(function(i,a,s){r.reason||(r.reason=new Hv(i,a,s),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=r=>{t.abort(r)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new ij(function(o){t=o}),cancel:t}}}function Y2e(e){return function(n){return e.apply(null,n)}}function X2e(e){return De.isObject(e)&&e.isAxiosError===!0}const A_={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(A_).forEach(([e,t])=>{A_[t]=e});function hee(e){const t=new dh(e),n=WZ(dh.prototype.request,t);return De.extend(n,dh.prototype,t,{allOwnKeys:!0}),De.extend(n,t,null,{allOwnKeys:!0}),n.create=function(o){return hee(Mh(e,o))},n}const dt=hee(_S);dt.Axios=dh;dt.CanceledError=Hv;dt.CancelToken=ij;dt.isCancel=aee;dt.VERSION=pee;dt.toFormData=WI;dt.AxiosError=rn;dt.Cancel=dt.CanceledError;dt.all=function(t){return Promise.all(t)};dt.spread=Y2e;dt.isAxiosError=X2e;dt.mergeConfig=Mh;dt.AxiosHeaders=Ca;dt.formToJSON=e=>iee(De.isHTMLForm(e)?new FormData(e):e);dt.getAdapter=fee.getAdapter;dt.HttpStatusCode=A_;dt.default=dt;const ny={protein:4,carbohydrates:4,fat:9};class Ga{constructor(t){nn(this,"bodyWeight",0);nn(this,"energy",0);nn(this,"protein",0);nn(this,"carbohydrates",0);nn(this,"carbohydratesSugar",0);nn(this,"fat",0);nn(this,"fatSaturated",0);nn(this,"fiber",0);nn(this,"sodium",0);this.energy=(t==null?void 0:t.energy)??0,this.protein=(t==null?void 0:t.protein)??0,this.carbohydrates=(t==null?void 0:t.carbohydrates)??0,this.carbohydratesSugar=(t==null?void 0:t.carbohydratesSugar)??0,this.fat=(t==null?void 0:t.fat)??0,this.fatSaturated=(t==null?void 0:t.fatSaturated)??0,this.fiber=(t==null?void 0:t.fiber)??0,this.sodium=(t==null?void 0:t.sodium)??0,this.bodyWeight=(t==null?void 0:t.bodyWeight)??0}get energyKj(){return this.energy*4.184}get isEmpty(){return this.energy===0&&this.protein===0&&this.carbohydrates===0&&this.fat===0}get percent(){return{protein:this.protein>0?this.protein*ny.protein/this.energy*100:0,carbohydrates:this.carbohydrates>0?this.carbohydrates*ny.carbohydrates/this.energy*100:0,fat:this.fat>0?this.fat*ny.fat/this.energy*100:0}}get perBodyKg(){return{protein:this.bodyWeight>0?this.protein/this.bodyWeight:0,carbohydrates:this.bodyWeight>0?this.carbohydrates/this.bodyWeight:0,fat:this.bodyWeight>0?this.fat/this.bodyWeight:0}}static fromIngredient(t,n,r){const o=new Ga,i=r===null?n:n*r.amount*r.grams;return o.energy=t.energy*i/100,o.protein=t.protein*i/100,o.carbohydrates=t.carbohydrates*i/100,o.carbohydratesSugar=t.carbohydratesSugar?t.carbohydratesSugar*i/100:0,o.fat=t.fat*i/100,o.fatSaturated=t.fatSaturated?t.fatSaturated*i/100:0,o.fiber=t.fiber?t.fiber*i/100:0,o.sodium=t.sodium?t.sodium*i/100:0,o}add(t){return this.energy+=t.energy,this.protein+=t.protein,this.carbohydrates+=t.carbohydrates,this.carbohydratesSugar+=t.carbohydratesSugar,this.fat+=t.fat,this.fatSaturated+=t.fatSaturated,this.fiber+=t.fiber,this.sodium+=t.sodium,this}toString(){return`e: ${this.energy}, p: ${this.protein}, c: ${this.carbohydrates}, cS: ${this.carbohydratesSugar}, f: ${this.fat}, fS: ${this.fatSaturated}, fi: ${this.fiber}, s: ${this.sodium}`}equals(t){return this.energy===t.energy&&this.protein===t.protein&&this.carbohydrates===t.carbohydrates&&this.carbohydratesSugar===t.carbohydratesSugar&&this.fat===t.fat&&this.fatSaturated===t.fatSaturated&&this.fiber===t.fiber&&this.sodium===t.sodium}}function Si(e){return e.toISOString().split("T")[0]}const mee=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"];function $_(e,t){return e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()}function YT(e,t){return e==null?null:e.toLocaleTimeString(t?[t]:[],{hour:"2-digit",minute:"2-digit"})}function Q2e(e){if(e==null)return null;const[t,n]=e.toTimeString().split(":");return`${t}:${n}`}function J2e(e){if(e==null)return null;const[t,n]=e.split(":"),r=new Date;return r.setHours(parseInt(t)),r.setMinutes(parseInt(n)),r}function Z2e(e,t=new Date){const r={lastWeek:()=>t.setDate(t.getDate()-7),lastMonth:()=>t.setMonth(t.getMonth()-1),lastHalfYear:()=>t.setMonth(t.getMonth()-6),lastYear:()=>t.setFullYear(t.getFullYear()-1),"":void 0}[e];if(r)r();else return;return Si(t)}class gee{constructor(t,n,r,o){nn(this,"items",[]);nn(this,"diaryEntries",[]);this.id=t,this.order=n,this.time=r,this.name=o}get timeHHMMLocale(){return YT(this.time)}get displayName(){return this.name?this.name:this.timeHHMMLocale}get diaryEntriesToday(){return this.diaryEntries.filter(t=>$_(t.datetime,new Date))}get plannedNutritionalValues(){const t=new Ga;for(const n of this.items)t.add(n.nutritionalValues);return t}get loggedNutritionalValuesToday(){const t=new Ga;for(const n of this.diaryEntriesToday)t.add(n.nutritionalValues);return t}}class aj{fromJson(t){return new gee(t.id,t.order,J2e(t.time),t.name)}toJson(t){return{name:t.name,order:t.order,time:YT(t.time)}}}const UP=-1;class e_e{constructor(t,n,r,o=!1,i=null,a=null,s=null,l=null,c=null,u=null,d=null){nn(this,"meals",[]);nn(this,"diaryEntries",[]);this.id=t,this.creationDate=n,this.description=r,this.onlyLogging=o,this.goalEnergy=i,this.goalProtein=a,this.goalCarbohydrates=s,this.goalFiber=l,this.goalSodium=c,this.goalFat=u,this.goalFatsSaturated=d}get hasAnyGoals(){return this.goalEnergy!==null||this.goalProtein!==null||this.goalCarbohydrates!==null||this.goalFat!==null}get hasAnyAdvancedGoals(){return this.goalFiber!==null||this.goalSodium!==null||this.goalFatsSaturated!==null}get hasAnyPlanned(){return this.hasAnyGoals||this.plannedNutritionalValues.energy>0}get plannedNutritionalValues(){if(this.hasAnyGoals)return new Ga({energy:this.goalEnergy,carbohydrates:this.goalCarbohydrates,protein:this.goalProtein,fat:this.goalFat});const t=new Ga;for(const n of this.meals)t.add(n.plannedNutritionalValues);return t}get loggedNutritionalValues7DayAvg(){const t=new Date,n=new Date(t.getTime()-7*24*60*60*1e3),r=this.diaryEntries.filter(o=>o.datetime>=n);return this.getAverageNutritionalValuesFromDiaryEntries(r)}get loggedNutritionalValuesToday(){const t=this.diaryEntries.filter(n=>$_(n.datetime,new Date));return this.getNutritionalValuesFromDiaryEntries(t)}get groupDiaryEntries(){return this.diaryEntries.reduce((t,n)=>{const r=n.datetime.toISOString().split("T")[0],o=t.get(r)||{entries:[],nutritionalValues:new Ga};return o.entries.push(n),o.nutritionalValues.add(n.nutritionalValues),t.set(r,o),t},new Map)}get percentageValuesLoggedToday(){return new Ga({protein:this.loggedNutritionalValuesToday.protein/this.plannedNutritionalValues.protein*100,carbohydrates:this.loggedNutritionalValuesToday.carbohydrates/this.plannedNutritionalValues.carbohydrates*100,fat:this.loggedNutritionalValuesToday.fat/this.plannedNutritionalValues.fat*100})}pseudoMealOthers(t){const n=new gee(UP,-1,null,t);return n.diaryEntries=this.diaryEntries.filter(r=>r.mealId===null),n}loggedNutritionalValuesDate(t){return this.getNutritionalValuesFromDiaryEntries(this.loggedEntriesDate(t))}loggedEntriesDate(t){return this.diaryEntries.filter(n=>$_(n.datetime,t))}getAverageNutritionalValuesFromDiaryEntries(t){const n=t.length,r=this.getNutritionalValuesFromDiaryEntries(t);return n===0||(r.energy=r.energy/n,r.protein=r.protein/n,r.carbohydrates=r.carbohydrates/n,r.carbohydratesSugar=r.carbohydratesSugar/n,r.fat=r.fat/n,r.fatSaturated=r.fatSaturated/n,r.fiber=r.fiber/n,r.sodium=r.sodium/n),r}getNutritionalValuesFromDiaryEntries(t){return t.reduce((n,r)=>n.add(r.nutritionalValues),new Ga)}}class qI{fromJson(t){return new e_e(t.id,new Date(t.creation_date),t.description,t.only_logging,t.goal_energy,t.goal_protein,t.goal_carbohydrates,t.goal_fiber,t.goal_fat)}toJson(t){return{description:t.description}}}class t_e{constructor(t,n,r,o,i,a,s,l){this.id=t,this.uuid=n,this.url=r,this.created=o,this.lastUpdate=i,this.size=a,this.width=s,this.height=l}}class n_e{fromJson(t){return new t_e(t.id,t.uuid,t.image,new Date(t.created),new Date(t.last_update),t.size,t.width,t.height)}}class r_e{constructor(t,n,r,o,i,a,s,l,c,u,d,f,p=null){this.id=t,this.uuid=n,this.code=r,this.name=o,this.energy=i,this.protein=a,this.carbohydrates=s,this.carbohydratesSugar=l,this.fat=c,this.fatSaturated=u,this.fiber=d,this.sodium=f,this.image=p}}class o_e{fromJson(t){return new r_e(t.id,t.uuid,t.code,t.name,t.energy,parseFloat(t.protein),parseFloat(t.carbohydrates),t.carbohydrates_sugar===null?null:parseFloat(t.carbohydrates_sugar),parseFloat(t.fat),t.fat_saturated===null?null:parseFloat(t.fat_saturated),t.fiber===null?null:parseFloat(t.fiber),t.sodium===null?null:parseFloat(t.sodium),t.image===null?null:new n_e().fromJson(t.image))}}var sj={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1,VITE_API_SERVER:""};const i_e="/static/react",lj="",a_e=sj.TIME_ZONE,s_e=sj.MIN_ACCOUNT_AGE_TO_TRUST,l_e="",c_e=sj.VITE_API_KEY,Wy=2,u_e="en",d_e=s_e||21,yee=1,f_e=2,p_e=1,h_e=2,m_e="exercises",g_e="variations",y_e="detail",v_e="languages",b_e="categories",w_e="equipment",x_e="muscles",S_e="permission",C_e="profile",P_e="routine",T_e="routines-shallow",E_e="routines-active",O_e="routines-logs",Uv="measurements",Wv="measurements-categories";var jr=(e=>(e.NUTRITIONAL_PLANS="nutritional-plans",e.NUTRITIONAL_PLAN="nutritional-plan",e.NUTRITIONAL_PLAN_LAST="nutritional-plan-last",e.INGREDIENT="ingredient",e.BODY_WEIGHT="body-weight",e))(jr||{}),Yi=(e=>(e.MEAL="meal",e.MEAL_ITEM="mealitem",e.NUTRITIONAL_DIARY="nutritiondiary",e.INGREDIENT_PATH="ingredientinfo",e.INGREDIENT_SEARCH_PATH="ingredient/search",e.INGREDIENT_WEIGHT_UNIT="ingredientweightunit",e))(Yi||{});const vee="999",I_e=["#2a4c7d","#5b5291","#8e5298","#bf5092","#e7537e","#ff6461","#ff813d","#ffa600"],k_e=["#2a4c7d","#825298","#d45089","#ff6a59","#ffa600"],M_e=["#2a4c7d","#d45089","#ffa600"],WU={pageSizeOptions:[5,10,25,50,100],pageSize:10},A_e=a_e||"Europe/Berlin",Gy="en",bee=3e3;var wee={exports:{}};(function(e){(function(t){let n;function r(u,d){const f=u.charCodeAt(d);if(isNaN(f))throw new RangeError("Index "+d+' out of range for string "'+u+'"; please open an issue at https://github.com/Trott/slug/issues/new');if(f<55296||f>57343)return[u.charAt(d),d];if(f>=55296&&f<=56319){if(u.length<=d+1)return[" ",d];const m=u.charCodeAt(d+1);return m<56320||m>57343?[" ",d]:[u.charAt(d)+u.charAt(d+1),d+1]}if(d===0)return[" ",d];const p=u.charCodeAt(d-1);if(p<55296||p>56319)return[" ",d];throw new Error('String "'+u+'" reaches code believed to be unreachable; please open an issue at https://github.com/Trott/slug/issues/new')}typeof window<"u"?window.btoa?n=function(u){return btoa(unescape(encodeURIComponent(u)))}:n=function(u){const d=unescape(encodeURIComponent(u+""));let f="";for(let p,m,g=0,v="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";d.charAt(g|0)||(v="=",g%1);f+=v.charAt(63&p>>8-g%1*8)){if(m=d.charCodeAt(g+=3/4),m>255)throw new Error("'btoa' failed: The string to be encoded contains characters outside of the Latin1 range.");p=p<<8|m}return f}:n=function(u){return Buffer.from(u).toString("base64")};function o(u,d){let f=s(u,d);if((d&&d.fallback!==void 0?d.fallback:o.defaults.fallback)===!0&&f===""){let m="";for(let g=0;g1?f[d[m]]=u[d[m]]:p[d[m]]=u[d[m]];Object.assign(o.charmap,p),Object.assign(o.multicharmap,f)},o.setLocale=function(u){a=i[u]||{}},e.exports?e.exports=o:t.slug=o})(Bi)})(wee);var $_e=wee.exports;const xee=_n($_e);function Pt(e,t){t=t||{};const r=[t.server||l_e,"api","v2",e];if(t.objectMethod&&r.push(t.objectMethod),t.id&&r.push(t.id.toString()),r.push(""),t.query){const o=[];for(const i in t.query)t.query.hasOwnProperty(i)&&o.push(`${encodeURIComponent(i)}=${encodeURIComponent(t.query[i])}`);r.pop(),r.push(`?${o.join("&")}`)}return r.join("/")}var Sn=(e=>(e[e.DASHBOARD=0]="DASHBOARD",e[e.ROUTINE_OVERVIEW=1]="ROUTINE_OVERVIEW",e[e.ROUTINE_DETAIL=2]="ROUTINE_DETAIL",e[e.ROUTINE_ADD=3]="ROUTINE_ADD",e[e.ROUTINE_DELETE=4]="ROUTINE_DELETE",e[e.ROUTINE_ADD_LOG=5]="ROUTINE_ADD_LOG",e[e.ROUTINE_EDIT_LOG=6]="ROUTINE_EDIT_LOG",e[e.ROUTINE_DELETE_LOG=7]="ROUTINE_DELETE_LOG",e[e.ROUTINE_EDIT_DAY=8]="ROUTINE_EDIT_DAY",e[e.ROUTINE_ADD_DAY=9]="ROUTINE_ADD_DAY",e[e.ROUTINE_DELETE_DAY=10]="ROUTINE_DELETE_DAY",e[e.ROUTINE_ADD_SET=11]="ROUTINE_ADD_SET",e[e.ROUTINE_EDIT_SET=12]="ROUTINE_EDIT_SET",e[e.ROUTINE_DELETE_SET=13]="ROUTINE_DELETE_SET",e[e.EXERCISE_DETAIL=14]="EXERCISE_DETAIL",e[e.EXERCISE_OVERVIEW=15]="EXERCISE_OVERVIEW",e[e.EXERCISE_CONTRIBUTE=16]="EXERCISE_CONTRIBUTE",e[e.WEIGHT_OVERVIEW=17]="WEIGHT_OVERVIEW",e[e.WEIGHT_ADD=18]="WEIGHT_ADD",e[e.MEASUREMENT_OVERVIEW=19]="MEASUREMENT_OVERVIEW",e[e.MEASUREMENT_DETAIL=20]="MEASUREMENT_DETAIL",e[e.NUTRITION_OVERVIEW=21]="NUTRITION_OVERVIEW",e[e.NUTRITION_DETAIL=22]="NUTRITION_DETAIL",e[e.NUTRITION_PLAN_PDF=23]="NUTRITION_PLAN_PDF",e[e.NUTRITION_PLAN_COPY=24]="NUTRITION_PLAN_COPY",e[e.NUTRITION_DIARY=25]="NUTRITION_DIARY",e[e.INGREDIENT_DETAIL=26]="INGREDIENT_DETAIL",e))(Sn||{});function Tn(e,t,n){t=t||"en-us";const r=t.split("-")[0];switch(e){case 1:return`/${r}/routine/overview`;case 2:return`/${r}/routine/${n.id}/view`;case 3:return`/${r}/routine/add`;case 9:return`/${r}/routine/day/${n.id}/add`;case 5:return`/${r}/routine/day/${n.id}/log/add`;case 6:return`/${r}/routine/log/${n.id}/edit`;case 7:return`/${r}/routine/log/${n.id}/delete`;case 8:return`/${r}/routine/day/${n.id}/edit`;case 10:return`/${r}/routine/day/${n.id}/delete`;case 11:return`/${r}/routine/set/${n.id}/add`;case 12:return`/${r}/routine/set/${n.id}/edit`;case 13:return`/${r}/routine/set/${n.id}/delete`;case 16:return`/${r}/exercise/contribute`;case 14:return n.slug?`/${r}/exercise/${n.id}/view-base/${xee(n.slug)}`:`/${r}/exercise/${n.id}/view-base`;case 15:return`/${r}/exercise/overview`;case 17:return`/${r}/weight/overview`;case 18:return`/${r}/weight/add`;case 19:return`/${r}/measurement/overview`;case 20:return`/${r}/measurement/category/${n.id}`;case 21:return`/${r}/nutrition/overview`;case 22:return`/${r}/nutrition/${n.id}/view`;case 25:return`/${r}/nutrition/${n.id}/${n.date}`;case 23:return`/${r}/nutrition/${n.id}/pdf`;case 24:return`/${r}/nutrition/${n.id}/copy`;case 26:return`/${r}/nutrition/ingredient/${n.id}/view`;case 0:default:return"/"}}function R_e(e){let t=null;if(document.cookie&&document.cookie!==""){const n=document.cookie.split(";");for(let r=0;r{if(e.length===0)return[];const t=Pt(Yi.INGREDIENT_PATH,{query:{id__in:e.join(",")}}),n=new o_e,r=[];for await(const o of DS(t,kt()))for(const i of o)r.push(n.fromJson(i));return r},__e=async(e,t,n=!0)=>{const r=[t];t!==Gy&&n&&r.push(Gy);const o=Pt(Yi.INGREDIENT_SEARCH_PATH,{query:{term:e,language:r.join(",")}}),{data:i}=await dt.get(o);return i.suggestions};class D_e{constructor(t,n,r,o,i,a,s){nn(this,"ingredient",null);nn(this,"weightUnit",null);this.id=t,this.ingredientId=n,this.weightUnitId=r,this.amount=o,this.order=i,a&&(this.ingredient=a),s&&(this.weightUnit=s)}get amountString(){var t;return this.amount.toFixed().toString()+(this.weightUnitId!==null?` ${(t=this.weightUnit)==null?void 0:t.name}`:"g")}get nutritionalValues(){return this.ingredient?Ga.fromIngredient(this.ingredient,this.amount,this.weightUnit):new Ga}}class cj{fromJson(t){return new D_e(t.id,t.ingredient,t.weight_unit,parseFloat(t.amount),t.order)}toJson(t){return{ingredient:t.ingredientId,weight_unit:t.weightUnitId,amount:t.amount.toString(),order:t.order}}}class N_e{constructor(t,n,r,o=""){this.id=t,this.amount=n,this.grams=r,this.name=o}}class L_e{fromJson(t){return new N_e(t.id,parseFloat(t.amount),t.gram)}}const Cee=async e=>{if(e===null)return null;const{data:t}=await dt.get(Pt(Yi.INGREDIENT_WEIGHT_UNIT,{id:e}),{headers:kt()});return new L_e().fromJson(t)},F_e=async e=>{const t=await dt.post(Pt(Yi.MEAL),e,{headers:kt()});return new aj().fromJson(t.data)},j_e=async e=>{const t=await dt.patch(Pt(Yi.MEAL,{id:e.id}),e,{headers:kt()});return new aj().fromJson(t.data)},B_e=async e=>{await dt.delete(Pt(Yi.MEAL,{id:e}),{headers:kt()})},z_e=async e=>{let t=[];const n=new aj,r=new cj,{data:o}=await dt.get(Pt(Yi.MEAL,{query:{plan:e}}),{headers:kt()}),i=o.results.map(a=>n.fromJson(a));for(const a of i){t=[];const{data:s}=await dt.get(Pt(Yi.MEAL_ITEM,{query:{meal:a.id}}),{headers:kt()}),l=s.results.map(u=>r.fromJson(u));for(const u of l)t.push(u.ingredientId);const c=await See(t);for(const u of l)u.weightUnit=await Cee(u.weightUnitId),u.ingredient=c.find(d=>d.id===u.ingredientId);a.items=l}return i};class V_e{constructor(t,n,r,o,i,a,s,l,c){nn(this,"ingredient",null);nn(this,"weightUnit",null);this.id=t,this.planId=n,this.mealId=r,this.ingredientId=o,this.weightUnitId=i,this.amount=a,this.datetime=s,l&&(this.ingredient=l),c&&(this.weightUnit=c)}get amountString(){var t;return this.amount.toFixed().toString()+(this.weightUnitId!==null?` ${(t=this.weightUnit)==null?void 0:t.name}`:"g")}get nutritionalValues(){return this.ingredient?Ga.fromIngredient(this.ingredient,this.amount,this.weightUnit):(console.log("Diary entry has no ingredient, returning empty NutritionalValues object"),new Ga)}}class uj{fromJson(t){return new V_e(t.id,t.plan,t.meal,t.ingredient,t.weight_unit,parseFloat(t.amount),new Date(t.datetime))}toJson(t){return{plan:t.planId,meal:t.mealId,ingredient:t.ingredientId,weight_unit:t.weightUnitId,amount:t.amount.toString(),datetime:t.datetime.toISOString()}}}const H_e=async(e,t)=>{const n=new uj,r={plan:e,limit:vee};t&&(r.datetime__date=Si(t));const o=Pt(Yi.NUTRITIONAL_DIARY,{query:r}),i=[];for await(const a of DS(o,kt()))for(const s of a){let l=n.fromJson(s);l.weightUnit=await Cee(l.weightUnitId),i.push(l)}return i},Pee=async e=>{const t=await dt.post(Pt(Yi.NUTRITIONAL_DIARY),e,{headers:kt()});return new uj().fromJson(t.data)},U_e=async e=>{const t=await dt.patch(Pt(Yi.NUTRITIONAL_DIARY,{id:e.id}),e,{headers:kt()});return new uj().fromJson(t.data)},Gv="nutritionplan",W_e=async()=>{const{data:e}=await dt.get(Pt(Gv),{headers:kt()}),t=new qI;return e.results.map(n=>t.fromJson(n))},G_e=async()=>{const{data:e}=await dt.get(Pt(Gv,{query:{limit:"1"}}),{headers:kt()});return e.count===0?null:await dj(e.results[0].id)},dj=async(e,t)=>{if(e===null)return null;const{data:n}=await dt.get(Pt(Gv,{id:e}),{headers:kt()}),r=[],i=new qI().fromJson(n),a=await Promise.all([z_e(e),H_e(e,t)]);i.meals=a[0],i.diaryEntries=a[1],i.diaryEntries.forEach(l=>{r.includes(l.ingredientId)||r.push(l.ingredientId)});const s=await See(r);return i.diaryEntries.forEach(l=>{l.ingredient=s.find(c=>c.id===l.ingredientId)}),i.meals.forEach(l=>{l.diaryEntries=i.diaryEntries.filter(c=>c.mealId===l.id)}),i},q_e=async e=>{const t=await dt.post(Pt(Gv),e,{headers:kt()});return new qI().fromJson(t.data)},K_e=async e=>{const t=await dt.patch(Pt(Gv,{id:e.id}),e,{headers:kt()});return new qI().fromJson(t.data)},Y_e=async e=>{await dt.delete(Pt(Gv,{id:e}),{headers:kt()})};function X_e(){return Co({queryKey:[jr.NUTRITIONAL_PLANS],queryFn:()=>W_e()})}function Q_e(){return Co({queryKey:[jr.NUTRITIONAL_PLAN,"last"],queryFn:()=>G_e()})}function J_e(e){return Co({queryKey:[jr.NUTRITIONAL_PLAN,e],queryFn:()=>dj(e)})}function Z_e(e,t,n=!0){return Co({queryKey:[jr.NUTRITIONAL_PLAN,e,t],queryFn:()=>dj(e,new Date(t)),enabled:n})}const eDe=()=>{const e=qr();return co({mutationFn:t=>q_e(t),onSuccess:()=>{e.invalidateQueries({queryKey:[jr.NUTRITIONAL_PLANS]}),e.invalidateQueries({queryKey:[jr.NUTRITIONAL_PLAN]})}})},tDe=e=>{const t=qr();return co({mutationFn:n=>Y_e(n),onSuccess:()=>{t.invalidateQueries({queryKey:[jr.NUTRITIONAL_PLANS]}),t.invalidateQueries({queryKey:[jr.NUTRITIONAL_PLAN,e]})}})},nDe=e=>{const t=qr();return co({mutationFn:n=>K_e(n),onSuccess:()=>{t.invalidateQueries({queryKey:[jr.NUTRITIONAL_PLAN,e]}),t.invalidateQueries({queryKey:[jr.NUTRITIONAL_PLANS]})}})},rDe=e=>{const t=qr();return co({mutationFn:n=>Pee(n),onSuccess:()=>t.invalidateQueries({queryKey:[jr.NUTRITIONAL_PLAN,e]})})},Tee=e=>{const t=qr();return co({mutationFn:n=>Promise.all(n.map(r=>Pee(r))),onSuccess:()=>t.invalidateQueries({queryKey:[jr.NUTRITIONAL_PLAN,e]})})},oDe=e=>{const t=qr();return co({mutationFn:n=>U_e(n),onSuccess:()=>t.invalidateQueries({queryKey:[jr.NUTRITIONAL_PLAN,e]})})},iDe=e=>{const t=qr();return co({mutationFn:n=>F_e(n),onSuccess:()=>{t.invalidateQueries({queryKey:[jr.NUTRITIONAL_PLAN,e]})}})},aDe=e=>{const t=qr();return co({mutationFn:n=>B_e(n),onSuccess:()=>{t.invalidateQueries({queryKey:[jr.NUTRITIONAL_PLAN,e]})}})},sDe=e=>{const t=qr();return co({mutationFn:n=>j_e(n),onSuccess:()=>{t.invalidateQueries({queryKey:[jr.NUTRITIONAL_PLAN,e]})}})},lDe=async e=>{const t=await dt.post(Pt(Yi.MEAL_ITEM),e,{headers:kt()});return new cj().fromJson(t.data)},cDe=async e=>{const t=await dt.patch(Pt(Yi.MEAL_ITEM,{id:e.id}),e,{headers:kt()});return new cj().fromJson(t.data)},uDe=async e=>{await dt.delete(Pt(Yi.MEAL_ITEM,{id:e}),{headers:kt()})},dDe=e=>{const t=qr();return co({mutationFn:n=>lDe(n),onSuccess:()=>{t.invalidateQueries({queryKey:[jr.NUTRITIONAL_PLAN,e]})}})},fDe=e=>{const t=qr();return co({mutationFn:n=>cDe(n),onSuccess:()=>{t.invalidateQueries({queryKey:[jr.NUTRITIONAL_PLAN,e]})}})},pDe=e=>{const t=qr();return co({mutationFn:n=>uDe(n),onSuccess:()=>{t.invalidateQueries({queryKey:[jr.NUTRITIONAL_PLAN,e]})}})};class Eee{constructor(t,n,r){this.date=t,this.weight=n,this.id=r}}class fj{fromJson(t){return new Eee(new Date(t.date),parseFloat(t.weight),t.id)}toJson(t){return{id:t.id,date:Si(t.date),weight:t.weight}}}const KI="weightentry",hDe=async(e="")=>{const t=Z2e(e),n=Pt(KI,{query:{ordering:"-date",limit:900,...t&&{date__gte:t}}}),{data:r}=await dt.get(n,{headers:kt()}),o=new fj;return r.results.map(i=>o.fromJson(i))},mDe=async e=>(await dt.delete(Pt(KI,{id:e}),{headers:kt()})).status,gDe=async e=>{const t=new fj,n=await dt.patch(Pt(KI,{id:e.id}),t.toJson(e),{headers:kt()});return t.fromJson(n)},yDe=async e=>{const t=new fj,n=await dt.post(Pt(KI),t.toJson(e),{headers:kt()});return t.fromJson(n.data)},vDe=22;function bDe(e,t=vDe){return e.length>t?e.slice(0,t)+"…":e}function wDe(e){return e.toLowerCase().replace(/\s/g,"_").replace("(","_").replace(")","_").replace("-","_")}function Xi(e){return`server.${wDe(e)}`}class xDe{constructor(t,n,r,o){this.id=t,this.name=n,this.nameEn=r,this.isFront=o}getName(t){return this.nameEn?`${this.name} (${t(Xi(this.nameEn))})`:this.name}}class Oee{fromJson(t){return new xDe(t.id,t.name,t.name_en,t.is_front)}toJson(t){return{}}}const SDe="muscle",CDe=async()=>{const e=Pt(SDe),{data:t}=await dt.get(e,{headers:kt()}),n=new Oee;return t.results.map(r=>n.fromJson(r))};class PDe{constructor(t,n){this.id=t,this.name=n}}class Iee{fromJson(t){return new PDe(t.id,t.name)}toJson(t){return{id:t.id,name:t.name}}}const TDe="equipment",EDe=async()=>{const e=Pt(TDe),{data:t}=await dt.get(e,{headers:kt()}),n=new Iee;return t.results.map(r=>n.fromJson(r))};class ODe{constructor(t,n){this.id=t,this.name=n}}class kee{fromJson(t){return new ODe(t.id,t.name)}toJson(t){return{id:t.id,name:t.name}}}const IDe="exercisecategory",kDe=async()=>{const e=Pt(IDe),{data:t}=await dt.get(e,{headers:kt()}),n=new kee;return t.results.map(r=>n.fromJson(r))};var xu=(e=>(e[e.LINE_ART=1]="LINE_ART",e[e.THREE_D=2]="THREE_D",e[e.LOW_POLY=3]="LOW_POLY",e[e.PHOTO=4]="PHOTO",e[e.OTHER=5]="OTHER",e))(xu||{});class MDe{constructor(t,n,r,o){this.id=t,this.uuid=n,this.url=r,this.isMain=o}}class R_{fromJson(t){return new MDe(t.id,t.uuid,t.image,t.is_main)}toJson(t){return{id:t.id,image:t.url,is_front:t.isMain}}}class ADe{constructor(t,n,r){this.id=t,this.uuid=n,this.alias=r}}class Mee{fromJson(t){return new ADe(t.id,t.uuid,t.alias)}toJson(t){return{id:t.id,name:t.alias}}}class __{constructor(t,n,r){this.id=t,this.exercise=n,this.note=r}}class Aee{fromJson(t){return new __(t.id,t.exercise,t.comment)}toJson(t){return{id:t.id,comment:t.note,exercise:t.exercise}}}class $ee{constructor(t,n,r,o,i,a,s,l){nn(this,"notes",[]);nn(this,"aliases",[]);nn(this,"authors",[]);this.id=t,this.uuid=n,this.name=r,this.description=o,this.language=i,a&&(this.notes=a),s&&(this.aliases=s),l&&(this.authors=l)}get nameLong(){return bDe(this.name)}get nameSlug(){return xee(this.name)}}class pj{fromJson(t){var n,r;return new $ee(t.id,t.uuid,t.name,t.description,t.language,(n=t.notes)==null?void 0:n.map(o=>new Aee().fromJson(o)),(r=t.aliases)==null?void 0:r.map(o=>new Mee().fromJson(o)),t.author_history)}toJson(t){return{id:t.id,uuid:t.uuid,name:t.name,description:t.description,language:t.language}}}class $De{constructor(t,n,r,o){this.id=t,this.uuid=n,this.url=r,this.isMain=o}}class Ree{fromJson(t){return new $De(t.id,t.uuid,t.video,t.is_main)}toJson(t){return{id:t.id,video:t.url}}}class RDe{constructor(t,n,r,o,i,a,s,l,c,u,d){nn(this,"translations",[]);nn(this,"videos",[]);nn(this,"authors",[]);this.id=t,this.uuid=n,this.category=r,this.equipment=o,this.muscles=i,this.musclesSecondary=a,this.images=s,this.variationId=l,c&&(this.translations=c),u&&(this.videos=u),d&&(this.authors=d)}getTranslation(t){const n=t!=null?t.id:Wy;let r=this.translations.find(o=>o.language===n);return r||(r=this.translations.find(o=>o.language===Wy)),r||this.translations[0]}get availableLanguages(){return this.translations.map(t=>t.language)}get mainImage(){return this.images.find(t=>t.isMain)}get sideImages(){return this.images.filter(t=>!t.isMain)}}class _ee{fromJson(t){const n=new kee,r=new Iee,o=new Oee,i=new R_,a=new pj,s=new Ree,l=new RDe(t.id,t.uuid,n.fromJson(t.category),t.equipment.map(c=>r.fromJson(c)),t.muscles.map(c=>o.fromJson(c)),t.muscles_secondary.map(c=>o.fromJson(c)),t.images.map(c=>i.fromJson(c)),t.variations,t.exercises.map(c=>a.fromJson(c)),t.videos.map(c=>s.fromJson(c)),t.author_history);if(l.translations.some(c=>c.language===Wy)||console.info(`No english translation found for exercise base ${l.uuid}!`),l.translations.length===0)throw new Error(`No translations found for exercise base ${l.uuid}!`);return l}toJson(t){return{id:t.id,uuid:t.uuid,category:t.category.id,equipment:t.equipment.map(n=>n.id),muscles:t.muscles.map(n=>n.id),muscles_secondary:t.musclesSecondary.map(n=>n.id),images:t.images.map(n=>new R_().toJson(n))}}}const hj="exercisebaseinfo",mj="exercise-base";function Dee(e){const t=new _ee,n=[];for(const r of e.results)try{n.push(t.fromJson(r))}catch(o){console.error("An error happened, skipping base:",o)}return n}const _De=async()=>{const e=Pt(hj,{query:{limit:900}}),t=await dt.get(e,{headers:kt()});return Dee(t.data)},YI=async e=>{const t=new _ee,n=Pt(hj,{id:e}),r=await dt.get(n,{headers:kt()});return t.fromJson(r.data)},DDe=async e=>{if(!e)return[];const t=Pt(hj,{query:{variations:e}}),n=await dt.get(t,{headers:kt()});return Dee(n.data)},NDe=async(e,t,n,r,o,i)=>{const a=Pt(mj),s={category:e,equipment:t,muscles:n,muscles_secondary:r,variation_id:o,license_author:i};return(await dt.post(a,s,{headers:kt()})).data.id},gj=async(e,t)=>{const n=Pt(mj,{id:e});return(await dt.patch(n,t,{headers:kt()})).status},GU=async(e,t)=>{const r=Pt(mj,t===void 0?{id:e}:{id:e,query:{replaced_by:t}});return(await dt.delete(r,{headers:kt()})).status},yj="exercise-translation",LDe="exercise/search",FDe=async(e,t=u_e,n=!0)=>{const r=[t];t!==Gy&&n&&r.push(Gy);const o=Pt(LDe,{query:{term:e,language:r.join(",")}}),{data:i}=await dt.get(o);return i.suggestions},D_=async(e,t,n,r,o)=>{const i=Pt(yj),a={exercise_base:e,language:t,name:n,description:r,license_author:o},s=await dt.post(i,a,{headers:kt()});return new pj().fromJson(s.data)},jDe=async(e,t,n,r,o)=>{const i=Pt(yj,{id:e}),a={exercise_base:t,language:n,name:r,description:o},s=await dt.patch(i,a,{headers:kt()});return new pj().fromJson(s.data)},BDe=async e=>{const t=Pt(yj,{id:e});return(await dt.delete(t,{headers:kt()})).status};class Nee{constructor(t,n,r){this.id=t,this.nameShort=n,this.nameLong=r}}class zDe{fromJson(t){return new Nee(t.id,t.short_name,t.full_name)}toJson(t){return{}}}const VDe="language",HDe=async()=>{const e=Pt(VDe),{data:t}=await dt.get(e,{headers:kt()}),n=new zDe;return t.results.map(r=>n.fromJson(r))},Lee=(e,t)=>{const n=e.split("-")[0],r=t.find(o=>o.nameShort===n);if(r)return r},Fee="exerciseimage",jee=async e=>{const t=Pt(Fee),n=kt();n["Content-Type"]="multipart/form-data";const r=await dt.post(t,{exercise_base:e.exerciseId,image:e.image,license_title:e.imageData.title,license_object_url:e.imageData.objectUrl,license_author:e.imageData.author,license_author_url:e.imageData.authorUrl,license_derivative_source_url:e.imageData.derivativeSourceUrl,style:e.imageData.style},{headers:n});return new R_().fromJson(r.data)},UDe=async e=>{const t=Pt(Fee,{id:e}),n=kt();return(await dt.delete(t,{headers:n})).status},Bee="exercisealias",N_=async(e,t)=>{const n=Pt(Bee),r=await dt.post(n,{exercise:e,alias:t},{headers:kt()});return new Mee().fromJson(r.data)},WDe=async e=>(await dt.delete(Pt(Bee,{id:e}),{headers:kt()})).status,zee="video",GDe=async(e,t,n)=>{const r=Pt(zee),o=kt();o["Content-Type"]="multipart/form-data";const i=await dt.post(r,{exercise_base:e,license_author:t,video:n},{headers:o});return new Ree().fromJson(i.data)},qDe=async e=>{const t=Pt(zee,{id:e}),n=kt();return(await dt.delete(t,{headers:n})).status};class KDe{constructor(t,n,r,o){nn(this,"sets",[]);this.id=t,this.description=n,this.daysOfWeek=r,o&&(this.sets=o)}}class YDe{fromJson(t){return new KDe(t.id,t.description,t.day)}toJson(t){return{id:t.id,description:t.description,day:t.daysOfWeek}}}class XDe{constructor(t,n,r,o,i,a,s,l,c,u,d){this.id=t,this.date=n,this.exerciseId=r,this.repetitionUnit=o,this.reps=i,this.weight=a,this.weightUnit=s,this.rir=l,this.repetitionUnitObj=c,this.weightUnitObj=u,this.baseObj=d,c&&(this.repetitionUnitObj=c),u&&(this.weightUnitObj=u),d&&(this.baseObj=d)}get rirString(){return this.rir===null||this.rir===""?"-/-":this.rir}}class QDe{fromJson(t){return new XDe(t.id,new Date(t.date),t.exercise_base,t.repetition_unit,t.reps,t.weight===null?null:Number.parseFloat(t.weight),t.weight_unit,t.rir)}toJson(t){return{id:t.id,exercise_base:t.exerciseId,repetition_unit:t.repetitionUnit,reps:t.reps,weight:t.weight,weight_unit:t.weightUnit,rir:t.rir}}}class JDe{constructor(t,n,r,o,i){nn(this,"days",[]);this.id=t,this.name=n,this.description=r,this.date=o,i&&(this.days=i)}}class Vee{fromJson(t){return new JDe(t.id,t.name,t.description,new Date(t.creation_date))}toJson(t){return{id:t.id,name:t.name,description:t.description,creation_date:Si(t.date)}}}function ZDe(e,t,n){n=n||(s=>s);const r=s=>s.rir?`${s.rir} ${n("routines.rir")}`:"",o=s=>{if(s.repetitionUnit===f_e)return"∞";const l=s.repetitionUnit!==yee?n(Xi(s.repetitionUnitObj.name)):"";return`${s.reps} ${l}`},i=s=>s===null?"":Number.isInteger(s)?s.toString():s.toFixed(2).toString(),a=(s,l=!1)=>{const c=o(s),u=s.weightUnitObj.name,d=i(s.weight),f=r(s);let p=l?c:`${e} × ${c}`.trim();if(d){const m=f?`, ${f}`:"";p+=` (${d} ${u}${m})`}else p+=f?` (${f})`:"";return p};return t.length===1?a(t[0]):t.map(s=>a(s,!0)).join(" – ")}class eNe{constructor(t,n,r,o,i,a){nn(this,"settings",[]);nn(this,"settingsComputed",[]);this.id=t,this.sets=n,this.order=r,this.comment=o,i&&(this.settings=i),a&&(this.settingsComputed=a)}get exercises(){return this.settingsFiltered.map(t=>t.base)}get settingsFiltered(){const t=[];for(const n of this.settings)t.filter(o=>o.exerciseId===n.exerciseId).length===0&&t.push(n);return t}filterSettingsByExercise(t){return this.settings.filter(n=>n.exerciseId===t.id)}getSettingsTextRepresentation(t,n){return n=n||(r=>r),ZDe(this.sets,this.filterSettingsByExercise(t),n)}}class tNe{fromJson(t){return new eNe(t.id,t.sets,t.order,t.comment)}toJson(t){return{id:t.id,sets:t.sets,order:t.order,comment:t.order}}}class nNe{constructor(t,n,r,o,i,a,s,l,c,u,d,f){nn(this,"base");this.id=t,this.date=n,this.exerciseId=r,this.repetitionUnit=o,this.reps=i,this.weight=a,this.weightUnit=s,this.rir=l,this.order=c,this.comment=u,this.repetitionUnitObj=d,this.weightUnitObj=f,d&&(this.repetitionUnitObj=d),f&&(this.weightUnitObj=f)}}class rNe{fromJson(t){return new nNe(t.id,new Date(t.date),t.exercise_base,t.repetition_unit,t.reps,t.weight===null?null:Number.parseFloat(t.weight),t.weight_unit,t.rir,t.order,t.comment)}toJson(t){return{id:t.id,exercise_base:t.exerciseId,repetition_unit:t.repetitionUnit,reps:t.reps,weight:t.weight,weight_unit:t.weightUnit,rir:t.rir,order:t.order,comment:t.comment}}}class oNe{constructor(t,n){nn(this,"id");nn(this,"name");this.id=t,this.name=n}}class iNe{fromJson(t){return new oNe(t.id,t.name)}toJson(t){return{}}}class aNe{constructor(t,n){nn(this,"id");nn(this,"name");this.id=t,this.name=n}}class sNe{fromJson(t){return new aNe(t.id,t.name)}toJson(t){return{}}}const lNe="setting-repetitionunit",cNe="setting-weightunit",Hee=async()=>{const e=Pt(lNe),{data:t}=await dt.get(e,{headers:kt()}),n=new iNe;return t.results.map(r=>n.fromJson(r))},Uee=async()=>{const e=Pt(cNe),{data:t}=await dt.get(e,{headers:kt()}),n=new sNe;return t.results.map(r=>n.fromJson(r))},vj="workout",uNe="workoutlog",dNe="day",fNe="set",pNe="setting",hNe=e=>new Vee().fromJson(e),Wee=async e=>{const t=new Vee,n=new YDe,r=new tNe,o=new rNe,i=await dt.get(Pt(vj,{id:e}),{headers:kt()}),a=t.fromJson(i.data),s=await dt.get(Pt(dNe,{query:{training:a.id.toString()}}),{headers:kt()}),l=await Promise.all([Hee(),Uee()]),c=l[0],u=l[1];for(const d of s.data.results){const f=n.fromJson(d),p=await dt.get(Pt(fNe,{query:{exerciseday:f.id.toString()}}),{headers:kt()});for(const v of p.data.results){const w=r.fromJson(v);f.sets.push(w)}const m=p.data.results.map(v=>dt.get(Pt(pNe,{query:{set:v.id}}),{headers:kt()})),g=await Promise.all(m);for(const v of g)for(const w of v.data.results){const x=f.sets.find(O=>O.id===w.set),S=o.fromJson(w),P=u.find(O=>O.id===S.weightUnit),T=c.find(O=>O.id===S.repetitionUnit),E=x.settings.find(O=>O.exerciseId===S.exerciseId);S.base=E!==void 0?E.base:await YI(S.exerciseId),S.weightUnitObj=P,S.repetitionUnitObj=T,x.settings.push(S)}a.days.push(f)}return a},mNe=async()=>{const e=Pt(vj,{query:{limit:"1"}}),t=await dt.get(e,{headers:kt()});return t.data.count===0?null:await Wee(t.data.results[0].id)},gNe=async e=>await Wee(e),yNe=async()=>{const e=Pt(vj),t=await dt.get(e,{headers:kt()}),n=[];for(const r of t.data.results)n.push(await hNe(r));return n},vNe=async(e,t=!1)=>{const n=new QDe,r=Pt(uNe,{query:{workout:e.toString(),limit:vee,ordering:"-date"}}),o=await Promise.all([Hee(),Uee()]),i=o[0],a=o[1],s=new Map,l=[];for await(const c of DS(r))for(const u of c){const d=n.fromJson(u);d.repetitionUnitObj=i.find(f=>f.id===d.repetitionUnit),d.weightUnitObj=a.find(f=>f.id===d.weightUnit),t&&(s.get(d.exerciseId)===void 0&&s.set(d.exerciseId,await YI(d.exerciseId)),d.baseObj=s.get(d.exerciseId)),l.push(d)}return l};class bNe{constructor(t,n,r,o){nn(this,"entries",[]);this.id=t,this.name=n,this.unit=r,o&&(this.entries=o)}}class XI{fromJson(t){return new bNe(t.id,t.name,t.unit)}toJson(t){return{id:t.id,name:t.name,unit:t.unit}}}class wNe{constructor(t,n,r,o,i){this.id=t,this.category=n,this.date=r,this.value=o,this.notes=i}}class QI{fromJson(t){return new wNe(t.id,t.category,new Date(t.date),t.value,t.notes)}toJson(t){return{id:t.id,category:t.category,date:t.date,value:t.value,notes:t.notes}}}const NS="measurement-category",LS="measurement",xNe=async()=>{const e=new XI,t=new QI,{data:n}=await dt.get(Pt(NS),{headers:kt()}),r=n.results.map(s=>e.fromJson(s)),o=r.map(async s=>{const l=[],c=Pt(LS,{query:{category:s.id}});for await(const u of DS(c,kt()))for(const d of u)l.push(t.fromJson(d));return l}),i=await Promise.all(o);let a;return i.forEach(s=>{s.length>0&&(a=s[0].category,r.findLast(l=>l.id===a).entries=s)}),r},SNe=async e=>{const{data:t}=await dt.get(Pt(NS,{id:e}),{headers:kt()}),n=new XI().fromJson(t),r=new QI,o=[],i=Pt(LS,{query:{category:n.id}});for await(const a of DS(i,kt()))for(const s of a)o.push(r.fromJson(s));return n.entries=o,n},CNe=async e=>{const t=await dt.post(Pt(NS),{name:e.name,unit:e.unit},{headers:kt()});return new XI().fromJson(t.data)},PNe=async e=>{const t=await dt.patch(Pt(NS,{id:e.id}),{name:e.name,unit:e.unit},{headers:kt()});return new XI().fromJson(t.data)},TNe=async e=>{await dt.delete(Pt(NS,{id:e}),{headers:kt()})},ENe=async e=>{await dt.delete(Pt(LS,{id:e}),{headers:kt()})},ONe=async e=>{const t=await dt.patch(Pt(LS,{id:e.id}),{date:Si(e.date),value:e.value,notes:e.notes},{headers:kt()});return new QI().fromJson(t.data)},INe=async e=>{const t=await dt.post(Pt(LS),{category:e.categoryId,date:Si(e.date),value:e.value,notes:e.notes},{headers:kt()});return new QI().fromJson(t.data)};function bi(e,t){return e.toLocaleString(t,{maximumFractionDigits:0})}function Gee(e,t,n){return e.toLocaleString(t,{maximumFractionDigits:0,unit:n.valueOf(),style:"unit"})}function xn(e,t){return Gee(e,t,"gram")}function $$(e,t){return Gee(e,t,"percent")}const ry=e=>{const{i18n:t}=Ue(),n=e.planned>0;return Q(Mt,{children:[C(TZ,{variant:"determinate",value:e.percentage<100?e.percentage:100}),Q(ct,{variant:"caption",children:[e.title," — ",xn(e.logged,t.language),n&&Q(Mt,{children:[" / ",xn(e.planned,t.language)]})]})]})};var kNe=Array.isArray,Ea=kNe,MNe=typeof Bi=="object"&&Bi&&Bi.Object===Object&&Bi,qee=MNe,ANe=qee,$Ne=typeof self=="object"&&self&&self.Object===Object&&self,RNe=ANe||$Ne||Function("return this")(),Kc=RNe,_Ne=Kc,DNe=_Ne.Symbol,FS=DNe,qU=FS,Kee=Object.prototype,NNe=Kee.hasOwnProperty,LNe=Kee.toString,d0=qU?qU.toStringTag:void 0;function FNe(e){var t=NNe.call(e,d0),n=e[d0];try{e[d0]=void 0;var r=!0}catch{}var o=LNe.call(e);return r&&(t?e[d0]=n:delete e[d0]),o}var jNe=FNe,BNe=Object.prototype,zNe=BNe.toString;function VNe(e){return zNe.call(e)}var HNe=VNe,KU=FS,UNe=jNe,WNe=HNe,GNe="[object Null]",qNe="[object Undefined]",YU=KU?KU.toStringTag:void 0;function KNe(e){return e==null?e===void 0?qNe:GNe:YU&&YU in Object(e)?UNe(e):WNe(e)}var ad=KNe;function YNe(e){return e!=null&&typeof e=="object"}var sd=YNe,XNe=ad,QNe=sd,JNe="[object Symbol]";function ZNe(e){return typeof e=="symbol"||QNe(e)&&XNe(e)==JNe}var qv=ZNe,eLe=Ea,tLe=qv,nLe=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,rLe=/^\w*$/;function oLe(e,t){if(eLe(e))return!1;var n=typeof e;return n=="number"||n=="symbol"||n=="boolean"||e==null||tLe(e)?!0:rLe.test(e)||!nLe.test(e)||t!=null&&e in Object(t)}var bj=oLe;function iLe(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Kf=iLe;const Kv=_n(Kf);var aLe=ad,sLe=Kf,lLe="[object AsyncFunction]",cLe="[object Function]",uLe="[object GeneratorFunction]",dLe="[object Proxy]";function fLe(e){if(!sLe(e))return!1;var t=aLe(e);return t==cLe||t==uLe||t==lLe||t==dLe}var wj=fLe;const Ht=_n(wj);var pLe=Kc,hLe=pLe["__core-js_shared__"],mLe=hLe,R$=mLe,XU=function(){var e=/[^.]+$/.exec(R$&&R$.keys&&R$.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function gLe(e){return!!XU&&XU in e}var yLe=gLe,vLe=Function.prototype,bLe=vLe.toString;function wLe(e){if(e!=null){try{return bLe.call(e)}catch{}try{return e+""}catch{}}return""}var Yee=wLe,xLe=wj,SLe=yLe,CLe=Kf,PLe=Yee,TLe=/[\\^$.*+?()[\]{}|]/g,ELe=/^\[object .+?Constructor\]$/,OLe=Function.prototype,ILe=Object.prototype,kLe=OLe.toString,MLe=ILe.hasOwnProperty,ALe=RegExp("^"+kLe.call(MLe).replace(TLe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function $Le(e){if(!CLe(e)||SLe(e))return!1;var t=xLe(e)?ALe:ELe;return t.test(PLe(e))}var RLe=$Le;function _Le(e,t){return e==null?void 0:e[t]}var DLe=_Le,NLe=RLe,LLe=DLe;function FLe(e,t){var n=LLe(e,t);return NLe(n)?n:void 0}var Xh=FLe,jLe=Xh,BLe=jLe(Object,"create"),JI=BLe,QU=JI;function zLe(){this.__data__=QU?QU(null):{},this.size=0}var VLe=zLe;function HLe(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var ULe=HLe,WLe=JI,GLe="__lodash_hash_undefined__",qLe=Object.prototype,KLe=qLe.hasOwnProperty;function YLe(e){var t=this.__data__;if(WLe){var n=t[e];return n===GLe?void 0:n}return KLe.call(t,e)?t[e]:void 0}var XLe=YLe,QLe=JI,JLe=Object.prototype,ZLe=JLe.hasOwnProperty;function eFe(e){var t=this.__data__;return QLe?t[e]!==void 0:ZLe.call(t,e)}var tFe=eFe,nFe=JI,rFe="__lodash_hash_undefined__";function oFe(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=nFe&&t===void 0?rFe:t,this}var iFe=oFe,aFe=VLe,sFe=ULe,lFe=XLe,cFe=tFe,uFe=iFe;function Yv(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t-1}var OFe=EFe,IFe=ZI;function kFe(e,t){var n=this.__data__,r=IFe(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}var MFe=kFe,AFe=pFe,$Fe=xFe,RFe=PFe,_Fe=OFe,DFe=MFe;function Xv(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t0?1:-1},qp=function(t){return jS(t)&&t.indexOf("%")===t.length-1},st=function(t){return eBe(t)&&!Jv(t)},Ro=function(t){return st(t)||jS(t)},oBe=0,Yf=function(t){var n=++oBe;return"".concat(t||"").concat(n)},Vi=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!st(t)&&!jS(t))return r;var i;if(qp(t)){var a=t.indexOf("%");i=n*parseFloat(t.slice(0,a))/100}else i=+t;return Jv(i)&&(i=r),o&&i>n&&(i=n),i},Hd=function(t){if(!t)return null;var n=Object.keys(t);return n&&n.length?t[n[0]]:null},iBe=function(t){if(!Array.isArray(t))return!1;for(var n=t.length,r={},o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function fBe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function F_(e){"@babel/helpers - typeof";return F_=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},F_(e)}var oW={click:"onClick",mousedown:"onMouseDown",mouseup:"onMouseUp",mouseover:"onMouseOver",mousemove:"onMouseMove",mouseout:"onMouseOut",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",touchcancel:"onTouchCancel",touchend:"onTouchEnd",touchmove:"onTouchMove",touchstart:"onTouchStart"},Au=function(t){return typeof t=="string"?t:t?t.displayName||t.name||"Component":""},iW=null,D$=null,Ij=function e(t){if(t===iW&&Array.isArray(D$))return D$;var n=[];return y.Children.forEach(t,function(r){jt(r)||(i0e.isFragment(r)?n=n.concat(e(r.props.children)):n.push(r))}),D$=n,iW=t,n};function qi(e,t){var n=[],r=[];return Array.isArray(t)?r=t.map(function(o){return Au(o)}):r=[Au(t)],Ij(e).forEach(function(o){var i=ts(o,"type.displayName")||ts(o,"type.name");r.indexOf(i)!==-1&&n.push(o)}),n}function Ba(e,t){var n=qi(e,t);return n&&n[0]}var aW=function(t){if(!t||!t.props)return!1;var n=t.props,r=n.width,o=n.height;return!(!st(r)||r<=0||!st(o)||o<=0)},pBe=["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"],hBe=function(t){return t&&t.type&&jS(t.type)&&pBe.indexOf(t.type)>=0},rte=function(t){return t&&F_(t)==="object"&&"clipDot"in t},mBe=function(t,n,r,o){var i,a=(i=_$==null?void 0:_$[o])!==null&&i!==void 0?i:[];return!Ht(t)&&(o&&a.includes(n)||lBe.includes(n))||r&&Oj.includes(n)},$t=function(t,n,r){if(!t||typeof t=="function"||typeof t=="boolean")return null;var o=t;if(y.isValidElement(t)&&(o=t.props),!Kv(o))return null;var i={};return Object.keys(o).forEach(function(a){var s;mBe((s=o)===null||s===void 0?void 0:s[a],a,n,r)&&(i[a]=o[a])}),i},j_=function e(t,n){if(t===n)return!0;var r=y.Children.count(t);if(r!==y.Children.count(n))return!1;if(r===0)return!0;if(r===1)return sW(Array.isArray(t)?t[0]:t,Array.isArray(n)?n[0]:n);for(var o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function wBe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function z_(e){var t=e.children,n=e.width,r=e.height,o=e.viewBox,i=e.className,a=e.style,s=e.title,l=e.desc,c=bBe(e,vBe),u=o||{width:n,height:r,x:0,y:0},d=de("recharts-surface",i);return Y.createElement("svg",B_({},$t(c,!0,"svg"),{className:d,width:n,height:r,style:a,viewBox:"".concat(u.x," ").concat(u.y," ").concat(u.width," ").concat(u.height)}),Y.createElement("title",null,s),Y.createElement("desc",null,l),t)}var xBe=["children","className"];function V_(){return V_=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function CBe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var on=Y.forwardRef(function(e,t){var n=e.children,r=e.className,o=SBe(e,xBe),i=de("recharts-layer",r);return Y.createElement("g",V_({className:i},$t(o,!0),{ref:t}),n)}),Ql=function(t,n){for(var r=arguments.length,o=new Array(r>2?r-2:0),i=2;io?0:o+t),n=n>o?o:n,n<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var i=Array(o);++r=r?e:EBe(e,t,n)}var IBe=OBe,kBe="\\ud800-\\udfff",MBe="\\u0300-\\u036f",ABe="\\ufe20-\\ufe2f",$Be="\\u20d0-\\u20ff",RBe=MBe+ABe+$Be,_Be="\\ufe0e\\ufe0f",DBe="\\u200d",NBe=RegExp("["+DBe+kBe+RBe+_Be+"]");function LBe(e){return NBe.test(e)}var ote=LBe;function FBe(e){return e.split("")}var jBe=FBe,ite="\\ud800-\\udfff",BBe="\\u0300-\\u036f",zBe="\\ufe20-\\ufe2f",VBe="\\u20d0-\\u20ff",HBe=BBe+zBe+VBe,UBe="\\ufe0e\\ufe0f",WBe="["+ite+"]",H_="["+HBe+"]",U_="\\ud83c[\\udffb-\\udfff]",GBe="(?:"+H_+"|"+U_+")",ate="[^"+ite+"]",ste="(?:\\ud83c[\\udde6-\\uddff]){2}",lte="[\\ud800-\\udbff][\\udc00-\\udfff]",qBe="\\u200d",cte=GBe+"?",ute="["+UBe+"]?",KBe="(?:"+qBe+"(?:"+[ate,ste,lte].join("|")+")"+ute+cte+")*",YBe=ute+cte+KBe,XBe="(?:"+[ate+H_+"?",H_,ste,lte,WBe].join("|")+")",QBe=RegExp(U_+"(?="+U_+")|"+XBe+YBe,"g");function JBe(e){return e.match(QBe)||[]}var ZBe=JBe,eze=jBe,tze=ote,nze=ZBe;function rze(e){return tze(e)?nze(e):eze(e)}var oze=rze,ize=IBe,aze=ote,sze=oze,lze=Zee;function cze(e){return function(t){t=lze(t);var n=aze(t)?sze(t):void 0,r=n?n[0]:t.charAt(0),o=n?ize(n,1).join(""):t.slice(1);return r[e]()+o}}var uze=cze,dze=uze,fze=dze("toUpperCase"),pze=fze;const rk=_n(pze);function br(e){return function(){return e}}const dte=Math.cos,JT=Math.sin,cc=Math.sqrt,ZT=Math.PI,ok=2*ZT,W_=Math.PI,G_=2*W_,Dp=1e-6,hze=G_-Dp;function fte(e){this._+=e[0];for(let t=1,n=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return fte;const n=10**t;return function(r){this._+=r[0];for(let o=1,i=r.length;oDp)if(!(Math.abs(d*l-c*u)>Dp)||!i)this._append`L${this._x1=t},${this._y1=n}`;else{let p=r-a,m=o-s,g=l*l+c*c,v=p*p+m*m,w=Math.sqrt(g),x=Math.sqrt(f),S=i*Math.tan((W_-Math.acos((g+f-v)/(2*w*x)))/2),P=S/x,T=S/w;Math.abs(P-1)>Dp&&this._append`L${t+P*u},${n+P*d}`,this._append`A${i},${i},0,0,${+(d*p>u*m)},${this._x1=t+T*l},${this._y1=n+T*c}`}}arc(t,n,r,o,i,a){if(t=+t,n=+n,r=+r,a=!!a,r<0)throw new Error(`negative radius: ${r}`);let s=r*Math.cos(o),l=r*Math.sin(o),c=t+s,u=n+l,d=1^a,f=a?o-i:i-o;this._x1===null?this._append`M${c},${u}`:(Math.abs(this._x1-c)>Dp||Math.abs(this._y1-u)>Dp)&&this._append`L${c},${u}`,r&&(f<0&&(f=f%G_+G_),f>hze?this._append`A${r},${r},0,1,${d},${t-s},${n-l}A${r},${r},0,1,${d},${this._x1=c},${this._y1=u}`:f>Dp&&this._append`A${r},${r},0,${+(f>=W_)},${d},${this._x1=t+r*Math.cos(i)},${this._y1=n+r*Math.sin(i)}`)}rect(t,n,r,o){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}h${r=+r}v${+o}h${-r}Z`}toString(){return this._}}function kj(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{const r=Math.floor(n);if(!(r>=0))throw new RangeError(`invalid digits: ${n}`);t=r}return e},()=>new gze(t)}function Mj(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function pte(e){this._context=e}pte.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),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:this._context.lineTo(e,t);break}}};function ik(e){return new pte(e)}function hte(e){return e[0]}function mte(e){return e[1]}function gte(e,t){var n=br(!0),r=null,o=ik,i=null,a=kj(s);e=typeof e=="function"?e:e===void 0?hte:br(e),t=typeof t=="function"?t:t===void 0?mte:br(t);function s(l){var c,u=(l=Mj(l)).length,d,f=!1,p;for(r==null&&(i=o(p=a())),c=0;c<=u;++c)!(c=p;--m)s.point(S[m],P[m]);s.lineEnd(),s.areaEnd()}w&&(S[f]=+e(v,f,d),P[f]=+t(v,f,d),s.point(r?+r(v,f,d):S[f],n?+n(v,f,d):P[f]))}if(x)return s=null,x+""||null}function u(){return gte().defined(o).curve(a).context(i)}return c.x=function(d){return arguments.length?(e=typeof d=="function"?d:br(+d),r=null,c):e},c.x0=function(d){return arguments.length?(e=typeof d=="function"?d:br(+d),c):e},c.x1=function(d){return arguments.length?(r=d==null?null:typeof d=="function"?d:br(+d),c):r},c.y=function(d){return arguments.length?(t=typeof d=="function"?d:br(+d),n=null,c):t},c.y0=function(d){return arguments.length?(t=typeof d=="function"?d:br(+d),c):t},c.y1=function(d){return arguments.length?(n=d==null?null:typeof d=="function"?d:br(+d),c):n},c.lineX0=c.lineY0=function(){return u().x(e).y(t)},c.lineY1=function(){return u().x(e).y(n)},c.lineX1=function(){return u().x(r).y(t)},c.defined=function(d){return arguments.length?(o=typeof d=="function"?d:br(!!d),c):o},c.curve=function(d){return arguments.length?(a=d,i!=null&&(s=a(i)),c):a},c.context=function(d){return arguments.length?(d==null?i=s=null:s=a(i=d),c):i},c}class yte{constructor(t,n){this._context=t,this._x=n}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(t,n){switch(t=+t,n=+n,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,n,t,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,t,this._y0,t,n);break}}this._x0=t,this._y0=n}}function yze(e){return new yte(e,!0)}function vze(e){return new yte(e,!1)}const Aj={draw(e,t){const n=cc(t/ZT);e.moveTo(n,0),e.arc(0,0,n,0,ok)}},bze={draw(e,t){const n=cc(t/5)/2;e.moveTo(-3*n,-n),e.lineTo(-n,-n),e.lineTo(-n,-3*n),e.lineTo(n,-3*n),e.lineTo(n,-n),e.lineTo(3*n,-n),e.lineTo(3*n,n),e.lineTo(n,n),e.lineTo(n,3*n),e.lineTo(-n,3*n),e.lineTo(-n,n),e.lineTo(-3*n,n),e.closePath()}},vte=cc(1/3),wze=vte*2,xze={draw(e,t){const n=cc(t/wze),r=n*vte;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},Sze={draw(e,t){const n=cc(t),r=-n/2;e.rect(r,r,n,n)}},Cze=.8908130915292852,bte=JT(ZT/10)/JT(7*ZT/10),Pze=JT(ok/10)*bte,Tze=-dte(ok/10)*bte,Eze={draw(e,t){const n=cc(t*Cze),r=Pze*n,o=Tze*n;e.moveTo(0,-n),e.lineTo(r,o);for(let i=1;i<5;++i){const a=ok*i/5,s=dte(a),l=JT(a);e.lineTo(l*n,-s*n),e.lineTo(s*r-l*o,l*r+s*o)}e.closePath()}},N$=cc(3),Oze={draw(e,t){const n=-cc(t/(N$*3));e.moveTo(0,n*2),e.lineTo(-N$*n,-n),e.lineTo(N$*n,-n),e.closePath()}},Is=-.5,ks=cc(3)/2,q_=1/cc(12),Ize=(q_/2+1)*3,kze={draw(e,t){const n=cc(t/Ize),r=n/2,o=n*q_,i=r,a=n*q_+n,s=-i,l=a;e.moveTo(r,o),e.lineTo(i,a),e.lineTo(s,l),e.lineTo(Is*r-ks*o,ks*r+Is*o),e.lineTo(Is*i-ks*a,ks*i+Is*a),e.lineTo(Is*s-ks*l,ks*s+Is*l),e.lineTo(Is*r+ks*o,Is*o-ks*r),e.lineTo(Is*i+ks*a,Is*a-ks*i),e.lineTo(Is*s+ks*l,Is*l-ks*s),e.closePath()}};function Mze(e,t){let n=null,r=kj(o);e=typeof e=="function"?e:br(e||Aj),t=typeof t=="function"?t:br(t===void 0?64:+t);function o(){let i;if(n||(n=i=r()),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),i)return n=null,i+""||null}return o.type=function(i){return arguments.length?(e=typeof i=="function"?i:br(i),o):e},o.size=function(i){return arguments.length?(t=typeof i=="function"?i:br(+i),o):t},o.context=function(i){return arguments.length?(n=i??null,o):n},o}function eE(){}function tE(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function wte(e){this._context=e}wte.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:tE(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),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;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:tE(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Aze(e){return new wte(e)}function xte(e){this._context=e}xte.prototype={areaStart:eE,areaEnd:eE,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:tE(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function $ze(e){return new xte(e)}function Ste(e){this._context=e}Ste.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:tE(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Rze(e){return new Ste(e)}function Cte(e){this._context=e}Cte.prototype={areaStart:eE,areaEnd:eE,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function _ze(e){return new Cte(e)}function cW(e){return e<0?-1:1}function uW(e,t,n){var r=e._x1-e._x0,o=t-e._x1,i=(e._y1-e._y0)/(r||o<0&&-0),a=(n-e._y1)/(o||r<0&&-0),s=(i*o+a*r)/(r+o);return(cW(i)+cW(a))*Math.min(Math.abs(i),Math.abs(a),.5*Math.abs(s))||0}function dW(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function L$(e,t,n){var r=e._x0,o=e._y0,i=e._x1,a=e._y1,s=(i-r)/3;e._context.bezierCurveTo(r+s,o+s*t,i-s,a-s*n,i,a)}function nE(e){this._context=e}nE.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:L$(this,this._t0,dW(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(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;break;case 2:this._point=3,L$(this,dW(this,n=uW(this,e,t)),n);break;default:L$(this,this._t0,n=uW(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}};function Pte(e){this._context=new Tte(e)}(Pte.prototype=Object.create(nE.prototype)).point=function(e,t){nE.prototype.point.call(this,t,e)};function Tte(e){this._context=e}Tte.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,n,r,o,i){this._context.bezierCurveTo(t,e,r,n,i,o)}};function Dze(e){return new nE(e)}function Nze(e){return new Pte(e)}function Ete(e){this._context=e}Ete.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,n=e.length;if(n)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),n===2)this._context.lineTo(e[1],t[1]);else for(var r=fW(e),o=fW(t),i=0,a=1;a=0;--t)o[t]=(a[t]-o[t+1])/i[t];for(i[n-1]=(e[n]+o[n-1])/2,t=0;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)}break}}this._x=e,this._y=t}};function Fze(e){return new ak(e,.5)}function jze(e){return new ak(e,0)}function Bze(e){return new ak(e,1)}function qy(e,t){if((a=e.length)>1)for(var n=1,r,o,i=e[t[0]],a,s=i.length;n=0;)n[t]=t;return n}function zze(e,t){return e[t]}function Vze(e){const t=[];return t.key=e,t}function Hze(){var e=br([]),t=K_,n=qy,r=zze;function o(i){var a=Array.from(e.apply(this,arguments),Vze),s,l=a.length,c=-1,u;for(const d of i)for(s=0,++c;s0){for(var n,r,o=0,i=e[0].length,a;o0){for(var n=0,r=e[t[0]],o,i=r.length;n0)||!((i=(o=e[t[0]]).length)>0))){for(var n=0,r=1,o,i,a;r=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Jze(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var Ote={symbolCircle:Aj,symbolCross:bze,symbolDiamond:xze,symbolSquare:Sze,symbolStar:Eze,symbolTriangle:Oze,symbolWye:kze},Zze=Math.PI/180,eVe=function(t){var n="symbol".concat(rk(t));return Ote[n]||Aj},tVe=function(t,n,r){if(n==="area")return t;switch(r){case"cross":return 5*t*t/9;case"diamond":return .5*t*t/Math.sqrt(3);case"square":return t*t;case"star":{var o=18*Zze;return 1.25*t*t*(Math.tan(o)-Math.tan(o*2)*Math.pow(Math.tan(o),2))}case"triangle":return Math.sqrt(3)*t*t/4;case"wye":return(21-10*Math.sqrt(3))*t*t/8;default:return Math.PI*t*t/4}},nVe=function(t,n){Ote["symbol".concat(rk(t))]=n},sk=function(t){var n=t.type,r=n===void 0?"circle":n,o=t.size,i=o===void 0?64:o,a=t.sizeType,s=a===void 0?"area":a,l=Qze(t,qze),c=hW(hW({},l),{},{type:r,size:i,sizeType:s}),u=function(){var v=eVe(r),w=Mze().type(v).size(tVe(i,s,r));return w()},d=c.className,f=c.cx,p=c.cy,m=$t(c,!0);return f===+f&&p===+p&&i===+i?Y.createElement("path",Y_({},m,{className:de("recharts-symbols",d),transform:"translate(".concat(f,", ").concat(p,")"),d:u()})):null};sk.registerSymbol=nVe;function Ky(e){"@babel/helpers - typeof";return Ky=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ky(e)}function X_(){return X_=Object.assign?Object.assign.bind():function(e){for(var t=1;t`);var y=p.inactive?c:p.color;return V.createElement("li",sk({className:v,style:d,key:"legend-item-".concat(h)},Ic(r.props,p,h)),V.createElement(JT,{width:a,height:a,viewBox:u,style:f},r.renderIcon(p)),V.createElement("span",{className:"recharts-legend-item-text",style:{color:y}},m?m(b,p,h):b))})}},{key:"render",value:function(){var r=this.props,o=r.payload,i=r.layout,a=r.align;if(!o||!o.length)return null;var s={padding:0,margin:0,textAlign:i==="horizontal"?a:"left"};return V.createElement("ul",{className:"recharts-default-legend",style:s},this.renderItems())}}]),t}(g.PureComponent);mv(rR,"displayName","Legend");mv(rR,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"middle",inactiveColor:"#ccc"});var rIe=eS;function oIe(){this.__data__=new rIe,this.size=0}var iIe=oIe;function aIe(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}var sIe=aIe;function lIe(e){return this.__data__.get(e)}var cIe=lIe;function uIe(e){return this.__data__.has(e)}var dIe=uIe,fIe=eS,pIe=qA,hIe=KA,mIe=200;function gIe(e,t){var n=this.__data__;if(n instanceof fIe){var r=n.__data__;if(!pIe||r.lengths))return!1;var c=i.get(e),u=i.get(t);if(c&&u)return c==t&&u==e;var d=-1,f=!0,p=n&jIe?new _Ie:void 0;for(i.set(e,t),i.set(t,e);++d-1&&e%1==0&&e-1&&e%1==0&&e<=V$e}var sR=H$e,U$e=Ol,W$e=sR,G$e=Tl,q$e="[object Arguments]",K$e="[object Array]",Y$e="[object Boolean]",Q$e="[object Date]",X$e="[object Error]",J$e="[object Function]",Z$e="[object Map]",eMe="[object Number]",tMe="[object Object]",nMe="[object RegExp]",rMe="[object Set]",oMe="[object String]",iMe="[object WeakMap]",aMe="[object ArrayBuffer]",sMe="[object DataView]",lMe="[object Float32Array]",cMe="[object Float64Array]",uMe="[object Int8Array]",dMe="[object Int16Array]",fMe="[object Int32Array]",pMe="[object Uint8Array]",hMe="[object Uint8ClampedArray]",mMe="[object Uint16Array]",gMe="[object Uint32Array]",Pn={};Pn[lMe]=Pn[cMe]=Pn[uMe]=Pn[dMe]=Pn[fMe]=Pn[pMe]=Pn[hMe]=Pn[mMe]=Pn[gMe]=!0;Pn[q$e]=Pn[K$e]=Pn[aMe]=Pn[Y$e]=Pn[sMe]=Pn[Q$e]=Pn[X$e]=Pn[J$e]=Pn[Z$e]=Pn[eMe]=Pn[tMe]=Pn[nMe]=Pn[rMe]=Pn[oMe]=Pn[iMe]=!1;function vMe(e){return G$e(e)&&W$e(e.length)&&!!Pn[U$e(e)]}var yMe=vMe;function bMe(e){return function(t){return e(t)}}var E9=bMe,ow={exports:{}};ow.exports;(function(e,t){var n=DG,r=t&&!t.nodeType&&t,o=r&&!0&&e&&!e.nodeType&&e,i=o&&o.exports===r,a=i&&n.process,s=function(){try{var l=o&&o.require&&o.require("util").types;return l||a&&a.binding&&a.binding("util")}catch{}}();e.exports=s})(ow,ow.exports);var xMe=ow.exports,wMe=yMe,CMe=E9,sF=xMe,lF=sF&&sF.isTypedArray,SMe=lF?CMe(lF):wMe,O9=SMe,PMe=T$e,EMe=iR,OMe=jo,TMe=P9,kMe=aR,IMe=O9,$Me=Object.prototype,MMe=$Me.hasOwnProperty;function AMe(e,t){var n=OMe(e),r=!n&&EMe(e),o=!n&&!r&&TMe(e),i=!n&&!r&&!o&&IMe(e),a=n||r||o||i,s=a?PMe(e.length,String):[],l=s.length;for(var c in e)(t||MMe.call(e,c))&&!(a&&(c=="length"||o&&(c=="offset"||c=="parent")||i&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||kMe(c,l)))&&s.push(c);return s}var RMe=AMe,_Me=Object.prototype;function DMe(e){var t=e&&e.constructor,n=typeof t=="function"&&t.prototype||_Me;return e===n}var NMe=DMe;function LMe(e,t){return function(n){return e(t(n))}}var T9=LMe,jMe=T9,FMe=jMe(Object.keys,Object),BMe=FMe,zMe=NMe,VMe=BMe,HMe=Object.prototype,UMe=HMe.hasOwnProperty;function WMe(e){if(!zMe(e))return VMe(e);var t=[];for(var n in Object(e))UMe.call(e,n)&&n!="constructor"&&t.push(n);return t}var GMe=WMe,qMe=WA,KMe=sR;function YMe(e){return e!=null&&KMe(e.length)&&!qMe(e)}var By=YMe,QMe=RMe,XMe=GMe,JMe=By;function ZMe(e){return JMe(e)?QMe(e):XMe(e)}var lS=ZMe,eAe=m$e,tAe=E$e,nAe=lS;function rAe(e){return eAe(e,nAe,tAe)}var oAe=rAe,cF=oAe,iAe=1,aAe=Object.prototype,sAe=aAe.hasOwnProperty;function lAe(e,t,n,r,o,i){var a=n&iAe,s=cF(e),l=s.length,c=cF(t),u=c.length;if(l!=u&&!a)return!1;for(var d=l;d--;){var f=s[d];if(!(a?f in t:sAe.call(t,f)))return!1}var p=i.get(e),h=i.get(t);if(p&&h)return p==t&&h==e;var m=!0;i.set(e,t),i.set(t,e);for(var v=a;++d-1}var a_e=i_e;function s_e(e,t,n){for(var r=-1,o=e==null?0:e.length;++r=C_e){var c=t?null:x_e(e);if(c)return w_e(c);a=!1,o=b_e,l=new g_e}else l=t?[]:s;e:for(;++r=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function L_e(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}function j_e(e){return e.value}function F_e(e,t){if(V.isValidElement(e))return V.cloneElement(e,t);if(typeof e=="function")return V.createElement(e,t);t.ref;var n=N_e(t,I_e);return V.createElement(rR,n)}var EF=1,$c=function(e){__e(t,e);function t(){var n;$_e(this,t);for(var r=arguments.length,o=new Array(r),i=0;iEF||Math.abs(o.height-this.lastBoundingBox.height)>EF)&&(this.lastBoundingBox.width=o.width,this.lastBoundingBox.height=o.height,r&&r(o)):(this.lastBoundingBox.width!==-1||this.lastBoundingBox.height!==-1)&&(this.lastBoundingBox.width=-1,this.lastBoundingBox.height=-1,r&&r(null))}},{key:"getBBoxSnapshot",value:function(){return this.lastBoundingBox.width>=0&&this.lastBoundingBox.height>=0?tu({},this.lastBoundingBox):{width:0,height:0}}},{key:"getDefaultPosition",value:function(r){var o=this.props,i=o.layout,a=o.align,s=o.verticalAlign,l=o.margin,c=o.chartWidth,u=o.chartHeight,d,f;if(!r||(r.left===void 0||r.left===null)&&(r.right===void 0||r.right===null))if(a==="center"&&i==="vertical"){var p=this.getBBoxSnapshot();d={left:((c||0)-p.width)/2}}else d=a==="right"?{right:l&&l.right||0}:{left:l&&l.left||0};if(!r||(r.top===void 0||r.top===null)&&(r.bottom===void 0||r.bottom===null))if(s==="middle"){var h=this.getBBoxSnapshot();f={top:((u||0)-h.height)/2}}else f=s==="bottom"?{bottom:l&&l.bottom||0}:{top:l&&l.top||0};return tu(tu({},d),f)}},{key:"render",value:function(){var r=this,o=this.props,i=o.content,a=o.width,s=o.height,l=o.wrapperStyle,c=o.payloadUniqBy,u=o.payload,d=tu(tu({position:"absolute",width:a||"auto",height:s||"auto"},this.getDefaultPosition(l)),l);return V.createElement("div",{className:"recharts-legend-wrapper",style:d,ref:function(p){r.wrapperNode=p}},F_e(i,tu(tu({},this.props),{},{payload:_9(u,c,j_e)})))}}],[{key:"getWithHeight",value:function(r,o){var i=r.props.layout;return i==="vertical"&&Ne(r.props.height)?{height:r.props.height}:i==="horizontal"?{width:r.props.width||o}:null}}]),t}(g.PureComponent);cS($c,"displayName","Legend");cS($c,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"bottom"});var OF=Ly,B_e=iR,z_e=jo,TF=OF?OF.isConcatSpreadable:void 0;function V_e(e){return z_e(e)||B_e(e)||!!(TF&&e&&e[TF])}var H_e=V_e,U_e=C9,W_e=H_e;function j9(e,t,n,r,o){var i=-1,a=e.length;for(n||(n=W_e),o||(o=[]);++i0&&n(s)?t>1?j9(s,t-1,n,r,o):U_e(o,s):r||(o[o.length]=s)}return o}var F9=j9;function G_e(e){return function(t,n,r){for(var o=-1,i=Object(t),a=r(t),s=a.length;s--;){var l=a[e?s:++o];if(n(i[l],l,i)===!1)break}return t}}var q_e=G_e,K_e=q_e,Y_e=K_e(),Q_e=Y_e,X_e=Q_e,J_e=lS;function Z_e(e,t){return e&&X_e(e,t,J_e)}var B9=Z_e,e2e=By;function t2e(e,t){return function(n,r){if(n==null)return n;if(!e2e(n))return e(n,r);for(var o=n.length,i=t?o:-1,a=Object(n);(t?i--:++it||i&&a&&l&&!s&&!c||r&&a&&l||!n&&l||!o)return 1;if(!r&&!i&&!c&&e=s)return l;var c=n[r];return l*(c=="desc"?-1:1)}}return e.index-t.index}var m2e=h2e,yE=QA,g2e=XA,v2e=Ts,y2e=z9,b2e=u2e,x2e=E9,w2e=m2e,C2e=Mh,S2e=jo;function P2e(e,t,n){t.length?t=yE(t,function(i){return S2e(i)?function(a){return g2e(a,i.length===1?i[0]:i)}:i}):t=[C2e];var r=-1;t=yE(t,x2e(v2e));var o=y2e(e,function(i,a,s){var l=yE(t,function(c){return c(i)});return{criteria:l,index:++r,value:i}});return b2e(o,function(i,a){return w2e(i,a,n)})}var E2e=P2e;function O2e(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}var T2e=O2e,k2e=T2e,IF=Math.max;function I2e(e,t,n){return t=IF(t===void 0?e.length-1:t,0),function(){for(var r=arguments,o=-1,i=IF(r.length-t,0),a=Array(i);++o0){if(++t>=F2e)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var H2e=V2e,U2e=j2e,W2e=H2e,G2e=W2e(U2e),q2e=G2e,K2e=Mh,Y2e=$2e,Q2e=q2e;function X2e(e,t){return Q2e(Y2e(e,t,K2e),e+"")}var J2e=X2e,Z2e=GA,eDe=By,tDe=aR,nDe=Uc;function rDe(e,t,n){if(!nDe(n))return!1;var r=typeof t;return(r=="number"?eDe(n)&&tDe(t,n.length):r=="string"&&t in n)?Z2e(n[t],e):!1}var uS=rDe,oDe=F9,iDe=E2e,aDe=J2e,MF=uS,sDe=aDe(function(e,t){if(e==null)return[];var n=t.length;return n>1&&MF(e,t[0],t[1])?t=[]:n>2&&MF(t[0],t[1],t[2])&&(t=[t[0]]),iDe(e,oDe(t,1),[])}),lDe=sDe;const uR=Ht(lDe);function gv(e){"@babel/helpers - typeof";return gv=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},gv(e)}function mk(){return mk=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=t.x),"".concat(Em,"-left"),Ne(n)&&t&&Ne(t.x)&&n=t.y),"".concat(Em,"-top"),Ne(r)&&t&&Ne(t.y)&&rm?Math.max(u,l[r]):Math.max(d,l[r])}function SDe(e){var t=e.translateX,n=e.translateY,r=e.useTranslate3d;return{transform:r?"translate3d(".concat(t,"px, ").concat(n,"px, 0)"):"translate(".concat(t,"px, ").concat(n,"px)")}}function PDe(e){var t=e.allowEscapeViewBox,n=e.coordinate,r=e.offsetTopLeft,o=e.position,i=e.reverseDirection,a=e.tooltipBox,s=e.useTranslate3d,l=e.viewBox,c,u,d;return a.height>0&&a.width>0&&n?(u=_F({allowEscapeViewBox:t,coordinate:n,key:"x",offsetTopLeft:r,position:o,reverseDirection:i,tooltipDimension:a.width,viewBox:l,viewBoxDimension:l.width}),d=_F({allowEscapeViewBox:t,coordinate:n,key:"y",offsetTopLeft:r,position:o,reverseDirection:i,tooltipDimension:a.height,viewBox:l,viewBoxDimension:l.height}),c=SDe({translateX:u,translateY:d,useTranslate3d:s})):c=wDe,{cssProperties:c,cssClasses:CDe({translateX:u,translateY:d,coordinate:n})}}function $p(e){"@babel/helpers - typeof";return $p=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},$p(e)}function DF(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function NF(e){for(var t=1;tLF||Math.abs(r.height-this.state.lastBoundingBox.height)>LF)&&this.setState({lastBoundingBox:{width:r.width,height:r.height}})}else(this.state.lastBoundingBox.width!==-1||this.state.lastBoundingBox.height!==-1)&&this.setState({lastBoundingBox:{width:-1,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 r,o;this.props.active&&this.updateBBox(),this.state.dismissed&&(((r=this.props.coordinate)===null||r===void 0?void 0:r.x)!==this.state.dismissedAtCoordinate.x||((o=this.props.coordinate)===null||o===void 0?void 0:o.y)!==this.state.dismissedAtCoordinate.y)&&(this.state.dismissed=!1)}},{key:"render",value:function(){var r=this,o=this.props,i=o.active,a=o.allowEscapeViewBox,s=o.animationDuration,l=o.animationEasing,c=o.children,u=o.coordinate,d=o.hasPayload,f=o.isAnimationActive,p=o.offset,h=o.position,m=o.reverseDirection,v=o.useTranslate3d,b=o.viewBox,y=o.wrapperStyle,w=PDe({allowEscapeViewBox:a,coordinate:u,offsetTopLeft:p,position:h,reverseDirection:m,tooltipBox:this.state.lastBoundingBox,useTranslate3d:v,viewBox:b}),C=w.cssClasses,O=w.cssProperties,P=NF(NF({transition:f&&i?"transform ".concat(s,"ms ").concat(l):void 0},O),{},{pointerEvents:"none",visibility:!this.state.dismissed&&i&&d?"visible":"hidden",position:"absolute",top:0,left:0},y);return V.createElement("div",{tabIndex:-1,className:C,style:P,ref:function(T){r.wrapperNode=T}},c)}}]),t}(g.PureComponent),RDe=function(){return!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout)},Ma={isSsr:RDe(),get:function(t){return Ma[t]},set:function(t,n){if(typeof t=="string")Ma[t]=n;else{var r=Object.keys(t);r&&r.length&&r.forEach(function(o){Ma[o]=t[o]})}}};function Mp(e){"@babel/helpers - typeof";return Mp=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Mp(e)}function jF(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function FF(e){for(var t=1;t0;return V.createElement(ADe,{allowEscapeViewBox:a,animationDuration:s,animationEasing:l,isAnimationActive:f,active:i,coordinate:u,hasPayload:P,offset:p,position:v,reverseDirection:b,useTranslate3d:y,viewBox:w,wrapperStyle:C},HDe(c,FF(FF({},this.props),{},{payload:O})))}}]),t}(g.PureComponent);dR(Di,"displayName","Tooltip");dR(Di,"defaultProps",{accessibilityLayer:!1,allowEscapeViewBox:{x:!1,y:!1},animationDuration:400,animationEasing:"ease",contentStyle:{},coordinate:{x:0,y:0},cursor:!0,cursorStyle:{},filterNull:!0,isAnimationActive:!Ma.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 UDe=Os,WDe=function(){return UDe.Date.now()},GDe=WDe,qDe=/\s/;function KDe(e){for(var t=e.length;t--&&qDe.test(e.charAt(t)););return t}var YDe=KDe,QDe=YDe,XDe=/^\s+/;function JDe(e){return e&&e.slice(0,QDe(e)+1).replace(XDe,"")}var ZDe=JDe,eNe=ZDe,BF=Uc,tNe=Ph,zF=NaN,nNe=/^[-+]0x[0-9a-f]+$/i,rNe=/^0b[01]+$/i,oNe=/^0o[0-7]+$/i,iNe=parseInt;function aNe(e){if(typeof e=="number")return e;if(tNe(e))return zF;if(BF(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=BF(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=eNe(e);var n=rNe.test(e);return n||oNe.test(e)?iNe(e.slice(2),n?2:8):nNe.test(e)?zF:+e}var q9=aNe,sNe=Uc,xE=GDe,VF=q9,lNe="Expected a function",cNe=Math.max,uNe=Math.min;function dNe(e,t,n){var r,o,i,a,s,l,c=0,u=!1,d=!1,f=!0;if(typeof e!="function")throw new TypeError(lNe);t=VF(t)||0,sNe(n)&&(u=!!n.leading,d="maxWait"in n,i=d?cNe(VF(n.maxWait)||0,t):i,f="trailing"in n?!!n.trailing:f);function p(P){var E=r,T=o;return r=o=void 0,c=P,a=e.apply(T,E),a}function h(P){return c=P,s=setTimeout(b,t),u?p(P):a}function m(P){var E=P-l,T=P-c,$=t-E;return d?uNe($,i-T):$}function v(P){var E=P-l,T=P-c;return l===void 0||E>=t||E<0||d&&T>=i}function b(){var P=xE();if(v(P))return y(P);s=setTimeout(b,m(P))}function y(P){return s=void 0,f&&r?p(P):(r=o=void 0,a)}function w(){s!==void 0&&clearTimeout(s),c=0,r=l=o=s=void 0}function C(){return s===void 0?a:y(xE())}function O(){var P=xE(),E=v(P);if(r=arguments,o=this,l=P,E){if(s===void 0)return h(l);if(d)return clearTimeout(s),s=setTimeout(b,t),p(l)}return s===void 0&&(s=setTimeout(b,t)),a}return O.cancel=w,O.flush=C,O}var fNe=dNe,pNe=fNe,hNe=Uc,mNe="Expected a function";function gNe(e,t,n){var r=!0,o=!0;if(typeof e!="function")throw new TypeError(mNe);return hNe(n)&&(r="leading"in n?!!n.leading:r,o="trailing"in n?!!n.trailing:o),pNe(e,t,{leading:r,maxWait:t,trailing:o})}var vNe=gNe;const dS=Ht(vNe);function yv(e){"@babel/helpers - typeof";return yv=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},yv(e)}function HF(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function Qb(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&(N=dS(N,m,{trailing:!0,leading:!1}));var R=new ResizeObserver(N),I=O.current.getBoundingClientRect(),A=I.width,F=I.height;return D(A,F),R.observe(O.current),function(){R.disconnect()}},[D,m]);var L=g.useMemo(function(){var N=$.containerWidth,R=$.containerHeight;if(N<0||R<0)return null;$a(Ou(a)||Ou(l),`The width(%s) and height(%s) are both fixed numbers, - maybe you don't need to use a ResponsiveContainer.`,a,l),$a(!n||n>0,"The aspect(%s) must be greater than zero.",n);var I=Ou(a)?N:a,A=Ou(l)?R:l;n&&n>0&&(I?A=I/n:A&&(I=A*n),f&&A>f&&(A=f)),$a(I>0||A>0,`The width(%s) and height(%s) of chart should be greater than 0, + H`).concat(Ms,"M").concat(2*s,",").concat(i,` + A`).concat(a,",").concat(a,",0,1,1,").concat(s,",").concat(i),className:"recharts-legend-icon"});if(r.type==="rect")return Y.createElement("path",{stroke:"none",fill:l,d:"M0,".concat(Ms/8,"h").concat(Ms,"v").concat(Ms*3/4,"h").concat(-Ms,"z"),className:"recharts-legend-icon"});if(Y.isValidElement(r.legendIcon)){var c=rVe({},r);return delete c.legendIcon,Y.cloneElement(r.legendIcon,c)}return Y.createElement(sk,{fill:l,cx:i,cy:i,size:Ms,sizeType:"diameter",type:r.type})}},{key:"renderItems",value:function(){var r=this,o=this.props,i=o.payload,a=o.iconSize,s=o.layout,l=o.formatter,c=o.inactiveColor,u={x:0,y:0,width:Ms,height:Ms},d={display:s==="horizontal"?"inline-block":"block",marginRight:10},f={display:"inline-block",verticalAlign:"middle",marginRight:4};return i.map(function(p,m){var g=p.formatter||l,v=de(sx(sx({"recharts-legend-item":!0},"legend-item-".concat(m),!0),"inactive",p.inactive));if(p.type==="none")return null;var w=Ht(p.value)?null:p.value;Ql(!Ht(p.value),`The name property is also required when using a function for the dataKey of a chart's cartesian components. Ex: `);var x=p.inactive?c:p.color;return Y.createElement("li",X_({className:v,style:d,key:"legend-item-".concat(m)},Mf(r.props,p,m)),Y.createElement(z_,{width:a,height:a,viewBox:u,style:f},r.renderIcon(p)),Y.createElement("span",{className:"recharts-legend-item-text",style:{color:x}},g?g(w,p,m):w))})}},{key:"render",value:function(){var r=this.props,o=r.payload,i=r.layout,a=r.align;if(!o||!o.length)return null;var s={padding:0,margin:0,textAlign:i==="horizontal"?a:"left"};return Y.createElement("ul",{className:"recharts-default-legend",style:s},this.renderItems())}}])}(y.PureComponent);sx($j,"displayName","Legend");sx($j,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"middle",inactiveColor:"#ccc"});var fVe=ek;function pVe(){this.__data__=new fVe,this.size=0}var hVe=pVe;function mVe(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}var gVe=mVe;function yVe(e){return this.__data__.get(e)}var vVe=yVe;function bVe(e){return this.__data__.has(e)}var wVe=bVe,xVe=ek,SVe=Sj,CVe=Cj,PVe=200;function TVe(e,t){var n=this.__data__;if(n instanceof xVe){var r=n.__data__;if(!SVe||r.lengths))return!1;var c=i.get(e),u=i.get(t);if(c&&u)return c==t&&u==e;var d=-1,f=!0,p=n&qVe?new HVe:void 0;for(i.set(e,t),i.set(t,e);++d-1&&e%1==0&&e-1&&e%1==0&&e<=Q5e}var Nj=J5e,Z5e=ad,eHe=Nj,tHe=sd,nHe="[object Arguments]",rHe="[object Array]",oHe="[object Boolean]",iHe="[object Date]",aHe="[object Error]",sHe="[object Function]",lHe="[object Map]",cHe="[object Number]",uHe="[object Object]",dHe="[object RegExp]",fHe="[object Set]",pHe="[object String]",hHe="[object WeakMap]",mHe="[object ArrayBuffer]",gHe="[object DataView]",yHe="[object Float32Array]",vHe="[object Float64Array]",bHe="[object Int8Array]",wHe="[object Int16Array]",xHe="[object Int32Array]",SHe="[object Uint8Array]",CHe="[object Uint8ClampedArray]",PHe="[object Uint16Array]",THe="[object Uint32Array]",Or={};Or[yHe]=Or[vHe]=Or[bHe]=Or[wHe]=Or[xHe]=Or[SHe]=Or[CHe]=Or[PHe]=Or[THe]=!0;Or[nHe]=Or[rHe]=Or[mHe]=Or[oHe]=Or[gHe]=Or[iHe]=Or[aHe]=Or[sHe]=Or[lHe]=Or[cHe]=Or[uHe]=Or[dHe]=Or[fHe]=Or[pHe]=Or[hHe]=!1;function EHe(e){return tHe(e)&&eHe(e.length)&&!!Or[Z5e(e)]}var OHe=EHe;function IHe(e){return function(t){return e(t)}}var Fte=IHe,aE={exports:{}};aE.exports;(function(e,t){var n=qee,r=t&&!t.nodeType&&t,o=r&&!0&&e&&!e.nodeType&&e,i=o&&o.exports===r,a=i&&n.process,s=function(){try{var l=o&&o.require&&o.require("util").types;return l||a&&a.binding&&a.binding("util")}catch{}}();e.exports=s})(aE,aE.exports);var kHe=aE.exports,MHe=OHe,AHe=Fte,xW=kHe,SW=xW&&xW.isTypedArray,$He=SW?AHe(SW):MHe,jte=$He,RHe=N5e,_He=_j,DHe=Ea,NHe=Lte,LHe=Dj,FHe=jte,jHe=Object.prototype,BHe=jHe.hasOwnProperty;function zHe(e,t){var n=DHe(e),r=!n&&_He(e),o=!n&&!r&&NHe(e),i=!n&&!r&&!o&&FHe(e),a=n||r||o||i,s=a?RHe(e.length,String):[],l=s.length;for(var c in e)(t||BHe.call(e,c))&&!(a&&(c=="length"||o&&(c=="offset"||c=="parent")||i&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||LHe(c,l)))&&s.push(c);return s}var VHe=zHe,HHe=Object.prototype;function UHe(e){var t=e&&e.constructor,n=typeof t=="function"&&t.prototype||HHe;return e===n}var WHe=UHe;function GHe(e,t){return function(n){return e(t(n))}}var Bte=GHe,qHe=Bte,KHe=qHe(Object.keys,Object),YHe=KHe,XHe=WHe,QHe=YHe,JHe=Object.prototype,ZHe=JHe.hasOwnProperty;function e4e(e){if(!XHe(e))return QHe(e);var t=[];for(var n in Object(e))ZHe.call(e,n)&&n!="constructor"&&t.push(n);return t}var t4e=e4e,n4e=wj,r4e=Nj;function o4e(e){return e!=null&&r4e(e.length)&&!n4e(e)}var BS=o4e,i4e=VHe,a4e=t4e,s4e=BS;function l4e(e){return s4e(e)?i4e(e):a4e(e)}var lk=l4e,c4e=P5e,u4e=_5e,d4e=lk;function f4e(e){return c4e(e,d4e,u4e)}var p4e=f4e,CW=p4e,h4e=1,m4e=Object.prototype,g4e=m4e.hasOwnProperty;function y4e(e,t,n,r,o,i){var a=n&h4e,s=CW(e),l=s.length,c=CW(t),u=c.length;if(l!=u&&!a)return!1;for(var d=l;d--;){var f=s[d];if(!(a?f in t:g4e.call(t,f)))return!1}var p=i.get(e),m=i.get(t);if(p&&m)return p==t&&m==e;var g=!0;i.set(e,t),i.set(t,e);for(var v=a;++d-1}var mUe=hUe;function gUe(e,t,n){for(var r=-1,o=e==null?0:e.length;++r=AUe){var c=t?null:kUe(e);if(c)return MUe(c);a=!1,o=IUe,l=new TUe}else l=t?[]:s;e:for(;++r=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function qUe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function KUe(e){return e.value}function YUe(e,t){if(Y.isValidElement(e))return Y.cloneElement(e,t);if(typeof e=="function")return Y.createElement(e,t);t.ref;var n=GUe(t,FUe);return Y.createElement($j,n)}var jW=1,$u=function(e){function t(){var n;jUe(this,t);for(var r=arguments.length,o=new Array(r),i=0;ijW||Math.abs(o.height-this.lastBoundingBox.height)>jW)&&(this.lastBoundingBox.width=o.width,this.lastBoundingBox.height=o.height,r&&r(o)):(this.lastBoundingBox.width!==-1||this.lastBoundingBox.height!==-1)&&(this.lastBoundingBox.width=-1,this.lastBoundingBox.height=-1,r&&r(null))}},{key:"getBBoxSnapshot",value:function(){return this.lastBoundingBox.width>=0&&this.lastBoundingBox.height>=0?pu({},this.lastBoundingBox):{width:0,height:0}}},{key:"getDefaultPosition",value:function(r){var o=this.props,i=o.layout,a=o.align,s=o.verticalAlign,l=o.margin,c=o.chartWidth,u=o.chartHeight,d,f;if(!r||(r.left===void 0||r.left===null)&&(r.right===void 0||r.right===null))if(a==="center"&&i==="vertical"){var p=this.getBBoxSnapshot();d={left:((c||0)-p.width)/2}}else d=a==="right"?{right:l&&l.right||0}:{left:l&&l.left||0};if(!r||(r.top===void 0||r.top===null)&&(r.bottom===void 0||r.bottom===null))if(s==="middle"){var m=this.getBBoxSnapshot();f={top:((u||0)-m.height)/2}}else f=s==="bottom"?{bottom:l&&l.bottom||0}:{top:l&&l.top||0};return pu(pu({},d),f)}},{key:"render",value:function(){var r=this,o=this.props,i=o.content,a=o.width,s=o.height,l=o.wrapperStyle,c=o.payloadUniqBy,u=o.payload,d=pu(pu({position:"absolute",width:a||"auto",height:s||"auto"},this.getDefaultPosition(l)),l);return Y.createElement("div",{className:"recharts-legend-wrapper",style:d,ref:function(p){r.wrapperNode=p}},YUe(i,pu(pu({},this.props),{},{payload:qte(u,c,KUe)})))}}],[{key:"getWithHeight",value:function(r,o){var i=pu(pu({},this.defaultProps),r.props),a=i.layout;return a==="vertical"&&st(r.props.height)?{height:r.props.height}:a==="horizontal"?{width:r.props.width||o}:null}}])}(y.PureComponent);ck($u,"displayName","Legend");ck($u,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"bottom"});var BW=FS,XUe=_j,QUe=Ea,zW=BW?BW.isConcatSpreadable:void 0;function JUe(e){return QUe(e)||XUe(e)||!!(zW&&e&&e[zW])}var ZUe=JUe,eWe=Dte,tWe=ZUe;function Xte(e,t,n,r,o){var i=-1,a=e.length;for(n||(n=tWe),o||(o=[]);++i0&&n(s)?t>1?Xte(s,t-1,n,r,o):eWe(o,s):r||(o[o.length]=s)}return o}var Qte=Xte;function nWe(e){return function(t,n,r){for(var o=-1,i=Object(t),a=r(t),s=a.length;s--;){var l=a[e?s:++o];if(n(i[l],l,i)===!1)break}return t}}var rWe=nWe,oWe=rWe,iWe=oWe(),aWe=iWe,sWe=aWe,lWe=lk;function cWe(e,t){return e&&sWe(e,t,lWe)}var Jte=cWe,uWe=BS;function dWe(e,t){return function(n,r){if(n==null)return n;if(!uWe(n))return e(n,r);for(var o=n.length,i=t?o:-1,a=Object(n);(t?i--:++it||i&&a&&l&&!s&&!c||r&&a&&l||!n&&l||!o)return 1;if(!r&&!i&&!c&&e=s)return l;var c=n[r];return l*(c=="desc"?-1:1)}}return e.index-t.index}var TWe=PWe,z$=Tj,EWe=Ej,OWe=Yc,IWe=Zte,kWe=wWe,MWe=Fte,AWe=TWe,$We=tb,RWe=Ea;function _We(e,t,n){t.length?t=z$(t,function(i){return RWe(i)?function(a){return EWe(a,i.length===1?i[0]:i)}:i}):t=[$We];var r=-1;t=z$(t,MWe(OWe));var o=IWe(e,function(i,a,s){var l=z$(t,function(c){return c(i)});return{criteria:l,index:++r,value:i}});return kWe(o,function(i,a){return AWe(i,a,n)})}var DWe=_We;function NWe(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}var LWe=NWe,FWe=LWe,HW=Math.max;function jWe(e,t,n){return t=HW(t===void 0?e.length-1:t,0),function(){for(var r=arguments,o=-1,i=HW(r.length-t,0),a=Array(i);++o0){if(++t>=YWe)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var ZWe=JWe,e6e=KWe,t6e=ZWe,n6e=t6e(e6e),r6e=n6e,o6e=tb,i6e=BWe,a6e=r6e;function s6e(e,t){return a6e(i6e(e,t,o6e),e+"")}var l6e=s6e,c6e=xj,u6e=BS,d6e=Dj,f6e=Kf;function p6e(e,t,n){if(!f6e(n))return!1;var r=typeof t;return(r=="number"?u6e(n)&&d6e(t,n.length):r=="string"&&t in n)?c6e(n[t],e):!1}var uk=p6e,h6e=Qte,m6e=DWe,g6e=l6e,WW=uk,y6e=g6e(function(e,t){if(e==null)return[];var n=t.length;return n>1&&WW(e,t[0],t[1])?t=[]:n>2&&WW(t[0],t[1],t[2])&&(t=[t[0]]),m6e(e,h6e(t,1),[])}),v6e=y6e;const jj=_n(v6e);function lx(e){"@babel/helpers - typeof";return lx=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},lx(e)}function oD(){return oD=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=t.x),"".concat(f0,"-left"),st(n)&&t&&st(t.x)&&n=t.y),"".concat(f0,"-top"),st(r)&&t&&st(t.y)&&rg?Math.max(u,l[r]):Math.max(d,l[r])}function R6e(e){var t=e.translateX,n=e.translateY,r=e.useTranslate3d;return{transform:r?"translate3d(".concat(t,"px, ").concat(n,"px, 0)"):"translate(".concat(t,"px, ").concat(n,"px)")}}function _6e(e){var t=e.allowEscapeViewBox,n=e.coordinate,r=e.offsetTopLeft,o=e.position,i=e.reverseDirection,a=e.tooltipBox,s=e.useTranslate3d,l=e.viewBox,c,u,d;return a.height>0&&a.width>0&&n?(u=KW({allowEscapeViewBox:t,coordinate:n,key:"x",offsetTopLeft:r,position:o,reverseDirection:i,tooltipDimension:a.width,viewBox:l,viewBoxDimension:l.width}),d=KW({allowEscapeViewBox:t,coordinate:n,key:"y",offsetTopLeft:r,position:o,reverseDirection:i,tooltipDimension:a.height,viewBox:l,viewBoxDimension:l.height}),c=R6e({translateX:u,translateY:d,useTranslate3d:s})):c=A6e,{cssProperties:c,cssClasses:$6e({translateX:u,translateY:d,coordinate:n})}}function Xy(e){"@babel/helpers - typeof";return Xy=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Xy(e)}function YW(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function XW(e){for(var t=1;tQW||Math.abs(r.height-this.state.lastBoundingBox.height)>QW)&&this.setState({lastBoundingBox:{width:r.width,height:r.height}})}else(this.state.lastBoundingBox.width!==-1||this.state.lastBoundingBox.height!==-1)&&this.setState({lastBoundingBox:{width:-1,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 r,o;this.props.active&&this.updateBBox(),this.state.dismissed&&(((r=this.props.coordinate)===null||r===void 0?void 0:r.x)!==this.state.dismissedAtCoordinate.x||((o=this.props.coordinate)===null||o===void 0?void 0:o.y)!==this.state.dismissedAtCoordinate.y)&&(this.state.dismissed=!1)}},{key:"render",value:function(){var r=this,o=this.props,i=o.active,a=o.allowEscapeViewBox,s=o.animationDuration,l=o.animationEasing,c=o.children,u=o.coordinate,d=o.hasPayload,f=o.isAnimationActive,p=o.offset,m=o.position,g=o.reverseDirection,v=o.useTranslate3d,w=o.viewBox,x=o.wrapperStyle,S=_6e({allowEscapeViewBox:a,coordinate:u,offsetTopLeft:p,position:m,reverseDirection:g,tooltipBox:this.state.lastBoundingBox,useTranslate3d:v,viewBox:w}),P=S.cssClasses,T=S.cssProperties,E=XW(XW({transition:f&&i?"transform ".concat(s,"ms ").concat(l):void 0},T),{},{pointerEvents:"none",visibility:!this.state.dismissed&&i&&d?"visible":"hidden",position:"absolute",top:0,left:0},x);return Y.createElement("div",{tabIndex:-1,className:P,style:E,ref:function(k){r.wrapperNode=k}},c)}}])}(y.PureComponent),U6e=function(){return!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout)},nl={isSsr:U6e(),get:function(t){return nl[t]},set:function(t,n){if(typeof t=="string")nl[t]=n;else{var r=Object.keys(t);r&&r.length&&r.forEach(function(o){nl[o]=t[o]})}}};function Qy(e){"@babel/helpers - typeof";return Qy=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Qy(e)}function JW(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function ZW(e){for(var t=1;t0;return Y.createElement(H6e,{allowEscapeViewBox:a,animationDuration:s,animationEasing:l,isAnimationActive:f,active:i,coordinate:u,hasPayload:E,offset:p,position:v,reverseDirection:w,useTranslate3d:x,viewBox:S,wrapperStyle:P},eGe(c,ZW(ZW({},this.props),{},{payload:T})))}}])}(y.PureComponent);Bj(Ua,"displayName","Tooltip");Bj(Ua,"defaultProps",{accessibilityLayer:!1,allowEscapeViewBox:{x:!1,y:!1},animationDuration:400,animationEasing:"ease",contentStyle:{},coordinate:{x:0,y:0},cursor:!0,cursorStyle:{},filterNull:!0,isAnimationActive:!nl.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 tGe=Kc,nGe=function(){return tGe.Date.now()},rGe=nGe,oGe=/\s/;function iGe(e){for(var t=e.length;t--&&oGe.test(e.charAt(t)););return t}var aGe=iGe,sGe=aGe,lGe=/^\s+/;function cGe(e){return e&&e.slice(0,sGe(e)+1).replace(lGe,"")}var uGe=cGe,dGe=uGe,e6=Kf,fGe=qv,t6=NaN,pGe=/^[-+]0x[0-9a-f]+$/i,hGe=/^0b[01]+$/i,mGe=/^0o[0-7]+$/i,gGe=parseInt;function yGe(e){if(typeof e=="number")return e;if(fGe(e))return t6;if(e6(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=e6(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=dGe(e);var n=hGe.test(e);return n||mGe.test(e)?gGe(e.slice(2),n?2:8):pGe.test(e)?t6:+e}var ine=yGe,vGe=Kf,H$=rGe,n6=ine,bGe="Expected a function",wGe=Math.max,xGe=Math.min;function SGe(e,t,n){var r,o,i,a,s,l,c=0,u=!1,d=!1,f=!0;if(typeof e!="function")throw new TypeError(bGe);t=n6(t)||0,vGe(n)&&(u=!!n.leading,d="maxWait"in n,i=d?wGe(n6(n.maxWait)||0,t):i,f="trailing"in n?!!n.trailing:f);function p(E){var O=r,k=o;return r=o=void 0,c=E,a=e.apply(k,O),a}function m(E){return c=E,s=setTimeout(w,t),u?p(E):a}function g(E){var O=E-l,k=E-c,A=t-O;return d?xGe(A,i-k):A}function v(E){var O=E-l,k=E-c;return l===void 0||O>=t||O<0||d&&k>=i}function w(){var E=H$();if(v(E))return x(E);s=setTimeout(w,g(E))}function x(E){return s=void 0,f&&r?p(E):(r=o=void 0,a)}function S(){s!==void 0&&clearTimeout(s),c=0,r=l=o=s=void 0}function P(){return s===void 0?a:x(H$())}function T(){var E=H$(),O=v(E);if(r=arguments,o=this,l=E,O){if(s===void 0)return m(l);if(d)return clearTimeout(s),s=setTimeout(w,t),p(l)}return s===void 0&&(s=setTimeout(w,t)),a}return T.cancel=S,T.flush=P,T}var CGe=SGe,PGe=CGe,TGe=Kf,EGe="Expected a function";function OGe(e,t,n){var r=!0,o=!0;if(typeof e!="function")throw new TypeError(EGe);return TGe(n)&&(r="leading"in n?!!n.leading:r,o="trailing"in n?!!n.trailing:o),PGe(e,t,{leading:r,maxWait:t,trailing:o})}var IGe=OGe;const dk=_n(IGe);function ux(e){"@babel/helpers - typeof";return ux=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ux(e)}function r6(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function HC(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&(L=dk(L,g,{trailing:!0,leading:!1}));var j=new ResizeObserver(L),_=T.current.getBoundingClientRect(),D=_.width,z=_.height;return R(D,z),j.observe(T.current),function(){j.disconnect()}},[R,g]);var N=y.useMemo(function(){var L=A.containerWidth,j=A.containerHeight;if(L<0||j<0)return null;Ql(qp(a)||qp(l),`The width(%s) and height(%s) are both fixed numbers, + maybe you don't need to use a ResponsiveContainer.`,a,l),Ql(!n||n>0,"The aspect(%s) must be greater than zero.",n);var _=qp(a)?L:a,D=qp(l)?j:l;n&&n>0&&(_?D=_/n:D&&(_=D*n),f&&D>f&&(D=f)),Ql(_>0||D>0,`The width(%s) and height(%s) of chart should be greater than 0, please check the style of container, or the props width(%s) and height(%s), or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the - height and width.`,I,A,a,l,u,d,n);var F=!Array.isArray(p)&&ix.isElement(p)&&el(p.type).endsWith("Chart");return V.Children.map(p,function(_){return ix.isElement(_)?g.cloneElement(_,Qb({width:I,height:A},F?{style:Qb({height:"100%",width:"100%",maxHeight:A,maxWidth:I},_.props.style)}:{})):_})},[n,p,l,f,d,u,$,a]);return V.createElement("div",{id:v?"".concat(v):void 0,className:Q("recharts-responsive-container",b),style:Qb(Qb({},C),{},{width:a,height:l,minWidth:u,minHeight:d,maxHeight:f}),ref:O},L)}),Ah=function(t){return null};Ah.displayName="Cell";function bv(e){"@babel/helpers - typeof";return bv=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},bv(e)}function WF(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function xk(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||Ma.isSsr)return{width:0,height:0};var r=MNe(n),o=JSON.stringify({text:t,copyStyle:r});if(Kd.widthCache[o])return Kd.widthCache[o];try{var i=document.getElementById(GF);i||(i=document.createElement("span"),i.setAttribute("id",GF),i.setAttribute("aria-hidden","true"),document.body.appendChild(i));var a=xk(xk({},$Ne),r);Object.assign(i.style,a),i.textContent="".concat(t);var s=i.getBoundingClientRect(),l={width:s.width,height:s.height};return Kd.widthCache[o]=l,++Kd.cacheCount>INe&&(Kd.cacheCount=0,Kd.widthCache={}),l}catch{return{width:0,height:0}}},ANe=function(t){return{top:t.top+window.scrollY-document.documentElement.clientTop,left:t.left+window.scrollX-document.documentElement.clientLeft}};function xv(e){"@babel/helpers - typeof";return xv=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},xv(e)}function lw(e,t){return NNe(e)||DNe(e,t)||_Ne(e,t)||RNe()}function RNe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function _Ne(e,t){if(e){if(typeof e=="string")return qF(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return qF(e,t)}}function qF(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function QNe(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}function ZF(e,t){return eLe(e)||ZNe(e,t)||JNe(e,t)||XNe()}function XNe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function JNe(e,t){if(e){if(typeof e=="string")return eB(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return eB(e,t)}}function eB(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&arguments[0]!==void 0?arguments[0]:[];return I.reduce(function(A,F){var _=F.word,j=F.width,B=A[A.length-1];if(B&&(o==null||i||B.width+j+rF.width?A:F})};if(!u)return p;for(var m="…",v=function(I){var A=d.slice(0,I),F=X9({breakAll:c,style:l,children:A+m}).wordsWithComputedWidth,_=f(F),j=_.length>a||h(_).width>Number(o);return[j,_]},b=0,y=d.length-1,w=0,C;b<=y&&w<=d.length-1;){var O=Math.floor((b+y)/2),P=O-1,E=v(P),T=ZF(E,2),$=T[0],M=T[1],D=v(O),L=ZF(D,1),N=L[0];if(!$&&!N&&(b=O+1),$&&N&&(y=O-1),!$&&N){C=M;break}w++}return C||p},tB=function(t){var n=lt(t)?[]:t.toString().split(Q9);return[{words:n}]},nLe=function(t){var n=t.width,r=t.scaleToFit,o=t.children,i=t.style,a=t.breakAll,s=t.maxLines;if((n||r)&&!Ma.isSsr){var l,c,u=X9({breakAll:a,children:o,style:i});if(u){var d=u.wordsWithComputedWidth,f=u.spaceWidth;l=d,c=f}else return tB(o);return tLe({breakAll:a,children:o,maxLines:s,style:i},l,c,n,r)}return tB(o)},nB="#808080",od=function(t){var n=t.x,r=n===void 0?0:n,o=t.y,i=o===void 0?0:o,a=t.lineHeight,s=a===void 0?"1em":a,l=t.capHeight,c=l===void 0?"0.71em":l,u=t.scaleToFit,d=u===void 0?!1:u,f=t.textAnchor,p=f===void 0?"start":f,h=t.verticalAnchor,m=h===void 0?"end":h,v=t.fill,b=v===void 0?nB:v,y=JF(t,KNe),w=g.useMemo(function(){return nLe({breakAll:y.breakAll,children:y.children,maxLines:y.maxLines,scaleToFit:d,style:y.style,width:y.width})},[y.breakAll,y.children,y.maxLines,d,y.style,y.width]),C=y.dx,O=y.dy,P=y.angle,E=y.className,T=y.breakAll,$=JF(y,YNe);if(!mr(r)||!mr(i))return null;var M=r+(Ne(C)?C:0),D=i+(Ne(O)?O:0),L;switch(m){case"start":L=wE("calc(".concat(c,")"));break;case"middle":L=wE("calc(".concat((w.length-1)/2," * -").concat(s," + (").concat(c," / 2))"));break;default:L=wE("calc(".concat(w.length-1," * -").concat(s,")"));break}var N=[];if(d){var R=w[0].width,I=y.width;N.push("scale(".concat((Ne(I)?I/R:1)/R,")"))}return P&&N.push("rotate(".concat(P,", ").concat(M,", ").concat(D,")")),N.length&&($.transform=N.join(" ")),V.createElement("text",wk({},ot($,!0),{x:M,y:D,className:Q("recharts-text",E),textAnchor:p,fill:b.includes("url")?nB:b}),w.map(function(A,F){var _=A.words.join(T?"":" ");return V.createElement("tspan",{x:M,dy:F===0?L:s,key:_},_)}))};function wc(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function rLe(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function fR(e){let t,n,r;e.length!==2?(t=wc,n=(s,l)=>wc(e(s),l),r=(s,l)=>e(s)-l):(t=e===wc||e===rLe?e:oLe,n=e,r=e);function o(s,l,c=0,u=s.length){if(c>>1;n(s[d],l)<0?c=d+1:u=d}while(c>>1;n(s[d],l)<=0?c=d+1:u=d}while(cc&&r(s[d-1],l)>-r(s[d],l)?d-1:d}return{left:o,center:a,right:i}}function oLe(){return 0}function J9(e){return e===null?NaN:+e}function*iLe(e,t){for(let n of e)n!=null&&(n=+n)>=n&&(yield n)}const aLe=fR(wc),zy=aLe.right;fR(J9).center;class rB extends Map{constructor(t,n=cLe){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),t!=null)for(const[r,o]of t)this.set(r,o)}get(t){return super.get(oB(this,t))}has(t){return super.has(oB(this,t))}set(t,n){return super.set(sLe(this,t),n)}delete(t){return super.delete(lLe(this,t))}}function oB({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):n}function sLe({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function lLe({_intern:e,_key:t},n){const r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function cLe(e){return e!==null&&typeof e=="object"?e.valueOf():e}function uLe(e=wc){if(e===wc)return Z9;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,n)=>{const r=e(t,n);return r||r===0?r:(e(n,n)===0)-(e(t,t)===0)}}function Z9(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}const dLe=Math.sqrt(50),fLe=Math.sqrt(10),pLe=Math.sqrt(2);function cw(e,t,n){const r=(t-e)/Math.max(0,n),o=Math.floor(Math.log10(r)),i=r/Math.pow(10,o),a=i>=dLe?10:i>=fLe?5:i>=pLe?2:1;let s,l,c;return o<0?(c=Math.pow(10,-o)/a,s=Math.round(e*c),l=Math.round(t*c),s/ct&&--l,c=-c):(c=Math.pow(10,o)*a,s=Math.round(e/c),l=Math.round(t/c),s*ct&&--l),l0))return[];if(e===t)return[e];const r=t=o))return[];const s=i-o+1,l=new Array(s);if(r)if(a<0)for(let c=0;c=r)&&(n=r);return n}function aB(e,t){let n;for(const r of e)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);return n}function e7(e,t,n=0,r=1/0,o){if(t=Math.floor(t),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(e.length-1,r)),!(n<=t&&t<=r))return e;for(o=o===void 0?Z9:uLe(o);r>n;){if(r-n>600){const l=r-n+1,c=t-n+1,u=Math.log(l),d=.5*Math.exp(2*u/3),f=.5*Math.sqrt(u*d*(l-d)/l)*(c-l/2<0?-1:1),p=Math.max(n,Math.floor(t-c*d/l+f)),h=Math.min(r,Math.floor(t+(l-c)*d/l+f));e7(e,t,p,h,o)}const i=e[t];let a=n,s=r;for(Om(e,n,t),o(e[r],i)>0&&Om(e,n,r);a0;)--s}o(e[n],i)===0?Om(e,n,s):(++s,Om(e,s,r)),s<=t&&(n=s+1),t<=s&&(r=s-1)}return e}function Om(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}function hLe(e,t,n){if(e=Float64Array.from(iLe(e)),!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return aB(e);if(t>=1)return iB(e);var r,o=(r-1)*t,i=Math.floor(o),a=iB(e7(e,i).subarray(0,i+1)),s=aB(e.subarray(i+1));return a+(s-a)*(o-i)}}function mLe(e,t,n=J9){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),s=+n(e[i+1],i+1,e);return a+(s-a)*(o-i)}}function gLe(e,t,n){e=+e,t=+t,n=(o=arguments.length)<2?(t=e,e=0,1):o<3?1:+n;for(var r=-1,o=Math.max(0,Math.ceil((t-e)/n))|0,i=new Array(o);++r>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?Jb(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?Jb(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=yLe.exec(e))?new Oo(t[1],t[2],t[3],1):(t=bLe.exec(e))?new Oo(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=xLe.exec(e))?Jb(t[1],t[2],t[3],t[4]):(t=wLe.exec(e))?Jb(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=CLe.exec(e))?pB(t[1],t[2]/100,t[3]/100,1):(t=SLe.exec(e))?pB(t[1],t[2]/100,t[3]/100,t[4]):sB.hasOwnProperty(e)?uB(sB[e]):e==="transparent"?new Oo(NaN,NaN,NaN,0):null}function uB(e){return new Oo(e>>16&255,e>>8&255,e&255,1)}function Jb(e,t,n,r){return r<=0&&(e=t=n=NaN),new Oo(e,t,n,r)}function OLe(e){return e instanceof Vy||(e=Pv(e)),e?(e=e.rgb(),new Oo(e.r,e.g,e.b,e.opacity)):new Oo}function Ok(e,t,n,r){return arguments.length===1?OLe(e):new Oo(e,t,n,r??1)}function Oo(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}hR(Oo,Ok,n7(Vy,{brighter(e){return e=e==null?uw:Math.pow(uw,e),new Oo(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Cv:Math.pow(Cv,e),new Oo(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Oo(ju(this.r),ju(this.g),ju(this.b),dw(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:dB,formatHex:dB,formatHex8:TLe,formatRgb:fB,toString:fB}));function dB(){return`#${Tu(this.r)}${Tu(this.g)}${Tu(this.b)}`}function TLe(){return`#${Tu(this.r)}${Tu(this.g)}${Tu(this.b)}${Tu((isNaN(this.opacity)?1:this.opacity)*255)}`}function fB(){const e=dw(this.opacity);return`${e===1?"rgb(":"rgba("}${ju(this.r)}, ${ju(this.g)}, ${ju(this.b)}${e===1?")":`, ${e})`}`}function dw(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function ju(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Tu(e){return e=ju(e),(e<16?"0":"")+e.toString(16)}function pB(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new wa(e,t,n,r)}function r7(e){if(e instanceof wa)return new wa(e.h,e.s,e.l,e.opacity);if(e instanceof Vy||(e=Pv(e)),!e)return new wa;if(e instanceof wa)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,o=Math.min(t,n,r),i=Math.max(t,n,r),a=NaN,s=i-o,l=(i+o)/2;return s?(t===i?a=(n-r)/s+(n0&&l<1?0:a,new wa(a,s,l,e.opacity)}function kLe(e,t,n,r){return arguments.length===1?r7(e):new wa(e,t,n,r??1)}function wa(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}hR(wa,kLe,n7(Vy,{brighter(e){return e=e==null?uw:Math.pow(uw,e),new wa(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Cv:Math.pow(Cv,e),new wa(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 Oo(CE(e>=240?e-240:e+120,o,r),CE(e,o,r),CE(e<120?e+240:e-120,o,r),this.opacity)},clamp(){return new wa(hB(this.h),Zb(this.s),Zb(this.l),dw(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=dw(this.opacity);return`${e===1?"hsl(":"hsla("}${hB(this.h)}, ${Zb(this.s)*100}%, ${Zb(this.l)*100}%${e===1?")":`, ${e})`}`}}));function hB(e){return e=(e||0)%360,e<0?e+360:e}function Zb(e){return Math.max(0,Math.min(1,e||0))}function CE(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const mR=e=>()=>e;function ILe(e,t){return function(n){return e+n*t}}function $Le(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function MLe(e){return(e=+e)==1?o7:function(t,n){return n-t?$Le(t,n,e):mR(isNaN(t)?n:t)}}function o7(e,t){var n=t-e;return n?ILe(e,n):mR(isNaN(e)?t:e)}const mB=function e(t){var n=MLe(t);function r(o,i){var a=n((o=Ok(o)).r,(i=Ok(i)).r),s=n(o.g,i.g),l=n(o.b,i.b),c=o7(o.opacity,i.opacity);return function(u){return o.r=a(u),o.g=s(u),o.b=l(u),o.opacity=c(u),o+""}}return r.gamma=e,r}(1);function ALe(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,r=t.slice(),o;return function(i){for(o=0;on&&(i=t.slice(n,i),s[a]?s[a]+=i:s[++a]=i),(r=r[0])===(o=o[0])?s[a]?s[a]+=o:s[++a]=o:(s[++a]=null,l.push({i:a,x:fw(r,o)})),n=SE.lastIndex;return nt&&(n=e,e=t,t=n),function(r){return Math.max(e,Math.min(t,r))}}function HLe(e,t,n){var r=e[0],o=e[1],i=t[0],a=t[1];return o2?ULe:HLe,l=c=null,d}function d(f){return f==null||isNaN(f=+f)?i:(l||(l=s(e.map(r),t,n)))(r(a(f)))}return d.invert=function(f){return a(o((c||(c=s(t,e.map(r),fw)))(f)))},d.domain=function(f){return arguments.length?(e=Array.from(f,pw),u()):e.slice()},d.range=function(f){return arguments.length?(t=Array.from(f),u()):t.slice()},d.rangeRound=function(f){return t=Array.from(f),n=gR,u()},d.clamp=function(f){return arguments.length?(a=f?!0:lo,u()):a!==lo},d.interpolate=function(f){return arguments.length?(n=f,u()):n},d.unknown=function(f){return arguments.length?(i=f,d):i},function(f,p){return r=f,o=p,u()}}function vR(){return fS()(lo,lo)}function WLe(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function hw(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 Ap(e){return e=hw(Math.abs(e)),e?e[1]:NaN}function GLe(e,t){return function(n,r){for(var o=n.length,i=[],a=0,s=e[0],l=0;o>0&&s>0&&(l+s+1>r&&(s=Math.max(1,r-l)),i.push(n.substring(o-=s,o+s)),!((l+=s+1)>r));)s=e[a=(a+1)%e.length];return i.reverse().join(t)}}function qLe(e){return function(t){return t.replace(/[0-9]/g,function(n){return e[+n]})}}var KLe=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Ev(e){if(!(t=KLe.exec(e)))throw new Error("invalid format: "+e);var t;return new yR({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]})}Ev.prototype=yR.prototype;function yR(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}yR.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function YLe(e){e:for(var t=e.length,n=1,r=-1,o;n0&&(r=0);break}return r>0?e.slice(0,r)+e.slice(o+1):e}var i7;function QLe(e,t){var n=hw(e,t);if(!n)return e+"";var r=n[0],o=n[1],i=o-(i7=Math.max(-8,Math.min(8,Math.floor(o/3)))*3)+1,a=r.length;return i===a?r:i>a?r+new Array(i-a+1).join("0"):i>0?r.slice(0,i)+"."+r.slice(i):"0."+new Array(1-i).join("0")+hw(e,Math.max(0,t+i-1))[0]}function vB(e,t){var n=hw(e,t);if(!n)return e+"";var r=n[0],o=n[1];return o<0?"0."+new Array(-o).join("0")+r:r.length>o+1?r.slice(0,o+1)+"."+r.slice(o+1):r+new Array(o-r.length+2).join("0")}const yB={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:WLe,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)=>vB(e*100,t),r:vB,s:QLe,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function bB(e){return e}var xB=Array.prototype.map,wB=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function XLe(e){var t=e.grouping===void 0||e.thousands===void 0?bB:GLe(xB.call(e.grouping,Number),e.thousands+""),n=e.currency===void 0?"":e.currency[0]+"",r=e.currency===void 0?"":e.currency[1]+"",o=e.decimal===void 0?".":e.decimal+"",i=e.numerals===void 0?bB:qLe(xB.call(e.numerals,String)),a=e.percent===void 0?"%":e.percent+"",s=e.minus===void 0?"−":e.minus+"",l=e.nan===void 0?"NaN":e.nan+"";function c(d){d=Ev(d);var f=d.fill,p=d.align,h=d.sign,m=d.symbol,v=d.zero,b=d.width,y=d.comma,w=d.precision,C=d.trim,O=d.type;O==="n"?(y=!0,O="g"):yB[O]||(w===void 0&&(w=12),C=!0,O="g"),(v||f==="0"&&p==="=")&&(v=!0,f="0",p="=");var P=m==="$"?n:m==="#"&&/[boxX]/.test(O)?"0"+O.toLowerCase():"",E=m==="$"?r:/[%p]/.test(O)?a:"",T=yB[O],$=/[defgprs%]/.test(O);w=w===void 0?6:/[gprs]/.test(O)?Math.max(1,Math.min(21,w)):Math.max(0,Math.min(20,w));function M(D){var L=P,N=E,R,I,A;if(O==="c")N=T(D)+N,D="";else{D=+D;var F=D<0||1/D<0;if(D=isNaN(D)?l:T(Math.abs(D),w),C&&(D=YLe(D)),F&&+D==0&&h!=="+"&&(F=!1),L=(F?h==="("?h:s:h==="-"||h==="("?"":h)+L,N=(O==="s"?wB[8+i7/3]:"")+N+(F&&h==="("?")":""),$){for(R=-1,I=D.length;++RA||A>57){N=(A===46?o+D.slice(R+1):D.slice(R))+N,D=D.slice(0,R);break}}}y&&!v&&(D=t(D,1/0));var _=L.length+D.length+N.length,j=_>1)+L+D+N+j.slice(_);break;default:D=j+L+D+N;break}return i(D)}return M.toString=function(){return d+""},M}function u(d,f){var p=c((d=Ev(d),d.type="f",d)),h=Math.max(-8,Math.min(8,Math.floor(Ap(f)/3)))*3,m=Math.pow(10,-h),v=wB[8+h/3];return function(b){return p(m*b)+v}}return{format:c,formatPrefix:u}}var e0,bR,a7;JLe({thousands:",",grouping:[3],currency:["$",""]});function JLe(e){return e0=XLe(e),bR=e0.format,a7=e0.formatPrefix,e0}function ZLe(e){return Math.max(0,-Ap(Math.abs(e)))}function eje(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Ap(t)/3)))*3-Ap(Math.abs(e)))}function tje(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Ap(t)-Ap(e))+1}function s7(e,t,n,r){var o=Pk(e,t,n),i;switch(r=Ev(r??",f"),r.type){case"s":{var a=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(i=eje(o,a))&&(r.precision=i),a7(r,a)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(i=tje(o,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=i-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(i=ZLe(o))&&(r.precision=i-(r.type==="%")*2);break}}return bR(r)}function Wc(e){var t=e.domain;return e.ticks=function(n){var r=t();return Ck(r[0],r[r.length-1],n??10)},e.tickFormat=function(n,r){var o=t();return s7(o[0],o[o.length-1],n??10,r)},e.nice=function(n){n==null&&(n=10);var r=t(),o=0,i=r.length-1,a=r[o],s=r[i],l,c,u=10;for(s0;){if(c=Sk(a,s,n),c===l)return r[o]=a,r[i]=s,t(r);if(c>0)a=Math.floor(a/c)*c,s=Math.ceil(s/c)*c;else if(c<0)a=Math.ceil(a*c)/c,s=Math.floor(s*c)/c;else break;l=c}return e},e}function mw(){var e=vR();return e.copy=function(){return Hy(e,mw())},ia.apply(e,arguments),Wc(e)}function l7(e){var t;function n(r){return r==null||isNaN(r=+r)?t:r}return n.invert=n,n.domain=n.range=function(r){return arguments.length?(e=Array.from(r,pw),n):e.slice()},n.unknown=function(r){return arguments.length?(t=r,n):t},n.copy=function(){return l7(e).unknown(t)},e=arguments.length?Array.from(e,pw):[0,1],Wc(n)}function c7(e,t){e=e.slice();var n=0,r=e.length-1,o=e[n],i=e[r],a;return iMath.pow(e,t)}function aje(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function PB(e){return(t,n)=>-e(-t,n)}function xR(e){const t=e(CB,SB),n=t.domain;let r=10,o,i;function a(){return o=aje(r),i=ije(r),n()[0]<0?(o=PB(o),i=PB(i),e(nje,rje)):e(CB,SB),t}return t.base=function(s){return arguments.length?(r=+s,a()):r},t.domain=function(s){return arguments.length?(n(s),a()):n()},t.ticks=s=>{const l=n();let c=l[0],u=l[l.length-1];const d=u0){for(;f<=p;++f)for(h=1;hu)break;b.push(m)}}else for(;f<=p;++f)for(h=r-1;h>=1;--h)if(m=f>0?h/i(-f):h*i(f),!(mu)break;b.push(m)}b.length*2{if(s==null&&(s=10),l==null&&(l=r===10?"s":","),typeof l!="function"&&(!(r%1)&&(l=Ev(l)).precision==null&&(l.trim=!0),l=bR(l)),s===1/0)return l;const c=Math.max(1,r*s/t.ticks().length);return u=>{let d=u/i(Math.round(o(u)));return d*rn(c7(n(),{floor:s=>i(Math.floor(o(s))),ceil:s=>i(Math.ceil(o(s)))})),t}function u7(){const e=xR(fS()).domain([1,10]);return e.copy=()=>Hy(e,u7()).base(e.base()),ia.apply(e,arguments),e}function EB(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function OB(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function wR(e){var t=1,n=e(EB(t),OB(t));return n.constant=function(r){return arguments.length?e(EB(t=+r),OB(t)):t},Wc(n)}function d7(){var e=wR(fS());return e.copy=function(){return Hy(e,d7()).constant(e.constant())},ia.apply(e,arguments)}function TB(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function sje(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function lje(e){return e<0?-e*e:e*e}function CR(e){var t=e(lo,lo),n=1;function r(){return n===1?e(lo,lo):n===.5?e(sje,lje):e(TB(n),TB(1/n))}return t.exponent=function(o){return arguments.length?(n=+o,r()):n},Wc(t)}function SR(){var e=CR(fS());return e.copy=function(){return Hy(e,SR()).exponent(e.exponent())},ia.apply(e,arguments),e}function cje(){return SR.apply(null,arguments).exponent(.5)}function kB(e){return Math.sign(e)*e*e}function uje(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function f7(){var e=vR(),t=[0,1],n=!1,r;function o(i){var a=uje(e(i));return isNaN(a)?r:n?Math.round(a):a}return o.invert=function(i){return e.invert(kB(i))},o.domain=function(i){return arguments.length?(e.domain(i),o):e.domain()},o.range=function(i){return arguments.length?(e.range((t=Array.from(i,pw)).map(kB)),o):t.slice()},o.rangeRound=function(i){return o.range(i).round(!0)},o.round=function(i){return arguments.length?(n=!!i,o):n},o.clamp=function(i){return arguments.length?(e.clamp(i),o):e.clamp()},o.unknown=function(i){return arguments.length?(r=i,o):r},o.copy=function(){return f7(e.domain(),t).round(n).clamp(e.clamp()).unknown(r)},ia.apply(o,arguments),Wc(o)}function p7(){var e=[],t=[],n=[],r;function o(){var a=0,s=Math.max(1,t.length);for(n=new Array(s-1);++a0?n[s-1]:e[0],s=n?[r[n-1],t]:[r[c-1],r[c]]},a.unknown=function(l){return arguments.length&&(i=l),a},a.thresholds=function(){return r.slice()},a.copy=function(){return h7().domain([e,t]).range(o).unknown(i)},ia.apply(Wc(a),arguments)}function m7(){var e=[.5],t=[0,1],n,r=1;function o(i){return i!=null&&i<=i?t[zy(e,i,0,r)]:n}return o.domain=function(i){return arguments.length?(e=Array.from(i),r=Math.min(e.length,t.length-1),o):e.slice()},o.range=function(i){return arguments.length?(t=Array.from(i),r=Math.min(e.length,t.length-1),o):t.slice()},o.invertExtent=function(i){var a=t.indexOf(i);return[e[a-1],e[a]]},o.unknown=function(i){return arguments.length?(n=i,o):n},o.copy=function(){return m7().domain(e).range(t).unknown(n)},ia.apply(o,arguments)}const PE=new Date,EE=new Date;function vr(e,t,n,r){function o(i){return e(i=arguments.length===0?new Date:new Date(+i)),i}return o.floor=i=>(e(i=new Date(+i)),i),o.ceil=i=>(e(i=new Date(i-1)),t(i,1),e(i),i),o.round=i=>{const a=o(i),s=o.ceil(i);return i-a(t(i=new Date(+i),a==null?1:Math.floor(a)),i),o.range=(i,a,s)=>{const l=[];if(i=o.ceil(i),s=s==null?1:Math.floor(s),!(i0))return l;let c;do l.push(c=new Date(+i)),t(i,s),e(i);while(cvr(a=>{if(a>=a)for(;e(a),!i(a);)a.setTime(a-1)},(a,s)=>{if(a>=a)if(s<0)for(;++s<=0;)for(;t(a,-1),!i(a););else for(;--s>=0;)for(;t(a,1),!i(a););}),n&&(o.count=(i,a)=>(PE.setTime(+i),EE.setTime(+a),e(PE),e(EE),Math.floor(n(PE,EE))),o.every=i=>(i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?o.filter(r?a=>r(a)%i===0:a=>o.count(0,a)%i===0):o)),o}const gw=vr(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);gw.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?vr(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):gw);gw.range;const Ys=1e3,Vi=Ys*60,Qs=Vi*60,yl=Qs*24,PR=yl*7,IB=yl*30,OE=yl*365,ku=vr(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*Ys)},(e,t)=>(t-e)/Ys,e=>e.getUTCSeconds());ku.range;const ER=vr(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Ys)},(e,t)=>{e.setTime(+e+t*Vi)},(e,t)=>(t-e)/Vi,e=>e.getMinutes());ER.range;const OR=vr(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*Vi)},(e,t)=>(t-e)/Vi,e=>e.getUTCMinutes());OR.range;const TR=vr(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Ys-e.getMinutes()*Vi)},(e,t)=>{e.setTime(+e+t*Qs)},(e,t)=>(t-e)/Qs,e=>e.getHours());TR.range;const kR=vr(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*Qs)},(e,t)=>(t-e)/Qs,e=>e.getUTCHours());kR.range;const Uy=vr(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Vi)/yl,e=>e.getDate()-1);Uy.range;const pS=vr(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/yl,e=>e.getUTCDate()-1);pS.range;const g7=vr(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/yl,e=>Math.floor(e/yl));g7.range;function Sd(e){return vr(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,n)=>{t.setDate(t.getDate()+n*7)},(t,n)=>(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*Vi)/PR)}const hS=Sd(0),vw=Sd(1),dje=Sd(2),fje=Sd(3),Rp=Sd(4),pje=Sd(5),hje=Sd(6);hS.range;vw.range;dje.range;fje.range;Rp.range;pje.range;hje.range;function Pd(e){return vr(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCDate(t.getUTCDate()+n*7)},(t,n)=>(n-t)/PR)}const mS=Pd(0),yw=Pd(1),mje=Pd(2),gje=Pd(3),_p=Pd(4),vje=Pd(5),yje=Pd(6);mS.range;yw.range;mje.range;gje.range;_p.range;vje.range;yje.range;const IR=vr(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());IR.range;const $R=vr(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());$R.range;const bl=vr(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());bl.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:vr(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)});bl.range;const xl=vr(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());xl.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:vr(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)});xl.range;function v7(e,t,n,r,o,i){const a=[[ku,1,Ys],[ku,5,5*Ys],[ku,15,15*Ys],[ku,30,30*Ys],[i,1,Vi],[i,5,5*Vi],[i,15,15*Vi],[i,30,30*Vi],[o,1,Qs],[o,3,3*Qs],[o,6,6*Qs],[o,12,12*Qs],[r,1,yl],[r,2,2*yl],[n,1,PR],[t,1,IB],[t,3,3*IB],[e,1,OE]];function s(c,u,d){const f=uv).right(a,f);if(p===a.length)return e.every(Pk(c/OE,u/OE,d));if(p===0)return gw.every(Math.max(Pk(c,u,d),1));const[h,m]=a[f/a[p-1][2]53)return null;"w"in G||(G.w=1),"Z"in G?(fe=kE(Tm(G.y,0,1)),he=fe.getUTCDay(),fe=he>4||he===0?yw.ceil(fe):yw(fe),fe=pS.offset(fe,(G.V-1)*7),G.y=fe.getUTCFullYear(),G.m=fe.getUTCMonth(),G.d=fe.getUTCDate()+(G.w+6)%7):(fe=TE(Tm(G.y,0,1)),he=fe.getDay(),fe=he>4||he===0?vw.ceil(fe):vw(fe),fe=Uy.offset(fe,(G.V-1)*7),G.y=fe.getFullYear(),G.m=fe.getMonth(),G.d=fe.getDate()+(G.w+6)%7)}else("W"in G||"U"in G)&&("w"in G||(G.w="u"in G?G.u%7:"W"in G?1:0),he="Z"in G?kE(Tm(G.y,0,1)).getUTCDay():TE(Tm(G.y,0,1)).getDay(),G.m=0,G.d="W"in G?(G.w+6)%7+G.W*7-(he+5)%7:G.w+G.U*7-(he+6)%7);return"Z"in G?(G.H+=G.Z/100|0,G.M+=G.Z%100,kE(G)):TE(G)}}function T(re,pe,le,G){for(var te=0,fe=pe.length,he=le.length,ce,be;te=he)return-1;if(ce=pe.charCodeAt(te++),ce===37){if(ce=pe.charAt(te++),be=O[ce in $B?pe.charAt(te++):ce],!be||(G=be(re,le,G))<0)return-1}else if(ce!=le.charCodeAt(G++))return-1}return G}function $(re,pe,le){var G=c.exec(pe.slice(le));return G?(re.p=u.get(G[0].toLowerCase()),le+G[0].length):-1}function M(re,pe,le){var G=p.exec(pe.slice(le));return G?(re.w=h.get(G[0].toLowerCase()),le+G[0].length):-1}function D(re,pe,le){var G=d.exec(pe.slice(le));return G?(re.w=f.get(G[0].toLowerCase()),le+G[0].length):-1}function L(re,pe,le){var G=b.exec(pe.slice(le));return G?(re.m=y.get(G[0].toLowerCase()),le+G[0].length):-1}function N(re,pe,le){var G=m.exec(pe.slice(le));return G?(re.m=v.get(G[0].toLowerCase()),le+G[0].length):-1}function R(re,pe,le){return T(re,t,pe,le)}function I(re,pe,le){return T(re,n,pe,le)}function A(re,pe,le){return T(re,r,pe,le)}function F(re){return a[re.getDay()]}function _(re){return i[re.getDay()]}function j(re){return l[re.getMonth()]}function B(re){return s[re.getMonth()]}function U(re){return o[+(re.getHours()>=12)]}function H(re){return 1+~~(re.getMonth()/3)}function K(re){return a[re.getUTCDay()]}function J(re){return i[re.getUTCDay()]}function oe(re){return l[re.getUTCMonth()]}function ae(re){return s[re.getUTCMonth()]}function Z(re){return o[+(re.getUTCHours()>=12)]}function ue(re){return 1+~~(re.getUTCMonth()/3)}return{format:function(re){var pe=P(re+="",w);return pe.toString=function(){return re},pe},parse:function(re){var pe=E(re+="",!1);return pe.toString=function(){return re},pe},utcFormat:function(re){var pe=P(re+="",C);return pe.toString=function(){return re},pe},utcParse:function(re){var pe=E(re+="",!0);return pe.toString=function(){return re},pe}}}var $B={"-":"",_:" ",0:"0"},kr=/^\s*\d+/,Pje=/^%/,Eje=/[\\^$*+?|[\]().{}]/g;function Qt(e,t,n){var r=e<0?"-":"",o=(r?-e:e)+"",i=o.length;return r+(i[t.toLowerCase(),n]))}function Tje(e,t,n){var r=kr.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function kje(e,t,n){var r=kr.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function Ije(e,t,n){var r=kr.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function $je(e,t,n){var r=kr.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function Mje(e,t,n){var r=kr.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function MB(e,t,n){var r=kr.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function AB(e,t,n){var r=kr.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Aje(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 Rje(e,t,n){var r=kr.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function _je(e,t,n){var r=kr.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function RB(e,t,n){var r=kr.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function Dje(e,t,n){var r=kr.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function _B(e,t,n){var r=kr.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function Nje(e,t,n){var r=kr.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function Lje(e,t,n){var r=kr.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function jje(e,t,n){var r=kr.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function Fje(e,t,n){var r=kr.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Bje(e,t,n){var r=Pje.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function zje(e,t,n){var r=kr.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function Vje(e,t,n){var r=kr.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function DB(e,t){return Qt(e.getDate(),t,2)}function Hje(e,t){return Qt(e.getHours(),t,2)}function Uje(e,t){return Qt(e.getHours()%12||12,t,2)}function Wje(e,t){return Qt(1+Uy.count(bl(e),e),t,3)}function y7(e,t){return Qt(e.getMilliseconds(),t,3)}function Gje(e,t){return y7(e,t)+"000"}function qje(e,t){return Qt(e.getMonth()+1,t,2)}function Kje(e,t){return Qt(e.getMinutes(),t,2)}function Yje(e,t){return Qt(e.getSeconds(),t,2)}function Qje(e){var t=e.getDay();return t===0?7:t}function Xje(e,t){return Qt(hS.count(bl(e)-1,e),t,2)}function b7(e){var t=e.getDay();return t>=4||t===0?Rp(e):Rp.ceil(e)}function Jje(e,t){return e=b7(e),Qt(Rp.count(bl(e),e)+(bl(e).getDay()===4),t,2)}function Zje(e){return e.getDay()}function eFe(e,t){return Qt(vw.count(bl(e)-1,e),t,2)}function tFe(e,t){return Qt(e.getFullYear()%100,t,2)}function nFe(e,t){return e=b7(e),Qt(e.getFullYear()%100,t,2)}function rFe(e,t){return Qt(e.getFullYear()%1e4,t,4)}function oFe(e,t){var n=e.getDay();return e=n>=4||n===0?Rp(e):Rp.ceil(e),Qt(e.getFullYear()%1e4,t,4)}function iFe(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+Qt(t/60|0,"0",2)+Qt(t%60,"0",2)}function NB(e,t){return Qt(e.getUTCDate(),t,2)}function aFe(e,t){return Qt(e.getUTCHours(),t,2)}function sFe(e,t){return Qt(e.getUTCHours()%12||12,t,2)}function lFe(e,t){return Qt(1+pS.count(xl(e),e),t,3)}function x7(e,t){return Qt(e.getUTCMilliseconds(),t,3)}function cFe(e,t){return x7(e,t)+"000"}function uFe(e,t){return Qt(e.getUTCMonth()+1,t,2)}function dFe(e,t){return Qt(e.getUTCMinutes(),t,2)}function fFe(e,t){return Qt(e.getUTCSeconds(),t,2)}function pFe(e){var t=e.getUTCDay();return t===0?7:t}function hFe(e,t){return Qt(mS.count(xl(e)-1,e),t,2)}function w7(e){var t=e.getUTCDay();return t>=4||t===0?_p(e):_p.ceil(e)}function mFe(e,t){return e=w7(e),Qt(_p.count(xl(e),e)+(xl(e).getUTCDay()===4),t,2)}function gFe(e){return e.getUTCDay()}function vFe(e,t){return Qt(yw.count(xl(e)-1,e),t,2)}function yFe(e,t){return Qt(e.getUTCFullYear()%100,t,2)}function bFe(e,t){return e=w7(e),Qt(e.getUTCFullYear()%100,t,2)}function xFe(e,t){return Qt(e.getUTCFullYear()%1e4,t,4)}function wFe(e,t){var n=e.getUTCDay();return e=n>=4||n===0?_p(e):_p.ceil(e),Qt(e.getUTCFullYear()%1e4,t,4)}function CFe(){return"+0000"}function LB(){return"%"}function jB(e){return+e}function FB(e){return Math.floor(+e/1e3)}var Yd,C7,S7;SFe({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"]});function SFe(e){return Yd=Sje(e),C7=Yd.format,Yd.parse,S7=Yd.utcFormat,Yd.utcParse,Yd}function PFe(e){return new Date(e)}function EFe(e){return e instanceof Date?+e:+new Date(+e)}function MR(e,t,n,r,o,i,a,s,l,c){var u=vR(),d=u.invert,f=u.domain,p=c(".%L"),h=c(":%S"),m=c("%I:%M"),v=c("%I %p"),b=c("%a %d"),y=c("%b %d"),w=c("%B"),C=c("%Y");function O(P){return(l(P)t(o/(e.length-1)))},n.quantiles=function(r){return Array.from({length:r+1},(o,i)=>hLe(e,i/r))},n.copy=function(){return T7(t).domain(e)},kl.apply(n,arguments)}function vS(){var e=0,t=.5,n=1,r=1,o,i,a,s,l,c=lo,u,d=!1,f;function p(m){return isNaN(m=+m)?f:(m=.5+((m=+u(m))-i)*(r*mt}var M7=AFe,RFe=yS,_Fe=M7,DFe=Mh;function NFe(e){return e&&e.length?RFe(e,DFe,_Fe):void 0}var LFe=NFe;const bS=Ht(LFe);function jFe(e,t){return ee.e^i.s<0?1:-1;for(r=i.d.length,o=e.d.length,t=0,n=re.d[t]^i.s<0?1:-1;return r===o?0:r>o^i.s<0?1:-1};Xe.decimalPlaces=Xe.dp=function(){var e=this,t=e.d.length-1,n=(t-e.e)*On;if(t=e.d[t],t)for(;t%10==0;t/=10)n--;return n<0?0:n};Xe.dividedBy=Xe.div=function(e){return tl(this,new this.constructor(e))};Xe.dividedToIntegerBy=Xe.idiv=function(e){var t=this,n=t.constructor;return mn(tl(t,new n(e),0,1),n.precision)};Xe.equals=Xe.eq=function(e){return!this.cmp(e)};Xe.exponent=function(){return ir(this)};Xe.greaterThan=Xe.gt=function(e){return this.cmp(e)>0};Xe.greaterThanOrEqualTo=Xe.gte=function(e){return this.cmp(e)>=0};Xe.isInteger=Xe.isint=function(){return this.e>this.d.length-2};Xe.isNegative=Xe.isneg=function(){return this.s<0};Xe.isPositive=Xe.ispos=function(){return this.s>0};Xe.isZero=function(){return this.s===0};Xe.lessThan=Xe.lt=function(e){return this.cmp(e)<0};Xe.lessThanOrEqualTo=Xe.lte=function(e){return this.cmp(e)<1};Xe.logarithm=Xe.log=function(e){var t,n=this,r=n.constructor,o=r.precision,i=o+5;if(e===void 0)e=new r(10);else if(e=new r(e),e.s<1||e.eq(Xo))throw Error(ea+"NaN");if(n.s<1)throw Error(ea+(n.s?"NaN":"-Infinity"));return n.eq(Xo)?new r(0):(_n=!1,t=tl(Ov(n,i),Ov(e,i),i),_n=!0,mn(t,o))};Xe.minus=Xe.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?N7(t,e):_7(t,(e.s=-e.s,e))};Xe.modulo=Xe.mod=function(e){var t,n=this,r=n.constructor,o=r.precision;if(e=new r(e),!e.s)throw Error(ea+"NaN");return n.s?(_n=!1,t=tl(n,e,0,1).times(e),_n=!0,n.minus(t)):mn(new r(n),o)};Xe.naturalExponential=Xe.exp=function(){return D7(this)};Xe.naturalLogarithm=Xe.ln=function(){return Ov(this)};Xe.negated=Xe.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e};Xe.plus=Xe.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?_7(t,e):N7(t,(e.s=-e.s,e))};Xe.precision=Xe.sd=function(e){var t,n,r,o=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(Fu+e);if(t=ir(o)+1,r=o.d.length-1,n=r*On+1,r=o.d[r],r){for(;r%10==0;r/=10)n--;for(r=o.d[0];r>=10;r/=10)n++}return e&&t>n?t:n};Xe.squareRoot=Xe.sqrt=function(){var e,t,n,r,o,i,a,s=this,l=s.constructor;if(s.s<1){if(!s.s)return new l(0);throw Error(ea+"NaN")}for(e=ir(s),_n=!1,o=Math.sqrt(+s),o==0||o==1/0?(t=is(s.d),(t.length+e)%2==0&&(t+="0"),o=Math.sqrt(t),e=Nh((e+1)/2)-(e<0||e%2),o==1/0?t="5e"+e:(t=o.toExponential(),t=t.slice(0,t.indexOf("e")+1)+e),r=new l(t)):r=new l(o.toString()),n=l.precision,o=a=n+3;;)if(i=r,r=i.plus(tl(s,i,a+2)).times(.5),is(i.d).slice(0,a)===(t=is(r.d)).slice(0,a)){if(t=t.slice(a-3,a+1),o==a&&t=="4999"){if(mn(i,n+1,0),i.times(i).eq(s)){r=i;break}}else if(t!="9999")break;a+=4}return _n=!0,mn(r,n)};Xe.times=Xe.mul=function(e){var t,n,r,o,i,a,s,l,c,u=this,d=u.constructor,f=u.d,p=(e=new d(e)).d;if(!u.s||!e.s)return new d(0);for(e.s*=u.s,n=u.e+e.e,l=f.length,c=p.length,l=0;){for(t=0,o=l+r;o>r;)s=i[o]+p[r]*f[o-r-1]+t,i[o--]=s%Cr|0,t=s/Cr|0;i[o]=(i[o]+t)%Cr|0}for(;!i[--a];)i.pop();return t?++n:i.shift(),e.d=i,e.e=n,_n?mn(e,d.precision):e};Xe.toDecimalPlaces=Xe.todp=function(e,t){var n=this,r=n.constructor;return n=new r(n),e===void 0?n:(xs(e,0,Dh),t===void 0?t=r.rounding:xs(t,0,8),mn(n,e+ir(n)+1,t))};Xe.toExponential=function(e,t){var n,r=this,o=r.constructor;return e===void 0?n=id(r,!0):(xs(e,0,Dh),t===void 0?t=o.rounding:xs(t,0,8),r=mn(new o(r),e+1,t),n=id(r,!0,e+1)),n};Xe.toFixed=function(e,t){var n,r,o=this,i=o.constructor;return e===void 0?id(o):(xs(e,0,Dh),t===void 0?t=i.rounding:xs(t,0,8),r=mn(new i(o),e+ir(o)+1,t),n=id(r.abs(),!1,e+ir(r)+1),o.isneg()&&!o.isZero()?"-"+n:n)};Xe.toInteger=Xe.toint=function(){var e=this,t=e.constructor;return mn(new t(e),ir(e)+1,t.rounding)};Xe.toNumber=function(){return+this};Xe.toPower=Xe.pow=function(e){var t,n,r,o,i,a,s=this,l=s.constructor,c=12,u=+(e=new l(e));if(!e.s)return new l(Xo);if(s=new l(s),!s.s){if(e.s<1)throw Error(ea+"Infinity");return s}if(s.eq(Xo))return s;if(r=l.precision,e.eq(Xo))return mn(s,r);if(t=e.e,n=e.d.length-1,a=t>=n,i=s.s,a){if((n=u<0?-u:u)<=R7){for(o=new l(Xo),t=Math.ceil(r/On+4),_n=!1;n%2&&(o=o.times(s),VB(o.d,t)),n=Nh(n/2),n!==0;)s=s.times(s),VB(s.d,t);return _n=!0,e.s<0?new l(Xo).div(o):mn(o,r)}}else if(i<0)throw Error(ea+"NaN");return i=i<0&&e.d[Math.max(t,n)]&1?-1:1,s.s=1,_n=!1,o=e.times(Ov(s,r+c)),_n=!0,o=D7(o),o.s=i,o};Xe.toPrecision=function(e,t){var n,r,o=this,i=o.constructor;return e===void 0?(n=ir(o),r=id(o,n<=i.toExpNeg||n>=i.toExpPos)):(xs(e,1,Dh),t===void 0?t=i.rounding:xs(t,0,8),o=mn(new i(o),e,t),n=ir(o),r=id(o,e<=n||n<=i.toExpNeg,e)),r};Xe.toSignificantDigits=Xe.tosd=function(e,t){var n=this,r=n.constructor;return e===void 0?(e=r.precision,t=r.rounding):(xs(e,1,Dh),t===void 0?t=r.rounding:xs(t,0,8)),mn(new r(n),e,t)};Xe.toString=Xe.valueOf=Xe.val=Xe.toJSON=Xe[Symbol.for("nodejs.util.inspect.custom")]=function(){var e=this,t=ir(e),n=e.constructor;return id(e,t<=n.toExpNeg||t>=n.toExpPos)};function _7(e,t){var n,r,o,i,a,s,l,c,u=e.constructor,d=u.precision;if(!e.s||!t.s)return t.s||(t=new u(e)),_n?mn(t,d):t;if(l=e.d,c=t.d,a=e.e,o=t.e,l=l.slice(),i=a-o,i){for(i<0?(r=l,i=-i,s=c.length):(r=c,o=a,s=l.length),a=Math.ceil(d/On),s=a>s?a+1:s+1,i>s&&(i=s,r.length=1),r.reverse();i--;)r.push(0);r.reverse()}for(s=l.length,i=c.length,s-i<0&&(i=s,r=c,c=l,l=r),n=0;i;)n=(l[--i]=l[i]+c[i]+n)/Cr|0,l[i]%=Cr;for(n&&(l.unshift(n),++o),s=l.length;l[--s]==0;)l.pop();return t.d=l,t.e=o,_n?mn(t,d):t}function xs(e,t,n){if(e!==~~e||en)throw Error(Fu+e)}function is(e){var t,n,r,o=e.length-1,i="",a=e[0];if(o>0){for(i+=a,t=1;ta?1:-1;else for(s=l=0;so[s]?1:-1;break}return l}function n(r,o,i){for(var a=0;i--;)r[i]-=a,a=r[i]1;)r.shift()}return function(r,o,i,a){var s,l,c,u,d,f,p,h,m,v,b,y,w,C,O,P,E,T,$=r.constructor,M=r.s==o.s?1:-1,D=r.d,L=o.d;if(!r.s)return new $(r);if(!o.s)throw Error(ea+"Division by zero");for(l=r.e-o.e,E=L.length,O=D.length,p=new $(M),h=p.d=[],c=0;L[c]==(D[c]||0);)++c;if(L[c]>(D[c]||0)&&--l,i==null?y=i=$.precision:a?y=i+(ir(r)-ir(o))+1:y=i,y<0)return new $(0);if(y=y/On+2|0,c=0,E==1)for(u=0,L=L[0],y++;(c1&&(L=e(L,u),D=e(D,u),E=L.length,O=D.length),C=E,m=D.slice(0,E),v=m.length;v=Cr/2&&++P;do u=0,s=t(L,m,E,v),s<0?(b=m[0],E!=v&&(b=b*Cr+(m[1]||0)),u=b/P|0,u>1?(u>=Cr&&(u=Cr-1),d=e(L,u),f=d.length,v=m.length,s=t(d,m,f,v),s==1&&(u--,n(d,E16)throw Error(_R+ir(e));if(!e.s)return new u(Xo);for(t==null?(_n=!1,s=d):s=t,a=new u(.03125);e.abs().gte(.1);)e=e.times(a),c+=5;for(r=Math.log(mu(2,c))/Math.LN10*2+5|0,s+=r,n=o=i=new u(Xo),u.precision=s;;){if(o=mn(o.times(e),s),n=n.times(++l),a=i.plus(tl(o,n,s)),is(a.d).slice(0,s)===is(i.d).slice(0,s)){for(;c--;)i=mn(i.times(i),s);return u.precision=d,t==null?(_n=!0,mn(i,d)):i}i=a}}function ir(e){for(var t=e.e*On,n=e.d[0];n>=10;n/=10)t++;return t}function IE(e,t,n){if(t>e.LN10.sd())throw _n=!0,n&&(e.precision=n),Error(ea+"LN10 precision limit exceeded");return mn(new e(e.LN10),t)}function Ql(e){for(var t="";e--;)t+="0";return t}function Ov(e,t){var n,r,o,i,a,s,l,c,u,d=1,f=10,p=e,h=p.d,m=p.constructor,v=m.precision;if(p.s<1)throw Error(ea+(p.s?"NaN":"-Infinity"));if(p.eq(Xo))return new m(0);if(t==null?(_n=!1,c=v):c=t,p.eq(10))return t==null&&(_n=!0),IE(m,c);if(c+=f,m.precision=c,n=is(h),r=n.charAt(0),i=ir(p),Math.abs(i)<15e14){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)p=p.times(e),n=is(p.d),r=n.charAt(0),d++;i=ir(p),r>1?(p=new m("0."+n),i++):p=new m(r+"."+n.slice(1))}else return l=IE(m,c+2,v).times(i+""),p=Ov(new m(r+"."+n.slice(1)),c-f).plus(l),m.precision=v,t==null?(_n=!0,mn(p,v)):p;for(s=a=p=tl(p.minus(Xo),p.plus(Xo),c),u=mn(p.times(p),c),o=3;;){if(a=mn(a.times(u),c),l=s.plus(tl(a,new m(o),c)),is(l.d).slice(0,c)===is(s.d).slice(0,c))return s=s.times(2),i!==0&&(s=s.plus(IE(m,c+2,v).times(i+""))),s=tl(s,new m(d),c),m.precision=v,t==null?(_n=!0,mn(s,v)):s;s=l,o+=2}}function zB(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;t.charCodeAt(r)===48;)++r;for(o=t.length;t.charCodeAt(o-1)===48;)--o;if(t=t.slice(r,o),t){if(o-=r,n=n-r-1,e.e=Nh(n/On),e.d=[],r=(n+1)%On,n<0&&(r+=On),rbw||e.e<-bw))throw Error(_R+n)}else e.s=0,e.e=0,e.d=[0];return e}function mn(e,t,n){var r,o,i,a,s,l,c,u,d=e.d;for(a=1,i=d[0];i>=10;i/=10)a++;if(r=t-a,r<0)r+=On,o=t,c=d[u=0];else{if(u=Math.ceil((r+1)/On),i=d.length,u>=i)return e;for(c=i=d[u],a=1;i>=10;i/=10)a++;r%=On,o=r-On+a}if(n!==void 0&&(i=mu(10,a-o-1),s=c/i%10|0,l=t<0||d[u+1]!==void 0||c%i,l=n<4?(s||l)&&(n==0||n==(e.s<0?3:2)):s>5||s==5&&(n==4||l||n==6&&(r>0?o>0?c/mu(10,a-o):0:d[u-1])%10&1||n==(e.s<0?8:7))),t<1||!d[0])return l?(i=ir(e),d.length=1,t=t-i-1,d[0]=mu(10,(On-t%On)%On),e.e=Nh(-t/On)||0):(d.length=1,d[0]=e.e=e.s=0),e;if(r==0?(d.length=u,i=1,u--):(d.length=u+1,i=mu(10,On-r),d[u]=o>0?(c/mu(10,a-o)%mu(10,o)|0)*i:0),l)for(;;)if(u==0){(d[0]+=i)==Cr&&(d[0]=1,++e.e);break}else{if(d[u]+=i,d[u]!=Cr)break;d[u--]=0,i=1}for(r=d.length;d[--r]===0;)d.pop();if(_n&&(e.e>bw||e.e<-bw))throw Error(_R+ir(e));return e}function N7(e,t){var n,r,o,i,a,s,l,c,u,d,f=e.constructor,p=f.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new f(e),_n?mn(t,p):t;if(l=e.d,d=t.d,r=t.e,c=e.e,l=l.slice(),a=c-r,a){for(u=a<0,u?(n=l,a=-a,s=d.length):(n=d,r=c,s=l.length),o=Math.max(Math.ceil(p/On),s)+2,a>o&&(a=o,n.length=1),n.reverse(),o=a;o--;)n.push(0);n.reverse()}else{for(o=l.length,s=d.length,u=o0;--o)l[s++]=0;for(o=d.length;o>a;){if(l[--o]0?i=i.charAt(0)+"."+i.slice(1)+Ql(r):a>1&&(i=i.charAt(0)+"."+i.slice(1)),i=i+(o<0?"e":"e+")+o):o<0?(i="0."+Ql(-o-1)+i,n&&(r=n-a)>0&&(i+=Ql(r))):o>=a?(i+=Ql(o+1-a),n&&(r=n-o-1)>0&&(i=i+"."+Ql(r))):((r=o+1)0&&(o+1===a&&(i+="."),i+=Ql(r))),e.s<0?"-"+i:i}function VB(e,t){if(e.length>t)return e.length=t,!0}function L7(e){var t,n,r;function o(i){var a=this;if(!(a instanceof o))return new o(i);if(a.constructor=o,i instanceof o){a.s=i.s,a.e=i.e,a.d=(i=i.d)?i.slice():i;return}if(typeof i=="number"){if(i*0!==0)throw Error(Fu+i);if(i>0)a.s=1;else if(i<0)i=-i,a.s=-1;else{a.s=0,a.e=0,a.d=[0];return}if(i===~~i&&i<1e7){a.e=0,a.d=[i];return}return zB(a,i.toString())}else if(typeof i!="string")throw Error(Fu+i);if(i.charCodeAt(0)===45?(i=i.slice(1),a.s=-1):a.s=1,iBe.test(i))zB(a,i);else throw Error(Fu+i)}if(o.prototype=Xe,o.ROUND_UP=0,o.ROUND_DOWN=1,o.ROUND_CEIL=2,o.ROUND_FLOOR=3,o.ROUND_HALF_UP=4,o.ROUND_HALF_DOWN=5,o.ROUND_HALF_EVEN=6,o.ROUND_HALF_CEIL=7,o.ROUND_HALF_FLOOR=8,o.clone=L7,o.config=o.set=aBe,e===void 0&&(e={}),e)for(r=["precision","rounding","toExpNeg","toExpPos","LN10"],t=0;t=o[t+1]&&r<=o[t+2])this[n]=r;else throw Error(Fu+n+": "+r);if((r=e[n="LN10"])!==void 0)if(r==Math.LN10)this[n]=new this(r);else throw Error(Fu+n+": "+r);return this}var DR=L7(oBe);Xo=new DR(1);const fn=DR;function sBe(e){return dBe(e)||uBe(e)||cBe(e)||lBe()}function lBe(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function cBe(e,t){if(e){if(typeof e=="string")return Ik(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Ik(e,t)}}function uBe(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function dBe(e){if(Array.isArray(e))return Ik(e)}function Ik(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=t?n.apply(void 0,o):e(t-a,HB(function(){for(var s=arguments.length,l=new Array(s),c=0;ce.length)&&(t=e.length);for(var n=0,r=new Array(t);n"u"||!(Symbol.iterator in Object(e)))){var n=[],r=!0,o=!1,i=void 0;try{for(var a=e[Symbol.iterator](),s;!(r=(s=a.next()).done)&&(n.push(s.value),!(t&&n.length===t));r=!0);}catch(l){o=!0,i=l}finally{try{!r&&a.return!=null&&a.return()}finally{if(o)throw i}}return n}}function OBe(e){if(Array.isArray(e))return e}function V7(e){var t=Tv(e,2),n=t[0],r=t[1],o=n,i=r;return n>r&&(o=r,i=n),[o,i]}function H7(e,t,n){if(e.lte(0))return new fn(0);var r=CS.getDigitCount(e.toNumber()),o=new fn(10).pow(r),i=e.div(o),a=r!==1?.05:.1,s=new fn(Math.ceil(i.div(a).toNumber())).add(n).mul(a),l=s.mul(o);return t?l:new fn(Math.ceil(l))}function TBe(e,t,n){var r=1,o=new fn(e);if(!o.isint()&&n){var i=Math.abs(e);i<1?(r=new fn(10).pow(CS.getDigitCount(e)-1),o=new fn(Math.floor(o.div(r).toNumber())).mul(r)):i>1&&(o=new fn(Math.floor(e)))}else e===0?o=new fn(Math.floor((t-1)/2)):n||(o=new fn(Math.floor(e)));var a=Math.floor((t-1)/2),s=mBe(hBe(function(l){return o.add(new fn(l-a).mul(r)).toNumber()}),$k);return s(0,t)}function U7(e,t,n,r){var o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0;if(!Number.isFinite((t-e)/(n-1)))return{step:new fn(0),tickMin:new fn(0),tickMax:new fn(0)};var i=H7(new fn(t).sub(e).div(n-1),r,o),a;e<=0&&t>=0?a=new fn(0):(a=new fn(e).add(t).div(2),a=a.sub(new fn(a).mod(i)));var s=Math.ceil(a.sub(e).div(i).toNumber()),l=Math.ceil(new fn(t).sub(a).div(i).toNumber()),c=s+l+1;return c>n?U7(e,t,n,r,o+1):(c0?l+(n-c):l,s=t>0?s:s+(n-c)),{step:i,tickMin:a.sub(new fn(s).mul(i)),tickMax:a.add(new fn(l).mul(i))})}function kBe(e){var t=Tv(e,2),n=t[0],r=t[1],o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,a=Math.max(o,2),s=V7([n,r]),l=Tv(s,2),c=l[0],u=l[1];if(c===-1/0||u===1/0){var d=u===1/0?[c].concat(Ak($k(0,o-1).map(function(){return 1/0}))):[].concat(Ak($k(0,o-1).map(function(){return-1/0})),[u]);return n>r?Mk(d):d}if(c===u)return TBe(c,o,i);var f=U7(c,u,a,i),p=f.step,h=f.tickMin,m=f.tickMax,v=CS.rangeStep(h,m.add(new fn(.1).mul(p)),p);return n>r?Mk(v):v}function IBe(e,t){var n=Tv(e,2),r=n[0],o=n[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,a=V7([r,o]),s=Tv(a,2),l=s[0],c=s[1];if(l===-1/0||c===1/0)return[r,o];if(l===c)return[l];var u=Math.max(t,2),d=H7(new fn(c).sub(l).div(u-1),i,0),f=[].concat(Ak(CS.rangeStep(new fn(l),new fn(c).sub(new fn(.99).mul(d)),d)),[c]);return r>o?Mk(f):f}var $Be=B7(kBe),MBe=B7(IBe),ABe="Invariant failed";function ad(e,t){throw new Error(ABe)}var RBe=["offset","layout","width","dataKey","data","dataPointFormatter","xAxis","yAxis"];function xw(){return xw=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function BBe(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}function Lh(e){var t=e.offset,n=e.layout,r=e.width,o=e.dataKey,i=e.data,a=e.dataPointFormatter,s=e.xAxis,l=e.yAxis,c=FBe(e,RBe),u=ot(c,!1);e.direction==="x"&&s.type!=="number"&&ad();var d=i.map(function(f){var p=a(f,o),h=p.x,m=p.y,v=p.value,b=p.errorVal;if(!b)return null;var y=[],w,C;if(Array.isArray(b)){var O=_Be(b,2);w=O[0],C=O[1]}else w=C=b;if(n==="vertical"){var P=s.scale,E=m+t,T=E+r,$=E-r,M=P(v-w),D=P(v+C);y.push({x1:D,y1:T,x2:D,y2:$}),y.push({x1:M,y1:E,x2:D,y2:E}),y.push({x1:M,y1:T,x2:M,y2:$})}else if(n==="horizontal"){var L=l.scale,N=h+t,R=N-r,I=N+r,A=L(v-w),F=L(v+C);y.push({x1:R,y1:F,x2:I,y2:F}),y.push({x1:N,y1:A,x2:N,y2:F}),y.push({x1:R,y1:A,x2:I,y2:A})}return V.createElement(At,xw({className:"recharts-errorBar",key:"bar-".concat(y.map(function(_){return"".concat(_.x1,"-").concat(_.x2,"-").concat(_.y1,"-").concat(_.y2)}))},u),y.map(function(_){return V.createElement("line",xw({},_,{key:"line-".concat(_.x1,"-").concat(_.x2,"-").concat(_.y1,"-").concat(_.y2)}))}))});return V.createElement(At,{className:"recharts-errorBars"},d)}Lh.defaultProps={stroke:"black",strokeWidth:1.5,width:5,offset:0,layout:"horizontal"};Lh.displayName="ErrorBar";function kv(e){"@babel/helpers - typeof";return kv=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},kv(e)}function WB(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function $E(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&arguments[1]!==void 0?arguments[1]:[],o=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,a=-1,s=(n=r==null?void 0:r.length)!==null&&n!==void 0?n:0;if(s<=1)return 0;if(i&&i.axisType==="angleAxis"&&Math.abs(Math.abs(i.range[1]-i.range[0])-360)<=1e-6)for(var l=i.range,c=0;c0?o[c-1].coordinate:o[s-1].coordinate,d=o[c].coordinate,f=c>=s-1?o[0].coordinate:o[c+1].coordinate,p=void 0;if(ao(d-u)!==ao(f-d)){var h=[];if(ao(f-d)===ao(l[1]-l[0])){p=f;var m=d+l[1]-l[0];h[0]=Math.min(m,(m+u)/2),h[1]=Math.max(m,(m+u)/2)}else{p=u;var v=f+l[1]-l[0];h[0]=Math.min(d,(v+d)/2),h[1]=Math.max(d,(v+d)/2)}var b=[Math.min(d,(p+d)/2),Math.max(d,(p+d)/2)];if(t>b[0]&&t<=b[1]||t>=h[0]&&t<=h[1]){a=o[c].index;break}}else{var y=Math.min(u,f),w=Math.max(u,f);if(t>(y+d)/2&&t<=(w+d)/2){a=o[c].index;break}}}else for(var C=0;C0&&C(r[C].coordinate+r[C-1].coordinate)/2&&t<=(r[C].coordinate+r[C+1].coordinate)/2||C===s-1&&t>(r[C].coordinate+r[C-1].coordinate)/2){a=r[C].index;break}return a},NR=function(t){var n=t,r=n.type.displayName,o=t.props,i=o.stroke,a=o.fill,s;switch(r){case"Line":s=i;break;case"Area":case"Radar":s=i&&i!=="none"?i:a;break;default:s=a;break}return s},XBe=function(t){var n=t.barSize,r=t.totalSize,o=t.stackGroups,i=o===void 0?{}:o;if(!i)return{};for(var a={},s=Object.keys(i),l=0,c=s.length;l=0});if(b&&b.length){var y=b[0].props.barSize,w=b[0].props[v];a[w]||(a[w]=[]);var C=lt(y)?n:y;a[w].push({item:b[0],stackList:b.slice(1),barSize:lt(C)?void 0:so(C,r,0)})}}return a},JBe=function(t){var n=t.barGap,r=t.barCategoryGap,o=t.bandSize,i=t.sizeList,a=i===void 0?[]:i,s=t.maxBarSize,l=a.length;if(l<1)return null;var c=so(n,o,0,!0),u,d=[];if(a[0].barSize===+a[0].barSize){var f=!1,p=o/l,h=a.reduce(function(C,O){return C+O.barSize||0},0);h+=(l-1)*c,h>=o&&(h-=(l-1)*c,c=0),h>=o&&p>0&&(f=!0,p*=.9,h=l*p);var m=(o-h)/2>>0,v={offset:m-c,size:0};u=a.reduce(function(C,O){var P={item:O.item,position:{offset:v.offset+v.size+c,size:f?p:O.barSize}},E=[].concat(qB(C),[P]);return v=E[E.length-1].position,O.stackList&&O.stackList.length&&O.stackList.forEach(function(T){E.push({item:T,position:v})}),E},d)}else{var b=so(r,o,0,!0);o-2*b-(l-1)*c<=0&&(c=0);var y=(o-2*b-(l-1)*c)/l;y>1&&(y>>=0);var w=s===+s?Math.min(y,s):y;u=a.reduce(function(C,O,P){var E=[].concat(qB(C),[{item:O.item,position:{offset:b+(y+c)*P+(y-w)/2,size:w}}]);return O.stackList&&O.stackList.length&&O.stackList.forEach(function(T){E.push({item:T,position:E[E.length-1].position})}),E},d)}return u},ZBe=function(t,n,r,o){var i=r.children,a=r.width,s=r.margin,l=a-(s.left||0)-(s.right||0),c=W7({children:i,legendWidth:l});if(c){var u=o||{},d=u.width,f=u.height,p=c.align,h=c.verticalAlign,m=c.layout;if((m==="vertical"||m==="horizontal"&&h==="middle")&&p!=="center"&&Ne(t[p]))return Fi(Fi({},t),{},rp({},p,t[p]+(d||0)));if((m==="horizontal"||m==="vertical"&&p==="center")&&h!=="middle"&&Ne(t[h]))return Fi(Fi({},t),{},rp({},h,t[h]+(f||0)))}return t},eze=function(t,n,r){return lt(n)?!0:t==="horizontal"?n==="yAxis":t==="vertical"||r==="x"?n==="xAxis":r==="y"?n==="yAxis":!0},G7=function(t,n,r,o,i){var a=n.props.children,s=po(a,Lh).filter(function(c){return eze(o,i,c.props.direction)});if(s&&s.length){var l=s.map(function(c){return c.props.dataKey});return t.reduce(function(c,u){var d=Ln(u,r);if(lt(d))return c;var f=Array.isArray(d)?[xS(d),bS(d)]:[d,d],p=l.reduce(function(h,m){var v=Ln(u,m,0),b=f[0]-Math.abs(Array.isArray(v)?v[0]:v),y=f[1]+Math.abs(Array.isArray(v)?v[1]:v);return[Math.min(b,h[0]),Math.max(y,h[1])]},[1/0,-1/0]);return[Math.min(p[0],c[0]),Math.max(p[1],c[1])]},[1/0,-1/0])}return null},tze=function(t,n,r,o,i){var a=n.map(function(s){return G7(t,s,r,i,o)}).filter(function(s){return!lt(s)});return a&&a.length?a.reduce(function(s,l){return[Math.min(s[0],l[0]),Math.max(s[1],l[1])]},[1/0,-1/0]):null},q7=function(t,n,r,o,i){var a=n.map(function(l){var c=l.props.dataKey;return r==="number"&&c&&G7(t,l,c,o)||Sg(t,c,r,i)});if(r==="number")return a.reduce(function(l,c){return[Math.min(l[0],c[0]),Math.max(l[1],c[1])]},[1/0,-1/0]);var s={};return a.reduce(function(l,c){for(var u=0,d=c.length;u=2?ao(s[0]-s[1])*2*c:c,n&&(t.ticks||t.niceTicks)){var u=(t.ticks||t.niceTicks).map(function(d){var f=i?i.indexOf(d):d;return{coordinate:o(f)+c,value:d,offset:c}});return u.filter(function(d){return!Fy(d.coordinate)})}return t.isCategorical&&t.categoricalDomain?t.categoricalDomain.map(function(d,f){return{coordinate:o(d)+c,value:d,index:f,offset:c}}):o.ticks&&!r?o.ticks(t.tickCount).map(function(d){return{coordinate:o(d)+c,value:d,offset:c}}):o.domain().map(function(d,f){return{coordinate:o(d)+c,value:i?i[d]:d,index:f,offset:c}})},ME=new WeakMap,t0=function(t,n){if(typeof n!="function")return t;ME.has(t)||ME.set(t,new WeakMap);var r=ME.get(t);if(r.has(n))return r.get(n);var o=function(){t.apply(void 0,arguments),n.apply(void 0,arguments)};return r.set(n,o),o},Q7=function(t,n,r){var o=t.scale,i=t.type,a=t.layout,s=t.axisType;if(o==="auto")return a==="radial"&&s==="radiusAxis"?{scale:wv(),realScaleType:"band"}:a==="radial"&&s==="angleAxis"?{scale:mw(),realScaleType:"linear"}:i==="category"&&n&&(n.indexOf("LineChart")>=0||n.indexOf("AreaChart")>=0||n.indexOf("ComposedChart")>=0&&!r)?{scale:Cg(),realScaleType:"point"}:i==="category"?{scale:wv(),realScaleType:"band"}:{scale:mw(),realScaleType:"linear"};if(jy(o)){var l="scale".concat(rS(o));return{scale:(BB[l]||Cg)(),realScaleType:BB[l]?l:"point"}}return ft(o)?{scale:o}:{scale:Cg(),realScaleType:"point"}},KB=1e-4,X7=function(t){var n=t.domain();if(!(!n||n.length<=2)){var r=n.length,o=t.range(),i=Math.min(o[0],o[1])-KB,a=Math.max(o[0],o[1])+KB,s=t(n[0]),l=t(n[r-1]);(sa||la)&&t.domain([n[0],n[r-1]])}},nze=function(t,n){if(!t)return null;for(var r=0,o=t.length;ro)&&(i[1]=o),i[0]>o&&(i[0]=o),i[1]=0?(t[s][r][0]=i,t[s][r][1]=i+l,i=t[s][r][1]):(t[s][r][0]=a,t[s][r][1]=a+l,a=t[s][r][1])}},ize=function(t){var n=t.length;if(!(n<=0))for(var r=0,o=t[0].length;r=0?(t[a][r][0]=i,t[a][r][1]=i+s,i=t[a][r][1]):(t[a][r][0]=0,t[a][r][1]=0)}},aze={sign:oze,expand:Dke,none:Tp,silhouette:Nke,wiggle:Lke,positive:ize},sze=function(t,n,r){var o=n.map(function(s){return s.props.dataKey}),i=aze[r],a=_ke().keys(o).value(function(s,l){return+Ln(s,l,0)}).order(ik).offset(i);return a(t)},lze=function(t,n,r,o,i,a){if(!t)return null;var s=a?n.reverse():n,l={},c=s.reduce(function(d,f){var p=f.props,h=p.stackId,m=p.hide;if(m)return d;var v=f.props[r],b=d[v]||{hasStack:!1,stackGroups:{}};if(mr(h)){var y=b.stackGroups[h]||{numericAxisId:r,cateAxisId:o,items:[]};y.items.push(f),b.hasStack=!0,b.stackGroups[h]=y}else b.stackGroups[wd("_stackId_")]={numericAxisId:r,cateAxisId:o,items:[f]};return Fi(Fi({},d),{},rp({},v,b))},l),u={};return Object.keys(c).reduce(function(d,f){var p=c[f];if(p.hasStack){var h={};p.stackGroups=Object.keys(p.stackGroups).reduce(function(m,v){var b=p.stackGroups[v];return Fi(Fi({},m),{},rp({},v,{numericAxisId:r,cateAxisId:o,items:b.items,stackedData:sze(t,b.items,i)}))},h)}return Fi(Fi({},d),{},rp({},f,p))},u)},J7=function(t,n){var r=n.realScaleType,o=n.type,i=n.tickCount,a=n.originalDomain,s=n.allowDecimals,l=r||n.scale;if(l!=="auto"&&l!=="linear")return null;if(i&&o==="number"&&a&&(a[0]==="auto"||a[1]==="auto")){var c=t.domain();if(!c.length)return null;var u=$Be(c,i,s);return t.domain([xS(u),bS(u)]),{niceTicks:u}}if(i&&o==="number"){var d=t.domain(),f=MBe(d,i,s);return{niceTicks:f}}return null};function ww(e){var t=e.axis,n=e.ticks,r=e.bandSize,o=e.entry,i=e.index,a=e.dataKey;if(t.type==="category"){if(!t.allowDuplicatedCategory&&t.dataKey&&!lt(o[t.dataKey])){var s=Kx(n,"value",o[t.dataKey]);if(s)return s.coordinate+r/2}return n[i]?n[i].coordinate+r/2:null}var l=Ln(o,lt(a)?t.dataKey:a);return lt(l)?null:t.scale(l)}var YB=function(t){var n=t.axis,r=t.ticks,o=t.offset,i=t.bandSize,a=t.entry,s=t.index;if(n.type==="category")return r[s]?r[s].coordinate+o:null;var l=Ln(a,n.dataKey,n.domain[s]);return lt(l)?null:n.scale(l)-i/2+o},cze=function(t){var n=t.numericAxis,r=n.scale.domain();if(n.type==="number"){var o=Math.min(r[0],r[1]),i=Math.max(r[0],r[1]);return o<=0&&i>=0?0:i<0?i:o}return r[0]},uze=function(t,n){var r=t.props.stackId;if(mr(r)){var o=n[r];if(o){var i=o.items.indexOf(t);return i>=0?o.stackedData[i]:null}}return null},dze=function(t){return t.reduce(function(n,r){return[xS(r.concat([n[0]]).filter(Ne)),bS(r.concat([n[1]]).filter(Ne))]},[1/0,-1/0])},Z7=function(t,n,r){return Object.keys(t).reduce(function(o,i){var a=t[i],s=a.stackedData,l=s.reduce(function(c,u){var d=dze(u.slice(n,r+1));return[Math.min(c[0],d[0]),Math.max(c[1],d[1])]},[1/0,-1/0]);return[Math.min(l[0],o[0]),Math.max(l[1],o[1])]},[1/0,-1/0]).map(function(o){return o===1/0||o===-1/0?0:o})},QB=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,XB=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,Dk=function(t,n,r){if(ft(t))return t(n,r);if(!Array.isArray(t))return n;var o=[];if(Ne(t[0]))o[0]=r?t[0]:Math.min(t[0],n[0]);else if(QB.test(t[0])){var i=+QB.exec(t[0])[1];o[0]=n[0]-i}else ft(t[0])?o[0]=t[0](n[0]):o[0]=n[0];if(Ne(t[1]))o[1]=r?t[1]:Math.max(t[1],n[1]);else if(XB.test(t[1])){var a=+XB.exec(t[1])[1];o[1]=n[1]+a}else ft(t[1])?o[1]=t[1](n[1]):o[1]=n[1];return o},Cw=function(t,n,r){if(t&&t.scale&&t.scale.bandwidth){var o=t.scale.bandwidth();if(!r||o>0)return o}if(t&&n&&n.length>=2){for(var i=uR(n,function(d){return d.coordinate}),a=1/0,s=1,l=i.length;se.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&arguments[2]!==void 0?arguments[2]:{top:0,right:0,bottom:0,left:0};return Math.min(Math.abs(t-(r.left||0)-(r.right||0)),Math.abs(n-(r.top||0)-(r.bottom||0)))/2},xze=function(t,n,r,o,i){var a=t.width,s=t.height,l=t.startAngle,c=t.endAngle,u=so(t.cx,a,a/2),d=so(t.cy,s,s/2),f=nq(a,s,r),p=so(t.innerRadius,f,0),h=so(t.outerRadius,f,f*.8),m=Object.keys(n);return m.reduce(function(v,b){var y=n[b],w=y.domain,C=y.reversed,O;if(lt(y.range))o==="angleAxis"?O=[l,c]:o==="radiusAxis"&&(O=[p,h]),C&&(O=[O[1],O[0]]);else{O=y.range;var P=O,E=hze(P,2);l=E[0],c=E[1]}var T=Q7(y,i),$=T.realScaleType,M=T.scale;M.domain(w).range(O),X7(M);var D=J7(M,zs(zs({},y),{},{realScaleType:$})),L=zs(zs(zs({},y),D),{},{range:O,radius:h,realScaleType:$,scale:M,cx:u,cy:d,innerRadius:p,outerRadius:h,startAngle:l,endAngle:c});return zs(zs({},v),{},tq({},b,L))},{})},wze=function(t,n){var r=t.x,o=t.y,i=n.x,a=n.y;return Math.sqrt(Math.pow(r-i,2)+Math.pow(o-a,2))},Cze=function(t,n){var r=t.x,o=t.y,i=n.cx,a=n.cy,s=wze({x:r,y:o},{x:i,y:a});if(s<=0)return{radius:s};var l=(r-i)/s,c=Math.acos(l);return o>a&&(c=2*Math.PI-c),{radius:s,angle:bze(c),angleInRadian:c}},Sze=function(t){var n=t.startAngle,r=t.endAngle,o=Math.floor(n/360),i=Math.floor(r/360),a=Math.min(o,i);return{startAngle:n-a*360,endAngle:r-a*360}},Pze=function(t,n){var r=n.startAngle,o=n.endAngle,i=Math.floor(r/360),a=Math.floor(o/360),s=Math.min(i,a);return t+s*360},tz=function(t,n){var r=t.x,o=t.y,i=Cze({x:r,y:o},n),a=i.radius,s=i.angle,l=n.innerRadius,c=n.outerRadius;if(ac)return!1;if(a===0)return!0;var u=Sze(n),d=u.startAngle,f=u.endAngle,p=s,h;if(d<=f){for(;p>f;)p-=360;for(;p=d&&p<=f}else{for(;p>d;)p-=360;for(;p=f&&p<=d}return h?zs(zs({},n),{},{radius:a,angle:Pze(p,n)}):null},rq=function(t){return!g.isValidElement(t)&&!ft(t)&&typeof t!="boolean"?t.className:""};function Mv(e){"@babel/helpers - typeof";return Mv=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Mv(e)}var Eze=["offset"];function Oze(e){return $ze(e)||Ize(e)||kze(e)||Tze()}function Tze(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function kze(e,t){if(e){if(typeof e=="string")return Nk(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Nk(e,t)}}function Ize(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function $ze(e){if(Array.isArray(e))return Nk(e)}function Nk(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Aze(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}function nz(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function ur(e){for(var t=1;t=0?1:-1,w,C;o==="insideStart"?(w=p+y*a,C=m):o==="insideEnd"?(w=h-y*a,C=!m):o==="end"&&(w=h+y*a,C=m),C=b<=0?C:!C;var O=xn(c,u,v,w),P=xn(c,u,v,w+(C?1:-1)*359),E="M".concat(O.x,",").concat(O.y,` - A`).concat(v,",").concat(v,",0,1,").concat(C?0:1,`, - `).concat(P.x,",").concat(P.y),T=lt(t.id)?wd("recharts-radial-line-"):t.id;return V.createElement("text",Av({},r,{dominantBaseline:"central",className:Q("recharts-radial-bar-label",s)}),V.createElement("defs",null,V.createElement("path",{id:T,d:E})),V.createElement("textPath",{xlinkHref:"#".concat(T)},n))},Fze=function(t){var n=t.viewBox,r=t.offset,o=t.position,i=n,a=i.cx,s=i.cy,l=i.innerRadius,c=i.outerRadius,u=i.startAngle,d=i.endAngle,f=(u+d)/2;if(o==="outside"){var p=xn(a,s,c+r,f),h=p.x,m=p.y;return{x:h,y:m,textAnchor:h>=a?"start":"end",verticalAnchor:"middle"}}if(o==="center")return{x:a,y:s,textAnchor:"middle",verticalAnchor:"middle"};if(o==="centerTop")return{x:a,y:s,textAnchor:"middle",verticalAnchor:"start"};if(o==="centerBottom")return{x:a,y:s,textAnchor:"middle",verticalAnchor:"end"};var v=(l+c)/2,b=xn(a,s,v,f),y=b.x,w=b.y;return{x:y,y:w,textAnchor:"middle",verticalAnchor:"middle"}},Bze=function(t){var n=t.viewBox,r=t.parentViewBox,o=t.offset,i=t.position,a=n,s=a.x,l=a.y,c=a.width,u=a.height,d=u>=0?1:-1,f=d*o,p=d>0?"end":"start",h=d>0?"start":"end",m=c>=0?1:-1,v=m*o,b=m>0?"end":"start",y=m>0?"start":"end";if(i==="top"){var w={x:s+c/2,y:l-d*o,textAnchor:"middle",verticalAnchor:p};return ur(ur({},w),r?{height:Math.max(l-r.y,0),width:c}:{})}if(i==="bottom"){var C={x:s+c/2,y:l+u+f,textAnchor:"middle",verticalAnchor:h};return ur(ur({},C),r?{height:Math.max(r.y+r.height-(l+u),0),width:c}:{})}if(i==="left"){var O={x:s-v,y:l+u/2,textAnchor:b,verticalAnchor:"middle"};return ur(ur({},O),r?{width:Math.max(O.x-r.x,0),height:u}:{})}if(i==="right"){var P={x:s+c+v,y:l+u/2,textAnchor:y,verticalAnchor:"middle"};return ur(ur({},P),r?{width:Math.max(r.x+r.width-P.x,0),height:u}:{})}var E=r?{width:c,height:u}:{};return i==="insideLeft"?ur({x:s+v,y:l+u/2,textAnchor:y,verticalAnchor:"middle"},E):i==="insideRight"?ur({x:s+c-v,y:l+u/2,textAnchor:b,verticalAnchor:"middle"},E):i==="insideTop"?ur({x:s+c/2,y:l+f,textAnchor:"middle",verticalAnchor:h},E):i==="insideBottom"?ur({x:s+c/2,y:l+u-f,textAnchor:"middle",verticalAnchor:p},E):i==="insideTopLeft"?ur({x:s+v,y:l+f,textAnchor:y,verticalAnchor:h},E):i==="insideTopRight"?ur({x:s+c-v,y:l+f,textAnchor:b,verticalAnchor:h},E):i==="insideBottomLeft"?ur({x:s+v,y:l+u-f,textAnchor:y,verticalAnchor:p},E):i==="insideBottomRight"?ur({x:s+c-v,y:l+u-f,textAnchor:b,verticalAnchor:p},E):Eh(i)&&(Ne(i.x)||Ou(i.x))&&(Ne(i.y)||Ou(i.y))?ur({x:s+so(i.x,c),y:l+so(i.y,u),textAnchor:"end",verticalAnchor:"end"},E):ur({x:s+c/2,y:l+u/2,textAnchor:"middle",verticalAnchor:"middle"},E)},zze=function(t){return"cx"in t&&Ne(t.cx)};function Pr(e){var t=e.offset,n=t===void 0?5:t,r=Mze(e,Eze),o=ur({offset:n},r),i=o.viewBox,a=o.position,s=o.value,l=o.children,c=o.content,u=o.className,d=u===void 0?"":u,f=o.textBreakAll;if(!i||lt(s)&<(l)&&!g.isValidElement(c)&&!ft(c))return null;if(g.isValidElement(c))return g.cloneElement(c,o);var p;if(ft(c)){if(p=g.createElement(c,o),g.isValidElement(p))return p}else p=Nze(o);var h=zze(i),m=ot(o,!0);if(h&&(a==="insideStart"||a==="insideEnd"||a==="end"))return jze(o,p,m);var v=h?Fze(o):Bze(o);return V.createElement(od,Av({className:Q("recharts-label",d)},m,v,{breakAll:f}),p)}Pr.displayName="Label";var oq=function(t){var n=t.cx,r=t.cy,o=t.angle,i=t.startAngle,a=t.endAngle,s=t.r,l=t.radius,c=t.innerRadius,u=t.outerRadius,d=t.x,f=t.y,p=t.top,h=t.left,m=t.width,v=t.height,b=t.clockWise,y=t.labelViewBox;if(y)return y;if(Ne(m)&&Ne(v)){if(Ne(d)&&Ne(f))return{x:d,y:f,width:m,height:v};if(Ne(p)&&Ne(h))return{x:p,y:h,width:m,height:v}}return Ne(d)&&Ne(f)?{x:d,y:f,width:0,height:0}:Ne(n)&&Ne(r)?{cx:n,cy:r,startAngle:i||o||0,endAngle:a||o||0,innerRadius:c||0,outerRadius:u||l||s||0,clockWise:b}:t.viewBox?t.viewBox:{}},Vze=function(t,n){return t?t===!0?V.createElement(Pr,{key:"label-implicit",viewBox:n}):mr(t)?V.createElement(Pr,{key:"label-implicit",viewBox:n,value:t}):g.isValidElement(t)?t.type===Pr?g.cloneElement(t,{key:"label-implicit",viewBox:n}):V.createElement(Pr,{key:"label-implicit",content:t,viewBox:n}):ft(t)?V.createElement(Pr,{key:"label-implicit",content:t,viewBox:n}):Eh(t)?V.createElement(Pr,Av({viewBox:n},t,{key:"label-implicit"})):null:null},Hze=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!t||!t.children&&r&&!t.label)return null;var o=t.children,i=oq(t),a=po(o,Pr).map(function(l,c){return g.cloneElement(l,{viewBox:n||i,key:"label-".concat(c)})});if(!r)return a;var s=Vze(t.label,n||i);return[s].concat(Oze(a))};Pr.parseViewBox=oq;Pr.renderCallByParent=Hze;function Uze(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}var Wze=Uze;const Gze=Ht(Wze);function Rv(e){"@babel/helpers - typeof";return Rv=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Rv(e)}var qze=["valueAccessor"],Kze=["data","dataKey","clockWise","id","textBreakAll"];function Yze(e){return Zze(e)||Jze(e)||Xze(e)||Qze()}function Qze(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Xze(e,t){if(e){if(typeof e=="string")return Lk(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Lk(e,t)}}function Jze(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Zze(e){if(Array.isArray(e))return Lk(e)}function Lk(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function r5e(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}var o5e=function(t){return Array.isArray(t.value)?Gze(t.value):t.value};function fs(e){var t=e.valueAccessor,n=t===void 0?o5e:t,r=iz(e,qze),o=r.data,i=r.dataKey,a=r.clockWise,s=r.id,l=r.textBreakAll,c=iz(r,Kze);return!o||!o.length?null:V.createElement(At,{className:"recharts-label-list"},o.map(function(u,d){var f=lt(i)?n(u,d):Ln(u&&u.payload,i),p=lt(s)?{}:{id:"".concat(s,"-").concat(d)};return V.createElement(Pr,Pw({},ot(u,!0),c,p,{parentViewBox:u.parentViewBox,value:f,textBreakAll:l,viewBox:Pr.parseViewBox(lt(a)?u:oz(oz({},u),{},{clockWise:a})),key:"label-".concat(d),index:d}))}))}fs.displayName="LabelList";function i5e(e,t){return e?e===!0?V.createElement(fs,{key:"labelList-implicit",data:t}):V.isValidElement(e)||ft(e)?V.createElement(fs,{key:"labelList-implicit",data:t,content:e}):Eh(e)?V.createElement(fs,Pw({data:t},e,{key:"labelList-implicit"})):null:null}function a5e(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!e||!e.children&&n&&!e.label)return null;var r=e.children,o=po(r,fs).map(function(a,s){return g.cloneElement(a,{data:t,key:"labelList-".concat(s)})});if(!n)return o;var i=i5e(e.label,t);return[i].concat(Yze(o))}fs.renderCallByParent=a5e;function _v(e){"@babel/helpers - typeof";return _v=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_v(e)}function jk(){return jk=Object.assign?Object.assign.bind():function(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||nl.isSsr)return{width:0,height:0};var r=VGe(n),o=JSON.stringify({text:t,copyStyle:r});if(qm.widthCache[o])return qm.widthCache[o];try{var i=document.getElementById(a6);i||(i=document.createElement("span"),i.setAttribute("id",a6),i.setAttribute("aria-hidden","true"),document.body.appendChild(i));var a=lD(lD({},zGe),r);Object.assign(i.style,a),i.textContent="".concat(t);var s=i.getBoundingClientRect(),l={width:s.width,height:s.height};return qm.widthCache[o]=l,++qm.cacheCount>BGe&&(qm.cacheCount=0,qm.widthCache={}),l}catch{return{width:0,height:0}}},HGe=function(t){return{top:t.top+window.scrollY-document.documentElement.clientTop,left:t.left+window.scrollX-document.documentElement.clientLeft}};function fx(e){"@babel/helpers - typeof";return fx=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},fx(e)}function uE(e,t){return qGe(e)||GGe(e,t)||WGe(e,t)||UGe()}function UGe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function WGe(e,t){if(e){if(typeof e=="string")return s6(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return s6(e,t)}}function s6(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function s8e(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function p6(e,t){return d8e(e)||u8e(e,t)||c8e(e,t)||l8e()}function l8e(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function c8e(e,t){if(e){if(typeof e=="string")return h6(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return h6(e,t)}}function h6(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&arguments[0]!==void 0?arguments[0]:[];return _.reduce(function(D,z){var F=z.word,H=z.width,U=D[D.length-1];if(U&&(o==null||i||U.width+H+rz.width?D:z})};if(!u)return p;for(var g="…",v=function(_){var D=d.slice(0,_),z=cne({breakAll:c,style:l,children:D+g}).wordsWithComputedWidth,F=f(z),H=F.length>a||m(F).width>Number(o);return[H,F]},w=0,x=d.length-1,S=0,P;w<=x&&S<=d.length-1;){var T=Math.floor((w+x)/2),E=T-1,O=v(E),k=p6(O,2),A=k[0],I=k[1],R=v(T),N=p6(R,1),L=N[0];if(!A&&!L&&(w=T+1),A&&L&&(x=T-1),!A&&L){P=I;break}S++}return P||p},m6=function(t){var n=jt(t)?[]:t.toString().split(lne);return[{words:n}]},p8e=function(t){var n=t.width,r=t.scaleToFit,o=t.children,i=t.style,a=t.breakAll,s=t.maxLines;if((n||r)&&!nl.isSsr){var l,c,u=cne({breakAll:a,children:o,style:i});if(u){var d=u.wordsWithComputedWidth,f=u.spaceWidth;l=d,c=f}else return m6(o);return f8e({breakAll:a,children:o,maxLines:s,style:i},l,c,n,r)}return m6(o)},g6="#808080",Ah=function(t){var n=t.x,r=n===void 0?0:n,o=t.y,i=o===void 0?0:o,a=t.lineHeight,s=a===void 0?"1em":a,l=t.capHeight,c=l===void 0?"0.71em":l,u=t.scaleToFit,d=u===void 0?!1:u,f=t.textAnchor,p=f===void 0?"start":f,m=t.verticalAnchor,g=m===void 0?"end":m,v=t.fill,w=v===void 0?g6:v,x=f6(t,i8e),S=y.useMemo(function(){return p8e({breakAll:x.breakAll,children:x.children,maxLines:x.maxLines,scaleToFit:d,style:x.style,width:x.width})},[x.breakAll,x.children,x.maxLines,d,x.style,x.width]),P=x.dx,T=x.dy,E=x.angle,O=x.className,k=x.breakAll,A=f6(x,a8e);if(!Ro(r)||!Ro(i))return null;var I=r+(st(P)?P:0),R=i+(st(T)?T:0),N;switch(g){case"start":N=U$("calc(".concat(c,")"));break;case"middle":N=U$("calc(".concat((S.length-1)/2," * -").concat(s," + (").concat(c," / 2))"));break;default:N=U$("calc(".concat(S.length-1," * -").concat(s,")"));break}var L=[];if(d){var j=S[0].width,_=x.width;L.push("scale(".concat((st(_)?_/j:1)/j,")"))}return E&&L.push("rotate(".concat(E,", ").concat(I,", ").concat(R,")")),L.length&&(A.transform=L.join(" ")),Y.createElement("text",cD({},$t(A,!0),{x:I,y:R,className:de("recharts-text",O),textAnchor:p,fill:w.includes("url")?g6:w}),S.map(function(D,z){var F=D.words.join(k?"":" ");return Y.createElement("tspan",{x:I,dy:z===0?N:s,key:"".concat(F,"-").concat(z)},F)}))};function bf(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function h8e(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function zj(e){let t,n,r;e.length!==2?(t=bf,n=(s,l)=>bf(e(s),l),r=(s,l)=>e(s)-l):(t=e===bf||e===h8e?e:m8e,n=e,r=e);function o(s,l,c=0,u=s.length){if(c>>1;n(s[d],l)<0?c=d+1:u=d}while(c>>1;n(s[d],l)<=0?c=d+1:u=d}while(cc&&r(s[d-1],l)>-r(s[d],l)?d-1:d}return{left:o,center:a,right:i}}function m8e(){return 0}function une(e){return e===null?NaN:+e}function*g8e(e,t){for(let n of e)n!=null&&(n=+n)>=n&&(yield n)}const y8e=zj(bf),zS=y8e.right;zj(une).center;class y6 extends Map{constructor(t,n=w8e){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),t!=null)for(const[r,o]of t)this.set(r,o)}get(t){return super.get(v6(this,t))}has(t){return super.has(v6(this,t))}set(t,n){return super.set(v8e(this,t),n)}delete(t){return super.delete(b8e(this,t))}}function v6({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):n}function v8e({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function b8e({_intern:e,_key:t},n){const r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function w8e(e){return e!==null&&typeof e=="object"?e.valueOf():e}function x8e(e=bf){if(e===bf)return dne;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,n)=>{const r=e(t,n);return r||r===0?r:(e(n,n)===0)-(e(t,t)===0)}}function dne(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}const S8e=Math.sqrt(50),C8e=Math.sqrt(10),P8e=Math.sqrt(2);function dE(e,t,n){const r=(t-e)/Math.max(0,n),o=Math.floor(Math.log10(r)),i=r/Math.pow(10,o),a=i>=S8e?10:i>=C8e?5:i>=P8e?2:1;let s,l,c;return o<0?(c=Math.pow(10,-o)/a,s=Math.round(e*c),l=Math.round(t*c),s/ct&&--l,c=-c):(c=Math.pow(10,o)*a,s=Math.round(e/c),l=Math.round(t/c),s*ct&&--l),l0))return[];if(e===t)return[e];const r=t=o))return[];const s=i-o+1,l=new Array(s);if(r)if(a<0)for(let c=0;c=r)&&(n=r);return n}function w6(e,t){let n;for(const r of e)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);return n}function fne(e,t,n=0,r=1/0,o){if(t=Math.floor(t),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(e.length-1,r)),!(n<=t&&t<=r))return e;for(o=o===void 0?dne:x8e(o);r>n;){if(r-n>600){const l=r-n+1,c=t-n+1,u=Math.log(l),d=.5*Math.exp(2*u/3),f=.5*Math.sqrt(u*d*(l-d)/l)*(c-l/2<0?-1:1),p=Math.max(n,Math.floor(t-c*d/l+f)),m=Math.min(r,Math.floor(t+(l-c)*d/l+f));fne(e,t,p,m,o)}const i=e[t];let a=n,s=r;for(p0(e,n,t),o(e[r],i)>0&&p0(e,n,r);a0;)--s}o(e[n],i)===0?p0(e,n,s):(++s,p0(e,s,r)),s<=t&&(n=s+1),t<=s&&(r=s-1)}return e}function p0(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}function T8e(e,t,n){if(e=Float64Array.from(g8e(e)),!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return w6(e);if(t>=1)return b6(e);var r,o=(r-1)*t,i=Math.floor(o),a=b6(fne(e,i).subarray(0,i+1)),s=w6(e.subarray(i+1));return a+(s-a)*(o-i)}}function E8e(e,t,n=une){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),s=+n(e[i+1],i+1,e);return a+(s-a)*(o-i)}}function O8e(e,t,n){e=+e,t=+t,n=(o=arguments.length)<2?(t=e,e=0,1):o<3?1:+n;for(var r=-1,o=Math.max(0,Math.ceil((t-e)/n))|0,i=new Array(o);++r>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?WC(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?WC(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=k8e.exec(e))?new ma(t[1],t[2],t[3],1):(t=M8e.exec(e))?new ma(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=A8e.exec(e))?WC(t[1],t[2],t[3],t[4]):(t=$8e.exec(e))?WC(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=R8e.exec(e))?O6(t[1],t[2]/100,t[3]/100,1):(t=_8e.exec(e))?O6(t[1],t[2]/100,t[3]/100,t[4]):x6.hasOwnProperty(e)?P6(x6[e]):e==="transparent"?new ma(NaN,NaN,NaN,0):null}function P6(e){return new ma(e>>16&255,e>>8&255,e&255,1)}function WC(e,t,n,r){return r<=0&&(e=t=n=NaN),new ma(e,t,n,r)}function L8e(e){return e instanceof VS||(e=gx(e)),e?(e=e.rgb(),new ma(e.r,e.g,e.b,e.opacity)):new ma}function hD(e,t,n,r){return arguments.length===1?L8e(e):new ma(e,t,n,r??1)}function ma(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Hj(ma,hD,hne(VS,{brighter(e){return e=e==null?fE:Math.pow(fE,e),new ma(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?hx:Math.pow(hx,e),new ma(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new ma(fh(this.r),fh(this.g),fh(this.b),pE(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:T6,formatHex:T6,formatHex8:F8e,formatRgb:E6,toString:E6}));function T6(){return`#${Kp(this.r)}${Kp(this.g)}${Kp(this.b)}`}function F8e(){return`#${Kp(this.r)}${Kp(this.g)}${Kp(this.b)}${Kp((isNaN(this.opacity)?1:this.opacity)*255)}`}function E6(){const e=pE(this.opacity);return`${e===1?"rgb(":"rgba("}${fh(this.r)}, ${fh(this.g)}, ${fh(this.b)}${e===1?")":`, ${e})`}`}function pE(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function fh(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Kp(e){return e=fh(e),(e<16?"0":"")+e.toString(16)}function O6(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Hl(e,t,n,r)}function mne(e){if(e instanceof Hl)return new Hl(e.h,e.s,e.l,e.opacity);if(e instanceof VS||(e=gx(e)),!e)return new Hl;if(e instanceof Hl)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,o=Math.min(t,n,r),i=Math.max(t,n,r),a=NaN,s=i-o,l=(i+o)/2;return s?(t===i?a=(n-r)/s+(n0&&l<1?0:a,new Hl(a,s,l,e.opacity)}function j8e(e,t,n,r){return arguments.length===1?mne(e):new Hl(e,t,n,r??1)}function Hl(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Hj(Hl,j8e,hne(VS,{brighter(e){return e=e==null?fE:Math.pow(fE,e),new Hl(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?hx:Math.pow(hx,e),new Hl(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 ma(W$(e>=240?e-240:e+120,o,r),W$(e,o,r),W$(e<120?e+240:e-120,o,r),this.opacity)},clamp(){return new Hl(I6(this.h),GC(this.s),GC(this.l),pE(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=pE(this.opacity);return`${e===1?"hsl(":"hsla("}${I6(this.h)}, ${GC(this.s)*100}%, ${GC(this.l)*100}%${e===1?")":`, ${e})`}`}}));function I6(e){return e=(e||0)%360,e<0?e+360:e}function GC(e){return Math.max(0,Math.min(1,e||0))}function W$(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const Uj=e=>()=>e;function B8e(e,t){return function(n){return e+n*t}}function z8e(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function V8e(e){return(e=+e)==1?gne:function(t,n){return n-t?z8e(t,n,e):Uj(isNaN(t)?n:t)}}function gne(e,t){var n=t-e;return n?B8e(e,n):Uj(isNaN(e)?t:e)}const k6=function e(t){var n=V8e(t);function r(o,i){var a=n((o=hD(o)).r,(i=hD(i)).r),s=n(o.g,i.g),l=n(o.b,i.b),c=gne(o.opacity,i.opacity);return function(u){return o.r=a(u),o.g=s(u),o.b=l(u),o.opacity=c(u),o+""}}return r.gamma=e,r}(1);function H8e(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,r=t.slice(),o;return function(i){for(o=0;on&&(i=t.slice(n,i),s[a]?s[a]+=i:s[++a]=i),(r=r[0])===(o=o[0])?s[a]?s[a]+=o:s[++a]=o:(s[++a]=null,l.push({i:a,x:hE(r,o)})),n=G$.lastIndex;return nt&&(n=e,e=t,t=n),function(r){return Math.max(e,Math.min(t,r))}}function e9e(e,t,n){var r=e[0],o=e[1],i=t[0],a=t[1];return o2?t9e:e9e,l=c=null,d}function d(f){return f==null||isNaN(f=+f)?i:(l||(l=s(e.map(r),t,n)))(r(a(f)))}return d.invert=function(f){return a(o((c||(c=s(t,e.map(r),hE)))(f)))},d.domain=function(f){return arguments.length?(e=Array.from(f,mE),u()):e.slice()},d.range=function(f){return arguments.length?(t=Array.from(f),u()):t.slice()},d.rangeRound=function(f){return t=Array.from(f),n=Wj,u()},d.clamp=function(f){return arguments.length?(a=f?!0:Hi,u()):a!==Hi},d.interpolate=function(f){return arguments.length?(n=f,u()):n},d.unknown=function(f){return arguments.length?(i=f,d):i},function(f,p){return r=f,o=p,u()}}function Gj(){return fk()(Hi,Hi)}function n9e(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function gE(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 Jy(e){return e=gE(Math.abs(e)),e?e[1]:NaN}function r9e(e,t){return function(n,r){for(var o=n.length,i=[],a=0,s=e[0],l=0;o>0&&s>0&&(l+s+1>r&&(s=Math.max(1,r-l)),i.push(n.substring(o-=s,o+s)),!((l+=s+1)>r));)s=e[a=(a+1)%e.length];return i.reverse().join(t)}}function o9e(e){return function(t){return t.replace(/[0-9]/g,function(n){return e[+n]})}}var i9e=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function yx(e){if(!(t=i9e.exec(e)))throw new Error("invalid format: "+e);var t;return new qj({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]})}yx.prototype=qj.prototype;function qj(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}qj.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function a9e(e){e:for(var t=e.length,n=1,r=-1,o;n0&&(r=0);break}return r>0?e.slice(0,r)+e.slice(o+1):e}var yne;function s9e(e,t){var n=gE(e,t);if(!n)return e+"";var r=n[0],o=n[1],i=o-(yne=Math.max(-8,Math.min(8,Math.floor(o/3)))*3)+1,a=r.length;return i===a?r:i>a?r+new Array(i-a+1).join("0"):i>0?r.slice(0,i)+"."+r.slice(i):"0."+new Array(1-i).join("0")+gE(e,Math.max(0,t+i-1))[0]}function A6(e,t){var n=gE(e,t);if(!n)return e+"";var r=n[0],o=n[1];return o<0?"0."+new Array(-o).join("0")+r:r.length>o+1?r.slice(0,o+1)+"."+r.slice(o+1):r+new Array(o-r.length+2).join("0")}const $6={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:n9e,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)=>A6(e*100,t),r:A6,s:s9e,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function R6(e){return e}var _6=Array.prototype.map,D6=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function l9e(e){var t=e.grouping===void 0||e.thousands===void 0?R6:r9e(_6.call(e.grouping,Number),e.thousands+""),n=e.currency===void 0?"":e.currency[0]+"",r=e.currency===void 0?"":e.currency[1]+"",o=e.decimal===void 0?".":e.decimal+"",i=e.numerals===void 0?R6:o9e(_6.call(e.numerals,String)),a=e.percent===void 0?"%":e.percent+"",s=e.minus===void 0?"−":e.minus+"",l=e.nan===void 0?"NaN":e.nan+"";function c(d){d=yx(d);var f=d.fill,p=d.align,m=d.sign,g=d.symbol,v=d.zero,w=d.width,x=d.comma,S=d.precision,P=d.trim,T=d.type;T==="n"?(x=!0,T="g"):$6[T]||(S===void 0&&(S=12),P=!0,T="g"),(v||f==="0"&&p==="=")&&(v=!0,f="0",p="=");var E=g==="$"?n:g==="#"&&/[boxX]/.test(T)?"0"+T.toLowerCase():"",O=g==="$"?r:/[%p]/.test(T)?a:"",k=$6[T],A=/[defgprs%]/.test(T);S=S===void 0?6:/[gprs]/.test(T)?Math.max(1,Math.min(21,S)):Math.max(0,Math.min(20,S));function I(R){var N=E,L=O,j,_,D;if(T==="c")L=k(R)+L,R="";else{R=+R;var z=R<0||1/R<0;if(R=isNaN(R)?l:k(Math.abs(R),S),P&&(R=a9e(R)),z&&+R==0&&m!=="+"&&(z=!1),N=(z?m==="("?m:s:m==="-"||m==="("?"":m)+N,L=(T==="s"?D6[8+yne/3]:"")+L+(z&&m==="("?")":""),A){for(j=-1,_=R.length;++j<_;)if(D=R.charCodeAt(j),48>D||D>57){L=(D===46?o+R.slice(j+1):R.slice(j))+L,R=R.slice(0,j);break}}}x&&!v&&(R=t(R,1/0));var F=N.length+R.length+L.length,H=F>1)+N+R+L+H.slice(F);break;default:R=H+N+R+L;break}return i(R)}return I.toString=function(){return d+""},I}function u(d,f){var p=c((d=yx(d),d.type="f",d)),m=Math.max(-8,Math.min(8,Math.floor(Jy(f)/3)))*3,g=Math.pow(10,-m),v=D6[8+m/3];return function(w){return p(g*w)+v}}return{format:c,formatPrefix:u}}var qC,Kj,vne;c9e({thousands:",",grouping:[3],currency:["$",""]});function c9e(e){return qC=l9e(e),Kj=qC.format,vne=qC.formatPrefix,qC}function u9e(e){return Math.max(0,-Jy(Math.abs(e)))}function d9e(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Jy(t)/3)))*3-Jy(Math.abs(e)))}function f9e(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Jy(t)-Jy(e))+1}function bne(e,t,n,r){var o=fD(e,t,n),i;switch(r=yx(r??",f"),r.type){case"s":{var a=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(i=d9e(o,a))&&(r.precision=i),vne(r,a)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(i=f9e(o,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=i-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(i=u9e(o))&&(r.precision=i-(r.type==="%")*2);break}}return Kj(r)}function Qf(e){var t=e.domain;return e.ticks=function(n){var r=t();return uD(r[0],r[r.length-1],n??10)},e.tickFormat=function(n,r){var o=t();return bne(o[0],o[o.length-1],n??10,r)},e.nice=function(n){n==null&&(n=10);var r=t(),o=0,i=r.length-1,a=r[o],s=r[i],l,c,u=10;for(s0;){if(c=dD(a,s,n),c===l)return r[o]=a,r[i]=s,t(r);if(c>0)a=Math.floor(a/c)*c,s=Math.ceil(s/c)*c;else if(c<0)a=Math.ceil(a*c)/c,s=Math.floor(s*c)/c;else break;l=c}return e},e}function yE(){var e=Gj();return e.copy=function(){return HS(e,yE())},hl.apply(e,arguments),Qf(e)}function wne(e){var t;function n(r){return r==null||isNaN(r=+r)?t:r}return n.invert=n,n.domain=n.range=function(r){return arguments.length?(e=Array.from(r,mE),n):e.slice()},n.unknown=function(r){return arguments.length?(t=r,n):t},n.copy=function(){return wne(e).unknown(t)},e=arguments.length?Array.from(e,mE):[0,1],Qf(n)}function xne(e,t){e=e.slice();var n=0,r=e.length-1,o=e[n],i=e[r],a;return iMath.pow(e,t)}function y9e(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function F6(e){return(t,n)=>-e(-t,n)}function Yj(e){const t=e(N6,L6),n=t.domain;let r=10,o,i;function a(){return o=y9e(r),i=g9e(r),n()[0]<0?(o=F6(o),i=F6(i),e(p9e,h9e)):e(N6,L6),t}return t.base=function(s){return arguments.length?(r=+s,a()):r},t.domain=function(s){return arguments.length?(n(s),a()):n()},t.ticks=s=>{const l=n();let c=l[0],u=l[l.length-1];const d=u0){for(;f<=p;++f)for(m=1;mu)break;w.push(g)}}else for(;f<=p;++f)for(m=r-1;m>=1;--m)if(g=f>0?m/i(-f):m*i(f),!(gu)break;w.push(g)}w.length*2{if(s==null&&(s=10),l==null&&(l=r===10?"s":","),typeof l!="function"&&(!(r%1)&&(l=yx(l)).precision==null&&(l.trim=!0),l=Kj(l)),s===1/0)return l;const c=Math.max(1,r*s/t.ticks().length);return u=>{let d=u/i(Math.round(o(u)));return d*rn(xne(n(),{floor:s=>i(Math.floor(o(s))),ceil:s=>i(Math.ceil(o(s)))})),t}function Sne(){const e=Yj(fk()).domain([1,10]);return e.copy=()=>HS(e,Sne()).base(e.base()),hl.apply(e,arguments),e}function j6(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function B6(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function Xj(e){var t=1,n=e(j6(t),B6(t));return n.constant=function(r){return arguments.length?e(j6(t=+r),B6(t)):t},Qf(n)}function Cne(){var e=Xj(fk());return e.copy=function(){return HS(e,Cne()).constant(e.constant())},hl.apply(e,arguments)}function z6(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function v9e(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function b9e(e){return e<0?-e*e:e*e}function Qj(e){var t=e(Hi,Hi),n=1;function r(){return n===1?e(Hi,Hi):n===.5?e(v9e,b9e):e(z6(n),z6(1/n))}return t.exponent=function(o){return arguments.length?(n=+o,r()):n},Qf(t)}function Jj(){var e=Qj(fk());return e.copy=function(){return HS(e,Jj()).exponent(e.exponent())},hl.apply(e,arguments),e}function w9e(){return Jj.apply(null,arguments).exponent(.5)}function V6(e){return Math.sign(e)*e*e}function x9e(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function Pne(){var e=Gj(),t=[0,1],n=!1,r;function o(i){var a=x9e(e(i));return isNaN(a)?r:n?Math.round(a):a}return o.invert=function(i){return e.invert(V6(i))},o.domain=function(i){return arguments.length?(e.domain(i),o):e.domain()},o.range=function(i){return arguments.length?(e.range((t=Array.from(i,mE)).map(V6)),o):t.slice()},o.rangeRound=function(i){return o.range(i).round(!0)},o.round=function(i){return arguments.length?(n=!!i,o):n},o.clamp=function(i){return arguments.length?(e.clamp(i),o):e.clamp()},o.unknown=function(i){return arguments.length?(r=i,o):r},o.copy=function(){return Pne(e.domain(),t).round(n).clamp(e.clamp()).unknown(r)},hl.apply(o,arguments),Qf(o)}function Tne(){var e=[],t=[],n=[],r;function o(){var a=0,s=Math.max(1,t.length);for(n=new Array(s-1);++a0?n[s-1]:e[0],s=n?[r[n-1],t]:[r[c-1],r[c]]},a.unknown=function(l){return arguments.length&&(i=l),a},a.thresholds=function(){return r.slice()},a.copy=function(){return Ene().domain([e,t]).range(o).unknown(i)},hl.apply(Qf(a),arguments)}function One(){var e=[.5],t=[0,1],n,r=1;function o(i){return i!=null&&i<=i?t[zS(e,i,0,r)]:n}return o.domain=function(i){return arguments.length?(e=Array.from(i),r=Math.min(e.length,t.length-1),o):e.slice()},o.range=function(i){return arguments.length?(t=Array.from(i),r=Math.min(e.length,t.length-1),o):t.slice()},o.invertExtent=function(i){var a=t.indexOf(i);return[e[a-1],e[a]]},o.unknown=function(i){return arguments.length?(n=i,o):n},o.copy=function(){return One().domain(e).range(t).unknown(n)},hl.apply(o,arguments)}const q$=new Date,K$=new Date;function No(e,t,n,r){function o(i){return e(i=arguments.length===0?new Date:new Date(+i)),i}return o.floor=i=>(e(i=new Date(+i)),i),o.ceil=i=>(e(i=new Date(i-1)),t(i,1),e(i),i),o.round=i=>{const a=o(i),s=o.ceil(i);return i-a(t(i=new Date(+i),a==null?1:Math.floor(a)),i),o.range=(i,a,s)=>{const l=[];if(i=o.ceil(i),s=s==null?1:Math.floor(s),!(i0))return l;let c;do l.push(c=new Date(+i)),t(i,s),e(i);while(cNo(a=>{if(a>=a)for(;e(a),!i(a);)a.setTime(a-1)},(a,s)=>{if(a>=a)if(s<0)for(;++s<=0;)for(;t(a,-1),!i(a););else for(;--s>=0;)for(;t(a,1),!i(a););}),n&&(o.count=(i,a)=>(q$.setTime(+i),K$.setTime(+a),e(q$),e(K$),Math.floor(n(q$,K$))),o.every=i=>(i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?o.filter(r?a=>r(a)%i===0:a=>o.count(0,a)%i===0):o)),o}const vE=No(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);vE.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?No(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):vE);vE.range;const Eu=1e3,Ks=Eu*60,Ou=Ks*60,Zu=Ou*24,Zj=Zu*7,H6=Zu*30,Y$=Zu*365,Yp=No(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*Eu)},(e,t)=>(t-e)/Eu,e=>e.getUTCSeconds());Yp.range;const eB=No(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Eu)},(e,t)=>{e.setTime(+e+t*Ks)},(e,t)=>(t-e)/Ks,e=>e.getMinutes());eB.range;const tB=No(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*Ks)},(e,t)=>(t-e)/Ks,e=>e.getUTCMinutes());tB.range;const nB=No(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Eu-e.getMinutes()*Ks)},(e,t)=>{e.setTime(+e+t*Ou)},(e,t)=>(t-e)/Ou,e=>e.getHours());nB.range;const rB=No(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*Ou)},(e,t)=>(t-e)/Ou,e=>e.getUTCHours());rB.range;const US=No(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Ks)/Zu,e=>e.getDate()-1);US.range;const pk=No(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Zu,e=>e.getUTCDate()-1);pk.range;const Ine=No(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Zu,e=>Math.floor(e/Zu));Ine.range;function Qh(e){return No(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,n)=>{t.setDate(t.getDate()+n*7)},(t,n)=>(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*Ks)/Zj)}const hk=Qh(0),bE=Qh(1),S9e=Qh(2),C9e=Qh(3),Zy=Qh(4),P9e=Qh(5),T9e=Qh(6);hk.range;bE.range;S9e.range;C9e.range;Zy.range;P9e.range;T9e.range;function Jh(e){return No(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCDate(t.getUTCDate()+n*7)},(t,n)=>(n-t)/Zj)}const mk=Jh(0),wE=Jh(1),E9e=Jh(2),O9e=Jh(3),ev=Jh(4),I9e=Jh(5),k9e=Jh(6);mk.range;wE.range;E9e.range;O9e.range;ev.range;I9e.range;k9e.range;const oB=No(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());oB.range;const iB=No(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());iB.range;const ed=No(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());ed.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:No(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)});ed.range;const td=No(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());td.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:No(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)});td.range;function kne(e,t,n,r,o,i){const a=[[Yp,1,Eu],[Yp,5,5*Eu],[Yp,15,15*Eu],[Yp,30,30*Eu],[i,1,Ks],[i,5,5*Ks],[i,15,15*Ks],[i,30,30*Ks],[o,1,Ou],[o,3,3*Ou],[o,6,6*Ou],[o,12,12*Ou],[r,1,Zu],[r,2,2*Zu],[n,1,Zj],[t,1,H6],[t,3,3*H6],[e,1,Y$]];function s(c,u,d){const f=uv).right(a,f);if(p===a.length)return e.every(fD(c/Y$,u/Y$,d));if(p===0)return vE.every(Math.max(fD(c,u,d),1));const[m,g]=a[f/a[p-1][2]53)return null;"w"in ee||(ee.w=1),"Z"in ee?(me=Q$(h0(ee.y,0,1)),we=me.getUTCDay(),me=we>4||we===0?wE.ceil(me):wE(me),me=pk.offset(me,(ee.V-1)*7),ee.y=me.getUTCFullYear(),ee.m=me.getUTCMonth(),ee.d=me.getUTCDate()+(ee.w+6)%7):(me=X$(h0(ee.y,0,1)),we=me.getDay(),me=we>4||we===0?bE.ceil(me):bE(me),me=US.offset(me,(ee.V-1)*7),ee.y=me.getFullYear(),ee.m=me.getMonth(),ee.d=me.getDate()+(ee.w+6)%7)}else("W"in ee||"U"in ee)&&("w"in ee||(ee.w="u"in ee?ee.u%7:"W"in ee?1:0),we="Z"in ee?Q$(h0(ee.y,0,1)).getUTCDay():X$(h0(ee.y,0,1)).getDay(),ee.m=0,ee.d="W"in ee?(ee.w+6)%7+ee.W*7-(we+5)%7:ee.w+ee.U*7-(we+6)%7);return"Z"in ee?(ee.H+=ee.Z/100|0,ee.M+=ee.Z%100,Q$(ee)):X$(ee)}}function k(le,re,fe,ee){for(var ce=0,me=re.length,we=fe.length,ge,Se;ce=we)return-1;if(ge=re.charCodeAt(ce++),ge===37){if(ge=re.charAt(ce++),Se=T[ge in U6?re.charAt(ce++):ge],!Se||(ee=Se(le,fe,ee))<0)return-1}else if(ge!=fe.charCodeAt(ee++))return-1}return ee}function A(le,re,fe){var ee=c.exec(re.slice(fe));return ee?(le.p=u.get(ee[0].toLowerCase()),fe+ee[0].length):-1}function I(le,re,fe){var ee=p.exec(re.slice(fe));return ee?(le.w=m.get(ee[0].toLowerCase()),fe+ee[0].length):-1}function R(le,re,fe){var ee=d.exec(re.slice(fe));return ee?(le.w=f.get(ee[0].toLowerCase()),fe+ee[0].length):-1}function N(le,re,fe){var ee=w.exec(re.slice(fe));return ee?(le.m=x.get(ee[0].toLowerCase()),fe+ee[0].length):-1}function L(le,re,fe){var ee=g.exec(re.slice(fe));return ee?(le.m=v.get(ee[0].toLowerCase()),fe+ee[0].length):-1}function j(le,re,fe){return k(le,t,re,fe)}function _(le,re,fe){return k(le,n,re,fe)}function D(le,re,fe){return k(le,r,re,fe)}function z(le){return a[le.getDay()]}function F(le){return i[le.getDay()]}function H(le){return l[le.getMonth()]}function U(le){return s[le.getMonth()]}function q(le){return o[+(le.getHours()>=12)]}function X(le){return 1+~~(le.getMonth()/3)}function ae(le){return a[le.getUTCDay()]}function Z(le){return i[le.getUTCDay()]}function K(le){return l[le.getUTCMonth()]}function te(le){return s[le.getUTCMonth()]}function pe(le){return o[+(le.getUTCHours()>=12)]}function ie(le){return 1+~~(le.getUTCMonth()/3)}return{format:function(le){var re=E(le+="",S);return re.toString=function(){return le},re},parse:function(le){var re=O(le+="",!1);return re.toString=function(){return le},re},utcFormat:function(le){var re=E(le+="",P);return re.toString=function(){return le},re},utcParse:function(le){var re=O(le+="",!0);return re.toString=function(){return le},re}}}var U6={"-":"",_:" ",0:"0"},Yo=/^\s*\d+/,D9e=/^%/,N9e=/[\\^$*+?|[\]().{}]/g;function Hn(e,t,n){var r=e<0?"-":"",o=(r?-e:e)+"",i=o.length;return r+(i[t.toLowerCase(),n]))}function F9e(e,t,n){var r=Yo.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function j9e(e,t,n){var r=Yo.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function B9e(e,t,n){var r=Yo.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function z9e(e,t,n){var r=Yo.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function V9e(e,t,n){var r=Yo.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function W6(e,t,n){var r=Yo.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function G6(e,t,n){var r=Yo.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function H9e(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 U9e(e,t,n){var r=Yo.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function W9e(e,t,n){var r=Yo.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function q6(e,t,n){var r=Yo.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function G9e(e,t,n){var r=Yo.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function K6(e,t,n){var r=Yo.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function q9e(e,t,n){var r=Yo.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function K9e(e,t,n){var r=Yo.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function Y9e(e,t,n){var r=Yo.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function X9e(e,t,n){var r=Yo.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Q9e(e,t,n){var r=D9e.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function J9e(e,t,n){var r=Yo.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function Z9e(e,t,n){var r=Yo.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function Y6(e,t){return Hn(e.getDate(),t,2)}function e7e(e,t){return Hn(e.getHours(),t,2)}function t7e(e,t){return Hn(e.getHours()%12||12,t,2)}function n7e(e,t){return Hn(1+US.count(ed(e),e),t,3)}function Mne(e,t){return Hn(e.getMilliseconds(),t,3)}function r7e(e,t){return Mne(e,t)+"000"}function o7e(e,t){return Hn(e.getMonth()+1,t,2)}function i7e(e,t){return Hn(e.getMinutes(),t,2)}function a7e(e,t){return Hn(e.getSeconds(),t,2)}function s7e(e){var t=e.getDay();return t===0?7:t}function l7e(e,t){return Hn(hk.count(ed(e)-1,e),t,2)}function Ane(e){var t=e.getDay();return t>=4||t===0?Zy(e):Zy.ceil(e)}function c7e(e,t){return e=Ane(e),Hn(Zy.count(ed(e),e)+(ed(e).getDay()===4),t,2)}function u7e(e){return e.getDay()}function d7e(e,t){return Hn(bE.count(ed(e)-1,e),t,2)}function f7e(e,t){return Hn(e.getFullYear()%100,t,2)}function p7e(e,t){return e=Ane(e),Hn(e.getFullYear()%100,t,2)}function h7e(e,t){return Hn(e.getFullYear()%1e4,t,4)}function m7e(e,t){var n=e.getDay();return e=n>=4||n===0?Zy(e):Zy.ceil(e),Hn(e.getFullYear()%1e4,t,4)}function g7e(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+Hn(t/60|0,"0",2)+Hn(t%60,"0",2)}function X6(e,t){return Hn(e.getUTCDate(),t,2)}function y7e(e,t){return Hn(e.getUTCHours(),t,2)}function v7e(e,t){return Hn(e.getUTCHours()%12||12,t,2)}function b7e(e,t){return Hn(1+pk.count(td(e),e),t,3)}function $ne(e,t){return Hn(e.getUTCMilliseconds(),t,3)}function w7e(e,t){return $ne(e,t)+"000"}function x7e(e,t){return Hn(e.getUTCMonth()+1,t,2)}function S7e(e,t){return Hn(e.getUTCMinutes(),t,2)}function C7e(e,t){return Hn(e.getUTCSeconds(),t,2)}function P7e(e){var t=e.getUTCDay();return t===0?7:t}function T7e(e,t){return Hn(mk.count(td(e)-1,e),t,2)}function Rne(e){var t=e.getUTCDay();return t>=4||t===0?ev(e):ev.ceil(e)}function E7e(e,t){return e=Rne(e),Hn(ev.count(td(e),e)+(td(e).getUTCDay()===4),t,2)}function O7e(e){return e.getUTCDay()}function I7e(e,t){return Hn(wE.count(td(e)-1,e),t,2)}function k7e(e,t){return Hn(e.getUTCFullYear()%100,t,2)}function M7e(e,t){return e=Rne(e),Hn(e.getUTCFullYear()%100,t,2)}function A7e(e,t){return Hn(e.getUTCFullYear()%1e4,t,4)}function $7e(e,t){var n=e.getUTCDay();return e=n>=4||n===0?ev(e):ev.ceil(e),Hn(e.getUTCFullYear()%1e4,t,4)}function R7e(){return"+0000"}function Q6(){return"%"}function J6(e){return+e}function Z6(e){return Math.floor(+e/1e3)}var Km,_ne,Dne;_7e({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"]});function _7e(e){return Km=_9e(e),_ne=Km.format,Km.parse,Dne=Km.utcFormat,Km.utcParse,Km}function D7e(e){return new Date(e)}function N7e(e){return e instanceof Date?+e:+new Date(+e)}function aB(e,t,n,r,o,i,a,s,l,c){var u=Gj(),d=u.invert,f=u.domain,p=c(".%L"),m=c(":%S"),g=c("%I:%M"),v=c("%I %p"),w=c("%a %d"),x=c("%b %d"),S=c("%B"),P=c("%Y");function T(E){return(l(E)t(o/(e.length-1)))},n.quantiles=function(r){return Array.from({length:r+1},(o,i)=>T8e(e,i/r))},n.copy=function(){return jne(t).domain(e)},ld.apply(n,arguments)}function yk(){var e=0,t=.5,n=1,r=1,o,i,a,s,l,c=Hi,u,d=!1,f;function p(g){return isNaN(g=+g)?f:(g=.5+((g=+u(g))-i)*(r*gt}var Hne=H7e,U7e=vk,W7e=Hne,G7e=tb;function q7e(e){return e&&e.length?U7e(e,G7e,W7e):void 0}var K7e=q7e;const af=_n(K7e);function Y7e(e,t){return ee.e^i.s<0?1:-1;for(r=i.d.length,o=e.d.length,t=0,n=re.d[t]^i.s<0?1:-1;return r===o?0:r>o^i.s<0?1:-1};Et.decimalPlaces=Et.dp=function(){var e=this,t=e.d.length-1,n=(t-e.e)*kr;if(t=e.d[t],t)for(;t%10==0;t/=10)n--;return n<0?0:n};Et.dividedBy=Et.div=function(e){return Ru(this,new this.constructor(e))};Et.dividedToIntegerBy=Et.idiv=function(e){var t=this,n=t.constructor;return mr(Ru(t,new n(e),0,1),n.precision)};Et.equals=Et.eq=function(e){return!this.cmp(e)};Et.exponent=function(){return xo(this)};Et.greaterThan=Et.gt=function(e){return this.cmp(e)>0};Et.greaterThanOrEqualTo=Et.gte=function(e){return this.cmp(e)>=0};Et.isInteger=Et.isint=function(){return this.e>this.d.length-2};Et.isNegative=Et.isneg=function(){return this.s<0};Et.isPositive=Et.ispos=function(){return this.s>0};Et.isZero=function(){return this.s===0};Et.lessThan=Et.lt=function(e){return this.cmp(e)<0};Et.lessThanOrEqualTo=Et.lte=function(e){return this.cmp(e)<1};Et.logarithm=Et.log=function(e){var t,n=this,r=n.constructor,o=r.precision,i=o+5;if(e===void 0)e=new r(10);else if(e=new r(e),e.s<1||e.eq(qa))throw Error(cl+"NaN");if(n.s<1)throw Error(cl+(n.s?"NaN":"-Infinity"));return n.eq(qa)?new r(0):(Fr=!1,t=Ru(vx(n,i),vx(e,i),i),Fr=!0,mr(t,o))};Et.minus=Et.sub=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?Kne(t,e):Gne(t,(e.s=-e.s,e))};Et.modulo=Et.mod=function(e){var t,n=this,r=n.constructor,o=r.precision;if(e=new r(e),!e.s)throw Error(cl+"NaN");return n.s?(Fr=!1,t=Ru(n,e,0,1).times(e),Fr=!0,n.minus(t)):mr(new r(n),o)};Et.naturalExponential=Et.exp=function(){return qne(this)};Et.naturalLogarithm=Et.ln=function(){return vx(this)};Et.negated=Et.neg=function(){var e=new this.constructor(this);return e.s=-e.s||0,e};Et.plus=Et.add=function(e){var t=this;return e=new t.constructor(e),t.s==e.s?Gne(t,e):Kne(t,(e.s=-e.s,e))};Et.precision=Et.sd=function(e){var t,n,r,o=this;if(e!==void 0&&e!==!!e&&e!==1&&e!==0)throw Error(ph+e);if(t=xo(o)+1,r=o.d.length-1,n=r*kr+1,r=o.d[r],r){for(;r%10==0;r/=10)n--;for(r=o.d[0];r>=10;r/=10)n++}return e&&t>n?t:n};Et.squareRoot=Et.sqrt=function(){var e,t,n,r,o,i,a,s=this,l=s.constructor;if(s.s<1){if(!s.s)return new l(0);throw Error(cl+"NaN")}for(e=xo(s),Fr=!1,o=Math.sqrt(+s),o==0||o==1/0?(t=Oc(s.d),(t.length+e)%2==0&&(t+="0"),o=Math.sqrt(t),e=ib((e+1)/2)-(e<0||e%2),o==1/0?t="5e"+e:(t=o.toExponential(),t=t.slice(0,t.indexOf("e")+1)+e),r=new l(t)):r=new l(o.toString()),n=l.precision,o=a=n+3;;)if(i=r,r=i.plus(Ru(s,i,a+2)).times(.5),Oc(i.d).slice(0,a)===(t=Oc(r.d)).slice(0,a)){if(t=t.slice(a-3,a+1),o==a&&t=="4999"){if(mr(i,n+1,0),i.times(i).eq(s)){r=i;break}}else if(t!="9999")break;a+=4}return Fr=!0,mr(r,n)};Et.times=Et.mul=function(e){var t,n,r,o,i,a,s,l,c,u=this,d=u.constructor,f=u.d,p=(e=new d(e)).d;if(!u.s||!e.s)return new d(0);for(e.s*=u.s,n=u.e+e.e,l=f.length,c=p.length,l=0;){for(t=0,o=l+r;o>r;)s=i[o]+p[r]*f[o-r-1]+t,i[o--]=s%Vo|0,t=s/Vo|0;i[o]=(i[o]+t)%Vo|0}for(;!i[--a];)i.pop();return t?++n:i.shift(),e.d=i,e.e=n,Fr?mr(e,d.precision):e};Et.toDecimalPlaces=Et.todp=function(e,t){var n=this,r=n.constructor;return n=new r(n),e===void 0?n:(Hc(e,0,ob),t===void 0?t=r.rounding:Hc(t,0,8),mr(n,e+xo(n)+1,t))};Et.toExponential=function(e,t){var n,r=this,o=r.constructor;return e===void 0?n=$h(r,!0):(Hc(e,0,ob),t===void 0?t=o.rounding:Hc(t,0,8),r=mr(new o(r),e+1,t),n=$h(r,!0,e+1)),n};Et.toFixed=function(e,t){var n,r,o=this,i=o.constructor;return e===void 0?$h(o):(Hc(e,0,ob),t===void 0?t=i.rounding:Hc(t,0,8),r=mr(new i(o),e+xo(o)+1,t),n=$h(r.abs(),!1,e+xo(r)+1),o.isneg()&&!o.isZero()?"-"+n:n)};Et.toInteger=Et.toint=function(){var e=this,t=e.constructor;return mr(new t(e),xo(e)+1,t.rounding)};Et.toNumber=function(){return+this};Et.toPower=Et.pow=function(e){var t,n,r,o,i,a,s=this,l=s.constructor,c=12,u=+(e=new l(e));if(!e.s)return new l(qa);if(s=new l(s),!s.s){if(e.s<1)throw Error(cl+"Infinity");return s}if(s.eq(qa))return s;if(r=l.precision,e.eq(qa))return mr(s,r);if(t=e.e,n=e.d.length-1,a=t>=n,i=s.s,a){if((n=u<0?-u:u)<=Wne){for(o=new l(qa),t=Math.ceil(r/kr+4),Fr=!1;n%2&&(o=o.times(s),nG(o.d,t)),n=ib(n/2),n!==0;)s=s.times(s),nG(s.d,t);return Fr=!0,e.s<0?new l(qa).div(o):mr(o,r)}}else if(i<0)throw Error(cl+"NaN");return i=i<0&&e.d[Math.max(t,n)]&1?-1:1,s.s=1,Fr=!1,o=e.times(vx(s,r+c)),Fr=!0,o=qne(o),o.s=i,o};Et.toPrecision=function(e,t){var n,r,o=this,i=o.constructor;return e===void 0?(n=xo(o),r=$h(o,n<=i.toExpNeg||n>=i.toExpPos)):(Hc(e,1,ob),t===void 0?t=i.rounding:Hc(t,0,8),o=mr(new i(o),e,t),n=xo(o),r=$h(o,e<=n||n<=i.toExpNeg,e)),r};Et.toSignificantDigits=Et.tosd=function(e,t){var n=this,r=n.constructor;return e===void 0?(e=r.precision,t=r.rounding):(Hc(e,1,ob),t===void 0?t=r.rounding:Hc(t,0,8)),mr(new r(n),e,t)};Et.toString=Et.valueOf=Et.val=Et.toJSON=Et[Symbol.for("nodejs.util.inspect.custom")]=function(){var e=this,t=xo(e),n=e.constructor;return $h(e,t<=n.toExpNeg||t>=n.toExpPos)};function Gne(e,t){var n,r,o,i,a,s,l,c,u=e.constructor,d=u.precision;if(!e.s||!t.s)return t.s||(t=new u(e)),Fr?mr(t,d):t;if(l=e.d,c=t.d,a=e.e,o=t.e,l=l.slice(),i=a-o,i){for(i<0?(r=l,i=-i,s=c.length):(r=c,o=a,s=l.length),a=Math.ceil(d/kr),s=a>s?a+1:s+1,i>s&&(i=s,r.length=1),r.reverse();i--;)r.push(0);r.reverse()}for(s=l.length,i=c.length,s-i<0&&(i=s,r=c,c=l,l=r),n=0;i;)n=(l[--i]=l[i]+c[i]+n)/Vo|0,l[i]%=Vo;for(n&&(l.unshift(n),++o),s=l.length;l[--s]==0;)l.pop();return t.d=l,t.e=o,Fr?mr(t,d):t}function Hc(e,t,n){if(e!==~~e||en)throw Error(ph+e)}function Oc(e){var t,n,r,o=e.length-1,i="",a=e[0];if(o>0){for(i+=a,t=1;ta?1:-1;else for(s=l=0;so[s]?1:-1;break}return l}function n(r,o,i){for(var a=0;i--;)r[i]-=a,a=r[i]1;)r.shift()}return function(r,o,i,a){var s,l,c,u,d,f,p,m,g,v,w,x,S,P,T,E,O,k,A=r.constructor,I=r.s==o.s?1:-1,R=r.d,N=o.d;if(!r.s)return new A(r);if(!o.s)throw Error(cl+"Division by zero");for(l=r.e-o.e,O=N.length,T=R.length,p=new A(I),m=p.d=[],c=0;N[c]==(R[c]||0);)++c;if(N[c]>(R[c]||0)&&--l,i==null?x=i=A.precision:a?x=i+(xo(r)-xo(o))+1:x=i,x<0)return new A(0);if(x=x/kr+2|0,c=0,O==1)for(u=0,N=N[0],x++;(c1&&(N=e(N,u),R=e(R,u),O=N.length,T=R.length),P=O,g=R.slice(0,O),v=g.length;v=Vo/2&&++E;do u=0,s=t(N,g,O,v),s<0?(w=g[0],O!=v&&(w=w*Vo+(g[1]||0)),u=w/E|0,u>1?(u>=Vo&&(u=Vo-1),d=e(N,u),f=d.length,v=g.length,s=t(d,g,f,v),s==1&&(u--,n(d,O16)throw Error(cB+xo(e));if(!e.s)return new u(qa);for(t==null?(Fr=!1,s=d):s=t,a=new u(.03125);e.abs().gte(.1);)e=e.times(a),c+=5;for(r=Math.log(Lp(2,c))/Math.LN10*2+5|0,s+=r,n=o=i=new u(qa),u.precision=s;;){if(o=mr(o.times(e),s),n=n.times(++l),a=i.plus(Ru(o,n,s)),Oc(a.d).slice(0,s)===Oc(i.d).slice(0,s)){for(;c--;)i=mr(i.times(i),s);return u.precision=d,t==null?(Fr=!0,mr(i,d)):i}i=a}}function xo(e){for(var t=e.e*kr,n=e.d[0];n>=10;n/=10)t++;return t}function J$(e,t,n){if(t>e.LN10.sd())throw Fr=!0,n&&(e.precision=n),Error(cl+"LN10 precision limit exceeded");return mr(new e(e.LN10),t)}function Ld(e){for(var t="";e--;)t+="0";return t}function vx(e,t){var n,r,o,i,a,s,l,c,u,d=1,f=10,p=e,m=p.d,g=p.constructor,v=g.precision;if(p.s<1)throw Error(cl+(p.s?"NaN":"-Infinity"));if(p.eq(qa))return new g(0);if(t==null?(Fr=!1,c=v):c=t,p.eq(10))return t==null&&(Fr=!0),J$(g,c);if(c+=f,g.precision=c,n=Oc(m),r=n.charAt(0),i=xo(p),Math.abs(i)<15e14){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)p=p.times(e),n=Oc(p.d),r=n.charAt(0),d++;i=xo(p),r>1?(p=new g("0."+n),i++):p=new g(r+"."+n.slice(1))}else return l=J$(g,c+2,v).times(i+""),p=vx(new g(r+"."+n.slice(1)),c-f).plus(l),g.precision=v,t==null?(Fr=!0,mr(p,v)):p;for(s=a=p=Ru(p.minus(qa),p.plus(qa),c),u=mr(p.times(p),c),o=3;;){if(a=mr(a.times(u),c),l=s.plus(Ru(a,new g(o),c)),Oc(l.d).slice(0,c)===Oc(s.d).slice(0,c))return s=s.times(2),i!==0&&(s=s.plus(J$(g,c+2,v).times(i+""))),s=Ru(s,new g(d),c),g.precision=v,t==null?(Fr=!0,mr(s,v)):s;s=l,o+=2}}function tG(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;t.charCodeAt(r)===48;)++r;for(o=t.length;t.charCodeAt(o-1)===48;)--o;if(t=t.slice(r,o),t){if(o-=r,n=n-r-1,e.e=ib(n/kr),e.d=[],r=(n+1)%kr,n<0&&(r+=kr),rxE||e.e<-xE))throw Error(cB+n)}else e.s=0,e.e=0,e.d=[0];return e}function mr(e,t,n){var r,o,i,a,s,l,c,u,d=e.d;for(a=1,i=d[0];i>=10;i/=10)a++;if(r=t-a,r<0)r+=kr,o=t,c=d[u=0];else{if(u=Math.ceil((r+1)/kr),i=d.length,u>=i)return e;for(c=i=d[u],a=1;i>=10;i/=10)a++;r%=kr,o=r-kr+a}if(n!==void 0&&(i=Lp(10,a-o-1),s=c/i%10|0,l=t<0||d[u+1]!==void 0||c%i,l=n<4?(s||l)&&(n==0||n==(e.s<0?3:2)):s>5||s==5&&(n==4||l||n==6&&(r>0?o>0?c/Lp(10,a-o):0:d[u-1])%10&1||n==(e.s<0?8:7))),t<1||!d[0])return l?(i=xo(e),d.length=1,t=t-i-1,d[0]=Lp(10,(kr-t%kr)%kr),e.e=ib(-t/kr)||0):(d.length=1,d[0]=e.e=e.s=0),e;if(r==0?(d.length=u,i=1,u--):(d.length=u+1,i=Lp(10,kr-r),d[u]=o>0?(c/Lp(10,a-o)%Lp(10,o)|0)*i:0),l)for(;;)if(u==0){(d[0]+=i)==Vo&&(d[0]=1,++e.e);break}else{if(d[u]+=i,d[u]!=Vo)break;d[u--]=0,i=1}for(r=d.length;d[--r]===0;)d.pop();if(Fr&&(e.e>xE||e.e<-xE))throw Error(cB+xo(e));return e}function Kne(e,t){var n,r,o,i,a,s,l,c,u,d,f=e.constructor,p=f.precision;if(!e.s||!t.s)return t.s?t.s=-t.s:t=new f(e),Fr?mr(t,p):t;if(l=e.d,d=t.d,r=t.e,c=e.e,l=l.slice(),a=c-r,a){for(u=a<0,u?(n=l,a=-a,s=d.length):(n=d,r=c,s=l.length),o=Math.max(Math.ceil(p/kr),s)+2,a>o&&(a=o,n.length=1),n.reverse(),o=a;o--;)n.push(0);n.reverse()}else{for(o=l.length,s=d.length,u=o0;--o)l[s++]=0;for(o=d.length;o>a;){if(l[--o]0?i=i.charAt(0)+"."+i.slice(1)+Ld(r):a>1&&(i=i.charAt(0)+"."+i.slice(1)),i=i+(o<0?"e":"e+")+o):o<0?(i="0."+Ld(-o-1)+i,n&&(r=n-a)>0&&(i+=Ld(r))):o>=a?(i+=Ld(o+1-a),n&&(r=n-o-1)>0&&(i=i+"."+Ld(r))):((r=o+1)0&&(o+1===a&&(i+="."),i+=Ld(r))),e.s<0?"-"+i:i}function nG(e,t){if(e.length>t)return e.length=t,!0}function Yne(e){var t,n,r;function o(i){var a=this;if(!(a instanceof o))return new o(i);if(a.constructor=o,i instanceof o){a.s=i.s,a.e=i.e,a.d=(i=i.d)?i.slice():i;return}if(typeof i=="number"){if(i*0!==0)throw Error(ph+i);if(i>0)a.s=1;else if(i<0)i=-i,a.s=-1;else{a.s=0,a.e=0,a.d=[0];return}if(i===~~i&&i<1e7){a.e=0,a.d=[i];return}return tG(a,i.toString())}else if(typeof i!="string")throw Error(ph+i);if(i.charCodeAt(0)===45?(i=i.slice(1),a.s=-1):a.s=1,gqe.test(i))tG(a,i);else throw Error(ph+i)}if(o.prototype=Et,o.ROUND_UP=0,o.ROUND_DOWN=1,o.ROUND_CEIL=2,o.ROUND_FLOOR=3,o.ROUND_HALF_UP=4,o.ROUND_HALF_DOWN=5,o.ROUND_HALF_EVEN=6,o.ROUND_HALF_CEIL=7,o.ROUND_HALF_FLOOR=8,o.clone=Yne,o.config=o.set=yqe,e===void 0&&(e={}),e)for(r=["precision","rounding","toExpNeg","toExpPos","LN10"],t=0;t=o[t+1]&&r<=o[t+2])this[n]=r;else throw Error(ph+n+": "+r);if((r=e[n="LN10"])!==void 0)if(r==Math.LN10)this[n]=new this(r);else throw Error(ph+n+": "+r);return this}var uB=Yne(mqe);qa=new uB(1);const cr=uB;function vqe(e){return Sqe(e)||xqe(e)||wqe(e)||bqe()}function bqe(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function wqe(e,t){if(e){if(typeof e=="string")return yD(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return yD(e,t)}}function xqe(e){if(typeof Symbol<"u"&&Symbol.iterator in Object(e))return Array.from(e)}function Sqe(e){if(Array.isArray(e))return yD(e)}function yD(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=t?n.apply(void 0,o):e(t-a,rG(function(){for(var s=arguments.length,l=new Array(s),c=0;ce.length)&&(t=e.length);for(var n=0,r=new Array(t);n"u"||!(Symbol.iterator in Object(e)))){var n=[],r=!0,o=!1,i=void 0;try{for(var a=e[Symbol.iterator](),s;!(r=(s=a.next()).done)&&(n.push(s.value),!(t&&n.length===t));r=!0);}catch(l){o=!0,i=l}finally{try{!r&&a.return!=null&&a.return()}finally{if(o)throw i}}return n}}function Lqe(e){if(Array.isArray(e))return e}function ere(e){var t=bx(e,2),n=t[0],r=t[1],o=n,i=r;return n>r&&(o=r,i=n),[o,i]}function tre(e,t,n){if(e.lte(0))return new cr(0);var r=xk.getDigitCount(e.toNumber()),o=new cr(10).pow(r),i=e.div(o),a=r!==1?.05:.1,s=new cr(Math.ceil(i.div(a).toNumber())).add(n).mul(a),l=s.mul(o);return t?l:new cr(Math.ceil(l))}function Fqe(e,t,n){var r=1,o=new cr(e);if(!o.isint()&&n){var i=Math.abs(e);i<1?(r=new cr(10).pow(xk.getDigitCount(e)-1),o=new cr(Math.floor(o.div(r).toNumber())).mul(r)):i>1&&(o=new cr(Math.floor(e)))}else e===0?o=new cr(Math.floor((t-1)/2)):n||(o=new cr(Math.floor(e)));var a=Math.floor((t-1)/2),s=Eqe(Tqe(function(l){return o.add(new cr(l-a).mul(r)).toNumber()}),vD);return s(0,t)}function nre(e,t,n,r){var o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:0;if(!Number.isFinite((t-e)/(n-1)))return{step:new cr(0),tickMin:new cr(0),tickMax:new cr(0)};var i=tre(new cr(t).sub(e).div(n-1),r,o),a;e<=0&&t>=0?a=new cr(0):(a=new cr(e).add(t).div(2),a=a.sub(new cr(a).mod(i)));var s=Math.ceil(a.sub(e).div(i).toNumber()),l=Math.ceil(new cr(t).sub(a).div(i).toNumber()),c=s+l+1;return c>n?nre(e,t,n,r,o+1):(c0?l+(n-c):l,s=t>0?s:s+(n-c)),{step:i,tickMin:a.sub(new cr(s).mul(i)),tickMax:a.add(new cr(l).mul(i))})}function jqe(e){var t=bx(e,2),n=t[0],r=t[1],o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,a=Math.max(o,2),s=ere([n,r]),l=bx(s,2),c=l[0],u=l[1];if(c===-1/0||u===1/0){var d=u===1/0?[c].concat(wD(vD(0,o-1).map(function(){return 1/0}))):[].concat(wD(vD(0,o-1).map(function(){return-1/0})),[u]);return n>r?bD(d):d}if(c===u)return Fqe(c,o,i);var f=nre(c,u,a,i),p=f.step,m=f.tickMin,g=f.tickMax,v=xk.rangeStep(m,g.add(new cr(.1).mul(p)),p);return n>r?bD(v):v}function Bqe(e,t){var n=bx(e,2),r=n[0],o=n[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,a=ere([r,o]),s=bx(a,2),l=s[0],c=s[1];if(l===-1/0||c===1/0)return[r,o];if(l===c)return[l];var u=Math.max(t,2),d=tre(new cr(c).sub(l).div(u-1),i,0),f=[].concat(wD(xk.rangeStep(new cr(l),new cr(c).sub(new cr(.99).mul(d)),d)),[c]);return r>o?bD(f):f}var zqe=Jne(jqe),Vqe=Jne(Bqe),Hqe="Invariant failed";function Rh(e,t){throw new Error(Hqe)}var Uqe=["offset","layout","width","dataKey","data","dataPointFormatter","xAxis","yAxis"];function tv(e){"@babel/helpers - typeof";return tv=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},tv(e)}function SE(){return SE=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Qqe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function Jqe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Zqe(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n1&&arguments[1]!==void 0?arguments[1]:[],o=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0,a=-1,s=(n=r==null?void 0:r.length)!==null&&n!==void 0?n:0;if(s<=1)return 0;if(i&&i.axisType==="angleAxis"&&Math.abs(Math.abs(i.range[1]-i.range[0])-360)<=1e-6)for(var l=i.range,c=0;c0?o[c-1].coordinate:o[s-1].coordinate,d=o[c].coordinate,f=c>=s-1?o[0].coordinate:o[c+1].coordinate,p=void 0;if(zi(d-u)!==zi(f-d)){var m=[];if(zi(f-d)===zi(l[1]-l[0])){p=f;var g=d+l[1]-l[0];m[0]=Math.min(g,(g+u)/2),m[1]=Math.max(g,(g+u)/2)}else{p=u;var v=f+l[1]-l[0];m[0]=Math.min(d,(v+d)/2),m[1]=Math.max(d,(v+d)/2)}var w=[Math.min(d,(p+d)/2),Math.max(d,(p+d)/2)];if(t>w[0]&&t<=w[1]||t>=m[0]&&t<=m[1]){a=o[c].index;break}}else{var x=Math.min(u,f),S=Math.max(u,f);if(t>(x+d)/2&&t<=(S+d)/2){a=o[c].index;break}}}else for(var P=0;P0&&P(r[P].coordinate+r[P-1].coordinate)/2&&t<=(r[P].coordinate+r[P+1].coordinate)/2||P===s-1&&t>(r[P].coordinate+r[P-1].coordinate)/2){a=r[P].index;break}return a},dB=function(t){var n,r=t,o=r.type.displayName,i=(n=t.type)!==null&&n!==void 0&&n.defaultProps?no(no({},t.type.defaultProps),t.props):t.props,a=i.stroke,s=i.fill,l;switch(o){case"Line":l=a;break;case"Area":case"Radar":l=a&&a!=="none"?a:s;break;default:l=s;break}return l},gKe=function(t){var n=t.barSize,r=t.totalSize,o=t.stackGroups,i=o===void 0?{}:o;if(!i)return{};for(var a={},s=Object.keys(i),l=0,c=s.length;l=0});if(w&&w.length){var x=w[0].type.defaultProps,S=x!==void 0?no(no({},x),w[0].props):w[0].props,P=S.barSize,T=S[v];a[T]||(a[T]=[]);var E=jt(P)?n:P;a[T].push({item:w[0],stackList:w.slice(1),barSize:jt(E)?void 0:Vi(E,r,0)})}}return a},yKe=function(t){var n=t.barGap,r=t.barCategoryGap,o=t.bandSize,i=t.sizeList,a=i===void 0?[]:i,s=t.maxBarSize,l=a.length;if(l<1)return null;var c=Vi(n,o,0,!0),u,d=[];if(a[0].barSize===+a[0].barSize){var f=!1,p=o/l,m=a.reduce(function(P,T){return P+T.barSize||0},0);m+=(l-1)*c,m>=o&&(m-=(l-1)*c,c=0),m>=o&&p>0&&(f=!0,p*=.9,m=l*p);var g=(o-m)/2>>0,v={offset:g-c,size:0};u=a.reduce(function(P,T){var E={item:T.item,position:{offset:v.offset+v.size+c,size:f?p:T.barSize}},O=[].concat(aG(P),[E]);return v=O[O.length-1].position,T.stackList&&T.stackList.length&&T.stackList.forEach(function(k){O.push({item:k,position:v})}),O},d)}else{var w=Vi(r,o,0,!0);o-2*w-(l-1)*c<=0&&(c=0);var x=(o-2*w-(l-1)*c)/l;x>1&&(x>>=0);var S=s===+s?Math.min(x,s):x;u=a.reduce(function(P,T,E){var O=[].concat(aG(P),[{item:T.item,position:{offset:w+(x+c)*E+(x-S)/2,size:S}}]);return T.stackList&&T.stackList.length&&T.stackList.forEach(function(k){O.push({item:k,position:O[O.length-1].position})}),O},d)}return u},vKe=function(t,n,r,o){var i=r.children,a=r.width,s=r.margin,l=a-(s.left||0)-(s.right||0),c=are({children:i,legendWidth:l});if(c){var u=o||{},d=u.width,f=u.height,p=c.align,m=c.verticalAlign,g=c.layout;if((g==="vertical"||g==="horizontal"&&m==="middle")&&p!=="center"&&st(t[p]))return no(no({},t),{},ay({},p,t[p]+(d||0)));if((g==="horizontal"||g==="vertical"&&p==="center")&&m!=="middle"&&st(t[m]))return no(no({},t),{},ay({},m,t[m]+(f||0)))}return t},bKe=function(t,n,r){return jt(n)?!0:t==="horizontal"?n==="yAxis":t==="vertical"||r==="x"?n==="xAxis":r==="y"?n==="yAxis":!0},sre=function(t,n,r,o,i){var a=n.props.children,s=qi(a,ab).filter(function(c){return bKe(o,i,c.props.direction)});if(s&&s.length){var l=s.map(function(c){return c.props.dataKey});return t.reduce(function(c,u){var d=Mr(u,r);if(jt(d))return c;var f=Array.isArray(d)?[bk(d),af(d)]:[d,d],p=l.reduce(function(m,g){var v=Mr(u,g,0),w=f[0]-Math.abs(Array.isArray(v)?v[0]:v),x=f[1]+Math.abs(Array.isArray(v)?v[1]:v);return[Math.min(w,m[0]),Math.max(x,m[1])]},[1/0,-1/0]);return[Math.min(p[0],c[0]),Math.max(p[1],c[1])]},[1/0,-1/0])}return null},wKe=function(t,n,r,o,i){var a=n.map(function(s){return sre(t,s,r,i,o)}).filter(function(s){return!jt(s)});return a&&a.length?a.reduce(function(s,l){return[Math.min(s[0],l[0]),Math.max(s[1],l[1])]},[1/0,-1/0]):null},lre=function(t,n,r,o,i){var a=n.map(function(l){var c=l.props.dataKey;return r==="number"&&c&&sre(t,l,c,o)||vw(t,c,r,i)});if(r==="number")return a.reduce(function(l,c){return[Math.min(l[0],c[0]),Math.max(l[1],c[1])]},[1/0,-1/0]);var s={};return a.reduce(function(l,c){for(var u=0,d=c.length;u=2?zi(s[0]-s[1])*2*c:c,n&&(t.ticks||t.niceTicks)){var u=(t.ticks||t.niceTicks).map(function(d){var f=i?i.indexOf(d):d;return{coordinate:o(f)+c,value:d,offset:c}});return u.filter(function(d){return!Jv(d.coordinate)})}return t.isCategorical&&t.categoricalDomain?t.categoricalDomain.map(function(d,f){return{coordinate:o(d)+c,value:d,index:f,offset:c}}):o.ticks&&!r?o.ticks(t.tickCount).map(function(d){return{coordinate:o(d)+c,value:d,offset:c}}):o.domain().map(function(d,f){return{coordinate:o(d)+c,value:i?i[d]:d,index:f,offset:c}})},Z$=new WeakMap,KC=function(t,n){if(typeof n!="function")return t;Z$.has(t)||Z$.set(t,new WeakMap);var r=Z$.get(t);if(r.has(n))return r.get(n);var o=function(){t.apply(void 0,arguments),n.apply(void 0,arguments)};return r.set(n,o),o},dre=function(t,n,r){var o=t.scale,i=t.type,a=t.layout,s=t.axisType;if(o==="auto")return a==="radial"&&s==="radiusAxis"?{scale:px(),realScaleType:"band"}:a==="radial"&&s==="angleAxis"?{scale:yE(),realScaleType:"linear"}:i==="category"&&n&&(n.indexOf("LineChart")>=0||n.indexOf("AreaChart")>=0||n.indexOf("ComposedChart")>=0&&!r)?{scale:yw(),realScaleType:"point"}:i==="category"?{scale:px(),realScaleType:"band"}:{scale:yE(),realScaleType:"linear"};if(jS(o)){var l="scale".concat(rk(o));return{scale:(eG[l]||yw)(),realScaleType:eG[l]?l:"point"}}return Ht(o)?{scale:o}:{scale:yw(),realScaleType:"point"}},lG=1e-4,fre=function(t){var n=t.domain();if(!(!n||n.length<=2)){var r=n.length,o=t.range(),i=Math.min(o[0],o[1])-lG,a=Math.max(o[0],o[1])+lG,s=t(n[0]),l=t(n[r-1]);(sa||la)&&t.domain([n[0],n[r-1]])}},xKe=function(t,n){if(!t)return null;for(var r=0,o=t.length;ro)&&(i[1]=o),i[0]>o&&(i[0]=o),i[1]=0?(t[s][r][0]=i,t[s][r][1]=i+l,i=t[s][r][1]):(t[s][r][0]=a,t[s][r][1]=a+l,a=t[s][r][1])}},PKe=function(t){var n=t.length;if(!(n<=0))for(var r=0,o=t[0].length;r=0?(t[a][r][0]=i,t[a][r][1]=i+s,i=t[a][r][1]):(t[a][r][0]=0,t[a][r][1]=0)}},TKe={sign:CKe,expand:Uze,none:qy,silhouette:Wze,wiggle:Gze,positive:PKe},EKe=function(t,n,r){var o=n.map(function(s){return s.props.dataKey}),i=TKe[r],a=Hze().keys(o).value(function(s,l){return+Mr(s,l,0)}).order(K_).offset(i);return a(t)},OKe=function(t,n,r,o,i,a){if(!t)return null;var s=a?n.reverse():n,l={},c=s.reduce(function(d,f){var p,m=(p=f.type)!==null&&p!==void 0&&p.defaultProps?no(no({},f.type.defaultProps),f.props):f.props,g=m.stackId,v=m.hide;if(v)return d;var w=m[r],x=d[w]||{hasStack:!1,stackGroups:{}};if(Ro(g)){var S=x.stackGroups[g]||{numericAxisId:r,cateAxisId:o,items:[]};S.items.push(f),x.hasStack=!0,x.stackGroups[g]=S}else x.stackGroups[Yf("_stackId_")]={numericAxisId:r,cateAxisId:o,items:[f]};return no(no({},d),{},ay({},w,x))},l),u={};return Object.keys(c).reduce(function(d,f){var p=c[f];if(p.hasStack){var m={};p.stackGroups=Object.keys(p.stackGroups).reduce(function(g,v){var w=p.stackGroups[v];return no(no({},g),{},ay({},v,{numericAxisId:r,cateAxisId:o,items:w.items,stackedData:EKe(t,w.items,i)}))},m)}return no(no({},d),{},ay({},f,p))},u)},pre=function(t,n){var r=n.realScaleType,o=n.type,i=n.tickCount,a=n.originalDomain,s=n.allowDecimals,l=r||n.scale;if(l!=="auto"&&l!=="linear")return null;if(i&&o==="number"&&a&&(a[0]==="auto"||a[1]==="auto")){var c=t.domain();if(!c.length)return null;var u=zqe(c,i,s);return t.domain([bk(u),af(u)]),{niceTicks:u}}if(i&&o==="number"){var d=t.domain(),f=Vqe(d,i,s);return{niceTicks:f}}return null};function nv(e){var t=e.axis,n=e.ticks,r=e.bandSize,o=e.entry,i=e.index,a=e.dataKey;if(t.type==="category"){if(!t.allowDuplicatedCategory&&t.dataKey&&!jt(o[t.dataKey])){var s=XT(n,"value",o[t.dataKey]);if(s)return s.coordinate+r/2}return n[i]?n[i].coordinate+r/2:null}var l=Mr(o,jt(a)?t.dataKey:a);return jt(l)?null:t.scale(l)}var cG=function(t){var n=t.axis,r=t.ticks,o=t.offset,i=t.bandSize,a=t.entry,s=t.index;if(n.type==="category")return r[s]?r[s].coordinate+o:null;var l=Mr(a,n.dataKey,n.domain[s]);return jt(l)?null:n.scale(l)-i/2+o},IKe=function(t){var n=t.numericAxis,r=n.scale.domain();if(n.type==="number"){var o=Math.min(r[0],r[1]),i=Math.max(r[0],r[1]);return o<=0&&i>=0?0:i<0?i:o}return r[0]},kKe=function(t,n){var r,o=(r=t.type)!==null&&r!==void 0&&r.defaultProps?no(no({},t.type.defaultProps),t.props):t.props,i=o.stackId;if(Ro(i)){var a=n[i];if(a){var s=a.items.indexOf(t);return s>=0?a.stackedData[s]:null}}return null},MKe=function(t){return t.reduce(function(n,r){return[bk(r.concat([n[0]]).filter(st)),af(r.concat([n[1]]).filter(st))]},[1/0,-1/0])},hre=function(t,n,r){return Object.keys(t).reduce(function(o,i){var a=t[i],s=a.stackedData,l=s.reduce(function(c,u){var d=MKe(u.slice(n,r+1));return[Math.min(c[0],d[0]),Math.max(c[1],d[1])]},[1/0,-1/0]);return[Math.min(l[0],o[0]),Math.max(l[1],o[1])]},[1/0,-1/0]).map(function(o){return o===1/0||o===-1/0?0:o})},uG=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,dG=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,PD=function(t,n,r){if(Ht(t))return t(n,r);if(!Array.isArray(t))return n;var o=[];if(st(t[0]))o[0]=r?t[0]:Math.min(t[0],n[0]);else if(uG.test(t[0])){var i=+uG.exec(t[0])[1];o[0]=n[0]-i}else Ht(t[0])?o[0]=t[0](n[0]):o[0]=n[0];if(st(t[1]))o[1]=r?t[1]:Math.max(t[1],n[1]);else if(dG.test(t[1])){var a=+dG.exec(t[1])[1];o[1]=n[1]+a}else Ht(t[1])?o[1]=t[1](n[1]):o[1]=n[1];return o},PE=function(t,n,r){if(t&&t.scale&&t.scale.bandwidth){var o=t.scale.bandwidth();if(!r||o>0)return o}if(t&&n&&n.length>=2){for(var i=jj(n,function(d){return d.coordinate}),a=1/0,s=1,l=i.length;se.length)&&(t=e.length);for(var n=0,r=new Array(t);n2&&arguments[2]!==void 0?arguments[2]:{top:0,right:0,bottom:0,left:0};return Math.min(Math.abs(t-(r.left||0)-(r.right||0)),Math.abs(n-(r.top||0)-(r.bottom||0)))/2},jKe=function(t,n,r,o,i){var a=t.width,s=t.height,l=t.startAngle,c=t.endAngle,u=Vi(t.cx,a,a/2),d=Vi(t.cy,s,s/2),f=yre(a,s,r),p=Vi(t.innerRadius,f,0),m=Vi(t.outerRadius,f,f*.8),g=Object.keys(n);return g.reduce(function(v,w){var x=n[w],S=x.domain,P=x.reversed,T;if(jt(x.range))o==="angleAxis"?T=[l,c]:o==="radiusAxis"&&(T=[p,m]),P&&(T=[T[1],T[0]]);else{T=x.range;var E=T,O=RKe(E,2);l=O[0],c=O[1]}var k=dre(x,i),A=k.realScaleType,I=k.scale;I.domain(S).range(T),fre(I);var R=pre(I,vu(vu({},x),{},{realScaleType:A})),N=vu(vu(vu({},x),R),{},{range:T,radius:m,realScaleType:A,scale:I,cx:u,cy:d,innerRadius:p,outerRadius:m,startAngle:l,endAngle:c});return vu(vu({},v),{},gre({},w,N))},{})},BKe=function(t,n){var r=t.x,o=t.y,i=n.x,a=n.y;return Math.sqrt(Math.pow(r-i,2)+Math.pow(o-a,2))},zKe=function(t,n){var r=t.x,o=t.y,i=n.cx,a=n.cy,s=BKe({x:r,y:o},{x:i,y:a});if(s<=0)return{radius:s};var l=(r-i)/s,c=Math.acos(l);return o>a&&(c=2*Math.PI-c),{radius:s,angle:FKe(c),angleInRadian:c}},VKe=function(t){var n=t.startAngle,r=t.endAngle,o=Math.floor(n/360),i=Math.floor(r/360),a=Math.min(o,i);return{startAngle:n-a*360,endAngle:r-a*360}},HKe=function(t,n){var r=n.startAngle,o=n.endAngle,i=Math.floor(r/360),a=Math.floor(o/360),s=Math.min(i,a);return t+s*360},mG=function(t,n){var r=t.x,o=t.y,i=zKe({x:r,y:o},n),a=i.radius,s=i.angle,l=n.innerRadius,c=n.outerRadius;if(ac)return!1;if(a===0)return!0;var u=VKe(n),d=u.startAngle,f=u.endAngle,p=s,m;if(d<=f){for(;p>f;)p-=360;for(;p=d&&p<=f}else{for(;p>d;)p-=360;for(;p=f&&p<=d}return m?vu(vu({},n),{},{radius:a,angle:HKe(p,n)}):null},vre=function(t){return!y.isValidElement(t)&&!Ht(t)&&typeof t!="boolean"?t.className:""};function Cx(e){"@babel/helpers - typeof";return Cx=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Cx(e)}var UKe=["offset"];function WKe(e){return YKe(e)||KKe(e)||qKe(e)||GKe()}function GKe(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function qKe(e,t){if(e){if(typeof e=="string")return TD(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return TD(e,t)}}function KKe(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function YKe(e){if(Array.isArray(e))return TD(e)}function TD(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function QKe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function gG(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function ko(e){for(var t=1;t=0?1:-1,S,P;o==="insideStart"?(S=p+x*a,P=g):o==="insideEnd"?(S=m-x*a,P=!g):o==="end"&&(S=m+x*a,P=g),P=w<=0?P:!P;var T=Sr(c,u,v,S),E=Sr(c,u,v,S+(P?1:-1)*359),O="M".concat(T.x,",").concat(T.y,` + A`).concat(v,",").concat(v,",0,1,").concat(P?0:1,`, + `).concat(E.x,",").concat(E.y),k=jt(t.id)?Yf("recharts-radial-line-"):t.id;return Y.createElement("text",Px({},r,{dominantBaseline:"central",className:de("recharts-radial-bar-label",s)}),Y.createElement("defs",null,Y.createElement("path",{id:k,d:O})),Y.createElement("textPath",{xlinkHref:"#".concat(k)},n))},oYe=function(t){var n=t.viewBox,r=t.offset,o=t.position,i=n,a=i.cx,s=i.cy,l=i.innerRadius,c=i.outerRadius,u=i.startAngle,d=i.endAngle,f=(u+d)/2;if(o==="outside"){var p=Sr(a,s,c+r,f),m=p.x,g=p.y;return{x:m,y:g,textAnchor:m>=a?"start":"end",verticalAnchor:"middle"}}if(o==="center")return{x:a,y:s,textAnchor:"middle",verticalAnchor:"middle"};if(o==="centerTop")return{x:a,y:s,textAnchor:"middle",verticalAnchor:"start"};if(o==="centerBottom")return{x:a,y:s,textAnchor:"middle",verticalAnchor:"end"};var v=(l+c)/2,w=Sr(a,s,v,f),x=w.x,S=w.y;return{x,y:S,textAnchor:"middle",verticalAnchor:"middle"}},iYe=function(t){var n=t.viewBox,r=t.parentViewBox,o=t.offset,i=t.position,a=n,s=a.x,l=a.y,c=a.width,u=a.height,d=u>=0?1:-1,f=d*o,p=d>0?"end":"start",m=d>0?"start":"end",g=c>=0?1:-1,v=g*o,w=g>0?"end":"start",x=g>0?"start":"end";if(i==="top"){var S={x:s+c/2,y:l-d*o,textAnchor:"middle",verticalAnchor:p};return ko(ko({},S),r?{height:Math.max(l-r.y,0),width:c}:{})}if(i==="bottom"){var P={x:s+c/2,y:l+u+f,textAnchor:"middle",verticalAnchor:m};return ko(ko({},P),r?{height:Math.max(r.y+r.height-(l+u),0),width:c}:{})}if(i==="left"){var T={x:s-v,y:l+u/2,textAnchor:w,verticalAnchor:"middle"};return ko(ko({},T),r?{width:Math.max(T.x-r.x,0),height:u}:{})}if(i==="right"){var E={x:s+c+v,y:l+u/2,textAnchor:x,verticalAnchor:"middle"};return ko(ko({},E),r?{width:Math.max(r.x+r.width-E.x,0),height:u}:{})}var O=r?{width:c,height:u}:{};return i==="insideLeft"?ko({x:s+v,y:l+u/2,textAnchor:x,verticalAnchor:"middle"},O):i==="insideRight"?ko({x:s+c-v,y:l+u/2,textAnchor:w,verticalAnchor:"middle"},O):i==="insideTop"?ko({x:s+c/2,y:l+f,textAnchor:"middle",verticalAnchor:m},O):i==="insideBottom"?ko({x:s+c/2,y:l+u-f,textAnchor:"middle",verticalAnchor:p},O):i==="insideTopLeft"?ko({x:s+v,y:l+f,textAnchor:x,verticalAnchor:m},O):i==="insideTopRight"?ko({x:s+c-v,y:l+f,textAnchor:w,verticalAnchor:m},O):i==="insideBottomLeft"?ko({x:s+v,y:l+u-f,textAnchor:x,verticalAnchor:p},O):i==="insideBottomRight"?ko({x:s+c-v,y:l+u-f,textAnchor:w,verticalAnchor:p},O):Kv(i)&&(st(i.x)||qp(i.x))&&(st(i.y)||qp(i.y))?ko({x:s+Vi(i.x,c),y:l+Vi(i.y,u),textAnchor:"end",verticalAnchor:"end"},O):ko({x:s+c/2,y:l+u/2,textAnchor:"middle",verticalAnchor:"middle"},O)},aYe=function(t){return"cx"in t&&st(t.cx)};function Wo(e){var t=e.offset,n=t===void 0?5:t,r=XKe(e,UKe),o=ko({offset:n},r),i=o.viewBox,a=o.position,s=o.value,l=o.children,c=o.content,u=o.className,d=u===void 0?"":u,f=o.textBreakAll;if(!i||jt(s)&&jt(l)&&!y.isValidElement(c)&&!Ht(c))return null;if(y.isValidElement(c))return y.cloneElement(c,o);var p;if(Ht(c)){if(p=y.createElement(c,o),y.isValidElement(p))return p}else p=tYe(o);var m=aYe(i),g=$t(o,!0);if(m&&(a==="insideStart"||a==="insideEnd"||a==="end"))return rYe(o,p,g);var v=m?oYe(o):iYe(o);return Y.createElement(Ah,Px({className:de("recharts-label",d)},g,v,{breakAll:f}),p)}Wo.displayName="Label";var bre=function(t){var n=t.cx,r=t.cy,o=t.angle,i=t.startAngle,a=t.endAngle,s=t.r,l=t.radius,c=t.innerRadius,u=t.outerRadius,d=t.x,f=t.y,p=t.top,m=t.left,g=t.width,v=t.height,w=t.clockWise,x=t.labelViewBox;if(x)return x;if(st(g)&&st(v)){if(st(d)&&st(f))return{x:d,y:f,width:g,height:v};if(st(p)&&st(m))return{x:p,y:m,width:g,height:v}}return st(d)&&st(f)?{x:d,y:f,width:0,height:0}:st(n)&&st(r)?{cx:n,cy:r,startAngle:i||o||0,endAngle:a||o||0,innerRadius:c||0,outerRadius:u||l||s||0,clockWise:w}:t.viewBox?t.viewBox:{}},sYe=function(t,n){return t?t===!0?Y.createElement(Wo,{key:"label-implicit",viewBox:n}):Ro(t)?Y.createElement(Wo,{key:"label-implicit",viewBox:n,value:t}):y.isValidElement(t)?t.type===Wo?y.cloneElement(t,{key:"label-implicit",viewBox:n}):Y.createElement(Wo,{key:"label-implicit",content:t,viewBox:n}):Ht(t)?Y.createElement(Wo,{key:"label-implicit",content:t,viewBox:n}):Kv(t)?Y.createElement(Wo,Px({viewBox:n},t,{key:"label-implicit"})):null:null},lYe=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!t||!t.children&&r&&!t.label)return null;var o=t.children,i=bre(t),a=qi(o,Wo).map(function(l,c){return y.cloneElement(l,{viewBox:n||i,key:"label-".concat(c)})});if(!r)return a;var s=sYe(t.label,n||i);return[s].concat(WKe(a))};Wo.parseViewBox=bre;Wo.renderCallByParent=lYe;function cYe(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}var uYe=cYe;const dYe=_n(uYe);function Tx(e){"@babel/helpers - typeof";return Tx=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Tx(e)}var fYe=["valueAccessor"],pYe=["data","dataKey","clockWise","id","textBreakAll"];function hYe(e){return vYe(e)||yYe(e)||gYe(e)||mYe()}function mYe(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function gYe(e,t){if(e){if(typeof e=="string")return ED(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ED(e,t)}}function yYe(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function vYe(e){if(Array.isArray(e))return ED(e)}function ED(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function SYe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var CYe=function(t){return Array.isArray(t.value)?dYe(t.value):t.value};function Jl(e){var t=e.valueAccessor,n=t===void 0?CYe:t,r=bG(e,fYe),o=r.data,i=r.dataKey,a=r.clockWise,s=r.id,l=r.textBreakAll,c=bG(r,pYe);return!o||!o.length?null:Y.createElement(on,{className:"recharts-label-list"},o.map(function(u,d){var f=jt(i)?n(u,d):Mr(u&&u.payload,i),p=jt(s)?{}:{id:"".concat(s,"-").concat(d)};return Y.createElement(Wo,EE({},$t(u,!0),c,p,{parentViewBox:u.parentViewBox,value:f,textBreakAll:l,viewBox:Wo.parseViewBox(jt(a)?u:vG(vG({},u),{},{clockWise:a})),key:"label-".concat(d),index:d}))}))}Jl.displayName="LabelList";function PYe(e,t){return e?e===!0?Y.createElement(Jl,{key:"labelList-implicit",data:t}):Y.isValidElement(e)||Ht(e)?Y.createElement(Jl,{key:"labelList-implicit",data:t,content:e}):Kv(e)?Y.createElement(Jl,EE({data:t},e,{key:"labelList-implicit"})):null:null}function TYe(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(!e||!e.children&&n&&!e.label)return null;var r=e.children,o=qi(r,Jl).map(function(a,s){return y.cloneElement(a,{data:t,key:"labelList-".concat(s)})});if(!n)return o;var i=PYe(e.label,t);return[i].concat(hYe(o))}Jl.renderCallByParent=TYe;function Ex(e){"@babel/helpers - typeof";return Ex=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ex(e)}function OD(){return OD=Object.assign?Object.assign.bind():function(e){for(var t=1;t180),",").concat(+(a>c),`, `).concat(d.x,",").concat(d.y,` - `);if(o>0){var p=xn(n,r,o,a),h=xn(n,r,o,c);f+="L ".concat(h.x,",").concat(h.y,` + `);if(o>0){var p=Sr(n,r,o,a),m=Sr(n,r,o,c);f+="L ".concat(m.x,",").concat(m.y,` A `).concat(o,",").concat(o,`,0, `).concat(+(Math.abs(l)>180),",").concat(+(a<=c),`, - `).concat(p.x,",").concat(p.y," Z")}else f+="L ".concat(n,",").concat(r," Z");return f},d5e=function(t){var n=t.cx,r=t.cy,o=t.innerRadius,i=t.outerRadius,a=t.cornerRadius,s=t.forceCornerRadius,l=t.cornerIsExternal,c=t.startAngle,u=t.endAngle,d=ao(u-c),f=n0({cx:n,cy:r,radius:i,angle:c,sign:d,cornerRadius:a,cornerIsExternal:l}),p=f.circleTangency,h=f.lineTangency,m=f.theta,v=n0({cx:n,cy:r,radius:i,angle:u,sign:-d,cornerRadius:a,cornerIsExternal:l}),b=v.circleTangency,y=v.lineTangency,w=v.theta,C=l?Math.abs(c-u):Math.abs(c-u)-m-w;if(C<0)return s?"M ".concat(h.x,",").concat(h.y,` + `).concat(p.x,",").concat(p.y," Z")}else f+="L ".concat(n,",").concat(r," Z");return f},MYe=function(t){var n=t.cx,r=t.cy,o=t.innerRadius,i=t.outerRadius,a=t.cornerRadius,s=t.forceCornerRadius,l=t.cornerIsExternal,c=t.startAngle,u=t.endAngle,d=zi(u-c),f=YC({cx:n,cy:r,radius:i,angle:c,sign:d,cornerRadius:a,cornerIsExternal:l}),p=f.circleTangency,m=f.lineTangency,g=f.theta,v=YC({cx:n,cy:r,radius:i,angle:u,sign:-d,cornerRadius:a,cornerIsExternal:l}),w=v.circleTangency,x=v.lineTangency,S=v.theta,P=l?Math.abs(c-u):Math.abs(c-u)-g-S;if(P<0)return s?"M ".concat(m.x,",").concat(m.y,` a`).concat(a,",").concat(a,",0,0,1,").concat(a*2,`,0 a`).concat(a,",").concat(a,",0,0,1,").concat(-a*2,`,0 - `):iq({cx:n,cy:r,innerRadius:o,outerRadius:i,startAngle:c,endAngle:u});var O="M ".concat(h.x,",").concat(h.y,` + `):wre({cx:n,cy:r,innerRadius:o,outerRadius:i,startAngle:c,endAngle:u});var T="M ".concat(m.x,",").concat(m.y,` A`).concat(a,",").concat(a,",0,0,").concat(+(d<0),",").concat(p.x,",").concat(p.y,` - A`).concat(i,",").concat(i,",0,").concat(+(C>180),",").concat(+(d<0),",").concat(b.x,",").concat(b.y,` - A`).concat(a,",").concat(a,",0,0,").concat(+(d<0),",").concat(y.x,",").concat(y.y,` - `);if(o>0){var P=n0({cx:n,cy:r,radius:o,angle:c,sign:d,isExternal:!0,cornerRadius:a,cornerIsExternal:l}),E=P.circleTangency,T=P.lineTangency,$=P.theta,M=n0({cx:n,cy:r,radius:o,angle:u,sign:-d,isExternal:!0,cornerRadius:a,cornerIsExternal:l}),D=M.circleTangency,L=M.lineTangency,N=M.theta,R=l?Math.abs(c-u):Math.abs(c-u)-$-N;if(R<0&&a===0)return"".concat(O,"L").concat(n,",").concat(r,"Z");O+="L".concat(L.x,",").concat(L.y,` - A`).concat(a,",").concat(a,",0,0,").concat(+(d<0),",").concat(D.x,",").concat(D.y,` - A`).concat(o,",").concat(o,",0,").concat(+(R>180),",").concat(+(d>0),",").concat(E.x,",").concat(E.y,` - A`).concat(a,",").concat(a,",0,0,").concat(+(d<0),",").concat(T.x,",").concat(T.y,"Z")}else O+="L".concat(n,",").concat(r,"Z");return O},f5e={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},aq=function(t){var n=sz(sz({},f5e),t),r=n.cx,o=n.cy,i=n.innerRadius,a=n.outerRadius,s=n.cornerRadius,l=n.forceCornerRadius,c=n.cornerIsExternal,u=n.startAngle,d=n.endAngle,f=n.className;if(a0&&Math.abs(u-d)<360?v=d5e({cx:r,cy:o,innerRadius:i,outerRadius:a,cornerRadius:Math.min(m,h/2),forceCornerRadius:l,cornerIsExternal:c,startAngle:u,endAngle:d}):v=iq({cx:r,cy:o,innerRadius:i,outerRadius:a,startAngle:u,endAngle:d}),V.createElement("path",jk({},ot(n,!0),{className:p,d:v,role:"img"}))};function Dv(e){"@babel/helpers - typeof";return Dv=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Dv(e)}function Fk(){return Fk=Object.assign?Object.assign.bind():function(e){for(var t=1;t0;)if(!n.equals(e[r],t[r],r,r,e,t,n))return!1;return!0}function C5e(e,t){return jh(e.getTime(),t.getTime())}function mz(e,t,n){if(e.size!==t.size)return!1;for(var r={},o=e.entries(),i=0,a,s;(a=o.next())&&!a.done;){for(var l=t.entries(),c=!1,u=0;(s=l.next())&&!s.done;){var d=a.value,f=d[0],p=d[1],h=s.value,m=h[0],v=h[1];!c&&!r[u]&&(c=n.equals(f,m,i,u,e,t,n)&&n.equals(p,v,f,m,e,t,n))&&(r[u]=!0),u++}if(!c)return!1;i++}return!0}function S5e(e,t,n){var r=hz(e),o=r.length;if(hz(t).length!==o)return!1;for(var i;o-- >0;)if(i=r[o],i===lq&&(e.$$typeof||t.$$typeof)&&e.$$typeof!==t.$$typeof||!sq(t,i)||!n.equals(e[i],t[i],i,i,e,t,n))return!1;return!0}function Am(e,t,n){var r=fz(e),o=r.length;if(fz(t).length!==o)return!1;for(var i,a,s;o-- >0;)if(i=r[o],i===lq&&(e.$$typeof||t.$$typeof)&&e.$$typeof!==t.$$typeof||!sq(t,i)||!n.equals(e[i],t[i],i,i,e,t,n)||(a=pz(e,i),s=pz(t,i),(a||s)&&(!a||!s||a.configurable!==s.configurable||a.enumerable!==s.enumerable||a.writable!==s.writable)))return!1;return!0}function P5e(e,t){return jh(e.valueOf(),t.valueOf())}function E5e(e,t){return e.source===t.source&&e.flags===t.flags}function gz(e,t,n){if(e.size!==t.size)return!1;for(var r={},o=e.values(),i,a;(i=o.next())&&!i.done;){for(var s=t.values(),l=!1,c=0;(a=s.next())&&!a.done;)!l&&!r[c]&&(l=n.equals(i.value,a.value,i.value,a.value,e,t,n))&&(r[c]=!0),c++;if(!l)return!1}return!0}function O5e(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 T5e="[object Arguments]",k5e="[object Boolean]",I5e="[object Date]",$5e="[object Map]",M5e="[object Number]",A5e="[object Object]",R5e="[object RegExp]",_5e="[object Set]",D5e="[object String]",N5e=Array.isArray,vz=typeof ArrayBuffer=="function"&&ArrayBuffer.isView?ArrayBuffer.isView:null,yz=Object.assign,L5e=Object.prototype.toString.call.bind(Object.prototype.toString);function j5e(e){var t=e.areArraysEqual,n=e.areDatesEqual,r=e.areMapsEqual,o=e.areObjectsEqual,i=e.arePrimitiveWrappersEqual,a=e.areRegExpsEqual,s=e.areSetsEqual,l=e.areTypedArraysEqual;return function(u,d,f){if(u===d)return!0;if(u==null||d==null||typeof u!="object"||typeof d!="object")return u!==u&&d!==d;var p=u.constructor;if(p!==d.constructor)return!1;if(p===Object)return o(u,d,f);if(N5e(u))return t(u,d,f);if(vz!=null&&vz(u))return l(u,d,f);if(p===Date)return n(u,d,f);if(p===RegExp)return a(u,d,f);if(p===Map)return r(u,d,f);if(p===Set)return s(u,d,f);var h=L5e(u);return h===I5e?n(u,d,f):h===R5e?a(u,d,f):h===$5e?r(u,d,f):h===_5e?s(u,d,f):h===A5e?typeof u.then!="function"&&typeof d.then!="function"&&o(u,d,f):h===T5e?o(u,d,f):h===k5e||h===M5e||h===D5e?i(u,d,f):!1}}function F5e(e){var t=e.circular,n=e.createCustomConfig,r=e.strict,o={areArraysEqual:r?Am:w5e,areDatesEqual:C5e,areMapsEqual:r?dz(mz,Am):mz,areObjectsEqual:r?Am:S5e,arePrimitiveWrappersEqual:P5e,areRegExpsEqual:E5e,areSetsEqual:r?dz(gz,Am):gz,areTypedArraysEqual:r?Am:O5e};if(n&&(o=yz({},o,n(o))),t){var i=o0(o.areArraysEqual),a=o0(o.areMapsEqual),s=o0(o.areObjectsEqual),l=o0(o.areSetsEqual);o=yz({},o,{areArraysEqual:i,areMapsEqual:a,areObjectsEqual:s,areSetsEqual:l})}return o}function B5e(e){return function(t,n,r,o,i,a,s){return e(t,n,s)}}function z5e(e){var t=e.circular,n=e.comparator,r=e.createState,o=e.equals,i=e.strict;if(r)return function(l,c){var u=r(),d=u.cache,f=d===void 0?t?new WeakMap:void 0:d,p=u.meta;return n(l,c,{cache:f,equals:o,meta:p,strict:i})};if(t)return function(l,c){return n(l,c,{cache:new WeakMap,equals:o,meta:void 0,strict:i})};var a={cache:void 0,equals:o,meta:void 0,strict:i};return function(l,c){return n(l,c,a)}}var V5e=qc();qc({strict:!0});qc({circular:!0});qc({circular:!0,strict:!0});qc({createInternalComparator:function(){return jh}});qc({strict:!0,createInternalComparator:function(){return jh}});qc({circular:!0,createInternalComparator:function(){return jh}});qc({circular:!0,createInternalComparator:function(){return jh},strict:!0});function qc(e){e===void 0&&(e={});var t=e.circular,n=t===void 0?!1:t,r=e.createInternalComparator,o=e.createState,i=e.strict,a=i===void 0?!1:i,s=F5e(e),l=j5e(s),c=r?r(l):B5e(l);return z5e({circular:n,comparator:l,createState:o,equals:c,strict:a})}function H5e(e){typeof requestAnimationFrame<"u"&&requestAnimationFrame(e)}function bz(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=-1,r=function o(i){n<0&&(n=i),i-n>t?(e(i),n=-1):H5e(o)};requestAnimationFrame(r)}function Bk(e){"@babel/helpers - typeof";return Bk=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Bk(e)}function U5e(e){return K5e(e)||q5e(e)||G5e(e)||W5e()}function W5e(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function G5e(e,t){if(e){if(typeof e=="string")return xz(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return xz(e,t)}}function xz(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n1?1:b<0?0:b},m=function(b){for(var y=b>1?1:b,w=y,C=0;C<8;++C){var O=d(w)-y,P=p(w);if(Math.abs(O-y)0&&arguments[0]!==void 0?arguments[0]:{},n=t.stiff,r=n===void 0?100:n,o=t.damping,i=o===void 0?8:o,a=t.dt,s=a===void 0?17:a,l=function(u,d,f){var p=-(u-d)*r,h=f*i,m=f+(p-h)*s/1e3,v=f*s/1e3+u;return Math.abs(v-d)e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function E3e(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}function AE(e){return I3e(e)||k3e(e)||T3e(e)||O3e()}function O3e(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function T3e(e,t){if(e){if(typeof e=="string")return Wk(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Wk(e,t)}}function k3e(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function I3e(e){if(Array.isArray(e))return Wk(e)}function Wk(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function Tw(e){return Tw=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Tw(e)}var ja=function(e){_3e(n,e);var t=D3e(n);function n(r,o){var i;$3e(this,n),i=t.call(this,r,o);var a=i.props,s=a.isActive,l=a.attributeName,c=a.from,u=a.to,d=a.steps,f=a.children,p=a.duration;if(i.handleStyleChange=i.handleStyleChange.bind(Kk(i)),i.changeStyle=i.changeStyle.bind(Kk(i)),!s||p<=0)return i.state={style:{}},typeof f=="function"&&(i.state={style:u}),qk(i);if(d&&d.length)i.state={style:d[0].style};else if(c){if(typeof f=="function")return i.state={style:c},qk(i);i.state={style:l?Qm({},l,c):c}}else i.state={style:{}};return i}return A3e(n,[{key:"componentDidMount",value:function(){var o=this.props,i=o.isActive,a=o.canBegin;this.mounted=!0,!(!i||!a)&&this.runAnimation(this.props)}},{key:"componentDidUpdate",value:function(o){var i=this.props,a=i.isActive,s=i.canBegin,l=i.attributeName,c=i.shouldReAnimate,u=i.to,d=i.from,f=this.state.style;if(s){if(!a){var p={style:l?Qm({},l,u):u};this.state&&f&&(l&&f[l]!==u||!l&&f!==u)&&this.setState(p);return}if(!(V5e(o.to,u)&&o.canBegin&&o.isActive)){var h=!o.canBegin||!o.isActive;this.manager&&this.manager.stop(),this.stopJSAnimation&&this.stopJSAnimation();var m=h||c?d:o.to;if(this.state&&f){var v={style:l?Qm({},l,m):m};(l&&f[l]!==m||!l&&f!==m)&&this.setState(v)}this.runAnimation(da(da({},this.props),{},{from:m,begin:0}))}}}},{key:"componentWillUnmount",value:function(){this.mounted=!1;var o=this.props.onAnimationEnd;this.unSubscribe&&this.unSubscribe(),this.manager&&(this.manager.stop(),this.manager=null),this.stopJSAnimation&&this.stopJSAnimation(),o&&o()}},{key:"handleStyleChange",value:function(o){this.changeStyle(o)}},{key:"changeStyle",value:function(o){this.mounted&&this.setState({style:o})}},{key:"runJSAnimation",value:function(o){var i=this,a=o.from,s=o.to,l=o.duration,c=o.easing,u=o.begin,d=o.onAnimationEnd,f=o.onAnimationStart,p=C3e(a,s,d3e(c),l,this.changeStyle),h=function(){i.stopJSAnimation=p()};this.manager.start([f,u,h,l,d])}},{key:"runStepAnimation",value:function(o){var i=this,a=o.steps,s=o.begin,l=o.onAnimationStart,c=a[0],u=c.style,d=c.duration,f=d===void 0?0:d,p=function(m,v,b){if(b===0)return m;var y=v.duration,w=v.easing,C=w===void 0?"ease":w,O=v.style,P=v.properties,E=v.onAnimationEnd,T=b>0?a[b-1]:v,$=P||Object.keys(O);if(typeof C=="function"||C==="spring")return[].concat(AE(m),[i.runJSAnimation.bind(i,{from:T.style,to:O,duration:y,easing:C}),y]);var M=Sz($,y,C),D=da(da(da({},T.style),O),{},{transition:M});return[].concat(AE(m),[D,y,E]).filter(Z5e)};return this.manager.start([l].concat(AE(a.reduce(p,[u,Math.max(f,s)])),[o.onAnimationEnd]))}},{key:"runAnimation",value:function(o){this.manager||(this.manager=Y5e());var i=o.begin,a=o.duration,s=o.attributeName,l=o.to,c=o.easing,u=o.onAnimationStart,d=o.onAnimationEnd,f=o.steps,p=o.children,h=this.manager;if(this.unSubscribe=h.subscribe(this.handleStyleChange),typeof c=="function"||typeof p=="function"||c==="spring"){this.runJSAnimation(o);return}if(f.length>1){this.runStepAnimation(o);return}var m=s?Qm({},s,l):l,v=Sz(Object.keys(m),a,c);h.start([u,i,da(da({},m),{},{transition:v}),a,d])}},{key:"render",value:function(){var o=this.props,i=o.children;o.begin;var a=o.duration;o.attributeName,o.easing;var s=o.isActive;o.steps,o.from,o.to,o.canBegin,o.onAnimationEnd,o.shouldReAnimate,o.onAnimationReStart;var l=P3e(o,S3e),c=g.Children.count(i),u=this.state.style;if(typeof i=="function")return i(u);if(!s||c===0||a<=0)return i;var d=function(p){var h=p.props,m=h.style,v=m===void 0?{}:m,b=h.className,y=g.cloneElement(p,da(da({},l),{},{style:da(da({},v),u),className:b}));return y};return c===1?d(g.Children.only(i)):V.createElement("div",null,g.Children.map(i,function(f){return d(f)}))}}]),n}(g.PureComponent);ja.displayName="Animate";ja.defaultProps={begin:0,duration:1e3,from:"",to:"",attributeName:"",easing:"ease",isActive:!0,canBegin:!0,steps:[],onAnimationEnd:function(){},onAnimationStart:function(){}};ja.propTypes={from:ee.oneOfType([ee.object,ee.string]),to:ee.oneOfType([ee.object,ee.string]),attributeName:ee.string,duration:ee.number,begin:ee.number,easing:ee.oneOfType([ee.string,ee.func]),steps:ee.arrayOf(ee.shape({duration:ee.number.isRequired,style:ee.object.isRequired,easing:ee.oneOfType([ee.oneOf(["ease","ease-in","ease-out","ease-in-out","linear"]),ee.func]),properties:ee.arrayOf("string"),onAnimationEnd:ee.func})),children:ee.oneOfType([ee.node,ee.func]),isActive:ee.bool,canBegin:ee.bool,onAnimationEnd:ee.func,shouldReAnimate:ee.bool,onAnimationStart:ee.func,onAnimationReStart:ee.func};ee.object,ee.object,ee.object,ee.element;ee.object,ee.object,ee.object,ee.oneOfType([ee.array,ee.element]),ee.any;function Fv(e){"@babel/helpers - typeof";return Fv=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Fv(e)}function kw(){return kw=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0?1:-1,l=r>=0?1:-1,c=o>=0&&r>=0||o<0&&r<0?1:0,u;if(a>0&&i instanceof Array){for(var d=[0,0,0,0],f=0,p=4;fa?a:i[f];u="M".concat(t,",").concat(n+s*d[0]),d[0]>0&&(u+="A ".concat(d[0],",").concat(d[0],",0,0,").concat(c,",").concat(t+l*d[0],",").concat(n)),u+="L ".concat(t+r-l*d[1],",").concat(n),d[1]>0&&(u+="A ".concat(d[1],",").concat(d[1],",0,0,").concat(c,`, + A`).concat(i,",").concat(i,",0,").concat(+(P>180),",").concat(+(d<0),",").concat(w.x,",").concat(w.y,` + A`).concat(a,",").concat(a,",0,0,").concat(+(d<0),",").concat(x.x,",").concat(x.y,` + `);if(o>0){var E=YC({cx:n,cy:r,radius:o,angle:c,sign:d,isExternal:!0,cornerRadius:a,cornerIsExternal:l}),O=E.circleTangency,k=E.lineTangency,A=E.theta,I=YC({cx:n,cy:r,radius:o,angle:u,sign:-d,isExternal:!0,cornerRadius:a,cornerIsExternal:l}),R=I.circleTangency,N=I.lineTangency,L=I.theta,j=l?Math.abs(c-u):Math.abs(c-u)-A-L;if(j<0&&a===0)return"".concat(T,"L").concat(n,",").concat(r,"Z");T+="L".concat(N.x,",").concat(N.y,` + A`).concat(a,",").concat(a,",0,0,").concat(+(d<0),",").concat(R.x,",").concat(R.y,` + A`).concat(o,",").concat(o,",0,").concat(+(j>180),",").concat(+(d>0),",").concat(O.x,",").concat(O.y,` + A`).concat(a,",").concat(a,",0,0,").concat(+(d<0),",").concat(k.x,",").concat(k.y,"Z")}else T+="L".concat(n,",").concat(r,"Z");return T},AYe={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},xre=function(t){var n=xG(xG({},AYe),t),r=n.cx,o=n.cy,i=n.innerRadius,a=n.outerRadius,s=n.cornerRadius,l=n.forceCornerRadius,c=n.cornerIsExternal,u=n.startAngle,d=n.endAngle,f=n.className;if(a0&&Math.abs(u-d)<360?v=MYe({cx:r,cy:o,innerRadius:i,outerRadius:a,cornerRadius:Math.min(g,m/2),forceCornerRadius:l,cornerIsExternal:c,startAngle:u,endAngle:d}):v=wre({cx:r,cy:o,innerRadius:i,outerRadius:a,startAngle:u,endAngle:d}),Y.createElement("path",OD({},$t(n,!0),{className:p,d:v,role:"img"}))};function Ox(e){"@babel/helpers - typeof";return Ox=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ox(e)}function ID(){return ID=Object.assign?Object.assign.bind():function(e){for(var t=1;t0;)if(!n.equals(e[r],t[r],r,r,e,t,n))return!1;return!0}function zYe(e,t){return sb(e.getTime(),t.getTime())}function kG(e,t,n){if(e.size!==t.size)return!1;for(var r={},o=e.entries(),i=0,a,s;(a=o.next())&&!a.done;){for(var l=t.entries(),c=!1,u=0;(s=l.next())&&!s.done;){var d=a.value,f=d[0],p=d[1],m=s.value,g=m[0],v=m[1];!c&&!r[u]&&(c=n.equals(f,g,i,u,e,t,n)&&n.equals(p,v,f,g,e,t,n))&&(r[u]=!0),u++}if(!c)return!1;i++}return!0}function VYe(e,t,n){var r=IG(e),o=r.length;if(IG(t).length!==o)return!1;for(var i;o-- >0;)if(i=r[o],i===Cre&&(e.$$typeof||t.$$typeof)&&e.$$typeof!==t.$$typeof||!Sre(t,i)||!n.equals(e[i],t[i],i,i,e,t,n))return!1;return!0}function b0(e,t,n){var r=EG(e),o=r.length;if(EG(t).length!==o)return!1;for(var i,a,s;o-- >0;)if(i=r[o],i===Cre&&(e.$$typeof||t.$$typeof)&&e.$$typeof!==t.$$typeof||!Sre(t,i)||!n.equals(e[i],t[i],i,i,e,t,n)||(a=OG(e,i),s=OG(t,i),(a||s)&&(!a||!s||a.configurable!==s.configurable||a.enumerable!==s.enumerable||a.writable!==s.writable)))return!1;return!0}function HYe(e,t){return sb(e.valueOf(),t.valueOf())}function UYe(e,t){return e.source===t.source&&e.flags===t.flags}function MG(e,t,n){if(e.size!==t.size)return!1;for(var r={},o=e.values(),i,a;(i=o.next())&&!i.done;){for(var s=t.values(),l=!1,c=0;(a=s.next())&&!a.done;)!l&&!r[c]&&(l=n.equals(i.value,a.value,i.value,a.value,e,t,n))&&(r[c]=!0),c++;if(!l)return!1}return!0}function WYe(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 GYe="[object Arguments]",qYe="[object Boolean]",KYe="[object Date]",YYe="[object Map]",XYe="[object Number]",QYe="[object Object]",JYe="[object RegExp]",ZYe="[object Set]",eXe="[object String]",tXe=Array.isArray,AG=typeof ArrayBuffer=="function"&&ArrayBuffer.isView?ArrayBuffer.isView:null,$G=Object.assign,nXe=Object.prototype.toString.call.bind(Object.prototype.toString);function rXe(e){var t=e.areArraysEqual,n=e.areDatesEqual,r=e.areMapsEqual,o=e.areObjectsEqual,i=e.arePrimitiveWrappersEqual,a=e.areRegExpsEqual,s=e.areSetsEqual,l=e.areTypedArraysEqual;return function(u,d,f){if(u===d)return!0;if(u==null||d==null||typeof u!="object"||typeof d!="object")return u!==u&&d!==d;var p=u.constructor;if(p!==d.constructor)return!1;if(p===Object)return o(u,d,f);if(tXe(u))return t(u,d,f);if(AG!=null&&AG(u))return l(u,d,f);if(p===Date)return n(u,d,f);if(p===RegExp)return a(u,d,f);if(p===Map)return r(u,d,f);if(p===Set)return s(u,d,f);var m=nXe(u);return m===KYe?n(u,d,f):m===JYe?a(u,d,f):m===YYe?r(u,d,f):m===ZYe?s(u,d,f):m===QYe?typeof u.then!="function"&&typeof d.then!="function"&&o(u,d,f):m===GYe?o(u,d,f):m===qYe||m===XYe||m===eXe?i(u,d,f):!1}}function oXe(e){var t=e.circular,n=e.createCustomConfig,r=e.strict,o={areArraysEqual:r?b0:BYe,areDatesEqual:zYe,areMapsEqual:r?TG(kG,b0):kG,areObjectsEqual:r?b0:VYe,arePrimitiveWrappersEqual:HYe,areRegExpsEqual:UYe,areSetsEqual:r?TG(MG,b0):MG,areTypedArraysEqual:r?b0:WYe};if(n&&(o=$G({},o,n(o))),t){var i=QC(o.areArraysEqual),a=QC(o.areMapsEqual),s=QC(o.areObjectsEqual),l=QC(o.areSetsEqual);o=$G({},o,{areArraysEqual:i,areMapsEqual:a,areObjectsEqual:s,areSetsEqual:l})}return o}function iXe(e){return function(t,n,r,o,i,a,s){return e(t,n,s)}}function aXe(e){var t=e.circular,n=e.comparator,r=e.createState,o=e.equals,i=e.strict;if(r)return function(l,c){var u=r(),d=u.cache,f=d===void 0?t?new WeakMap:void 0:d,p=u.meta;return n(l,c,{cache:f,equals:o,meta:p,strict:i})};if(t)return function(l,c){return n(l,c,{cache:new WeakMap,equals:o,meta:void 0,strict:i})};var a={cache:void 0,equals:o,meta:void 0,strict:i};return function(l,c){return n(l,c,a)}}var sXe=Zf();Zf({strict:!0});Zf({circular:!0});Zf({circular:!0,strict:!0});Zf({createInternalComparator:function(){return sb}});Zf({strict:!0,createInternalComparator:function(){return sb}});Zf({circular:!0,createInternalComparator:function(){return sb}});Zf({circular:!0,createInternalComparator:function(){return sb},strict:!0});function Zf(e){e===void 0&&(e={});var t=e.circular,n=t===void 0?!1:t,r=e.createInternalComparator,o=e.createState,i=e.strict,a=i===void 0?!1:i,s=oXe(e),l=rXe(s),c=r?r(l):iXe(l);return aXe({circular:n,comparator:l,createState:o,equals:c,strict:a})}function lXe(e){typeof requestAnimationFrame<"u"&&requestAnimationFrame(e)}function RG(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=-1,r=function o(i){n<0&&(n=i),i-n>t?(e(i),n=-1):lXe(o)};requestAnimationFrame(r)}function kD(e){"@babel/helpers - typeof";return kD=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},kD(e)}function cXe(e){return pXe(e)||fXe(e)||dXe(e)||uXe()}function uXe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function dXe(e,t){if(e){if(typeof e=="string")return _G(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _G(e,t)}}function _G(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n1?1:w<0?0:w},g=function(w){for(var x=w>1?1:w,S=x,P=0;P<8;++P){var T=d(S)-x,E=p(S);if(Math.abs(T-x)0&&arguments[0]!==void 0?arguments[0]:{},n=t.stiff,r=n===void 0?100:n,o=t.damping,i=o===void 0?8:o,a=t.dt,s=a===void 0?17:a,l=function(u,d,f){var p=-(u-d)*r,m=f*i,g=f+(p-m)*s/1e3,v=f*s/1e3+u;return Math.abs(v-d)e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function UXe(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}function eR(e){return KXe(e)||qXe(e)||GXe(e)||WXe()}function WXe(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function GXe(e,t){if(e){if(typeof e=="string")return _D(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _D(e,t)}}function qXe(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function KXe(e){if(Array.isArray(e))return _D(e)}function _D(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function kE(e){return kE=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},kE(e)}var ul=function(e){ZXe(n,e);var t=eQe(n);function n(r,o){var i;YXe(this,n),i=t.call(this,r,o);var a=i.props,s=a.isActive,l=a.attributeName,c=a.from,u=a.to,d=a.steps,f=a.children,p=a.duration;if(i.handleStyleChange=i.handleStyleChange.bind(LD(i)),i.changeStyle=i.changeStyle.bind(LD(i)),!s||p<=0)return i.state={style:{}},typeof f=="function"&&(i.state={style:u}),ND(i);if(d&&d.length)i.state={style:d[0].style};else if(c){if(typeof f=="function")return i.state={style:c},ND(i);i.state={style:l?U0({},l,c):c}}else i.state={style:{}};return i}return QXe(n,[{key:"componentDidMount",value:function(){var o=this.props,i=o.isActive,a=o.canBegin;this.mounted=!0,!(!i||!a)&&this.runAnimation(this.props)}},{key:"componentDidUpdate",value:function(o){var i=this.props,a=i.isActive,s=i.canBegin,l=i.attributeName,c=i.shouldReAnimate,u=i.to,d=i.from,f=this.state.style;if(s){if(!a){var p={style:l?U0({},l,u):u};this.state&&f&&(l&&f[l]!==u||!l&&f!==u)&&this.setState(p);return}if(!(sXe(o.to,u)&&o.canBegin&&o.isActive)){var m=!o.canBegin||!o.isActive;this.manager&&this.manager.stop(),this.stopJSAnimation&&this.stopJSAnimation();var g=m||c?d:o.to;if(this.state&&f){var v={style:l?U0({},l,g):g};(l&&f[l]!==g||!l&&f!==g)&&this.setState(v)}this.runAnimation(Il(Il({},this.props),{},{from:g,begin:0}))}}}},{key:"componentWillUnmount",value:function(){this.mounted=!1;var o=this.props.onAnimationEnd;this.unSubscribe&&this.unSubscribe(),this.manager&&(this.manager.stop(),this.manager=null),this.stopJSAnimation&&this.stopJSAnimation(),o&&o()}},{key:"handleStyleChange",value:function(o){this.changeStyle(o)}},{key:"changeStyle",value:function(o){this.mounted&&this.setState({style:o})}},{key:"runJSAnimation",value:function(o){var i=this,a=o.from,s=o.to,l=o.duration,c=o.easing,u=o.begin,d=o.onAnimationEnd,f=o.onAnimationStart,p=zXe(a,s,MXe(c),l,this.changeStyle),m=function(){i.stopJSAnimation=p()};this.manager.start([f,u,m,l,d])}},{key:"runStepAnimation",value:function(o){var i=this,a=o.steps,s=o.begin,l=o.onAnimationStart,c=a[0],u=c.style,d=c.duration,f=d===void 0?0:d,p=function(g,v,w){if(w===0)return g;var x=v.duration,S=v.easing,P=S===void 0?"ease":S,T=v.style,E=v.properties,O=v.onAnimationEnd,k=w>0?a[w-1]:v,A=E||Object.keys(T);if(typeof P=="function"||P==="spring")return[].concat(eR(g),[i.runJSAnimation.bind(i,{from:k.style,to:T,duration:x,easing:P}),x]);var I=LG(A,x,P),R=Il(Il(Il({},k.style),T),{},{transition:I});return[].concat(eR(g),[R,x,O]).filter(vXe)};return this.manager.start([l].concat(eR(a.reduce(p,[u,Math.max(f,s)])),[o.onAnimationEnd]))}},{key:"runAnimation",value:function(o){this.manager||(this.manager=hXe());var i=o.begin,a=o.duration,s=o.attributeName,l=o.to,c=o.easing,u=o.onAnimationStart,d=o.onAnimationEnd,f=o.steps,p=o.children,m=this.manager;if(this.unSubscribe=m.subscribe(this.handleStyleChange),typeof c=="function"||typeof p=="function"||c==="spring"){this.runJSAnimation(o);return}if(f.length>1){this.runStepAnimation(o);return}var g=s?U0({},s,l):l,v=LG(Object.keys(g),a,c);m.start([u,i,Il(Il({},g),{},{transition:v}),a,d])}},{key:"render",value:function(){var o=this.props,i=o.children;o.begin;var a=o.duration;o.attributeName,o.easing;var s=o.isActive;o.steps,o.from,o.to,o.canBegin,o.onAnimationEnd,o.shouldReAnimate,o.onAnimationReStart;var l=HXe(o,VXe),c=y.Children.count(i),u=this.state.style;if(typeof i=="function")return i(u);if(!s||c===0||a<=0)return i;var d=function(p){var m=p.props,g=m.style,v=g===void 0?{}:g,w=m.className,x=y.cloneElement(p,Il(Il({},l),{},{style:Il(Il({},v),u),className:w}));return x};return c===1?d(y.Children.only(i)):Y.createElement("div",null,y.Children.map(i,function(f){return d(f)}))}}]),n}(y.PureComponent);ul.displayName="Animate";ul.defaultProps={begin:0,duration:1e3,from:"",to:"",attributeName:"",easing:"ease",isActive:!0,canBegin:!0,steps:[],onAnimationEnd:function(){},onAnimationStart:function(){}};ul.propTypes={from:B.oneOfType([B.object,B.string]),to:B.oneOfType([B.object,B.string]),attributeName:B.string,duration:B.number,begin:B.number,easing:B.oneOfType([B.string,B.func]),steps:B.arrayOf(B.shape({duration:B.number.isRequired,style:B.object.isRequired,easing:B.oneOfType([B.oneOf(["ease","ease-in","ease-out","ease-in-out","linear"]),B.func]),properties:B.arrayOf("string"),onAnimationEnd:B.func})),children:B.oneOfType([B.node,B.func]),isActive:B.bool,canBegin:B.bool,onAnimationEnd:B.func,shouldReAnimate:B.bool,onAnimationStart:B.func,onAnimationReStart:B.func};B.object,B.object,B.object,B.element;B.object,B.object,B.object,B.oneOfType([B.array,B.element]),B.any;function Mx(e){"@babel/helpers - typeof";return Mx=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Mx(e)}function ME(){return ME=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0?1:-1,l=r>=0?1:-1,c=o>=0&&r>=0||o<0&&r<0?1:0,u;if(a>0&&i instanceof Array){for(var d=[0,0,0,0],f=0,p=4;fa?a:i[f];u="M".concat(t,",").concat(n+s*d[0]),d[0]>0&&(u+="A ".concat(d[0],",").concat(d[0],",0,0,").concat(c,",").concat(t+l*d[0],",").concat(n)),u+="L ".concat(t+r-l*d[1],",").concat(n),d[1]>0&&(u+="A ".concat(d[1],",").concat(d[1],",0,0,").concat(c,`, `).concat(t+r,",").concat(n+s*d[1])),u+="L ".concat(t+r,",").concat(n+o-s*d[2]),d[2]>0&&(u+="A ".concat(d[2],",").concat(d[2],",0,0,").concat(c,`, `).concat(t+r-l*d[2],",").concat(n+o)),u+="L ".concat(t+l*d[3],",").concat(n+o),d[3]>0&&(u+="A ".concat(d[3],",").concat(d[3],",0,0,").concat(c,`, - `).concat(t,",").concat(n+o-s*d[3])),u+="Z"}else if(a>0&&i===+i&&i>0){var h=Math.min(a,i);u="M ".concat(t,",").concat(n+s*h,` - A `).concat(h,",").concat(h,",0,0,").concat(c,",").concat(t+l*h,",").concat(n,` - L `).concat(t+r-l*h,",").concat(n,` - A `).concat(h,",").concat(h,",0,0,").concat(c,",").concat(t+r,",").concat(n+s*h,` - L `).concat(t+r,",").concat(n+o-s*h,` - A `).concat(h,",").concat(h,",0,0,").concat(c,",").concat(t+r-l*h,",").concat(n+o,` - L `).concat(t+l*h,",").concat(n+o,` - A `).concat(h,",").concat(h,",0,0,").concat(c,",").concat(t,",").concat(n+o-s*h," Z")}else u="M ".concat(t,",").concat(n," h ").concat(r," v ").concat(o," h ").concat(-r," Z");return u},W3e=function(t,n){if(!t||!n)return!1;var r=t.x,o=t.y,i=n.x,a=n.y,s=n.width,l=n.height;if(Math.abs(s)>0&&Math.abs(l)>0){var c=Math.min(i,i+s),u=Math.max(i,i+s),d=Math.min(a,a+l),f=Math.max(a,a+l);return r>=c&&r<=u&&o>=d&&o<=f}return!1},G3e={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},LR=function(t){var n=Mz(Mz({},G3e),t),r=g.useRef(),o=g.useState(-1),i=L3e(o,2),a=i[0],s=i[1];g.useEffect(function(){if(r.current&&r.current.getTotalLength)try{var C=r.current.getTotalLength();C&&s(C)}catch{}},[]);var l=n.x,c=n.y,u=n.width,d=n.height,f=n.radius,p=n.className,h=n.animationEasing,m=n.animationDuration,v=n.animationBegin,b=n.isAnimationActive,y=n.isUpdateAnimationActive;if(l!==+l||c!==+c||u!==+u||d!==+d||u===0||d===0)return null;var w=Q("recharts-rectangle",p);return y?V.createElement(ja,{canBegin:a>0,from:{width:u,height:d,x:l,y:c},to:{width:u,height:d,x:l,y:c},duration:m,animationEasing:h,isActive:y},function(C){var O=C.width,P=C.height,E=C.x,T=C.y;return V.createElement(ja,{canBegin:a>0,from:"0px ".concat(a===-1?1:a,"px"),to:"".concat(a,"px 0px"),attributeName:"strokeDasharray",begin:v,duration:m,isActive:b,easing:h},V.createElement("path",kw({},ot(n,!0),{className:w,d:Az(E,T,O,P,f),ref:r})))}):V.createElement("path",kw({},ot(n,!0),{className:w,d:Az(l,c,u,d,f)}))},q3e=["points","className","baseLinePoints","connectNulls"];function _f(){return _f=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Y3e(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}function Rz(e){return Z3e(e)||J3e(e)||X3e(e)||Q3e()}function Q3e(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function X3e(e,t){if(e){if(typeof e=="string")return Yk(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Yk(e,t)}}function J3e(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Z3e(e){if(Array.isArray(e))return Yk(e)}function Yk(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&arguments[0]!==void 0?arguments[0]:[],n=[[]];return t.forEach(function(r){_z(r)?n[n.length-1].push(r):n[n.length-1].length>0&&n.push([])}),_z(t[0])&&n[n.length-1].push(t[0]),n[n.length-1].length<=0&&(n=n.slice(0,-1)),n},Eg=function(t,n){var r=e4e(t);n&&(r=[r.reduce(function(i,a){return[].concat(Rz(i),Rz(a))},[])]);var o=r.map(function(i){return i.reduce(function(a,s,l){return"".concat(a).concat(l===0?"M":"L").concat(s.x,",").concat(s.y)},"")}).join("");return r.length===1?"".concat(o,"Z"):o},t4e=function(t,n,r){var o=Eg(t,r);return"".concat(o.slice(-1)==="Z"?o.slice(0,-1):o,"L").concat(Eg(n.reverse(),r).slice(1))},n4e=function(t){var n=t.points,r=t.className,o=t.baseLinePoints,i=t.connectNulls,a=K3e(t,q3e);if(!n||!n.length)return null;var s=Q("recharts-polygon",r);if(o&&o.length){var l=a.stroke&&a.stroke!=="none",c=t4e(n,o,i);return V.createElement("g",{className:s},V.createElement("path",_f({},ot(a,!0),{fill:c.slice(-1)==="Z"?a.fill:"none",stroke:"none",d:c})),l?V.createElement("path",_f({},ot(a,!0),{fill:"none",d:Eg(n,i)})):null,l?V.createElement("path",_f({},ot(a,!0),{fill:"none",d:Eg(o,i)})):null)}var u=Eg(n,i);return V.createElement("path",_f({},ot(a,!0),{fill:u.slice(-1)==="Z"?a.fill:"none",className:s,d:u}))};function Qk(){return Qk=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function c4e(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}var u4e=function(t,n,r,o,i,a){return"M".concat(t,",").concat(i,"v").concat(o,"M").concat(a,",").concat(n,"h").concat(r)},d4e=function(t){var n=t.x,r=n===void 0?0:n,o=t.y,i=o===void 0?0:o,a=t.top,s=a===void 0?0:a,l=t.left,c=l===void 0?0:l,u=t.width,d=u===void 0?0:u,f=t.height,p=f===void 0?0:f,h=t.className,m=l4e(t,r4e),v=o4e({x:r,y:i,top:s,left:c,width:d,height:p},m);return!Ne(r)||!Ne(i)||!Ne(d)||!Ne(p)||!Ne(s)||!Ne(c)?null:V.createElement("path",Xk({},ot(v,!0),{className:Q("recharts-cross",h),d:u4e(r,i,d,p,s,c)}))},f4e=yS,p4e=M7,h4e=Ts;function m4e(e,t){return e&&e.length?f4e(e,h4e(t),p4e):void 0}var g4e=m4e;const v4e=Ht(g4e);var y4e=yS,b4e=Ts,x4e=A7;function w4e(e,t){return e&&e.length?y4e(e,b4e(t),x4e):void 0}var C4e=w4e;const S4e=Ht(C4e);var P4e=["cx","cy","angle","ticks","axisLine"],E4e=["ticks","tick","angle","tickFormatter","stroke"];function Np(e){"@babel/helpers - typeof";return Np=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Np(e)}function Og(){return Og=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function O4e(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}function T4e(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function jz(e,t){for(var n=0;nzz?a=o==="outer"?"start":"end":i<-zz?a=o==="outer"?"end":"start":a="middle",a}},{key:"renderAxisLine",value:function(){var r=this.props,o=r.cx,i=r.cy,a=r.radius,s=r.axisLine,l=r.axisLineType,c=ru(ru({},ot(this.props,!1)),{},{fill:"none"},ot(s,!1));if(l==="circle")return V.createElement(SS,vu({className:"recharts-polar-angle-axis-line"},c,{cx:o,cy:i,r:a}));var u=this.props.ticks,d=u.map(function(f){return xn(o,i,a,f.coordinate)});return V.createElement(n4e,vu({className:"recharts-polar-angle-axis-line"},c,{points:d}))}},{key:"renderTicks",value:function(){var r=this,o=this.props,i=o.ticks,a=o.tick,s=o.tickLine,l=o.tickFormatter,c=o.stroke,u=ot(this.props,!1),d=ot(a,!1),f=ru(ru({},u),{},{fill:"none"},ot(s,!1)),p=i.map(function(h,m){var v=r.getTickLineCoord(h),b=r.getTickTextAnchor(h),y=ru(ru(ru({textAnchor:b},u),{},{stroke:"none",fill:c},d),{},{index:m,payload:h,x:v.x2,y:v.y2});return V.createElement(At,vu({className:Q("recharts-polar-angle-axis-tick",rq(a)),key:"tick-".concat(h.coordinate)},Ic(r.props,h,m)),s&&V.createElement("line",vu({className:"recharts-polar-angle-axis-tick-line"},f,v)),a&&t.renderTickItem(a,y,l?l(h.value,m):h.value))});return V.createElement(At,{className:"recharts-polar-angle-axis-ticks"},p)}},{key:"render",value:function(){var r=this.props,o=r.ticks,i=r.radius,a=r.axisLine;return i<=0||!o||!o.length?null:V.createElement(At,{className:Q("recharts-polar-angle-axis",this.props.className)},a&&this.renderAxisLine(),this.renderTicks())}}],[{key:"renderTickItem",value:function(r,o,i){var a;return V.isValidElement(r)?a=V.cloneElement(r,o):ft(r)?a=r(o):a=V.createElement(od,vu({},o,{className:"recharts-polar-angle-axis-tick-value"}),i),a}}]),t}(g.PureComponent);OS(TS,"displayName","PolarAngleAxis");OS(TS,"axisType","angleAxis");OS(TS,"defaultProps",{type:"category",angleAxisId:0,scale:"auto",cx:0,cy:0,orientation:"outer",axisLine:!0,tickLine:!0,tickSize:8,tick:!0,hide:!1,allowDuplicatedCategory:!0});var V4e=T9,H4e=V4e(Object.getPrototypeOf,Object),U4e=H4e,W4e=Ol,G4e=U4e,q4e=Tl,K4e="[object Object]",Y4e=Function.prototype,Q4e=Object.prototype,bq=Y4e.toString,X4e=Q4e.hasOwnProperty,J4e=bq.call(Object);function Z4e(e){if(!q4e(e)||W4e(e)!=K4e)return!1;var t=G4e(e);if(t===null)return!0;var n=X4e.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&bq.call(n)==J4e}var eVe=Z4e;const tVe=Ht(eVe);var nVe=Ol,rVe=Tl,oVe="[object Boolean]";function iVe(e){return e===!0||e===!1||rVe(e)&&nVe(e)==oVe}var aVe=iVe;const sVe=Ht(aVe);function zv(e){"@babel/helpers - typeof";return zv=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},zv(e)}function Mw(){return Mw=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n0,from:{upperWidth:0,lowerWidth:0,height:f,x:l,y:c},to:{upperWidth:u,lowerWidth:d,height:f,x:l,y:c},duration:m,animationEasing:h,isActive:b},function(w){var C=w.upperWidth,O=w.lowerWidth,P=w.height,E=w.x,T=w.y;return V.createElement(ja,{canBegin:a>0,from:"0px ".concat(a===-1?1:a,"px"),to:"".concat(a,"px 0px"),attributeName:"strokeDasharray",begin:v,duration:m,easing:h},V.createElement("path",Mw({},ot(n,!0),{className:y,d:Wz(E,T,C,O,P),ref:r})))}):V.createElement("g",null,V.createElement("path",Mw({},ot(n,!0),{className:y,d:Wz(l,c,u,d,f)})))},yVe=["option","shapeType","propTransformer","activeClassName","isActive"];function Vv(e){"@babel/helpers - typeof";return Vv=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Vv(e)}function bVe(e,t){if(e==null)return{};var n=xVe(e,t),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function xVe(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}function Gz(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function Aw(e){for(var t=1;t0?ii(w,"paddingAngle",0):0;if(O){var E=Rr(O.endAngle-O.startAngle,w.endAngle-w.startAngle),T=Mn(Mn({},w),{},{startAngle:y+P,endAngle:y+E(m)+P});v.push(T),y=T.endAngle}else{var $=w.endAngle,M=w.startAngle,D=Rr(0,$-M),L=D(m),N=Mn(Mn({},w),{},{startAngle:y+P,endAngle:y+L+P});v.push(N),y=N.endAngle}}),V.createElement(At,null,r.renderSectorsStatically(v))})}},{key:"attachKeyboardHandlers",value:function(r){var o=this;r.onkeydown=function(i){if(!i.altKey)switch(i.key){case"ArrowLeft":{var a=++o.state.sectorToFocus%o.sectorRefs.length;o.sectorRefs[a].focus(),o.setState({sectorToFocus:a});break}case"ArrowRight":{var s=--o.state.sectorToFocus<0?o.sectorRefs.length-1:o.state.sectorToFocus%o.sectorRefs.length;o.sectorRefs[s].focus(),o.setState({sectorToFocus:s});break}case"Escape":{o.sectorRefs[o.state.sectorToFocus].blur(),o.setState({sectorToFocus:0});break}}}}},{key:"renderSectors",value:function(){var r=this.props,o=r.sectors,i=r.isAnimationActive,a=this.state.prevSectors;return i&&o&&o.length&&(!a||!_h(a,o))?this.renderSectorsWithAnimation():this.renderSectorsStatically(o)}},{key:"componentDidMount",value:function(){this.pieRef&&this.attachKeyboardHandlers(this.pieRef)}},{key:"render",value:function(){var r=this,o=this.props,i=o.hide,a=o.sectors,s=o.className,l=o.label,c=o.cx,u=o.cy,d=o.innerRadius,f=o.outerRadius,p=o.isAnimationActive,h=this.state.isAnimationFinished;if(i||!a||!a.length||!Ne(c)||!Ne(u)||!Ne(d)||!Ne(f))return null;var m=Q("recharts-pie",s);return V.createElement(At,{tabIndex:this.props.rootTabIndex,className:m,ref:function(b){r.pieRef=b}},this.renderSectors(),l&&this.renderLabels(a),Pr.renderCallByParent(this.props,null,!1),(!p||h)&&fs.renderCallByParent(this.props,a,!1))}}],[{key:"getDerivedStateFromProps",value:function(r,o){return o.prevIsAnimationActive!==r.isAnimationActive?{prevIsAnimationActive:r.isAnimationActive,prevAnimationId:r.animationId,curSectors:r.sectors,prevSectors:[],isAnimationFinished:!0}:r.isAnimationActive&&r.animationId!==o.prevAnimationId?{prevAnimationId:r.animationId,curSectors:r.sectors,prevSectors:o.curSectors,isAnimationFinished:!0}:r.sectors!==o.curSectors?{curSectors:r.sectors,isAnimationFinished:!0}:null}},{key:"getTextAnchor",value:function(r,o){return r>o?"start":r=360?y:y-1)*l,C=v-y*p-w,O=r.reduce(function(T,$){var M=Ln($,b,0);return T+(Ne(M)?M:0)},0),P;if(O>0){var E;P=r.map(function(T,$){var M=Ln(T,b,0),D=Ln(T,u,$),L=(Ne(M)?M:0)/O,N;$?N=E.endAngle+ao(m)*l*(M!==0?1:0):N=a;var R=N+ao(m)*((M!==0?p:0)+L*C),I=(N+R)/2,A=(h.innerRadius+h.outerRadius)/2,F=[{name:D,value:M,payload:T,dataKey:b,type:f}],_=xn(h.cx,h.cy,A,I);return E=Mn(Mn(Mn({percent:L,cornerRadius:i,name:D,tooltipPayload:F,midAngle:I,middleRadius:A,tooltipPosition:_},T),h),{},{value:Ln(T,b),startAngle:N,endAngle:R,payload:T,paddingAngle:ao(m)*l}),E})}return Mn(Mn({},h),{},{sectors:P,data:r})});var BVe=Math.ceil,zVe=Math.max;function VVe(e,t,n,r){for(var o=-1,i=zVe(BVe((t-e)/(n||1)),0),a=Array(i);i--;)a[r?i:++o]=e,e+=n;return a}var HVe=VVe,UVe=q9,Qz=1/0,WVe=17976931348623157e292;function GVe(e){if(!e)return e===0?e:0;if(e=UVe(e),e===Qz||e===-Qz){var t=e<0?-1:1;return t*WVe}return e===e?e:0}var Cq=GVe,qVe=HVe,KVe=uS,RE=Cq;function YVe(e){return function(t,n,r){return r&&typeof r!="number"&&KVe(t,n,r)&&(n=r=void 0),t=RE(t),n===void 0?(n=t,t=0):n=RE(n),r=r===void 0?t0&&r.handleDrag(o.changedTouches[0])}),Ho(Ka(r),"handleDragEnd",function(){r.setState({isTravellerMoving:!1,isSlideMoving:!1},function(){var o=r.props,i=o.endIndex,a=o.onDragEnd,s=o.startIndex;a==null||a({endIndex:i,startIndex:s})}),r.detachDragEndListener()}),Ho(Ka(r),"handleLeaveWrapper",function(){(r.state.isTravellerMoving||r.state.isSlideMoving)&&(r.leaveTimer=window.setTimeout(r.handleDragEnd,r.props.leaveTimeOut))}),Ho(Ka(r),"handleEnterSlideOrTraveller",function(){r.setState({isTextActive:!0})}),Ho(Ka(r),"handleLeaveSlideOrTraveller",function(){r.setState({isTextActive:!1})}),Ho(Ka(r),"handleSlideDragStart",function(o){var i=t5(o)?o.changedTouches[0]:o;r.setState({isTravellerMoving:!1,isSlideMoving:!0,slideMoveStartX:i.pageX}),r.attachDragEndListener()}),r.travellerDragStartHandlers={startX:r.handleTravellerDragStart.bind(Ka(r),"startX"),endX:r.handleTravellerDragStart.bind(Ka(r),"endX")},r.state={},r}return iHe(t,[{key:"componentWillUnmount",value:function(){this.leaveTimer&&(clearTimeout(this.leaveTimer),this.leaveTimer=null),this.detachDragEndListener()}},{key:"getIndex",value:function(r){var o=r.startX,i=r.endX,a=this.state.scaleValues,s=this.props,l=s.gap,c=s.data,u=c.length-1,d=Math.min(o,i),f=Math.max(o,i),p=t.getIndexInRange(a,d),h=t.getIndexInRange(a,f);return{startIndex:p-p%l,endIndex:h===u?u:h-h%l}}},{key:"getTextOfTick",value:function(r){var o=this.props,i=o.data,a=o.tickFormatter,s=o.dataKey,l=Ln(i[r],s,r);return ft(a)?a(l,r):l}},{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(r){var o=this.state,i=o.slideMoveStartX,a=o.startX,s=o.endX,l=this.props,c=l.x,u=l.width,d=l.travellerWidth,f=l.startIndex,p=l.endIndex,h=l.onChange,m=r.pageX-i;m>0?m=Math.min(m,c+u-d-s,c+u-d-a):m<0&&(m=Math.max(m,c-a,c-s));var v=this.getIndex({startX:a+m,endX:s+m});(v.startIndex!==f||v.endIndex!==p)&&h&&h(v),this.setState({startX:a+m,endX:s+m,slideMoveStartX:r.pageX})}},{key:"handleTravellerDragStart",value:function(r,o){var i=t5(o)?o.changedTouches[0]:o;this.setState({isSlideMoving:!1,isTravellerMoving:!0,movingTravellerId:r,brushMoveStartX:i.pageX}),this.attachDragEndListener()}},{key:"handleTravellerMove",value:function(r){var o=this.state,i=o.brushMoveStartX,a=o.movingTravellerId,s=o.endX,l=o.startX,c=this.state[a],u=this.props,d=u.x,f=u.width,p=u.travellerWidth,h=u.onChange,m=u.gap,v=u.data,b={startX:this.state.startX,endX:this.state.endX},y=r.pageX-i;y>0?y=Math.min(y,d+f-p-c):y<0&&(y=Math.max(y,d-c)),b[a]=c+y;var w=this.getIndex(b),C=w.startIndex,O=w.endIndex,P=function(){var T=v.length-1;return a==="startX"&&(s>l?C%m===0:O%m===0)||sl?O%m===0:C%m===0)||s>l&&O===T};this.setState(Ho(Ho({},a,c+y),"brushMoveStartX",r.pageX),function(){h&&P()&&h(w)})}},{key:"handleTravellerMoveKeyboard",value:function(r,o){var i=this,a=this.state,s=a.scaleValues,l=a.startX,c=a.endX,u=this.state[o],d=s.indexOf(u);if(d!==-1){var f=d+r;if(!(f===-1||f>=s.length)){var p=s[f];o==="startX"&&p>=c||o==="endX"&&p<=l||this.setState(Ho({},o,p),function(){i.props.onChange(i.getIndex({startX:i.state.startX,endX:i.state.endX}))})}}}},{key:"renderBackground",value:function(){var r=this.props,o=r.x,i=r.y,a=r.width,s=r.height,l=r.fill,c=r.stroke;return V.createElement("rect",{stroke:c,fill:l,x:o,y:i,width:a,height:s})}},{key:"renderPanorama",value:function(){var r=this.props,o=r.x,i=r.y,a=r.width,s=r.height,l=r.data,c=r.children,u=r.padding,d=g.Children.only(c);return d?V.cloneElement(d,{x:o,y:i,width:a,height:s,margin:u,compact:!0,data:l}):null}},{key:"renderTravellerLayer",value:function(r,o){var i,a,s=this,l=this.props,c=l.y,u=l.travellerWidth,d=l.height,f=l.traveller,p=l.ariaLabel,h=l.data,m=l.startIndex,v=l.endIndex,b=Math.max(r,this.props.x),y=_E(_E({},ot(this.props,!1)),{},{x:b,y:c,width:u,height:d}),w=p||"Min value: ".concat((i=h[m])===null||i===void 0?void 0:i.name,", Max value: ").concat((a=h[v])===null||a===void 0?void 0:a.name);return V.createElement(At,{tabIndex:0,role:"slider","aria-label":w,"aria-valuenow":r,className:"recharts-brush-traveller",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.travellerDragStartHandlers[o],onTouchStart:this.travellerDragStartHandlers[o],onKeyDown:function(O){["ArrowLeft","ArrowRight"].includes(O.key)&&(O.preventDefault(),O.stopPropagation(),s.handleTravellerMoveKeyboard(O.key==="ArrowRight"?1:-1,o))},onFocus:function(){s.setState({isTravellerFocused:!0})},onBlur:function(){s.setState({isTravellerFocused:!1})},style:{cursor:"col-resize"}},t.renderTraveller(f,y))}},{key:"renderSlide",value:function(r,o){var i=this.props,a=i.y,s=i.height,l=i.stroke,c=i.travellerWidth,u=Math.min(r,o)+c,d=Math.max(Math.abs(o-r)-c,0);return V.createElement("rect",{className:"recharts-brush-slide",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.handleSlideDragStart,onTouchStart:this.handleSlideDragStart,style:{cursor:"move"},stroke:"none",fill:l,fillOpacity:.2,x:u,y:a,width:d,height:s})}},{key:"renderText",value:function(){var r=this.props,o=r.startIndex,i=r.endIndex,a=r.y,s=r.height,l=r.travellerWidth,c=r.stroke,u=this.state,d=u.startX,f=u.endX,p=5,h={pointerEvents:"none",fill:c};return V.createElement(At,{className:"recharts-brush-texts"},V.createElement(od,Nw({textAnchor:"end",verticalAnchor:"middle",x:Math.min(d,f)-p,y:a+s/2},h),this.getTextOfTick(o)),V.createElement(od,Nw({textAnchor:"start",verticalAnchor:"middle",x:Math.max(d,f)+l+p,y:a+s/2},h),this.getTextOfTick(i)))}},{key:"render",value:function(){var r=this.props,o=r.data,i=r.className,a=r.children,s=r.x,l=r.y,c=r.width,u=r.height,d=r.alwaysShowText,f=this.state,p=f.startX,h=f.endX,m=f.isTextActive,v=f.isSlideMoving,b=f.isTravellerMoving,y=f.isTravellerFocused;if(!o||!o.length||!Ne(s)||!Ne(l)||!Ne(c)||!Ne(u)||c<=0||u<=0)return null;var w=Q("recharts-brush",i),C=V.Children.count(a)===1,O=rHe("userSelect","none");return V.createElement(At,{className:w,onMouseLeave:this.handleLeaveWrapper,onTouchMove:this.handleTouchMove,style:O},this.renderBackground(),C&&this.renderPanorama(),this.renderSlide(p,h),this.renderTravellerLayer(p,"startX"),this.renderTravellerLayer(h,"endX"),(m||v||b||y||d)&&this.renderText())}}],[{key:"renderDefaultTraveller",value:function(r){var o=r.x,i=r.y,a=r.width,s=r.height,l=r.stroke,c=Math.floor(i+s/2)-1;return V.createElement(V.Fragment,null,V.createElement("rect",{x:o,y:i,width:a,height:s,fill:l,stroke:"none"}),V.createElement("line",{x1:o+1,y1:c,x2:o+a-1,y2:c,fill:"none",stroke:"#fff"}),V.createElement("line",{x1:o+1,y1:c+2,x2:o+a-1,y2:c+2,fill:"none",stroke:"#fff"}))}},{key:"renderTraveller",value:function(r,o){var i;return V.isValidElement(r)?i=V.cloneElement(r,o):ft(r)?i=r(o):i=t.renderDefaultTraveller(o),i}},{key:"getDerivedStateFromProps",value:function(r,o){var i=r.data,a=r.width,s=r.x,l=r.travellerWidth,c=r.updateId,u=r.startIndex,d=r.endIndex;if(i!==o.prevData||c!==o.prevUpdateId)return _E({prevData:i,prevTravellerWidth:l,prevUpdateId:c,prevX:s,prevWidth:a},i&&i.length?uHe({data:i,width:a,x:s,travellerWidth:l,startIndex:u,endIndex:d}):{scale:null,scaleValues:null});if(o.scale&&(a!==o.prevWidth||s!==o.prevX||l!==o.prevTravellerWidth)){o.scale.range([s,s+a-l]);var f=o.scale.domain().map(function(p){return o.scale(p)});return{prevData:i,prevTravellerWidth:l,prevUpdateId:c,prevX:s,prevWidth:a,startX:o.scale(r.startIndex),endX:o.scale(r.endIndex),scaleValues:f}}return null}},{key:"getIndexInRange",value:function(r,o){for(var i=r.length,a=0,s=i-1;s-a>1;){var l=Math.floor((a+s)/2);r[l]>o?s=l:a=l}return o>=r[s]?s:a}}]),t}(g.PureComponent);Ho(Bp,"displayName","Brush");Ho(Bp,"defaultProps",{height:40,travellerWidth:5,gap:1,fill:"#fff",stroke:"#666",padding:{top:1,right:1,bottom:1,left:1},leaveTimeOut:1e3,alwaysShowText:!1});var dHe=cR;function fHe(e,t){var n;return dHe(e,function(r,o,i){return n=t(r,o,i),!n}),!!n}var pHe=fHe,hHe=b9,mHe=Ts,gHe=pHe,vHe=jo,yHe=uS;function bHe(e,t,n){var r=vHe(e)?hHe:gHe;return n&&yHe(e,t,n)&&(t=void 0),r(e,mHe(t))}var xHe=bHe;const wHe=Ht(xHe);var ps=function(t,n){var r=t.alwaysShow,o=t.ifOverflow;return r&&(o="extendDomain"),o===n},n5=V9;function CHe(e,t,n){t=="__proto__"&&n5?n5(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}var SHe=CHe,PHe=SHe,EHe=B9,OHe=Ts;function THe(e,t){var n={};return t=OHe(t),EHe(e,function(r,o,i){PHe(n,o,t(r,o,i))}),n}var kHe=THe;const IHe=Ht(kHe);function $He(e,t){for(var n=-1,r=e==null?0:e.length;++n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function qHe(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}function KHe(e,t){var n=e.x,r=e.y,o=GHe(e,VHe),i="".concat(n),a=parseInt(i,10),s="".concat(r),l=parseInt(s,10),c="".concat(t.height||o.height),u=parseInt(c,10),d="".concat(t.width||o.width),f=parseInt(d,10);return Rm(Rm(Rm(Rm(Rm({},t),o),a?{x:a}:{}),l?{y:l}:{}),{},{height:u,width:f,name:t.name,radius:t.radius})}function o5(e){return V.createElement(Rw,nI({shapeType:"rectangle",propTransformer:KHe,activeClassName:"recharts-active-bar"},e))}var YHe=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return function(r,o){if(typeof t=="number")return t;var i=typeof r=="number";return i?t(r,o):(i||ad(),n)}},QHe=["value","background"],Tq;function zp(e){"@babel/helpers - typeof";return zp=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},zp(e)}function XHe(e,t){if(e==null)return{};var n=JHe(e,t),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function JHe(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}function jw(){return jw=Object.assign?Object.assign.bind():function(e){for(var t=1;t0&&Math.abs(R)0&&Math.abs(N)0&&(N=Math.min((J||0)-(R[oe-1]||0),N))}),Number.isFinite(N)){var I=N/L,A=m.layout==="vertical"?r.height:r.width;if(m.padding==="gap"&&(E=I*A/2),m.padding==="no-gap"){var F=so(t.barCategoryGap,I*A),_=I*A/2;E=_-F-(_-F)/A*F}}}o==="xAxis"?T=[r.left+(w.left||0)+(E||0),r.left+r.width-(w.right||0)-(E||0)]:o==="yAxis"?T=l==="horizontal"?[r.top+r.height-(w.bottom||0),r.top+(w.top||0)]:[r.top+(w.top||0)+(E||0),r.top+r.height-(w.bottom||0)-(E||0)]:T=m.range,O&&(T=[T[1],T[0]]);var j=Q7(m,i,f),B=j.scale,U=j.realScaleType;B.domain(b).range(T),X7(B);var H=J7(B,va(va({},m),{},{realScaleType:U}));o==="xAxis"?(D=v==="top"&&!C||v==="bottom"&&C,$=r.left,M=d[P]-D*m.height):o==="yAxis"&&(D=v==="left"&&!C||v==="right"&&C,$=d[P]-D*m.width,M=r.top);var K=va(va(va({},m),H),{},{realScaleType:U,x:$,y:M,scale:B,width:o==="xAxis"?r.width:m.width,height:o==="yAxis"?r.height:m.height});return K.bandSize=Cw(K,H),!m.hide&&o==="xAxis"?d[P]+=(D?-1:1)*K.height:m.hide||(d[P]+=(D?-1:1)*K.width),va(va({},p),{},$S({},h,K))},{})},Mq=function(t,n){var r=t.x,o=t.y,i=n.x,a=n.y;return{x:Math.min(r,i),y:Math.min(o,a),width:Math.abs(i-r),height:Math.abs(a-o)}},lUe=function(t){var n=t.x1,r=t.y1,o=t.x2,i=t.y2;return Mq({x:n,y:r},{x:o,y:i})},Aq=function(){function e(t){iUe(this,e),this.scale=t}return aUe(e,[{key:"domain",get:function(){return this.scale.domain}},{key:"range",get:function(){return this.scale.range}},{key:"rangeMin",get:function(){return this.range()[0]}},{key:"rangeMax",get:function(){return this.range()[1]}},{key:"bandwidth",get:function(){return this.scale.bandwidth}},{key:"apply",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=r.bandAware,i=r.position;if(n!==void 0){if(i)switch(i){case"start":return this.scale(n);case"middle":{var a=this.bandwidth?this.bandwidth()/2:0;return this.scale(n)+a}case"end":{var s=this.bandwidth?this.bandwidth():0;return this.scale(n)+s}default:return this.scale(n)}if(o){var l=this.bandwidth?this.bandwidth()/2:0;return this.scale(n)+l}return this.scale(n)}}},{key:"isInRange",value:function(n){var r=this.range(),o=r[0],i=r[r.length-1];return o<=i?n>=o&&n<=i:n>=i&&n<=o}}],[{key:"create",value:function(n){return new e(n)}}]),e}();$S(Aq,"EPS",1e-4);var FR=function(t){var n=Object.keys(t).reduce(function(r,o){return va(va({},r),{},$S({},o,Aq.create(t[o])))},{});return va(va({},n),{},{apply:function(o){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=i.bandAware,s=i.position;return IHe(o,function(l,c){return n[c].apply(l,{bandAware:a,position:s})})},isInRange:function(o){return Oq(o,function(i,a){return n[a].isInRange(i)})}})};function cUe(e){return(e%180+180)%180}var uUe=function(t){var n=t.width,r=t.height,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,i=cUe(o),a=i*Math.PI/180,s=Math.atan(r/n),l=a>s&&a-1?o[i?t[a]:a]:void 0}}var mUe=hUe,gUe=Cq;function vUe(e){var t=gUe(e),n=t%1;return t===t?n?t-n:t:0}var yUe=vUe,bUe=R9,xUe=Ts,wUe=yUe,CUe=Math.max;function SUe(e,t,n){var r=e==null?0:e.length;if(!r)return-1;var o=n==null?0:wUe(n);return o<0&&(o=CUe(r+o,0)),bUe(e,xUe(t),o)}var PUe=SUe,EUe=mUe,OUe=PUe,TUe=EUe(OUe),kUe=TUe;const IUe=Ht(kUe);var $Ue=tOe(function(e){return{x:e.left,y:e.top,width:e.width,height:e.height}},function(e){return["l",e.left,"t",e.top,"w",e.width,"h",e.height].join("")}),BR=g.createContext(void 0),zR=g.createContext(void 0),Rq=g.createContext(void 0),_q=g.createContext({}),Dq=g.createContext(void 0),Nq=g.createContext(0),Lq=g.createContext(0),c5=function(t){var n=t.state,r=n.xAxisMap,o=n.yAxisMap,i=n.offset,a=t.clipPathId,s=t.children,l=t.width,c=t.height,u=$Ue(i);return V.createElement(BR.Provider,{value:r},V.createElement(zR.Provider,{value:o},V.createElement(_q.Provider,{value:i},V.createElement(Rq.Provider,{value:u},V.createElement(Dq.Provider,{value:a},V.createElement(Nq.Provider,{value:c},V.createElement(Lq.Provider,{value:l},s)))))))},MUe=function(){return g.useContext(Dq)},jq=function(t){var n=g.useContext(BR);n==null&&ad();var r=n[t];return r==null&&ad(),r},AUe=function(){var t=g.useContext(BR);return rc(t)},RUe=function(){var t=g.useContext(zR),n=IUe(t,function(r){return Oq(r.domain,Number.isFinite)});return n||rc(t)},Fq=function(t){var n=g.useContext(zR);n==null&&ad();var r=n[t];return r==null&&ad(),r},_Ue=function(){var t=g.useContext(Rq);return t},DUe=function(){return g.useContext(_q)},VR=function(){return g.useContext(Lq)},HR=function(){return g.useContext(Nq)};function qv(e){"@babel/helpers - typeof";return qv=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},qv(e)}function u5(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function d5(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);ne*o)return!1;var i=n();return e*(t-e*i/2-r)>=0&&e*(t+e*i/2-o)<=0}function n6e(e,t){return Bq(e,t+1)}function r6e(e,t,n,r,o){for(var i=(r||[]).slice(),a=t.start,s=t.end,l=0,c=1,u=a,d=function(){var h=r==null?void 0:r[l];if(h===void 0)return{v:Bq(r,c)};var m=l,v,b=function(){return v===void 0&&(v=n(h,m)),v},y=h.coordinate,w=l===0||Bw(e,y,b,u,s);w||(l=0,u=a,c+=1),w&&(u=y+e*(b()/2+o),l+=c)},f;c<=i.length;)if(f=d(),f)return f.v;return[]}function Qv(e){"@babel/helpers - typeof";return Qv=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Qv(e)}function v5(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function Gr(e){for(var t=1;t0?p.coordinate-v*e:p.coordinate})}else i[f]=p=Gr(Gr({},p),{},{tickCoord:p.coordinate});var b=Bw(e,p.tickCoord,m,s,l);b&&(l=p.tickCoord-e*(m()/2+o),i[f]=Gr(Gr({},p),{},{isShow:!0}))},u=a-1;u>=0;u--)c(u);return i}function l6e(e,t,n,r,o,i){var a=(r||[]).slice(),s=a.length,l=t.start,c=t.end;if(i){var u=r[s-1],d=n(u,s-1),f=e*(u.coordinate+e*d/2-c);a[s-1]=u=Gr(Gr({},u),{},{tickCoord:f>0?u.coordinate-f*e:u.coordinate});var p=Bw(e,u.tickCoord,function(){return d},l,c);p&&(c=u.tickCoord-e*(d/2+o),a[s-1]=Gr(Gr({},u),{},{isShow:!0}))}for(var h=i?s-1:s,m=function(y){var w=a[y],C,O=function(){return C===void 0&&(C=n(w,y)),C};if(y===0){var P=e*(w.coordinate-e*O()/2-l);a[y]=w=Gr(Gr({},w),{},{tickCoord:P<0?w.coordinate-P*e:w.coordinate})}else a[y]=w=Gr(Gr({},w),{},{tickCoord:w.coordinate});var E=Bw(e,w.tickCoord,O,l,c);E&&(l=w.tickCoord+e*(O()/2+o),a[y]=Gr(Gr({},w),{},{isShow:!0}))},v=0;v=2?ao(o[1].coordinate-o[0].coordinate):1,b=t6e(i,v,p);return l==="equidistantPreserveStart"?r6e(v,b,m,o,a):(l==="preserveStart"||l==="preserveStartEnd"?f=l6e(v,b,m,o,a,l==="preserveStartEnd"):f=s6e(v,b,m,o,a),f.filter(function(y){return y.isShow}))}var c6e=["viewBox"],u6e=["viewBox"],d6e=["ticks"];function Vp(e){"@babel/helpers - typeof";return Vp=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Vp(e)}function Nf(){return Nf=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function f6e(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}function p6e(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function b5(e,t){for(var n=0;n0?l(this.props):l(p)),a<=0||s<=0||!h||!h.length?null:V.createElement(At,{className:Q("recharts-cartesian-axis",c),ref:function(v){r.layerReference=v}},i&&this.renderAxisLine(),this.renderTicks(h,this.state.fontSize,this.state.letterSpacing),Pr.renderCallByParent(this.props))}}],[{key:"renderTickItem",value:function(r,o,i){var a;return V.isValidElement(r)?a=V.cloneElement(r,o):ft(r)?a=r(o):a=V.createElement(od,Nf({},o,{className:"recharts-cartesian-axis-tick-value"}),i),a}}]),t}(g.Component);GR(Fh,"displayName","CartesianAxis");GR(Fh,"defaultProps",{x:0,y:0,width:0,height:0,viewBox:{x:0,y:0,width:0,height:0},orientation:"bottom",ticks:[],stroke:"#666",tickLine:!0,axisLine:!0,tick:!0,mirror:!1,minTickGap:5,tickSize:6,tickMargin:2,interval:"preserveEnd"});var x6e=["x1","y1","x2","y2","key"],w6e=["offset"];function sd(e){"@babel/helpers - typeof";return sd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},sd(e)}function x5(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function Qr(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function E6e(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}var O6e=function(t){var n=t.fill;if(!n||n==="none")return null;var r=t.fillOpacity,o=t.x,i=t.y,a=t.width,s=t.height;return V.createElement("rect",{x:o,y:i,width:a,height:s,stroke:"none",fill:n,fillOpacity:r,className:"recharts-cartesian-grid-bg"})};function Hq(e,t){var n;if(V.isValidElement(e))n=V.cloneElement(e,t);else if(ft(e))n=e(t);else{var r=t.x1,o=t.y1,i=t.x2,a=t.y2,s=t.key,l=w5(t,x6e),c=ot(l,!1);c.offset;var u=w5(c,w6e);n=V.createElement("line",Iu({},u,{x1:r,y1:o,x2:i,y2:a,fill:"none",key:s}))}return n}function T6e(e){var t=e.x,n=e.width,r=e.horizontal,o=r===void 0?!0:r,i=e.horizontalPoints;if(!o||!i||!i.length)return null;var a=i.map(function(s,l){var c=Qr(Qr({},e),{},{x1:t,y1:s,x2:t+n,y2:s,key:"line-".concat(l),index:l});return Hq(o,c)});return V.createElement("g",{className:"recharts-cartesian-grid-horizontal"},a)}function k6e(e){var t=e.y,n=e.height,r=e.vertical,o=r===void 0?!0:r,i=e.verticalPoints;if(!o||!i||!i.length)return null;var a=i.map(function(s,l){var c=Qr(Qr({},e),{},{x1:s,y1:t,x2:s,y2:t+n,key:"line-".concat(l),index:l});return Hq(o,c)});return V.createElement("g",{className:"recharts-cartesian-grid-vertical"},a)}function I6e(e){var t=e.horizontalFill,n=e.fillOpacity,r=e.x,o=e.y,i=e.width,a=e.height,s=e.horizontalPoints,l=e.horizontal,c=l===void 0?!0:l;if(!c||!t||!t.length)return null;var u=s.map(function(f){return Math.round(f+o-o)}).sort(function(f,p){return f-p});o!==u[0]&&u.unshift(0);var d=u.map(function(f,p){var h=!u[p+1],m=h?o+a-f:u[p+1]-f;if(m<=0)return null;var v=p%t.length;return V.createElement("rect",{key:"react-".concat(p),y:f,x:r,height:m,width:i,stroke:"none",fill:t[v],fillOpacity:n,className:"recharts-cartesian-grid-bg"})});return V.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},d)}function $6e(e){var t=e.vertical,n=t===void 0?!0:t,r=e.verticalFill,o=e.fillOpacity,i=e.x,a=e.y,s=e.width,l=e.height,c=e.verticalPoints;if(!n||!r||!r.length)return null;var u=c.map(function(f){return Math.round(f+i-i)}).sort(function(f,p){return f-p});i!==u[0]&&u.unshift(0);var d=u.map(function(f,p){var h=!u[p+1],m=h?i+s-f:u[p+1]-f;if(m<=0)return null;var v=p%r.length;return V.createElement("rect",{key:"react-".concat(p),x:f,y:a,width:m,height:l,stroke:"none",fill:r[v],fillOpacity:o,className:"recharts-cartesian-grid-bg"})});return V.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},d)}var M6e=function(t,n){var r=t.xAxis,o=t.width,i=t.height,a=t.offset;return Y7(WR(Qr(Qr(Qr({},Fh.defaultProps),r),{},{ticks:Xs(r,!0),viewBox:{x:0,y:0,width:o,height:i}})),a.left,a.left+a.width,n)},A6e=function(t,n){var r=t.yAxis,o=t.width,i=t.height,a=t.offset;return Y7(WR(Qr(Qr(Qr({},Fh.defaultProps),r),{},{ticks:Xs(r,!0),viewBox:{x:0,y:0,width:o,height:i}})),a.top,a.top+a.height,n)},Qd={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[]};function Bh(e){var t,n,r,o,i,a,s=VR(),l=HR(),c=DUe(),u=Qr(Qr({},e),{},{stroke:(t=e.stroke)!==null&&t!==void 0?t:Qd.stroke,fill:(n=e.fill)!==null&&n!==void 0?n:Qd.fill,horizontal:(r=e.horizontal)!==null&&r!==void 0?r:Qd.horizontal,horizontalFill:(o=e.horizontalFill)!==null&&o!==void 0?o:Qd.horizontalFill,vertical:(i=e.vertical)!==null&&i!==void 0?i:Qd.vertical,verticalFill:(a=e.verticalFill)!==null&&a!==void 0?a:Qd.verticalFill,x:Ne(e.x)?e.x:c.left,y:Ne(e.y)?e.y:c.top,width:Ne(e.width)?e.width:c.width,height:Ne(e.height)?e.height:c.height}),d=u.x,f=u.y,p=u.width,h=u.height,m=u.syncWithTicks,v=u.horizontalValues,b=u.verticalValues,y=AUe(),w=RUe();if(!Ne(p)||p<=0||!Ne(h)||h<=0||!Ne(d)||d!==+d||!Ne(f)||f!==+f)return null;var C=u.verticalCoordinatesGenerator||M6e,O=u.horizontalCoordinatesGenerator||A6e,P=u.horizontalPoints,E=u.verticalPoints;if((!P||!P.length)&&ft(O)){var T=v&&v.length,$=O({yAxis:w?Qr(Qr({},w),{},{ticks:T?v:w.ticks}):void 0,width:s,height:l,offset:c},T?!0:m);$a(Array.isArray($),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(sd($),"]")),Array.isArray($)&&(P=$)}if((!E||!E.length)&&ft(C)){var M=b&&b.length,D=C({xAxis:y?Qr(Qr({},y),{},{ticks:M?b:y.ticks}):void 0,width:s,height:l,offset:c},M?!0:m);$a(Array.isArray(D),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(sd(D),"]")),Array.isArray(D)&&(E=D)}return V.createElement("g",{className:"recharts-cartesian-grid"},V.createElement(O6e,{fill:u.fill,fillOpacity:u.fillOpacity,x:u.x,y:u.y,width:u.width,height:u.height}),V.createElement(T6e,Iu({},u,{offset:c,horizontalPoints:P,xAxis:y,yAxis:w})),V.createElement(k6e,Iu({},u,{offset:c,verticalPoints:E,xAxis:y,yAxis:w})),V.createElement(I6e,Iu({},u,{horizontalPoints:P})),V.createElement($6e,Iu({},u,{verticalPoints:E})))}Bh.displayName="CartesianGrid";var R6e=["type","layout","connectNulls","ref"];function Hp(e){"@babel/helpers - typeof";return Hp=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Hp(e)}function _6e(e,t){if(e==null)return{};var n=D6e(e,t),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function D6e(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}function Tg(){return Tg=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);nd){p=[].concat(Xd(l.slice(0,h)),[d-m]);break}var v=p.length%2===0?[0,f]:[f];return[].concat(Xd(t.repeat(l,u)),Xd(p),v).map(function(b){return"".concat(b,"px")}).join(", ")}),ya(Vl(n),"id",wd("recharts-line-")),ya(Vl(n),"pathRef",function(a){n.mainCurve=a}),ya(Vl(n),"handleAnimationEnd",function(){n.setState({isAnimationFinished:!0}),n.props.onAnimationEnd&&n.props.onAnimationEnd()}),ya(Vl(n),"handleAnimationStart",function(){n.setState({isAnimationFinished:!1}),n.props.onAnimationStart&&n.props.onAnimationStart()}),n}return z6e(t,[{key:"componentDidMount",value:function(){if(this.props.isAnimationActive){var r=this.getTotalLength();this.setState({totalLength:r})}}},{key:"componentDidUpdate",value:function(){if(this.props.isAnimationActive){var r=this.getTotalLength();r!==this.state.totalLength&&this.setState({totalLength:r})}}},{key:"getTotalLength",value:function(){var r=this.mainCurve;try{return r&&r.getTotalLength&&r.getTotalLength()||0}catch{return 0}}},{key:"renderErrorBar",value:function(r,o){if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var i=this.props,a=i.points,s=i.xAxis,l=i.yAxis,c=i.layout,u=i.children,d=po(u,Lh);if(!d)return null;var f=function(m,v){return{x:m.x,y:m.y,value:m.value,errorVal:Ln(m.payload,v)}},p={clipPath:r?"url(#clipPath-".concat(o,")"):null};return V.createElement(At,p,d.map(function(h){return V.cloneElement(h,{key:"bar-".concat(h.props.dataKey),data:a,xAxis:s,yAxis:l,layout:c,dataPointFormatter:f})}))}},{key:"renderDots",value:function(r,o,i){var a=this.props.isAnimationActive;if(a&&!this.state.isAnimationFinished)return null;var s=this.props,l=s.dot,c=s.points,u=s.dataKey,d=ot(this.props,!1),f=ot(l,!0),p=c.map(function(m,v){var b=zo(zo(zo({key:"dot-".concat(v),r:3},d),f),{},{value:m.value,dataKey:u,cx:m.x,cy:m.y,index:v,payload:m.payload});return t.renderDotItem(l,b)}),h={clipPath:r?"url(#clipPath-".concat(o?"":"dots-").concat(i,")"):null};return V.createElement(At,Tg({className:"recharts-line-dots",key:"dots"},h),p)}},{key:"renderCurveStatically",value:function(r,o,i,a){var s=this.props,l=s.type,c=s.layout,u=s.connectNulls;s.ref;var d=_6e(s,R6e),f=zo(zo(zo({},ot(d,!0)),{},{fill:"none",className:"recharts-line-curve",clipPath:o?"url(#clipPath-".concat(i,")"):null,points:r},a),{},{type:l,layout:c,connectNulls:u});return V.createElement(Nv,Tg({},f,{pathRef:this.pathRef}))}},{key:"renderCurveWithAnimation",value:function(r,o){var i=this,a=this.props,s=a.points,l=a.strokeDasharray,c=a.isAnimationActive,u=a.animationBegin,d=a.animationDuration,f=a.animationEasing,p=a.animationId,h=a.animateNewValues,m=a.width,v=a.height,b=this.state,y=b.prevPoints,w=b.totalLength;return V.createElement(ja,{begin:u,duration:d,isActive:c,easing:f,from:{t:0},to:{t:1},key:"line-".concat(p),onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(C){var O=C.t;if(y){var P=y.length/s.length,E=s.map(function(L,N){var R=Math.floor(N*P);if(y[R]){var I=y[R],A=Rr(I.x,L.x),F=Rr(I.y,L.y);return zo(zo({},L),{},{x:A(O),y:F(O)})}if(h){var _=Rr(m*2,L.x),j=Rr(v/2,L.y);return zo(zo({},L),{},{x:_(O),y:j(O)})}return zo(zo({},L),{},{x:L.x,y:L.y})});return i.renderCurveStatically(E,r,o)}var T=Rr(0,w),$=T(O),M;if(l){var D="".concat(l).split(/[,\s]+/gim).map(function(L){return parseFloat(L)});M=i.getStrokeDasharray($,w,D)}else M=i.generateSimpleStrokeDasharray(w,$);return i.renderCurveStatically(s,r,o,{strokeDasharray:M})})}},{key:"renderCurve",value:function(r,o){var i=this.props,a=i.points,s=i.isAnimationActive,l=this.state,c=l.prevPoints,u=l.totalLength;return s&&a&&a.length&&(!c&&u>0||!_h(c,a))?this.renderCurveWithAnimation(r,o):this.renderCurveStatically(a,r,o)}},{key:"render",value:function(){var r,o=this.props,i=o.hide,a=o.dot,s=o.points,l=o.className,c=o.xAxis,u=o.yAxis,d=o.top,f=o.left,p=o.width,h=o.height,m=o.isAnimationActive,v=o.id;if(i||!s||!s.length)return null;var b=this.state.isAnimationFinished,y=s.length===1,w=Q("recharts-line",l),C=c&&c.allowDataOverflow,O=u&&u.allowDataOverflow,P=C||O,E=lt(v)?this.id:v,T=(r=ot(a,!1))!==null&&r!==void 0?r:{r:3,strokeWidth:2},$=T.r,M=$===void 0?3:$,D=T.strokeWidth,L=D===void 0?2:D,N=iTe(a)?a:{},R=N.clipDot,I=R===void 0?!0:R,A=M*2+L;return V.createElement(At,{className:w},C||O?V.createElement("defs",null,V.createElement("clipPath",{id:"clipPath-".concat(E)},V.createElement("rect",{x:C?f:f-p/2,y:O?d:d-h/2,width:C?p:p*2,height:O?h:h*2})),!I&&V.createElement("clipPath",{id:"clipPath-dots-".concat(E)},V.createElement("rect",{x:f-A/2,y:d-A/2,width:p+A,height:h+A}))):null,!y&&this.renderCurve(P,E),this.renderErrorBar(P,E),(y||a)&&this.renderDots(P,I,E),(!m||b)&&fs.renderCallByParent(this.props,s))}}],[{key:"getDerivedStateFromProps",value:function(r,o){return r.animationId!==o.prevAnimationId?{prevAnimationId:r.animationId,curPoints:r.points,prevPoints:o.curPoints}:r.points!==o.curPoints?{curPoints:r.points}:null}},{key:"repeat",value:function(r,o){for(var i=r.length%2!==0?[].concat(Xd(r),[0]):r,a=[],s=0;s=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function K6e(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}function Y6e(e){var t=e.option,n=e.isActive,r=q6e(e,G6e);return typeof t=="string"?V.createElement(Rw,kg({option:V.createElement(sS,kg({type:t},r)),isActive:n,shapeType:"symbols"},r)):V.createElement(Rw,kg({option:t,isActive:n,shapeType:"symbols"},r))}function Up(e){"@babel/helpers - typeof";return Up=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Up(e)}function Ig(){return Ig=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function EWe(e,t){if(e==null)return{};var n={},r=Object.keys(e),o,i;for(i=0;i=0)&&(n[o]=e[o]);return n}function OWe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function TWe(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n0?a:t&&t.length&&Ne(o)&&Ne(i)?t.slice(o,i+1):[]};function tK(e){return e==="number"?[0,"auto"]:void 0}var vI=function(t,n,r,o){var i=t.graphicalItems,a=t.tooltipAxis,s=AS(n,t);return r<0||!i||!i.length||r>=s.length?null:i.reduce(function(l,c){var u,d=(u=c.props.data)!==null&&u!==void 0?u:n;d&&t.dataStartIndex+t.dataEndIndex!==0&&(d=d.slice(t.dataStartIndex,t.dataEndIndex+1));var f;if(a.dataKey&&!a.allowDuplicatedCategory){var p=d===void 0?s:d;f=Kx(p,a.dataKey,o)}else f=d&&d[r]||s[r];return f?[].concat(Gp(l),[eq(c,f)]):l},[])},M5=function(t,n,r,o){var i=o||{x:t.chartX,y:t.chartY},a=jWe(i,r),s=t.orderedTooltipTicks,l=t.tooltipAxis,c=t.tooltipTicks,u=QBe(a,s,c,l);if(u>=0&&c){var d=c[u]&&c[u].value,f=vI(t,n,u,d),p=FWe(r,s,u,i);return{activeTooltipIndex:u,activeLabel:d,activePayload:f,activeCoordinate:p}}return null},BWe=function(t,n){var r=n.axes,o=n.graphicalItems,i=n.axisType,a=n.axisIdKey,s=n.stackGroups,l=n.dataStartIndex,c=n.dataEndIndex,u=t.layout,d=t.children,f=t.stackOffset,p=K7(u,i);return r.reduce(function(h,m){var v,b=m.props,y=b.type,w=b.dataKey,C=b.allowDataOverflow,O=b.allowDuplicatedCategory,P=b.scale,E=b.ticks,T=b.includeHidden,$=m.props[a];if(h[$])return h;var M=AS(t.data,{graphicalItems:o.filter(function(H){return H.props[a]===$}),dataStartIndex:l,dataEndIndex:c}),D=M.length,L,N,R;pWe(m.props.domain,C,y)&&(L=Dk(m.props.domain,null,C),p&&(y==="number"||P!=="auto")&&(R=Sg(M,w,"category")));var I=tK(y);if(!L||L.length===0){var A,F=(A=m.props.domain)!==null&&A!==void 0?A:I;if(w){if(L=Sg(M,w,y),y==="category"&&p){var _=YOe(L);O&&_?(N=L,L=Dw(0,D)):O||(L=JB(F,L,m).reduce(function(H,K){return H.indexOf(K)>=0?H:[].concat(Gp(H),[K])},[]))}else if(y==="category")O?L=L.filter(function(H){return H!==""&&!lt(H)}):L=JB(F,L,m).reduce(function(H,K){return H.indexOf(K)>=0||K===""||lt(K)?H:[].concat(Gp(H),[K])},[]);else if(y==="number"){var j=tze(M,o.filter(function(H){return H.props[a]===$&&(T||!H.props.hide)}),w,i,u);j&&(L=j)}p&&(y==="number"||P!=="auto")&&(R=Sg(M,w,"category"))}else p?L=Dw(0,D):s&&s[$]&&s[$].hasStack&&y==="number"?L=f==="expand"?[0,1]:Z7(s[$].stackGroups,l,c):L=q7(M,o.filter(function(H){return H.props[a]===$&&(T||!H.props.hide)}),y,u,!0);if(y==="number")L=hI(d,L,$,i,E),F&&(L=Dk(F,L,C));else if(y==="category"&&F){var B=F,U=L.every(function(H){return B.indexOf(H)>=0});U&&(L=B)}}return ke(ke({},h),{},ct({},$,ke(ke({},m.props),{},{axisType:i,domain:L,categoricalDomain:R,duplicateDomain:N,originalDomain:(v=m.props.domain)!==null&&v!==void 0?v:I,isCategorical:p,layout:u})))},{})},zWe=function(t,n){var r=n.graphicalItems,o=n.Axis,i=n.axisType,a=n.axisIdKey,s=n.stackGroups,l=n.dataStartIndex,c=n.dataEndIndex,u=t.layout,d=t.children,f=AS(t.data,{graphicalItems:r,dataStartIndex:l,dataEndIndex:c}),p=f.length,h=K7(u,i),m=-1;return r.reduce(function(v,b){var y=b.props[a],w=tK("number");if(!v[y]){m++;var C;return h?C=Dw(0,p):s&&s[y]&&s[y].hasStack?(C=Z7(s[y].stackGroups,l,c),C=hI(d,C,y,i)):(C=Dk(w,q7(f,r.filter(function(O){return O.props[a]===y&&!O.props.hide}),"number",u),o.defaultProps.allowDataOverflow),C=hI(d,C,y,i)),ke(ke({},v),{},ct({},y,ke(ke({axisType:i},o.defaultProps),{},{hide:!0,orientation:ii(NWe,"".concat(i,".").concat(m%2),null),domain:C,originalDomain:w,isCategorical:h,layout:u})))}return v},{})},VWe=function(t,n){var r=n.axisType,o=r===void 0?"xAxis":r,i=n.AxisComp,a=n.graphicalItems,s=n.stackGroups,l=n.dataStartIndex,c=n.dataEndIndex,u=t.children,d="".concat(o,"Id"),f=po(u,i),p={};return f&&f.length?p=BWe(t,{axes:f,graphicalItems:a,axisType:o,axisIdKey:d,stackGroups:s,dataStartIndex:l,dataEndIndex:c}):a&&a.length&&(p=zWe(t,{Axis:i,graphicalItems:a,axisType:o,axisIdKey:d,stackGroups:s,dataStartIndex:l,dataEndIndex:c})),p},HWe=function(t){var n=rc(t),r=Xs(n,!1,!0);return{tooltipTicks:r,orderedTooltipTicks:uR(r,function(o){return o.coordinate}),tooltipAxis:n,tooltipAxisBandSize:Cw(n,r)}},A5=function(t){var n=t.children,r=t.defaultShowTooltip,o=Wo(n,Bp),i=0,a=0;return t.data&&t.data.length!==0&&(a=t.data.length-1),o&&o.props&&(o.props.startIndex>=0&&(i=o.props.startIndex),o.props.endIndex>=0&&(a=o.props.endIndex)),{chartX:0,chartY:0,dataStartIndex:i,dataEndIndex:a,activeTooltipIndex:-1,isTooltipActive:!!r}},UWe=function(t){return!t||!t.length?!1:t.some(function(n){var r=el(n&&n.type);return r&&r.indexOf("Bar")>=0})},R5=function(t){return t==="horizontal"?{numericAxisName:"yAxis",cateAxisName:"xAxis"}:t==="vertical"?{numericAxisName:"xAxis",cateAxisName:"yAxis"}:t==="centric"?{numericAxisName:"radiusAxis",cateAxisName:"angleAxis"}:{numericAxisName:"angleAxis",cateAxisName:"radiusAxis"}},WWe=function(t,n){var r=t.props,o=t.graphicalItems,i=t.xAxisMap,a=i===void 0?{}:i,s=t.yAxisMap,l=s===void 0?{}:s,c=r.width,u=r.height,d=r.children,f=r.margin||{},p=Wo(d,Bp),h=Wo(d,$c),m=Object.keys(l).reduce(function(O,P){var E=l[P],T=E.orientation;return!E.mirror&&!E.hide?ke(ke({},O),{},ct({},T,O[T]+E.width)):O},{left:f.left||0,right:f.right||0}),v=Object.keys(a).reduce(function(O,P){var E=a[P],T=E.orientation;return!E.mirror&&!E.hide?ke(ke({},O),{},ct({},T,ii(O,"".concat(T))+E.height)):O},{top:f.top||0,bottom:f.bottom||0}),b=ke(ke({},v),m),y=b.bottom;p&&(b.bottom+=p.props.height||Bp.defaultProps.height),h&&n&&(b=ZBe(b,o,r,n));var w=c-b.left-b.right,C=u-b.top-b.bottom;return ke(ke({brushBottom:y},b),{},{width:Math.max(w,0),height:Math.max(C,0)})},GWe=function(t,n){if(n==="xAxis")return t[n].width;if(n==="yAxis")return t[n].height},RS=function(t){var n,r=t.chartName,o=t.GraphicalChild,i=t.defaultTooltipEventType,a=i===void 0?"axis":i,s=t.validateTooltipEventTypes,l=s===void 0?["axis"]:s,c=t.axisComponents,u=t.legendContent,d=t.formatAxisMap,f=t.defaultProps,p=function(v,b){var y=b.graphicalItems,w=b.stackGroups,C=b.offset,O=b.updateId,P=b.dataStartIndex,E=b.dataEndIndex,T=v.barSize,$=v.layout,M=v.barGap,D=v.barCategoryGap,L=v.maxBarSize,N=R5($),R=N.numericAxisName,I=N.cateAxisName,A=UWe(y),F=[];return y.forEach(function(_,j){var B=AS(v.data,{graphicalItems:[_],dataStartIndex:P,dataEndIndex:E}),U=_.props,H=U.dataKey,K=U.maxBarSize,J=_.props["".concat(R,"Id")],oe=_.props["".concat(I,"Id")],ae={},Z=c.reduce(function(Re,_e){var Y=b["".concat(_e.axisType,"Map")],ne=_.props["".concat(_e.axisType,"Id")];Y&&Y[ne]||_e.axisType==="zAxis"||ad();var se=Y[ne];return ke(ke({},Re),{},ct(ct({},_e.axisType,se),"".concat(_e.axisType,"Ticks"),Xs(se)))},ae),ue=Z[I],re=Z["".concat(I,"Ticks")],pe=w&&w[J]&&w[J].hasStack&&uze(_,w[J].stackGroups),le=el(_.type).indexOf("Bar")>=0,G=Cw(ue,re),te=[],fe=A&&XBe({barSize:T,stackGroups:w,totalSize:GWe(Z,I)});if(le){var he,ce,be=lt(K)?L:K,ye=(he=(ce=Cw(ue,re,!0))!==null&&ce!==void 0?ce:be)!==null&&he!==void 0?he:0;te=JBe({barGap:M,barCategoryGap:D,bandSize:ye!==G?ye:G,sizeList:fe[oe],maxBarSize:be}),ye!==G&&(te=te.map(function(Re){return ke(ke({},Re),{},{position:ke(ke({},Re.position),{},{offset:Re.position.offset-ye/2})})}))}var Me=_&&_.type&&_.type.getComposedData;Me&&F.push({props:ke(ke({},Me(ke(ke({},Z),{},{displayedData:B,props:v,dataKey:H,item:_,bandSize:G,barPosition:te,offset:C,stackedData:pe,layout:$,dataStartIndex:P,dataEndIndex:E}))),{},ct(ct(ct({key:_.key||"item-".concat(j)},R,Z[R]),I,Z[I]),"animationId",O)),childIndex:lTe(_,v.children),item:_})}),F},h=function(v,b){var y=v.props,w=v.dataStartIndex,C=v.dataEndIndex,O=v.updateId;if(!Gj({props:y}))return null;var P=y.children,E=y.layout,T=y.stackOffset,$=y.data,M=y.reverseStackOrder,D=R5(E),L=D.numericAxisName,N=D.cateAxisName,R=po(P,o),I=lze($,R,"".concat(L,"Id"),"".concat(N,"Id"),T,M),A=c.reduce(function(U,H){var K="".concat(H.axisType,"Map");return ke(ke({},U),{},ct({},K,VWe(y,ke(ke({},H),{},{graphicalItems:R,stackGroups:H.axisType===L&&I,dataStartIndex:w,dataEndIndex:C}))))},{}),F=WWe(ke(ke({},A),{},{props:y,graphicalItems:R}),b==null?void 0:b.legendBBox);Object.keys(A).forEach(function(U){A[U]=d(y,A[U],F,U.replace("Map",""),r)});var _=A["".concat(N,"Map")],j=HWe(_),B=p(y,ke(ke({},A),{},{dataStartIndex:w,dataEndIndex:C,updateId:O,graphicalItems:R,stackGroups:I,offset:F}));return ke(ke({formattedGraphicalItems:B,graphicalItems:R,offset:F,stackGroups:I},j),A)};return n=function(m){MWe(v,m);function v(b){var y,w,C;return OWe(this,v),C=IWe(this,v,[b]),ct(Wt(C),"eventEmitterSymbol",Symbol("rechartsEventEmitter")),ct(Wt(C),"accessibilityManager",new fWe),ct(Wt(C),"handleLegendBBoxUpdate",function(O){if(O){var P=C.state,E=P.dataStartIndex,T=P.dataEndIndex,$=P.updateId;C.setState(ke({legendBBox:O},h({props:C.props,dataStartIndex:E,dataEndIndex:T,updateId:$},ke(ke({},C.state),{},{legendBBox:O}))))}}),ct(Wt(C),"handleReceiveSyncEvent",function(O,P,E){if(C.props.syncId===O){if(E===C.eventEmitterSymbol&&typeof C.props.syncMethod!="function")return;C.applySyncEvent(P)}}),ct(Wt(C),"handleBrushChange",function(O){var P=O.startIndex,E=O.endIndex;if(P!==C.state.dataStartIndex||E!==C.state.dataEndIndex){var T=C.state.updateId;C.setState(function(){return ke({dataStartIndex:P,dataEndIndex:E},h({props:C.props,dataStartIndex:P,dataEndIndex:E,updateId:T},C.state))}),C.triggerSyncEvent({dataStartIndex:P,dataEndIndex:E})}}),ct(Wt(C),"handleMouseEnter",function(O){var P=C.getMouseInfo(O);if(P){var E=ke(ke({},P),{},{isTooltipActive:!0});C.setState(E),C.triggerSyncEvent(E);var T=C.props.onMouseEnter;ft(T)&&T(E,O)}}),ct(Wt(C),"triggeredAfterMouseMove",function(O){var P=C.getMouseInfo(O),E=P?ke(ke({},P),{},{isTooltipActive:!0}):{isTooltipActive:!1};C.setState(E),C.triggerSyncEvent(E);var T=C.props.onMouseMove;ft(T)&&T(E,O)}),ct(Wt(C),"handleItemMouseEnter",function(O){C.setState(function(){return{isTooltipActive:!0,activeItem:O,activePayload:O.tooltipPayload,activeCoordinate:O.tooltipPosition||{x:O.cx,y:O.cy}}})}),ct(Wt(C),"handleItemMouseLeave",function(){C.setState(function(){return{isTooltipActive:!1}})}),ct(Wt(C),"handleMouseMove",function(O){O.persist(),C.throttleTriggeredAfterMouseMove(O)}),ct(Wt(C),"handleMouseLeave",function(O){C.throttleTriggeredAfterMouseMove.cancel();var P={isTooltipActive:!1};C.setState(P),C.triggerSyncEvent(P);var E=C.props.onMouseLeave;ft(E)&&E(P,O)}),ct(Wt(C),"handleOuterEvent",function(O){var P=sTe(O),E=ii(C.props,"".concat(P));if(P&&ft(E)){var T,$;/.*touch.*/i.test(P)?$=C.getMouseInfo(O.changedTouches[0]):$=C.getMouseInfo(O),E((T=$)!==null&&T!==void 0?T:{},O)}}),ct(Wt(C),"handleClick",function(O){var P=C.getMouseInfo(O);if(P){var E=ke(ke({},P),{},{isTooltipActive:!0});C.setState(E),C.triggerSyncEvent(E);var T=C.props.onClick;ft(T)&&T(E,O)}}),ct(Wt(C),"handleMouseDown",function(O){var P=C.props.onMouseDown;if(ft(P)){var E=C.getMouseInfo(O);P(E,O)}}),ct(Wt(C),"handleMouseUp",function(O){var P=C.props.onMouseUp;if(ft(P)){var E=C.getMouseInfo(O);P(E,O)}}),ct(Wt(C),"handleTouchMove",function(O){O.changedTouches!=null&&O.changedTouches.length>0&&C.throttleTriggeredAfterMouseMove(O.changedTouches[0])}),ct(Wt(C),"handleTouchStart",function(O){O.changedTouches!=null&&O.changedTouches.length>0&&C.handleMouseDown(O.changedTouches[0])}),ct(Wt(C),"handleTouchEnd",function(O){O.changedTouches!=null&&O.changedTouches.length>0&&C.handleMouseUp(O.changedTouches[0])}),ct(Wt(C),"triggerSyncEvent",function(O){C.props.syncId!==void 0&&NE.emit(LE,C.props.syncId,O,C.eventEmitterSymbol)}),ct(Wt(C),"applySyncEvent",function(O){var P=C.props,E=P.layout,T=P.syncMethod,$=C.state.updateId,M=O.dataStartIndex,D=O.dataEndIndex;if(O.dataStartIndex!==void 0||O.dataEndIndex!==void 0)C.setState(ke({dataStartIndex:M,dataEndIndex:D},h({props:C.props,dataStartIndex:M,dataEndIndex:D,updateId:$},C.state)));else if(O.activeTooltipIndex!==void 0){var L=O.chartX,N=O.chartY,R=O.activeTooltipIndex,I=C.state,A=I.offset,F=I.tooltipTicks;if(!A)return;if(typeof T=="function")R=T(F,O);else if(T==="value"){R=-1;for(var _=0;_=0){var pe,le;if(L.dataKey&&!L.allowDuplicatedCategory){var G=typeof L.dataKey=="function"?re:"payload.".concat(L.dataKey.toString());pe=Kx(_,G,R),le=j&&B&&Kx(B,G,R)}else pe=_==null?void 0:_[N],le=j&&B&&B[N];if(oe||J){var te=O.props.activeIndex!==void 0?O.props.activeIndex:N;return[g.cloneElement(O,ke(ke(ke({},T.props),Z),{},{activeIndex:te})),null,null]}if(!lt(pe))return[ue].concat(Gp(C.renderActivePoints({item:T,activePoint:pe,basePoint:le,childIndex:N,isRange:j})))}else{var fe,he=(fe=C.getItemByXY(C.state.activeCoordinate))!==null&&fe!==void 0?fe:{graphicalItem:ue},ce=he.graphicalItem,be=ce.item,ye=be===void 0?O:be,Me=ce.childIndex,Re=ke(ke(ke({},T.props),Z),{},{activeIndex:Me});return[g.cloneElement(ye,Re),null,null]}return j?[ue,null,null]:[ue,null]}),ct(Wt(C),"renderCustomized",function(O,P,E){return g.cloneElement(O,ke(ke({key:"recharts-customized-".concat(E)},C.props),C.state))}),ct(Wt(C),"renderMap",{CartesianGrid:{handler:a0,once:!0},ReferenceArea:{handler:C.renderReferenceElement},ReferenceLine:{handler:a0},ReferenceDot:{handler:C.renderReferenceElement},XAxis:{handler:a0},YAxis:{handler:a0},Brush:{handler:C.renderBrush,once:!0},Bar:{handler:C.renderGraphicChild},Line:{handler:C.renderGraphicChild},Area:{handler:C.renderGraphicChild},Radar:{handler:C.renderGraphicChild},RadialBar:{handler:C.renderGraphicChild},Scatter:{handler:C.renderGraphicChild},Pie:{handler:C.renderGraphicChild},Funnel:{handler:C.renderGraphicChild},Tooltip:{handler:C.renderCursor,once:!0},PolarGrid:{handler:C.renderPolarGrid,once:!0},PolarAngleAxis:{handler:C.renderPolarAxis},PolarRadiusAxis:{handler:C.renderPolarAxis},Customized:{handler:C.renderCustomized}}),C.clipPathId="".concat((y=b.id)!==null&&y!==void 0?y:wd("recharts"),"-clip"),C.throttleTriggeredAfterMouseMove=dS(C.triggeredAfterMouseMove,(w=b.throttleDelay)!==null&&w!==void 0?w:1e3/60),C.state={},C}return kWe(v,[{key:"componentDidMount",value:function(){var y,w;this.addListener(),this.accessibilityManager.setDetails({container:this.container,offset:{left:(y=this.props.margin.left)!==null&&y!==void 0?y:0,top:(w=this.props.margin.top)!==null&&w!==void 0?w:0},coordinateList:this.state.tooltipTicks,mouseHandlerCallback:this.triggeredAfterMouseMove,layout:this.props.layout}),this.displayDefaultTooltip()}},{key:"displayDefaultTooltip",value:function(){var y=this.props,w=y.children,C=y.data,O=y.height,P=y.layout,E=Wo(w,Di);if(E){var T=E.props.defaultIndex;if(!(typeof T!="number"||T<0||T>this.state.tooltipTicks.length)){var $=this.state.tooltipTicks[T]&&this.state.tooltipTicks[T].value,M=vI(this.state,C,T,$),D=this.state.tooltipTicks[T].coordinate,L=(this.state.offset.top+O)/2,N=P==="horizontal",R=N?{x:D,y:L}:{y:D,x:L},I=this.state.formattedGraphicalItems.find(function(F){var _=F.item;return _.type.name==="Scatter"});I&&(R=ke(ke({},R),I.props.points[T].tooltipPosition),M=I.props.points[T].tooltipPayload);var A={activeTooltipIndex:T,isTooltipActive:!0,activeLabel:$,activePayload:M,activeCoordinate:R};this.setState(A),this.renderCursor(E),this.accessibilityManager.setIndex(T)}}}},{key:"getSnapshotBeforeUpdate",value:function(y,w){if(!this.props.accessibilityLayer)return null;if(this.state.tooltipTicks!==w.tooltipTicks&&this.accessibilityManager.setDetails({coordinateList:this.state.tooltipTicks}),this.props.layout!==y.layout&&this.accessibilityManager.setDetails({layout:this.props.layout}),this.props.margin!==y.margin){var C,O;this.accessibilityManager.setDetails({offset:{left:(C=this.props.margin.left)!==null&&C!==void 0?C:0,top:(O=this.props.margin.top)!==null&&O!==void 0?O:0}})}return null}},{key:"componentDidUpdate",value:function(y){QT([Wo(y.children,Di)],[Wo(this.props.children,Di)])||this.displayDefaultTooltip()}},{key:"componentWillUnmount",value:function(){this.removeListener(),this.throttleTriggeredAfterMouseMove.cancel()}},{key:"getTooltipEventType",value:function(){var y=Wo(this.props.children,Di);if(y&&typeof y.props.shared=="boolean"){var w=y.props.shared?"axis":"item";return l.indexOf(w)>=0?w:a}return a}},{key:"getMouseInfo",value:function(y){if(!this.container)return null;var w=this.container,C=w.getBoundingClientRect(),O=ANe(C),P={chartX:Math.round(y.pageX-O.left),chartY:Math.round(y.pageY-O.top)},E=C.width/w.offsetWidth||1,T=this.inRange(P.chartX,P.chartY,E);if(!T)return null;var $=this.state,M=$.xAxisMap,D=$.yAxisMap,L=this.getTooltipEventType();if(L!=="axis"&&M&&D){var N=rc(M).scale,R=rc(D).scale,I=N&&N.invert?N.invert(P.chartX):null,A=R&&R.invert?R.invert(P.chartY):null;return ke(ke({},P),{},{xValue:I,yValue:A})}var F=M5(this.state,this.props.data,this.props.layout,T);return F?ke(ke({},P),F):null}},{key:"inRange",value:function(y,w){var C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,O=this.props.layout,P=y/C,E=w/C;if(O==="horizontal"||O==="vertical"){var T=this.state.offset,$=P>=T.left&&P<=T.left+T.width&&E>=T.top&&E<=T.top+T.height;return $?{x:P,y:E}:null}var M=this.state,D=M.angleAxisMap,L=M.radiusAxisMap;if(D&&L){var N=rc(D);return tz({x:P,y:E},N)}return null}},{key:"parseEventsOfWrapper",value:function(){var y=this.props.children,w=this.getTooltipEventType(),C=Wo(y,Di),O={};C&&w==="axis"&&(C.props.trigger==="click"?O={onClick:this.handleClick}:O={onMouseEnter:this.handleMouseEnter,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd});var P=Yx(this.props,this.handleOuterEvent);return ke(ke({},P),O)}},{key:"addListener",value:function(){NE.on(LE,this.handleReceiveSyncEvent)}},{key:"removeListener",value:function(){NE.removeListener(LE,this.handleReceiveSyncEvent)}},{key:"filterFormatItem",value:function(y,w,C){for(var O=this.state.formattedGraphicalItems,P=0,E=O.length;P{const t=e.planned.energy>0?e.logged.energy/e.planned.energy*100:100,n=e.planned.energy>0?e.planned.energy-e.logged.energy:e.logged.energy,r=qn(),[o,i]=Oe(),a=[{name:"",value:t},{name:"",value:t<100?100-t:0}],s=[r.palette.primary.main,"#C5C5C5"];return z(pt,{direction:"row",children:[x(Cd,{width:"50%",height:140,children:z(oK,{children:[x(ks,{height:100,data:a,startAngle:200,endAngle:-20,innerRadius:60,outerRadius:70,paddingAngle:2,dataKey:"value",children:a.map((l,c)=>x(Ah,{fill:s[c%s.length]},`cell-${c}`))}),z("g",{children:[x("text",{x:"50%",y:"45%",fontSize:"1.25em",textAnchor:"middle",children:o("nutrition.valueEnergyKcal",{value:Yr(n,i.language)})}),x("text",{x:"50%",y:"60%",fontSize:"1em",textAnchor:"middle",children:e.planned.energy>0&&o(t<100?"nutrition.valueRemaining":"nutrition.valueTooMany")})]})]})}),z(pt,{width:"50%",spacing:1,children:[x(ep,{title:o("nutrition.protein"),percentage:e.percentage.protein,logged:e.logged.protein,planned:e.planned.protein}),x(ep,{title:o("nutrition.carbohydrates"),percentage:e.percentage.carbohydrates,logged:e.logged.carbohydrates,planned:e.planned.carbohydrates}),x(ep,{title:o("nutrition.fat"),percentage:e.percentage.fat,logged:e.logged.fat,planned:e.planned.fat})]})]})};function iK(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e))for(t=0;te.indexOf(n)!==-1):e.indexOf(t)!==-1}const aK=(e,t)=>n=>{(n.key==="Enter"||n.key===" ")&&(e(n),n.preventDefault(),n.stopPropagation())},sK=(e=document)=>{const t=e.activeElement;return t?t.shadowRoot?sK(t.shadowRoot):t:null};function YWe(e){return Se("PrivatePickersMonth",e)}const _5=Pe("PrivatePickersMonth",["root","selected"]),QWe=["disabled","onSelect","selected","value","tabIndex","hasFocus","onFocus","onBlur"],XWe=e=>{const{classes:t,selected:n}=e;return de({root:["root",n&&"selected"]},YWe,t)},JWe=W(Be,{name:"PrivatePickersMonth",slot:"Root",overridesResolver:(e,t)=>[t.root,{[`&.${_5.selected}`]:t.selected}]})(({theme:e})=>S({flex:"1 0 33.33%",display:"flex",alignItems:"center",justifyContent:"center",color:"unset",backgroundColor:"transparent",border:0,outline:0},e.typography.subtitle1,{margin:"8px 0",height:36,borderRadius:18,cursor:"pointer","&:focus, &:hover":{backgroundColor:fr(e.palette.action.active,e.palette.action.hoverOpacity)},"&:disabled":{pointerEvents:"none",color:e.palette.text.secondary},[`&.${_5.selected}`]:{color:e.palette.primary.contrastText,backgroundColor:e.palette.primary.main,"&:focus, &:hover":{backgroundColor:e.palette.primary.dark}}})),D5=()=>{},ZWe=e=>{const{disabled:t,onSelect:n,selected:r,value:o,tabIndex:i,hasFocus:a,onFocus:s=D5,onBlur:l=D5}=e,c=q(e,QWe),u=XWe(e),d=()=>{n(o)},f=g.useRef(null);return Ft(()=>{if(a){var p;(p=f.current)==null||p.focus()}},[a]),k.jsx(JWe,S({ref:f,component:"button",type:"button",className:u.root,tabIndex:i,onClick:d,onKeyDown:aK(d),color:r?"primary":void 0,variant:r?"h5":"subtitle1",disabled:t,onFocus:p=>s(p,o),onBlur:p=>l(p,o)},c))},e8e=e=>({components:{MuiLocalizationProvider:{defaultProps:{localeText:S({},e)}}}}),lK={previousMonth:"Previous month",nextMonth:"Next month",openPreviousView:"open previous view",openNextView:"open next view",calendarViewSwitchingButtonAriaLabel:e=>e==="year"?"year view is open, switch to calendar view":"calendar view is open, switch to year view",inputModeToggleButtonAriaLabel:(e,t)=>e?`text input view is open, go to ${t} view`:`${t} view is open, go to text input view`,start:"Start",end:"End",cancelButtonLabel:"Cancel",clearButtonLabel:"Clear",okButtonLabel:"OK",todayButtonLabel:"Today",datePickerDefaultToolbarTitle:"Select date",dateTimePickerDefaultToolbarTitle:"Select date & time",timePickerDefaultToolbarTitle:"Select time",dateRangePickerDefaultToolbarTitle:"Select date range",clockLabelText:(e,t,n)=>`Select ${e}. ${t===null?"No time selected":`Selected time is ${n.format(t,"fullTime")}`}`,hoursClockNumberText:e=>`${e} hours`,minutesClockNumberText:e=>`${e} minutes`,secondsClockNumberText:e=>`${e} seconds`,openDatePickerDialogue:(e,t)=>e&&t.isValid(t.date(e))?`Choose date, selected date is ${t.format(t.date(e),"fullDate")}`:"Choose date",openTimePickerDialogue:(e,t)=>e&&t.isValid(t.date(e))?`Choose time, selected time is ${t.format(t.date(e),"fullTime")}`:"Choose time",timeTableLabel:"pick time",dateTableLabel:"pick date"},t8e=lK;e8e(lK);const cK=g.createContext(null);function _S(e){const t=Ee({props:e,name:"MuiLocalizationProvider"}),{children:n,dateAdapter:r,dateFormats:o,dateLibInstance:i,locale:a,adapterLocale:s,localeText:l}=t,c=g.useMemo(()=>new r({locale:s??a,formats:o,instance:i}),[r,a,s,o,i]),u=g.useMemo(()=>({minDate:c.date("1900-01-01T00:00:00.000"),maxDate:c.date("2099-12-31T00:00:00.000")}),[c]),d=g.useMemo(()=>({utils:c,defaultDates:u,localeText:S({},t8e,l??{})}),[u,c,l]);return k.jsx(cK.Provider,{value:d,children:n})}const Ky=()=>{const e=g.useContext(cK);if(e===null)throw new Error("MUI: Can not find utils in context. It looks like you forgot to wrap your component in LocalizationProvider, or pass dateAdapter prop directly.");return e},wn=()=>Ky().utils,Yy=()=>Ky().defaultDates,Ua=()=>Ky().localeText,Qy=()=>{const e=wn();return g.useRef(e.date()).current};function n8e(e){return Se("MuiMonthPicker",e)}Pe("MuiMonthPicker",["root"]);const Mg=({date:e,disableFuture:t,disablePast:n,maxDate:r,minDate:o,isDateDisabled:i,utils:a})=>{const s=a.startOfDay(a.date());n&&a.isBefore(o,s)&&(o=s),t&&a.isAfter(r,s)&&(r=s);let l=e,c=e;for(a.isBefore(e,o)&&(l=a.date(o),c=null),a.isAfter(e,r)&&(c&&(c=a.date(r)),l=null);l||c;){if(l&&a.isAfter(l,r)&&(l=null),c&&a.isBefore(c,o)&&(c=null),l){if(!i(l))return l;l=a.addDays(l,1)}if(c){if(!i(c))return c;c=a.addDays(c,-1)}}return null},qR=(e,t)=>{const n=e.date(t);return e.isValid(n)?n:null},ta=(e,t,n)=>{if(t==null)return n;const r=e.date(t);return e.isValid(r)?r:n},r8e=["className","date","disabled","disableFuture","disablePast","maxDate","minDate","onChange","shouldDisableMonth","readOnly","disableHighlightToday","autoFocus","onMonthFocus","hasFocus","onFocusedViewChange"],o8e=e=>{const{classes:t}=e;return de({root:["root"]},n8e,t)};function i8e(e,t){const n=wn(),r=Yy(),o=Ee({props:e,name:t});return S({disableFuture:!1,disablePast:!1},o,{minDate:ta(n,o.minDate,r.minDate),maxDate:ta(n,o.maxDate,r.maxDate)})}const a8e=W("div",{name:"MuiMonthPicker",slot:"Root",overridesResolver:(e,t)=>t.root})({width:310,display:"flex",flexWrap:"wrap",alignContent:"stretch",margin:"0 4px"}),s8e=g.forwardRef(function(t,n){const r=wn(),o=Qy(),i=i8e(t,"MuiMonthPicker"),{className:a,date:s,disabled:l,disableFuture:c,disablePast:u,maxDate:d,minDate:f,onChange:p,shouldDisableMonth:h,readOnly:m,disableHighlightToday:v,autoFocus:b=!1,onMonthFocus:y,hasFocus:w,onFocusedViewChange:C}=i,O=q(i,r8e),P=i,E=o8e(P),T=oh(),$=g.useMemo(()=>s??r.startOfMonth(o),[o,r,s]),M=g.useMemo(()=>s!=null?r.getMonth(s):v?null:r.getMonth(o),[o,s,r,v]),[D,L]=g.useState(()=>M||r.getMonth(o)),N=g.useCallback(K=>{const J=r.startOfMonth(u&&r.isAfter(o,f)?o:f),oe=r.startOfMonth(c&&r.isBefore(o,d)?o:d);return r.isBefore(K,J)||r.isAfter(K,oe)?!0:h?h(K):!1},[c,u,d,f,o,h,r]),R=K=>{if(m)return;const J=r.setMonth($,K);p(J,"finish")},[I,A]=To({name:"MonthPicker",state:"hasFocus",controlled:w,default:b}),F=g.useCallback(K=>{A(K),C&&C(K)},[A,C]),_=g.useCallback(K=>{N(r.setMonth($,K))||(L(K),F(!0),y&&y(K))},[N,r,$,F,y]);g.useEffect(()=>{L(K=>M!==null&&K!==M?M:K)},[M]);const j=Vt(K=>{switch(K.key){case"ArrowUp":_((12+D-3)%12),K.preventDefault();break;case"ArrowDown":_((12+D+3)%12),K.preventDefault();break;case"ArrowLeft":_((12+D+(T.direction==="ltr"?-1:1))%12),K.preventDefault();break;case"ArrowRight":_((12+D+(T.direction==="ltr"?1:-1))%12),K.preventDefault();break}}),B=g.useCallback((K,J)=>{_(J)},[_]),U=g.useCallback(()=>{F(!1)},[F]),H=r.getMonth(o);return k.jsx(a8e,S({ref:n,className:ar(E.root,a),ownerState:P,onKeyDown:j},O,{children:r.getMonthArray($).map(K=>{const J=r.getMonth(K),oe=r.format(K,"monthShort"),ae=l||N(K);return k.jsx(ZWe,{value:J,selected:J===M,tabIndex:J===D&&!ae?0:-1,hasFocus:I&&J===D,onSelect:R,onFocus:B,onBlur:U,disabled:ae,"aria-current":H===J?"date":void 0,children:oe},oe)})}))});function KR(e,t,n){const{value:r,onError:o}=e,i=Ky(),a=g.useRef(null),s=t({adapter:i,value:r,props:e});return g.useEffect(()=>{o&&!n(s,a.current)&&o(s,r),a.current=s},[n,o,a,s,r]),s}const YR=({props:e,value:t,adapter:n})=>{const r=n.utils.date(),o=n.utils.date(t),i=ta(n.utils,e.minDate,n.defaultDates.minDate),a=ta(n.utils,e.maxDate,n.defaultDates.maxDate);if(o===null)return null;switch(!0){case!n.utils.isValid(t):return"invalidDate";case!!(e.shouldDisableDate&&e.shouldDisableDate(o)):return"shouldDisableDate";case!!(e.disableFuture&&n.utils.isAfterDay(o,r)):return"disableFuture";case!!(e.disablePast&&n.utils.isBeforeDay(o,r)):return"disablePast";case!!(i&&n.utils.isBeforeDay(o,i)):return"minDate";case!!(a&&n.utils.isAfterDay(o,a)):return"maxDate";default:return null}},uK=({shouldDisableDate:e,minDate:t,maxDate:n,disableFuture:r,disablePast:o})=>{const i=Ky();return g.useCallback(a=>YR({adapter:i,value:a,props:{shouldDisableDate:e,minDate:t,maxDate:n,disableFuture:r,disablePast:o}})!==null,[i,e,t,n,r,o])},l8e=(e,t)=>e===t,dK=e=>KR(e,YR,l8e),c8e=(e,t,n)=>(r,o)=>{switch(o.type){case"changeMonth":return S({},r,{slideDirection:o.direction,currentMonth:o.newMonth,isMonthSwitchingAnimating:!e});case"finishMonthSwitchingAnimation":return S({},r,{isMonthSwitchingAnimating:!1});case"changeFocusedDay":{if(r.focusedDay!=null&&o.focusedDay!=null&&n.isSameDay(o.focusedDay,r.focusedDay))return r;const i=o.focusedDay!=null&&!t&&!n.isSameMonth(r.currentMonth,o.focusedDay);return S({},r,{focusedDay:o.focusedDay,isMonthSwitchingAnimating:i&&!e&&!o.withoutMonthSwitchingAnimation,currentMonth:i?n.startOfMonth(o.focusedDay):r.currentMonth,slideDirection:o.focusedDay!=null&&n.isAfterDay(o.focusedDay,r.currentMonth)?"left":"right"})}default:throw new Error("missing support")}},u8e=({date:e,defaultCalendarMonth:t,disableFuture:n,disablePast:r,disableSwitchToMonthOnDayFocus:o=!1,maxDate:i,minDate:a,onMonthChange:s,reduceAnimations:l,shouldDisableDate:c})=>{var u;const d=Qy(),f=wn(),p=g.useRef(c8e(!!l,o,f)).current,[h,m]=g.useReducer(p,{isMonthSwitchingAnimating:!1,focusedDay:e||d,currentMonth:f.startOfMonth((u=e??t)!=null?u:d),slideDirection:"left"}),v=g.useCallback(O=>{m(S({type:"changeMonth"},O)),s&&s(O.newMonth)},[s]),b=g.useCallback(O=>{const P=O??d;f.isSameMonth(P,h.currentMonth)||v({newMonth:f.startOfMonth(P),direction:f.isAfterDay(P,h.currentMonth)?"left":"right"})},[h.currentMonth,v,d,f]),y=uK({shouldDisableDate:c,minDate:a,maxDate:i,disableFuture:n,disablePast:r}),w=g.useCallback(()=>{m({type:"finishMonthSwitchingAnimation"})},[]),C=g.useCallback((O,P)=>{y(O)||m({type:"changeFocusedDay",focusedDay:O,withoutMonthSwitchingAnimation:P})},[y]);return{calendarState:h,changeMonth:b,changeFocusedDay:C,isDateDisabled:y,onMonthSwitchingAnimationEnd:w,handleChangeMonth:v}},d8e=e=>Se("MuiPickersFadeTransitionGroup",e);Pe("MuiPickersFadeTransitionGroup",["root"]);const f8e=e=>{const{classes:t}=e;return de({root:["root"]},d8e,t)},N5=500,p8e=W(Ty,{name:"MuiPickersFadeTransitionGroup",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"block",position:"relative"});function fK(e){const t=Ee({props:e,name:"MuiPickersFadeTransitionGroup"}),{children:n,className:r,reduceAnimations:o,transKey:i}=t,a=f8e(t);return o?n:k.jsx(p8e,{className:ar(a.root,r),children:k.jsx(NC,{appear:!1,mountOnEnter:!0,unmountOnExit:!0,timeout:{appear:N5,enter:N5/2,exit:0},children:n},i)})}const yI=36,QR=2,pK=320,h8e=358;function m8e(e){return Se("MuiPickersDay",e)}const s0=Pe("MuiPickersDay",["root","dayWithMargin","dayOutsideMonth","hiddenDaySpacingFiller","today","selected","disabled"]),g8e=["autoFocus","className","day","disabled","disableHighlightToday","disableMargin","hidden","isAnimating","onClick","onDaySelect","onFocus","onBlur","onKeyDown","onMouseDown","outsideCurrentMonth","selected","showDaysOutsideCurrentMonth","children","today"],v8e=e=>{const{selected:t,disableMargin:n,disableHighlightToday:r,today:o,disabled:i,outsideCurrentMonth:a,showDaysOutsideCurrentMonth:s,classes:l}=e;return de({root:["root",t&&"selected",i&&"disabled",!n&&"dayWithMargin",!r&&o&&"today",a&&s&&"dayOutsideMonth",a&&!s&&"hiddenDaySpacingFiller"],hiddenDaySpacingFiller:["hiddenDaySpacingFiller"]},m8e,l)},hK=({theme:e,ownerState:t})=>S({},e.typography.caption,{width:yI,height:yI,borderRadius:"50%",padding:0,backgroundColor:e.palette.background.paper,color:e.palette.text.primary,"&:hover":{backgroundColor:fr(e.palette.action.active,e.palette.action.hoverOpacity)},"&:focus":{backgroundColor:fr(e.palette.action.active,e.palette.action.hoverOpacity),[`&.${s0.selected}`]:{willChange:"background-color",backgroundColor:e.palette.primary.dark}},[`&.${s0.selected}`]:{color:e.palette.primary.contrastText,backgroundColor:e.palette.primary.main,fontWeight:e.typography.fontWeightMedium,transition:e.transitions.create("background-color",{duration:e.transitions.duration.short}),"&:hover":{willChange:"background-color",backgroundColor:e.palette.primary.dark}},[`&.${s0.disabled}`]:{color:e.palette.text.disabled}},!t.disableMargin&&{margin:`0 ${QR}px`},t.outsideCurrentMonth&&t.showDaysOutsideCurrentMonth&&{color:e.palette.text.secondary},!t.disableHighlightToday&&t.today&&{[`&:not(.${s0.selected})`]:{border:`1px solid ${e.palette.text.secondary}`}}),mK=(e,t)=>{const{ownerState:n}=e;return[t.root,!n.disableMargin&&t.dayWithMargin,!n.disableHighlightToday&&n.today&&t.today,!n.outsideCurrentMonth&&n.showDaysOutsideCurrentMonth&&t.dayOutsideMonth,n.outsideCurrentMonth&&!n.showDaysOutsideCurrentMonth&&t.hiddenDaySpacingFiller]},y8e=W(Zr,{name:"MuiPickersDay",slot:"Root",overridesResolver:mK})(hK),b8e=W("div",{name:"MuiPickersDay",slot:"Root",overridesResolver:mK})(({theme:e,ownerState:t})=>S({},hK({theme:e,ownerState:t}),{opacity:0,pointerEvents:"none"})),FE=()=>{},x8e=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiPickersDay"}),{autoFocus:o=!1,className:i,day:a,disabled:s=!1,disableHighlightToday:l=!1,disableMargin:c=!1,isAnimating:u,onClick:d,onDaySelect:f,onFocus:p=FE,onBlur:h=FE,onKeyDown:m=FE,onMouseDown:v,outsideCurrentMonth:b,selected:y=!1,showDaysOutsideCurrentMonth:w=!1,children:C,today:O=!1}=r,P=q(r,g8e),E=S({},r,{autoFocus:o,disabled:s,disableHighlightToday:l,disableMargin:c,selected:y,showDaysOutsideCurrentMonth:w,today:O}),T=v8e(E),$=wn(),M=g.useRef(null),D=Ot(M,n);Ft(()=>{o&&!s&&!u&&!b&&M.current.focus()},[o,s,u,b]);const L=R=>{v&&v(R),b&&R.preventDefault()},N=R=>{s||f(a,"finish"),b&&R.currentTarget.focus(),d&&d(R)};return b&&!w?k.jsx(b8e,{className:ar(T.root,T.hiddenDaySpacingFiller,i),ownerState:E,role:P.role}):k.jsx(y8e,S({className:ar(T.root,i),ownerState:E,ref:D,centerRipple:!0,disabled:s,tabIndex:y?0:-1,onKeyDown:R=>m(R,a),onFocus:R=>p(R,a),onBlur:R=>h(R,a),onClick:N,onMouseDown:L},P,{children:C||$.format(a,"dayOfMonth")}))}),w8e=(e,t)=>e.autoFocus===t.autoFocus&&e.isAnimating===t.isAnimating&&e.today===t.today&&e.disabled===t.disabled&&e.selected===t.selected&&e.disableMargin===t.disableMargin&&e.showDaysOutsideCurrentMonth===t.showDaysOutsideCurrentMonth&&e.disableHighlightToday===t.disableHighlightToday&&e.className===t.className&&e.sx===t.sx&&e.outsideCurrentMonth===t.outsideCurrentMonth&&e.onFocus===t.onFocus&&e.onBlur===t.onBlur&&e.onDaySelect===t.onDaySelect,C8e=g.memo(x8e,w8e),S8e=e=>Se("PrivatePickersSlideTransition",e),Wr=Pe("PrivatePickersSlideTransition",["root","slideEnter-left","slideEnter-right","slideEnterActive","slideExit","slideExitActiveLeft-left","slideExitActiveLeft-right"]),P8e=["children","className","reduceAnimations","slideDirection","transKey"],E8e=e=>{const{classes:t}=e;return de({root:["root"]},S8e,t)},gK=350,O8e=W(Ty,{name:"PrivatePickersSlideTransition",slot:"Root",overridesResolver:(e,t)=>[t.root,{[`.${Wr["slideEnter-left"]}`]:t["slideEnter-left"]},{[`.${Wr["slideEnter-right"]}`]:t["slideEnter-right"]},{[`.${Wr.slideEnterActive}`]:t.slideEnterActive},{[`.${Wr.slideExit}`]:t.slideExit},{[`.${Wr["slideExitActiveLeft-left"]}`]:t["slideExitActiveLeft-left"]},{[`.${Wr["slideExitActiveLeft-right"]}`]:t["slideExitActiveLeft-right"]}]})(({theme:e})=>{const t=e.transitions.create("transform",{duration:gK,easing:"cubic-bezier(0.35, 0.8, 0.4, 1)"});return{display:"block",position:"relative",overflowX:"hidden","& > *":{position:"absolute",top:0,right:0,left:0},[`& .${Wr["slideEnter-left"]}`]:{willChange:"transform",transform:"translate(100%)",zIndex:1},[`& .${Wr["slideEnter-right"]}`]:{willChange:"transform",transform:"translate(-100%)",zIndex:1},[`& .${Wr.slideEnterActive}`]:{transform:"translate(0%)",transition:t},[`& .${Wr.slideExit}`]:{transform:"translate(0%)"},[`& .${Wr["slideExitActiveLeft-left"]}`]:{willChange:"transform",transform:"translate(-100%)",transition:t,zIndex:0},[`& .${Wr["slideExitActiveLeft-right"]}`]:{willChange:"transform",transform:"translate(100%)",transition:t,zIndex:0}}}),T8e=e=>{const{children:t,className:n,reduceAnimations:r,slideDirection:o,transKey:i}=e,a=q(e,P8e),s=E8e(e);if(r)return k.jsx("div",{className:ar(s.root,n),children:t});const l={exit:Wr.slideExit,enterActive:Wr.slideEnterActive,enter:Wr[`slideEnter-${o}`],exitActive:Wr[`slideExitActiveLeft-${o}`]};return k.jsx(O8e,{className:ar(s.root,n),childFactory:c=>g.cloneElement(c,{classNames:l}),role:"presentation",children:k.jsx(qM,S({mountOnEnter:!0,unmountOnExit:!0,timeout:gK,classNames:l},a,{children:t}),i)})},k8e=e=>Se("MuiDayPicker",e);Pe("MuiDayPicker",["header","weekDayLabel","loadingContainer","slideTransition","monthContainer","weekContainer"]);const I8e=e=>{const{classes:t}=e;return de({header:["header"],weekDayLabel:["weekDayLabel"],loadingContainer:["loadingContainer"],slideTransition:["slideTransition"],monthContainer:["monthContainer"],weekContainer:["weekContainer"]},k8e,t)},$8e=e=>e.charAt(0).toUpperCase(),vK=(yI+QR*2)*6,M8e=W("div",{name:"MuiDayPicker",slot:"Header",overridesResolver:(e,t)=>t.header})({display:"flex",justifyContent:"center",alignItems:"center"}),A8e=W(Be,{name:"MuiDayPicker",slot:"WeekDayLabel",overridesResolver:(e,t)=>t.weekDayLabel})(({theme:e})=>({width:36,height:40,margin:"0 2px",textAlign:"center",display:"flex",justifyContent:"center",alignItems:"center",color:e.palette.text.secondary})),R8e=W("div",{name:"MuiDayPicker",slot:"LoadingContainer",overridesResolver:(e,t)=>t.loadingContainer})({display:"flex",justifyContent:"center",alignItems:"center",minHeight:vK}),_8e=W(T8e,{name:"MuiDayPicker",slot:"SlideTransition",overridesResolver:(e,t)=>t.slideTransition})({minHeight:vK}),D8e=W("div",{name:"MuiDayPicker",slot:"MonthContainer",overridesResolver:(e,t)=>t.monthContainer})({overflow:"hidden"}),N8e=W("div",{name:"MuiDayPicker",slot:"WeekContainer",overridesResolver:(e,t)=>t.weekContainer})({margin:`${QR}px 0`,display:"flex",justifyContent:"center"});function L8e(e){const t=Qy(),n=wn(),r=Ee({props:e,name:"MuiDayPicker"}),o=I8e(r),{onFocusedDayChange:i,className:a,currentMonth:s,selectedDays:l,disabled:c,disableHighlightToday:u,focusedDay:d,isMonthSwitchingAnimating:f,loading:p,onSelectedDaysChange:h,onMonthSwitchingAnimationEnd:m,readOnly:v,reduceAnimations:b,renderDay:y,renderLoading:w=()=>k.jsx("span",{children:"..."}),showDaysOutsideCurrentMonth:C,slideDirection:O,TransitionProps:P,disablePast:E,disableFuture:T,minDate:$,maxDate:M,shouldDisableDate:D,dayOfWeekFormatter:L=$8e,hasFocus:N,onFocusedViewChange:R,gridLabelId:I}=r,A=uK({shouldDisableDate:D,minDate:$,maxDate:M,disablePast:E,disableFuture:T}),[F,_]=g.useState(()=>d||t),j=g.useCallback(G=>{R&&R(G)},[R]),B=g.useCallback((G,te="finish")=>{v||h(G,te)},[h,v]),U=g.useCallback(G=>{A(G)||(i(G),_(G),j(!0))},[A,i,j]),H=qn();function K(G,te){switch(G.key){case"ArrowUp":U(n.addDays(te,-7)),G.preventDefault();break;case"ArrowDown":U(n.addDays(te,7)),G.preventDefault();break;case"ArrowLeft":{const fe=n.addDays(te,H.direction==="ltr"?-1:1),he=H.direction==="ltr"?n.getPreviousMonth(te):n.getNextMonth(te),ce=Mg({utils:n,date:fe,minDate:H.direction==="ltr"?n.startOfMonth(he):fe,maxDate:H.direction==="ltr"?fe:n.endOfMonth(he),isDateDisabled:A});U(ce||fe),G.preventDefault();break}case"ArrowRight":{const fe=n.addDays(te,H.direction==="ltr"?1:-1),he=H.direction==="ltr"?n.getNextMonth(te):n.getPreviousMonth(te),ce=Mg({utils:n,date:fe,minDate:H.direction==="ltr"?fe:n.startOfMonth(he),maxDate:H.direction==="ltr"?n.endOfMonth(he):fe,isDateDisabled:A});U(ce||fe),G.preventDefault();break}case"Home":U(n.startOfWeek(te)),G.preventDefault();break;case"End":U(n.endOfWeek(te)),G.preventDefault();break;case"PageUp":U(n.getNextMonth(te)),G.preventDefault();break;case"PageDown":U(n.getPreviousMonth(te)),G.preventDefault();break}}function J(G,te){U(te)}function oe(G,te){N&&n.isSameDay(F,te)&&j(!1)}const ae=n.getMonth(s),Z=l.filter(G=>!!G).map(G=>n.startOfDay(G)),ue=ae,re=g.useMemo(()=>g.createRef(),[ue]),pe=n.startOfWeek(t),le=g.useMemo(()=>{const G=n.startOfMonth(s),te=n.endOfMonth(s);return A(F)||n.isAfterDay(F,te)||n.isBeforeDay(F,G)?Mg({utils:n,date:F,minDate:G,maxDate:te,disablePast:E,disableFuture:T,isDateDisabled:A}):F},[s,T,E,F,A,n]);return k.jsxs("div",{role:"grid","aria-labelledby":I,children:[k.jsx(M8e,{role:"row",className:o.header,children:n.getWeekdays().map((G,te)=>{var fe;return k.jsx(A8e,{variant:"caption",role:"columnheader","aria-label":n.format(n.addDays(pe,te),"weekday"),className:o.weekDayLabel,children:(fe=L==null?void 0:L(G))!=null?fe:G},G+te.toString())})}),p?k.jsx(R8e,{className:o.loadingContainer,children:w()}):k.jsx(_8e,S({transKey:ue,onExited:m,reduceAnimations:b,slideDirection:O,className:ar(a,o.slideTransition)},P,{nodeRef:re,children:k.jsx(D8e,{ref:re,role:"rowgroup",className:o.monthContainer,children:n.getWeekArray(s).map(G=>k.jsx(N8e,{role:"row",className:o.weekContainer,children:G.map(te=>{const fe=le!==null&&n.isSameDay(te,le),he=Z.some(ye=>n.isSameDay(ye,te)),ce=n.isSameDay(te,t),be={key:te==null?void 0:te.toString(),day:te,isAnimating:f,disabled:c||A(te),autoFocus:N&&fe,today:ce,outsideCurrentMonth:n.getMonth(te)!==ae,selected:he,disableHighlightToday:u,showDaysOutsideCurrentMonth:C,onKeyDown:K,onFocus:J,onBlur:oe,onDaySelect:B,tabIndex:fe?0:-1,role:"gridcell","aria-selected":he};return ce&&(be["aria-current"]="date"),y?y(te,Z,be):g.createElement(C8e,S({},be,{key:be.key}))})},`week-${G[0]}`))})}))]})}function XR({onChange:e,onViewChange:t,openTo:n,view:r,views:o}){var i,a;const[s,l]=To({name:"Picker",state:"view",controlled:r,default:n&&yu(o,n)?n:o[0]}),c=(i=o[o.indexOf(s)-1])!=null?i:null,u=(a=o[o.indexOf(s)+1])!=null?a:null,d=g.useCallback(h=>{l(h),t&&t(h)},[l,t]),f=g.useCallback(()=>{u&&d(u)},[u,d]);return{handleChangeAndOpenNext:g.useCallback((h,m)=>{const v=m==="finish";e(h,v&&u?"partial":m),v&&f()},[u,e,f]),nextView:u,previousView:c,openNext:f,openView:s,setOpenView:d}}const j8e=rt(k.jsx("path",{d:"M7 10l5 5 5-5z"}),"ArrowDropDown"),F8e=rt(k.jsx("path",{d:"M15.41 16.59L10.83 12l4.58-4.59L14 6l-6 6 6 6 1.41-1.41z"}),"ArrowLeft"),B8e=rt(k.jsx("path",{d:"M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z"}),"ArrowRight"),yK=rt(k.jsx("path",{d:"M17 12h-5v5h5v-5zM16 1v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-1V1h-2zm3 18H5V8h14v11z"}),"Calendar"),bK=rt(k.jsxs(g.Fragment,{children:[k.jsx("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),k.jsx("path",{d:"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"})]}),"Clock"),z8e=rt(k.jsx("path",{d:"M9 11H7v2h2v-2zm4 0h-2v2h2v-2zm4 0h-2v2h2v-2zm2-7h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11z"}),"DateRange"),V8e=rt(k.jsx("path",{d:"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 00-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z"}),"Pen"),H8e=rt(k.jsxs(g.Fragment,{children:[k.jsx("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),k.jsx("path",{d:"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"})]}),"Time");function U8e(e){return Se("MuiPickersArrowSwitcher",e)}Pe("MuiPickersArrowSwitcher",["root","spacer","button"]);const W8e=["children","className","components","componentsProps","isLeftDisabled","isLeftHidden","isRightDisabled","isRightHidden","leftArrowButtonText","onLeftClick","onRightClick","rightArrowButtonText"],G8e=e=>{const{classes:t}=e;return de({root:["root"],spacer:["spacer"],button:["button"]},U8e,t)},q8e=W("div",{name:"MuiPickersArrowSwitcher",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"flex"}),K8e=W("div",{name:"MuiPickersArrowSwitcher",slot:"Spacer",overridesResolver:(e,t)=>t.spacer})(({theme:e})=>({width:e.spacing(3)})),L5=W(Rt,{name:"MuiPickersArrowSwitcher",slot:"Button",overridesResolver:(e,t)=>t.button})(({ownerState:e})=>S({},e.hidden&&{visibility:"hidden"})),xK=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiPickersArrowSwitcher"}),{children:o,className:i,components:a,componentsProps:s,isLeftDisabled:l,isLeftHidden:c,isRightDisabled:u,isRightHidden:d,leftArrowButtonText:f,onLeftClick:p,onRightClick:h,rightArrowButtonText:m}=r,v=q(r,W8e),y=qn().direction==="rtl",w=(s==null?void 0:s.leftArrowButton)||{},C=(a==null?void 0:a.LeftArrowIcon)||F8e,O=(s==null?void 0:s.rightArrowButton)||{},P=(a==null?void 0:a.RightArrowIcon)||B8e,E=r,T=G8e(E);return k.jsxs(q8e,S({ref:n,className:ar(T.root,i),ownerState:E},v,{children:[k.jsx(L5,S({as:a==null?void 0:a.LeftArrowButton,size:"small","aria-label":f,title:f,disabled:l,edge:"end",onClick:p},w,{className:ar(T.button,w.className),ownerState:S({},E,w,{hidden:c}),children:y?k.jsx(P,{}):k.jsx(C,{})})),o?k.jsx(Be,{variant:"subtitle1",component:"span",children:o}):k.jsx(K8e,{className:T.spacer,ownerState:E}),k.jsx(L5,S({as:a==null?void 0:a.RightArrowButton,size:"small","aria-label":m,title:m,edge:"start",disabled:u,onClick:h},O,{className:ar(T.button,O.className),ownerState:S({},E,O,{hidden:d}),children:y?k.jsx(C,{}):k.jsx(P,{})}))]}))}),Y8e=(e,t)=>e?t.getHours(e)>=12?"pm":"am":null,bI=(e,t,n)=>n&&(e>=12?"pm":"am")!==t?t==="am"?e-12:e+12:e,Q8e=(e,t,n,r)=>{const o=bI(r.getHours(e),t,n);return r.setHours(e,o)},j5=(e,t)=>t.getHours(e)*3600+t.getMinutes(e)*60+t.getSeconds(e),wK=(e=!1,t)=>(n,r)=>e?t.isAfter(n,r):j5(n,t)>j5(r,t);function X8e(e,{disableFuture:t,maxDate:n}){const r=wn();return g.useMemo(()=>{const o=r.date(),i=r.startOfMonth(t&&r.isBefore(o,n)?o:n);return!r.isAfter(i,e)},[t,n,e,r])}function J8e(e,{disablePast:t,minDate:n}){const r=wn();return g.useMemo(()=>{const o=r.date(),i=r.startOfMonth(t&&r.isAfter(o,n)?o:n);return!r.isBefore(i,e)},[t,n,e,r])}function CK(e,t,n){const r=wn(),o=Y8e(e,r),i=g.useCallback(a=>{const s=e==null?null:Q8e(e,a,!!t,r);n(s,"partial")},[t,e,n,r]);return{meridiemMode:o,handleMeridiemChange:i}}const SK=e=>()=>{},Z8e=e=>Se("MuiPickersCalendarHeader",e);Pe("MuiPickersCalendarHeader",["root","labelContainer","label","switchViewButton","switchViewIcon"]);const eGe=e=>{const{classes:t}=e;return de({root:["root"],labelContainer:["labelContainer"],label:["label"],switchViewButton:["switchViewButton"],switchViewIcon:["switchViewIcon"]},Z8e,t)},tGe=W("div",{name:"MuiPickersCalendarHeader",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"flex",alignItems:"center",marginTop:16,marginBottom:8,paddingLeft:24,paddingRight:12,maxHeight:30,minHeight:30}),nGe=W("div",{name:"MuiPickersCalendarHeader",slot:"LabelContainer",overridesResolver:(e,t)=>t.labelContainer})(({theme:e})=>S({display:"flex",maxHeight:30,overflow:"hidden",alignItems:"center",cursor:"pointer",marginRight:"auto"},e.typography.body1,{fontWeight:e.typography.fontWeightMedium})),rGe=W("div",{name:"MuiPickersCalendarHeader",slot:"Label",overridesResolver:(e,t)=>t.label})({marginRight:6}),oGe=W(Rt,{name:"MuiPickersCalendarHeader",slot:"SwitchViewButton",overridesResolver:(e,t)=>t.switchViewButton})({marginRight:"auto"}),iGe=W(j8e,{name:"MuiPickersCalendarHeader",slot:"SwitchViewIcon",overridesResolver:(e,t)=>t.switchViewIcon})(({theme:e,ownerState:t})=>S({willChange:"transform",transition:e.transitions.create("transform"),transform:"rotate(0deg)"},t.openView==="year"&&{transform:"rotate(180deg)"})),aGe=SK();function sGe(e){const t=Ee({props:e,name:"MuiPickersCalendarHeader"}),{components:n={},componentsProps:r={},currentMonth:o,disabled:i,disableFuture:a,disablePast:s,getViewSwitchingButtonText:l,leftArrowButtonText:c,maxDate:u,minDate:d,onMonthChange:f,onViewChange:p,openView:h,reduceAnimations:m,rightArrowButtonText:v,views:b,labelId:y}=t;aGe({leftArrowButtonText:c,rightArrowButtonText:v,getViewSwitchingButtonText:l});const w=Ua(),C=c??w.previousMonth,O=v??w.nextMonth,P=l??w.calendarViewSwitchingButtonAriaLabel,E=wn(),T=eGe(t),$=r.switchViewButton||{},M=()=>f(E.getNextMonth(o),"left"),D=()=>f(E.getPreviousMonth(o),"right"),L=X8e(o,{disableFuture:a,maxDate:u}),N=J8e(o,{disablePast:s,minDate:d}),R=()=>{if(!(b.length===1||!p||i))if(b.length===2)p(b.find(A=>A!==h)||b[0]);else{const A=b.indexOf(h)!==0?0:1;p(b[A])}};if(b.length===1&&b[0]==="year")return null;const I=t;return k.jsxs(tGe,{ownerState:I,className:T.root,children:[k.jsxs(nGe,{role:"presentation",onClick:R,ownerState:I,"aria-live":"polite",className:T.labelContainer,children:[k.jsx(fK,{reduceAnimations:m,transKey:E.format(o,"monthAndYear"),children:k.jsx(rGe,{id:y,ownerState:I,className:T.label,children:E.format(o,"monthAndYear")})}),b.length>1&&!i&&k.jsx(oGe,S({size:"small",as:n.SwitchViewButton,"aria-label":P(h),className:T.switchViewButton},$,{children:k.jsx(iGe,{as:n.SwitchViewIcon,ownerState:I,className:T.switchViewIcon})}))]}),k.jsx(NC,{in:h==="day",children:k.jsx(xK,{leftArrowButtonText:C,rightArrowButtonText:O,components:n,componentsProps:r,onLeftClick:D,onRightClick:M,isLeftDisabled:N,isRightDisabled:L})})]})}const Kc=g.createContext(null);function lGe(e){return Se("PrivatePickersYear",e)}const Lf=Pe("PrivatePickersYear",["root","modeDesktop","modeMobile","yearButton","selected","disabled"]),cGe=["autoFocus","className","children","disabled","onClick","onKeyDown","value","tabIndex","onFocus","onBlur"],uGe=e=>{const{wrapperVariant:t,disabled:n,selected:r,classes:o}=e,i={root:["root",t&&`mode${ie(t)}`],yearButton:["yearButton",n&&"disabled",r&&"selected"]};return de(i,lGe,o)},dGe=W("div",{name:"PrivatePickersYear",slot:"Root",overridesResolver:(e,t)=>[t.root,{[`&.${Lf.modeDesktop}`]:t.modeDesktop},{[`&.${Lf.modeMobile}`]:t.modeMobile}]})(({ownerState:e})=>S({flexBasis:"33.3%",display:"flex",alignItems:"center",justifyContent:"center"},(e==null?void 0:e.wrapperVariant)==="desktop"&&{flexBasis:"25%"})),fGe=W("button",{name:"PrivatePickersYear",slot:"Button",overridesResolver:(e,t)=>[t.button,{[`&.${Lf.disabled}`]:t.disabled},{[`&.${Lf.selected}`]:t.selected}]})(({theme:e})=>S({color:"unset",backgroundColor:"transparent",border:0,outline:0},e.typography.subtitle1,{margin:"8px 0",height:36,width:72,borderRadius:18,cursor:"pointer","&:focus, &:hover":{backgroundColor:fr(e.palette.action.active,e.palette.action.hoverOpacity)},[`&.${Lf.disabled}`]:{color:e.palette.text.secondary},[`&.${Lf.selected}`]:{color:e.palette.primary.contrastText,backgroundColor:e.palette.primary.main,"&:focus, &:hover":{backgroundColor:e.palette.primary.dark}}})),F5=()=>{},pGe=g.forwardRef(function(t,n){const{autoFocus:r,className:o,children:i,disabled:a,onClick:s,onKeyDown:l,value:c,tabIndex:u,onFocus:d=F5,onBlur:f=F5}=t,p=q(t,cGe),h=g.useRef(null),m=Ot(h,n),v=g.useContext(Kc),b=S({},t,{wrapperVariant:v}),y=uGe(b);return g.useEffect(()=>{r&&h.current.focus()},[r]),k.jsx(dGe,{className:ar(y.root,o),ownerState:b,children:k.jsx(fGe,S({ref:m,disabled:a,type:"button",tabIndex:a?-1:u,onClick:w=>s(w,c),onKeyDown:w=>l(w,c),onFocus:w=>d(w,c),onBlur:w=>f(w,c),className:y.yearButton,ownerState:b},p,{children:i}))})});function hGe(e){return Se("MuiYearPicker",e)}Pe("MuiYearPicker",["root"]);const mGe=e=>{const{classes:t}=e;return de({root:["root"]},hGe,t)};function gGe(e,t){const n=wn(),r=Yy(),o=Ee({props:e,name:t});return S({disablePast:!1,disableFuture:!1},o,{minDate:ta(n,o.minDate,r.minDate),maxDate:ta(n,o.maxDate,r.maxDate)})}const vGe=W("div",{name:"MuiYearPicker",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"flex",flexDirection:"row",flexWrap:"wrap",overflowY:"auto",height:"100%",padding:"0 4px",maxHeight:"304px"}),yGe=g.forwardRef(function(t,n){const r=Qy(),o=qn(),i=wn(),a=gGe(t,"MuiYearPicker"),{autoFocus:s,className:l,date:c,disabled:u,disableFuture:d,disablePast:f,maxDate:p,minDate:h,onChange:m,readOnly:v,shouldDisableYear:b,disableHighlightToday:y,onYearFocus:w,hasFocus:C,onFocusedViewChange:O}=a,P=a,E=mGe(P),T=g.useMemo(()=>c??i.startOfYear(r),[r,i,c]),$=g.useMemo(()=>c!=null?i.getYear(c):y?null:i.getYear(r),[r,c,i,y]),M=g.useContext(Kc),D=g.useRef(null),[L,N]=g.useState(()=>$||i.getYear(r)),[R,I]=To({name:"YearPicker",state:"hasFocus",controlled:C,default:s}),A=g.useCallback(Z=>{I(Z),O&&O(Z)},[I,O]),F=g.useCallback(Z=>!!(f&&i.isBeforeYear(Z,r)||d&&i.isAfterYear(Z,r)||h&&i.isBeforeYear(Z,h)||p&&i.isAfterYear(Z,p)||b&&b(Z)),[d,f,p,h,r,b,i]),_=(Z,ue,re="finish")=>{if(v)return;const pe=i.setYear(T,ue);m(pe,re)},j=g.useCallback(Z=>{F(i.setYear(T,Z))||(N(Z),A(!0),w==null||w(Z))},[F,i,T,A,w]);g.useEffect(()=>{N(Z=>$!==null&&Z!==$?$:Z)},[$]);const B=M==="desktop"?4:3,U=g.useCallback((Z,ue)=>{switch(Z.key){case"ArrowUp":j(ue-B),Z.preventDefault();break;case"ArrowDown":j(ue+B),Z.preventDefault();break;case"ArrowLeft":j(ue+(o.direction==="ltr"?-1:1)),Z.preventDefault();break;case"ArrowRight":j(ue+(o.direction==="ltr"?1:-1)),Z.preventDefault();break}},[j,o.direction,B]),H=g.useCallback((Z,ue)=>{j(ue)},[j]),K=g.useCallback((Z,ue)=>{L===ue&&A(!1)},[L,A]),J=i.getYear(r),oe=g.useRef(null),ae=Ot(n,oe);return g.useEffect(()=>{if(s||oe.current===null)return;const Z=oe.current.querySelector('[tabindex="0"]');if(!Z)return;const ue=Z.offsetHeight,re=Z.offsetTop,pe=oe.current.clientHeight,le=oe.current.scrollTop,G=re+ue;ue>pe||re{const ue=i.getYear(Z),re=ue===$;return k.jsx(pGe,{selected:re,value:ue,onClick:_,onKeyDown:U,autoFocus:R&&ue===L,ref:re?D:void 0,disabled:u||F(Z),tabIndex:ue===L?0:-1,onFocus:H,onBlur:K,"aria-current":J===ue?"date":void 0,children:i.format(Z,"year")},i.format(Z,"year"))})})}),JR=W("div")({overflowX:"hidden",width:pK,maxHeight:h8e,display:"flex",flexDirection:"column",margin:"0 auto"}),bGe=typeof navigator<"u"&&/(android)/i.test(navigator.userAgent),xGe=e=>Se("MuiCalendarPicker",e);Pe("MuiCalendarPicker",["root","viewTransitionContainer"]);const wGe=["autoFocus","onViewChange","date","disableFuture","disablePast","defaultCalendarMonth","onChange","onYearChange","onMonthChange","reduceAnimations","shouldDisableDate","shouldDisableMonth","shouldDisableYear","view","views","openTo","className","disabled","readOnly","minDate","maxDate","disableHighlightToday","focusedView","onFocusedViewChange","classes"],CGe=e=>{const{classes:t}=e;return de({root:["root"],viewTransitionContainer:["viewTransitionContainer"]},xGe,t)};function SGe(e,t){const n=wn(),r=Yy(),o=Ee({props:e,name:t});return S({loading:!1,disablePast:!1,disableFuture:!1,openTo:"day",views:["year","day"],reduceAnimations:bGe,renderLoading:()=>k.jsx("span",{children:"..."})},o,{minDate:ta(n,o.minDate,r.minDate),maxDate:ta(n,o.maxDate,r.maxDate)})}const PGe=W(JR,{name:"MuiCalendarPicker",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"flex",flexDirection:"column"}),EGe=W(fK,{name:"MuiCalendarPicker",slot:"ViewTransitionContainer",overridesResolver:(e,t)=>t.viewTransitionContainer})({}),OGe=g.forwardRef(function(t,n){const r=wn(),o=on(),i=SGe(t,"MuiCalendarPicker"),{autoFocus:a,onViewChange:s,date:l,disableFuture:c,disablePast:u,defaultCalendarMonth:d,onChange:f,onYearChange:p,onMonthChange:h,reduceAnimations:m,shouldDisableDate:v,shouldDisableMonth:b,shouldDisableYear:y,view:w,views:C,openTo:O,className:P,disabled:E,readOnly:T,minDate:$,maxDate:M,disableHighlightToday:D,focusedView:L,onFocusedViewChange:N}=i,R=q(i,wGe),{openView:I,setOpenView:A,openNext:F}=XR({view:w,views:C,openTo:O,onChange:f,onViewChange:s}),{calendarState:_,changeFocusedDay:j,changeMonth:B,handleChangeMonth:U,isDateDisabled:H,onMonthSwitchingAnimationEnd:K}=u8e({date:l,defaultCalendarMonth:d,reduceAnimations:m,onMonthChange:h,minDate:$,maxDate:M,shouldDisableDate:v,disablePast:u,disableFuture:c}),J=g.useCallback((Me,Re)=>{const _e=r.startOfMonth(Me),Y=r.endOfMonth(Me),ne=H(Me)?Mg({utils:r,date:Me,minDate:r.isBefore($,_e)?_e:$,maxDate:r.isAfter(M,Y)?Y:M,disablePast:u,disableFuture:c,isDateDisabled:H}):Me;ne?(f(ne,Re),h==null||h(_e)):(F(),B(_e)),j(ne,!0)},[j,c,u,H,M,$,f,h,B,F,r]),oe=g.useCallback((Me,Re)=>{const _e=r.startOfYear(Me),Y=r.endOfYear(Me),ne=H(Me)?Mg({utils:r,date:Me,minDate:r.isBefore($,_e)?_e:$,maxDate:r.isAfter(M,Y)?Y:M,disablePast:u,disableFuture:c,isDateDisabled:H}):Me;ne?(f(ne,Re),p==null||p(ne)):(F(),B(_e)),j(ne,!0)},[j,c,u,H,M,$,f,p,F,r,B]),ae=g.useCallback((Me,Re)=>f(l&&Me?r.mergeDateAndTime(Me,l):Me,Re),[r,l,f]);g.useEffect(()=>{l&&B(l)},[l]);const Z=i,ue=CGe(Z),re={disablePast:u,disableFuture:c,maxDate:M,minDate:$},pe=E&&l||$,le=E&&l||M,G={disableHighlightToday:D,readOnly:T,disabled:E},te=`${o}-grid-label`,[fe,he]=To({name:"DayPicker",state:"focusedView",controlled:L,default:a?I:null}),ce=fe!==null,be=Vt(Me=>Re=>{if(N){N(Me)(Re);return}he(Re?Me:_e=>_e===Me?null:_e)}),ye=g.useRef(I);return g.useEffect(()=>{ye.current!==I&&(ye.current=I,be(I)(!0))},[I,be]),k.jsxs(PGe,{ref:n,className:ar(ue.root,P),ownerState:Z,children:[k.jsx(sGe,S({},R,{views:C,openView:I,currentMonth:_.currentMonth,onViewChange:A,onMonthChange:(Me,Re)=>U({newMonth:Me,direction:Re}),minDate:pe,maxDate:le,disabled:E,disablePast:u,disableFuture:c,reduceAnimations:m,labelId:te})),k.jsx(EGe,{reduceAnimations:m,className:ue.viewTransitionContainer,transKey:I,ownerState:Z,children:k.jsxs("div",{children:[I==="year"&&k.jsx(yGe,S({},R,re,G,{autoFocus:a,date:l,onChange:oe,shouldDisableYear:y,hasFocus:ce,onFocusedViewChange:be("year")})),I==="month"&&k.jsx(s8e,S({},re,G,{autoFocus:a,hasFocus:ce,className:P,date:l,onChange:J,shouldDisableMonth:b,onFocusedViewChange:be("month")})),I==="day"&&k.jsx(L8e,S({},R,_,re,G,{autoFocus:a,onMonthSwitchingAnimationEnd:K,onFocusedDayChange:j,reduceAnimations:m,selectedDays:[l],onSelectedDaysChange:ae,shouldDisableDate:v,hasFocus:ce,onFocusedViewChange:be("day"),gridLabelId:te}))]})})]})}),qp=220,Cc=36,Zv={x:qp/2,y:qp/2},PK={x:Zv.x,y:0},TGe=PK.x-Zv.x,kGe=PK.y-Zv.y,IGe=e=>e*(180/Math.PI),EK=(e,t,n)=>{const r=t-Zv.x,o=n-Zv.y,i=Math.atan2(TGe,kGe)-Math.atan2(r,o);let a=IGe(i);a=Math.round(a/e)*e,a%=360;const s=Math.floor(a/e)||0,l=r**2+o**2,c=Math.sqrt(l);return{value:s,distance:c}},$Ge=(e,t,n=1)=>{const r=n*6;let{value:o}=EK(r,e,t);return o=o*n%60,o},MGe=(e,t,n)=>{const{value:r,distance:o}=EK(30,e,t);let i=r||12;return n?i%=12:o{const{classes:t}=e;return de({root:["root"],thumb:["thumb"]},AGe,t)},DGe=W("div",{name:"MuiClockPointer",slot:"Root",overridesResolver:(e,t)=>t.root})(({theme:e,ownerState:t})=>S({width:2,backgroundColor:e.palette.primary.main,position:"absolute",left:"calc(50% - 1px)",bottom:"50%",transformOrigin:"center bottom 0px"},t.shouldAnimate&&{transition:e.transitions.create(["transform","height"])})),NGe=W("div",{name:"MuiClockPointer",slot:"Thumb",overridesResolver:(e,t)=>t.thumb})(({theme:e,ownerState:t})=>S({width:4,height:4,backgroundColor:e.palette.primary.contrastText,borderRadius:"50%",position:"absolute",top:-21,left:`calc(50% - ${Cc/2}px)`,border:`${(Cc-4)/2}px solid ${e.palette.primary.main}`,boxSizing:"content-box"},t.hasSelected&&{backgroundColor:e.palette.primary.main}));function LGe(e){const t=Ee({props:e,name:"MuiClockPointer"}),{className:n,isInner:r,type:o,value:i}=t,a=q(t,RGe),s=g.useRef(o);g.useEffect(()=>{s.current=o},[o]);const l=S({},t,{shouldAnimate:s.current!==o}),c=_Ge(l),u=()=>{let f=360/(o==="hours"?12:60)*i;return o==="hours"&&i>12&&(f-=360),{height:Math.round((r?.26:.4)*qp),transform:`rotateZ(${f}deg)`}};return k.jsx(DGe,S({style:u(),className:ar(n,c.root),ownerState:l},a,{children:k.jsx(NGe,{ownerState:l,className:c.thumb})}))}function jGe(e){return Se("MuiClock",e)}Pe("MuiClock",["root","clock","wrapper","squareMask","pin","amButton","pmButton"]);const FGe=e=>{const{classes:t}=e;return de({root:["root"],clock:["clock"],wrapper:["wrapper"],squareMask:["squareMask"],pin:["pin"],amButton:["amButton"],pmButton:["pmButton"]},jGe,t)},BGe=W("div",{name:"MuiClock",slot:"Root",overridesResolver:(e,t)=>t.root})(({theme:e})=>({display:"flex",justifyContent:"center",alignItems:"center",margin:e.spacing(2)})),zGe=W("div",{name:"MuiClock",slot:"Clock",overridesResolver:(e,t)=>t.clock})({backgroundColor:"rgba(0,0,0,.07)",borderRadius:"50%",height:220,width:220,flexShrink:0,position:"relative",pointerEvents:"none"}),VGe=W("div",{name:"MuiClock",slot:"Wrapper",overridesResolver:(e,t)=>t.wrapper})({"&:focus":{outline:"none"}}),HGe=W("div",{name:"MuiClock",slot:"SquareMask",overridesResolver:(e,t)=>t.squareMask})(({ownerState:e})=>S({width:"100%",height:"100%",position:"absolute",pointerEvents:"auto",outline:0,touchAction:"none",userSelect:"none"},e.disabled?{}:{"@media (pointer: fine)":{cursor:"pointer",borderRadius:"50%"},"&:active":{cursor:"move"}})),UGe=W("div",{name:"MuiClock",slot:"Pin",overridesResolver:(e,t)=>t.pin})(({theme:e})=>({width:6,height:6,borderRadius:"50%",backgroundColor:e.palette.primary.main,position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)"})),WGe=W(Rt,{name:"MuiClock",slot:"AmButton",overridesResolver:(e,t)=>t.amButton})(({theme:e,ownerState:t})=>S({zIndex:1,position:"absolute",bottom:t.ampmInClock?64:8,left:8},t.meridiemMode==="am"&&{backgroundColor:e.palette.primary.main,color:e.palette.primary.contrastText,"&:hover":{backgroundColor:e.palette.primary.light}})),GGe=W(Rt,{name:"MuiClock",slot:"PmButton",overridesResolver:(e,t)=>t.pmButton})(({theme:e,ownerState:t})=>S({zIndex:1,position:"absolute",bottom:t.ampmInClock?64:8,right:8},t.meridiemMode==="pm"&&{backgroundColor:e.palette.primary.main,color:e.palette.primary.contrastText,"&:hover":{backgroundColor:e.palette.primary.light}}));function qGe(e){const t=Ee({props:e,name:"MuiClock"}),{ampm:n,ampmInClock:r,autoFocus:o,children:i,date:a,getClockLabelText:s,handleMeridiemChange:l,isTimeDisabled:c,meridiemMode:u,minutesStep:d=1,onChange:f,selectedId:p,type:h,value:m,disabled:v,readOnly:b,className:y}=t,w=t,C=wn(),O=g.useContext(Kc),P=g.useRef(!1),E=FGe(w),T=c(m,h),$=!n&&h==="hours"&&(m<1||m>12),M=(B,U)=>{v||b||c(B,h)||f(B,U)},D=(B,U)=>{let{offsetX:H,offsetY:K}=B;if(H===void 0){const oe=B.target.getBoundingClientRect();H=B.changedTouches[0].clientX-oe.left,K=B.changedTouches[0].clientY-oe.top}const J=h==="seconds"||h==="minutes"?$Ge(H,K,d):MGe(H,K,!!n);M(J,U)},L=B=>{P.current=!0,D(B,"shallow")},N=B=>{P.current&&(D(B,"finish"),P.current=!1)},R=B=>{B.buttons>0&&D(B.nativeEvent,"shallow")},I=B=>{P.current&&(P.current=!1),D(B.nativeEvent,"finish")},A=g.useMemo(()=>h==="hours"?!0:m%5===0,[h,m]),F=h==="minutes"?d:1,_=g.useRef(null);Ft(()=>{o&&_.current.focus()},[o]);const j=B=>{if(!P.current)switch(B.key){case"Home":M(0,"partial"),B.preventDefault();break;case"End":M(h==="minutes"?59:23,"partial"),B.preventDefault();break;case"ArrowUp":M(m+F,"partial"),B.preventDefault();break;case"ArrowDown":M(m-F,"partial"),B.preventDefault();break}};return k.jsxs(BGe,{className:ar(y,E.root),children:[k.jsxs(zGe,{className:E.clock,children:[k.jsx(HGe,{onTouchMove:L,onTouchEnd:N,onMouseUp:I,onMouseMove:R,ownerState:{disabled:v},className:E.squareMask}),!T&&k.jsxs(g.Fragment,{children:[k.jsx(UGe,{className:E.pin}),a&&k.jsx(LGe,{type:h,value:m,isInner:$,hasSelected:A})]}),k.jsx(VGe,{"aria-activedescendant":p,"aria-label":s(h,a,C),ref:_,role:"listbox",onKeyDown:j,tabIndex:0,className:E.wrapper,children:i})]}),n&&(O==="desktop"||r)&&k.jsxs(g.Fragment,{children:[k.jsx(WGe,{onClick:b?void 0:()=>l("am"),disabled:v||u===null,ownerState:w,className:E.amButton,children:k.jsx(Be,{variant:"caption",children:"AM"})}),k.jsx(GGe,{disabled:v||u===null,onClick:b?void 0:()=>l("pm"),ownerState:w,className:E.pmButton,children:k.jsx(Be,{variant:"caption",children:"PM"})})]})]})}function KGe(e){return Se("MuiClockNumber",e)}const l0=Pe("MuiClockNumber",["root","selected","disabled"]),YGe=["className","disabled","index","inner","label","selected"],QGe=e=>{const{classes:t,selected:n,disabled:r}=e;return de({root:["root",n&&"selected",r&&"disabled"]},KGe,t)},XGe=W("span",{name:"MuiClockNumber",slot:"Root",overridesResolver:(e,t)=>[t.root,{[`&.${l0.disabled}`]:t.disabled},{[`&.${l0.selected}`]:t.selected}]})(({theme:e,ownerState:t})=>S({height:Cc,width:Cc,position:"absolute",left:`calc((100% - ${Cc}px) / 2)`,display:"inline-flex",justifyContent:"center",alignItems:"center",borderRadius:"50%",color:e.palette.text.primary,fontFamily:e.typography.fontFamily,"&:focused":{backgroundColor:e.palette.background.paper},[`&.${l0.selected}`]:{color:e.palette.primary.contrastText},[`&.${l0.disabled}`]:{pointerEvents:"none",color:e.palette.text.disabled}},t.inner&&S({},e.typography.body2,{color:e.palette.text.secondary})));function OK(e){const t=Ee({props:e,name:"MuiClockNumber"}),{className:n,disabled:r,index:o,inner:i,label:a,selected:s}=t,l=q(t,YGe),c=t,u=QGe(c),d=o%12/12*Math.PI*2-Math.PI/2,f=(qp-Cc-2)/2*(i?.65:1),p=Math.round(Math.cos(d)*f),h=Math.round(Math.sin(d)*f);return k.jsx(XGe,S({className:ar(n,u.root),"aria-disabled":r?!0:void 0,"aria-selected":s?!0:void 0,role:"option",style:{transform:`translate(${p}px, ${h+(qp-Cc)/2}px`},ownerState:c},l,{children:a}))}const JGe=({ampm:e,date:t,getClockNumberText:n,isDisabled:r,selectedId:o,utils:i})=>{const a=t?i.getHours(t):null,s=[],l=e?1:0,c=e?12:23,u=d=>a===null?!1:e?d===12?a===12||a===0:a===d||a-12===d:a===d;for(let d=l;d<=c;d+=1){let f=d.toString();d===0&&(f="00");const p=!e&&(d===0||d>12);f=i.formatNumber(f);const h=u(d);s.push(k.jsx(OK,{id:h?o:void 0,index:d,inner:p,selected:h,disabled:r(d),label:f,"aria-label":n(f)},d))}return s},B5=({utils:e,value:t,isDisabled:n,getClockNumberText:r,selectedId:o})=>{const i=e.formatNumber;return[[5,i("05")],[10,i("10")],[15,i("15")],[20,i("20")],[25,i("25")],[30,i("30")],[35,i("35")],[40,i("40")],[45,i("45")],[50,i("50")],[55,i("55")],[0,i("00")]].map(([a,s],l)=>{const c=a===t;return k.jsx(OK,{label:s,id:c?o:void 0,index:l+1,inner:!1,disabled:n(a),selected:c,"aria-label":r(s)},a)})};function ZGe(e){return Se("MuiClockPicker",e)}Pe("MuiClockPicker",["root","arrowSwitcher"]);const e9e=e=>{const{classes:t}=e;return de({root:["root"],arrowSwitcher:["arrowSwitcher"]},ZGe,t)},t9e=W(JR,{name:"MuiClockPicker",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"flex",flexDirection:"column"}),n9e=W(xK,{name:"MuiClockPicker",slot:"ArrowSwitcher",overridesResolver:(e,t)=>t.arrowSwitcher})({position:"absolute",right:12,top:15}),r9e=SK(),o9e=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiClockPicker"}),{ampm:o=!1,ampmInClock:i=!1,autoFocus:a,components:s,componentsProps:l,date:c,disableIgnoringDatePartForTimeValidation:u,getClockLabelText:d,getHoursClockNumberText:f,getMinutesClockNumberText:p,getSecondsClockNumberText:h,leftArrowButtonText:m,maxTime:v,minTime:b,minutesStep:y=1,rightArrowButtonText:w,shouldDisableTime:C,showViewSwitcher:O,onChange:P,view:E,views:T=["hours","minutes"],openTo:$,onViewChange:M,className:D,disabled:L,readOnly:N}=r;r9e({leftArrowButtonText:m,rightArrowButtonText:w,getClockLabelText:d,getHoursClockNumberText:f,getMinutesClockNumberText:p,getSecondsClockNumberText:h});const R=Ua(),I=m??R.openPreviousView,A=w??R.openNextView,F=d??R.clockLabelText,_=f??R.hoursClockNumberText,j=p??R.minutesClockNumberText,B=h??R.secondsClockNumberText,{openView:U,setOpenView:H,nextView:K,previousView:J,handleChangeAndOpenNext:oe}=XR({view:E,views:T,openTo:$,onViewChange:M,onChange:P}),ae=Qy(),Z=wn(),ue=g.useMemo(()=>c||Z.setSeconds(Z.setMinutes(Z.setHours(ae,0),0),0),[c,ae,Z]),{meridiemMode:re,handleMeridiemChange:pe}=CK(ue,o,oe),le=g.useCallback((ce,be)=>{const ye=wK(u,Z),Me=({start:_e,end:Y})=>!(b&&ye(b,Y)||v&&ye(_e,v)),Re=(_e,Y=1)=>_e%Y!==0?!1:C?!C(_e,be):!0;switch(be){case"hours":{const _e=bI(ce,re,o),Y=Z.setHours(ue,_e),ne=Z.setSeconds(Z.setMinutes(Y,0),0),se=Z.setSeconds(Z.setMinutes(Y,59),59);return!Me({start:ne,end:se})||!Re(_e)}case"minutes":{const _e=Z.setMinutes(ue,ce),Y=Z.setSeconds(_e,0),ne=Z.setSeconds(_e,59);return!Me({start:Y,end:ne})||!Re(ce,y)}case"seconds":{const _e=Z.setSeconds(ue,ce);return!Me({start:_e,end:_e})||!Re(ce)}default:throw new Error("not supported")}},[o,ue,u,v,re,b,y,C,Z]),G=on(),te=g.useMemo(()=>{switch(U){case"hours":{const ce=(be,ye)=>{const Me=bI(be,re,o);oe(Z.setHours(ue,Me),ye)};return{onChange:ce,value:Z.getHours(ue),children:JGe({date:c,utils:Z,ampm:o,onChange:ce,getClockNumberText:_,isDisabled:be=>L||le(be,"hours"),selectedId:G})}}case"minutes":{const ce=Z.getMinutes(ue),be=(ye,Me)=>{oe(Z.setMinutes(ue,ye),Me)};return{value:ce,onChange:be,children:B5({utils:Z,value:ce,onChange:be,getClockNumberText:j,isDisabled:ye=>L||le(ye,"minutes"),selectedId:G})}}case"seconds":{const ce=Z.getSeconds(ue),be=(ye,Me)=>{oe(Z.setSeconds(ue,ye),Me)};return{value:ce,onChange:be,children:B5({utils:Z,value:ce,onChange:be,getClockNumberText:B,isDisabled:ye=>L||le(ye,"seconds"),selectedId:G})}}default:throw new Error("You must provide the type for ClockView")}},[U,Z,c,o,_,j,B,re,oe,ue,le,G,L]),fe=r,he=e9e(fe);return k.jsxs(t9e,{ref:n,className:ar(he.root,D),ownerState:fe,children:[O&&k.jsx(n9e,{className:he.arrowSwitcher,leftArrowButtonText:I,rightArrowButtonText:A,components:s,componentsProps:l,onLeftClick:()=>H(J),onRightClick:()=>H(K),isLeftDisabled:!J,isRightDisabled:!K,ownerState:fe}),k.jsx(qGe,S({autoFocus:a,date:c,ampmInClock:i,type:U,ampm:o,getClockLabelText:F,minutesStep:y,isTimeDisabled:le,meridiemMode:re,handleMeridiemChange:pe,selectedId:G,disabled:L,readOnly:N},te))]})}),TK=e=>e.length===1&&e[0]==="year",kK=e=>e.length===2&&e.indexOf("month")!==-1&&e.indexOf("year")!==-1,i9e=(e,t)=>TK(e)?{inputFormat:t.formats.year}:kK(e)?{disableMaskedInput:!0,inputFormat:t.formats.monthAndYear}:{inputFormat:t.formats.keyboardDate};function IK(e,t){var n;const r=wn(),o=Yy(),i=Ee({props:e,name:t}),a=(n=i.views)!=null?n:["year","day"];return S({openTo:"day",disableFuture:!1,disablePast:!1},i9e(a,r),i,{views:a,minDate:ta(r,i.minDate,o.minDate),maxDate:ta(r,i.maxDate,o.maxDate)})}const $K={emptyValue:null,getTodayValue:e=>e.date(),parseInput:qR,areValuesEqual:(e,t,n)=>e.isEqual(t,n)};function MK(e){return Se("MuiPickersToolbar",e)}const ZR=Pe("MuiPickersToolbar",["root","content","penIconButton","penIconButtonLandscape"]),a9e=e=>{const{classes:t,isLandscape:n}=e;return de({root:["root"],content:["content"],penIconButton:["penIconButton",n&&"penIconButtonLandscape"]},MK,t)},s9e=W("div",{name:"MuiPickersToolbar",slot:"Root",overridesResolver:(e,t)=>t.root})(({theme:e,ownerState:t})=>S({display:"flex",flexDirection:"column",alignItems:"flex-start",justifyContent:"space-between",padding:e.spacing(2,3)},t.isLandscape&&{height:"auto",maxWidth:160,padding:16,justifyContent:"flex-start",flexWrap:"wrap"})),l9e=W(Te,{name:"MuiPickersToolbar",slot:"Content",overridesResolver:(e,t)=>t.content})(({ownerState:e})=>S({flex:1},!e.isLandscape&&{alignItems:"center"})),c9e=W(Rt,{name:"MuiPickersToolbar",slot:"PenIconButton",overridesResolver:(e,t)=>[{[`&.${ZR.penIconButtonLandscape}`]:t.penIconButtonLandscape},t.penIconButton]})({}),u9e=e=>e==="clock"?k.jsx(bK,{color:"inherit"}):k.jsx(yK,{color:"inherit"}),e_=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiPickersToolbar"}),{children:o,className:i,getMobileKeyboardInputViewButtonText:a,isLandscape:s,isMobileKeyboardViewOpen:l,landscapeDirection:c="column",toggleMobileKeyboardView:u,toolbarTitle:d,viewType:f="calendar"}=r,p=r,h=Ua(),m=a9e(p);return k.jsxs(s9e,{ref:n,className:ar(m.root,i),ownerState:p,children:[k.jsx(Be,{color:"text.secondary",variant:"overline",children:d}),k.jsxs(l9e,{container:!0,justifyContent:"space-between",className:m.content,ownerState:p,direction:s?c:"row",alignItems:s?"flex-start":"flex-end",children:[o,k.jsx(c9e,{onClick:u,className:m.penIconButton,ownerState:p,color:"inherit","aria-label":a?a(l,f):h.inputModeToggleButtonAriaLabel(l,f),children:l?u9e(f):k.jsx(V8e,{color:"inherit"})})]})]})});function d9e(e){return Se("MuiDatePickerToolbar",e)}Pe("MuiDatePickerToolbar",["root","title"]);const f9e=["parsedValue","isLandscape","isMobileKeyboardViewOpen","onChange","toggleMobileKeyboardView","toolbarFormat","toolbarPlaceholder","toolbarTitle","views"],p9e=e=>{const{classes:t}=e;return de({root:["root"],title:["title"]},d9e,t)},h9e=W(e_,{name:"MuiDatePickerToolbar",slot:"Root",overridesResolver:(e,t)=>t.root})({}),m9e=W(Be,{name:"MuiDatePickerToolbar",slot:"Title",overridesResolver:(e,t)=>t.title})(({ownerState:e})=>S({},e.isLandscape&&{margin:"auto 16px auto auto"})),AK=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiDatePickerToolbar"}),{parsedValue:o,isLandscape:i,isMobileKeyboardViewOpen:a,toggleMobileKeyboardView:s,toolbarFormat:l,toolbarPlaceholder:c="––",toolbarTitle:u,views:d}=r,f=q(r,f9e),p=wn(),h=Ua(),m=p9e(r),v=u??h.datePickerDefaultToolbarTitle,b=g.useMemo(()=>o?l?p.formatByString(o,l):TK(d)?p.format(o,"year"):kK(d)?p.format(o,"month"):/en/.test(p.getCurrentLocaleCode())?p.format(o,"normalDateWithWeekday"):p.format(o,"normalDate"):c,[o,l,c,p,d]),y=r;return k.jsx(h9e,S({ref:n,toolbarTitle:v,isMobileKeyboardViewOpen:a,toggleMobileKeyboardView:s,isLandscape:i,className:m.root},f,{children:k.jsx(m9e,{variant:"h4",align:i?"left":"center",ownerState:y,className:m.title,children:b})}))}),g9e=["onAccept","onClear","onCancel","onSetToday","actions"],RK=e=>{const{onAccept:t,onClear:n,onCancel:r,onSetToday:o,actions:i}=e,a=q(e,g9e),s=g.useContext(Kc),l=Ua(),c=typeof i=="function"?i(s):i;if(c==null||c.length===0)return null;const u=c==null?void 0:c.map(d=>{switch(d){case"clear":return k.jsx(qe,{onClick:n,children:l.clearButtonLabel},d);case"cancel":return k.jsx(qe,{onClick:r,children:l.cancelButtonLabel},d);case"accept":return k.jsx(qe,{onClick:t,children:l.okButtonLabel},d);case"today":return k.jsx(qe,{onClick:o,children:l.todayButtonLabel},d);default:return null}});return k.jsx(l8,S({},a,{children:u}))};function v9e(e){return Se("MuiPickersPopper",e)}Pe("MuiPickersPopper",["root","paper"]);const y9e=["onClick","onTouchStart"],b9e=e=>{const{classes:t}=e;return de({root:["root"],paper:["paper"]},v9e,t)},x9e=W(Bc,{name:"MuiPickersPopper",slot:"Root",overridesResolver:(e,t)=>t.root})(({theme:e})=>({zIndex:e.zIndex.modal})),w9e=W(Kn,{name:"MuiPickersPopper",slot:"Paper",overridesResolver:(e,t)=>t.paper})(({ownerState:e})=>S({transformOrigin:"top center",outline:0},e.placement==="top"&&{transformOrigin:"bottom center"}));function C9e(e,t){return t.documentElement.clientWidth{if(!e)return;function l(){i.current=!0}return document.addEventListener("mousedown",l,!0),document.addEventListener("touchstart",l,!0),()=>{document.removeEventListener("mousedown",l,!0),document.removeEventListener("touchstart",l,!0),i.current=!1}},[e]);const a=Vt(l=>{if(!i.current)return;const c=r.current;r.current=!1;const u=gn(o.current);if(!o.current||"clientX"in l&&C9e(l,u))return;if(n.current){n.current=!1;return}let d;l.composedPath?d=l.composedPath().indexOf(o.current)>-1:d=!u.documentElement.contains(l.target)||o.current.contains(l.target),!d&&!c&&t(l)}),s=()=>{r.current=!0};return g.useEffect(()=>{if(e){const l=gn(o.current),c=()=>{n.current=!0};return l.addEventListener("touchstart",a),l.addEventListener("touchmove",c),()=>{l.removeEventListener("touchstart",a),l.removeEventListener("touchmove",c)}}},[e,a]),g.useEffect(()=>{if(e){const l=gn(o.current);return l.addEventListener("click",a),()=>{l.removeEventListener("click",a),r.current=!1}}},[e,a]),[o,s,s]}function P9e(e){var t;const n=Ee({props:e,name:"MuiPickersPopper"}),{anchorEl:r,children:o,containerRef:i=null,onBlur:a,onClose:s,onClear:l,onAccept:c,onCancel:u,onSetToday:d,open:f,PopperProps:p,role:h,TransitionComponent:m=nd,TrapFocusProps:v,PaperProps:b={},components:y,componentsProps:w}=n;g.useEffect(()=>{function j(B){f&&(B.key==="Escape"||B.key==="Esc")&&s()}return document.addEventListener("keydown",j),()=>{document.removeEventListener("keydown",j)}},[s,f]);const C=g.useRef(null);g.useEffect(()=>{h!=="tooltip"&&(f?C.current=sK(document):C.current&&C.current instanceof HTMLElement&&setTimeout(()=>{C.current instanceof HTMLElement&&C.current.focus()}))},[f,h]);const[O,P,E]=S9e(f,a??s),T=g.useRef(null),$=Ot(T,i),M=Ot($,O),D=n,L=b9e(D),{onClick:N,onTouchStart:R}=b,I=q(b,y9e),A=j=>{j.key==="Escape"&&(j.stopPropagation(),s())},F=(t=y==null?void 0:y.ActionBar)!=null?t:RK,_=(y==null?void 0:y.PaperContent)||g.Fragment;return k.jsx(x9e,S({transition:!0,role:h,open:f,anchorEl:r,onKeyDown:A,className:L.root},p,{children:({TransitionProps:j,placement:B})=>k.jsx(eA,S({open:f,disableAutoFocus:!0,disableRestoreFocus:!0,disableEnforceFocus:h==="tooltip",isEnabled:()=>!0},v,{children:k.jsx(m,S({},j,{children:k.jsx(w9e,S({tabIndex:-1,elevation:8,ref:M,onClick:U=>{P(U),N&&N(U)},onTouchStart:U=>{E(U),R&&R(U)},ownerState:S({},D,{placement:B}),className:L.paper},I,{children:k.jsxs(_,S({},w==null?void 0:w.paperContent,{children:[o,k.jsx(F,S({onAccept:c,onClear:l,onCancel:u,onSetToday:d,actions:[]},w==null?void 0:w.actionBar))]}))}))}))}))}))}function t_(e){const{children:t,DateInputProps:n,KeyboardDateInputComponent:r,onClear:o,onDismiss:i,onCancel:a,onAccept:s,onSetToday:l,open:c,PopperProps:u,PaperProps:d,TransitionComponent:f,components:p,componentsProps:h}=e,m=g.useRef(null),v=Ot(n.inputRef,m);return k.jsxs(Kc.Provider,{value:"desktop",children:[k.jsx(r,S({},n,{inputRef:v})),k.jsx(P9e,{role:"dialog",open:c,anchorEl:m.current,TransitionComponent:f,PopperProps:u,PaperProps:d,onClose:i,onCancel:a,onClear:o,onAccept:s,onSetToday:l,components:p,componentsProps:h,children:t})]})}const E9e=e=>{const[,t]=g.useReducer(l=>l+1,0),n=g.useRef(null),{replace:r,append:o}=e,i=r?r(e.format(e.value)):e.format(e.value),a=g.useRef(!1),s=l=>{const c=l.target.value;n.current=[c,l.target,c.length>i.length,a.current,i===e.format(c)],t()};return g.useLayoutEffect(()=>{if(n.current==null)return;let[l,c,u,d,f]=n.current;n.current=null;const p=d&&f,m=l.slice(c.selectionStart).search(e.accept||/\d/g),v=m!==-1?m:0,b=P=>(P.match(e.accept||/\d/g)||[]).join(""),y=b(l.substr(0,c.selectionStart)),w=P=>{let E=0,T=0;for(let $=0;$!==y.length;++$){let M=P.indexOf(y[$],E)+1,D=b(P).indexOf(y[$],T)+1;D-T>1&&(M=E,D=T),T=Math.max(D,T),E=Math.max(E,M)}return E};if(e.mask===!0&&u&&!f){let P=w(l);const E=b(l.substr(P))[0];P=l.indexOf(E,P),l=`${l.substr(0,P)}${l.substr(P+1)}`}let C=e.format(l);o!=null&&c.selectionStart===l.length&&!f&&(u?C=o(C):b(C.slice(-1))===""&&(C=C.slice(0,-1)));const O=r?r(C):C;return i===O?t():e.onChange(O),()=>{let P=w(C);if(e.mask!=null&&(u||d&&!p))for(;C[P]&&b(C[P])==="";)P+=1;c.selectionStart=c.selectionEnd=P+(p?1+v:0)}}),g.useEffect(()=>{const l=u=>{u.code==="Delete"&&(a.current=!0)},c=u=>{u.code==="Delete"&&(a.current=!1)};return document.addEventListener("keydown",l),document.addEventListener("keyup",c),()=>{document.removeEventListener("keydown",l),document.removeEventListener("keyup",c)}},[]),{value:n.current!=null?n.current[0]:i,onChange:s}},xI=(e,t,n)=>{const r=e.date(t);return t===null?"":e.isValid(r)?e.formatByString(r,n):""},Ww="_",_K="2019-11-21T22:30:00.000",DK="2019-01-01T09:00:00.000";function O9e(e,t,n,r){if(e)return e;const i=r.formatByString(r.date(DK),t).replace(n,Ww),a=r.formatByString(r.date(_K),t).replace(n,"_");return i===a?i:""}function T9e(e,t,n,r){if(!e)return!1;const i=r.formatByString(r.date(DK),t).replace(n,Ww),a=r.formatByString(r.date(_K),t).replace(n,"_"),s=a===i&&e===a;return!s&&r.lib,s}const k9e=(e,t)=>n=>{let r=0;return n.split("").map((o,i)=>{if(t.lastIndex=0,r>e.length-1)return"";const a=e[r],s=e[r+1],l=t.test(o)?o:"",c=a===Ww?l:a+l;return r+=c.length,i===n.length-1&&s&&s!==Ww?c?c+s:"":c}).join("")},I9e=({acceptRegex:e=/[\d]/gi,disabled:t,disableMaskedInput:n,ignoreInvalidInputs:r,inputFormat:o,inputProps:i,label:a,mask:s,onChange:l,rawValue:c,readOnly:u,rifmFormatter:d,TextFieldProps:f,validationError:p})=>{const h=wn(),m=h.getFormatHelperText(o),{shouldUseMaskedInput:v,maskToUse:b}=g.useMemo(()=>{if(n)return{shouldUseMaskedInput:!1,maskToUse:""};const R=O9e(s,o,e,h);return{shouldUseMaskedInput:T9e(R,o,e,h),maskToUse:R}},[e,n,o,s,h]),y=g.useMemo(()=>v&&b?k9e(b,e):R=>R,[e,b,v]),w=c===null?null:h.date(c),[C,O]=g.useState(w),[P,E]=g.useState(xI(h,c,o)),T=g.useRef(),$=g.useRef(h.locale),M=g.useRef(o);g.useEffect(()=>{const R=c!==T.current,I=h.locale!==$.current,A=o!==M.current;if(T.current=c,$.current=h.locale,M.current=o,!R&&!I&&!A)return;const F=c===null?null:h.date(c),_=c===null||h.isValid(F);let j=C===null&&F===null;if(C!==null&&F!==null){const U=h.isEqual(C,F);if(U)j=!0;else{const H=Math.abs(h.getDiff(C,F));j=H===0?U:H<1e3}}if(!I&&!A&&(!_||j))return;const B=xI(h,c,o);O(F),E(B)},[h,c,o,C]);const D=R=>{const I=R===""||R===s?"":R;E(I);const A=I===null?null:h.parse(I,o);r&&!h.isValid(A)||(O(A),l(A,I||void 0))},L=E9e({value:P,onChange:D,format:d||y});return S({label:a,disabled:t,error:p,inputProps:S({},v?L:{value:P,onChange:R=>{D(R.currentTarget.value)}},{disabled:t,placeholder:m,readOnly:u,type:v?"tel":"text"},i)},f)},$9e=["className","components","disableOpenPicker","getOpenDialogAriaText","InputAdornmentProps","InputProps","inputRef","openPicker","OpenPickerButtonProps","renderInput"],DS=g.forwardRef(function(t,n){const{className:r,components:o={},disableOpenPicker:i,getOpenDialogAriaText:a,InputAdornmentProps:s,InputProps:l,inputRef:c,openPicker:u,OpenPickerButtonProps:d,renderInput:f}=t,p=q(t,$9e),h=Ua(),m=a??h.openDatePickerDialogue,v=wn(),b=I9e(p),y=(s==null?void 0:s.position)||"end",w=o.OpenPickerIcon||yK;return f(S({ref:n,inputRef:c,className:r},b,{InputProps:S({},l,{[`${y}Adornment`]:i?void 0:k.jsx(dr,S({position:y},s,{children:k.jsx(Rt,S({edge:y,disabled:p.disabled||p.readOnly,"aria-label":m(p.rawValue,v)},d,{onClick:u,children:k.jsx(w,{})}))}))})}))});function z5(){return typeof window>"u"?"portrait":window.screen&&window.screen.orientation&&window.screen.orientation.angle?Math.abs(window.screen.orientation.angle)===90?"landscape":"portrait":window.orientation&&Math.abs(Number(window.orientation))===90?"landscape":"portrait"}const M9e=(e,t)=>{const[n,r]=g.useState(z5);return Ft(()=>{const i=()=>{r(z5())};return window.addEventListener("orientationchange",i),()=>{window.removeEventListener("orientationchange",i)}},[]),yu(e,["hours","minutes","seconds"])?!1:(t||n)==="landscape"},A9e=({autoFocus:e,openView:t})=>{const[n,r]=g.useState(e?t:null),o=g.useCallback(i=>a=>{r(a?i:s=>i===s?null:s)},[]);return{focusedView:n,setFocusedView:o}};function R9e(e){return Se("MuiCalendarOrClockPicker",e)}Pe("MuiCalendarOrClockPicker",["root","mobileKeyboardInputView"]);const _9e=["autoFocus","className","parsedValue","DateInputProps","isMobileKeyboardViewOpen","onDateChange","onViewChange","openTo","orientation","showToolbar","toggleMobileKeyboardView","ToolbarComponent","toolbarFormat","toolbarPlaceholder","toolbarTitle","views","dateRangeIcon","timeIcon","hideTabs","classes"],D9e=e=>{const{classes:t}=e;return de({root:["root"],mobileKeyboardInputView:["mobileKeyboardInputView"]},R9e,t)},N9e=W("div",{name:"MuiCalendarOrClockPicker",slot:"MobileKeyboardInputView",overridesResolver:(e,t)=>t.mobileKeyboardInputView})({padding:"16px 24px"}),L9e=W("div",{name:"MuiCalendarOrClockPicker",slot:"Root",overridesResolver:(e,t)=>t.root})(({ownerState:e})=>S({display:"flex",flexDirection:"column"},e.isLandscape&&{flexDirection:"row"})),j9e={fullWidth:!0},V5=e=>e==="year"||e==="month"||e==="day",H5=e=>e==="hours"||e==="minutes"||e==="seconds";function Vh(e){var t,n;const r=Ee({props:e,name:"MuiCalendarOrClockPicker"}),{autoFocus:o,parsedValue:i,DateInputProps:a,isMobileKeyboardViewOpen:s,onDateChange:l,onViewChange:c,openTo:u,orientation:d,showToolbar:f,toggleMobileKeyboardView:p,ToolbarComponent:h=()=>null,toolbarFormat:m,toolbarPlaceholder:v,toolbarTitle:b,views:y,dateRangeIcon:w,timeIcon:C,hideTabs:O}=r,P=q(r,_9e),E=(t=P.components)==null?void 0:t.Tabs,T=M9e(y,d),$=g.useContext(Kc),M=D9e(r),D=f??$!=="desktop",L=!O&&typeof window<"u"&&window.innerHeight>667,N=g.useCallback((B,U)=>{l(B,$,U)},[l,$]),R=g.useCallback(B=>{s&&p(),c&&c(B)},[s,c,p]),{openView:I,setOpenView:A,handleChangeAndOpenNext:F}=XR({view:void 0,views:y,openTo:u,onChange:N,onViewChange:R}),{focusedView:_,setFocusedView:j}=A9e({autoFocus:o,openView:I});return k.jsxs(L9e,{ownerState:{isLandscape:T},className:M.root,children:[D&&k.jsx(h,S({},P,{views:y,isLandscape:T,parsedValue:i,onChange:N,setOpenView:A,openView:I,toolbarTitle:b,toolbarFormat:m,toolbarPlaceholder:v,isMobileKeyboardViewOpen:s,toggleMobileKeyboardView:p})),L&&!!E&&k.jsx(E,S({dateRangeIcon:w,timeIcon:C,view:I,onChange:A},(n=P.componentsProps)==null?void 0:n.tabs)),k.jsx(JR,{children:s?k.jsx(N9e,{className:M.mobileKeyboardInputView,children:k.jsx(DS,S({},a,{ignoreInvalidInputs:!0,disableOpenPicker:!0,TextFieldProps:j9e}))}):k.jsxs(g.Fragment,{children:[V5(I)&&k.jsx(OGe,S({autoFocus:o,date:i,onViewChange:A,onChange:F,view:I,views:y.filter(V5),focusedView:_,onFocusedViewChange:j},P)),H5(I)&&k.jsx(o9e,S({},P,{autoFocus:o,date:i,view:I,views:y.filter(H5),onChange:F,onViewChange:A,showViewSwitcher:$==="desktop"}))]})})]})}const F9e=({open:e,onOpen:t,onClose:n})=>{const r=g.useRef(typeof e=="boolean").current,[o,i]=g.useState(!1);g.useEffect(()=>{if(r){if(typeof e!="boolean")throw new Error("You must not mix controlling and uncontrolled mode for `open` prop");i(e)}},[r,e]);const a=g.useCallback(s=>{r||i(s),s&&t&&t(),!s&&n&&n()},[r,t,n]);return{isOpen:o,setIsOpen:a}},Hh=(e,t)=>{const{onAccept:n,onChange:r,value:o,closeOnSelect:i}=e,a=wn(),{isOpen:s,setIsOpen:l}=F9e(e),c=g.useMemo(()=>t.parseInput(a,o),[t,a,o]),[u,d]=g.useState(c),[f,p]=g.useState(()=>({committed:c,draft:c,resetFallback:c})),h=g.useCallback(P=>{p(E=>{switch(P.action){case"setAll":case"acceptAndClose":return{draft:P.value,committed:P.value,resetFallback:P.value};case"setCommitted":return S({},E,{draft:P.value,committed:P.value});case"setDraft":return S({},E,{draft:P.value});default:return E}}),(P.forceOnChangeCall||!P.skipOnChangeCall&&!t.areValuesEqual(a,f.committed,P.value))&&r(P.value),P.action==="acceptAndClose"&&(l(!1),n&&!t.areValuesEqual(a,f.resetFallback,P.value)&&n(P.value))},[n,r,l,f,a,t]);g.useEffect(()=>{a.isValid(c)&&d(c)},[a,c]),g.useEffect(()=>{s&&h({action:"setAll",value:c,skipOnChangeCall:!0})},[s]),t.areValuesEqual(a,f.committed,c)||h({action:"setCommitted",value:c,skipOnChangeCall:!0});const m=g.useMemo(()=>({open:s,onClear:()=>{h({value:t.emptyValue,action:"acceptAndClose",forceOnChangeCall:!t.areValuesEqual(a,o,t.emptyValue)})},onAccept:()=>{h({value:f.draft,action:"acceptAndClose",forceOnChangeCall:!t.areValuesEqual(a,o,c)})},onDismiss:()=>{h({value:f.committed,action:"acceptAndClose"})},onCancel:()=>{h({value:f.resetFallback,action:"acceptAndClose"})},onSetToday:()=>{h({value:t.getTodayValue(a),action:"acceptAndClose"})}}),[h,s,a,f,t,o,c]),[v,b]=g.useState(!1),y=g.useMemo(()=>({parsedValue:f.draft,isMobileKeyboardViewOpen:v,toggleMobileKeyboardView:()=>b(!v),onDateChange:(P,E,T="partial")=>{switch(T){case"shallow":return h({action:"setDraft",value:P,skipOnChangeCall:!0});case"partial":return h({action:"setDraft",value:P});case"finish":return h(i??E==="desktop"?{value:P,action:"acceptAndClose"}:{value:P,action:"setCommitted"});default:throw new Error("MUI: Invalid selectionState passed to `onDateChange`")}}}),[h,v,f.draft,i]),w=g.useCallback((P,E)=>{const T=t.valueReducer?t.valueReducer(a,u,P):P;r(T,E)},[r,t,u,a]),C=g.useMemo(()=>({onChange:w,open:s,rawValue:o,openPicker:()=>l(!0)}),[w,s,o,l]),O={pickerProps:y,inputProps:C,wrapperProps:m};return g.useDebugValue(O,()=>({MuiPickerState:{dateState:f,other:O}})),O},B9e=["onChange","PopperProps","PaperProps","ToolbarComponent","TransitionComponent","value","components","componentsProps"],z9e=g.forwardRef(function(t,n){const r=IK(t,"MuiDesktopDatePicker"),o=dK(r)!==null,{pickerProps:i,inputProps:a,wrapperProps:s}=Hh(r,$K),{PopperProps:l,PaperProps:c,ToolbarComponent:u=AK,TransitionComponent:d,components:f,componentsProps:p}=r,h=q(r,B9e),m=S({},a,h,{components:f,componentsProps:p,ref:n,validationError:o});return k.jsx(t_,S({},s,{DateInputProps:m,KeyboardDateInputComponent:DS,PopperProps:l,PaperProps:c,TransitionComponent:d,components:f,componentsProps:p,children:k.jsx(Vh,S({},i,{autoFocus:!0,toolbarTitle:r.label||r.toolbarTitle,ToolbarComponent:u,DateInputProps:m,components:f,componentsProps:p},h))}))}),V9e=W(s8)({[`& .${bg.container}`]:{outline:0},[`& .${bg.paper}`]:{outline:0,minWidth:pK}}),H9e=W(c8)({"&:first-of-type":{padding:0}}),U9e=e=>{var t;const{children:n,DialogProps:r={},onAccept:o,onClear:i,onDismiss:a,onCancel:s,onSetToday:l,open:c,components:u,componentsProps:d}=e,f=(t=u==null?void 0:u.ActionBar)!=null?t:RK;return k.jsxs(V9e,S({open:c,onClose:a},r,{children:[k.jsx(H9e,{children:n}),k.jsx(f,S({onAccept:o,onClear:i,onCancel:s,onSetToday:l,actions:["cancel","accept"]},d==null?void 0:d.actionBar))]}))},W9e=["children","DateInputProps","DialogProps","onAccept","onClear","onDismiss","onCancel","onSetToday","open","PureDateInputComponent","components","componentsProps"];function n_(e){const{children:t,DateInputProps:n,DialogProps:r,onAccept:o,onClear:i,onDismiss:a,onCancel:s,onSetToday:l,open:c,PureDateInputComponent:u,components:d,componentsProps:f}=e,p=q(e,W9e);return k.jsxs(Kc.Provider,{value:"mobile",children:[k.jsx(u,S({components:d},p,n)),k.jsx(U9e,{DialogProps:r,onAccept:o,onClear:i,onDismiss:a,onCancel:s,onSetToday:l,open:c,components:d,componentsProps:f,children:t})]})}const r_=g.forwardRef(function(t,n){const{disabled:r,getOpenDialogAriaText:o,inputFormat:i,InputProps:a,inputRef:s,label:l,openPicker:c,rawValue:u,renderInput:d,TextFieldProps:f={},validationError:p,className:h}=t,m=Ua(),v=o??m.openDatePickerDialogue,b=wn(),y=g.useMemo(()=>S({},a,{readOnly:!0}),[a]),w=xI(b,u,i),C=Vt(O=>{O.stopPropagation(),c()});return d(S({label:l,disabled:r,ref:n,inputRef:s,error:p,InputProps:y,className:h},!t.readOnly&&!t.disabled&&{onClick:C},{inputProps:S({disabled:r,readOnly:!0,"aria-readonly":!0,"aria-label":v(u,b),value:w},!t.readOnly&&{onClick:C},{onKeyDown:aK(c)})},f))}),G9e=["ToolbarComponent","value","onChange","components","componentsProps"],q9e=g.forwardRef(function(t,n){const r=IK(t,"MuiMobileDatePicker"),o=dK(r)!==null,{pickerProps:i,inputProps:a,wrapperProps:s}=Hh(r,$K),{ToolbarComponent:l=AK,components:c,componentsProps:u}=r,d=q(r,G9e),f=S({},a,d,{components:c,componentsProps:u,ref:n,validationError:o});return k.jsx(n_,S({},d,s,{DateInputProps:f,PureDateInputComponent:r_,components:c,componentsProps:u,children:k.jsx(Vh,S({},i,{autoFocus:!0,toolbarTitle:r.label||r.toolbarTitle,ToolbarComponent:l,DateInputProps:f,components:c,componentsProps:u},d))}))}),K9e=["desktopModeMediaQuery","DialogProps","PopperProps","TransitionComponent"],NK=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiDatePicker"}),{desktopModeMediaQuery:o="@media (pointer: fine)",DialogProps:i,PopperProps:a,TransitionComponent:s}=r,l=q(r,K9e);return J1(o,{defaultMatches:!0})?k.jsx(z9e,S({ref:n,PopperProps:a,TransitionComponent:s},l)):k.jsx(q9e,S({ref:n,DialogProps:i},l))});function LK(e,t){var n,r,o,i,a;const s=Ee({props:e,name:t}),l=wn(),c=Yy(),u=(n=s.ampm)!=null?n:l.is12HourCycleInCurrentLocale();if(s.orientation!=null&&s.orientation!=="portrait")throw new Error("We are not supporting custom orientation for DateTimePicker yet :(");return S({ampm:u,orientation:"portrait",openTo:"day",views:["year","day","hours","minutes"],ampmInClock:!0,acceptRegex:u?/[\dap]/gi:/\d/gi,disableMaskedInput:!1,inputFormat:u?l.formats.keyboardDateTime12h:l.formats.keyboardDateTime24h,disableIgnoringDatePartForTimeValidation:!!(s.minDateTime||s.maxDateTime),disablePast:!1,disableFuture:!1},s,{minDate:ta(l,(r=s.minDateTime)!=null?r:s.minDate,c.minDate),maxDate:ta(l,(o=s.maxDateTime)!=null?o:s.maxDate,c.maxDate),minTime:(i=s.minDateTime)!=null?i:s.minTime,maxTime:(a=s.maxDateTime)!=null?a:s.maxTime})}const jK={emptyValue:null,getTodayValue:e=>e.date(),parseInput:qR,areValuesEqual:(e,t,n)=>e.isEqual(t,n)},Y9e=e=>{switch(e){case"year":case"month":case"day":return"calendar";default:return"clock"}};function Q9e(e){return Se("PrivatePickersToolbarText",e)}const U5=Pe("PrivatePickersToolbarText",["root","selected"]),X9e=["className","selected","value"],J9e=e=>{const{classes:t,selected:n}=e;return de({root:["root",n&&"selected"]},Q9e,t)},Z9e=W(Be,{name:"PrivatePickersToolbarText",slot:"Root",overridesResolver:(e,t)=>[t.root,{[`&.${U5.selected}`]:t.selected}]})(({theme:e})=>({transition:e.transitions.create("color"),color:e.palette.text.secondary,[`&.${U5.selected}`]:{color:e.palette.text.primary}})),o_=g.forwardRef(function(t,n){const{className:r,value:o}=t,i=q(t,X9e),a=J9e(t);return k.jsx(Z9e,S({ref:n,className:ar(r,a.root),component:"span"},i,{children:o}))}),e7e=["align","className","selected","typographyClassName","value","variant"],t7e=e=>{const{classes:t}=e;return de({root:["root"]},MK,t)},n7e=W(qe,{name:"MuiPickersToolbarButton",slot:"Root",overridesResolver:(e,t)=>t.root})({padding:0,minWidth:16,textTransform:"none"}),rs=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiPickersToolbarButton"}),{align:o,className:i,selected:a,typographyClassName:s,value:l,variant:c}=r,u=q(r,e7e),d=t7e(r);return k.jsx(n7e,S({variant:"text",ref:n,className:ar(i,d.root)},u,{children:k.jsx(o_,{align:o,className:s,variant:c,value:l,selected:a})}))});function r7e(e){return Se("MuiDateTimePickerToolbar",e)}Pe("MuiDateTimePickerToolbar",["root","dateContainer","timeContainer","separator"]);const o7e=["ampm","parsedValue","isMobileKeyboardViewOpen","onChange","openView","setOpenView","toggleMobileKeyboardView","toolbarFormat","toolbarPlaceholder","toolbarTitle","views"],i7e=e=>{const{classes:t}=e;return de({root:["root"],dateContainer:["dateContainer"],timeContainer:["timeContainer"],separator:["separator"]},r7e,t)},a7e=W(e_,{name:"MuiDateTimePickerToolbar",slot:"Root",overridesResolver:(e,t)=>t.root})(({theme:e})=>({paddingLeft:16,paddingRight:16,justifyContent:"space-around",position:"relative",[`& .${ZR.penIconButton}`]:S({position:"absolute",top:8},e.direction==="rtl"?{left:8}:{right:8})})),s7e=W("div",{name:"MuiDateTimePickerToolbar",slot:"DateContainer",overridesResolver:(e,t)=>t.dateContainer})({display:"flex",flexDirection:"column",alignItems:"flex-start"}),l7e=W("div",{name:"MuiDateTimePickerToolbar",slot:"TimeContainer",overridesResolver:(e,t)=>t.timeContainer})({display:"flex"}),W5=W(o_,{name:"MuiDateTimePickerToolbar",slot:"Separator",overridesResolver:(e,t)=>t.separator})({margin:"0 4px 0 2px",cursor:"default"});function FK(e){const t=Ee({props:e,name:"MuiDateTimePickerToolbar"}),{ampm:n,parsedValue:r,isMobileKeyboardViewOpen:o,openView:i,setOpenView:a,toggleMobileKeyboardView:s,toolbarFormat:l,toolbarPlaceholder:c="––",toolbarTitle:u,views:d}=t,f=q(t,o7e),p=t,h=wn(),m=Ua(),v=i7e(p),b=u??m.dateTimePickerDefaultToolbarTitle,y=C=>n?h.format(C,"hours12h"):h.format(C,"hours24h"),w=g.useMemo(()=>r?l?h.formatByString(r,l):h.format(r,"shortDate"):c,[r,l,c,h]);return k.jsxs(a7e,S({toolbarTitle:b,isMobileKeyboardViewOpen:o,toggleMobileKeyboardView:s,className:v.root,viewType:Y9e(i)},f,{isLandscape:!1,ownerState:p,children:[k.jsxs(s7e,{className:v.dateContainer,ownerState:p,children:[d.includes("year")&&k.jsx(rs,{tabIndex:-1,variant:"subtitle1",onClick:()=>a("year"),selected:i==="year",value:r?h.format(r,"year"):"–"}),d.includes("day")&&k.jsx(rs,{tabIndex:-1,variant:"h4",onClick:()=>a("day"),selected:i==="day",value:w})]}),k.jsxs(l7e,{className:v.timeContainer,ownerState:p,children:[d.includes("hours")&&k.jsx(rs,{variant:"h3",onClick:()=>a("hours"),selected:i==="hours",value:r?y(r):"--"}),d.includes("minutes")&&k.jsxs(g.Fragment,{children:[k.jsx(W5,{variant:"h3",value:":",className:v.separator,ownerState:p}),k.jsx(rs,{variant:"h3",onClick:()=>a("minutes"),selected:i==="minutes",value:r?h.format(r,"minutes"):"--"})]}),d.includes("seconds")&&k.jsxs(g.Fragment,{children:[k.jsx(W5,{variant:"h3",value:":",className:v.separator,ownerState:p}),k.jsx(rs,{variant:"h3",onClick:()=>a("seconds"),selected:i==="seconds",value:r?h.format(r,"seconds"):"--"})]})]})]}))}const BK=({adapter:e,value:t,props:n})=>{const{minTime:r,maxTime:o,minutesStep:i,shouldDisableTime:a,disableIgnoringDatePartForTimeValidation:s}=n,l=e.utils.date(t),c=wK(s,e.utils);if(t===null)return null;switch(!0){case!e.utils.isValid(t):return"invalidDate";case!!(r&&c(r,l)):return"minTime";case!!(o&&c(l,o)):return"maxTime";case!!(a&&a(e.utils.getHours(l),"hours")):return"shouldDisableTime-hours";case!!(a&&a(e.utils.getMinutes(l),"minutes")):return"shouldDisableTime-minutes";case!!(a&&a(e.utils.getSeconds(l),"seconds")):return"shouldDisableTime-seconds";case!!(i&&e.utils.getMinutes(l)%i!==0):return"minutesStep";default:return null}},c7e=(e,t)=>e===t,zK=e=>KR(e,BK,c7e),u7e=["minDate","maxDate","disableFuture","shouldDisableDate","disablePast"],d7e=({props:e,value:t,adapter:n})=>{const{minDate:r,maxDate:o,disableFuture:i,shouldDisableDate:a,disablePast:s}=e,l=q(e,u7e),c=YR({adapter:n,value:t,props:{minDate:r,maxDate:o,disableFuture:i,shouldDisableDate:a,disablePast:s}});return c!==null?c:BK({adapter:n,value:t,props:l})},f7e=(e,t)=>e===t;function VK(e){return KR(e,d7e,f7e)}function p7e(e){return Se("MuiDateTimePickerTabs",e)}Pe("MuiDateTimePickerTabs",["root"]);const h7e=e=>["day","month","year"].includes(e)?"date":"time",m7e=e=>e==="date"?"day":"hours",g7e=e=>{const{classes:t}=e;return de({root:["root"]},p7e,t)},v7e=W(C0e,{name:"MuiDateTimePickerTabs",slot:"Root",overridesResolver:(e,t)=>t.root})(({ownerState:e,theme:t})=>S({boxShadow:`0 -1px 0 0 inset ${t.palette.divider}`},e.wrapperVariant==="desktop"&&{order:1,boxShadow:`0 1px 0 0 inset ${t.palette.divider}`,[`& .${H0.indicator}`]:{bottom:"auto",top:0}})),HK=function(t){const n=Ee({props:t,name:"MuiDateTimePickerTabs"}),{dateRangeIcon:r=k.jsx(z8e,{}),onChange:o,timeIcon:i=k.jsx(H8e,{}),view:a}=n,s=Ua(),l=g.useContext(Kc),c=S({},n,{wrapperVariant:l}),u=g7e(c),d=(f,p)=>{o(m7e(p))};return k.jsxs(v7e,{ownerState:c,variant:"fullWidth",value:h7e(a),onChange:d,className:u.root,children:[k.jsx(rj,{value:"date","aria-label":s.dateTableLabel,icon:k.jsx(g.Fragment,{children:r})}),k.jsx(rj,{value:"time","aria-label":s.timeTableLabel,icon:k.jsx(g.Fragment,{children:i})})]})},y7e=["onChange","PaperProps","PopperProps","ToolbarComponent","TransitionComponent","value","components","componentsProps","hideTabs"],b7e=g.forwardRef(function(t,n){const r=LK(t,"MuiDesktopDateTimePicker"),o=VK(r)!==null,{pickerProps:i,inputProps:a,wrapperProps:s}=Hh(r,jK),{PaperProps:l,PopperProps:c,ToolbarComponent:u=FK,TransitionComponent:d,components:f,componentsProps:p,hideTabs:h=!0}=r,m=q(r,y7e),v=g.useMemo(()=>S({Tabs:HK},f),[f]),b=S({},a,m,{components:v,componentsProps:p,ref:n,validationError:o});return k.jsx(t_,S({},s,{DateInputProps:b,KeyboardDateInputComponent:DS,PopperProps:c,PaperProps:l,TransitionComponent:d,components:v,componentsProps:p,children:k.jsx(Vh,S({},i,{autoFocus:!0,toolbarTitle:r.label||r.toolbarTitle,ToolbarComponent:u,DateInputProps:b,components:v,componentsProps:p,hideTabs:h},m))}))}),x7e=["ToolbarComponent","value","onChange","components","componentsProps","hideTabs"],w7e=g.forwardRef(function(t,n){const r=LK(t,"MuiMobileDateTimePicker"),o=VK(r)!==null,{pickerProps:i,inputProps:a,wrapperProps:s}=Hh(r,jK),{ToolbarComponent:l=FK,components:c,componentsProps:u,hideTabs:d=!1}=r,f=q(r,x7e),p=g.useMemo(()=>S({Tabs:HK},c),[c]),h=S({},a,f,{components:p,componentsProps:u,ref:n,validationError:o});return k.jsx(n_,S({},f,s,{DateInputProps:h,PureDateInputComponent:r_,components:p,componentsProps:u,children:k.jsx(Vh,S({},i,{autoFocus:!0,toolbarTitle:r.label||r.toolbarTitle,ToolbarComponent:l,DateInputProps:h,components:p,componentsProps:u,hideTabs:d},f))}))}),C7e=["desktopModeMediaQuery","DialogProps","PopperProps","TransitionComponent"],S7e=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiDateTimePicker"}),{desktopModeMediaQuery:o="@media (pointer: fine)",DialogProps:i,PopperProps:a,TransitionComponent:s}=r,l=q(r,C7e);return J1(o,{defaultMatches:!0})?k.jsx(b7e,S({ref:n,PopperProps:a,TransitionComponent:s},l)):k.jsx(w7e,S({ref:n,DialogProps:i},l))});function UK(e,t){var n;const r=Ee({props:e,name:t}),o=wn(),i=(n=r.ampm)!=null?n:o.is12HourCycleInCurrentLocale(),s=Ua().openTimePickerDialogue;return S({ampm:i,openTo:"hours",views:["hours","minutes"],acceptRegex:i?/[\dapAP]/gi:/\d/gi,disableMaskedInput:!1,getOpenDialogAriaText:s,inputFormat:i?o.formats.fullTime12h:o.formats.fullTime24h},r,{components:S({OpenPickerIcon:bK},r.components)})}const WK={emptyValue:null,parseInput:qR,getTodayValue:e=>e.date(),areValuesEqual:(e,t,n)=>e.isEqual(t,n),valueReducer:(e,t,n)=>!t||!e.isValid(n)?n:e.mergeDateAndTime(t,n)};function P7e(e){return Se("MuiTimePickerToolbar",e)}const Ag=Pe("MuiTimePickerToolbar",["root","separator","hourMinuteLabel","hourMinuteLabelLandscape","hourMinuteLabelReverse","ampmSelection","ampmLandscape","ampmLabel"]),E7e=["ampm","ampmInClock","parsedValue","isLandscape","isMobileKeyboardViewOpen","onChange","openView","setOpenView","toggleMobileKeyboardView","toolbarTitle","views","disabled","readOnly"],O7e=e=>{const{theme:t,isLandscape:n,classes:r}=e,o={root:["root"],separator:["separator"],hourMinuteLabel:["hourMinuteLabel",n&&"hourMinuteLabelLandscape",t.direction==="rtl"&&"hourMinuteLabelReverse"],ampmSelection:["ampmSelection",n&&"ampmLandscape"],ampmLabel:["ampmLabel"]};return de(o,P7e,r)},T7e=W(e_,{name:"MuiTimePickerToolbar",slot:"Root",overridesResolver:(e,t)=>t.root})({[`& .${ZR.penIconButtonLandscape}`]:{marginTop:"auto"}}),k7e=W(o_,{name:"MuiTimePickerToolbar",slot:"Separator",overridesResolver:(e,t)=>t.separator})({outline:0,margin:"0 4px 0 2px",cursor:"default"}),I7e=W("div",{name:"MuiTimePickerToolbar",slot:"HourMinuteLabel",overridesResolver:(e,t)=>[{[`&.${Ag.hourMinuteLabelLandscape}`]:t.hourMinuteLabelLandscape,[`&.${Ag.hourMinuteLabelReverse}`]:t.hourMinuteLabelReverse},t.hourMinuteLabel]})(({theme:e,ownerState:t})=>S({display:"flex",justifyContent:"flex-end",alignItems:"flex-end"},t.isLandscape&&{marginTop:"auto"},e.direction==="rtl"&&{flexDirection:"row-reverse"})),$7e=W("div",{name:"MuiTimePickerToolbar",slot:"AmPmSelection",overridesResolver:(e,t)=>[{[`.${Ag.ampmLabel}`]:t.ampmLabel},{[`&.${Ag.ampmLandscape}`]:t.ampmLandscape},t.ampmSelection]})(({ownerState:e})=>S({display:"flex",flexDirection:"column",marginRight:"auto",marginLeft:12},e.isLandscape&&{margin:"4px 0 auto",flexDirection:"row",justifyContent:"space-around",flexBasis:"100%"},{[`& .${Ag.ampmLabel}`]:{fontSize:17}}));function GK(e){const t=Ee({props:e,name:"MuiTimePickerToolbar"}),{ampm:n,ampmInClock:r,parsedValue:o,isLandscape:i,isMobileKeyboardViewOpen:a,onChange:s,openView:l,setOpenView:c,toggleMobileKeyboardView:u,toolbarTitle:d,views:f,disabled:p,readOnly:h}=t,m=q(t,E7e),v=wn(),b=Ua(),y=d??b.timePickerDefaultToolbarTitle,w=qn(),C=!!(n&&!r),{meridiemMode:O,handleMeridiemChange:P}=CK(o,n,s),E=D=>n?v.format(D,"hours12h"):v.format(D,"hours24h"),T=t,$=O7e(S({},T,{theme:w})),M=k.jsx(k7e,{tabIndex:-1,value:":",variant:"h3",selected:!1,className:$.separator});return k.jsxs(T7e,S({viewType:"clock",landscapeDirection:"row",toolbarTitle:y,isLandscape:i,isMobileKeyboardViewOpen:a,toggleMobileKeyboardView:u,ownerState:T,className:$.root},m,{children:[k.jsxs(I7e,{className:$.hourMinuteLabel,ownerState:T,children:[yu(f,"hours")&&k.jsx(rs,{tabIndex:-1,variant:"h3",onClick:()=>c("hours"),selected:l==="hours",value:o?E(o):"--"}),yu(f,["hours","minutes"])&&M,yu(f,"minutes")&&k.jsx(rs,{tabIndex:-1,variant:"h3",onClick:()=>c("minutes"),selected:l==="minutes",value:o?v.format(o,"minutes"):"--"}),yu(f,["minutes","seconds"])&&M,yu(f,"seconds")&&k.jsx(rs,{variant:"h3",onClick:()=>c("seconds"),selected:l==="seconds",value:o?v.format(o,"seconds"):"--"})]}),C&&k.jsxs($7e,{className:$.ampmSelection,ownerState:T,children:[k.jsx(rs,{disableRipple:!0,variant:"subtitle2",selected:O==="am",typographyClassName:$.ampmLabel,value:v.getMeridiemText("am"),onClick:h?void 0:()=>P("am"),disabled:p}),k.jsx(rs,{disableRipple:!0,variant:"subtitle2",selected:O==="pm",typographyClassName:$.ampmLabel,value:v.getMeridiemText("pm"),onClick:h?void 0:()=>P("pm"),disabled:p})]})]}))}const M7e=["onChange","PaperProps","PopperProps","ToolbarComponent","TransitionComponent","value","components","componentsProps"],A7e=g.forwardRef(function(t,n){const r=UK(t,"MuiDesktopTimePicker"),o=zK(r)!==null,{pickerProps:i,inputProps:a,wrapperProps:s}=Hh(r,WK),{PaperProps:l,PopperProps:c,ToolbarComponent:u=GK,TransitionComponent:d,components:f,componentsProps:p}=r,h=q(r,M7e),m=S({},a,h,{components:f,componentsProps:p,ref:n,validationError:o});return k.jsx(t_,S({},s,{DateInputProps:m,KeyboardDateInputComponent:DS,PopperProps:c,PaperProps:l,TransitionComponent:d,components:f,componentsProps:p,children:k.jsx(Vh,S({},i,{autoFocus:!0,toolbarTitle:r.label||r.toolbarTitle,ToolbarComponent:u,DateInputProps:m,components:f,componentsProps:p},h))}))}),R7e=["ToolbarComponent","value","onChange","components","componentsProps"],_7e=g.forwardRef(function(t,n){const r=UK(t,"MuiMobileTimePicker"),o=zK(r)!==null,{pickerProps:i,inputProps:a,wrapperProps:s}=Hh(r,WK),{ToolbarComponent:l=GK,components:c,componentsProps:u}=r,d=q(r,R7e),f=S({},a,d,{components:c,componentsProps:u,ref:n,validationError:o});return k.jsx(n_,S({},d,s,{DateInputProps:f,PureDateInputComponent:r_,components:c,componentsProps:u,children:k.jsx(Vh,S({},i,{autoFocus:!0,toolbarTitle:r.label||r.toolbarTitle,ToolbarComponent:l,DateInputProps:f,components:c,componentsProps:u},d))}))}),D7e=["desktopModeMediaQuery","DialogProps","PopperProps","TransitionComponent"],N7e=g.forwardRef(function(t,n){const r=Ee({props:t,name:"MuiTimePicker"}),{desktopModeMediaQuery:o="@media (pointer: fine)",DialogProps:i,PopperProps:a,TransitionComponent:s}=r,l=q(r,D7e);return J1(o,{defaultMatches:!0})?k.jsx(A7e,S({ref:n,PopperProps:a,TransitionComponent:s},l)):k.jsx(_7e,S({ref:n,DialogProps:i},l))});class Ed extends Error{}class L7e extends Ed{constructor(t){super(`Invalid DateTime: ${t.toMessage()}`)}}class j7e extends Ed{constructor(t){super(`Invalid Interval: ${t.toMessage()}`)}}class F7e extends Ed{constructor(t){super(`Invalid Duration: ${t.toMessage()}`)}}class jf extends Ed{}class qK extends Ed{constructor(t){super(`Invalid unit ${t}`)}}class qr extends Ed{}class Bl extends Ed{constructor(){super("Zone is an abstract class")}}const He="numeric",Fa="short",ai="long",Gw={year:He,month:He,day:He},KK={year:He,month:Fa,day:He},B7e={year:He,month:Fa,day:He,weekday:Fa},YK={year:He,month:ai,day:He},QK={year:He,month:ai,day:He,weekday:ai},XK={hour:He,minute:He},JK={hour:He,minute:He,second:He},ZK={hour:He,minute:He,second:He,timeZoneName:Fa},eY={hour:He,minute:He,second:He,timeZoneName:ai},tY={hour:He,minute:He,hourCycle:"h23"},nY={hour:He,minute:He,second:He,hourCycle:"h23"},rY={hour:He,minute:He,second:He,hourCycle:"h23",timeZoneName:Fa},oY={hour:He,minute:He,second:He,hourCycle:"h23",timeZoneName:ai},iY={year:He,month:He,day:He,hour:He,minute:He},aY={year:He,month:He,day:He,hour:He,minute:He,second:He},sY={year:He,month:Fa,day:He,hour:He,minute:He},lY={year:He,month:Fa,day:He,hour:He,minute:He,second:He},z7e={year:He,month:Fa,day:He,weekday:Fa,hour:He,minute:He},cY={year:He,month:ai,day:He,hour:He,minute:He,timeZoneName:Fa},uY={year:He,month:ai,day:He,hour:He,minute:He,second:He,timeZoneName:Fa},dY={year:He,month:ai,day:He,weekday:ai,hour:He,minute:He,timeZoneName:ai},fY={year:He,month:ai,day:He,weekday:ai,hour:He,minute:He,second:He,timeZoneName:ai};class Xy{get type(){throw new Bl}get name(){throw new Bl}get ianaName(){return this.name}get isUniversal(){throw new Bl}offsetName(t,n){throw new Bl}formatOffset(t,n){throw new Bl}offset(t){throw new Bl}equals(t){throw new Bl}get isValid(){throw new Bl}}let BE=null;class NS extends Xy{static get instance(){return BE===null&&(BE=new NS),BE}get type(){return"system"}get name(){return new Intl.DateTimeFormat().resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(t,{format:n,locale:r}){return wY(t,n,r)}formatOffset(t,n){return Rg(this.offset(t),n)}offset(t){return-new Date(t).getTimezoneOffset()}equals(t){return t.type==="system"}get isValid(){return!0}}let K0={};function V7e(e){return K0[e]||(K0[e]=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:e,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",era:"short"})),K0[e]}const H7e={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6};function U7e(e,t){const n=e.format(t).replace(/\u200E/g,""),r=/(\d+)\/(\d+)\/(\d+) (AD|BC),? (\d+):(\d+):(\d+)/.exec(n),[,o,i,a,s,l,c,u]=r;return[a,o,i,s,l,c,u]}function W7e(e,t){const n=e.formatToParts(t),r=[];for(let o=0;o=0?h:1e3+h,(f-p)/(60*1e3)}equals(t){return t.type==="iana"&&t.name===this.name}get isValid(){return this.valid}}let G5={};function G7e(e,t={}){const n=JSON.stringify([e,t]);let r=G5[n];return r||(r=new Intl.ListFormat(e,t),G5[n]=r),r}let wI={};function CI(e,t={}){const n=JSON.stringify([e,t]);let r=wI[n];return r||(r=new Intl.DateTimeFormat(e,t),wI[n]=r),r}let SI={};function q7e(e,t={}){const n=JSON.stringify([e,t]);let r=SI[n];return r||(r=new Intl.NumberFormat(e,t),SI[n]=r),r}let PI={};function K7e(e,t={}){const{base:n,...r}=t,o=JSON.stringify([e,r]);let i=PI[o];return i||(i=new Intl.RelativeTimeFormat(e,t),PI[o]=i),i}let Zm=null;function Y7e(){return Zm||(Zm=new Intl.DateTimeFormat().resolvedOptions().locale,Zm)}let q5={};function Q7e(e){let t=q5[e];if(!t){const n=new Intl.Locale(e);t="getWeekInfo"in n?n.getWeekInfo():n.weekInfo,q5[e]=t}return t}function X7e(e){const t=e.indexOf("-x-");t!==-1&&(e=e.substring(0,t));const n=e.indexOf("-u-");if(n===-1)return[e];{let r,o;try{r=CI(e).resolvedOptions(),o=e}catch{const l=e.substring(0,n);r=CI(l).resolvedOptions(),o=l}const{numberingSystem:i,calendar:a}=r;return[o,i,a]}}function J7e(e,t,n){return(n||t)&&(e.includes("-u-")||(e+="-u"),n&&(e+=`-ca-${n}`),t&&(e+=`-nu-${t}`)),e}function Z7e(e){const t=[];for(let n=1;n<=12;n++){const r=nt.utc(2009,n,1);t.push(e(r))}return t}function eqe(e){const t=[];for(let n=1;n<=7;n++){const r=nt.utc(2016,11,13+n);t.push(e(r))}return t}function u0(e,t,n,r){const o=e.listingMode();return o==="error"?null:o==="en"?n(t):r(t)}function tqe(e){return e.numberingSystem&&e.numberingSystem!=="latn"?!1:e.numberingSystem==="latn"||!e.locale||e.locale.startsWith("en")||new Intl.DateTimeFormat(e.intl).resolvedOptions().numberingSystem==="latn"}class nqe{constructor(t,n,r){this.padTo=r.padTo||0,this.floor=r.floor||!1;const{padTo:o,floor:i,...a}=r;if(!n||Object.keys(a).length>0){const s={useGrouping:!1,...r};r.padTo>0&&(s.minimumIntegerDigits=r.padTo),this.inf=q7e(t,s)}}format(t){if(this.inf){const n=this.floor?Math.floor(t):t;return this.inf.format(n)}else{const n=this.floor?Math.floor(t):c_(t,3);return tr(n,this.padTo)}}}class rqe{constructor(t,n,r){this.opts=r,this.originalZone=void 0;let o;if(this.opts.timeZone)this.dt=t;else if(t.zone.type==="fixed"){const a=-1*(t.offset/60),s=a>=0?`Etc/GMT+${a}`:`Etc/GMT${a}`;t.offset!==0&&wl.create(s).valid?(o=s,this.dt=t):(o="UTC",this.dt=t.offset===0?t:t.setZone("UTC").plus({minutes:t.offset}),this.originalZone=t.zone)}else t.zone.type==="system"?this.dt=t:t.zone.type==="iana"?(this.dt=t,o=t.zone.name):(o="UTC",this.dt=t.setZone("UTC").plus({minutes:t.offset}),this.originalZone=t.zone);const i={...this.opts};i.timeZone=i.timeZone||o,this.dtf=CI(n,i)}format(){return this.originalZone?this.formatToParts().map(({value:t})=>t).join(""):this.dtf.format(this.dt.toJSDate())}formatToParts(){const t=this.dtf.formatToParts(this.dt.toJSDate());return this.originalZone?t.map(n=>{if(n.type==="timeZoneName"){const r=this.originalZone.offsetName(this.dt.ts,{locale:this.dt.locale,format:this.opts.timeZoneName});return{...n,value:r}}else return n}):t}resolvedOptions(){return this.dtf.resolvedOptions()}}class oqe{constructor(t,n,r){this.opts={style:"long",...r},!n&&bY()&&(this.rtf=K7e(t,r))}format(t,n){return this.rtf?this.rtf.format(t,n):Tqe(n,t,this.opts.numeric,this.opts.style!=="long")}formatToParts(t,n){return this.rtf?this.rtf.formatToParts(t,n):[]}}const iqe={firstDay:1,minimalDays:4,weekend:[6,7]};class rn{static fromOpts(t){return rn.create(t.locale,t.numberingSystem,t.outputCalendar,t.weekSettings,t.defaultToEN)}static create(t,n,r,o,i=!1){const a=t||An.defaultLocale,s=a||(i?"en-US":Y7e()),l=n||An.defaultNumberingSystem,c=r||An.defaultOutputCalendar,u=EI(o)||An.defaultWeekSettings;return new rn(s,l,c,u,a)}static resetCache(){Zm=null,wI={},SI={},PI={}}static fromObject({locale:t,numberingSystem:n,outputCalendar:r,weekSettings:o}={}){return rn.create(t,n,r,o)}constructor(t,n,r,o,i){const[a,s,l]=X7e(t);this.locale=a,this.numberingSystem=n||s||null,this.outputCalendar=r||l||null,this.weekSettings=o,this.intl=J7e(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=i,this.fastNumbersCached=null}get fastNumbers(){return this.fastNumbersCached==null&&(this.fastNumbersCached=tqe(this)),this.fastNumbersCached}listingMode(){const t=this.isEnglish(),n=(this.numberingSystem===null||this.numberingSystem==="latn")&&(this.outputCalendar===null||this.outputCalendar==="gregory");return t&&n?"en":"intl"}clone(t){return!t||Object.getOwnPropertyNames(t).length===0?this:rn.create(t.locale||this.specifiedLocale,t.numberingSystem||this.numberingSystem,t.outputCalendar||this.outputCalendar,EI(t.weekSettings)||this.weekSettings,t.defaultToEN||!1)}redefaultToEN(t={}){return this.clone({...t,defaultToEN:!0})}redefaultToSystem(t={}){return this.clone({...t,defaultToEN:!1})}months(t,n=!1){return u0(this,t,PY,()=>{const r=n?{month:t,day:"numeric"}:{month:t},o=n?"format":"standalone";return this.monthsCache[o][t]||(this.monthsCache[o][t]=Z7e(i=>this.extract(i,r,"month"))),this.monthsCache[o][t]})}weekdays(t,n=!1){return u0(this,t,TY,()=>{const r=n?{weekday:t,year:"numeric",month:"long",day:"numeric"}:{weekday:t},o=n?"format":"standalone";return this.weekdaysCache[o][t]||(this.weekdaysCache[o][t]=eqe(i=>this.extract(i,r,"weekday"))),this.weekdaysCache[o][t]})}meridiems(){return u0(this,void 0,()=>kY,()=>{if(!this.meridiemCache){const t={hour:"numeric",hourCycle:"h12"};this.meridiemCache=[nt.utc(2016,11,13,9),nt.utc(2016,11,13,19)].map(n=>this.extract(n,t,"dayperiod"))}return this.meridiemCache})}eras(t){return u0(this,t,IY,()=>{const n={era:t};return this.eraCache[t]||(this.eraCache[t]=[nt.utc(-40,1,1),nt.utc(2017,1,1)].map(r=>this.extract(r,n,"era"))),this.eraCache[t]})}extract(t,n,r){const o=this.dtFormatter(t,n),i=o.formatToParts(),a=i.find(s=>s.type.toLowerCase()===r);return a?a.value:null}numberFormatter(t={}){return new nqe(this.intl,t.forceSimple||this.fastNumbers,t)}dtFormatter(t,n={}){return new rqe(t,this.intl,n)}relFormatter(t={}){return new oqe(this.intl,this.isEnglish(),t)}listFormatter(t={}){return G7e(this.intl,t)}isEnglish(){return this.locale==="en"||this.locale.toLowerCase()==="en-us"||new Intl.DateTimeFormat(this.intl).resolvedOptions().locale.startsWith("en-us")}getWeekSettings(){return this.weekSettings?this.weekSettings:xY()?Q7e(this.locale):iqe}getStartOfWeek(){return this.getWeekSettings().firstDay}getMinDaysInFirstWeek(){return this.getWeekSettings().minimalDays}getWeekendDays(){return this.getWeekSettings().weekend}equals(t){return this.locale===t.locale&&this.numberingSystem===t.numberingSystem&&this.outputCalendar===t.outputCalendar}toString(){return`Locale(${this.locale}, ${this.numberingSystem}, ${this.outputCalendar})`}}let zE=null;class co extends Xy{static get utcInstance(){return zE===null&&(zE=new co(0)),zE}static instance(t){return t===0?co.utcInstance:new co(t)}static parseSpecifier(t){if(t){const n=t.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(n)return new co(FS(n[1],n[2]))}return null}constructor(t){super(),this.fixed=t}get type(){return"fixed"}get name(){return this.fixed===0?"UTC":`UTC${Rg(this.fixed,"narrow")}`}get ianaName(){return this.fixed===0?"Etc/UTC":`Etc/GMT${Rg(-this.fixed,"narrow")}`}offsetName(){return this.name}formatOffset(t,n){return Rg(this.fixed,n)}get isUniversal(){return!0}offset(){return this.fixed}equals(t){return t.type==="fixed"&&t.fixed===this.fixed}get isValid(){return!0}}class aqe extends Xy{constructor(t){super(),this.zoneName=t}get type(){return"invalid"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(){return null}formatOffset(){return""}offset(){return NaN}equals(){return!1}get isValid(){return!1}}function oc(e,t){if(dt(e)||e===null)return t;if(e instanceof Xy)return e;if(fqe(e)){const n=e.toLowerCase();return n==="default"?t:n==="local"||n==="system"?NS.instance:n==="utc"||n==="gmt"?co.utcInstance:co.parseSpecifier(n)||wl.create(e)}else return Sc(e)?co.instance(e):typeof e=="object"&&"offset"in e&&typeof e.offset=="function"?e:new aqe(e)}const i_={arab:"[٠-٩]",arabext:"[۰-۹]",bali:"[᭐-᭙]",beng:"[০-৯]",deva:"[०-९]",fullwide:"[0-9]",gujr:"[૦-૯]",hanidec:"[〇|一|二|三|四|五|六|七|八|九]",khmr:"[០-៩]",knda:"[೦-೯]",laoo:"[໐-໙]",limb:"[᥆-᥏]",mlym:"[൦-൯]",mong:"[᠐-᠙]",mymr:"[၀-၉]",orya:"[୦-୯]",tamldec:"[௦-௯]",telu:"[౦-౯]",thai:"[๐-๙]",tibt:"[༠-༩]",latn:"\\d"},K5={arab:[1632,1641],arabext:[1776,1785],bali:[6992,7001],beng:[2534,2543],deva:[2406,2415],fullwide:[65296,65303],gujr:[2790,2799],khmr:[6112,6121],knda:[3302,3311],laoo:[3792,3801],limb:[6470,6479],mlym:[3430,3439],mong:[6160,6169],mymr:[4160,4169],orya:[2918,2927],tamldec:[3046,3055],telu:[3174,3183],thai:[3664,3673],tibt:[3872,3881]},sqe=i_.hanidec.replace(/[\[|\]]/g,"").split("");function lqe(e){let t=parseInt(e,10);if(isNaN(t)){t="";for(let n=0;n=i&&r<=a&&(t+=r-i)}}return parseInt(t,10)}else return t}let hf={};function cqe(){hf={}}function fa({numberingSystem:e},t=""){const n=e||"latn";return hf[n]||(hf[n]={}),hf[n][t]||(hf[n][t]=new RegExp(`${i_[n]}${t}`)),hf[n][t]}let Y5=()=>Date.now(),Q5="system",X5=null,J5=null,Z5=null,e3=60,t3,n3=null,An=class{static get now(){return Y5}static set now(t){Y5=t}static set defaultZone(t){Q5=t}static get defaultZone(){return oc(Q5,NS.instance)}static get defaultLocale(){return X5}static set defaultLocale(t){X5=t}static get defaultNumberingSystem(){return J5}static set defaultNumberingSystem(t){J5=t}static get defaultOutputCalendar(){return Z5}static set defaultOutputCalendar(t){Z5=t}static get defaultWeekSettings(){return n3}static set defaultWeekSettings(t){n3=EI(t)}static get twoDigitCutoffYear(){return e3}static set twoDigitCutoffYear(t){e3=t%100}static get throwOnInvalid(){return t3}static set throwOnInvalid(t){t3=t}static resetCaches(){rn.resetCache(),wl.resetCache(),nt.resetCache(),cqe()}};class Sa{constructor(t,n){this.reason=t,this.explanation=n}toMessage(){return this.explanation?`${this.reason}: ${this.explanation}`:this.reason}}const pY=[0,31,59,90,120,151,181,212,243,273,304,334],hY=[0,31,60,91,121,152,182,213,244,274,305,335];function Hi(e,t){return new Sa("unit out of range",`you specified ${t} (of type ${typeof t}) as a ${e}, which is invalid`)}function a_(e,t,n){const r=new Date(Date.UTC(e,t-1,n));e<100&&e>=0&&r.setUTCFullYear(r.getUTCFullYear()-1900);const o=r.getUTCDay();return o===0?7:o}function mY(e,t,n){return n+(Jy(e)?hY:pY)[t-1]}function gY(e,t){const n=Jy(e)?hY:pY,r=n.findIndex(i=>iey(r,t,n)?(c=r+1,l=1):c=r,{weekYear:c,weekNumber:l,weekday:s,...BS(e)}}function r3(e,t=4,n=1){const{weekYear:r,weekNumber:o,weekday:i}=e,a=s_(a_(r,1,t),n),s=op(r);let l=o*7+i-a-7+t,c;l<1?(c=r-1,l+=op(c)):l>s?(c=r+1,l-=op(r)):c=r;const{month:u,day:d}=gY(c,l);return{year:c,month:u,day:d,...BS(e)}}function VE(e){const{year:t,month:n,day:r}=e,o=mY(t,n,r);return{year:t,ordinal:o,...BS(e)}}function o3(e){const{year:t,ordinal:n}=e,{month:r,day:o}=gY(t,n);return{year:t,month:r,day:o,...BS(e)}}function i3(e,t){if(!dt(e.localWeekday)||!dt(e.localWeekNumber)||!dt(e.localWeekYear)){if(!dt(e.weekday)||!dt(e.weekNumber)||!dt(e.weekYear))throw new jf("Cannot mix locale-based week fields with ISO-based week fields");return dt(e.localWeekday)||(e.weekday=e.localWeekday),dt(e.localWeekNumber)||(e.weekNumber=e.localWeekNumber),dt(e.localWeekYear)||(e.weekYear=e.localWeekYear),delete e.localWeekday,delete e.localWeekNumber,delete e.localWeekYear,{minDaysInFirstWeek:t.getMinDaysInFirstWeek(),startOfWeek:t.getStartOfWeek()}}else return{minDaysInFirstWeek:4,startOfWeek:1}}function uqe(e,t=4,n=1){const r=LS(e.weekYear),o=Ui(e.weekNumber,1,ey(e.weekYear,t,n)),i=Ui(e.weekday,1,7);return r?o?i?!1:Hi("weekday",e.weekday):Hi("week",e.weekNumber):Hi("weekYear",e.weekYear)}function dqe(e){const t=LS(e.year),n=Ui(e.ordinal,1,op(e.year));return t?n?!1:Hi("ordinal",e.ordinal):Hi("year",e.year)}function vY(e){const t=LS(e.year),n=Ui(e.month,1,12),r=Ui(e.day,1,Kw(e.year,e.month));return t?n?r?!1:Hi("day",e.day):Hi("month",e.month):Hi("year",e.year)}function yY(e){const{hour:t,minute:n,second:r,millisecond:o}=e,i=Ui(t,0,23)||t===24&&n===0&&r===0&&o===0,a=Ui(n,0,59),s=Ui(r,0,59),l=Ui(o,0,999);return i?a?s?l?!1:Hi("millisecond",o):Hi("second",r):Hi("minute",n):Hi("hour",t)}function dt(e){return typeof e>"u"}function Sc(e){return typeof e=="number"}function LS(e){return typeof e=="number"&&e%1===0}function fqe(e){return typeof e=="string"}function pqe(e){return Object.prototype.toString.call(e)==="[object Date]"}function bY(){try{return typeof Intl<"u"&&!!Intl.RelativeTimeFormat}catch{return!1}}function xY(){try{return typeof Intl<"u"&&!!Intl.Locale&&("weekInfo"in Intl.Locale.prototype||"getWeekInfo"in Intl.Locale.prototype)}catch{return!1}}function hqe(e){return Array.isArray(e)?e:[e]}function a3(e,t,n){if(e.length!==0)return e.reduce((r,o)=>{const i=[t(o),o];return r&&n(r[0],i[0])===r[0]?r:i},null)[1]}function mqe(e,t){return t.reduce((n,r)=>(n[r]=e[r],n),{})}function Kp(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function EI(e){if(e==null)return null;if(typeof e!="object")throw new qr("Week settings must be an object");if(!Ui(e.firstDay,1,7)||!Ui(e.minimalDays,1,7)||!Array.isArray(e.weekend)||e.weekend.some(t=>!Ui(t,1,7)))throw new qr("Invalid week settings");return{firstDay:e.firstDay,minimalDays:e.minimalDays,weekend:Array.from(e.weekend)}}function Ui(e,t,n){return LS(e)&&e>=t&&e<=n}function gqe(e,t){return e-t*Math.floor(e/t)}function tr(e,t=2){const n=e<0;let r;return n?r="-"+(""+-e).padStart(t,"0"):r=(""+e).padStart(t,"0"),r}function Xl(e){if(!(dt(e)||e===null||e===""))return parseInt(e,10)}function ou(e){if(!(dt(e)||e===null||e===""))return parseFloat(e)}function l_(e){if(!(dt(e)||e===null||e==="")){const t=parseFloat("0."+e)*1e3;return Math.floor(t)}}function c_(e,t,n=!1){const r=10**t;return(n?Math.trunc:Math.round)(e*r)/r}function Jy(e){return e%4===0&&(e%100!==0||e%400===0)}function op(e){return Jy(e)?366:365}function Kw(e,t){const n=gqe(t-1,12)+1,r=e+(t-n)/12;return n===2?Jy(r)?29:28:[31,null,31,30,31,30,31,31,30,31,30,31][n-1]}function jS(e){let t=Date.UTC(e.year,e.month-1,e.day,e.hour,e.minute,e.second,e.millisecond);return e.year<100&&e.year>=0&&(t=new Date(t),t.setUTCFullYear(e.year,e.month-1,e.day)),+t}function s3(e,t,n){return-s_(a_(e,1,t),n)+t-1}function ey(e,t=4,n=1){const r=s3(e,t,n),o=s3(e+1,t,n);return(op(e)-r+o)/7}function OI(e){return e>99?e:e>An.twoDigitCutoffYear?1900+e:2e3+e}function wY(e,t,n,r=null){const o=new Date(e),i={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};r&&(i.timeZone=r);const a={timeZoneName:t,...i},s=new Intl.DateTimeFormat(n,a).formatToParts(o).find(l=>l.type.toLowerCase()==="timezonename");return s?s.value:null}function FS(e,t){let n=parseInt(e,10);Number.isNaN(n)&&(n=0);const r=parseInt(t,10)||0,o=n<0||Object.is(n,-0)?-r:r;return n*60+o}function CY(e){const t=Number(e);if(typeof e=="boolean"||e===""||Number.isNaN(t))throw new qr(`Invalid unit value ${e}`);return t}function Yw(e,t){const n={};for(const r in e)if(Kp(e,r)){const o=e[r];if(o==null)continue;n[t(r)]=CY(o)}return n}function Rg(e,t){const n=Math.trunc(Math.abs(e/60)),r=Math.trunc(Math.abs(e%60)),o=e>=0?"+":"-";switch(t){case"short":return`${o}${tr(n,2)}:${tr(r,2)}`;case"narrow":return`${o}${n}${r>0?`:${r}`:""}`;case"techie":return`${o}${tr(n,2)}${tr(r,2)}`;default:throw new RangeError(`Value format ${t} is out of range for property format`)}}function BS(e){return mqe(e,["hour","minute","second","millisecond"])}const vqe=["January","February","March","April","May","June","July","August","September","October","November","December"],SY=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],yqe=["J","F","M","A","M","J","J","A","S","O","N","D"];function PY(e){switch(e){case"narrow":return[...yqe];case"short":return[...SY];case"long":return[...vqe];case"numeric":return["1","2","3","4","5","6","7","8","9","10","11","12"];case"2-digit":return["01","02","03","04","05","06","07","08","09","10","11","12"];default:return null}}const EY=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],OY=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],bqe=["M","T","W","T","F","S","S"];function TY(e){switch(e){case"narrow":return[...bqe];case"short":return[...OY];case"long":return[...EY];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}const kY=["AM","PM"],xqe=["Before Christ","Anno Domini"],wqe=["BC","AD"],Cqe=["B","A"];function IY(e){switch(e){case"narrow":return[...Cqe];case"short":return[...wqe];case"long":return[...xqe];default:return null}}function Sqe(e){return kY[e.hour<12?0:1]}function Pqe(e,t){return TY(t)[e.weekday-1]}function Eqe(e,t){return PY(t)[e.month-1]}function Oqe(e,t){return IY(t)[e.year<0?0:1]}function Tqe(e,t,n="always",r=!1){const o={years:["year","yr."],quarters:["quarter","qtr."],months:["month","mo."],weeks:["week","wk."],days:["day","day","days"],hours:["hour","hr."],minutes:["minute","min."],seconds:["second","sec."]},i=["hours","minutes","seconds"].indexOf(e)===-1;if(n==="auto"&&i){const d=e==="days";switch(t){case 1:return d?"tomorrow":`next ${o[e][0]}`;case-1:return d?"yesterday":`last ${o[e][0]}`;case 0:return d?"today":`this ${o[e][0]}`}}const a=Object.is(t,-0)||t<0,s=Math.abs(t),l=s===1,c=o[e],u=r?l?c[1]:c[2]||c[1]:l?o[e][0]:e;return a?`${s} ${u} ago`:`in ${s} ${u}`}function l3(e,t){let n="";for(const r of e)r.literal?n+=r.val:n+=t(r.val);return n}const kqe={D:Gw,DD:KK,DDD:YK,DDDD:QK,t:XK,tt:JK,ttt:ZK,tttt:eY,T:tY,TT:nY,TTT:rY,TTTT:oY,f:iY,ff:sY,fff:cY,ffff:dY,F:aY,FF:lY,FFF:uY,FFFF:fY};let Ca=class eg{static create(t,n={}){return new eg(t,n)}static parseFormat(t){let n=null,r="",o=!1;const i=[];for(let a=0;a0&&i.push({literal:o||/^\s+$/.test(r),val:r}),n=null,r="",o=!o):o||s===n?r+=s:(r.length>0&&i.push({literal:/^\s+$/.test(r),val:r}),r=s,n=s)}return r.length>0&&i.push({literal:o||/^\s+$/.test(r),val:r}),i}static macroTokenToFormatOpts(t){return kqe[t]}constructor(t,n){this.opts=n,this.loc=t,this.systemLoc=null}formatWithSystemDefault(t,n){return this.systemLoc===null&&(this.systemLoc=this.loc.redefaultToSystem()),this.systemLoc.dtFormatter(t,{...this.opts,...n}).format()}dtFormatter(t,n={}){return this.loc.dtFormatter(t,{...this.opts,...n})}formatDateTime(t,n){return this.dtFormatter(t,n).format()}formatDateTimeParts(t,n){return this.dtFormatter(t,n).formatToParts()}formatInterval(t,n){return this.dtFormatter(t.start,n).dtf.formatRange(t.start.toJSDate(),t.end.toJSDate())}resolvedOptions(t,n){return this.dtFormatter(t,n).resolvedOptions()}num(t,n=0){if(this.opts.forceSimple)return tr(t,n);const r={...this.opts};return n>0&&(r.padTo=n),this.loc.numberFormatter(r).format(t)}formatDateTimeFromString(t,n){const r=this.loc.listingMode()==="en",o=this.loc.outputCalendar&&this.loc.outputCalendar!=="gregory",i=(p,h)=>this.loc.extract(t,p,h),a=p=>t.isOffsetFixed&&t.offset===0&&p.allowZ?"Z":t.isValid?t.zone.formatOffset(t.ts,p.format):"",s=()=>r?Sqe(t):i({hour:"numeric",hourCycle:"h12"},"dayperiod"),l=(p,h)=>r?Eqe(t,p):i(h?{month:p}:{month:p,day:"numeric"},"month"),c=(p,h)=>r?Pqe(t,p):i(h?{weekday:p}:{weekday:p,month:"long",day:"numeric"},"weekday"),u=p=>{const h=eg.macroTokenToFormatOpts(p);return h?this.formatWithSystemDefault(t,h):p},d=p=>r?Oqe(t,p):i({era:p},"era"),f=p=>{switch(p){case"S":return this.num(t.millisecond);case"u":case"SSS":return this.num(t.millisecond,3);case"s":return this.num(t.second);case"ss":return this.num(t.second,2);case"uu":return this.num(Math.floor(t.millisecond/10),2);case"uuu":return this.num(Math.floor(t.millisecond/100));case"m":return this.num(t.minute);case"mm":return this.num(t.minute,2);case"h":return this.num(t.hour%12===0?12:t.hour%12);case"hh":return this.num(t.hour%12===0?12:t.hour%12,2);case"H":return this.num(t.hour);case"HH":return this.num(t.hour,2);case"Z":return a({format:"narrow",allowZ:this.opts.allowZ});case"ZZ":return a({format:"short",allowZ:this.opts.allowZ});case"ZZZ":return a({format:"techie",allowZ:this.opts.allowZ});case"ZZZZ":return t.zone.offsetName(t.ts,{format:"short",locale:this.loc.locale});case"ZZZZZ":return t.zone.offsetName(t.ts,{format:"long",locale:this.loc.locale});case"z":return t.zoneName;case"a":return s();case"d":return o?i({day:"numeric"},"day"):this.num(t.day);case"dd":return o?i({day:"2-digit"},"day"):this.num(t.day,2);case"c":return this.num(t.weekday);case"ccc":return c("short",!0);case"cccc":return c("long",!0);case"ccccc":return c("narrow",!0);case"E":return this.num(t.weekday);case"EEE":return c("short",!1);case"EEEE":return c("long",!1);case"EEEEE":return c("narrow",!1);case"L":return o?i({month:"numeric",day:"numeric"},"month"):this.num(t.month);case"LL":return o?i({month:"2-digit",day:"numeric"},"month"):this.num(t.month,2);case"LLL":return l("short",!0);case"LLLL":return l("long",!0);case"LLLLL":return l("narrow",!0);case"M":return o?i({month:"numeric"},"month"):this.num(t.month);case"MM":return o?i({month:"2-digit"},"month"):this.num(t.month,2);case"MMM":return l("short",!1);case"MMMM":return l("long",!1);case"MMMMM":return l("narrow",!1);case"y":return o?i({year:"numeric"},"year"):this.num(t.year);case"yy":return o?i({year:"2-digit"},"year"):this.num(t.year.toString().slice(-2),2);case"yyyy":return o?i({year:"numeric"},"year"):this.num(t.year,4);case"yyyyyy":return o?i({year:"numeric"},"year"):this.num(t.year,6);case"G":return d("short");case"GG":return d("long");case"GGGGG":return d("narrow");case"kk":return this.num(t.weekYear.toString().slice(-2),2);case"kkkk":return this.num(t.weekYear,4);case"W":return this.num(t.weekNumber);case"WW":return this.num(t.weekNumber,2);case"n":return this.num(t.localWeekNumber);case"nn":return this.num(t.localWeekNumber,2);case"ii":return this.num(t.localWeekYear.toString().slice(-2),2);case"iiii":return this.num(t.localWeekYear,4);case"o":return this.num(t.ordinal);case"ooo":return this.num(t.ordinal,3);case"q":return this.num(t.quarter);case"qq":return this.num(t.quarter,2);case"X":return this.num(Math.floor(t.ts/1e3));case"x":return this.num(t.ts);default:return u(p)}};return l3(eg.parseFormat(n),f)}formatDurationFromString(t,n){const r=l=>{switch(l[0]){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":return"hour";case"d":return"day";case"w":return"week";case"M":return"month";case"y":return"year";default:return null}},o=l=>c=>{const u=r(c);return u?this.num(l.get(u),c.length):c},i=eg.parseFormat(n),a=i.reduce((l,{literal:c,val:u})=>c?l:l.concat(u),[]),s=t.shiftTo(...a.map(r).filter(l=>l));return l3(i,o(s))}};const $Y=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/;function Uh(...e){const t=e.reduce((n,r)=>n+r.source,"");return RegExp(`^${t}$`)}function Wh(...e){return t=>e.reduce(([n,r,o],i)=>{const[a,s,l]=i(t,o);return[{...n,...a},s||r,l]},[{},null,1]).slice(0,2)}function Gh(e,...t){if(e==null)return[null,null];for(const[n,r]of t){const o=n.exec(e);if(o)return r(o)}return[null,null]}function MY(...e){return(t,n)=>{const r={};let o;for(o=0;op!==void 0&&(h||p&&u)?-p:p;return[{years:f(ou(n)),months:f(ou(r)),weeks:f(ou(o)),days:f(ou(i)),hours:f(ou(a)),minutes:f(ou(s)),seconds:f(ou(l),l==="-0"),milliseconds:f(l_(c),d)}]}const zqe={GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function f_(e,t,n,r,o,i,a){const s={year:t.length===2?OI(Xl(t)):Xl(t),month:SY.indexOf(n)+1,day:Xl(r),hour:Xl(o),minute:Xl(i)};return a&&(s.second=Xl(a)),e&&(s.weekday=e.length>3?EY.indexOf(e)+1:OY.indexOf(e)+1),s}const Vqe=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/;function Hqe(e){const[,t,n,r,o,i,a,s,l,c,u,d]=e,f=f_(t,o,r,n,i,a,s);let p;return l?p=zqe[l]:c?p=0:p=FS(u,d),[f,new co(p)]}function Uqe(e){return e.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}const Wqe=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/,Gqe=/^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/,qqe=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/;function c3(e){const[,t,n,r,o,i,a,s]=e;return[f_(t,o,r,n,i,a,s),co.utcInstance]}function Kqe(e){const[,t,n,r,o,i,a,s]=e;return[f_(t,s,n,r,o,i,a),co.utcInstance]}const Yqe=Uh($qe,d_),Qqe=Uh(Mqe,d_),Xqe=Uh(Aqe,d_),Jqe=Uh(RY),DY=Wh(Lqe,qh,Zy,eb),Zqe=Wh(Rqe,qh,Zy,eb),eKe=Wh(_qe,qh,Zy,eb),tKe=Wh(qh,Zy,eb);function nKe(e){return Gh(e,[Yqe,DY],[Qqe,Zqe],[Xqe,eKe],[Jqe,tKe])}function rKe(e){return Gh(Uqe(e),[Vqe,Hqe])}function oKe(e){return Gh(e,[Wqe,c3],[Gqe,c3],[qqe,Kqe])}function iKe(e){return Gh(e,[Fqe,Bqe])}const aKe=Wh(qh);function sKe(e){return Gh(e,[jqe,aKe])}const lKe=Uh(Dqe,Nqe),cKe=Uh(_Y),uKe=Wh(qh,Zy,eb);function dKe(e){return Gh(e,[lKe,DY],[cKe,uKe])}const u3="Invalid Duration",NY={weeks:{days:7,hours:7*24,minutes:7*24*60,seconds:7*24*60*60,milliseconds:7*24*60*60*1e3},days:{hours:24,minutes:24*60,seconds:24*60*60,milliseconds:24*60*60*1e3},hours:{minutes:60,seconds:60*60,milliseconds:60*60*1e3},minutes:{seconds:60,milliseconds:60*1e3},seconds:{milliseconds:1e3}},fKe={years:{quarters:4,months:12,weeks:52,days:365,hours:365*24,minutes:365*24*60,seconds:365*24*60*60,milliseconds:365*24*60*60*1e3},quarters:{months:3,weeks:13,days:91,hours:91*24,minutes:91*24*60,seconds:91*24*60*60,milliseconds:91*24*60*60*1e3},months:{weeks:4,days:30,hours:30*24,minutes:30*24*60,seconds:30*24*60*60,milliseconds:30*24*60*60*1e3},...NY},Pi=146097/400,Jd=146097/4800,pKe={years:{quarters:4,months:12,weeks:Pi/7,days:Pi,hours:Pi*24,minutes:Pi*24*60,seconds:Pi*24*60*60,milliseconds:Pi*24*60*60*1e3},quarters:{months:3,weeks:Pi/28,days:Pi/4,hours:Pi*24/4,minutes:Pi*24*60/4,seconds:Pi*24*60*60/4,milliseconds:Pi*24*60*60*1e3/4},months:{weeks:Jd/7,days:Jd,hours:Jd*24,minutes:Jd*24*60,seconds:Jd*24*60*60,milliseconds:Jd*24*60*60*1e3},...NY},$u=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],hKe=$u.slice(0).reverse();function zl(e,t,n=!1){const r={values:n?t.values:{...e.values,...t.values||{}},loc:e.loc.clone(t.loc),conversionAccuracy:t.conversionAccuracy||e.conversionAccuracy,matrix:t.matrix||e.matrix};return new Gt(r)}function LY(e,t){let n=t.milliseconds??0;for(const r of hKe.slice(1))t[r]&&(n+=t[r]*e[r].milliseconds);return n}function d3(e,t){const n=LY(e,t)<0?-1:1;$u.reduceRight((r,o)=>{if(dt(t[o]))return r;if(r){const i=t[r]*n,a=e[o][r],s=Math.floor(i/a);t[o]+=s*n,t[r]-=s*a*n}return o},null),$u.reduce((r,o)=>{if(dt(t[o]))return r;if(r){const i=t[r]%1;t[r]-=i,t[o]+=i*e[r][o]}return o},null)}function mKe(e){const t={};for(const[n,r]of Object.entries(e))r!==0&&(t[n]=r);return t}class Gt{constructor(t){const n=t.conversionAccuracy==="longterm"||!1;let r=n?pKe:fKe;t.matrix&&(r=t.matrix),this.values=t.values,this.loc=t.loc||rn.create(),this.conversionAccuracy=n?"longterm":"casual",this.invalid=t.invalid||null,this.matrix=r,this.isLuxonDuration=!0}static fromMillis(t,n){return Gt.fromObject({milliseconds:t},n)}static fromObject(t,n={}){if(t==null||typeof t!="object")throw new qr(`Duration.fromObject: argument expected to be an object, got ${t===null?"null":typeof t}`);return new Gt({values:Yw(t,Gt.normalizeUnit),loc:rn.fromObject(n),conversionAccuracy:n.conversionAccuracy,matrix:n.matrix})}static fromDurationLike(t){if(Sc(t))return Gt.fromMillis(t);if(Gt.isDuration(t))return t;if(typeof t=="object")return Gt.fromObject(t);throw new qr(`Unknown duration argument ${t} of type ${typeof t}`)}static fromISO(t,n){const[r]=iKe(t);return r?Gt.fromObject(r,n):Gt.invalid("unparsable",`the input "${t}" can't be parsed as ISO 8601`)}static fromISOTime(t,n){const[r]=sKe(t);return r?Gt.fromObject(r,n):Gt.invalid("unparsable",`the input "${t}" can't be parsed as ISO 8601`)}static invalid(t,n=null){if(!t)throw new qr("need to specify a reason the Duration is invalid");const r=t instanceof Sa?t:new Sa(t,n);if(An.throwOnInvalid)throw new F7e(r);return new Gt({invalid:r})}static normalizeUnit(t){const n={year:"years",years:"years",quarter:"quarters",quarters:"quarters",month:"months",months:"months",week:"weeks",weeks:"weeks",day:"days",days:"days",hour:"hours",hours:"hours",minute:"minutes",minutes:"minutes",second:"seconds",seconds:"seconds",millisecond:"milliseconds",milliseconds:"milliseconds"}[t&&t.toLowerCase()];if(!n)throw new qK(t);return n}static isDuration(t){return t&&t.isLuxonDuration||!1}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}toFormat(t,n={}){const r={...n,floor:n.round!==!1&&n.floor!==!1};return this.isValid?Ca.create(this.loc,r).formatDurationFromString(this,t):u3}toHuman(t={}){if(!this.isValid)return u3;const n=$u.map(r=>{const o=this.values[r];return dt(o)?null:this.loc.numberFormatter({style:"unit",unitDisplay:"long",...t,unit:r.slice(0,-1)}).format(o)}).filter(r=>r);return this.loc.listFormatter({type:"conjunction",style:t.listStyle||"narrow",...t}).format(n)}toObject(){return this.isValid?{...this.values}:{}}toISO(){if(!this.isValid)return null;let t="P";return this.years!==0&&(t+=this.years+"Y"),(this.months!==0||this.quarters!==0)&&(t+=this.months+this.quarters*3+"M"),this.weeks!==0&&(t+=this.weeks+"W"),this.days!==0&&(t+=this.days+"D"),(this.hours!==0||this.minutes!==0||this.seconds!==0||this.milliseconds!==0)&&(t+="T"),this.hours!==0&&(t+=this.hours+"H"),this.minutes!==0&&(t+=this.minutes+"M"),(this.seconds!==0||this.milliseconds!==0)&&(t+=c_(this.seconds+this.milliseconds/1e3,3)+"S"),t==="P"&&(t+="T0S"),t}toISOTime(t={}){if(!this.isValid)return null;const n=this.toMillis();return n<0||n>=864e5?null:(t={suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:"extended",...t,includeOffset:!1},nt.fromMillis(n,{zone:"UTC"}).toISOTime(t))}toJSON(){return this.toISO()}toString(){return this.toISO()}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`Duration { values: ${JSON.stringify(this.values)} }`:`Duration { Invalid, reason: ${this.invalidReason} }`}toMillis(){return this.isValid?LY(this.matrix,this.values):NaN}valueOf(){return this.toMillis()}plus(t){if(!this.isValid)return this;const n=Gt.fromDurationLike(t),r={};for(const o of $u)(Kp(n.values,o)||Kp(this.values,o))&&(r[o]=n.get(o)+this.get(o));return zl(this,{values:r},!0)}minus(t){if(!this.isValid)return this;const n=Gt.fromDurationLike(t);return this.plus(n.negate())}mapUnits(t){if(!this.isValid)return this;const n={};for(const r of Object.keys(this.values))n[r]=CY(t(this.values[r],r));return zl(this,{values:n},!0)}get(t){return this[Gt.normalizeUnit(t)]}set(t){if(!this.isValid)return this;const n={...this.values,...Yw(t,Gt.normalizeUnit)};return zl(this,{values:n})}reconfigure({locale:t,numberingSystem:n,conversionAccuracy:r,matrix:o}={}){const a={loc:this.loc.clone({locale:t,numberingSystem:n}),matrix:o,conversionAccuracy:r};return zl(this,a)}as(t){return this.isValid?this.shiftTo(t).get(t):NaN}normalize(){if(!this.isValid)return this;const t=this.toObject();return d3(this.matrix,t),zl(this,{values:t},!0)}rescale(){if(!this.isValid)return this;const t=mKe(this.normalize().shiftToAll().toObject());return zl(this,{values:t},!0)}shiftTo(...t){if(!this.isValid)return this;if(t.length===0)return this;t=t.map(a=>Gt.normalizeUnit(a));const n={},r={},o=this.toObject();let i;for(const a of $u)if(t.indexOf(a)>=0){i=a;let s=0;for(const c in r)s+=this.matrix[c][a]*r[c],r[c]=0;Sc(o[a])&&(s+=o[a]);const l=Math.trunc(s);n[a]=l,r[a]=(s*1e3-l*1e3)/1e3}else Sc(o[a])&&(r[a]=o[a]);for(const a in r)r[a]!==0&&(n[i]+=a===i?r[a]:r[a]/this.matrix[i][a]);return d3(this.matrix,n),zl(this,{values:n},!0)}shiftToAll(){return this.isValid?this.shiftTo("years","months","weeks","days","hours","minutes","seconds","milliseconds"):this}negate(){if(!this.isValid)return this;const t={};for(const n of Object.keys(this.values))t[n]=this.values[n]===0?0:-this.values[n];return zl(this,{values:t},!0)}get years(){return this.isValid?this.values.years||0:NaN}get quarters(){return this.isValid?this.values.quarters||0:NaN}get months(){return this.isValid?this.values.months||0:NaN}get weeks(){return this.isValid?this.values.weeks||0:NaN}get days(){return this.isValid?this.values.days||0:NaN}get hours(){return this.isValid?this.values.hours||0:NaN}get minutes(){return this.isValid?this.values.minutes||0:NaN}get seconds(){return this.isValid?this.values.seconds||0:NaN}get milliseconds(){return this.isValid?this.values.milliseconds||0:NaN}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}equals(t){if(!this.isValid||!t.isValid||!this.loc.equals(t.loc))return!1;function n(r,o){return r===void 0||r===0?o===void 0||o===0:r===o}for(const r of $u)if(!n(this.values[r],t.values[r]))return!1;return!0}}const Zd="Invalid Interval";function gKe(e,t){return!e||!e.isValid?Un.invalid("missing or invalid start"):!t||!t.isValid?Un.invalid("missing or invalid end"):tt:!1}isBefore(t){return this.isValid?this.e<=t:!1}contains(t){return this.isValid?this.s<=t&&this.e>t:!1}set({start:t,end:n}={}){return this.isValid?Un.fromDateTimes(t||this.s,n||this.e):this}splitAt(...t){if(!this.isValid)return[];const n=t.map(_m).filter(a=>this.contains(a)).sort((a,s)=>a.toMillis()-s.toMillis()),r=[];let{s:o}=this,i=0;for(;o+this.e?this.e:a;r.push(Un.fromDateTimes(o,s)),o=s,i+=1}return r}splitBy(t){const n=Gt.fromDurationLike(t);if(!this.isValid||!n.isValid||n.as("milliseconds")===0)return[];let{s:r}=this,o=1,i;const a=[];for(;rl*o));i=+s>+this.e?this.e:s,a.push(Un.fromDateTimes(r,i)),r=i,o+=1}return a}divideEqually(t){return this.isValid?this.splitBy(this.length()/t).slice(0,t):[]}overlaps(t){return this.e>t.s&&this.s=t.e:!1}equals(t){return!this.isValid||!t.isValid?!1:this.s.equals(t.s)&&this.e.equals(t.e)}intersection(t){if(!this.isValid)return this;const n=this.s>t.s?this.s:t.s,r=this.e=r?null:Un.fromDateTimes(n,r)}union(t){if(!this.isValid)return this;const n=this.st.e?this.e:t.e;return Un.fromDateTimes(n,r)}static merge(t){const[n,r]=t.sort((o,i)=>o.s-i.s).reduce(([o,i],a)=>i?i.overlaps(a)||i.abutsStart(a)?[o,i.union(a)]:[o.concat([i]),a]:[o,a],[[],null]);return r&&n.push(r),n}static xor(t){let n=null,r=0;const o=[],i=t.map(l=>[{time:l.s,type:"s"},{time:l.e,type:"e"}]),a=Array.prototype.concat(...i),s=a.sort((l,c)=>l.time-c.time);for(const l of s)r+=l.type==="s"?1:-1,r===1?n=l.time:(n&&+n!=+l.time&&o.push(Un.fromDateTimes(n,l.time)),n=null);return Un.merge(o)}difference(...t){return Un.xor([this].concat(t)).map(n=>this.intersection(n)).filter(n=>n&&!n.isEmpty())}toString(){return this.isValid?`[${this.s.toISO()} – ${this.e.toISO()})`:Zd}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`Interval { start: ${this.s.toISO()}, end: ${this.e.toISO()} }`:`Interval { Invalid, reason: ${this.invalidReason} }`}toLocaleString(t=Gw,n={}){return this.isValid?Ca.create(this.s.loc.clone(n),t).formatInterval(this):Zd}toISO(t){return this.isValid?`${this.s.toISO(t)}/${this.e.toISO(t)}`:Zd}toISODate(){return this.isValid?`${this.s.toISODate()}/${this.e.toISODate()}`:Zd}toISOTime(t){return this.isValid?`${this.s.toISOTime(t)}/${this.e.toISOTime(t)}`:Zd}toFormat(t,{separator:n=" – "}={}){return this.isValid?`${this.s.toFormat(t)}${n}${this.e.toFormat(t)}`:Zd}toDuration(t,n){return this.isValid?this.e.diff(this.s,t,n):Gt.invalid(this.invalidReason)}mapEndpoints(t){return Un.fromDateTimes(t(this.s),t(this.e))}}let Ff=class{static hasDST(t=An.defaultZone){const n=nt.now().setZone(t).set({month:12});return!t.isUniversal&&n.offset!==n.set({month:6}).offset}static isValidIANAZone(t){return wl.isValidZone(t)}static normalizeZone(t){return oc(t,An.defaultZone)}static getStartOfWeek({locale:t=null,locObj:n=null}={}){return(n||rn.create(t)).getStartOfWeek()}static getMinimumDaysInFirstWeek({locale:t=null,locObj:n=null}={}){return(n||rn.create(t)).getMinDaysInFirstWeek()}static getWeekendWeekdays({locale:t=null,locObj:n=null}={}){return(n||rn.create(t)).getWeekendDays().slice()}static months(t="long",{locale:n=null,numberingSystem:r=null,locObj:o=null,outputCalendar:i="gregory"}={}){return(o||rn.create(n,r,i)).months(t)}static monthsFormat(t="long",{locale:n=null,numberingSystem:r=null,locObj:o=null,outputCalendar:i="gregory"}={}){return(o||rn.create(n,r,i)).months(t,!0)}static weekdays(t="long",{locale:n=null,numberingSystem:r=null,locObj:o=null}={}){return(o||rn.create(n,r,null)).weekdays(t)}static weekdaysFormat(t="long",{locale:n=null,numberingSystem:r=null,locObj:o=null}={}){return(o||rn.create(n,r,null)).weekdays(t,!0)}static meridiems({locale:t=null}={}){return rn.create(t).meridiems()}static eras(t="short",{locale:n=null}={}){return rn.create(n,null,"gregory").eras(t)}static features(){return{relative:bY(),localeWeek:xY()}}};function f3(e,t){const n=o=>o.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf(),r=n(t)-n(e);return Math.floor(Gt.fromMillis(r).as("days"))}function vKe(e,t,n){const r=[["years",(l,c)=>c.year-l.year],["quarters",(l,c)=>c.quarter-l.quarter+(c.year-l.year)*4],["months",(l,c)=>c.month-l.month+(c.year-l.year)*12],["weeks",(l,c)=>{const u=f3(l,c);return(u-u%7)/7}],["days",f3]],o={},i=e;let a,s;for(const[l,c]of r)n.indexOf(l)>=0&&(a=l,o[l]=c(e,t),s=i.plus(o),s>t?(o[l]--,e=i.plus(o),e>t&&(s=e,o[l]--,e=i.plus(o))):e=s);return[e,o,s,a]}function yKe(e,t,n,r){let[o,i,a,s]=vKe(e,t,n);const l=t-o,c=n.filter(d=>["hours","minutes","seconds","milliseconds"].indexOf(d)>=0);c.length===0&&(a0?Gt.fromMillis(l,r).shiftTo(...c).plus(u):u}const bKe="missing Intl.DateTimeFormat.formatToParts support";function Jt(e,t=n=>n){return{regex:e,deser:([n])=>t(lqe(n))}}const xKe=" ",jY=`[ ${xKe}]`,FY=new RegExp(jY,"g");function wKe(e){return e.replace(/\./g,"\\.?").replace(FY,jY)}function p3(e){return e.replace(/\./g,"").replace(FY," ").toLowerCase()}function pa(e,t){return e===null?null:{regex:RegExp(e.map(wKe).join("|")),deser:([n])=>e.findIndex(r=>p3(n)===p3(r))+t}}function h3(e,t){return{regex:e,deser:([,n,r])=>FS(n,r),groups:t}}function d0(e){return{regex:e,deser:([t])=>t}}function CKe(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function SKe(e,t){const n=fa(t),r=fa(t,"{2}"),o=fa(t,"{3}"),i=fa(t,"{4}"),a=fa(t,"{6}"),s=fa(t,"{1,2}"),l=fa(t,"{1,3}"),c=fa(t,"{1,6}"),u=fa(t,"{1,9}"),d=fa(t,"{2,4}"),f=fa(t,"{4,6}"),p=v=>({regex:RegExp(CKe(v.val)),deser:([b])=>b,literal:!0}),m=(v=>{if(e.literal)return p(v);switch(v.val){case"G":return pa(t.eras("short"),0);case"GG":return pa(t.eras("long"),0);case"y":return Jt(c);case"yy":return Jt(d,OI);case"yyyy":return Jt(i);case"yyyyy":return Jt(f);case"yyyyyy":return Jt(a);case"M":return Jt(s);case"MM":return Jt(r);case"MMM":return pa(t.months("short",!0),1);case"MMMM":return pa(t.months("long",!0),1);case"L":return Jt(s);case"LL":return Jt(r);case"LLL":return pa(t.months("short",!1),1);case"LLLL":return pa(t.months("long",!1),1);case"d":return Jt(s);case"dd":return Jt(r);case"o":return Jt(l);case"ooo":return Jt(o);case"HH":return Jt(r);case"H":return Jt(s);case"hh":return Jt(r);case"h":return Jt(s);case"mm":return Jt(r);case"m":return Jt(s);case"q":return Jt(s);case"qq":return Jt(r);case"s":return Jt(s);case"ss":return Jt(r);case"S":return Jt(l);case"SSS":return Jt(o);case"u":return d0(u);case"uu":return d0(s);case"uuu":return Jt(n);case"a":return pa(t.meridiems(),0);case"kkkk":return Jt(i);case"kk":return Jt(d,OI);case"W":return Jt(s);case"WW":return Jt(r);case"E":case"c":return Jt(n);case"EEE":return pa(t.weekdays("short",!1),1);case"EEEE":return pa(t.weekdays("long",!1),1);case"ccc":return pa(t.weekdays("short",!0),1);case"cccc":return pa(t.weekdays("long",!0),1);case"Z":case"ZZ":return h3(new RegExp(`([+-]${s.source})(?::(${r.source}))?`),2);case"ZZZ":return h3(new RegExp(`([+-]${s.source})(${r.source})?`),2);case"z":return d0(/[a-z_+-/]{1,256}?/i);case" ":return d0(/[^\S\n\r]/);default:return p(v)}})(e)||{invalidReason:bKe};return m.token=e,m}const PKe={year:{"2-digit":"yy",numeric:"yyyyy"},month:{numeric:"M","2-digit":"MM",short:"MMM",long:"MMMM"},day:{numeric:"d","2-digit":"dd"},weekday:{short:"EEE",long:"EEEE"},dayperiod:"a",dayPeriod:"a",hour12:{numeric:"h","2-digit":"hh"},hour24:{numeric:"H","2-digit":"HH"},minute:{numeric:"m","2-digit":"mm"},second:{numeric:"s","2-digit":"ss"},timeZoneName:{long:"ZZZZZ",short:"ZZZ"}};function EKe(e,t,n){const{type:r,value:o}=e;if(r==="literal"){const l=/^\s+$/.test(o);return{literal:!l,val:l?" ":o}}const i=t[r];let a=r;r==="hour"&&(t.hour12!=null?a=t.hour12?"hour12":"hour24":t.hourCycle!=null?t.hourCycle==="h11"||t.hourCycle==="h12"?a="hour12":a="hour24":a=n.hour12?"hour12":"hour24");let s=PKe[a];if(typeof s=="object"&&(s=s[i]),s)return{literal:!1,val:s}}function OKe(e){return[`^${e.map(n=>n.regex).reduce((n,r)=>`${n}(${r.source})`,"")}$`,e]}function TKe(e,t,n){const r=e.match(t);if(r){const o={};let i=1;for(const a in n)if(Kp(n,a)){const s=n[a],l=s.groups?s.groups+1:1;!s.literal&&s.token&&(o[s.token.val[0]]=s.deser(r.slice(i,i+l))),i+=l}return[r,o]}else return[r,{}]}function kKe(e){const t=i=>{switch(i){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":case"H":return"hour";case"d":return"day";case"o":return"ordinal";case"L":case"M":return"month";case"y":return"year";case"E":case"c":return"weekday";case"W":return"weekNumber";case"k":return"weekYear";case"q":return"quarter";default:return null}};let n=null,r;return dt(e.z)||(n=wl.create(e.z)),dt(e.Z)||(n||(n=new co(e.Z)),r=e.Z),dt(e.q)||(e.M=(e.q-1)*3+1),dt(e.h)||(e.h<12&&e.a===1?e.h+=12:e.h===12&&e.a===0&&(e.h=0)),e.G===0&&e.y&&(e.y=-e.y),dt(e.u)||(e.S=l_(e.u)),[Object.keys(e).reduce((i,a)=>{const s=t(a);return s&&(i[s]=e[a]),i},{}),n,r]}let HE=null;function IKe(){return HE||(HE=nt.fromMillis(1555555555555)),HE}function $Ke(e,t){if(e.literal)return e;const n=Ca.macroTokenToFormatOpts(e.val),r=HY(n,t);return r==null||r.includes(void 0)?e:r}function BY(e,t){return Array.prototype.concat(...e.map(n=>$Ke(n,t)))}class zY{constructor(t,n){if(this.locale=t,this.format=n,this.tokens=BY(Ca.parseFormat(n),t),this.units=this.tokens.map(r=>SKe(r,t)),this.disqualifyingUnit=this.units.find(r=>r.invalidReason),!this.disqualifyingUnit){const[r,o]=OKe(this.units);this.regex=RegExp(r,"i"),this.handlers=o}}explainFromTokens(t){if(this.isValid){const[n,r]=TKe(t,this.regex,this.handlers),[o,i,a]=r?kKe(r):[null,null,void 0];if(Kp(r,"a")&&Kp(r,"H"))throw new jf("Can't include meridiem when specifying 24-hour format");return{input:t,tokens:this.tokens,regex:this.regex,rawMatches:n,matches:r,result:o,zone:i,specificOffset:a}}else return{input:t,tokens:this.tokens,invalidReason:this.invalidReason}}get isValid(){return!this.disqualifyingUnit}get invalidReason(){return this.disqualifyingUnit?this.disqualifyingUnit.invalidReason:null}}function VY(e,t,n){return new zY(e,n).explainFromTokens(t)}function MKe(e,t,n){const{result:r,zone:o,specificOffset:i,invalidReason:a}=VY(e,t,n);return[r,o,i,a]}function HY(e,t){if(!e)return null;const r=Ca.create(t,e).dtFormatter(IKe()),o=r.formatToParts(),i=r.resolvedOptions();return o.map(a=>EKe(a,e,i))}const UE="Invalid DateTime",m3=864e13;function tg(e){return new Sa("unsupported zone",`the zone "${e.name}" is not supported`)}function WE(e){return e.weekData===null&&(e.weekData=qw(e.c)),e.weekData}function GE(e){return e.localWeekData===null&&(e.localWeekData=qw(e.c,e.loc.getMinDaysInFirstWeek(),e.loc.getStartOfWeek())),e.localWeekData}function iu(e,t){const n={ts:e.ts,zone:e.zone,c:e.c,o:e.o,loc:e.loc,invalid:e.invalid};return new nt({...n,...t,old:n})}function UY(e,t,n){let r=e-t*60*1e3;const o=n.offset(r);if(t===o)return[r,t];r-=(o-t)*60*1e3;const i=n.offset(r);return o===i?[r,o]:[e-Math.min(o,i)*60*1e3,Math.max(o,i)]}function f0(e,t){e+=t*60*1e3;const n=new Date(e);return{year:n.getUTCFullYear(),month:n.getUTCMonth()+1,day:n.getUTCDate(),hour:n.getUTCHours(),minute:n.getUTCMinutes(),second:n.getUTCSeconds(),millisecond:n.getUTCMilliseconds()}}function Y0(e,t,n){return UY(jS(e),t,n)}function g3(e,t){const n=e.o,r=e.c.year+Math.trunc(t.years),o=e.c.month+Math.trunc(t.months)+Math.trunc(t.quarters)*3,i={...e.c,year:r,month:o,day:Math.min(e.c.day,Kw(r,o))+Math.trunc(t.days)+Math.trunc(t.weeks)*7},a=Gt.fromObject({years:t.years-Math.trunc(t.years),quarters:t.quarters-Math.trunc(t.quarters),months:t.months-Math.trunc(t.months),weeks:t.weeks-Math.trunc(t.weeks),days:t.days-Math.trunc(t.days),hours:t.hours,minutes:t.minutes,seconds:t.seconds,milliseconds:t.milliseconds}).as("milliseconds"),s=jS(i);let[l,c]=UY(s,n,e.zone);return a!==0&&(l+=a,c=e.zone.offset(l)),{ts:l,o:c}}function ef(e,t,n,r,o,i){const{setZone:a,zone:s}=n;if(e&&Object.keys(e).length!==0||t){const l=t||s,c=nt.fromObject(e,{...n,zone:l,specificOffset:i});return a?c:c.setZone(s)}else return nt.invalid(new Sa("unparsable",`the input "${o}" can't be parsed as ${r}`))}function p0(e,t,n=!0){return e.isValid?Ca.create(rn.create("en-US"),{allowZ:n,forceSimple:!0}).formatDateTimeFromString(e,t):null}function qE(e,t){const n=e.c.year>9999||e.c.year<0;let r="";return n&&e.c.year>=0&&(r+="+"),r+=tr(e.c.year,n?6:4),t?(r+="-",r+=tr(e.c.month),r+="-",r+=tr(e.c.day)):(r+=tr(e.c.month),r+=tr(e.c.day)),r}function v3(e,t,n,r,o,i){let a=tr(e.c.hour);return t?(a+=":",a+=tr(e.c.minute),(e.c.millisecond!==0||e.c.second!==0||!n)&&(a+=":")):a+=tr(e.c.minute),(e.c.millisecond!==0||e.c.second!==0||!n)&&(a+=tr(e.c.second),(e.c.millisecond!==0||!r)&&(a+=".",a+=tr(e.c.millisecond,3))),o&&(e.isOffsetFixed&&e.offset===0&&!i?a+="Z":e.o<0?(a+="-",a+=tr(Math.trunc(-e.o/60)),a+=":",a+=tr(Math.trunc(-e.o%60))):(a+="+",a+=tr(Math.trunc(e.o/60)),a+=":",a+=tr(Math.trunc(e.o%60)))),i&&(a+="["+e.zone.ianaName+"]"),a}const WY={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},AKe={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},RKe={ordinal:1,hour:0,minute:0,second:0,millisecond:0},GY=["year","month","day","hour","minute","second","millisecond"],_Ke=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],DKe=["year","ordinal","hour","minute","second","millisecond"];function NKe(e){const t={year:"year",years:"year",month:"month",months:"month",day:"day",days:"day",hour:"hour",hours:"hour",minute:"minute",minutes:"minute",quarter:"quarter",quarters:"quarter",second:"second",seconds:"second",millisecond:"millisecond",milliseconds:"millisecond",weekday:"weekday",weekdays:"weekday",weeknumber:"weekNumber",weeksnumber:"weekNumber",weeknumbers:"weekNumber",weekyear:"weekYear",weekyears:"weekYear",ordinal:"ordinal"}[e.toLowerCase()];if(!t)throw new qK(e);return t}function y3(e){switch(e.toLowerCase()){case"localweekday":case"localweekdays":return"localWeekday";case"localweeknumber":case"localweeknumbers":return"localWeekNumber";case"localweekyear":case"localweekyears":return"localWeekYear";default:return NKe(e)}}function LKe(e){return X0[e]||(Q0===void 0&&(Q0=An.now()),X0[e]=e.offset(Q0)),X0[e]}function b3(e,t){const n=oc(t.zone,An.defaultZone);if(!n.isValid)return nt.invalid(tg(n));const r=rn.fromObject(t);let o,i;if(dt(e.year))o=An.now();else{for(const l of GY)dt(e[l])&&(e[l]=WY[l]);const a=vY(e)||yY(e);if(a)return nt.invalid(a);const s=LKe(n);[o,i]=Y0(e,s,n)}return new nt({ts:o,zone:n,loc:r,o:i})}function x3(e,t,n){const r=dt(n.round)?!0:n.round,o=(a,s)=>(a=c_(a,r||n.calendary?0:2,!0),t.loc.clone(n).relFormatter(n).format(a,s)),i=a=>n.calendary?t.hasSame(e,a)?0:t.startOf(a).diff(e.startOf(a),a).get(a):t.diff(e,a).get(a);if(n.unit)return o(i(n.unit),n.unit);for(const a of n.units){const s=i(a);if(Math.abs(s)>=1)return o(s,a)}return o(e>t?-0:0,n.units[n.units.length-1])}function w3(e){let t={},n;return e.length>0&&typeof e[e.length-1]=="object"?(t=e[e.length-1],n=Array.from(e).slice(0,e.length-1)):n=Array.from(e),[t,n]}let Q0,X0={};class nt{constructor(t){const n=t.zone||An.defaultZone;let r=t.invalid||(Number.isNaN(t.ts)?new Sa("invalid input"):null)||(n.isValid?null:tg(n));this.ts=dt(t.ts)?An.now():t.ts;let o=null,i=null;if(!r)if(t.old&&t.old.ts===this.ts&&t.old.zone.equals(n))[o,i]=[t.old.c,t.old.o];else{const s=Sc(t.o)&&!t.old?t.o:n.offset(this.ts);o=f0(this.ts,s),r=Number.isNaN(o.year)?new Sa("invalid input"):null,o=r?null:o,i=r?null:s}this._zone=n,this.loc=t.loc||rn.create(),this.invalid=r,this.weekData=null,this.localWeekData=null,this.c=o,this.o=i,this.isLuxonDateTime=!0}static now(){return new nt({})}static local(){const[t,n]=w3(arguments),[r,o,i,a,s,l,c]=n;return b3({year:r,month:o,day:i,hour:a,minute:s,second:l,millisecond:c},t)}static utc(){const[t,n]=w3(arguments),[r,o,i,a,s,l,c]=n;return t.zone=co.utcInstance,b3({year:r,month:o,day:i,hour:a,minute:s,second:l,millisecond:c},t)}static fromJSDate(t,n={}){const r=pqe(t)?t.valueOf():NaN;if(Number.isNaN(r))return nt.invalid("invalid input");const o=oc(n.zone,An.defaultZone);return o.isValid?new nt({ts:r,zone:o,loc:rn.fromObject(n)}):nt.invalid(tg(o))}static fromMillis(t,n={}){if(Sc(t))return t<-m3||t>m3?nt.invalid("Timestamp out of range"):new nt({ts:t,zone:oc(n.zone,An.defaultZone),loc:rn.fromObject(n)});throw new qr(`fromMillis requires a numerical input, but received a ${typeof t} with value ${t}`)}static fromSeconds(t,n={}){if(Sc(t))return new nt({ts:t*1e3,zone:oc(n.zone,An.defaultZone),loc:rn.fromObject(n)});throw new qr("fromSeconds requires a numerical input")}static fromObject(t,n={}){t=t||{};const r=oc(n.zone,An.defaultZone);if(!r.isValid)return nt.invalid(tg(r));const o=rn.fromObject(n),i=Yw(t,y3),{minDaysInFirstWeek:a,startOfWeek:s}=i3(i,o),l=An.now(),c=dt(n.specificOffset)?r.offset(l):n.specificOffset,u=!dt(i.ordinal),d=!dt(i.year),f=!dt(i.month)||!dt(i.day),p=d||f,h=i.weekYear||i.weekNumber;if((p||u)&&h)throw new jf("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(f&&u)throw new jf("Can't mix ordinal dates with month/day");const m=h||i.weekday&&!p;let v,b,y=f0(l,c);m?(v=_Ke,b=AKe,y=qw(y,a,s)):u?(v=DKe,b=RKe,y=VE(y)):(v=GY,b=WY);let w=!1;for(const M of v){const D=i[M];dt(D)?w?i[M]=b[M]:i[M]=y[M]:w=!0}const C=m?uqe(i,a,s):u?dqe(i):vY(i),O=C||yY(i);if(O)return nt.invalid(O);const P=m?r3(i,a,s):u?o3(i):i,[E,T]=Y0(P,c,r),$=new nt({ts:E,zone:r,o:T,loc:o});return i.weekday&&p&&t.weekday!==$.weekday?nt.invalid("mismatched weekday",`you can't specify both a weekday of ${i.weekday} and a date of ${$.toISO()}`):$.isValid?$:nt.invalid($.invalid)}static fromISO(t,n={}){const[r,o]=nKe(t);return ef(r,o,n,"ISO 8601",t)}static fromRFC2822(t,n={}){const[r,o]=rKe(t);return ef(r,o,n,"RFC 2822",t)}static fromHTTP(t,n={}){const[r,o]=oKe(t);return ef(r,o,n,"HTTP",n)}static fromFormat(t,n,r={}){if(dt(t)||dt(n))throw new qr("fromFormat requires an input string and a format");const{locale:o=null,numberingSystem:i=null}=r,a=rn.fromOpts({locale:o,numberingSystem:i,defaultToEN:!0}),[s,l,c,u]=MKe(a,t,n);return u?nt.invalid(u):ef(s,l,r,`format ${n}`,t,c)}static fromString(t,n,r={}){return nt.fromFormat(t,n,r)}static fromSQL(t,n={}){const[r,o]=dKe(t);return ef(r,o,n,"SQL",t)}static invalid(t,n=null){if(!t)throw new qr("need to specify a reason the DateTime is invalid");const r=t instanceof Sa?t:new Sa(t,n);if(An.throwOnInvalid)throw new L7e(r);return new nt({invalid:r})}static isDateTime(t){return t&&t.isLuxonDateTime||!1}static parseFormatForOpts(t,n={}){const r=HY(t,rn.fromObject(n));return r?r.map(o=>o?o.val:null).join(""):null}static expandFormat(t,n={}){return BY(Ca.parseFormat(t),rn.fromObject(n)).map(o=>o.val).join("")}static resetCache(){Q0=void 0,X0={}}get(t){return this[t]}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}get outputCalendar(){return this.isValid?this.loc.outputCalendar:null}get zone(){return this._zone}get zoneName(){return this.isValid?this.zone.name:null}get year(){return this.isValid?this.c.year:NaN}get quarter(){return this.isValid?Math.ceil(this.c.month/3):NaN}get month(){return this.isValid?this.c.month:NaN}get day(){return this.isValid?this.c.day:NaN}get hour(){return this.isValid?this.c.hour:NaN}get minute(){return this.isValid?this.c.minute:NaN}get second(){return this.isValid?this.c.second:NaN}get millisecond(){return this.isValid?this.c.millisecond:NaN}get weekYear(){return this.isValid?WE(this).weekYear:NaN}get weekNumber(){return this.isValid?WE(this).weekNumber:NaN}get weekday(){return this.isValid?WE(this).weekday:NaN}get isWeekend(){return this.isValid&&this.loc.getWeekendDays().includes(this.weekday)}get localWeekday(){return this.isValid?GE(this).weekday:NaN}get localWeekNumber(){return this.isValid?GE(this).weekNumber:NaN}get localWeekYear(){return this.isValid?GE(this).weekYear:NaN}get ordinal(){return this.isValid?VE(this.c).ordinal:NaN}get monthShort(){return this.isValid?Ff.months("short",{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?Ff.months("long",{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?Ff.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?Ff.weekdays("long",{locObj:this.loc})[this.weekday-1]:null}get offset(){return this.isValid?+this.o:NaN}get offsetNameShort(){return this.isValid?this.zone.offsetName(this.ts,{format:"short",locale:this.locale}):null}get offsetNameLong(){return this.isValid?this.zone.offsetName(this.ts,{format:"long",locale:this.locale}):null}get isOffsetFixed(){return this.isValid?this.zone.isUniversal:null}get isInDST(){return this.isOffsetFixed?!1:this.offset>this.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset}getPossibleOffsets(){if(!this.isValid||this.isOffsetFixed)return[this];const t=864e5,n=6e4,r=jS(this.c),o=this.zone.offset(r-t),i=this.zone.offset(r+t),a=this.zone.offset(r-o*n),s=this.zone.offset(r-i*n);if(a===s)return[this];const l=r-a*n,c=r-s*n,u=f0(l,a),d=f0(c,s);return u.hour===d.hour&&u.minute===d.minute&&u.second===d.second&&u.millisecond===d.millisecond?[iu(this,{ts:l}),iu(this,{ts:c})]:[this]}get isInLeapYear(){return Jy(this.year)}get daysInMonth(){return Kw(this.year,this.month)}get daysInYear(){return this.isValid?op(this.year):NaN}get weeksInWeekYear(){return this.isValid?ey(this.weekYear):NaN}get weeksInLocalWeekYear(){return this.isValid?ey(this.localWeekYear,this.loc.getMinDaysInFirstWeek(),this.loc.getStartOfWeek()):NaN}resolvedLocaleOptions(t={}){const{locale:n,numberingSystem:r,calendar:o}=Ca.create(this.loc.clone(t),t).resolvedOptions(this);return{locale:n,numberingSystem:r,outputCalendar:o}}toUTC(t=0,n={}){return this.setZone(co.instance(t),n)}toLocal(){return this.setZone(An.defaultZone)}setZone(t,{keepLocalTime:n=!1,keepCalendarTime:r=!1}={}){if(t=oc(t,An.defaultZone),t.equals(this.zone))return this;if(t.isValid){let o=this.ts;if(n||r){const i=t.offset(this.ts),a=this.toObject();[o]=Y0(a,i,t)}return iu(this,{ts:o,zone:t})}else return nt.invalid(tg(t))}reconfigure({locale:t,numberingSystem:n,outputCalendar:r}={}){const o=this.loc.clone({locale:t,numberingSystem:n,outputCalendar:r});return iu(this,{loc:o})}setLocale(t){return this.reconfigure({locale:t})}set(t){if(!this.isValid)return this;const n=Yw(t,y3),{minDaysInFirstWeek:r,startOfWeek:o}=i3(n,this.loc),i=!dt(n.weekYear)||!dt(n.weekNumber)||!dt(n.weekday),a=!dt(n.ordinal),s=!dt(n.year),l=!dt(n.month)||!dt(n.day),c=s||l,u=n.weekYear||n.weekNumber;if((c||a)&&u)throw new jf("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(l&&a)throw new jf("Can't mix ordinal dates with month/day");let d;i?d=r3({...qw(this.c,r,o),...n},r,o):dt(n.ordinal)?(d={...this.toObject(),...n},dt(n.day)&&(d.day=Math.min(Kw(d.year,d.month),d.day))):d=o3({...VE(this.c),...n});const[f,p]=Y0(d,this.o,this.zone);return iu(this,{ts:f,o:p})}plus(t){if(!this.isValid)return this;const n=Gt.fromDurationLike(t);return iu(this,g3(this,n))}minus(t){if(!this.isValid)return this;const n=Gt.fromDurationLike(t).negate();return iu(this,g3(this,n))}startOf(t,{useLocaleWeeks:n=!1}={}){if(!this.isValid)return this;const r={},o=Gt.normalizeUnit(t);switch(o){case"years":r.month=1;case"quarters":case"months":r.day=1;case"weeks":case"days":r.hour=0;case"hours":r.minute=0;case"minutes":r.second=0;case"seconds":r.millisecond=0;break}if(o==="weeks")if(n){const i=this.loc.getStartOfWeek(),{weekday:a}=this;athis.valueOf(),s=a?this:t,l=a?t:this,c=yKe(s,l,i,o);return a?c.negate():c}diffNow(t="milliseconds",n={}){return this.diff(nt.now(),t,n)}until(t){return this.isValid?Un.fromDateTimes(this,t):this}hasSame(t,n,r){if(!this.isValid)return!1;const o=t.valueOf(),i=this.setZone(t.zone,{keepLocalTime:!0});return i.startOf(n,r)<=o&&o<=i.endOf(n,r)}equals(t){return this.isValid&&t.isValid&&this.valueOf()===t.valueOf()&&this.zone.equals(t.zone)&&this.loc.equals(t.loc)}toRelative(t={}){if(!this.isValid)return null;const n=t.base||nt.fromObject({},{zone:this.zone}),r=t.padding?thisn.valueOf(),Math.min)}static max(...t){if(!t.every(nt.isDateTime))throw new qr("max requires all arguments be DateTimes");return a3(t,n=>n.valueOf(),Math.max)}static fromFormatExplain(t,n,r={}){const{locale:o=null,numberingSystem:i=null}=r,a=rn.fromOpts({locale:o,numberingSystem:i,defaultToEN:!0});return VY(a,t,n)}static fromStringExplain(t,n,r={}){return nt.fromFormatExplain(t,n,r)}static buildFormatParser(t,n={}){const{locale:r=null,numberingSystem:o=null}=n,i=rn.fromOpts({locale:r,numberingSystem:o,defaultToEN:!0});return new zY(i,t)}static fromFormatParser(t,n,r={}){if(dt(t)||dt(n))throw new qr("fromFormatParser requires an input string and a format parser");const{locale:o=null,numberingSystem:i=null}=r,a=rn.fromOpts({locale:o,numberingSystem:i,defaultToEN:!0});if(!a.equals(n.locale))throw new qr(`fromFormatParser called with a locale of ${a}, but the format parser was created for ${n.locale}`);const{result:s,zone:l,specificOffset:c,invalidReason:u}=n.explainFromTokens(t);return u?nt.invalid(u):ef(s,l,r,`format ${n.format}`,t,c)}static get DATE_SHORT(){return Gw}static get DATE_MED(){return KK}static get DATE_MED_WITH_WEEKDAY(){return B7e}static get DATE_FULL(){return YK}static get DATE_HUGE(){return QK}static get TIME_SIMPLE(){return XK}static get TIME_WITH_SECONDS(){return JK}static get TIME_WITH_SHORT_OFFSET(){return ZK}static get TIME_WITH_LONG_OFFSET(){return eY}static get TIME_24_SIMPLE(){return tY}static get TIME_24_WITH_SECONDS(){return nY}static get TIME_24_WITH_SHORT_OFFSET(){return rY}static get TIME_24_WITH_LONG_OFFSET(){return oY}static get DATETIME_SHORT(){return iY}static get DATETIME_SHORT_WITH_SECONDS(){return aY}static get DATETIME_MED(){return sY}static get DATETIME_MED_WITH_SECONDS(){return lY}static get DATETIME_MED_WITH_WEEKDAY(){return z7e}static get DATETIME_FULL(){return cY}static get DATETIME_FULL_WITH_SECONDS(){return uY}static get DATETIME_HUGE(){return dY}static get DATETIME_HUGE_WITH_SECONDS(){return fY}}function _m(e){if(nt.isDateTime(e))return e;if(e&&e.valueOf&&Sc(e.valueOf()))return nt.fromJSDate(e);if(e&&typeof e=="object")return nt.fromObject(e);throw new qr(`Unknown datetime argument: ${e}, of type ${typeof e}`)}const jKe={dayOfMonth:"d",fullDate:"DD",fullDateWithWeekday:"DDDD",fullDateTime:"ff",fullDateTime12h:"DD, hh:mm a",fullDateTime24h:"DD, T",fullTime:"t",fullTime12h:"hh:mm a",fullTime24h:"HH:mm",hours12h:"hh",hours24h:"HH",keyboardDate:"D",keyboardDateTime:"D t",keyboardDateTime12h:"D hh:mm a",keyboardDateTime24h:"D T",minutes:"mm",seconds:"ss",month:"LLLL",monthAndDate:"MMMM d",monthAndYear:"LLLL yyyy",monthShort:"MMM",weekday:"cccc",weekdayShort:"ccc",normalDate:"d MMMM",normalDateWithWeekday:"EEE, MMM d",shortDate:"MMM d",year:"yyyy"};class zS{constructor({locale:t,formats:n}={}){this.lib="luxon",this.date=r=>typeof r>"u"?nt.local():r===null?null:typeof r=="string"?nt.fromJSDate(new Date(r),{locale:this.locale}):nt.isDateTime(r)?r:nt.fromJSDate(r,{locale:this.locale}),this.toJsDate=r=>r.toJSDate(),this.parseISO=r=>nt.fromISO(r),this.toISO=r=>r.toISO({format:"extended"}),this.parse=(r,o)=>r===""?null:nt.fromFormat(r,o,{locale:this.locale}),this.is12HourCycleInCurrentLocale=()=>{var r,o;return typeof Intl>"u"||typeof Intl.DateTimeFormat>"u"?!0:!!(!((o=(r=new Intl.DateTimeFormat(this.locale,{hour:"numeric"}))===null||r===void 0?void 0:r.resolvedOptions())===null||o===void 0)&&o.hour12)},this.getFormatHelperText=r=>"",this.getCurrentLocaleCode=()=>this.locale||An.defaultLocale,this.addSeconds=(r,o)=>r.plus({seconds:o}),this.addMinutes=(r,o)=>r.plus({minutes:o}),this.addHours=(r,o)=>r.plus({hours:o}),this.addDays=(r,o)=>r.plus({days:o}),this.addWeeks=(r,o)=>r.plus({weeks:o}),this.addMonths=(r,o)=>r.plus({months:o}),this.addYears=(r,o)=>r.plus({years:o}),this.isValid=r=>{var o,i;return nt.isDateTime(r)?r.isValid:r===null?!1:(i=(o=this.date(r))===null||o===void 0?void 0:o.isValid)!==null&&i!==void 0?i:!1},this.isEqual=(r,o)=>{var i,a;return r===null&&o===null?!0:r===null||o===null||!this.date(o)?!1:(a=(i=this.date(r))===null||i===void 0?void 0:i.equals(this.date(o)))!==null&&a!==void 0?a:!1},this.isSameDay=(r,o)=>r.hasSame(o,"day"),this.isSameMonth=(r,o)=>r.hasSame(o,"month"),this.isSameYear=(r,o)=>r.hasSame(o,"year"),this.isSameHour=(r,o)=>r.hasSame(o,"hour"),this.isAfter=(r,o)=>r>o,this.isBefore=(r,o)=>rr.diff(o.startOf("day"),"days").toObject().days<0,this.isAfterDay=(r,o)=>r.diff(o.endOf("day"),"days").toObject().days>0,this.isBeforeMonth=(r,o)=>r.diff(o.startOf("month"),"months").toObject().months<0,this.isAfterMonth=(r,o)=>r.diff(o.startOf("month"),"months").toObject().months>0,this.isBeforeYear=(r,o)=>r.diff(o.startOf("year"),"years").toObject().years<0,this.isAfterYear=(r,o)=>r.diff(o.endOf("year"),"years").toObject().years>0,this.getDiff=(r,o,i)=>(typeof o=="string"&&(o=nt.fromJSDate(new Date(o))),o.isValid?i?Math.floor(r.diff(o).as(i)):r.diff(o).as("millisecond"):0),this.startOfDay=r=>r.startOf("day"),this.endOfDay=r=>r.endOf("day"),this.format=(r,o)=>this.formatByString(r,this.formats[o]),this.formatByString=(r,o)=>r.setLocale(this.locale).toFormat(o),this.formatNumber=r=>r,this.getHours=r=>r.get("hour"),this.setHours=(r,o)=>r.set({hour:o}),this.getMinutes=r=>r.get("minute"),this.setMinutes=(r,o)=>r.set({minute:o}),this.getSeconds=r=>r.get("second"),this.setSeconds=(r,o)=>r.set({second:o}),this.getMonth=r=>r.get("month")-1,this.getDaysInMonth=r=>r.daysInMonth,this.setMonth=(r,o)=>r.set({month:o+1}),this.getYear=r=>r.get("year"),this.setYear=(r,o)=>r.set({year:o}),this.getDate=r=>r.get("day"),this.setDate=(r,o)=>r.set({day:o}),this.mergeDateAndTime=(r,o)=>r.set({second:o.second,hour:o.hour,minute:o.minute}),this.startOfYear=r=>r.startOf("year"),this.endOfYear=r=>r.endOf("year"),this.startOfMonth=r=>r.startOf("month"),this.endOfMonth=r=>r.endOf("month"),this.startOfWeek=r=>r.startOf("week"),this.endOfWeek=r=>r.endOf("week"),this.getNextMonth=r=>r.plus({months:1}),this.getPreviousMonth=r=>r.minus({months:1}),this.getMonthArray=r=>{const i=[r.startOf("year")];for(;i.length<12;){const a=i[i.length-1];i.push(this.getNextMonth(a))}return i},this.getWeekdays=()=>Ff.weekdaysFormat("short",{locale:this.locale}),this.getWeekArray=r=>{const{days:o}=r.endOf("month").endOf("week").diff(r.startOf("month").startOf("week"),"days").toObject(),i=[];return new Array(Math.round(o)).fill(0).map((a,s)=>s).map(a=>r.startOf("month").startOf("week").plus({days:a})).forEach((a,s)=>{if(s===0||s%7===0&&s>6){i.push([a]);return}i[i.length-1].push(a)}),i},this.getYearRange=(r,o)=>{const i=r.startOf("year"),a=o.endOf("year");let s=i;const l=[];for(;sFf.meridiems({locale:this.locale}).find(o=>o.toLowerCase()===r.toLowerCase()),this.isNull=r=>r===null,this.isWithinRange=(r,[o,i])=>r.equals(o)||r.equals(i)||this.isAfter(r,o)&&this.isBefore(r,i),this.locale=t||"en-US",this.formats=Object.assign({},jKe,n)}}var p_={},FKe=Ut;Object.defineProperty(p_,"__esModule",{value:!0});var VS=p_.default=void 0,BKe=FKe(Xt()),zKe=Kt();VS=p_.default=(0,BKe.default)((0,zKe.jsx)("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14"}),"Search");function h_({callback:e,initialIngredient:t}){const n=t?{value:t,data:{id:-1,name:t,image:null,image_thumbnail:null}}:null,[r,o]=g.useState(!0),[i,a]=g.useState(n),[s,l]=g.useState(""),[c,u]=g.useState([]),[d,f]=Oe(),p=g.useMemo(()=>dS(h=>O1e(h,f.language,r).then(m=>u(m)),200),[f.language,r]);return g.useEffect(()=>{if(s===""){u(i?[i]:[]);return}return p(s),()=>{}},[i,s,p]),z(pt,{children:[x(Da,{id:"ingredient-autocomplete",getOptionLabel:h=>h.value,"data-testid":"autocomplete",filterOptions:h=>h,options:c,autoComplete:!0,includeInputInList:!0,filterSelectedOptions:!0,value:i,noOptionsText:d("noResults"),isOptionEqualToValue:(h,m)=>h.value===m.value,onChange:(h,m)=>{u(m?[m,...c]:c),a(m),e(m)},onInputChange:(h,m)=>{l(m)},renderInput:h=>x($t,{...h,label:d("nutrition.searchIngredientName"),fullWidth:!0,InputProps:{...h.InputProps,startAdornment:z(tt,{children:[x(dr,{position:"start",children:x(VS,{})}),h.InputProps.startAdornment]})}}),renderOption:(h,m)=>IH("li",{...h,key:`ingredient-${m.data.id}`},z(Zi,{disablePadding:!0,component:"div",children:[x(fo,{children:x(Na,{alt:"",src:`${RA}${m.data.image}`,variant:"rounded",children:x(Es,{})})}),x(or,{primary:m.value,primaryTypographyProps:{style:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}}})]}))}),f.language!==Op&&x(jC,{children:x($y,{control:x(El,{checked:r,onChange:(h,m)=>o(m)}),label:d("alsoSearchEnglish")})})]})}var VKe=function(t){return HKe(t)&&!UKe(t)};function HKe(e){return!!e&&typeof e=="object"}function UKe(e){var t=Object.prototype.toString.call(e);return t==="[object RegExp]"||t==="[object Date]"||qKe(e)}var WKe=typeof Symbol=="function"&&Symbol.for,GKe=WKe?Symbol.for("react.element"):60103;function qKe(e){return e.$$typeof===GKe}function KKe(e){return Array.isArray(e)?[]:{}}function Qw(e,t){return t.clone!==!1&&t.isMergeableObject(e)?ty(KKe(e),e,t):e}function YKe(e,t,n){return e.concat(t).map(function(r){return Qw(r,n)})}function QKe(e,t,n){var r={};return n.isMergeableObject(e)&&Object.keys(e).forEach(function(o){r[o]=Qw(e[o],n)}),Object.keys(t).forEach(function(o){!n.isMergeableObject(t[o])||!e[o]?r[o]=Qw(t[o],n):r[o]=ty(e[o],t[o],n)}),r}function ty(e,t,n){n=n||{},n.arrayMerge=n.arrayMerge||YKe,n.isMergeableObject=n.isMergeableObject||VKe;var r=Array.isArray(t),o=Array.isArray(e),i=r===o;return i?r?n.arrayMerge(e,t,n):QKe(e,t,n):Qw(t,n)}ty.all=function(t,n){if(!Array.isArray(t))throw new Error("first argument should be an array");return t.reduce(function(r,o){return ty(r,o,n)},{})};var TI=ty,qY=typeof global=="object"&&global&&global.Object===Object&&global,XKe=typeof self=="object"&&self&&self.Object===Object&&self,Ms=qY||XKe||Function("return this")(),Mc=Ms.Symbol,KY=Object.prototype,JKe=KY.hasOwnProperty,ZKe=KY.toString,Dm=Mc?Mc.toStringTag:void 0;function eYe(e){var t=JKe.call(e,Dm),n=e[Dm];try{e[Dm]=void 0;var r=!0}catch{}var o=ZKe.call(e);return r&&(t?e[Dm]=n:delete e[Dm]),o}var tYe=Object.prototype,nYe=tYe.toString;function rYe(e){return nYe.call(e)}var oYe="[object Null]",iYe="[object Undefined]",C3=Mc?Mc.toStringTag:void 0;function Od(e){return e==null?e===void 0?iYe:oYe:C3&&C3 in Object(e)?eYe(e):rYe(e)}function YY(e,t){return function(n){return e(t(n))}}var m_=YY(Object.getPrototypeOf,Object);function Td(e){return e!=null&&typeof e=="object"}var aYe="[object Object]",sYe=Function.prototype,lYe=Object.prototype,QY=sYe.toString,cYe=lYe.hasOwnProperty,uYe=QY.call(Object);function S3(e){if(!Td(e)||Od(e)!=aYe)return!1;var t=m_(e);if(t===null)return!0;var n=cYe.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&QY.call(n)==uYe}function dYe(){this.__data__=[],this.size=0}function XY(e,t){return e===t||e!==e&&t!==t}function HS(e,t){for(var n=e.length;n--;)if(XY(e[n][0],t))return n;return-1}var fYe=Array.prototype,pYe=fYe.splice;function hYe(e){var t=this.__data__,n=HS(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():pYe.call(t,n,1),--this.size,!0}function mYe(e){var t=this.__data__,n=HS(t,e);return n<0?void 0:t[n][1]}function gYe(e){return HS(this.__data__,e)>-1}function vYe(e,t){var n=this.__data__,r=HS(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function Il(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t-1&&e%1==0&&e-1&&e%1==0&&e<=vQe}var yQe="[object Arguments]",bQe="[object Array]",xQe="[object Boolean]",wQe="[object Date]",CQe="[object Error]",SQe="[object Function]",PQe="[object Map]",EQe="[object Number]",OQe="[object Object]",TQe="[object RegExp]",kQe="[object Set]",IQe="[object String]",$Qe="[object WeakMap]",MQe="[object ArrayBuffer]",AQe="[object DataView]",RQe="[object Float32Array]",_Qe="[object Float64Array]",DQe="[object Int8Array]",NQe="[object Int16Array]",LQe="[object Int32Array]",jQe="[object Uint8Array]",FQe="[object Uint8ClampedArray]",BQe="[object Uint16Array]",zQe="[object Uint32Array]",En={};En[RQe]=En[_Qe]=En[DQe]=En[NQe]=En[LQe]=En[jQe]=En[FQe]=En[BQe]=En[zQe]=!0;En[yQe]=En[bQe]=En[MQe]=En[xQe]=En[AQe]=En[wQe]=En[CQe]=En[SQe]=En[PQe]=En[EQe]=En[OQe]=En[TQe]=En[kQe]=En[IQe]=En[$Qe]=!1;function VQe(e){return Td(e)&&oQ(e.length)&&!!En[Od(e)]}function g_(e){return function(t){return e(t)}}var iQ=typeof Zo=="object"&&Zo&&!Zo.nodeType&&Zo,_g=iQ&&typeof ei=="object"&&ei&&!ei.nodeType&&ei,HQe=_g&&_g.exports===iQ,YE=HQe&&qY.process,Yp=function(){try{var e=_g&&_g.require&&_g.require("util").types;return e||YE&&YE.binding&&YE.binding("util")}catch{}}(),I3=Yp&&Yp.isTypedArray,UQe=I3?g_(I3):VQe,WQe=Object.prototype,GQe=WQe.hasOwnProperty;function aQ(e,t){var n=nb(e),r=!n&&uQe(e),o=!n&&!r&&rQ(e),i=!n&&!r&&!o&&UQe(e),a=n||r||o||i,s=a?aQe(e.length,String):[],l=s.length;for(var c in e)(t||GQe.call(e,c))&&!(a&&(c=="length"||o&&(c=="offset"||c=="parent")||i&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||gQe(c,l)))&&s.push(c);return s}var qQe=Object.prototype;function v_(e){var t=e&&e.constructor,n=typeof t=="function"&&t.prototype||qQe;return e===n}var KQe=YY(Object.keys,Object),YQe=Object.prototype,QQe=YQe.hasOwnProperty;function XQe(e){if(!v_(e))return KQe(e);var t=[];for(var n in Object(e))QQe.call(e,n)&&n!="constructor"&&t.push(n);return t}function sQ(e){return e!=null&&oQ(e.length)&&!JY(e)}function y_(e){return sQ(e)?aQ(e):XQe(e)}function JQe(e,t){return e&&WS(t,y_(t),e)}function ZQe(e){var t=[];if(e!=null)for(var n in Object(e))t.push(n);return t}var eXe=Object.prototype,tXe=eXe.hasOwnProperty;function nXe(e){if(!tb(e))return ZQe(e);var t=v_(e),n=[];for(var r in e)r=="constructor"&&(t||!tXe.call(e,r))||n.push(r);return n}function b_(e){return sQ(e)?aQ(e,!0):nXe(e)}function rXe(e,t){return e&&WS(t,b_(t),e)}var lQ=typeof Zo=="object"&&Zo&&!Zo.nodeType&&Zo,$3=lQ&&typeof ei=="object"&&ei&&!ei.nodeType&&ei,oXe=$3&&$3.exports===lQ,M3=oXe?Ms.Buffer:void 0,A3=M3?M3.allocUnsafe:void 0;function iXe(e,t){if(t)return e.slice();var n=e.length,r=A3?A3(n):new e.constructor(n);return e.copy(r),r}function cQ(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n=0)&&(n[o]=e[o]);return n}var GS=g.createContext(void 0);GS.displayName="FormikContext";var WJe=GS.Provider;GS.Consumer;function wQ(){var e=g.useContext(GS);return e}var Ti=function(t){return typeof t=="function"},rb=function(t){return t!==null&&typeof t=="object"},GJe=function(t){return String(Math.floor(Number(t)))===t},QE=function(t){return Object.prototype.toString.call(t)==="[object String]"},qJe=function(t){return g.Children.count(t)===0},XE=function(t){return rb(t)&&Ti(t.then)};function Vo(e,t,n,r){r===void 0&&(r=0);for(var o=bQ(t);e&&r=0?[]:{}}}return(i===0?e:o)[a[i]]===n?e:(n===void 0?delete o[a[i]]:o[a[i]]=n,i===0&&n===void 0&&delete r[a[i]],r)}function CQ(e,t,n,r){n===void 0&&(n=new WeakMap),r===void 0&&(r={});for(var o=0,i=Object.keys(e);o0?ne.map(function(ge){return M(ge,Vo(Y,ge))}):[Promise.resolve("DO_NOT_DELETE_YOU_WILL_BE_FIRED")];return Promise.all(se).then(function(ge){return ge.reduce(function(Ae,Ve,ze){return Ve==="DO_NOT_DELETE_YOU_WILL_BE_FIRED"||Ve&&(Ae=Bu(Ae,ne[ze],Ve)),Ae},{})})},[M]),L=g.useCallback(function(Y){return Promise.all([D(Y),f.validationSchema?$(Y):{},f.validate?T(Y):{}]).then(function(ne){var se=ne[0],ge=ne[1],Ae=ne[2],Ve=TI.all([se,ge,Ae],{arrayMerge:JJe});return Ve})},[f.validate,f.validationSchema,D,T,$]),N=Ei(function(Y){return Y===void 0&&(Y=P.values),E({type:"SET_ISVALIDATING",payload:!0}),L(Y).then(function(ne){return b.current&&(E({type:"SET_ISVALIDATING",payload:!1}),E({type:"SET_ERRORS",payload:ne})),ne})});g.useEffect(function(){a&&b.current===!0&&gu(p.current,f.initialValues)&&N(p.current)},[a,N]);var R=g.useCallback(function(Y){var ne=Y&&Y.values?Y.values:p.current,se=Y&&Y.errors?Y.errors:h.current?h.current:f.initialErrors||{},ge=Y&&Y.touched?Y.touched:m.current?m.current:f.initialTouched||{},Ae=Y&&Y.status?Y.status:v.current?v.current:f.initialStatus;p.current=ne,h.current=se,m.current=ge,v.current=Ae;var Ve=function(){E({type:"RESET_FORM",payload:{isSubmitting:!!Y&&!!Y.isSubmitting,errors:se,touched:ge,status:Ae,values:ne,isValidating:!!Y&&!!Y.isValidating,submitCount:Y&&Y.submitCount&&typeof Y.submitCount=="number"?Y.submitCount:0}})};if(f.onReset){var ze=f.onReset(P.values,te);XE(ze)?ze.then(Ve):Ve()}else Ve()},[f.initialErrors,f.initialStatus,f.initialTouched,f.onReset]);g.useEffect(function(){b.current===!0&&!gu(p.current,f.initialValues)&&c&&(p.current=f.initialValues,R(),a&&N(p.current))},[c,f.initialValues,R,a,N]),g.useEffect(function(){c&&b.current===!0&&!gu(h.current,f.initialErrors)&&(h.current=f.initialErrors||au,E({type:"SET_ERRORS",payload:f.initialErrors||au}))},[c,f.initialErrors]),g.useEffect(function(){c&&b.current===!0&&!gu(m.current,f.initialTouched)&&(m.current=f.initialTouched||m0,E({type:"SET_TOUCHED",payload:f.initialTouched||m0}))},[c,f.initialTouched]),g.useEffect(function(){c&&b.current===!0&&!gu(v.current,f.initialStatus)&&(v.current=f.initialStatus,E({type:"SET_STATUS",payload:f.initialStatus}))},[c,f.initialStatus,f.initialTouched]);var I=Ei(function(Y){if(y.current[Y]&&Ti(y.current[Y].validate)){var ne=Vo(P.values,Y),se=y.current[Y].validate(ne);return XE(se)?(E({type:"SET_ISVALIDATING",payload:!0}),se.then(function(ge){return ge}).then(function(ge){E({type:"SET_FIELD_ERROR",payload:{field:Y,value:ge}}),E({type:"SET_ISVALIDATING",payload:!1})})):(E({type:"SET_FIELD_ERROR",payload:{field:Y,value:se}}),Promise.resolve(se))}else if(f.validationSchema)return E({type:"SET_ISVALIDATING",payload:!0}),$(P.values,Y).then(function(ge){return ge}).then(function(ge){E({type:"SET_FIELD_ERROR",payload:{field:Y,value:Vo(ge,Y)}}),E({type:"SET_ISVALIDATING",payload:!1})});return Promise.resolve()}),A=g.useCallback(function(Y,ne){var se=ne.validate;y.current[Y]={validate:se}},[]),F=g.useCallback(function(Y){delete y.current[Y]},[]),_=Ei(function(Y,ne){E({type:"SET_TOUCHED",payload:Y});var se=ne===void 0?o:ne;return se?N(P.values):Promise.resolve()}),j=g.useCallback(function(Y){E({type:"SET_ERRORS",payload:Y})},[]),B=Ei(function(Y,ne){var se=Ti(Y)?Y(P.values):Y;E({type:"SET_VALUES",payload:se});var ge=ne===void 0?n:ne;return ge?N(se):Promise.resolve()}),U=g.useCallback(function(Y,ne){E({type:"SET_FIELD_ERROR",payload:{field:Y,value:ne}})},[]),H=Ei(function(Y,ne,se){E({type:"SET_FIELD_VALUE",payload:{field:Y,value:ne}});var ge=se===void 0?n:se;return ge?N(Bu(P.values,Y,ne)):Promise.resolve()}),K=g.useCallback(function(Y,ne){var se=ne,ge=Y,Ae;if(!QE(Y)){Y.persist&&Y.persist();var Ve=Y.target?Y.target:Y.currentTarget,ze=Ve.type,Ie=Ve.name,ht=Ve.id,sn=Ve.value,Tt=Ve.checked,Fe=Ve.outerHTML,it=Ve.options,$e=Ve.multiple;se=ne||Ie||ht,ge=/number|range/.test(ze)?(Ae=parseFloat(sn),isNaN(Ae)?"":Ae):/checkbox/.test(ze)?eZe(Vo(P.values,se),Tt,sn):it&&$e?ZJe(it):sn}se&&H(se,ge)},[H,P.values]),J=Ei(function(Y){if(QE(Y))return function(ne){return K(ne,Y)};K(Y)}),oe=Ei(function(Y,ne,se){ne===void 0&&(ne=!0),E({type:"SET_FIELD_TOUCHED",payload:{field:Y,value:ne}});var ge=se===void 0?o:se;return ge?N(P.values):Promise.resolve()}),ae=g.useCallback(function(Y,ne){Y.persist&&Y.persist();var se=Y.target,ge=se.name,Ae=se.id,Ve=se.outerHTML,ze=ne||ge||Ae;oe(ze,!0)},[oe]),Z=Ei(function(Y){if(QE(Y))return function(ne){return ae(ne,Y)};ae(Y)}),ue=g.useCallback(function(Y){Ti(Y)?E({type:"SET_FORMIK_STATE",payload:Y}):E({type:"SET_FORMIK_STATE",payload:function(){return Y}})},[]),re=g.useCallback(function(Y){E({type:"SET_STATUS",payload:Y})},[]),pe=g.useCallback(function(Y){E({type:"SET_ISSUBMITTING",payload:Y})},[]),le=Ei(function(){return E({type:"SUBMIT_ATTEMPT"}),N().then(function(Y){var ne=Y instanceof Error,se=!ne&&Object.keys(Y).length===0;if(se){var ge;try{if(ge=fe(),ge===void 0)return}catch(Ae){throw Ae}return Promise.resolve(ge).then(function(Ae){return b.current&&E({type:"SUBMIT_SUCCESS"}),Ae}).catch(function(Ae){if(b.current)throw E({type:"SUBMIT_FAILURE"}),Ae})}else if(b.current&&(E({type:"SUBMIT_FAILURE"}),ne))throw Y})}),G=Ei(function(Y){Y&&Y.preventDefault&&Ti(Y.preventDefault)&&Y.preventDefault(),Y&&Y.stopPropagation&&Ti(Y.stopPropagation)&&Y.stopPropagation(),le().catch(function(ne){console.warn("Warning: An unhandled error was caught from submitForm()",ne)})}),te={resetForm:R,validateForm:N,validateField:I,setErrors:j,setFieldError:U,setFieldTouched:oe,setFieldValue:H,setStatus:re,setSubmitting:pe,setTouched:_,setValues:B,setFormikState:ue,submitForm:le},fe=Ei(function(){return u(P.values,te)}),he=Ei(function(Y){Y&&Y.preventDefault&&Ti(Y.preventDefault)&&Y.preventDefault(),Y&&Y.stopPropagation&&Ti(Y.stopPropagation)&&Y.stopPropagation(),R()}),ce=g.useCallback(function(Y){return{value:Vo(P.values,Y),error:Vo(P.errors,Y),touched:!!Vo(P.touched,Y),initialValue:Vo(p.current,Y),initialTouched:!!Vo(m.current,Y),initialError:Vo(h.current,Y)}},[P.errors,P.touched,P.values]),be=g.useCallback(function(Y){return{setValue:function(se,ge){return H(Y,se,ge)},setTouched:function(se,ge){return oe(Y,se,ge)},setError:function(se){return U(Y,se)}}},[H,oe,U]),ye=g.useCallback(function(Y){var ne=rb(Y),se=ne?Y.name:Y,ge=Vo(P.values,se),Ae={name:se,value:ge,onChange:J,onBlur:Z};if(ne){var Ve=Y.type,ze=Y.value,Ie=Y.as,ht=Y.multiple;Ve==="checkbox"?ze===void 0?Ae.checked=!!ge:(Ae.checked=!!(Array.isArray(ge)&&~ge.indexOf(ze)),Ae.value=ze):Ve==="radio"?(Ae.checked=ge===ze,Ae.value=ze):Ie==="select"&&ht&&(Ae.value=Ae.value||[],Ae.multiple=!0)}return Ae},[Z,J,P.values]),Me=g.useMemo(function(){return!gu(p.current,P.values)},[p.current,P.values]),Re=g.useMemo(function(){return typeof s<"u"?Me?P.errors&&Object.keys(P.errors).length===0:s!==!1&&Ti(s)?s(f):s:P.errors&&Object.keys(P.errors).length===0},[s,Me,P.errors,f]),_e=xr({},P,{initialValues:p.current,initialErrors:h.current,initialTouched:m.current,initialStatus:v.current,handleBlur:Z,handleChange:J,handleReset:he,handleSubmit:G,resetForm:R,setErrors:j,setFormikState:ue,setFieldTouched:oe,setFieldValue:H,setFieldError:U,setStatus:re,setSubmitting:pe,setTouched:_,setValues:B,submitForm:le,validateForm:N,validateField:I,isValid:Re,dirty:Me,unregisterField:F,registerField:A,getFieldProps:ye,getFieldMeta:ce,getFieldHelpers:be,validateOnBlur:o,validateOnChange:n,validateOnMount:a});return _e}function aa(e){var t=YJe(e),n=e.component,r=e.children,o=e.render,i=e.innerRef;return g.useImperativeHandle(i,function(){return t}),g.createElement(WJe,{value:t},n?g.createElement(n,t):o?o(t):r?Ti(r)?r(t):qJe(r)?null:g.Children.only(r):null)}function QJe(e){var t={};if(e.inner){if(e.inner.length===0)return Bu(t,e.path,e.message);for(var o=e.inner,n=Array.isArray(o),r=0,o=n?o:o[Symbol.iterator]();;){var i;if(n){if(r>=o.length)break;i=o[r++]}else{if(r=o.next(),r.done)break;i=r.value}var a=i;Vo(t,a.path)||(t=Bu(t,a.path,a.message))}}return t}function XJe(e,t,n,r){n===void 0&&(n=!1);var o=RI(e);return t[n?"validateSync":"validate"](o,{abortEarly:!1,context:o})}function RI(e){var t=Array.isArray(e)?[]:{};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=String(n);Array.isArray(e[r])===!0?t[r]=e[r].map(function(o){return Array.isArray(o)===!0||S3(o)?RI(o):o!==""?o:void 0}):S3(e[r])?t[r]=RI(e[r]):t[r]=e[r]!==""?e[r]:void 0}return t}function JJe(e,t,n){var r=e.slice();return t.forEach(function(i,a){if(typeof r[a]>"u"){var s=n.clone!==!1,l=s&&n.isMergeableObject(i);r[a]=l?TI(Array.isArray(i)?[]:{},i,n):i}else n.isMergeableObject(i)?r[a]=TI(e[a],i,n):e.indexOf(i)===-1&&r.push(i)}),r}function ZJe(e){return Array.from(e).filter(function(t){return t.selected}).map(function(t){return t.value})}function eZe(e,t,n){if(typeof e=="boolean")return!!t;var r=[],o=!1,i=-1;if(Array.isArray(e))r=e,i=e.indexOf(n),o=i>=0;else if(!n||n=="true"||n=="false")return!!t;return t&&n&&!o?r.concat(n):o?r.slice(0,i).concat(r.slice(i+1)):r}var tZe=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u"?g.useLayoutEffect:g.useEffect;function Ei(e){var t=g.useRef(e);return tZe(function(){t.current=e}),g.useCallback(function(){for(var n=arguments.length,r=new Array(n),o=0;o=this._maxSize&&this.clear(),e in this._values||this._size++,this._values[e]=t};var nZe=/[^.^\]^[]+|(?=\[\]|\.\.)/g,SQ=/^\d+$/,rZe=/^\d/,oZe=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,iZe=/^\s*(['"]?)(.*?)(\1)\s*$/,P_=512,Q3=new $d(P_),X3=new $d(P_),J3=new $d(P_),zu={Cache:$d,split:_I,normalizePath:JE,setter:function(e){var t=JE(e);return X3.get(e)||X3.set(e,function(r,o){for(var i=0,a=t.length,s=r;ie.match(uZe)||[],KS=e=>e[0].toUpperCase()+e.slice(1),O_=(e,t)=>qS(e).join(t).toLowerCase(),PQ=e=>qS(e).reduce((t,n)=>`${t}${t?n[0].toUpperCase()+n.slice(1).toLowerCase():n.toLowerCase()}`,""),dZe=e=>KS(PQ(e)),fZe=e=>O_(e,"_"),pZe=e=>O_(e,"-"),hZe=e=>KS(O_(e," ")),mZe=e=>qS(e).map(KS).join(" ");var ZE={words:qS,upperFirst:KS,camelCase:PQ,pascalCase:dZe,snakeCase:fZe,kebabCase:pZe,sentenceCase:hZe,titleCase:mZe},T_={exports:{}};T_.exports=function(e){return EQ(gZe(e),e)};T_.exports.array=EQ;function EQ(e,t){var n=e.length,r=new Array(n),o={},i=n,a=vZe(t),s=yZe(e);for(t.forEach(function(c){if(!s.has(c[0])||!s.has(c[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")});i--;)o[i]||l(e[i],i,new Set);return r;function l(c,u,d){if(d.has(c)){var f;try{f=", node was:"+JSON.stringify(c)}catch{f=""}throw new Error("Cyclic dependency"+f)}if(!s.has(c))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(c));if(!o[u]){o[u]=!0;var p=a.get(c)||new Set;if(p=Array.from(p),u=p.length){d.add(c);do{var h=p[--u];l(h,s.get(h),d)}while(u);d.delete(c)}r[--n]=c}}}function gZe(e){for(var t=new Set,n=0,r=e.length;n"",EZe=/^Symbol\((.*)\)(.*)$/;function OZe(e){return e!=+e?"NaN":e===0&&1/e<0?"-0":""+e}function Z3(e,t=!1){if(e==null||e===!0||e===!1)return""+e;const n=typeof e;if(n==="number")return OZe(e);if(n==="string")return t?`"${e}"`:e;if(n==="function")return"[Function "+(e.name||"anonymous")+"]";if(n==="symbol")return PZe.call(e).replace(EZe,"Symbol($1)");const r=wZe.call(e).slice(8,-1);return r==="Date"?isNaN(e.getTime())?""+e:e.toISOString(e):r==="Error"||e instanceof Error?"["+CZe.call(e)+"]":r==="RegExp"?SZe.call(e):null}function nl(e,t){let n=Z3(e,t);return n!==null?n:JSON.stringify(e,function(r,o){let i=Z3(this[r],t);return i!==null?i:o},2)}function OQ(e){return e==null?[]:[].concat(e)}let TQ,kQ,IQ,TZe=/\$\{\s*(\w+)\s*\}/g;TQ=Symbol.toStringTag;class e4{constructor(t,n,r,o){this.name=void 0,this.message=void 0,this.value=void 0,this.path=void 0,this.type=void 0,this.params=void 0,this.errors=void 0,this.inner=void 0,this[TQ]="Error",this.name="ValidationError",this.value=n,this.path=r,this.type=o,this.errors=[],this.inner=[],OQ(t).forEach(i=>{if(Co.isError(i)){this.errors.push(...i.errors);const a=i.inner.length?i.inner:[i];this.inner.push(...a)}else this.errors.push(i)}),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0]}}kQ=Symbol.hasInstance;IQ=Symbol.toStringTag;class Co extends Error{static formatError(t,n){const r=n.label||n.path||"this";return r!==n.path&&(n=Object.assign({},n,{path:r})),typeof t=="string"?t.replace(TZe,(o,i)=>nl(n[i])):typeof t=="function"?t(n):t}static isError(t){return t&&t.name==="ValidationError"}constructor(t,n,r,o,i){const a=new e4(t,n,r,o);if(i)return a;super(),this.value=void 0,this.path=void 0,this.type=void 0,this.params=void 0,this.errors=[],this.inner=[],this[IQ]="Error",this.name=a.name,this.message=a.message,this.type=a.type,this.value=a.value,this.path=a.path,this.errors=a.errors,this.inner=a.inner,Error.captureStackTrace&&Error.captureStackTrace(this,Co)}static[kQ](t){return e4[Symbol.hasInstance](t)||super[Symbol.hasInstance](t)}}let Ja={default:"${path} is invalid",required:"${path} is a required field",defined:"${path} must be defined",notNull:"${path} cannot be null",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:e,type:t,value:n,originalValue:r})=>{const o=r!=null&&r!==n?` (cast from the value \`${nl(r,!0)}\`).`:".";return t!=="mixed"?`${e} must be a \`${t}\` type, but the final value was: \`${nl(n,!0)}\``+o:`${e} must match the configured type. The validated value was: \`${nl(n,!0)}\``+o}},xo={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",datetime:"${path} must be a valid ISO date-time",datetime_precision:"${path} must be a valid ISO date-time with a sub-second precision of exactly ${precision} digits",datetime_offset:'${path} must be a valid ISO date-time with UTC "Z" timezone',trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"},Hl={min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"},DI={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"},NI={isValue:"${path} field must be ${value}"},LI={noUnknown:"${path} field has unspecified keys: ${unknown}"},J0={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must have ${length} items"},kZe={notType:e=>{const{path:t,value:n,spec:r}=e,o=r.types.length;if(Array.isArray(n)){if(n.lengtho)return`${t} tuple value has too many items, expected a length of ${o} but got ${n.length} for value: \`${nl(n,!0)}\``}return Co.formatError(Ja.notType,e)}};Object.assign(Object.create(null),{mixed:Ja,string:xo,number:Hl,date:DI,object:LI,array:J0,boolean:NI,tuple:kZe});const YS=e=>e&&e.__isYupSchema__;class Xw{static fromOptions(t,n){if(!n.then&&!n.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:r,then:o,otherwise:i}=n,a=typeof r=="function"?r:(...s)=>s.every(l=>l===r);return new Xw(t,(s,l)=>{var c;let u=a(...s)?o:i;return(c=u==null?void 0:u(l))!=null?c:l})}constructor(t,n){this.fn=void 0,this.refs=t,this.refs=t,this.fn=n}resolve(t,n){let r=this.refs.map(i=>i.getValue(n==null?void 0:n.value,n==null?void 0:n.parent,n==null?void 0:n.context)),o=this.fn(r,t,n);if(o===void 0||o===t)return t;if(!YS(o))throw new TypeError("conditions must return a schema object");return o.resolve(n)}}const g0={context:"$",value:"."};class Md{constructor(t,n={}){if(this.key=void 0,this.isContext=void 0,this.isValue=void 0,this.isSibling=void 0,this.path=void 0,this.getter=void 0,this.map=void 0,typeof t!="string")throw new TypeError("ref must be a string, got: "+t);if(this.key=t.trim(),t==="")throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===g0.context,this.isValue=this.key[0]===g0.value,this.isSibling=!this.isContext&&!this.isValue;let r=this.isContext?g0.context:this.isValue?g0.value:"";this.path=this.key.slice(r.length),this.getter=this.path&&zu.getter(this.path,!0),this.map=n.map}getValue(t,n,r){let o=this.isContext?r:this.isValue?t:n;return this.getter&&(o=this.getter(o||{})),this.map&&(o=this.map(o)),o}cast(t,n){return this.getValue(t,n==null?void 0:n.parent,n==null?void 0:n.context)}resolve(){return this}describe(){return{type:"ref",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(t){return t&&t.__isYupRef}}Md.prototype.__isYupRef=!0;const Pa=e=>e==null;function tf(e){function t({value:n,path:r="",options:o,originalValue:i,schema:a},s,l){const{name:c,test:u,params:d,message:f,skipAbsent:p}=e;let{parent:h,context:m,abortEarly:v=a.spec.abortEarly,disableStackTrace:b=a.spec.disableStackTrace}=o;function y(D){return Md.isRef(D)?D.getValue(n,h,m):D}function w(D={}){const L=Object.assign({value:n,originalValue:i,label:a.spec.label,path:D.path||r,spec:a.spec,disableStackTrace:D.disableStackTrace||b},d,D.params);for(const R of Object.keys(L))L[R]=y(L[R]);const N=new Co(Co.formatError(D.message||f,L),n,L.path,D.type||c,L.disableStackTrace);return N.params=L,N}const C=v?s:l;let O={path:r,parent:h,type:c,from:o.from,createError:w,resolve:y,options:o,originalValue:i,schema:a};const P=D=>{Co.isError(D)?C(D):D?l(null):C(w())},E=D=>{Co.isError(D)?C(D):s(D)};if(p&&Pa(n))return P(!0);let $;try{var M;if($=u.call(O,n,O),typeof((M=$)==null?void 0:M.then)=="function"){if(o.sync)throw new Error(`Validation test of type: "${O.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`);return Promise.resolve($).then(P,E)}}catch(D){E(D);return}P($)}return t.OPTIONS=e,t}function IZe(e,t,n,r=n){let o,i,a;return t?(zu.forEach(t,(s,l,c)=>{let u=l?s.slice(1,s.length-1):s;e=e.resolve({context:r,parent:o,value:n});let d=e.type==="tuple",f=c?parseInt(u,10):0;if(e.innerType||d){if(d&&!c)throw new Error(`Yup.reach cannot implicitly index into a tuple type. the path part "${a}" must contain an index to the tuple element, e.g. "${a}[0]"`);if(n&&f>=n.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${s}, in the path: ${t}. because there is no value at that index. `);o=n,n=n&&n[f],e=d?e.spec.types[f]:e.innerType}if(!c){if(!e.fields||!e.fields[u])throw new Error(`The schema does not contain the path: ${t}. (failed at: ${a} which is a type: "${e.type}")`);o=n,n=n&&n[u],e=e.fields[u]}i=u,a=l?"["+s+"]":"."+s}),{schema:e,parent:o,parentPath:i}):{parent:o,parentPath:t,schema:e}}class Jw extends Set{describe(){const t=[];for(const n of this.values())t.push(Md.isRef(n)?n.describe():n);return t}resolveAll(t){let n=[];for(const r of this.values())n.push(t(r));return n}clone(){return new Jw(this.values())}merge(t,n){const r=this.clone();return t.forEach(o=>r.add(o)),n.forEach(o=>r.delete(o)),r}}function Bf(e,t=new Map){if(YS(e)||!e||typeof e!="object")return e;if(t.has(e))return t.get(e);let n;if(e instanceof Date)n=new Date(e.getTime()),t.set(e,n);else if(e instanceof RegExp)n=new RegExp(e),t.set(e,n);else if(Array.isArray(e)){n=new Array(e.length),t.set(e,n);for(let r=0;r{this.typeError(Ja.notType)}),this.type=t.type,this._typeCheck=t.check,this.spec=Object.assign({strip:!1,strict:!1,abortEarly:!0,recursive:!0,disableStackTrace:!1,nullable:!1,optional:!0,coerce:!0},t==null?void 0:t.spec),this.withMutation(n=>{n.nonNullable()})}get _type(){return this.type}clone(t){if(this._mutate)return t&&Object.assign(this.spec,t),this;const n=Object.create(Object.getPrototypeOf(this));return n.type=this.type,n._typeCheck=this._typeCheck,n._whitelist=this._whitelist.clone(),n._blacklist=this._blacklist.clone(),n.internalTests=Object.assign({},this.internalTests),n.exclusiveTests=Object.assign({},this.exclusiveTests),n.deps=[...this.deps],n.conditions=[...this.conditions],n.tests=[...this.tests],n.transforms=[...this.transforms],n.spec=Bf(Object.assign({},this.spec,t)),n}label(t){let n=this.clone();return n.spec.label=t,n}meta(...t){if(t.length===0)return this.spec.meta;let n=this.clone();return n.spec.meta=Object.assign(n.spec.meta||{},t[0]),n}withMutation(t){let n=this._mutate;this._mutate=!0;let r=t(this);return this._mutate=n,r}concat(t){if(!t||t===this)return this;if(t.type!==this.type&&this.type!=="mixed")throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${t.type}`);let n=this,r=t.clone();const o=Object.assign({},n.spec,r.spec);return r.spec=o,r.internalTests=Object.assign({},n.internalTests,r.internalTests),r._whitelist=n._whitelist.merge(t._whitelist,t._blacklist),r._blacklist=n._blacklist.merge(t._blacklist,t._whitelist),r.tests=n.tests,r.exclusiveTests=n.exclusiveTests,r.withMutation(i=>{t.tests.forEach(a=>{i.test(a.OPTIONS)})}),r.transforms=[...n.transforms,...r.transforms],r}isType(t){return t==null?!!(this.spec.nullable&&t===null||this.spec.optional&&t===void 0):this._typeCheck(t)}resolve(t){let n=this;if(n.conditions.length){let r=n.conditions;n=n.clone(),n.conditions=[],n=r.reduce((o,i)=>i.resolve(o,t),n),n=n.resolve(t)}return n}resolveOptions(t){var n,r,o,i;return Object.assign({},t,{from:t.from||[],strict:(n=t.strict)!=null?n:this.spec.strict,abortEarly:(r=t.abortEarly)!=null?r:this.spec.abortEarly,recursive:(o=t.recursive)!=null?o:this.spec.recursive,disableStackTrace:(i=t.disableStackTrace)!=null?i:this.spec.disableStackTrace})}cast(t,n={}){let r=this.resolve(Object.assign({value:t},n)),o=n.assert==="ignore-optionality",i=r._cast(t,n);if(n.assert!==!1&&!r.isType(i)){if(o&&Pa(i))return i;let a=nl(t),s=nl(i);throw new TypeError(`The value of ${n.path||"field"} could not be cast to a value that satisfies the schema type: "${r.type}". + `).concat(t,",").concat(n+o-s*d[3])),u+="Z"}else if(a>0&&i===+i&&i>0){var m=Math.min(a,i);u="M ".concat(t,",").concat(n+s*m,` + A `).concat(m,",").concat(m,",0,0,").concat(c,",").concat(t+l*m,",").concat(n,` + L `).concat(t+r-l*m,",").concat(n,` + A `).concat(m,",").concat(m,",0,0,").concat(c,",").concat(t+r,",").concat(n+s*m,` + L `).concat(t+r,",").concat(n+o-s*m,` + A `).concat(m,",").concat(m,",0,0,").concat(c,",").concat(t+r-l*m,",").concat(n+o,` + L `).concat(t+l*m,",").concat(n+o,` + A `).concat(m,",").concat(m,",0,0,").concat(c,",").concat(t,",").concat(n+o-s*m," Z")}else u="M ".concat(t,",").concat(n," h ").concat(r," v ").concat(o," h ").concat(-r," Z");return u},uQe=function(t,n){if(!t||!n)return!1;var r=t.x,o=t.y,i=n.x,a=n.y,s=n.width,l=n.height;if(Math.abs(s)>0&&Math.abs(l)>0){var c=Math.min(i,i+s),u=Math.max(i,i+s),d=Math.min(a,a+l),f=Math.max(a,a+l);return r>=c&&r<=u&&o>=d&&o<=f}return!1},dQe={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},fB=function(t){var n=WG(WG({},dQe),t),r=y.useRef(),o=y.useState(-1),i=nQe(o,2),a=i[0],s=i[1];y.useEffect(function(){if(r.current&&r.current.getTotalLength)try{var P=r.current.getTotalLength();P&&s(P)}catch{}},[]);var l=n.x,c=n.y,u=n.width,d=n.height,f=n.radius,p=n.className,m=n.animationEasing,g=n.animationDuration,v=n.animationBegin,w=n.isAnimationActive,x=n.isUpdateAnimationActive;if(l!==+l||c!==+c||u!==+u||d!==+d||u===0||d===0)return null;var S=de("recharts-rectangle",p);return x?Y.createElement(ul,{canBegin:a>0,from:{width:u,height:d,x:l,y:c},to:{width:u,height:d,x:l,y:c},duration:g,animationEasing:m,isActive:x},function(P){var T=P.width,E=P.height,O=P.x,k=P.y;return Y.createElement(ul,{canBegin:a>0,from:"0px ".concat(a===-1?1:a,"px"),to:"".concat(a,"px 0px"),attributeName:"strokeDasharray",begin:v,duration:g,isActive:w,easing:m},Y.createElement("path",ME({},$t(n,!0),{className:S,d:GG(O,k,T,E,f),ref:r})))}):Y.createElement("path",ME({},$t(n,!0),{className:S,d:GG(l,c,u,d,f)}))},fQe=["points","className","baseLinePoints","connectNulls"];function Dg(){return Dg=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function hQe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function qG(e){return vQe(e)||yQe(e)||gQe(e)||mQe()}function mQe(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function gQe(e,t){if(e){if(typeof e=="string")return FD(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return FD(e,t)}}function yQe(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function vQe(e){if(Array.isArray(e))return FD(e)}function FD(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&arguments[0]!==void 0?arguments[0]:[],n=[[]];return t.forEach(function(r){KG(r)?n[n.length-1].push(r):n[n.length-1].length>0&&n.push([])}),KG(t[0])&&n[n.length-1].push(t[0]),n[n.length-1].length<=0&&(n=n.slice(0,-1)),n},ww=function(t,n){var r=bQe(t);n&&(r=[r.reduce(function(i,a){return[].concat(qG(i),qG(a))},[])]);var o=r.map(function(i){return i.reduce(function(a,s,l){return"".concat(a).concat(l===0?"M":"L").concat(s.x,",").concat(s.y)},"")}).join("");return r.length===1?"".concat(o,"Z"):o},wQe=function(t,n,r){var o=ww(t,r);return"".concat(o.slice(-1)==="Z"?o.slice(0,-1):o,"L").concat(ww(n.reverse(),r).slice(1))},xQe=function(t){var n=t.points,r=t.className,o=t.baseLinePoints,i=t.connectNulls,a=pQe(t,fQe);if(!n||!n.length)return null;var s=de("recharts-polygon",r);if(o&&o.length){var l=a.stroke&&a.stroke!=="none",c=wQe(n,o,i);return Y.createElement("g",{className:s},Y.createElement("path",Dg({},$t(a,!0),{fill:c.slice(-1)==="Z"?a.fill:"none",stroke:"none",d:c})),l?Y.createElement("path",Dg({},$t(a,!0),{fill:"none",d:ww(n,i)})):null,l?Y.createElement("path",Dg({},$t(a,!0),{fill:"none",d:ww(o,i)})):null)}var u=ww(n,i);return Y.createElement("path",Dg({},$t(a,!0),{fill:u.slice(-1)==="Z"?a.fill:"none",className:s,d:u}))};function jD(){return jD=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function IQe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var kQe=function(t,n,r,o,i,a){return"M".concat(t,",").concat(i,"v").concat(o,"M").concat(a,",").concat(n,"h").concat(r)},MQe=function(t){var n=t.x,r=n===void 0?0:n,o=t.y,i=o===void 0?0:o,a=t.top,s=a===void 0?0:a,l=t.left,c=l===void 0?0:l,u=t.width,d=u===void 0?0:u,f=t.height,p=f===void 0?0:f,m=t.className,g=OQe(t,SQe),v=CQe({x:r,y:i,top:s,left:c,width:d,height:p},g);return!st(r)||!st(i)||!st(d)||!st(p)||!st(s)||!st(c)?null:Y.createElement("path",BD({},$t(v,!0),{className:de("recharts-cross",m),d:kQe(r,i,d,p,s,c)}))},AQe=vk,$Qe=Hne,RQe=Yc;function _Qe(e,t){return e&&e.length?AQe(e,RQe(t),$Qe):void 0}var DQe=_Qe;const NQe=_n(DQe);var LQe=vk,FQe=Yc,jQe=Une;function BQe(e,t){return e&&e.length?LQe(e,FQe(t),jQe):void 0}var zQe=BQe;const VQe=_n(zQe);var HQe=["cx","cy","angle","ticks","axisLine"],UQe=["ticks","tick","angle","tickFormatter","stroke"];function ov(e){"@babel/helpers - typeof";return ov=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ov(e)}function xw(){return xw=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function WQe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function GQe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function JG(e,t){for(var n=0;nt8?a=o==="outer"?"start":"end":i<-t8?a=o==="outer"?"end":"start":a="middle",a}},{key:"renderAxisLine",value:function(){var r=this.props,o=r.cx,i=r.cy,a=r.radius,s=r.axisLine,l=r.axisLineType,c=Pp(Pp({},$t(this.props,!1)),{},{fill:"none"},$t(s,!1));if(l==="circle")return Y.createElement(WS,jp({className:"recharts-polar-angle-axis-line"},c,{cx:o,cy:i,r:a}));var u=this.props.ticks,d=u.map(function(f){return Sr(o,i,a,f.coordinate)});return Y.createElement(xQe,jp({className:"recharts-polar-angle-axis-line"},c,{points:d}))}},{key:"renderTicks",value:function(){var r=this,o=this.props,i=o.ticks,a=o.tick,s=o.tickLine,l=o.tickFormatter,c=o.stroke,u=$t(this.props,!1),d=$t(a,!1),f=Pp(Pp({},u),{},{fill:"none"},$t(s,!1)),p=i.map(function(m,g){var v=r.getTickLineCoord(m),w=r.getTickTextAnchor(m),x=Pp(Pp(Pp({textAnchor:w},u),{},{stroke:"none",fill:c},d),{},{index:g,payload:m,x:v.x2,y:v.y2});return Y.createElement(on,jp({className:de("recharts-polar-angle-axis-tick",vre(a)),key:"tick-".concat(m.coordinate)},Mf(r.props,m,g)),s&&Y.createElement("line",jp({className:"recharts-polar-angle-axis-tick-line"},f,v)),a&&t.renderTickItem(a,x,l?l(m.value,g):m.value))});return Y.createElement(on,{className:"recharts-polar-angle-axis-ticks"},p)}},{key:"render",value:function(){var r=this.props,o=r.ticks,i=r.radius,a=r.axisLine;return i<=0||!o||!o.length?null:Y.createElement(on,{className:de("recharts-polar-angle-axis",this.props.className)},a&&this.renderAxisLine(),this.renderTicks())}}],[{key:"renderTickItem",value:function(r,o,i){var a;return Y.isValidElement(r)?a=Y.cloneElement(r,o):Ht(r)?a=r(o):a=Y.createElement(Ah,jp({},o,{className:"recharts-polar-angle-axis-tick-value"}),i),a}}])}(y.PureComponent);Pk(Tk,"displayName","PolarAngleAxis");Pk(Tk,"axisType","angleAxis");Pk(Tk,"defaultProps",{type:"category",angleAxisId:0,scale:"auto",cx:0,cy:0,orientation:"outer",axisLine:!0,tickLine:!0,tickSize:8,tick:!0,hide:!1,allowDuplicatedCategory:!0});var sJe=Bte,lJe=sJe(Object.getPrototypeOf,Object),cJe=lJe,uJe=ad,dJe=cJe,fJe=sd,pJe="[object Object]",hJe=Function.prototype,mJe=Object.prototype,_re=hJe.toString,gJe=mJe.hasOwnProperty,yJe=_re.call(Object);function vJe(e){if(!fJe(e)||uJe(e)!=pJe)return!1;var t=dJe(e);if(t===null)return!0;var n=gJe.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&_re.call(n)==yJe}var bJe=vJe;const wJe=_n(bJe);var xJe=ad,SJe=sd,CJe="[object Boolean]";function PJe(e){return e===!0||e===!1||SJe(e)&&xJe(e)==CJe}var TJe=PJe;const EJe=_n(TJe);function $x(e){"@babel/helpers - typeof";return $x=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},$x(e)}function RE(){return RE=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n0,from:{upperWidth:0,lowerWidth:0,height:f,x:l,y:c},to:{upperWidth:u,lowerWidth:d,height:f,x:l,y:c},duration:g,animationEasing:m,isActive:w},function(S){var P=S.upperWidth,T=S.lowerWidth,E=S.height,O=S.x,k=S.y;return Y.createElement(ul,{canBegin:a>0,from:"0px ".concat(a===-1?1:a,"px"),to:"".concat(a,"px 0px"),attributeName:"strokeDasharray",begin:v,duration:g,easing:m},Y.createElement("path",RE({},$t(n,!0),{className:x,d:i8(O,k,P,T,E),ref:r})))}):Y.createElement("g",null,Y.createElement("path",RE({},$t(n,!0),{className:x,d:i8(l,c,u,d,f)})))},LJe=["option","shapeType","propTransformer","activeClassName","isActive"];function Rx(e){"@babel/helpers - typeof";return Rx=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Rx(e)}function FJe(e,t){if(e==null)return{};var n=jJe(e,t),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function jJe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function a8(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function _E(e){for(var t=1;t0?ts(S,"paddingAngle",0):0;if(T){var O=Ur(T.endAngle-T.startAngle,S.endAngle-S.startAngle),k=vr(vr({},S),{},{startAngle:x+E,endAngle:x+O(g)+E});v.push(k),x=k.endAngle}else{var A=S.endAngle,I=S.startAngle,R=Ur(0,A-I),N=R(g),L=vr(vr({},S),{},{startAngle:x+E,endAngle:x+N+E});v.push(L),x=L.endAngle}}),Y.createElement(on,null,r.renderSectorsStatically(v))})}},{key:"attachKeyboardHandlers",value:function(r){var o=this;r.onkeydown=function(i){if(!i.altKey)switch(i.key){case"ArrowLeft":{var a=++o.state.sectorToFocus%o.sectorRefs.length;o.sectorRefs[a].focus(),o.setState({sectorToFocus:a});break}case"ArrowRight":{var s=--o.state.sectorToFocus<0?o.sectorRefs.length-1:o.state.sectorToFocus%o.sectorRefs.length;o.sectorRefs[s].focus(),o.setState({sectorToFocus:s});break}case"Escape":{o.sectorRefs[o.state.sectorToFocus].blur(),o.setState({sectorToFocus:0});break}}}}},{key:"renderSectors",value:function(){var r=this.props,o=r.sectors,i=r.isAnimationActive,a=this.state.prevSectors;return i&&o&&o.length&&(!a||!Af(a,o))?this.renderSectorsWithAnimation():this.renderSectorsStatically(o)}},{key:"componentDidMount",value:function(){this.pieRef&&this.attachKeyboardHandlers(this.pieRef)}},{key:"render",value:function(){var r=this,o=this.props,i=o.hide,a=o.sectors,s=o.className,l=o.label,c=o.cx,u=o.cy,d=o.innerRadius,f=o.outerRadius,p=o.isAnimationActive,m=this.state.isAnimationFinished;if(i||!a||!a.length||!st(c)||!st(u)||!st(d)||!st(f))return null;var g=de("recharts-pie",s);return Y.createElement(on,{tabIndex:this.props.rootTabIndex,className:g,ref:function(w){r.pieRef=w}},this.renderSectors(),l&&this.renderLabels(a),Wo.renderCallByParent(this.props,null,!1),(!p||m)&&Jl.renderCallByParent(this.props,a,!1))}}],[{key:"getDerivedStateFromProps",value:function(r,o){return o.prevIsAnimationActive!==r.isAnimationActive?{prevIsAnimationActive:r.isAnimationActive,prevAnimationId:r.animationId,curSectors:r.sectors,prevSectors:[],isAnimationFinished:!0}:r.isAnimationActive&&r.animationId!==o.prevAnimationId?{prevAnimationId:r.animationId,curSectors:r.sectors,prevSectors:o.curSectors,isAnimationFinished:!0}:r.sectors!==o.curSectors?{curSectors:r.sectors,isAnimationFinished:!0}:null}},{key:"getTextAnchor",value:function(r,o){return r>o?"start":r=360?x:x-1)*l,P=v-x*p-S,T=o.reduce(function(k,A){var I=Mr(A,w,0);return k+(st(I)?I:0)},0),E;if(T>0){var O;E=o.map(function(k,A){var I=Mr(k,w,0),R=Mr(k,u,A),N=(st(I)?I:0)/T,L;A?L=O.endAngle+zi(g)*l*(I!==0?1:0):L=a;var j=L+zi(g)*((I!==0?p:0)+N*P),_=(L+j)/2,D=(m.innerRadius+m.outerRadius)/2,z=[{name:R,value:I,payload:k,dataKey:w,type:f}],F=Sr(m.cx,m.cy,D,_);return O=vr(vr(vr({percent:N,cornerRadius:i,name:R,tooltipPayload:z,midAngle:_,middleRadius:D,tooltipPosition:F},k),m),{},{value:Mr(k,w),startAngle:L,endAngle:j,payload:k,paddingAngle:zi(g)*l}),O})}return vr(vr({},m),{},{sectors:E,data:o})});var aZe=Math.ceil,sZe=Math.max;function lZe(e,t,n,r){for(var o=-1,i=sZe(aZe((t-e)/(n||1)),0),a=Array(i);i--;)a[r?i:++o]=e,e+=n;return a}var cZe=lZe,uZe=ine,u8=1/0,dZe=17976931348623157e292;function fZe(e){if(!e)return e===0?e:0;if(e=uZe(e),e===u8||e===-u8){var t=e<0?-1:1;return t*dZe}return e===e?e:0}var Lre=fZe,pZe=cZe,hZe=uk,tR=Lre;function mZe(e){return function(t,n,r){return r&&typeof r!="number"&&hZe(t,n,r)&&(n=r=void 0),t=tR(t),n===void 0?(n=t,t=0):n=tR(n),r=r===void 0?t0&&r.handleDrag(o.changedTouches[0])}),Na(r,"handleDragEnd",function(){r.setState({isTravellerMoving:!1,isSlideMoving:!1},function(){var o=r.props,i=o.endIndex,a=o.onDragEnd,s=o.startIndex;a==null||a({endIndex:i,startIndex:s})}),r.detachDragEndListener()}),Na(r,"handleLeaveWrapper",function(){(r.state.isTravellerMoving||r.state.isSlideMoving)&&(r.leaveTimer=window.setTimeout(r.handleDragEnd,r.props.leaveTimeOut))}),Na(r,"handleEnterSlideOrTraveller",function(){r.setState({isTextActive:!0})}),Na(r,"handleLeaveSlideOrTraveller",function(){r.setState({isTextActive:!1})}),Na(r,"handleSlideDragStart",function(o){var i=m8(o)?o.changedTouches[0]:o;r.setState({isTravellerMoving:!1,isSlideMoving:!0,slideMoveStartX:i.pageX}),r.attachDragEndListener()}),r.travellerDragStartHandlers={startX:r.handleTravellerDragStart.bind(r,"startX"),endX:r.handleTravellerDragStart.bind(r,"endX")},r.state={},r}return kZe(t,e),TZe(t,[{key:"componentWillUnmount",value:function(){this.leaveTimer&&(clearTimeout(this.leaveTimer),this.leaveTimer=null),this.detachDragEndListener()}},{key:"getIndex",value:function(r){var o=r.startX,i=r.endX,a=this.state.scaleValues,s=this.props,l=s.gap,c=s.data,u=c.length-1,d=Math.min(o,i),f=Math.max(o,i),p=t.getIndexInRange(a,d),m=t.getIndexInRange(a,f);return{startIndex:p-p%l,endIndex:m===u?u:m-m%l}}},{key:"getTextOfTick",value:function(r){var o=this.props,i=o.data,a=o.tickFormatter,s=o.dataKey,l=Mr(i[r],s,r);return Ht(a)?a(l,r):l}},{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(r){var o=this.state,i=o.slideMoveStartX,a=o.startX,s=o.endX,l=this.props,c=l.x,u=l.width,d=l.travellerWidth,f=l.startIndex,p=l.endIndex,m=l.onChange,g=r.pageX-i;g>0?g=Math.min(g,c+u-d-s,c+u-d-a):g<0&&(g=Math.max(g,c-a,c-s));var v=this.getIndex({startX:a+g,endX:s+g});(v.startIndex!==f||v.endIndex!==p)&&m&&m(v),this.setState({startX:a+g,endX:s+g,slideMoveStartX:r.pageX})}},{key:"handleTravellerDragStart",value:function(r,o){var i=m8(o)?o.changedTouches[0]:o;this.setState({isSlideMoving:!1,isTravellerMoving:!0,movingTravellerId:r,brushMoveStartX:i.pageX}),this.attachDragEndListener()}},{key:"handleTravellerMove",value:function(r){var o=this.state,i=o.brushMoveStartX,a=o.movingTravellerId,s=o.endX,l=o.startX,c=this.state[a],u=this.props,d=u.x,f=u.width,p=u.travellerWidth,m=u.onChange,g=u.gap,v=u.data,w={startX:this.state.startX,endX:this.state.endX},x=r.pageX-i;x>0?x=Math.min(x,d+f-p-c):x<0&&(x=Math.max(x,d-c)),w[a]=c+x;var S=this.getIndex(w),P=S.startIndex,T=S.endIndex,E=function(){var k=v.length-1;return a==="startX"&&(s>l?P%g===0:T%g===0)||sl?T%g===0:P%g===0)||s>l&&T===k};this.setState(Na(Na({},a,c+x),"brushMoveStartX",r.pageX),function(){m&&E()&&m(S)})}},{key:"handleTravellerMoveKeyboard",value:function(r,o){var i=this,a=this.state,s=a.scaleValues,l=a.startX,c=a.endX,u=this.state[o],d=s.indexOf(u);if(d!==-1){var f=d+r;if(!(f===-1||f>=s.length)){var p=s[f];o==="startX"&&p>=c||o==="endX"&&p<=l||this.setState(Na({},o,p),function(){i.props.onChange(i.getIndex({startX:i.state.startX,endX:i.state.endX}))})}}}},{key:"renderBackground",value:function(){var r=this.props,o=r.x,i=r.y,a=r.width,s=r.height,l=r.fill,c=r.stroke;return Y.createElement("rect",{stroke:c,fill:l,x:o,y:i,width:a,height:s})}},{key:"renderPanorama",value:function(){var r=this.props,o=r.x,i=r.y,a=r.width,s=r.height,l=r.data,c=r.children,u=r.padding,d=y.Children.only(c);return d?Y.cloneElement(d,{x:o,y:i,width:a,height:s,margin:u,compact:!0,data:l}):null}},{key:"renderTravellerLayer",value:function(r,o){var i,a,s=this,l=this.props,c=l.y,u=l.travellerWidth,d=l.height,f=l.traveller,p=l.ariaLabel,m=l.data,g=l.startIndex,v=l.endIndex,w=Math.max(r,this.props.x),x=nR(nR({},$t(this.props,!1)),{},{x:w,y:c,width:u,height:d}),S=p||"Min value: ".concat((i=m[g])===null||i===void 0?void 0:i.name,", Max value: ").concat((a=m[v])===null||a===void 0?void 0:a.name);return Y.createElement(on,{tabIndex:0,role:"slider","aria-label":S,"aria-valuenow":r,className:"recharts-brush-traveller",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.travellerDragStartHandlers[o],onTouchStart:this.travellerDragStartHandlers[o],onKeyDown:function(T){["ArrowLeft","ArrowRight"].includes(T.key)&&(T.preventDefault(),T.stopPropagation(),s.handleTravellerMoveKeyboard(T.key==="ArrowRight"?1:-1,o))},onFocus:function(){s.setState({isTravellerFocused:!0})},onBlur:function(){s.setState({isTravellerFocused:!1})},style:{cursor:"col-resize"}},t.renderTraveller(f,x))}},{key:"renderSlide",value:function(r,o){var i=this.props,a=i.y,s=i.height,l=i.stroke,c=i.travellerWidth,u=Math.min(r,o)+c,d=Math.max(Math.abs(o-r)-c,0);return Y.createElement("rect",{className:"recharts-brush-slide",onMouseEnter:this.handleEnterSlideOrTraveller,onMouseLeave:this.handleLeaveSlideOrTraveller,onMouseDown:this.handleSlideDragStart,onTouchStart:this.handleSlideDragStart,style:{cursor:"move"},stroke:"none",fill:l,fillOpacity:.2,x:u,y:a,width:d,height:s})}},{key:"renderText",value:function(){var r=this.props,o=r.startIndex,i=r.endIndex,a=r.y,s=r.height,l=r.travellerWidth,c=r.stroke,u=this.state,d=u.startX,f=u.endX,p=5,m={pointerEvents:"none",fill:c};return Y.createElement(on,{className:"recharts-brush-texts"},Y.createElement(Ah,FE({textAnchor:"end",verticalAnchor:"middle",x:Math.min(d,f)-p,y:a+s/2},m),this.getTextOfTick(o)),Y.createElement(Ah,FE({textAnchor:"start",verticalAnchor:"middle",x:Math.max(d,f)+l+p,y:a+s/2},m),this.getTextOfTick(i)))}},{key:"render",value:function(){var r=this.props,o=r.data,i=r.className,a=r.children,s=r.x,l=r.y,c=r.width,u=r.height,d=r.alwaysShowText,f=this.state,p=f.startX,m=f.endX,g=f.isTextActive,v=f.isSlideMoving,w=f.isTravellerMoving,x=f.isTravellerFocused;if(!o||!o.length||!st(s)||!st(l)||!st(c)||!st(u)||c<=0||u<=0)return null;var S=de("recharts-brush",i),P=Y.Children.count(a)===1,T=CZe("userSelect","none");return Y.createElement(on,{className:S,onMouseLeave:this.handleLeaveWrapper,onTouchMove:this.handleTouchMove,style:T},this.renderBackground(),P&&this.renderPanorama(),this.renderSlide(p,m),this.renderTravellerLayer(p,"startX"),this.renderTravellerLayer(m,"endX"),(g||v||w||x||d)&&this.renderText())}}],[{key:"renderDefaultTraveller",value:function(r){var o=r.x,i=r.y,a=r.width,s=r.height,l=r.stroke,c=Math.floor(i+s/2)-1;return Y.createElement(Y.Fragment,null,Y.createElement("rect",{x:o,y:i,width:a,height:s,fill:l,stroke:"none"}),Y.createElement("line",{x1:o+1,y1:c,x2:o+a-1,y2:c,fill:"none",stroke:"#fff"}),Y.createElement("line",{x1:o+1,y1:c+2,x2:o+a-1,y2:c+2,fill:"none",stroke:"#fff"}))}},{key:"renderTraveller",value:function(r,o){var i;return Y.isValidElement(r)?i=Y.cloneElement(r,o):Ht(r)?i=r(o):i=t.renderDefaultTraveller(o),i}},{key:"getDerivedStateFromProps",value:function(r,o){var i=r.data,a=r.width,s=r.x,l=r.travellerWidth,c=r.updateId,u=r.startIndex,d=r.endIndex;if(i!==o.prevData||c!==o.prevUpdateId)return nR({prevData:i,prevTravellerWidth:l,prevUpdateId:c,prevX:s,prevWidth:a},i&&i.length?AZe({data:i,width:a,x:s,travellerWidth:l,startIndex:u,endIndex:d}):{scale:null,scaleValues:null});if(o.scale&&(a!==o.prevWidth||s!==o.prevX||l!==o.prevTravellerWidth)){o.scale.range([s,s+a-l]);var f=o.scale.domain().map(function(p){return o.scale(p)});return{prevData:i,prevTravellerWidth:l,prevUpdateId:c,prevX:s,prevWidth:a,startX:o.scale(r.startIndex),endX:o.scale(r.endIndex),scaleValues:f}}return null}},{key:"getIndexInRange",value:function(r,o){for(var i=r.length,a=0,s=i-1;s-a>1;){var l=Math.floor((a+s)/2);r[l]>o?s=l:a=l}return o>=r[s]?s:a}}])}(y.PureComponent);Na(lv,"displayName","Brush");Na(lv,"defaultProps",{height:40,travellerWidth:5,gap:1,fill:"#fff",stroke:"#666",padding:{top:1,right:1,bottom:1,left:1},leaveTimeOut:1e3,alwaysShowText:!1});var $Ze=Fj;function RZe(e,t){var n;return $Ze(e,function(r,o,i){return n=t(r,o,i),!n}),!!n}var _Ze=RZe,DZe=$te,NZe=Yc,LZe=_Ze,FZe=Ea,jZe=uk;function BZe(e,t,n){var r=FZe(e)?DZe:LZe;return n&&jZe(e,t,n)&&(t=void 0),r(e,NZe(t))}var zZe=BZe;const VZe=_n(zZe);var Dc=function(t,n){var r=t.alwaysShow,o=t.ifOverflow;return r&&(o="extendDomain"),o===n},g8=ene;function HZe(e,t,n){t=="__proto__"&&g8?g8(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}var UZe=HZe,WZe=UZe,GZe=Jte,qZe=Yc;function KZe(e,t){var n={};return t=qZe(t),GZe(e,function(r,o,i){WZe(n,o,t(r,o,i))}),n}var YZe=KZe;const XZe=_n(YZe);function QZe(e,t){for(var n=-1,r=e==null?0:e.length;++n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function met(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function get(e,t){var n=e.x,r=e.y,o=het(e,uet),i="".concat(n),a=parseInt(i,10),s="".concat(r),l=parseInt(s,10),c="".concat(t.height||o.height),u=parseInt(c,10),d="".concat(t.width||o.width),f=parseInt(d,10);return w0(w0(w0(w0(w0({},t),o),a?{x:a}:{}),l?{y:l}:{}),{},{height:u,width:f,name:t.name,radius:t.radius})}function v8(e){return Y.createElement(DE,WD({shapeType:"rectangle",propTransformer:get,activeClassName:"recharts-active-bar"},e))}var yet=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return function(r,o){if(typeof t=="number")return t;var i=typeof r=="number";return i?t(r,o):(i||Rh(),n)}},vet=["value","background"],Vre;function cv(e){"@babel/helpers - typeof";return cv=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},cv(e)}function bet(e,t){if(e==null)return{};var n=wet(e,t),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function wet(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function BE(){return BE=Object.assign?Object.assign.bind():function(e){for(var t=1;t0&&Math.abs(_)0&&Math.abs(j)0&&(L=Math.min((Z||0)-(j[K-1]||0),L))}),Number.isFinite(L)){var _=L/N,D=g.layout==="vertical"?r.height:r.width;if(g.padding==="gap"&&(O=_*D/2),g.padding==="no-gap"){var z=Vi(t.barCategoryGap,_*D),F=_*D/2;O=F-z-(F-z)/D*z}}}o==="xAxis"?k=[r.left+(S.left||0)+(O||0),r.left+r.width-(S.right||0)-(O||0)]:o==="yAxis"?k=l==="horizontal"?[r.top+r.height-(S.bottom||0),r.top+(S.top||0)]:[r.top+(S.top||0)+(O||0),r.top+r.height-(S.bottom||0)-(O||0)]:k=g.range,T&&(k=[k[1],k[0]]);var H=dre(g,i,f),U=H.scale,q=H.realScaleType;U.domain(w).range(k),fre(U);var X=pre(U,Ll(Ll({},g),{},{realScaleType:q}));o==="xAxis"?(R=v==="top"&&!P||v==="bottom"&&P,A=r.left,I=d[E]-R*g.height):o==="yAxis"&&(R=v==="left"&&!P||v==="right"&&P,A=d[E]-R*g.width,I=r.top);var ae=Ll(Ll(Ll({},g),X),{},{realScaleType:q,x:A,y:I,scale:U,width:o==="xAxis"?r.width:g.width,height:o==="yAxis"?r.height:g.height});return ae.bandSize=PE(ae,X),!g.hide&&o==="xAxis"?d[E]+=(R?-1:1)*ae.height:g.hide||(d[E]+=(R?-1:1)*ae.width),Ll(Ll({},p),{},Ik({},m,ae))},{})},Gre=function(t,n){var r=t.x,o=t.y,i=n.x,a=n.y;return{x:Math.min(r,i),y:Math.min(o,a),width:Math.abs(i-r),height:Math.abs(a-o)}},$et=function(t){var n=t.x1,r=t.y1,o=t.x2,i=t.y2;return Gre({x:n,y:r},{x:o,y:i})},qre=function(){function e(t){ket(this,e),this.scale=t}return Met(e,[{key:"domain",get:function(){return this.scale.domain}},{key:"range",get:function(){return this.scale.range}},{key:"rangeMin",get:function(){return this.range()[0]}},{key:"rangeMax",get:function(){return this.range()[1]}},{key:"bandwidth",get:function(){return this.scale.bandwidth}},{key:"apply",value:function(n){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=r.bandAware,i=r.position;if(n!==void 0){if(i)switch(i){case"start":return this.scale(n);case"middle":{var a=this.bandwidth?this.bandwidth()/2:0;return this.scale(n)+a}case"end":{var s=this.bandwidth?this.bandwidth():0;return this.scale(n)+s}default:return this.scale(n)}if(o){var l=this.bandwidth?this.bandwidth()/2:0;return this.scale(n)+l}return this.scale(n)}}},{key:"isInRange",value:function(n){var r=this.range(),o=r[0],i=r[r.length-1];return o<=i?n>=o&&n<=i:n>=i&&n<=o}}],[{key:"create",value:function(n){return new e(n)}}])}();Ik(qre,"EPS",1e-4);var pB=function(t){var n=Object.keys(t).reduce(function(r,o){return Ll(Ll({},r),{},Ik({},o,qre.create(t[o])))},{});return Ll(Ll({},n),{},{apply:function(o){var i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=i.bandAware,s=i.position;return XZe(o,function(l,c){return n[c].apply(l,{bandAware:a,position:s})})},isInRange:function(o){return zre(o,function(i,a){return n[a].isInRange(i)})}})};function Ret(e){return(e%180+180)%180}var _et=function(t){var n=t.width,r=t.height,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,i=Ret(o),a=i*Math.PI/180,s=Math.atan(r/n),l=a>s&&a-1?o[i?t[a]:a]:void 0}}var jet=Fet,Bet=Lre;function zet(e){var t=Bet(e),n=t%1;return t===t?n?t-n:t:0}var Vet=zet,Het=Gte,Uet=Yc,Wet=Vet,Get=Math.max;function qet(e,t,n){var r=e==null?0:e.length;if(!r)return-1;var o=n==null?0:Wet(n);return o<0&&(o=Get(r+o,0)),Het(e,Uet(t),o)}var Ket=qet,Yet=jet,Xet=Ket,Qet=Yet(Xet),Jet=Qet;const Zet=_n(Jet);var ett=dje(function(e){return{x:e.left,y:e.top,width:e.width,height:e.height}},function(e){return["l",e.left,"t",e.top,"w",e.width,"h",e.height].join("")}),hB=y.createContext(void 0),mB=y.createContext(void 0),Kre=y.createContext(void 0),Yre=y.createContext({}),Xre=y.createContext(void 0),Qre=y.createContext(0),Jre=y.createContext(0),C8=function(t){var n=t.state,r=n.xAxisMap,o=n.yAxisMap,i=n.offset,a=t.clipPathId,s=t.children,l=t.width,c=t.height,u=ett(i);return Y.createElement(hB.Provider,{value:r},Y.createElement(mB.Provider,{value:o},Y.createElement(Yre.Provider,{value:i},Y.createElement(Kre.Provider,{value:u},Y.createElement(Xre.Provider,{value:a},Y.createElement(Qre.Provider,{value:c},Y.createElement(Jre.Provider,{value:l},s)))))))},ttt=function(){return y.useContext(Xre)},Zre=function(t){var n=y.useContext(hB);n==null&&Rh();var r=n[t];return r==null&&Rh(),r},ntt=function(){var t=y.useContext(hB);return Hd(t)},rtt=function(){var t=y.useContext(mB),n=Zet(t,function(r){return zre(r.domain,Number.isFinite)});return n||Hd(t)},eoe=function(t){var n=y.useContext(mB);n==null&&Rh();var r=n[t];return r==null&&Rh(),r},ott=function(){var t=y.useContext(Kre);return t},itt=function(){return y.useContext(Yre)},gB=function(){return y.useContext(Jre)},yB=function(){return y.useContext(Qre)};function uv(e){"@babel/helpers - typeof";return uv=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},uv(e)}function att(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function stt(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);ne*o)return!1;var i=n();return e*(t-e*i/2-r)>=0&&e*(t+e*i/2-o)<=0}function Vtt(e,t){return soe(e,t+1)}function Htt(e,t,n,r,o){for(var i=(r||[]).slice(),a=t.start,s=t.end,l=0,c=1,u=a,d=function(){var m=r==null?void 0:r[l];if(m===void 0)return{v:soe(r,c)};var g=l,v,w=function(){return v===void 0&&(v=n(m,g)),v},x=m.coordinate,S=l===0||WE(e,x,w,u,s);S||(l=0,u=a,c+=1),S&&(u=x+e*(w()/2+o),l+=c)},f;c<=i.length;)if(f=d(),f)return f.v;return[]}function Fx(e){"@babel/helpers - typeof";return Fx=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Fx(e)}function A8(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function gi(e){for(var t=1;t0?p.coordinate-v*e:p.coordinate})}else i[f]=p=gi(gi({},p),{},{tickCoord:p.coordinate});var w=WE(e,p.tickCoord,g,s,l);w&&(l=p.tickCoord-e*(g()/2+o),i[f]=gi(gi({},p),{},{isShow:!0}))},u=a-1;u>=0;u--)c(u);return i}function Ktt(e,t,n,r,o,i){var a=(r||[]).slice(),s=a.length,l=t.start,c=t.end;if(i){var u=r[s-1],d=n(u,s-1),f=e*(u.coordinate+e*d/2-c);a[s-1]=u=gi(gi({},u),{},{tickCoord:f>0?u.coordinate-f*e:u.coordinate});var p=WE(e,u.tickCoord,function(){return d},l,c);p&&(c=u.tickCoord-e*(d/2+o),a[s-1]=gi(gi({},u),{},{isShow:!0}))}for(var m=i?s-1:s,g=function(x){var S=a[x],P,T=function(){return P===void 0&&(P=n(S,x)),P};if(x===0){var E=e*(S.coordinate-e*T()/2-l);a[x]=S=gi(gi({},S),{},{tickCoord:E<0?S.coordinate-E*e:S.coordinate})}else a[x]=S=gi(gi({},S),{},{tickCoord:S.coordinate});var O=WE(e,S.tickCoord,T,l,c);O&&(l=S.tickCoord+e*(T()/2+o),a[x]=gi(gi({},S),{},{isShow:!0}))},v=0;v=2?zi(o[1].coordinate-o[0].coordinate):1,w=ztt(i,v,p);return l==="equidistantPreserveStart"?Htt(v,w,g,o,a):(l==="preserveStart"||l==="preserveStartEnd"?f=Ktt(v,w,g,o,a,l==="preserveStartEnd"):f=qtt(v,w,g,o,a),f.filter(function(x){return x.isShow}))}var Ytt=["viewBox"],Xtt=["viewBox"],Qtt=["ticks"];function pv(e){"@babel/helpers - typeof";return pv=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},pv(e)}function Lg(){return Lg=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Jtt(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function Ztt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function R8(e,t){for(var n=0;n0?l(this.props):l(p)),a<=0||s<=0||!m||!m.length?null:Y.createElement(on,{className:de("recharts-cartesian-axis",c),ref:function(v){r.layerReference=v}},i&&this.renderAxisLine(),this.renderTicks(m,this.state.fontSize,this.state.letterSpacing),Wo.renderCallByParent(this.props))}}],[{key:"renderTickItem",value:function(r,o,i){var a;return Y.isValidElement(r)?a=Y.cloneElement(r,o):Ht(r)?a=r(o):a=Y.createElement(Ah,Lg({},o,{className:"recharts-cartesian-axis-tick-value"}),i),a}}])}(y.Component);xB(lb,"displayName","CartesianAxis");xB(lb,"defaultProps",{x:0,y:0,width:0,height:0,viewBox:{x:0,y:0,width:0,height:0},orientation:"bottom",ticks:[],stroke:"#666",tickLine:!0,axisLine:!0,tick:!0,mirror:!1,minTickGap:5,tickSize:6,tickMargin:2,interval:"preserveEnd"});var ant=["x1","y1","x2","y2","key"],snt=["offset"];function _h(e){"@babel/helpers - typeof";return _h=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_h(e)}function _8(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function wi(e){for(var t=1;t=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function dnt(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var fnt=function(t){var n=t.fill;if(!n||n==="none")return null;var r=t.fillOpacity,o=t.x,i=t.y,a=t.width,s=t.height,l=t.ry;return Y.createElement("rect",{x:o,y:i,ry:l,width:a,height:s,stroke:"none",fill:n,fillOpacity:r,className:"recharts-cartesian-grid-bg"})};function uoe(e,t){var n;if(Y.isValidElement(e))n=Y.cloneElement(e,t);else if(Ht(e))n=e(t);else{var r=t.x1,o=t.y1,i=t.x2,a=t.y2,s=t.key,l=D8(t,ant),c=$t(l,!1);c.offset;var u=D8(c,snt);n=Y.createElement("line",Xp({},u,{x1:r,y1:o,x2:i,y2:a,fill:"none",key:s}))}return n}function pnt(e){var t=e.x,n=e.width,r=e.horizontal,o=r===void 0?!0:r,i=e.horizontalPoints;if(!o||!i||!i.length)return null;var a=i.map(function(s,l){var c=wi(wi({},e),{},{x1:t,y1:s,x2:t+n,y2:s,key:"line-".concat(l),index:l});return uoe(o,c)});return Y.createElement("g",{className:"recharts-cartesian-grid-horizontal"},a)}function hnt(e){var t=e.y,n=e.height,r=e.vertical,o=r===void 0?!0:r,i=e.verticalPoints;if(!o||!i||!i.length)return null;var a=i.map(function(s,l){var c=wi(wi({},e),{},{x1:s,y1:t,x2:s,y2:t+n,key:"line-".concat(l),index:l});return uoe(o,c)});return Y.createElement("g",{className:"recharts-cartesian-grid-vertical"},a)}function mnt(e){var t=e.horizontalFill,n=e.fillOpacity,r=e.x,o=e.y,i=e.width,a=e.height,s=e.horizontalPoints,l=e.horizontal,c=l===void 0?!0:l;if(!c||!t||!t.length)return null;var u=s.map(function(f){return Math.round(f+o-o)}).sort(function(f,p){return f-p});o!==u[0]&&u.unshift(0);var d=u.map(function(f,p){var m=!u[p+1],g=m?o+a-f:u[p+1]-f;if(g<=0)return null;var v=p%t.length;return Y.createElement("rect",{key:"react-".concat(p),y:f,x:r,height:g,width:i,stroke:"none",fill:t[v],fillOpacity:n,className:"recharts-cartesian-grid-bg"})});return Y.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},d)}function gnt(e){var t=e.vertical,n=t===void 0?!0:t,r=e.verticalFill,o=e.fillOpacity,i=e.x,a=e.y,s=e.width,l=e.height,c=e.verticalPoints;if(!n||!r||!r.length)return null;var u=c.map(function(f){return Math.round(f+i-i)}).sort(function(f,p){return f-p});i!==u[0]&&u.unshift(0);var d=u.map(function(f,p){var m=!u[p+1],g=m?i+s-f:u[p+1]-f;if(g<=0)return null;var v=p%r.length;return Y.createElement("rect",{key:"react-".concat(p),x:f,y:a,width:g,height:l,stroke:"none",fill:r[v],fillOpacity:o,className:"recharts-cartesian-grid-bg"})});return Y.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},d)}var ynt=function(t,n){var r=t.xAxis,o=t.width,i=t.height,a=t.offset;return ure(wB(wi(wi(wi({},lb.defaultProps),r),{},{ticks:Iu(r,!0),viewBox:{x:0,y:0,width:o,height:i}})),a.left,a.left+a.width,n)},vnt=function(t,n){var r=t.yAxis,o=t.width,i=t.height,a=t.offset;return ure(wB(wi(wi(wi({},lb.defaultProps),r),{},{ticks:Iu(r,!0),viewBox:{x:0,y:0,width:o,height:i}})),a.top,a.top+a.height,n)},Ym={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],stroke:"#ccc",fill:"none",verticalFill:[],horizontalFill:[]};function Zh(e){var t,n,r,o,i,a,s=gB(),l=yB(),c=itt(),u=wi(wi({},e),{},{stroke:(t=e.stroke)!==null&&t!==void 0?t:Ym.stroke,fill:(n=e.fill)!==null&&n!==void 0?n:Ym.fill,horizontal:(r=e.horizontal)!==null&&r!==void 0?r:Ym.horizontal,horizontalFill:(o=e.horizontalFill)!==null&&o!==void 0?o:Ym.horizontalFill,vertical:(i=e.vertical)!==null&&i!==void 0?i:Ym.vertical,verticalFill:(a=e.verticalFill)!==null&&a!==void 0?a:Ym.verticalFill,x:st(e.x)?e.x:c.left,y:st(e.y)?e.y:c.top,width:st(e.width)?e.width:c.width,height:st(e.height)?e.height:c.height}),d=u.x,f=u.y,p=u.width,m=u.height,g=u.syncWithTicks,v=u.horizontalValues,w=u.verticalValues,x=ntt(),S=rtt();if(!st(p)||p<=0||!st(m)||m<=0||!st(d)||d!==+d||!st(f)||f!==+f)return null;var P=u.verticalCoordinatesGenerator||ynt,T=u.horizontalCoordinatesGenerator||vnt,E=u.horizontalPoints,O=u.verticalPoints;if((!E||!E.length)&&Ht(T)){var k=v&&v.length,A=T({yAxis:S?wi(wi({},S),{},{ticks:k?v:S.ticks}):void 0,width:s,height:l,offset:c},k?!0:g);Ql(Array.isArray(A),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(_h(A),"]")),Array.isArray(A)&&(E=A)}if((!O||!O.length)&&Ht(P)){var I=w&&w.length,R=P({xAxis:x?wi(wi({},x),{},{ticks:I?w:x.ticks}):void 0,width:s,height:l,offset:c},I?!0:g);Ql(Array.isArray(R),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(_h(R),"]")),Array.isArray(R)&&(O=R)}return Y.createElement("g",{className:"recharts-cartesian-grid"},Y.createElement(fnt,{fill:u.fill,fillOpacity:u.fillOpacity,x:u.x,y:u.y,width:u.width,height:u.height,ry:u.ry}),Y.createElement(pnt,Xp({},u,{offset:c,horizontalPoints:E,xAxis:x,yAxis:S})),Y.createElement(hnt,Xp({},u,{offset:c,verticalPoints:O,xAxis:x,yAxis:S})),Y.createElement(mnt,Xp({},u,{horizontalPoints:E})),Y.createElement(gnt,Xp({},u,{verticalPoints:O})))}Zh.displayName="CartesianGrid";var bnt=["type","layout","connectNulls","ref"],wnt=["key"];function hv(e){"@babel/helpers - typeof";return hv=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},hv(e)}function N8(e,t){if(e==null)return{};var n=xnt(e,t),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function xnt(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function Sw(){return Sw=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);nd){p=[].concat(Xm(l.slice(0,m)),[d-g]);break}var v=p.length%2===0?[0,f]:[f];return[].concat(Xm(t.repeat(l,u)),Xm(p),v).map(function(w){return"".concat(w,"px")}).join(", ")}),Fl(n,"id",Yf("recharts-line-")),Fl(n,"pathRef",function(a){n.mainCurve=a}),Fl(n,"handleAnimationEnd",function(){n.setState({isAnimationFinished:!0}),n.props.onAnimationEnd&&n.props.onAnimationEnd()}),Fl(n,"handleAnimationStart",function(){n.setState({isAnimationFinished:!1}),n.props.onAnimationStart&&n.props.onAnimationStart()}),n}return Ant(t,e),Ont(t,[{key:"componentDidMount",value:function(){if(this.props.isAnimationActive){var r=this.getTotalLength();this.setState({totalLength:r})}}},{key:"componentDidUpdate",value:function(){if(this.props.isAnimationActive){var r=this.getTotalLength();r!==this.state.totalLength&&this.setState({totalLength:r})}}},{key:"getTotalLength",value:function(){var r=this.mainCurve;try{return r&&r.getTotalLength&&r.getTotalLength()||0}catch{return 0}}},{key:"renderErrorBar",value:function(r,o){if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var i=this.props,a=i.points,s=i.xAxis,l=i.yAxis,c=i.layout,u=i.children,d=qi(u,ab);if(!d)return null;var f=function(g,v){return{x:g.x,y:g.y,value:g.value,errorVal:Mr(g.payload,v)}},p={clipPath:r?"url(#clipPath-".concat(o,")"):null};return Y.createElement(on,p,d.map(function(m){return Y.cloneElement(m,{key:"bar-".concat(m.props.dataKey),data:a,xAxis:s,yAxis:l,layout:c,dataPointFormatter:f})}))}},{key:"renderDots",value:function(r,o,i){var a=this.props.isAnimationActive;if(a&&!this.state.isAnimationFinished)return null;var s=this.props,l=s.dot,c=s.points,u=s.dataKey,d=$t(this.props,!1),f=$t(l,!0),p=c.map(function(g,v){var w=_a(_a(_a({key:"dot-".concat(v),r:3},d),f),{},{value:g.value,dataKey:u,cx:g.x,cy:g.y,index:v,payload:g.payload});return t.renderDotItem(l,w)}),m={clipPath:r?"url(#clipPath-".concat(o?"":"dots-").concat(i,")"):null};return Y.createElement(on,Sw({className:"recharts-line-dots",key:"dots"},m),p)}},{key:"renderCurveStatically",value:function(r,o,i,a){var s=this.props,l=s.type,c=s.layout,u=s.connectNulls;s.ref;var d=N8(s,bnt),f=_a(_a(_a({},$t(d,!0)),{},{fill:"none",className:"recharts-line-curve",clipPath:o?"url(#clipPath-".concat(i,")"):null,points:r},a),{},{type:l,layout:c,connectNulls:u});return Y.createElement(wf,Sw({},f,{pathRef:this.pathRef}))}},{key:"renderCurveWithAnimation",value:function(r,o){var i=this,a=this.props,s=a.points,l=a.strokeDasharray,c=a.isAnimationActive,u=a.animationBegin,d=a.animationDuration,f=a.animationEasing,p=a.animationId,m=a.animateNewValues,g=a.width,v=a.height,w=this.state,x=w.prevPoints,S=w.totalLength;return Y.createElement(ul,{begin:u,duration:d,isActive:c,easing:f,from:{t:0},to:{t:1},key:"line-".concat(p),onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(P){var T=P.t;if(x){var E=x.length/s.length,O=s.map(function(N,L){var j=Math.floor(L*E);if(x[j]){var _=x[j],D=Ur(_.x,N.x),z=Ur(_.y,N.y);return _a(_a({},N),{},{x:D(T),y:z(T)})}if(m){var F=Ur(g*2,N.x),H=Ur(v/2,N.y);return _a(_a({},N),{},{x:F(T),y:H(T)})}return _a(_a({},N),{},{x:N.x,y:N.y})});return i.renderCurveStatically(O,r,o)}var k=Ur(0,S),A=k(T),I;if(l){var R="".concat(l).split(/[,\s]+/gim).map(function(N){return parseFloat(N)});I=i.getStrokeDasharray(A,S,R)}else I=i.generateSimpleStrokeDasharray(S,A);return i.renderCurveStatically(s,r,o,{strokeDasharray:I})})}},{key:"renderCurve",value:function(r,o){var i=this.props,a=i.points,s=i.isAnimationActive,l=this.state,c=l.prevPoints,u=l.totalLength;return s&&a&&a.length&&(!c&&u>0||!Af(c,a))?this.renderCurveWithAnimation(r,o):this.renderCurveStatically(a,r,o)}},{key:"render",value:function(){var r,o=this.props,i=o.hide,a=o.dot,s=o.points,l=o.className,c=o.xAxis,u=o.yAxis,d=o.top,f=o.left,p=o.width,m=o.height,g=o.isAnimationActive,v=o.id;if(i||!s||!s.length)return null;var w=this.state.isAnimationFinished,x=s.length===1,S=de("recharts-line",l),P=c&&c.allowDataOverflow,T=u&&u.allowDataOverflow,E=P||T,O=jt(v)?this.id:v,k=(r=$t(a,!1))!==null&&r!==void 0?r:{r:3,strokeWidth:2},A=k.r,I=A===void 0?3:A,R=k.strokeWidth,N=R===void 0?2:R,L=rte(a)?a:{},j=L.clipDot,_=j===void 0?!0:j,D=I*2+N;return Y.createElement(on,{className:S},P||T?Y.createElement("defs",null,Y.createElement("clipPath",{id:"clipPath-".concat(O)},Y.createElement("rect",{x:P?f:f-p/2,y:T?d:d-m/2,width:P?p:p*2,height:T?m:m*2})),!_&&Y.createElement("clipPath",{id:"clipPath-dots-".concat(O)},Y.createElement("rect",{x:f-D/2,y:d-D/2,width:p+D,height:m+D}))):null,!x&&this.renderCurve(E,O),this.renderErrorBar(E,O),(x||a)&&this.renderDots(E,_,O),(!g||w)&&Jl.renderCallByParent(this.props,s))}}],[{key:"getDerivedStateFromProps",value:function(r,o){return r.animationId!==o.prevAnimationId?{prevAnimationId:r.animationId,curPoints:r.points,prevPoints:o.curPoints}:r.points!==o.curPoints?{curPoints:r.points}:null}},{key:"repeat",value:function(r,o){for(var i=r.length%2!==0?[].concat(Xm(r),[0]):r,a=[],s=0;s=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Dnt(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function Qp(){return Qp=Object.assign?Object.assign.bind():function(e){for(var t=1;t0||!Af(u,a)||!Af(d,s))?this.renderAreaWithAnimation(r,o):this.renderAreaStatically(a,s,r,o)}},{key:"render",value:function(){var r,o=this.props,i=o.hide,a=o.dot,s=o.points,l=o.className,c=o.top,u=o.left,d=o.xAxis,f=o.yAxis,p=o.width,m=o.height,g=o.isAnimationActive,v=o.id;if(i||!s||!s.length)return null;var w=this.state.isAnimationFinished,x=s.length===1,S=de("recharts-area",l),P=d&&d.allowDataOverflow,T=f&&f.allowDataOverflow,E=P||T,O=jt(v)?this.id:v,k=(r=$t(a,!1))!==null&&r!==void 0?r:{r:3,strokeWidth:2},A=k.r,I=A===void 0?3:A,R=k.strokeWidth,N=R===void 0?2:R,L=rte(a)?a:{},j=L.clipDot,_=j===void 0?!0:j,D=I*2+N;return Y.createElement(on,{className:S},P||T?Y.createElement("defs",null,Y.createElement("clipPath",{id:"clipPath-".concat(O)},Y.createElement("rect",{x:P?u:u-p/2,y:T?c:c-m/2,width:P?p:p*2,height:T?m:m*2})),!_&&Y.createElement("clipPath",{id:"clipPath-dots-".concat(O)},Y.createElement("rect",{x:u-D/2,y:c-D/2,width:p+D,height:m+D}))):null,x?null:this.renderArea(E,O),(a||x)&&this.renderDots(E,_,O),(!g||w)&&Jl.renderCallByParent(this.props,s))}}],[{key:"getDerivedStateFromProps",value:function(r,o){return r.animationId!==o.prevAnimationId?{prevAnimationId:r.animationId,curPoints:r.points,curBaseLine:r.baseLine,prevPoints:o.curPoints,prevBaseLine:o.curBaseLine}:r.points!==o.curPoints||r.baseLine!==o.curBaseLine?{curPoints:r.points,curBaseLine:r.baseLine}:null}}])}(y.PureComponent);poe=ep;Ic(ep,"displayName","Area");Ic(ep,"defaultProps",{stroke:"#3182bd",fill:"#3182bd",fillOpacity:.6,xAxisId:0,yAxisId:0,legendType:"line",connectNulls:!1,points:[],dot:!1,activeDot:!0,hide:!1,isAnimationActive:!nl.isSsr,animationBegin:0,animationDuration:1500,animationEasing:"ease"});Ic(ep,"getBaseValue",function(e,t,n,r){var o=e.layout,i=e.baseValue,a=t.props.baseValue,s=a??i;if(st(s)&&typeof s=="number")return s;var l=o==="horizontal"?r:n,c=l.scale.domain();if(l.type==="number"){var u=Math.max(c[0],c[1]),d=Math.min(c[0],c[1]);return s==="dataMin"?d:s==="dataMax"||u<0?u:Math.max(Math.min(c[0],c[1]),0)}return s==="dataMin"?c[0]:s==="dataMax"?c[1]:c[0]});Ic(ep,"getComposedData",function(e){var t=e.props,n=e.item,r=e.xAxis,o=e.yAxis,i=e.xAxisTicks,a=e.yAxisTicks,s=e.bandSize,l=e.dataKey,c=e.stackedData,u=e.dataStartIndex,d=e.displayedData,f=e.offset,p=t.layout,m=c&&c.length,g=poe.getBaseValue(t,n,r,o),v=p==="horizontal",w=!1,x=d.map(function(P,T){var E;m?E=c[u+T]:(E=Mr(P,l),Array.isArray(E)?w=!0:E=[g,E]);var O=E[1]==null||m&&Mr(P,l)==null;return v?{x:nv({axis:r,ticks:i,bandSize:s,entry:P,index:T}),y:O?null:o.scale(E[1]),value:E,payload:P}:{x:O?null:r.scale(E[1]),y:nv({axis:o,ticks:a,bandSize:s,entry:P,index:T}),value:E,payload:P}}),S;return m||w?S=x.map(function(P){var T=Array.isArray(P.value)?P.value[0]:null;return v?{x:P.x,y:T!=null&&P.y!=null?o.scale(T):null}:{x:T!=null?r.scale(T):null,y:P.y}}):S=v?o.scale(g):r.scale(g),Md({points:x,baseLine:S,layout:p,isRange:w},f)});Ic(ep,"renderDotItem",function(e,t){var n;if(Y.isValidElement(e))n=Y.cloneElement(e,t);else if(Ht(e))n=e(t);else{var r=de("recharts-area-dot",typeof e!="boolean"?e.className:""),o=t.key,i=hoe(t,_nt);n=Y.createElement(WS,Qp({},i,{key:o,className:r}))}return n});function gv(e){"@babel/helpers - typeof";return gv=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},gv(e)}function Hnt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Unt(e,t){for(var n=0;n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Znt(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function ert(e){var t=e.option,n=e.isActive,r=Jnt(e,Qnt);return typeof t=="string"?Y.createElement(DE,Cw({option:Y.createElement(sk,Cw({type:t},r)),isActive:n,shapeType:"symbols"},r)):Y.createElement(DE,Cw({option:t,isActive:n,shapeType:"symbols"},r))}function yv(e){"@babel/helpers - typeof";return yv=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},yv(e)}function Pw(){return Pw=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Yrt(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function Xrt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Qrt(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n0?a:t&&t.length&&st(o)&&st(i)?t.slice(o,i+1):[]};function Doe(e){return e==="number"?[0,"auto"]:void 0}var pN=function(t,n,r,o){var i=t.graphicalItems,a=t.tooltipAxis,s=_k(n,t);return r<0||!i||!i.length||r>=s.length?null:i.reduce(function(l,c){var u,d=(u=c.props.data)!==null&&u!==void 0?u:n;d&&t.dataStartIndex+t.dataEndIndex!==0&&t.dataEndIndex-t.dataStartIndex>=r&&(d=d.slice(t.dataStartIndex,t.dataEndIndex+1));var f;if(a.dataKey&&!a.allowDuplicatedCategory){var p=d===void 0?s:d;f=XT(p,a.dataKey,o)}else f=d&&d[r]||s[r];return f?[].concat(xv(l),[mre(c,f)]):l},[])},K8=function(t,n,r,o){var i=o||{x:t.chartX,y:t.chartY},a=cot(i,r),s=t.orderedTooltipTicks,l=t.tooltipAxis,c=t.tooltipTicks,u=mKe(a,s,c,l);if(u>=0&&c){var d=c[u]&&c[u].value,f=pN(t,n,u,d),p=uot(r,s,u,i);return{activeTooltipIndex:u,activeLabel:d,activePayload:f,activeCoordinate:p}}return null},dot=function(t,n){var r=n.axes,o=n.graphicalItems,i=n.axisType,a=n.axisIdKey,s=n.stackGroups,l=n.dataStartIndex,c=n.dataEndIndex,u=t.layout,d=t.children,f=t.stackOffset,p=cre(u,i);return r.reduce(function(m,g){var v,w=g.type.defaultProps!==void 0?Fe(Fe({},g.type.defaultProps),g.props):g.props,x=w.type,S=w.dataKey,P=w.allowDataOverflow,T=w.allowDuplicatedCategory,E=w.scale,O=w.ticks,k=w.includeHidden,A=w[a];if(m[A])return m;var I=_k(t.data,{graphicalItems:o.filter(function(X){var ae,Z=a in X.props?X.props[a]:(ae=X.type.defaultProps)===null||ae===void 0?void 0:ae[a];return Z===A}),dataStartIndex:l,dataEndIndex:c}),R=I.length,N,L,j;Lrt(w.domain,P,x)&&(N=PD(w.domain,null,P),p&&(x==="number"||E!=="auto")&&(j=vw(I,S,"category")));var _=Doe(x);if(!N||N.length===0){var D,z=(D=w.domain)!==null&&D!==void 0?D:_;if(S){if(N=vw(I,S,x),x==="category"&&p){var F=iBe(N);T&&F?(L=N,N=LE(0,R)):T||(N=fG(z,N,g).reduce(function(X,ae){return X.indexOf(ae)>=0?X:[].concat(xv(X),[ae])},[]))}else if(x==="category")T?N=N.filter(function(X){return X!==""&&!jt(X)}):N=fG(z,N,g).reduce(function(X,ae){return X.indexOf(ae)>=0||ae===""||jt(ae)?X:[].concat(xv(X),[ae])},[]);else if(x==="number"){var H=wKe(I,o.filter(function(X){var ae,Z,K=a in X.props?X.props[a]:(ae=X.type.defaultProps)===null||ae===void 0?void 0:ae[a],te="hide"in X.props?X.props.hide:(Z=X.type.defaultProps)===null||Z===void 0?void 0:Z.hide;return K===A&&(k||!te)}),S,i,u);H&&(N=H)}p&&(x==="number"||E!=="auto")&&(j=vw(I,S,"category"))}else p?N=LE(0,R):s&&s[A]&&s[A].hasStack&&x==="number"?N=f==="expand"?[0,1]:hre(s[A].stackGroups,l,c):N=lre(I,o.filter(function(X){var ae=a in X.props?X.props[a]:X.type.defaultProps[a],Z="hide"in X.props?X.props.hide:X.type.defaultProps.hide;return ae===A&&(k||!Z)}),x,u,!0);if(x==="number")N=uN(d,N,A,i,O),z&&(N=PD(z,N,P));else if(x==="category"&&z){var U=z,q=N.every(function(X){return U.indexOf(X)>=0});q&&(N=U)}}return Fe(Fe({},m),{},Ut({},A,Fe(Fe({},w),{},{axisType:i,domain:N,categoricalDomain:j,duplicateDomain:L,originalDomain:(v=w.domain)!==null&&v!==void 0?v:_,isCategorical:p,layout:u})))},{})},fot=function(t,n){var r=n.graphicalItems,o=n.Axis,i=n.axisType,a=n.axisIdKey,s=n.stackGroups,l=n.dataStartIndex,c=n.dataEndIndex,u=t.layout,d=t.children,f=_k(t.data,{graphicalItems:r,dataStartIndex:l,dataEndIndex:c}),p=f.length,m=cre(u,i),g=-1;return r.reduce(function(v,w){var x=w.type.defaultProps!==void 0?Fe(Fe({},w.type.defaultProps),w.props):w.props,S=x[a],P=Doe("number");if(!v[S]){g++;var T;return m?T=LE(0,p):s&&s[S]&&s[S].hasStack?(T=hre(s[S].stackGroups,l,c),T=uN(d,T,S,i)):(T=PD(P,lre(f,r.filter(function(E){var O,k,A=a in E.props?E.props[a]:(O=E.type.defaultProps)===null||O===void 0?void 0:O[a],I="hide"in E.props?E.props.hide:(k=E.type.defaultProps)===null||k===void 0?void 0:k.hide;return A===S&&!I}),"number",u),o.defaultProps.allowDataOverflow),T=uN(d,T,S,i)),Fe(Fe({},v),{},Ut({},S,Fe(Fe({axisType:i},o.defaultProps),{},{hide:!0,orientation:ts(sot,"".concat(i,".").concat(g%2),null),domain:T,originalDomain:P,isCategorical:m,layout:u})))}return v},{})},pot=function(t,n){var r=n.axisType,o=r===void 0?"xAxis":r,i=n.AxisComp,a=n.graphicalItems,s=n.stackGroups,l=n.dataStartIndex,c=n.dataEndIndex,u=t.children,d="".concat(o,"Id"),f=qi(u,i),p={};return f&&f.length?p=dot(t,{axes:f,graphicalItems:a,axisType:o,axisIdKey:d,stackGroups:s,dataStartIndex:l,dataEndIndex:c}):a&&a.length&&(p=fot(t,{Axis:i,graphicalItems:a,axisType:o,axisIdKey:d,stackGroups:s,dataStartIndex:l,dataEndIndex:c})),p},hot=function(t){var n=Hd(t),r=Iu(n,!1,!0);return{tooltipTicks:r,orderedTooltipTicks:jj(r,function(o){return o.coordinate}),tooltipAxis:n,tooltipAxisBandSize:PE(n,r)}},Y8=function(t){var n=t.children,r=t.defaultShowTooltip,o=Ba(n,lv),i=0,a=0;return t.data&&t.data.length!==0&&(a=t.data.length-1),o&&o.props&&(o.props.startIndex>=0&&(i=o.props.startIndex),o.props.endIndex>=0&&(a=o.props.endIndex)),{chartX:0,chartY:0,dataStartIndex:i,dataEndIndex:a,activeTooltipIndex:-1,isTooltipActive:!!r}},mot=function(t){return!t||!t.length?!1:t.some(function(n){var r=Au(n&&n.type);return r&&r.indexOf("Bar")>=0})},X8=function(t){return t==="horizontal"?{numericAxisName:"yAxis",cateAxisName:"xAxis"}:t==="vertical"?{numericAxisName:"xAxis",cateAxisName:"yAxis"}:t==="centric"?{numericAxisName:"radiusAxis",cateAxisName:"angleAxis"}:{numericAxisName:"angleAxis",cateAxisName:"radiusAxis"}},got=function(t,n){var r=t.props,o=t.graphicalItems,i=t.xAxisMap,a=i===void 0?{}:i,s=t.yAxisMap,l=s===void 0?{}:s,c=r.width,u=r.height,d=r.children,f=r.margin||{},p=Ba(d,lv),m=Ba(d,$u),g=Object.keys(l).reduce(function(T,E){var O=l[E],k=O.orientation;return!O.mirror&&!O.hide?Fe(Fe({},T),{},Ut({},k,T[k]+O.width)):T},{left:f.left||0,right:f.right||0}),v=Object.keys(a).reduce(function(T,E){var O=a[E],k=O.orientation;return!O.mirror&&!O.hide?Fe(Fe({},T),{},Ut({},k,ts(T,"".concat(k))+O.height)):T},{top:f.top||0,bottom:f.bottom||0}),w=Fe(Fe({},v),g),x=w.bottom;p&&(w.bottom+=p.props.height||lv.defaultProps.height),m&&n&&(w=vKe(w,o,r,n));var S=c-w.left-w.right,P=u-w.top-w.bottom;return Fe(Fe({brushBottom:x},w),{},{width:Math.max(S,0),height:Math.max(P,0)})},yot=function(t,n){if(n==="xAxis")return t[n].width;if(n==="yAxis")return t[n].height},KS=function(t){var n=t.chartName,r=t.GraphicalChild,o=t.defaultTooltipEventType,i=o===void 0?"axis":o,a=t.validateTooltipEventTypes,s=a===void 0?["axis"]:a,l=t.axisComponents,c=t.legendContent,u=t.formatAxisMap,d=t.defaultProps,f=function(w,x){var S=x.graphicalItems,P=x.stackGroups,T=x.offset,E=x.updateId,O=x.dataStartIndex,k=x.dataEndIndex,A=w.barSize,I=w.layout,R=w.barGap,N=w.barCategoryGap,L=w.maxBarSize,j=X8(I),_=j.numericAxisName,D=j.cateAxisName,z=mot(S),F=[];return S.forEach(function(H,U){var q=_k(w.data,{graphicalItems:[H],dataStartIndex:O,dataEndIndex:k}),X=H.type.defaultProps!==void 0?Fe(Fe({},H.type.defaultProps),H.props):H.props,ae=X.dataKey,Z=X.maxBarSize,K=X["".concat(_,"Id")],te=X["".concat(D,"Id")],pe={},ie=l.reduce(function(_e,ye){var Te=x["".concat(ye.axisType,"Map")],Oe=X["".concat(ye.axisType,"Id")];Te&&Te[Oe]||ye.axisType==="zAxis"||Rh();var Me=Te[Oe];return Fe(Fe({},_e),{},Ut(Ut({},ye.axisType,Me),"".concat(ye.axisType,"Ticks"),Iu(Me)))},pe),le=ie[D],re=ie["".concat(D,"Ticks")],fe=P&&P[K]&&P[K].hasStack&&kKe(H,P[K].stackGroups),ee=Au(H.type).indexOf("Bar")>=0,ce=PE(le,re),me=[],we=z&&gKe({barSize:A,stackGroups:P,totalSize:yot(ie,D)});if(ee){var ge,Se,xe=jt(Z)?L:Z,Ie=(ge=(Se=PE(le,re,!0))!==null&&Se!==void 0?Se:xe)!==null&&ge!==void 0?ge:0;me=yKe({barGap:R,barCategoryGap:N,bandSize:Ie!==ce?Ie:ce,sizeList:we[te],maxBarSize:xe}),Ie!==ce&&(me=me.map(function(_e){return Fe(Fe({},_e),{},{position:Fe(Fe({},_e.position),{},{offset:_e.position.offset-Ie/2})})}))}var Re=H&&H.type&&H.type.getComposedData;Re&&F.push({props:Fe(Fe({},Re(Fe(Fe({},ie),{},{displayedData:q,props:w,dataKey:ae,item:H,bandSize:ce,barPosition:me,offset:T,stackedData:fe,layout:I,dataStartIndex:O,dataEndIndex:k}))),{},Ut(Ut(Ut({key:H.key||"item-".concat(U)},_,ie[_]),D,ie[D]),"animationId",E)),childIndex:yBe(H,w.children),item:H})}),F},p=function(w,x){var S=w.props,P=w.dataStartIndex,T=w.dataEndIndex,E=w.updateId;if(!aW({props:S}))return null;var O=S.children,k=S.layout,A=S.stackOffset,I=S.data,R=S.reverseStackOrder,N=X8(k),L=N.numericAxisName,j=N.cateAxisName,_=qi(O,r),D=OKe(I,_,"".concat(L,"Id"),"".concat(j,"Id"),A,R),z=l.reduce(function(X,ae){var Z="".concat(ae.axisType,"Map");return Fe(Fe({},X),{},Ut({},Z,pot(S,Fe(Fe({},ae),{},{graphicalItems:_,stackGroups:ae.axisType===L&&D,dataStartIndex:P,dataEndIndex:T}))))},{}),F=got(Fe(Fe({},z),{},{props:S,graphicalItems:_}),x==null?void 0:x.legendBBox);Object.keys(z).forEach(function(X){z[X]=u(S,z[X],F,X.replace("Map",""),n)});var H=z["".concat(j,"Map")],U=hot(H),q=f(S,Fe(Fe({},z),{},{dataStartIndex:P,dataEndIndex:T,updateId:E,graphicalItems:_,stackGroups:D,offset:F}));return Fe(Fe({formattedGraphicalItems:q,graphicalItems:_,offset:F,stackGroups:D},U),z)},m=function(v){function w(x){var S,P,T;return Xrt(this,w),T=Zrt(this,w,[x]),Ut(T,"eventEmitterSymbol",Symbol("rechartsEventEmitter")),Ut(T,"accessibilityManager",new Nrt),Ut(T,"handleLegendBBoxUpdate",function(E){if(E){var O=T.state,k=O.dataStartIndex,A=O.dataEndIndex,I=O.updateId;T.setState(Fe({legendBBox:E},p({props:T.props,dataStartIndex:k,dataEndIndex:A,updateId:I},Fe(Fe({},T.state),{},{legendBBox:E}))))}}),Ut(T,"handleReceiveSyncEvent",function(E,O,k){if(T.props.syncId===E){if(k===T.eventEmitterSymbol&&typeof T.props.syncMethod!="function")return;T.applySyncEvent(O)}}),Ut(T,"handleBrushChange",function(E){var O=E.startIndex,k=E.endIndex;if(O!==T.state.dataStartIndex||k!==T.state.dataEndIndex){var A=T.state.updateId;T.setState(function(){return Fe({dataStartIndex:O,dataEndIndex:k},p({props:T.props,dataStartIndex:O,dataEndIndex:k,updateId:A},T.state))}),T.triggerSyncEvent({dataStartIndex:O,dataEndIndex:k})}}),Ut(T,"handleMouseEnter",function(E){var O=T.getMouseInfo(E);if(O){var k=Fe(Fe({},O),{},{isTooltipActive:!0});T.setState(k),T.triggerSyncEvent(k);var A=T.props.onMouseEnter;Ht(A)&&A(k,E)}}),Ut(T,"triggeredAfterMouseMove",function(E){var O=T.getMouseInfo(E),k=O?Fe(Fe({},O),{},{isTooltipActive:!0}):{isTooltipActive:!1};T.setState(k),T.triggerSyncEvent(k);var A=T.props.onMouseMove;Ht(A)&&A(k,E)}),Ut(T,"handleItemMouseEnter",function(E){T.setState(function(){return{isTooltipActive:!0,activeItem:E,activePayload:E.tooltipPayload,activeCoordinate:E.tooltipPosition||{x:E.cx,y:E.cy}}})}),Ut(T,"handleItemMouseLeave",function(){T.setState(function(){return{isTooltipActive:!1}})}),Ut(T,"handleMouseMove",function(E){E.persist(),T.throttleTriggeredAfterMouseMove(E)}),Ut(T,"handleMouseLeave",function(E){T.throttleTriggeredAfterMouseMove.cancel();var O={isTooltipActive:!1};T.setState(O),T.triggerSyncEvent(O);var k=T.props.onMouseLeave;Ht(k)&&k(O,E)}),Ut(T,"handleOuterEvent",function(E){var O=gBe(E),k=ts(T.props,"".concat(O));if(O&&Ht(k)){var A,I;/.*touch.*/i.test(O)?I=T.getMouseInfo(E.changedTouches[0]):I=T.getMouseInfo(E),k((A=I)!==null&&A!==void 0?A:{},E)}}),Ut(T,"handleClick",function(E){var O=T.getMouseInfo(E);if(O){var k=Fe(Fe({},O),{},{isTooltipActive:!0});T.setState(k),T.triggerSyncEvent(k);var A=T.props.onClick;Ht(A)&&A(k,E)}}),Ut(T,"handleMouseDown",function(E){var O=T.props.onMouseDown;if(Ht(O)){var k=T.getMouseInfo(E);O(k,E)}}),Ut(T,"handleMouseUp",function(E){var O=T.props.onMouseUp;if(Ht(O)){var k=T.getMouseInfo(E);O(k,E)}}),Ut(T,"handleTouchMove",function(E){E.changedTouches!=null&&E.changedTouches.length>0&&T.throttleTriggeredAfterMouseMove(E.changedTouches[0])}),Ut(T,"handleTouchStart",function(E){E.changedTouches!=null&&E.changedTouches.length>0&&T.handleMouseDown(E.changedTouches[0])}),Ut(T,"handleTouchEnd",function(E){E.changedTouches!=null&&E.changedTouches.length>0&&T.handleMouseUp(E.changedTouches[0])}),Ut(T,"triggerSyncEvent",function(E){T.props.syncId!==void 0&&oR.emit(iR,T.props.syncId,E,T.eventEmitterSymbol)}),Ut(T,"applySyncEvent",function(E){var O=T.props,k=O.layout,A=O.syncMethod,I=T.state.updateId,R=E.dataStartIndex,N=E.dataEndIndex;if(E.dataStartIndex!==void 0||E.dataEndIndex!==void 0)T.setState(Fe({dataStartIndex:R,dataEndIndex:N},p({props:T.props,dataStartIndex:R,dataEndIndex:N,updateId:I},T.state)));else if(E.activeTooltipIndex!==void 0){var L=E.chartX,j=E.chartY,_=E.activeTooltipIndex,D=T.state,z=D.offset,F=D.tooltipTicks;if(!z)return;if(typeof A=="function")_=A(F,E);else if(A==="value"){_=-1;for(var H=0;H=0){var fe,ee;if(L.dataKey&&!L.allowDuplicatedCategory){var ce=typeof L.dataKey=="function"?re:"payload.".concat(L.dataKey.toString());fe=XT(H,ce,_),ee=U&&q&&XT(q,ce,_)}else fe=H==null?void 0:H[j],ee=U&&q&&q[j];if(te||K){var me=E.props.activeIndex!==void 0?E.props.activeIndex:j;return[y.cloneElement(E,Fe(Fe(Fe({},A.props),ie),{},{activeIndex:me})),null,null]}if(!jt(fe))return[le].concat(xv(T.renderActivePoints({item:A,activePoint:fe,basePoint:ee,childIndex:j,isRange:U})))}else{var we,ge=(we=T.getItemByXY(T.state.activeCoordinate))!==null&&we!==void 0?we:{graphicalItem:le},Se=ge.graphicalItem,xe=Se.item,Ie=xe===void 0?E:xe,Re=Se.childIndex,_e=Fe(Fe(Fe({},A.props),ie),{},{activeIndex:Re});return[y.cloneElement(Ie,_e),null,null]}return U?[le,null,null]:[le,null]}),Ut(T,"renderCustomized",function(E,O,k){return y.cloneElement(E,Fe(Fe({key:"recharts-customized-".concat(k)},T.props),T.state))}),Ut(T,"renderMap",{CartesianGrid:{handler:ZC,once:!0},ReferenceArea:{handler:T.renderReferenceElement},ReferenceLine:{handler:ZC},ReferenceDot:{handler:T.renderReferenceElement},XAxis:{handler:ZC},YAxis:{handler:ZC},Brush:{handler:T.renderBrush,once:!0},Bar:{handler:T.renderGraphicChild},Line:{handler:T.renderGraphicChild},Area:{handler:T.renderGraphicChild},Radar:{handler:T.renderGraphicChild},RadialBar:{handler:T.renderGraphicChild},Scatter:{handler:T.renderGraphicChild},Pie:{handler:T.renderGraphicChild},Funnel:{handler:T.renderGraphicChild},Tooltip:{handler:T.renderCursor,once:!0},PolarGrid:{handler:T.renderPolarGrid,once:!0},PolarAngleAxis:{handler:T.renderPolarAxis},PolarRadiusAxis:{handler:T.renderPolarAxis},Customized:{handler:T.renderCustomized}}),T.clipPathId="".concat((S=x.id)!==null&&S!==void 0?S:Yf("recharts"),"-clip"),T.throttleTriggeredAfterMouseMove=dk(T.triggeredAfterMouseMove,(P=x.throttleDelay)!==null&&P!==void 0?P:1e3/60),T.state={},T}return not(w,v),Jrt(w,[{key:"componentDidMount",value:function(){var S,P;this.addListener(),this.accessibilityManager.setDetails({container:this.container,offset:{left:(S=this.props.margin.left)!==null&&S!==void 0?S:0,top:(P=this.props.margin.top)!==null&&P!==void 0?P:0},coordinateList:this.state.tooltipTicks,mouseHandlerCallback:this.triggeredAfterMouseMove,layout:this.props.layout}),this.displayDefaultTooltip()}},{key:"displayDefaultTooltip",value:function(){var S=this.props,P=S.children,T=S.data,E=S.height,O=S.layout,k=Ba(P,Ua);if(k){var A=k.props.defaultIndex;if(!(typeof A!="number"||A<0||A>this.state.tooltipTicks.length-1)){var I=this.state.tooltipTicks[A]&&this.state.tooltipTicks[A].value,R=pN(this.state,T,A,I),N=this.state.tooltipTicks[A].coordinate,L=(this.state.offset.top+E)/2,j=O==="horizontal",_=j?{x:N,y:L}:{y:N,x:L},D=this.state.formattedGraphicalItems.find(function(F){var H=F.item;return H.type.name==="Scatter"});D&&(_=Fe(Fe({},_),D.props.points[A].tooltipPosition),R=D.props.points[A].tooltipPayload);var z={activeTooltipIndex:A,isTooltipActive:!0,activeLabel:I,activePayload:R,activeCoordinate:_};this.setState(z),this.renderCursor(k),this.accessibilityManager.setIndex(A)}}}},{key:"getSnapshotBeforeUpdate",value:function(S,P){if(!this.props.accessibilityLayer)return null;if(this.state.tooltipTicks!==P.tooltipTicks&&this.accessibilityManager.setDetails({coordinateList:this.state.tooltipTicks}),this.props.layout!==S.layout&&this.accessibilityManager.setDetails({layout:this.props.layout}),this.props.margin!==S.margin){var T,E;this.accessibilityManager.setDetails({offset:{left:(T=this.props.margin.left)!==null&&T!==void 0?T:0,top:(E=this.props.margin.top)!==null&&E!==void 0?E:0}})}return null}},{key:"componentDidUpdate",value:function(S){j_([Ba(S.children,Ua)],[Ba(this.props.children,Ua)])||this.displayDefaultTooltip()}},{key:"componentWillUnmount",value:function(){this.removeListener(),this.throttleTriggeredAfterMouseMove.cancel()}},{key:"getTooltipEventType",value:function(){var S=Ba(this.props.children,Ua);if(S&&typeof S.props.shared=="boolean"){var P=S.props.shared?"axis":"item";return s.indexOf(P)>=0?P:i}return i}},{key:"getMouseInfo",value:function(S){if(!this.container)return null;var P=this.container,T=P.getBoundingClientRect(),E=HGe(T),O={chartX:Math.round(S.pageX-E.left),chartY:Math.round(S.pageY-E.top)},k=T.width/P.offsetWidth||1,A=this.inRange(O.chartX,O.chartY,k);if(!A)return null;var I=this.state,R=I.xAxisMap,N=I.yAxisMap,L=this.getTooltipEventType();if(L!=="axis"&&R&&N){var j=Hd(R).scale,_=Hd(N).scale,D=j&&j.invert?j.invert(O.chartX):null,z=_&&_.invert?_.invert(O.chartY):null;return Fe(Fe({},O),{},{xValue:D,yValue:z})}var F=K8(this.state,this.props.data,this.props.layout,A);return F?Fe(Fe({},O),F):null}},{key:"inRange",value:function(S,P){var T=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,E=this.props.layout,O=S/T,k=P/T;if(E==="horizontal"||E==="vertical"){var A=this.state.offset,I=O>=A.left&&O<=A.left+A.width&&k>=A.top&&k<=A.top+A.height;return I?{x:O,y:k}:null}var R=this.state,N=R.angleAxisMap,L=R.radiusAxisMap;if(N&&L){var j=Hd(N);return mG({x:O,y:k},j)}return null}},{key:"parseEventsOfWrapper",value:function(){var S=this.props.children,P=this.getTooltipEventType(),T=Ba(S,Ua),E={};T&&P==="axis"&&(T.props.trigger==="click"?E={onClick:this.handleClick}:E={onMouseEnter:this.handleMouseEnter,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd});var O=QT(this.props,this.handleOuterEvent);return Fe(Fe({},O),E)}},{key:"addListener",value:function(){oR.on(iR,this.handleReceiveSyncEvent)}},{key:"removeListener",value:function(){oR.removeListener(iR,this.handleReceiveSyncEvent)}},{key:"filterFormatItem",value:function(S,P,T){for(var E=this.state.formattedGraphicalItems,O=0,k=E.length;O{const t=e.planned.energy>0?e.logged.energy/e.planned.energy*100:100,n=e.planned.energy>0?e.planned.energy-e.logged.energy:e.logged.energy,r=Ei(),[o,i]=Ue(),a=[{name:"",value:t},{name:"",value:t<100?100-t:0}],s=[r.palette.primary.main,"#C5C5C5"];return Q(Gt,{direction:"row",children:[C(Xf,{width:"50%",height:140,children:Q(Foe,{children:[C(Xc,{height:100,data:a,startAngle:200,endAngle:-20,innerRadius:60,outerRadius:70,paddingAngle:2,dataKey:"value",children:a.map((l,c)=>C(nb,{fill:s[c%s.length]},`cell-${c}`))}),Q("g",{children:[C("text",{x:"50%",y:"45%",fontSize:"1.25em",textAnchor:"middle",children:o("nutrition.valueEnergyKcal",{value:bi(n,i.language)})}),C("text",{x:"50%",y:"60%",fontSize:"1em",textAnchor:"middle",children:e.planned.energy>0&&o(t<100?"nutrition.valueRemaining":"nutrition.valueTooMany")})]})]})}),Q(Gt,{width:"50%",spacing:1,children:[C(ry,{title:o("nutrition.protein"),percentage:e.percentage.protein,logged:e.logged.protein,planned:e.planned.protein}),C(ry,{title:o("nutrition.carbohydrates"),percentage:e.percentage.carbohydrates,logged:e.logged.carbohydrates,planned:e.planned.carbohydrates}),C(ry,{title:o("nutrition.fat"),percentage:e.percentage.fat,logged:e.logged.fat,planned:e.planned.fat})]})]})};function ue(){return ue=Object.assign?Object.assign.bind():function(e){for(var t=1;tn.searchParams.append("args[]",r)),`Minified MUI error #${e}; visit ${n} for the full message.`}const ub=B.oneOfType([B.func,B.object]);function Sot(e){if(typeof e!="string")throw new Error(xot(7));return e.charAt(0).toUpperCase()+e.slice(1)}function sR(e){return e&&e.ownerDocument||document}function Cot(e,t){typeof e=="function"?e(t):e&&(e.current=t)}const Uc=typeof window<"u"?y.useLayoutEffect:y.useEffect;let Q8=0;function Pot(e){const[t,n]=y.useState(e),r=e||t;return y.useEffect(()=>{t==null&&(Q8+=1,n(`mui-${Q8}`))},[t]),r}const Tot={...vh},J8=Tot.useId;function db(e){if(J8!==void 0){const t=J8();return e??t}return Pot(e)}function Dh({controlled:e,default:t,name:n,state:r="value"}){const{current:o}=y.useRef(e!==void 0),[i,a]=y.useState(t),s=o?e:i,l=y.useCallback(c=>{o||a(c)},[]);return[s,l]}function Ct(e){const t=y.useRef(e);return Uc(()=>{t.current=e}),y.useRef((...n)=>(0,t.current)(...n)).current}function Qi(...e){return y.useMemo(()=>e.every(t=>t==null)?null:t=>{e.forEach(n=>{Cot(n,t)})},e)}const Eot={border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",whiteSpace:"nowrap",width:"1px"};function Dn(e,t,n=void 0){const r={};for(const o in e){const i=e[o];let a="",s=!0;for(let l=0;le,Oot=()=>{let e=Z8;return{configure(t){e=t},generate(t){return e(t)},reset(){e=Z8}}},Iot=Oot(),kot={active:"active",checked:"checked",completed:"completed",disabled:"disabled",error:"error",expanded:"expanded",focused:"focused",focusVisible:"focusVisible",open:"open",readOnly:"readOnly",required:"required",selected:"selected"};function Fn(e,t,n="Mui"){const r=kot[t];return r?`${n}-${r}`:`${Iot.generate(e)}-${t}`}function Un(e,t,n="Mui"){const r={};return t.forEach(o=>{r[o]=Fn(e,o,n)}),r}function Mot(e){return typeof e=="string"}function Aot(e,t,n){return e===void 0||Mot(e)?t:{...t,ownerState:{...t.ownerState,...n}}}function $ot(e,t=[]){if(e===void 0)return{};const n={};return Object.keys(e).filter(r=>r.match(/^on[A-Z]/)&&typeof e[r]=="function"&&!t.includes(r)).forEach(r=>{n[r]=e[r]}),n}function e9(e){if(e===void 0)return{};const t={};return Object.keys(e).filter(n=>!(n.match(/^on[A-Z]/)&&typeof e[n]=="function")).forEach(n=>{t[n]=e[n]}),t}function Rot(e){const{getSlotProps:t,additionalProps:n,externalSlotProps:r,externalForwardedProps:o,className:i}=e;if(!t){const p=de(n==null?void 0:n.className,i,o==null?void 0:o.className,r==null?void 0:r.className),m={...n==null?void 0:n.style,...o==null?void 0:o.style,...r==null?void 0:r.style},g={...n,...o,...r};return p.length>0&&(g.className=p),Object.keys(m).length>0&&(g.style=m),{props:g,internalRef:void 0}}const a=$ot({...o,...r}),s=e9(r),l=e9(o),c=t(a),u=de(c==null?void 0:c.className,n==null?void 0:n.className,i,o==null?void 0:o.className,r==null?void 0:r.className),d={...c==null?void 0:c.style,...n==null?void 0:n.style,...o==null?void 0:o.style,...r==null?void 0:r.style},f={...c,...n,...l,...s};return u.length>0&&(f.className=u),Object.keys(d).length>0&&(f.style=d),{props:f,internalRef:c.ref}}function $f(e,t,n){return typeof e=="function"?e(t,n):e}function Vn(e){var d;const{elementType:t,externalSlotProps:n,ownerState:r,skipResolvingSlotProps:o=!1,...i}=e,a=o?{}:$f(n,r),{props:s,internalRef:l}=Rot({...i,externalSlotProps:a}),c=Qi(l,a==null?void 0:a.ref,(d=e.additionalProps)==null?void 0:d.ref);return Aot(t,{...s,ref:c},r)}const _ot=["localeText"],hN=y.createContext(null),YS=function(t){const{localeText:n}=t,r=_t(t,_ot),{utils:o,localeText:i}=y.useContext(hN)??{utils:void 0,localeText:void 0},a=Zt({props:r,name:"MuiLocalizationProvider"}),{children:s,dateAdapter:l,dateFormats:c,dateLibInstance:u,adapterLocale:d,localeText:f}=a,p=y.useMemo(()=>ue({},f,i,n),[f,i,n]),m=y.useMemo(()=>{if(!l)return o||null;const w=new l({locale:d,formats:c,instance:u});if(!w.isMUIAdapter)throw new Error(["MUI X: The date adapter should be imported from `@mui/x-date-pickers` or `@mui/x-date-pickers-pro`, not from `@date-io`","For example, `import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs'` instead of `import AdapterDayjs from '@date-io/dayjs'`","More information on the installation documentation: https://mui.com/x/react-date-pickers/getting-started/#installation"].join(` +`));return w},[l,d,c,u,o]),g=y.useMemo(()=>m?{minDate:m.date("1900-01-01T00:00:00.000"),maxDate:m.date("2099-12-31T00:00:00.000")}:null,[m]),v=y.useMemo(()=>({utils:m,defaultDates:g,localeText:p}),[g,m,p]);return $.jsx(hN.Provider,{value:v,children:s})},Dot=e=>({components:{MuiLocalizationProvider:{defaultProps:{localeText:ue({},e)}}}}),fb=e=>{const{utils:t,formatKey:n,contextTranslation:r,propsTranslation:o}=e;return i=>{const a=i!==null&&t.isValid(i)?t.format(i,n):null;return(o??r)(i,t,a)}},joe={previousMonth:"Previous month",nextMonth:"Next month",openPreviousView:"Open previous view",openNextView:"Open next view",calendarViewSwitchingButtonAriaLabel:e=>e==="year"?"year view is open, switch to calendar view":"calendar view is open, switch to year view",start:"Start",end:"End",startDate:"Start date",startTime:"Start time",endDate:"End date",endTime:"End time",cancelButtonLabel:"Cancel",clearButtonLabel:"Clear",okButtonLabel:"OK",todayButtonLabel:"Today",datePickerToolbarTitle:"Select date",dateTimePickerToolbarTitle:"Select date & time",timePickerToolbarTitle:"Select time",dateRangePickerToolbarTitle:"Select date range",clockLabelText:(e,t,n,r)=>`Select ${e}. ${!r&&(t===null||!n.isValid(t))?"No time selected":`Selected time is ${r??n.format(t,"fullTime")}`}`,hoursClockNumberText:e=>`${e} hours`,minutesClockNumberText:e=>`${e} minutes`,secondsClockNumberText:e=>`${e} seconds`,selectViewText:e=>`Select ${e}`,calendarWeekNumberHeaderLabel:"Week number",calendarWeekNumberHeaderText:"#",calendarWeekNumberAriaLabelText:e=>`Week ${e}`,calendarWeekNumberText:e=>`${e}`,openDatePickerDialogue:(e,t,n)=>n||e!==null&&t.isValid(e)?`Choose date, selected date is ${n??t.format(e,"fullDate")}`:"Choose date",openTimePickerDialogue:(e,t,n)=>n||e!==null&&t.isValid(e)?`Choose time, selected time is ${n??t.format(e,"fullTime")}`:"Choose time",fieldClearLabel:"Clear",timeTableLabel:"pick time",dateTableLabel:"pick date",fieldYearPlaceholder:e=>"Y".repeat(e.digitAmount),fieldMonthPlaceholder:e=>e.contentType==="letter"?"MMMM":"MM",fieldDayPlaceholder:()=>"DD",fieldWeekDayPlaceholder:e=>e.contentType==="letter"?"EEEE":"EE",fieldHoursPlaceholder:()=>"hh",fieldMinutesPlaceholder:()=>"mm",fieldSecondsPlaceholder:()=>"ss",fieldMeridiemPlaceholder:()=>"aa",year:"Year",month:"Month",day:"Day",weekDay:"Week day",hours:"Hours",minutes:"Minutes",seconds:"Seconds",meridiem:"Meridiem",empty:"Empty"},Not=joe;Dot(joe);const em=()=>{const e=y.useContext(hN);if(e===null)throw new Error(["MUI X: Can not find the date and time pickers localization context.","It looks like you forgot to wrap your component in LocalizationProvider.","This can also happen if you are bundling multiple versions of the `@mui/x-date-pickers` package"].join(` +`));if(e.utils===null)throw new Error(["MUI X: Can not find the date and time pickers adapter from its localization context.","It looks like you forgot to pass a `dateAdapter` to your LocalizationProvider."].join(` +`));const t=y.useMemo(()=>ue({},Not,e.localeText),[e.localeText]);return y.useMemo(()=>ue({},e,{localeText:t}),[e,t])},hn=()=>em().utils,tm=()=>em().defaultDates,nm=e=>{const t=hn(),n=y.useRef();return n.current===void 0&&(n.current=t.date(void 0,e)),n.current},To=()=>em().localeText,Lot=lt($.jsx("path",{d:"M7 10l5 5 5-5z"}),"ArrowDropDown"),Fot=lt($.jsx("path",{d:"M15.41 16.59L10.83 12l4.58-4.59L14 6l-6 6 6 6 1.41-1.41z"}),"ArrowLeft"),jot=lt($.jsx("path",{d:"M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z"}),"ArrowRight"),Boe=lt($.jsx("path",{d:"M17 12h-5v5h5v-5zM16 1v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-1V1h-2zm3 18H5V8h14v11z"}),"Calendar"),Bot=lt($.jsxs(y.Fragment,{children:[$.jsx("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),$.jsx("path",{d:"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"})]}),"Clock"),zot=lt($.jsx("path",{d:"M9 11H7v2h2v-2zm4 0h-2v2h2v-2zm4 0h-2v2h2v-2zm2-7h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11z"}),"DateRange"),Vot=lt($.jsxs(y.Fragment,{children:[$.jsx("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),$.jsx("path",{d:"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"})]}),"Time"),Hot=lt($.jsx("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Clear");function Uot(e){return Fn("MuiPickersArrowSwitcher",e)}Un("MuiPickersArrowSwitcher",["root","spacer","button","previousIconButton","nextIconButton","leftArrowIcon","rightArrowIcon"]);const Wot=["children","className","slots","slotProps","isNextDisabled","isNextHidden","onGoToNext","nextLabel","isPreviousDisabled","isPreviousHidden","onGoToPrevious","previousLabel","labelId"],Got=["ownerState"],qot=["ownerState"],Kot=oe("div",{name:"MuiPickersArrowSwitcher",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"flex"}),Yot=oe("div",{name:"MuiPickersArrowSwitcher",slot:"Spacer",overridesResolver:(e,t)=>t.spacer})(({theme:e})=>({width:e.spacing(3)})),t9=oe(kn,{name:"MuiPickersArrowSwitcher",slot:"Button",overridesResolver:(e,t)=>t.button})({variants:[{props:{hidden:!0},style:{visibility:"hidden"}}]}),Xot=e=>{const{classes:t}=e;return Dn({root:["root"],spacer:["spacer"],button:["button"],previousIconButton:["previousIconButton"],nextIconButton:["nextIconButton"],leftArrowIcon:["leftArrowIcon"],rightArrowIcon:["rightArrowIcon"]},Uot,t)},zoe=y.forwardRef(function(t,n){const r=nr(),o=Zt({props:t,name:"MuiPickersArrowSwitcher"}),{children:i,className:a,slots:s,slotProps:l,isNextDisabled:c,isNextHidden:u,onGoToNext:d,nextLabel:f,isPreviousDisabled:p,isPreviousHidden:m,onGoToPrevious:g,previousLabel:v,labelId:w}=o,x=_t(o,Wot),S=o,P=Xot(S),T={isDisabled:c,isHidden:u,goTo:d,label:f},E={isDisabled:p,isHidden:m,goTo:g,label:v},O=(s==null?void 0:s.previousIconButton)??t9,k=Vn({elementType:O,externalSlotProps:l==null?void 0:l.previousIconButton,additionalProps:{size:"medium",title:E.label,"aria-label":E.label,disabled:E.isDisabled,edge:"end",onClick:E.goTo},ownerState:ue({},S,{hidden:E.isHidden}),className:de(P.button,P.previousIconButton)}),A=(s==null?void 0:s.nextIconButton)??t9,I=Vn({elementType:A,externalSlotProps:l==null?void 0:l.nextIconButton,additionalProps:{size:"medium",title:T.label,"aria-label":T.label,disabled:T.isDisabled,edge:"start",onClick:T.goTo},ownerState:ue({},S,{hidden:T.isHidden}),className:de(P.button,P.nextIconButton)}),R=(s==null?void 0:s.leftArrowIcon)??Fot,N=Vn({elementType:R,externalSlotProps:l==null?void 0:l.leftArrowIcon,additionalProps:{fontSize:"inherit"},ownerState:S,className:P.leftArrowIcon}),L=_t(N,Got),j=(s==null?void 0:s.rightArrowIcon)??jot,_=Vn({elementType:j,externalSlotProps:l==null?void 0:l.rightArrowIcon,additionalProps:{fontSize:"inherit"},ownerState:S,className:P.rightArrowIcon}),D=_t(_,qot);return $.jsxs(Kot,ue({ref:n,className:de(P.root,a),ownerState:S},x,{children:[$.jsx(O,ue({},k,{children:r?$.jsx(j,ue({},D)):$.jsx(R,ue({},L))})),i?$.jsx(ct,{variant:"subtitle1",component:"span",id:w,children:i}):$.jsx(Yot,{className:P.spacer,ownerState:S}),$.jsx(A,ue({},I,{children:r?$.jsx(R,ue({},L)):$.jsx(j,ue({},D))}))]}))}),Ec=(e,t)=>e.length!==t.length?!1:t.every(n=>e.includes(n)),SB=({openTo:e,defaultOpenTo:t,views:n,defaultViews:r})=>{const o=n??r;let i;if(e!=null)i=e;else if(o.includes(t))i=t;else if(o.length>0)i=o[0];else throw new Error("MUI X: The `views` prop must contain at least one view.");return{views:o,openTo:i}},Voe=["hours","minutes","seconds"],Sv=e=>Voe.includes(e),W0=e=>Voe.includes(e)||e==="meridiem",Qot=(e,t)=>e?t.getHours(e)>=12?"pm":"am":null,zx=(e,t,n)=>n&&(e>=12?"pm":"am")!==t?t==="am"?e-12:e+12:e,Jot=(e,t,n,r)=>{const o=zx(r.getHours(e),t,n);return r.setHours(e,o)},n9=(e,t)=>t.getHours(e)*3600+t.getMinutes(e)*60+t.getSeconds(e),XS=(e,t)=>(n,r)=>e?t.isAfter(n,r):n9(n,t)>n9(r,t),eO=(e,{format:t,views:n,ampm:r})=>{if(t!=null)return t;const o=e.formats;return Ec(n,["hours"])?r?`${o.hours12h} ${o.meridiem}`:o.hours24h:Ec(n,["minutes"])?o.minutes:Ec(n,["seconds"])?o.seconds:Ec(n,["minutes","seconds"])?`${o.minutes}:${o.seconds}`:Ec(n,["hours","minutes","seconds"])?r?`${o.hours12h}:${o.minutes}:${o.seconds} ${o.meridiem}`:`${o.hours24h}:${o.minutes}:${o.seconds}`:r?`${o.hours12h}:${o.minutes} ${o.meridiem}`:`${o.hours24h}:${o.minutes}`};function QS({onChange:e,onViewChange:t,openTo:n,view:r,views:o,autoFocus:i,focusedView:a,onFocusedViewChange:s}){const l=y.useRef(n),c=y.useRef(o),u=y.useRef(o.includes(n)?n:o[0]),[d,f]=Dh({name:"useViews",state:"view",controlled:r,default:u.current}),p=y.useRef(i?d:null),[m,g]=Dh({name:"useViews",state:"focusedView",controlled:a,default:p.current});y.useEffect(()=>{(l.current&&l.current!==n||c.current&&c.current.some(O=>!o.includes(O)))&&(f(o.includes(n)?n:o[0]),c.current=o,l.current=n)},[n,f,d,o]);const v=o.indexOf(d),w=o[v-1]??null,x=o[v+1]??null,S=Ct((O,k)=>{g(k?O:A=>O===A?null:A),s==null||s(O,k)}),P=Ct(O=>{S(O,!0),O!==d&&(f(O),t&&t(O))}),T=Ct(()=>{x&&P(x)}),E=Ct((O,k,A)=>{const I=k==="finish",R=A?o.indexOf(A){const i=o.date(void 0,r),a=o.startOfMonth(t&&o.isBefore(i,n)?i:n);return!o.isAfter(a,e)},[t,n,e,o,r])}function eit(e,{disablePast:t,minDate:n,timezone:r}){const o=hn();return y.useMemo(()=>{const i=o.date(void 0,r),a=o.startOfMonth(t&&o.isAfter(i,n)?i:n);return!o.isBefore(a,e)},[t,n,e,o,r])}function Dk(e,t,n,r){const o=hn(),i=Qot(e,o),a=y.useCallback(s=>{const l=e==null?null:Jot(e,s,!!t,o);n(l,r??"partial")},[t,e,n,r,o]);return{meridiemMode:i,handleMeridiemChange:a}}const Vx=36,Nk=2,Lk=320,tit=280,Fk=336,Hoe=232,G0=48,jk=oe("div")({overflow:"hidden",width:Lk,maxHeight:Fk,display:"flex",flexDirection:"column",margin:"0 auto"});function nit(e){return Fn("MuiTimeClock",e)}Un("MuiTimeClock",["root","arrowSwitcher"]);const Cv=220,_u=36,Hx={x:Cv/2,y:Cv/2},Uoe={x:Hx.x,y:0},rit=Uoe.x-Hx.x,oit=Uoe.y-Hx.y,iit=e=>e*(180/Math.PI),Woe=(e,t,n)=>{const r=t-Hx.x,o=n-Hx.y,i=Math.atan2(rit,oit)-Math.atan2(r,o);let a=iit(i);a=Math.round(a/e)*e,a%=360;const s=Math.floor(a/e)||0,l=r**2+o**2,c=Math.sqrt(l);return{value:s,distance:c}},ait=(e,t,n=1)=>{const r=n*6;let{value:o}=Woe(r,e,t);return o=o*n%60,o},sit=(e,t,n)=>{const{value:r,distance:o}=Woe(30,e,t);let i=r||12;return n?i%=12:o{const{classes:t}=e;return Dn({root:["root"],thumb:["thumb"]},lit,t)},dit=oe("div",{name:"MuiClockPointer",slot:"Root",overridesResolver:(e,t)=>t.root})(({theme:e})=>({width:2,backgroundColor:(e.vars||e).palette.primary.main,position:"absolute",left:"calc(50% - 1px)",bottom:"50%",transformOrigin:"center bottom 0px",variants:[{props:{shouldAnimate:!0},style:{transition:e.transitions.create(["transform","height"])}}]})),fit=oe("div",{name:"MuiClockPointer",slot:"Thumb",overridesResolver:(e,t)=>t.thumb})(({theme:e})=>({width:4,height:4,backgroundColor:(e.vars||e).palette.primary.contrastText,borderRadius:"50%",position:"absolute",top:-21,left:`calc(50% - ${_u/2}px)`,border:`${(_u-4)/2}px solid ${(e.vars||e).palette.primary.main}`,boxSizing:"content-box",variants:[{props:{hasSelected:!0},style:{backgroundColor:(e.vars||e).palette.primary.main}}]}));function pit(e){const t=Zt({props:e,name:"MuiClockPointer"}),{className:n,isInner:r,type:o,viewValue:i}=t,a=_t(t,cit),s=y.useRef(o);y.useEffect(()=>{s.current=o},[o]);const l=ue({},t,{shouldAnimate:s.current!==o}),c=uit(l),u=()=>{let f=360/(o==="hours"?12:60)*i;return o==="hours"&&i>12&&(f-=360),{height:Math.round((r?.26:.4)*Cv),transform:`rotateZ(${f}deg)`}};return $.jsx(dit,ue({style:u(),className:de(c.root,n),ownerState:l},a,{children:$.jsx(fit,{ownerState:l,className:c.thumb})}))}function hit(e){return Fn("MuiClock",e)}Un("MuiClock",["root","clock","wrapper","squareMask","pin","amButton","pmButton","meridiemText","selected"]);const tO=(e,t,n)=>{let r=t;return r=e.setHours(r,e.getHours(n)),r=e.setMinutes(r,e.getMinutes(n)),r=e.setSeconds(r,e.getSeconds(n)),r=e.setMilliseconds(r,e.getMilliseconds(n)),r},Tw=({date:e,disableFuture:t,disablePast:n,maxDate:r,minDate:o,isDateDisabled:i,utils:a,timezone:s})=>{const l=tO(a,a.date(void 0,s),e);n&&a.isBefore(o,l)&&(o=l),t&&a.isAfter(r,l)&&(r=l);let c=e,u=e;for(a.isBefore(e,o)&&(c=o,u=null),a.isAfter(e,r)&&(u&&(u=r),c=null);c||u;){if(c&&a.isAfter(c,r)&&(c=null),u&&a.isBefore(u,o)&&(u=null),c){if(!i(c))return c;c=a.addDays(c,1)}if(u){if(!i(u))return u;u=a.addDays(u,-1)}}return null},mit=(e,t)=>t==null||!e.isValid(t)?null:t,Ti=(e,t,n)=>t==null||!e.isValid(t)?n:t,git=(e,t,n)=>!e.isValid(t)&&t!=null&&!e.isValid(n)&&n!=null?!0:e.isEqual(t,n),CB=(e,t)=>{const r=[e.startOfYear(t)];for(;r.length<12;){const o=r[r.length-1];r.push(e.addMonths(o,1))}return r},PB=(e,t,n)=>n==="date"?e.startOfDay(e.date(void 0,t)):e.date(void 0,t),Wl=(e,t)=>{const n=e.setHours(e.date(),t==="am"?2:14);return e.format(n,"meridiem")},yit=["year","month","day"],Pv=e=>yit.includes(e),Ux=(e,{format:t,views:n},r)=>{if(t!=null)return t;const o=e.formats;return Ec(n,["year"])?o.year:Ec(n,["month"])?o.month:Ec(n,["day"])?o.dayOfMonth:Ec(n,["month","year"])?`${o.month} ${o.year}`:Ec(n,["day","month"])?`${o.month} ${o.dayOfMonth}`:r?/en/.test(e.getCurrentLocaleCode())?o.normalDateWithWeekday:o.normalDate:o.keyboardDate},vit=(e,t)=>{const n=e.startOfWeek(t);return[0,1,2,3,4,5,6].map(r=>e.addDays(n,r))},bit=e=>{const{classes:t,meridiemMode:n}=e;return Dn({root:["root"],clock:["clock"],wrapper:["wrapper"],squareMask:["squareMask"],pin:["pin"],amButton:["amButton",n==="am"&&"selected"],pmButton:["pmButton",n==="pm"&&"selected"],meridiemText:["meridiemText"]},hit,t)},wit=oe("div",{name:"MuiClock",slot:"Root",overridesResolver:(e,t)=>t.root})(({theme:e})=>({display:"flex",justifyContent:"center",alignItems:"center",margin:e.spacing(2)})),xit=oe("div",{name:"MuiClock",slot:"Clock",overridesResolver:(e,t)=>t.clock})({backgroundColor:"rgba(0,0,0,.07)",borderRadius:"50%",height:220,width:220,flexShrink:0,position:"relative",pointerEvents:"none"}),Sit=oe("div",{name:"MuiClock",slot:"Wrapper",overridesResolver:(e,t)=>t.wrapper})({"&:focus":{outline:"none"}}),Cit=oe("div",{name:"MuiClock",slot:"SquareMask",overridesResolver:(e,t)=>t.squareMask})({width:"100%",height:"100%",position:"absolute",pointerEvents:"auto",outline:0,touchAction:"none",userSelect:"none",variants:[{props:{disabled:!1},style:{"@media (pointer: fine)":{cursor:"pointer",borderRadius:"50%"},"&:active":{cursor:"move"}}}]}),Pit=oe("div",{name:"MuiClock",slot:"Pin",overridesResolver:(e,t)=>t.pin})(({theme:e})=>({width:6,height:6,borderRadius:"50%",backgroundColor:(e.vars||e).palette.primary.main,position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)"})),Goe=(e,t)=>({zIndex:1,bottom:8,paddingLeft:4,paddingRight:4,width:_u,variants:[{props:{meridiemMode:t},style:{backgroundColor:(e.vars||e).palette.primary.main,color:(e.vars||e).palette.primary.contrastText,"&:hover":{backgroundColor:(e.vars||e).palette.primary.light}}}]}),Tit=oe(kn,{name:"MuiClock",slot:"AmButton",overridesResolver:(e,t)=>t.amButton})(({theme:e})=>ue({},Goe(e,"am"),{position:"absolute",left:8})),Eit=oe(kn,{name:"MuiClock",slot:"PmButton",overridesResolver:(e,t)=>t.pmButton})(({theme:e})=>ue({},Goe(e,"pm"),{position:"absolute",right:8})),r9=oe(ct,{name:"MuiClock",slot:"meridiemText",overridesResolver:(e,t)=>t.meridiemText})({overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"});function Oit(e){const t=Zt({props:e,name:"MuiClock"}),{ampm:n,ampmInClock:r,autoFocus:o,children:i,value:a,handleMeridiemChange:s,isTimeDisabled:l,meridiemMode:c,minutesStep:u=1,onChange:d,selectedId:f,type:p,viewValue:m,disabled:g=!1,readOnly:v,className:w}=t,x=t,S=hn(),P=To(),T=y.useRef(!1),E=bit(x),O=l(m,p),k=!n&&p==="hours"&&(m<1||m>12),A=(H,U)=>{g||v||l(H,p)||d(H,U)},I=(H,U)=>{let{offsetX:q,offsetY:X}=H;if(q===void 0){const Z=H.target.getBoundingClientRect();q=H.changedTouches[0].clientX-Z.left,X=H.changedTouches[0].clientY-Z.top}const ae=p==="seconds"||p==="minutes"?ait(q,X,u):sit(q,X,!!n);A(ae,U)},R=H=>{T.current=!0,I(H,"shallow")},N=H=>{T.current&&(I(H,"finish"),T.current=!1)},L=H=>{H.buttons>0&&I(H.nativeEvent,"shallow")},j=H=>{T.current&&(T.current=!1),I(H.nativeEvent,"finish")},_=y.useMemo(()=>p==="hours"?!0:m%5===0,[p,m]),D=p==="minutes"?u:1,z=y.useRef(null);Uc(()=>{o&&z.current.focus()},[o]);const F=H=>{if(!T.current)switch(H.key){case"Home":A(0,"partial"),H.preventDefault();break;case"End":A(p==="minutes"?59:23,"partial"),H.preventDefault();break;case"ArrowUp":A(m+D,"partial"),H.preventDefault();break;case"ArrowDown":A(m-D,"partial"),H.preventDefault();break;case"PageUp":A(m+5,"partial"),H.preventDefault();break;case"PageDown":A(m-5,"partial"),H.preventDefault();break;case"Enter":case" ":A(m,"finish"),H.preventDefault();break}};return $.jsxs(wit,{className:de(E.root,w),children:[$.jsxs(xit,{className:E.clock,children:[$.jsx(Cit,{onTouchMove:R,onTouchStart:R,onTouchEnd:N,onMouseUp:j,onMouseMove:L,ownerState:{disabled:g},className:E.squareMask}),!O&&$.jsxs(y.Fragment,{children:[$.jsx(Pit,{className:E.pin}),a!=null&&$.jsx(pit,{type:p,viewValue:m,isInner:k,hasSelected:_})]}),$.jsx(Sit,{"aria-activedescendant":f,"aria-label":P.clockLabelText(p,a,S,a==null?null:S.format(a,"fullTime")),ref:z,role:"listbox",onKeyDown:F,tabIndex:0,className:E.wrapper,children:i})]}),n&&r&&$.jsxs(y.Fragment,{children:[$.jsx(Tit,{onClick:v?void 0:()=>s("am"),disabled:g||c===null,ownerState:x,className:E.amButton,title:Wl(S,"am"),children:$.jsx(r9,{variant:"caption",className:E.meridiemText,children:Wl(S,"am")})}),$.jsx(Eit,{disabled:g||c===null,onClick:v?void 0:()=>s("pm"),ownerState:x,className:E.pmButton,title:Wl(S,"pm"),children:$.jsx(r9,{variant:"caption",className:E.meridiemText,children:Wl(S,"pm")})})]})]})}function Iit(e){return Fn("MuiClockNumber",e)}const eP=Un("MuiClockNumber",["root","selected","disabled"]),kit=["className","disabled","index","inner","label","selected"],Mit=e=>{const{classes:t,selected:n,disabled:r}=e;return Dn({root:["root",n&&"selected",r&&"disabled"]},Iit,t)},Ait=oe("span",{name:"MuiClockNumber",slot:"Root",overridesResolver:(e,t)=>[t.root,{[`&.${eP.disabled}`]:t.disabled},{[`&.${eP.selected}`]:t.selected}]})(({theme:e})=>({height:_u,width:_u,position:"absolute",left:`calc((100% - ${_u}px) / 2)`,display:"inline-flex",justifyContent:"center",alignItems:"center",borderRadius:"50%",color:(e.vars||e).palette.text.primary,fontFamily:e.typography.fontFamily,"&:focused":{backgroundColor:(e.vars||e).palette.background.paper},[`&.${eP.selected}`]:{color:(e.vars||e).palette.primary.contrastText},[`&.${eP.disabled}`]:{pointerEvents:"none",color:(e.vars||e).palette.text.disabled},variants:[{props:{inner:!0},style:ue({},e.typography.body2,{color:(e.vars||e).palette.text.secondary})}]}));function qoe(e){const t=Zt({props:e,name:"MuiClockNumber"}),{className:n,disabled:r,index:o,inner:i,label:a,selected:s}=t,l=_t(t,kit),c=t,u=Mit(c),d=o%12/12*Math.PI*2-Math.PI/2,f=(Cv-_u-2)/2*(i?.65:1),p=Math.round(Math.cos(d)*f),m=Math.round(Math.sin(d)*f);return $.jsx(Ait,ue({className:de(u.root,n),"aria-disabled":r?!0:void 0,"aria-selected":s?!0:void 0,role:"option",style:{transform:`translate(${p}px, ${m+(Cv-_u)/2}px`},ownerState:c},l,{children:a}))}const $it=({ampm:e,value:t,getClockNumberText:n,isDisabled:r,selectedId:o,utils:i})=>{const a=t?i.getHours(t):null,s=[],l=e?1:0,c=e?12:23,u=d=>a===null?!1:e?d===12?a===12||a===0:a===d||a-12===d:a===d;for(let d=l;d<=c;d+=1){let f=d.toString();d===0&&(f="00");const p=!e&&(d===0||d>12);f=i.formatNumber(f);const m=u(d);s.push($.jsx(qoe,{id:m?o:void 0,index:d,inner:p,selected:m,disabled:r(d),label:f,"aria-label":n(f)},d))}return s},o9=({utils:e,value:t,isDisabled:n,getClockNumberText:r,selectedId:o})=>{const i=e.formatNumber;return[[5,i("05")],[10,i("10")],[15,i("15")],[20,i("20")],[25,i("25")],[30,i("30")],[35,i("35")],[40,i("40")],[45,i("45")],[50,i("50")],[55,i("55")],[0,i("00")]].map(([a,s],l)=>{const c=a===t;return $.jsx(qoe,{label:s,id:c?o:void 0,index:l+1,inner:!1,disabled:n(a),selected:c,"aria-label":r(s)},a)})},TB=({timezone:e,value:t,defaultValue:n,onChange:r,valueManager:o})=>{const i=hn(),a=y.useRef(n),s=t??a.current??o.emptyValue,l=y.useMemo(()=>o.getTimezone(i,s),[i,o,s]),c=Ct(p=>l==null?p:o.setTimezone(i,l,p)),u=e??l??"default",d=y.useMemo(()=>o.setTimezone(i,u,s),[o,i,u,s]),f=Ct((p,...m)=>{const g=c(p);r==null||r(g,...m)});return{value:d,handleValueChange:f,timezone:u}},pb=({name:e,timezone:t,value:n,defaultValue:r,onChange:o,valueManager:i})=>{const[a,s]=Dh({name:e,state:"value",controlled:n,default:r??i.emptyValue}),l=Ct((c,...u)=>{s(c),o==null||o(c,...u)});return TB({timezone:t,value:a,defaultValue:void 0,onChange:l,valueManager:i})},Vl={year:1,month:2,day:3,hours:4,minutes:5,seconds:6,milliseconds:7},Rit=e=>Math.max(...e.map(t=>Vl[t.type]??1)),x0=(e,t,n)=>{if(t===Vl.year)return e.startOfYear(n);if(t===Vl.month)return e.startOfMonth(n);if(t===Vl.day)return e.startOfDay(n);let r=n;return t{let i=o?o():x0(t,n,PB(t,r));e.minDate!=null&&t.isAfterDay(e.minDate,i)&&(i=x0(t,n,e.minDate)),e.maxDate!=null&&t.isBeforeDay(e.maxDate,i)&&(i=x0(t,n,e.maxDate));const a=XS(e.disableIgnoringDatePartForTimeValidation??!1,t);return e.minTime!=null&&a(e.minTime,i)&&(i=x0(t,n,e.disableIgnoringDatePartForTimeValidation?e.minTime:tO(t,i,e.minTime))),e.maxTime!=null&&a(i,e.maxTime)&&(i=x0(t,n,e.disableIgnoringDatePartForTimeValidation?e.maxTime:tO(t,i,e.maxTime))),i},Koe=(e,t)=>{const n=e.formatTokenMap[t];if(n==null)throw new Error([`MUI X: The token "${t}" is not supported by the Date and Time Pickers.`,"Please try using another token or open an issue on https://github.com/mui/mui-x/issues/new/choose if you think it should be supported."].join(` +`));return typeof n=="string"?{type:n,contentType:n==="meridiem"?"letter":"digit",maxLength:void 0}:{type:n.sectionType,contentType:n.contentType,maxLength:n.maxLength}},Dit=e=>{switch(e){case"ArrowUp":return 1;case"ArrowDown":return-1;case"PageUp":return 5;case"PageDown":return-5;default:return 0}},Bk=(e,t)=>{const n=[],r=e.date(void 0,"default"),o=e.startOfWeek(r),i=e.endOfWeek(r);let a=o;for(;e.isBefore(a,i);)n.push(a),a=e.addDays(a,1);return n.map(s=>e.formatByString(s,t))},Yoe=(e,t,n,r)=>{switch(n){case"month":return CB(e,e.date(void 0,t)).map(o=>e.formatByString(o,r));case"weekDay":return Bk(e,r);case"meridiem":{const o=e.date(void 0,t);return[e.startOfDay(o),e.endOfDay(o)].map(i=>e.formatByString(i,r))}default:return[]}},i9="s",Nit=["0","1","2","3","4","5","6","7","8","9"],Lit=e=>{const t=e.date(void 0);return e.formatByString(e.setSeconds(t,0),i9)==="0"?Nit:Array.from({length:10}).map((r,o)=>e.formatByString(e.setSeconds(t,o),i9))},Nh=(e,t)=>{if(t[0]==="0")return e;const n=[];let r="";for(let o=0;o-1&&(n.push(i.toString()),r="")}return n.join("")},EB=(e,t)=>t[0]==="0"?e:e.split("").map(n=>t[Number(n)]).join(""),a9=(e,t)=>{const n=Nh(e,t);return n!==" "&&!Number.isNaN(Number(n))},Xoe=(e,t)=>{let n=e;for(n=Number(n).toString();n.length{if(o.type==="day"&&o.contentType==="digit-with-letter"){const a=e.setDate(n.longestMonth,t);return e.formatByString(a,o.format)}let i=t.toString();return o.hasLeadingZerosInInput&&(i=Xoe(i,o.maxLength)),EB(i,r)},Fit=(e,t,n,r,o,i,a,s)=>{const l=Dit(r),c=r==="Home",u=r==="End",d=n.value===""||c||u,f=()=>{const m=o[n.type]({currentDate:a,format:n.format,contentType:n.contentType}),g=S=>Qoe(e,S,m,i,n),v=n.type==="minutes"&&(s!=null&&s.minutesStep)?s.minutesStep:1;let x=parseInt(Nh(n.value,i),10)+l*v;if(d){if(n.type==="year"&&!u&&!c)return e.formatByString(e.date(void 0,t),n.format);l>0||c?x=m.minimum:x=m.maximum}return x%v!==0&&((l<0||c)&&(x+=v-(v+x)%v),(l>0||u)&&(x-=x%v)),x>m.maximum?g(m.minimum+(x-m.maximum-1)%(m.maximum-m.minimum+1)):x{const m=Yoe(e,t,n.type,n.format);if(m.length===0)return n.value;if(d)return l>0||c?m[0]:m[m.length-1];const w=((m.indexOf(n.value)+l)%m.length+m.length)%m.length;return m[w]};return n.contentType==="digit"||n.contentType==="digit-with-letter"?f():p()},OB=(e,t,n)=>{let r=e.value||e.placeholder;const o=t==="non-input"?e.hasLeadingZerosInFormat:e.hasLeadingZerosInInput;return t==="non-input"&&e.hasLeadingZerosInInput&&!e.hasLeadingZerosInFormat&&(r=Number(Nh(r,n)).toString()),["input-rtl","input-ltr"].includes(t)&&e.contentType==="digit"&&!o&&r.length===1&&(r=`${r}‎`),t==="input-rtl"&&(r=`⁨${r}⁩`),r},s9=(e,t,n,r)=>e.formatByString(e.parse(t,n),r),Joe=(e,t)=>e.formatByString(e.date(void 0,"system"),t).length===4,Zoe=(e,t,n,r)=>{if(t!=="digit")return!1;const o=e.date(void 0,"default");switch(n){case"year":return Joe(e,r)?e.formatByString(e.setYear(o,1),r)==="0001":e.formatByString(e.setYear(o,2001),r)==="01";case"month":return e.formatByString(e.startOfYear(o),r).length>1;case"day":return e.formatByString(e.startOfMonth(o),r).length>1;case"weekDay":return e.formatByString(e.startOfWeek(o),r).length>1;case"hours":return e.formatByString(e.setHours(o,1),r).length>1;case"minutes":return e.formatByString(e.setMinutes(o,1),r).length>1;case"seconds":return e.formatByString(e.setSeconds(o,1),r).length>1;default:throw new Error("Invalid section type")}},jit=(e,t,n)=>{const r=t.some(l=>l.type==="day"),o=[],i=[];for(let l=0;le.map(t=>`${t.startSeparator}${t.value||t.placeholder}${t.endSeparator}`).join(""),zit=(e,t,n)=>{const o=e.map(i=>{const a=OB(i,n?"input-rtl":"input-ltr",t);return`${i.startSeparator}${a}${i.endSeparator}`}).join("");return n?`⁦${o}⁩`:o},Vit=(e,t,n)=>{const r=e.date(void 0,n),o=e.endOfYear(r),i=e.endOfDay(r),{maxDaysInMonth:a,longestMonth:s}=CB(e,r).reduce((l,c)=>{const u=e.getDaysInMonth(c);return u>l.maxDaysInMonth?{maxDaysInMonth:u,longestMonth:c}:l},{maxDaysInMonth:0,longestMonth:null});return{year:({format:l})=>({minimum:0,maximum:Joe(e,l)?9999:99}),month:()=>({minimum:1,maximum:e.getMonth(o)+1}),day:({currentDate:l})=>({minimum:1,maximum:l!=null&&e.isValid(l)?e.getDaysInMonth(l):a,longestMonth:s}),weekDay:({format:l,contentType:c})=>{if(c==="digit"){const u=Bk(e,l).map(Number);return{minimum:Math.min(...u),maximum:Math.max(...u)}}return{minimum:1,maximum:7}},hours:({format:l})=>{const c=e.getHours(i);return Nh(e.formatByString(e.endOfDay(r),l),t)!==c.toString()?{minimum:1,maximum:Number(Nh(e.formatByString(e.startOfDay(r),l),t))}:{minimum:0,maximum:c}},minutes:()=>({minimum:0,maximum:e.getMinutes(i)}),seconds:()=>({minimum:0,maximum:e.getSeconds(i)}),meridiem:()=>({minimum:0,maximum:1}),empty:()=>({minimum:0,maximum:0})}},Hit=(e,t,n,r)=>{switch(t.type){case"year":return e.setYear(r,e.getYear(n));case"month":return e.setMonth(r,e.getMonth(n));case"weekDay":{const o=Bk(e,t.format),i=e.formatByString(n,t.format),a=o.indexOf(i),l=o.indexOf(t.value)-a;return e.addDays(n,l)}case"day":return e.setDate(r,e.getDate(n));case"meridiem":{const o=e.getHours(n)<12,i=e.getHours(r);return o&&i>=12?e.addHours(r,-12):!o&&i<12?e.addHours(r,12):r}case"hours":return e.setHours(r,e.getHours(n));case"minutes":return e.setMinutes(r,e.getMinutes(n));case"seconds":return e.setSeconds(r,e.getSeconds(n));default:return r}},l9={year:1,month:2,day:3,weekDay:4,hours:5,minutes:6,seconds:7,meridiem:8,empty:9},c9=(e,t,n,r,o)=>[...n].sort((i,a)=>l9[i.type]-l9[a.type]).reduce((i,a)=>!o||a.modified?Hit(e,a,t,i):i,r),Uit=()=>navigator.userAgent.toLowerCase().includes("android"),Wit=(e,t)=>{const n={};if(!t)return e.forEach((l,c)=>{const u=c===0?null:c-1,d=c===e.length-1?null:c+1;n[c]={leftIndex:u,rightIndex:d}}),{neighbors:n,startIndex:0,endIndex:e.length-1};const r={},o={};let i=0,a=0,s=e.length-1;for(;s>=0;){a=e.findIndex((l,c)=>{var u;return c>=i&&((u=l.endSeparator)==null?void 0:u.includes(" "))&&l.endSeparator!==" / "}),a===-1&&(a=e.length-1);for(let l=a;l>=i;l-=1)o[l]=s,r[s]=l,s-=1;i=a+1}return e.forEach((l,c)=>{const u=o[c],d=u===0?null:r[u-1],f=u===e.length-1?null:r[u+1];n[c]={leftIndex:d,rightIndex:f}}),{neighbors:n,startIndex:r[0],endIndex:r[e.length-1]}},mN=(e,t)=>e==null?null:e==="all"?"all":typeof e=="string"?t.findIndex(n=>n.type===e):e,Git=(e,t)=>{if(e.value)switch(e.type){case"month":{if(e.contentType==="digit")return t.format(t.setMonth(t.date(),Number(e.value)-1),"month");const n=t.parse(e.value,e.format);return n?t.format(n,"month"):void 0}case"day":return e.contentType==="digit"?t.format(t.setDate(t.startOfYear(t.date()),Number(e.value)),"dayOfMonthFull"):e.value;case"weekDay":return;default:return}},qit=(e,t)=>{if(e.value)switch(e.type){case"weekDay":return e.contentType==="letter"?void 0:Number(e.value);case"meridiem":{const n=t.parse(`01:00 ${e.value}`,`${t.formats.hours12h}:${t.formats.minutes} ${e.format}`);return n?t.getHours(n)>=12?1:0:void 0}case"day":return e.contentType==="digit-with-letter"?parseInt(e.value,10):Number(e.value);case"month":{if(e.contentType==="digit")return Number(e.value);const n=t.parse(e.value,e.format);return n?t.getMonth(n)+1:void 0}default:return e.contentType!=="letter"?Number(e.value):void 0}},Kit=["value","referenceDate"],ro={emptyValue:null,getTodayValue:PB,getInitialReferenceValue:e=>{let{value:t,referenceDate:n}=e,r=_t(e,Kit);return t!=null&&r.utils.isValid(t)?t:n??_it(r)},cleanValue:mit,areValuesEqual:git,isSameError:(e,t)=>e===t,hasError:e=>e!=null,defaultErrorState:null,getTimezone:(e,t)=>t==null||!e.isValid(t)?null:e.getTimezone(t),setTimezone:(e,t,n)=>n==null?null:e.setTimezone(n,t)},IB={updateReferenceValue:(e,t,n)=>t==null||!e.isValid(t)?n:t,getSectionsFromValue:(e,t,n,r)=>!e.isValid(t)&&!!n?n:r(t),getV7HiddenInputValueFromSections:Bit,getV6InputValueFromSections:zit,getActiveDateManager:(e,t)=>({date:t.value,referenceDate:t.referenceValue,getSections:n=>n,getNewValuesFromNewActiveDate:n=>({value:n,referenceValue:n==null||!e.isValid(n)?t.referenceValue:n})}),parseValueStr:(e,t,n)=>n(e.trim(),t)},kB=({value:e,referenceDate:t,utils:n,props:r,timezone:o})=>{const i=y.useMemo(()=>ro.getInitialReferenceValue({value:e,utils:n,props:r,referenceDate:t,granularity:Vl.day,timezone:o,getTodayDate:()=>PB(n,o,"date")}),[]);return e??i},Yit=["ampm","ampmInClock","autoFocus","slots","slotProps","value","defaultValue","referenceDate","disableIgnoringDatePartForTimeValidation","maxTime","minTime","disableFuture","disablePast","minutesStep","shouldDisableTime","showViewSwitcher","onChange","view","views","openTo","onViewChange","focusedView","onFocusedViewChange","className","disabled","readOnly","timezone"],Xit=e=>{const{classes:t}=e;return Dn({root:["root"],arrowSwitcher:["arrowSwitcher"]},nit,t)},Qit=oe(jk,{name:"MuiTimeClock",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"flex",flexDirection:"column",position:"relative"}),Jit=oe(zoe,{name:"MuiTimeClock",slot:"ArrowSwitcher",overridesResolver:(e,t)=>t.arrowSwitcher})({position:"absolute",right:12,top:15}),Zit=["hours","minutes"],eat=y.forwardRef(function(t,n){const r=hn(),o=Zt({props:t,name:"MuiTimeClock"}),{ampm:i=r.is12HourCycleInCurrentLocale(),ampmInClock:a=!1,autoFocus:s,slots:l,slotProps:c,value:u,defaultValue:d,referenceDate:f,disableIgnoringDatePartForTimeValidation:p=!1,maxTime:m,minTime:g,disableFuture:v,disablePast:w,minutesStep:x=1,shouldDisableTime:S,showViewSwitcher:P,onChange:T,view:E,views:O=Zit,openTo:k,onViewChange:A,focusedView:I,onFocusedViewChange:R,className:N,disabled:L,readOnly:j,timezone:_}=o,D=_t(o,Yit),{value:z,handleValueChange:F,timezone:H}=pb({name:"TimeClock",timezone:_,value:u,defaultValue:d,onChange:T,valueManager:ro}),U=kB({value:z,referenceDate:f,utils:r,props:o,timezone:H}),q=To(),X=nm(H),{view:ae,setView:Z,previousView:K,nextView:te,setValueAndGoToNextView:pe}=QS({view:E,views:O,openTo:k,onViewChange:A,onChange:F,focusedView:I,onFocusedViewChange:R}),{meridiemMode:ie,handleMeridiemChange:le}=Dk(U,i,pe),re=y.useCallback((we,ge)=>{const Se=XS(p,r),xe=ge==="hours"||ge==="minutes"&&O.includes("seconds"),Ie=({start:_e,end:ye})=>!(g&&Se(g,ye)||m&&Se(_e,m)||v&&Se(_e,X)||w&&Se(X,xe?ye:_e)),Re=(_e,ye=1)=>{if(_e%ye!==0)return!1;if(S)switch(ge){case"hours":return!S(r.setHours(U,_e),"hours");case"minutes":return!S(r.setMinutes(U,_e),"minutes");case"seconds":return!S(r.setSeconds(U,_e),"seconds");default:return!1}return!0};switch(ge){case"hours":{const _e=zx(we,ie,i),ye=r.setHours(U,_e),Te=r.setSeconds(r.setMinutes(ye,0),0),Oe=r.setSeconds(r.setMinutes(ye,59),59);return!Ie({start:Te,end:Oe})||!Re(_e)}case"minutes":{const _e=r.setMinutes(U,we),ye=r.setSeconds(_e,0),Te=r.setSeconds(_e,59);return!Ie({start:ye,end:Te})||!Re(we,x)}case"seconds":{const _e=r.setSeconds(U,we);return!Ie({start:_e,end:_e})||!Re(we)}default:throw new Error("not supported")}},[i,U,p,m,ie,g,x,S,r,v,w,X,O]),fe=db(),ee=y.useMemo(()=>{switch(ae){case"hours":{const we=(ge,Se)=>{const xe=zx(ge,ie,i);pe(r.setHours(U,xe),Se,"hours")};return{onChange:we,viewValue:r.getHours(U),children:$it({value:z,utils:r,ampm:i,onChange:we,getClockNumberText:q.hoursClockNumberText,isDisabled:ge=>L||re(ge,"hours"),selectedId:fe})}}case"minutes":{const we=r.getMinutes(U),ge=(Se,xe)=>{pe(r.setMinutes(U,Se),xe,"minutes")};return{viewValue:we,onChange:ge,children:o9({utils:r,value:we,onChange:ge,getClockNumberText:q.minutesClockNumberText,isDisabled:Se=>L||re(Se,"minutes"),selectedId:fe})}}case"seconds":{const we=r.getSeconds(U),ge=(Se,xe)=>{pe(r.setSeconds(U,Se),xe,"seconds")};return{viewValue:we,onChange:ge,children:o9({utils:r,value:we,onChange:ge,getClockNumberText:q.secondsClockNumberText,isDisabled:Se=>L||re(Se,"seconds"),selectedId:fe})}}default:throw new Error("You must provide the type for ClockView")}},[ae,r,z,i,q.hoursClockNumberText,q.minutesClockNumberText,q.secondsClockNumberText,ie,pe,U,re,fe,L]),ce=o,me=Xit(ce);return $.jsxs(Qit,ue({ref:n,className:de(me.root,N),ownerState:ce},D,{children:[$.jsx(Oit,ue({autoFocus:s??!!I,ampmInClock:a&&O.includes("hours"),value:z,type:ae,ampm:i,minutesStep:x,isTimeDisabled:re,meridiemMode:ie,handleMeridiemChange:le,selectedId:fe,disabled:L,readOnly:j},ee)),P&&$.jsx(Jit,{className:me.arrowSwitcher,slots:l,slotProps:c,onGoToPrevious:()=>Z(K),isPreviousDisabled:!K,previousLabel:q.openPreviousView,onGoToNext:()=>Z(te),isNextDisabled:!te,nextLabel:q.openNextView,ownerState:ce})]}))});function tat(e){return Fn("MuiDigitalClock",e)}const nat=Un("MuiDigitalClock",["root","list","item"]);function pg(e,t){return Array.isArray(t)?t.every(n=>e.indexOf(n)!==-1):e.indexOf(t)!==-1}const rat=(e,t)=>n=>{(n.key==="Enter"||n.key===" ")&&(e(n),n.preventDefault(),n.stopPropagation())},ua=(e=document)=>{const t=e.activeElement;return t?t.shadowRoot?ua(t.shadowRoot):t:null},nO=e=>Array.from(e.children).indexOf(ua(document)),MB="@media (pointer: fine)",oat=["ampm","timeStep","autoFocus","slots","slotProps","value","defaultValue","referenceDate","disableIgnoringDatePartForTimeValidation","maxTime","minTime","disableFuture","disablePast","minutesStep","shouldDisableTime","onChange","view","openTo","onViewChange","focusedView","onFocusedViewChange","className","disabled","readOnly","views","skipDisabled","timezone"],iat=e=>{const{classes:t}=e;return Dn({root:["root"],list:["list"],item:["item"]},tat,t)},aat=oe(jk,{name:"MuiDigitalClock",slot:"Root",overridesResolver:(e,t)=>t.root})({overflowY:"auto",width:"100%","@media (prefers-reduced-motion: no-preference)":{scrollBehavior:"auto"},maxHeight:Hoe,variants:[{props:{alreadyRendered:!0},style:{"@media (prefers-reduced-motion: no-preference)":{scrollBehavior:"smooth"}}}]}),sat=oe(kS,{name:"MuiDigitalClock",slot:"List",overridesResolver:(e,t)=>t.list})({padding:0}),lat=oe(Yt,{name:"MuiDigitalClock",slot:"Item",overridesResolver:(e,t)=>t.item})(({theme:e})=>({padding:"8px 16px",margin:"2px 4px","&:first-of-type":{marginTop:4},"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.hoverOpacity})`:mt(e.palette.primary.main,e.palette.action.hoverOpacity)},"&.Mui-selected":{backgroundColor:(e.vars||e).palette.primary.main,color:(e.vars||e).palette.primary.contrastText,"&:focus-visible, &:hover":{backgroundColor:(e.vars||e).palette.primary.dark}},"&.Mui-focusVisible":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.focusOpacity})`:mt(e.palette.primary.main,e.palette.action.focusOpacity)}})),cat=y.forwardRef(function(t,n){const r=hn(),o=y.useRef(null),i=Qi(n,o),a=y.useRef(null),s=Zt({props:t,name:"MuiDigitalClock"}),{ampm:l=r.is12HourCycleInCurrentLocale(),timeStep:c=30,autoFocus:u,slots:d,slotProps:f,value:p,defaultValue:m,referenceDate:g,disableIgnoringDatePartForTimeValidation:v=!1,maxTime:w,minTime:x,disableFuture:S,disablePast:P,minutesStep:T=1,shouldDisableTime:E,onChange:O,view:k,openTo:A,onViewChange:I,focusedView:R,onFocusedViewChange:N,className:L,disabled:j,readOnly:_,views:D=["hours"],skipDisabled:z=!1,timezone:F}=s,H=_t(s,oat),{value:U,handleValueChange:q,timezone:X}=pb({name:"DigitalClock",timezone:F,value:p,defaultValue:m,onChange:O,valueManager:ro}),ae=To(),Z=nm(X),K=y.useMemo(()=>ue({},s,{alreadyRendered:!!o.current}),[s]),te=iat(K),pe=(d==null?void 0:d.digitalClockItem)??lat,ie=Vn({elementType:pe,externalSlotProps:f==null?void 0:f.digitalClockItem,ownerState:{},className:te.item}),le=kB({value:U,referenceDate:g,utils:r,props:s,timezone:X}),re=Ct(Se=>q(Se,"finish","hours")),{setValueAndGoToNextView:fe}=QS({view:k,views:D,openTo:A,onViewChange:I,onChange:re,focusedView:R,onFocusedViewChange:N}),ee=Ct(Se=>{fe(Se,"finish")});y.useEffect(()=>{if(o.current===null)return;const Se=o.current.querySelector('[role="listbox"] [role="option"][tabindex="0"], [role="listbox"] [role="option"][aria-selected="true"]');if(!Se)return;const xe=Se.offsetTop;(u||R)&&Se.focus(),o.current.scrollTop=xe-4});const ce=y.useCallback(Se=>{const xe=XS(v,r),Ie=()=>!(x&&xe(x,Se)||w&&xe(Se,w)||S&&xe(Se,Z)||P&&xe(Z,Se)),Re=()=>r.getMinutes(Se)%T!==0?!1:E?!E(Se,"hours"):!0;return!Ie()||!Re()},[v,r,x,w,S,Z,P,T,E]),me=y.useMemo(()=>{const Se=[];let Ie=r.startOfDay(le);for(;r.isSameDay(le,Ie);)Se.push(Ie),Ie=r.addMinutes(Ie,c);return Se},[le,c,r]),we=me.findIndex(Se=>r.isEqual(Se,le)),ge=Se=>{switch(Se.key){case"PageUp":{const xe=nO(a.current)-5,Ie=a.current.children,Re=Math.max(0,xe),_e=Ie[Re];_e&&_e.focus(),Se.preventDefault();break}case"PageDown":{const xe=nO(a.current)+5,Ie=a.current.children,Re=Math.min(Ie.length-1,xe),_e=Ie[Re];_e&&_e.focus(),Se.preventDefault();break}}};return $.jsx(aat,ue({ref:i,className:de(te.root,L),ownerState:K},H,{children:$.jsx(sat,{ref:a,role:"listbox","aria-label":ae.timePickerToolbarTitle,className:te.list,onKeyDown:ge,children:me.map((Se,xe)=>{if(z&&ce(Se))return null;const Ie=r.isEqual(Se,U),Re=r.format(Se,l?"fullTime12h":"fullTime24h"),_e=we===xe||we===-1&&xe===0?0:-1;return $.jsx(pe,ue({onClick:()=>!_&&ee(Se),selected:Ie,disabled:j||ce(Se),disableRipple:_,role:"option","aria-disabled":_,"aria-selected":Ie,tabIndex:_e},ie,{children:Re}),`${Se.valueOf()}-${Re}`)})})}))});function uat(e){return Fn("MuiMultiSectionDigitalClock",e)}const u9=Un("MuiMultiSectionDigitalClock",["root"]);function dat(e){return Fn("MuiMultiSectionDigitalClockSection",e)}const fat=Un("MuiMultiSectionDigitalClockSection",["root","item"]),pat=["autoFocus","onChange","className","disabled","readOnly","items","active","slots","slotProps","skipDisabled"],hat=e=>{const{classes:t}=e;return Dn({root:["root"],item:["item"]},dat,t)},mat=oe(kS,{name:"MuiMultiSectionDigitalClockSection",slot:"Root",overridesResolver:(e,t)=>t.root})(({theme:e})=>({maxHeight:Hoe,width:56,padding:0,overflow:"hidden","@media (prefers-reduced-motion: no-preference)":{scrollBehavior:"auto"},"@media (pointer: fine)":{"&:hover":{overflowY:"auto"}},"@media (pointer: none), (pointer: coarse)":{overflowY:"auto"},"&:not(:first-of-type)":{borderLeft:`1px solid ${(e.vars||e).palette.divider}`},"&::after":{display:"block",content:'""',height:"calc(100% - 40px - 6px)"},variants:[{props:{alreadyRendered:!0},style:{"@media (prefers-reduced-motion: no-preference)":{scrollBehavior:"smooth"}}}]})),gat=oe(Yt,{name:"MuiMultiSectionDigitalClockSection",slot:"Item",overridesResolver:(e,t)=>t.item})(({theme:e})=>({padding:8,margin:"2px 4px",width:G0,justifyContent:"center","&:first-of-type":{marginTop:4},"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.hoverOpacity})`:mt(e.palette.primary.main,e.palette.action.hoverOpacity)},"&.Mui-selected":{backgroundColor:(e.vars||e).palette.primary.main,color:(e.vars||e).palette.primary.contrastText,"&:focus-visible, &:hover":{backgroundColor:(e.vars||e).palette.primary.dark}},"&.Mui-focusVisible":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.focusOpacity})`:mt(e.palette.primary.main,e.palette.action.focusOpacity)}})),yat=y.forwardRef(function(t,n){const r=y.useRef(null),o=Qi(n,r),i=y.useRef(null),a=Zt({props:t,name:"MuiMultiSectionDigitalClockSection"}),{autoFocus:s,onChange:l,className:c,disabled:u,readOnly:d,items:f,active:p,slots:m,slotProps:g,skipDisabled:v}=a,w=_t(a,pat),x=y.useMemo(()=>ue({},a,{alreadyRendered:!!r.current}),[a]),S=hat(x),P=(m==null?void 0:m.digitalClockSectionItem)??gat;y.useEffect(()=>{if(r.current===null)return;const O=r.current.querySelector('[role="option"][tabindex="0"], [role="option"][aria-selected="true"]');if(p&&s&&O&&O.focus(),!O||i.current===O)return;i.current=O;const k=O.offsetTop;r.current.scrollTop=k-4});const T=f.findIndex(O=>O.isFocused(O.value)),E=O=>{switch(O.key){case"PageUp":{const k=nO(r.current)-5,A=r.current.children,I=Math.max(0,k),R=A[I];R&&R.focus(),O.preventDefault();break}case"PageDown":{const k=nO(r.current)+5,A=r.current.children,I=Math.min(A.length-1,k),R=A[I];R&&R.focus(),O.preventDefault();break}}};return $.jsx(mat,ue({ref:o,className:de(S.root,c),ownerState:x,autoFocusItem:s&&p,role:"listbox",onKeyDown:E},w,{children:f.map((O,k)=>{var L;const A=(L=O.isDisabled)==null?void 0:L.call(O,O.value),I=u||A;if(v&&I)return null;const R=O.isSelected(O.value),N=T===k||T===-1&&k===0?0:-1;return $.jsx(P,ue({onClick:()=>!d&&l(O.value),selected:R,disabled:I,disableRipple:d,role:"option","aria-disabled":d||I||void 0,"aria-label":O.ariaLabel,"aria-selected":R,tabIndex:N,className:S.item},g==null?void 0:g.digitalClockSectionItem,{children:O.label}),O.label)})}))}),vat=({now:e,value:t,utils:n,ampm:r,isDisabled:o,resolveAriaLabel:i,timeStep:a,valueOrReferenceDate:s})=>{const l=t?n.getHours(t):null,c=[],u=(p,m)=>{const g=m??l;return g===null?!1:r?p===12?g===12||g===0:g===p||g-12===p:g===p},d=p=>u(p,n.getHours(s)),f=r?11:23;for(let p=0;p<=f;p+=a){let m=n.format(n.setHours(e,p),r?"hours12h":"hours24h");const g=i(parseInt(m,10).toString());m=n.formatNumber(m),c.push({value:p,label:m,isSelected:u,isDisabled:o,isFocused:d,ariaLabel:g})}return c},d9=({value:e,utils:t,isDisabled:n,timeStep:r,resolveLabel:o,resolveAriaLabel:i,hasValue:a=!0})=>{const s=c=>e===null?!1:a&&e===c,l=c=>e===c;return[...Array.from({length:Math.ceil(60/r)},(c,u)=>{const d=r*u;return{value:d,label:t.formatNumber(o(d)),isDisabled:n,isSelected:s,isFocused:l,ariaLabel:i(d.toString())}})]},bat=["ampm","timeSteps","autoFocus","slots","slotProps","value","defaultValue","referenceDate","disableIgnoringDatePartForTimeValidation","maxTime","minTime","disableFuture","disablePast","minutesStep","shouldDisableTime","onChange","view","views","openTo","onViewChange","focusedView","onFocusedViewChange","className","disabled","readOnly","skipDisabled","timezone"],wat=e=>{const{classes:t}=e;return Dn({root:["root"]},uat,t)},xat=oe(jk,{name:"MuiMultiSectionDigitalClock",slot:"Root",overridesResolver:(e,t)=>t.root})(({theme:e})=>({display:"flex",flexDirection:"row",width:"100%",borderBottom:`1px solid ${(e.vars||e).palette.divider}`})),Sat=y.forwardRef(function(t,n){const r=hn(),o=nr(),i=Zt({props:t,name:"MuiMultiSectionDigitalClock"}),{ampm:a=r.is12HourCycleInCurrentLocale(),timeSteps:s,autoFocus:l,slots:c,slotProps:u,value:d,defaultValue:f,referenceDate:p,disableIgnoringDatePartForTimeValidation:m=!1,maxTime:g,minTime:v,disableFuture:w,disablePast:x,minutesStep:S=1,shouldDisableTime:P,onChange:T,view:E,views:O=["hours","minutes"],openTo:k,onViewChange:A,focusedView:I,onFocusedViewChange:R,className:N,disabled:L,readOnly:j,skipDisabled:_=!1,timezone:D}=i,z=_t(i,bat),{value:F,handleValueChange:H,timezone:U}=pb({name:"MultiSectionDigitalClock",timezone:D,value:d,defaultValue:f,onChange:T,valueManager:ro}),q=To(),X=nm(U),ae=y.useMemo(()=>ue({hours:1,minutes:5,seconds:5},s),[s]),Z=kB({value:F,referenceDate:p,utils:r,props:i,timezone:U}),K=Ct((Ie,Re,_e)=>H(Ie,Re,_e)),te=y.useMemo(()=>!a||!O.includes("hours")||O.includes("meridiem")?O:[...O,"meridiem"],[a,O]),{view:pe,setValueAndGoToNextView:ie,focusedView:le}=QS({view:E,views:te,openTo:k,onViewChange:A,onChange:K,focusedView:I,onFocusedViewChange:R}),re=Ct(Ie=>{ie(Ie,"finish","meridiem")}),{meridiemMode:fe,handleMeridiemChange:ee}=Dk(Z,a,re,"finish"),ce=y.useCallback((Ie,Re)=>{const _e=XS(m,r),ye=Re==="hours"||Re==="minutes"&&te.includes("seconds"),Te=({start:Me,end:We})=>!(v&&_e(v,We)||g&&_e(Me,g)||w&&_e(Me,X)||x&&_e(X,ye?We:Me)),Oe=(Me,We=1)=>{if(Me%We!==0)return!1;if(P)switch(Re){case"hours":return!P(r.setHours(Z,Me),"hours");case"minutes":return!P(r.setMinutes(Z,Me),"minutes");case"seconds":return!P(r.setSeconds(Z,Me),"seconds");default:return!1}return!0};switch(Re){case"hours":{const Me=zx(Ie,fe,a),We=r.setHours(Z,Me),Ve=r.setSeconds(r.setMinutes(We,0),0),Qe=r.setSeconds(r.setMinutes(We,59),59);return!Te({start:Ve,end:Qe})||!Oe(Me)}case"minutes":{const Me=r.setMinutes(Z,Ie),We=r.setSeconds(Me,0),Ve=r.setSeconds(Me,59);return!Te({start:We,end:Ve})||!Oe(Ie,S)}case"seconds":{const Me=r.setSeconds(Z,Ie);return!Te({start:Me,end:Me})||!Oe(Ie)}default:throw new Error("not supported")}},[a,Z,m,g,fe,v,S,P,r,w,x,X,te]),me=y.useCallback(Ie=>{switch(Ie){case"hours":return{onChange:Re=>{const _e=zx(Re,fe,a);ie(r.setHours(Z,_e),"finish","hours")},items:vat({now:X,value:F,ampm:a,utils:r,isDisabled:Re=>ce(Re,"hours"),timeStep:ae.hours,resolveAriaLabel:q.hoursClockNumberText,valueOrReferenceDate:Z})};case"minutes":return{onChange:Re=>{ie(r.setMinutes(Z,Re),"finish","minutes")},items:d9({value:r.getMinutes(Z),utils:r,isDisabled:Re=>ce(Re,"minutes"),resolveLabel:Re=>r.format(r.setMinutes(X,Re),"minutes"),timeStep:ae.minutes,hasValue:!!F,resolveAriaLabel:q.minutesClockNumberText})};case"seconds":return{onChange:Re=>{ie(r.setSeconds(Z,Re),"finish","seconds")},items:d9({value:r.getSeconds(Z),utils:r,isDisabled:Re=>ce(Re,"seconds"),resolveLabel:Re=>r.format(r.setSeconds(X,Re),"seconds"),timeStep:ae.seconds,hasValue:!!F,resolveAriaLabel:q.secondsClockNumberText})};case"meridiem":{const Re=Wl(r,"am"),_e=Wl(r,"pm");return{onChange:ee,items:[{value:"am",label:Re,isSelected:()=>!!F&&fe==="am",isFocused:()=>!!Z&&fe==="am",ariaLabel:Re},{value:"pm",label:_e,isSelected:()=>!!F&&fe==="pm",isFocused:()=>!!Z&&fe==="pm",ariaLabel:_e}]}}default:throw new Error(`Unknown view: ${Ie} found.`)}},[X,F,a,r,ae.hours,ae.minutes,ae.seconds,q.hoursClockNumberText,q.minutesClockNumberText,q.secondsClockNumberText,fe,ie,Z,ce,ee]),we=y.useMemo(()=>{if(!o)return te;const Ie=te.filter(Re=>Re!=="meridiem");return Ie.reverse(),te.includes("meridiem")&&Ie.push("meridiem"),Ie},[o,te]),ge=y.useMemo(()=>te.reduce((Ie,Re)=>ue({},Ie,{[Re]:me(Re)}),{}),[te,me]),Se=i,xe=wat(Se);return $.jsx(xat,ue({ref:n,className:de(xe.root,N),ownerState:Se,role:"group"},z,{children:we.map(Ie=>$.jsx(yat,{items:ge[Ie].items,onChange:ge[Ie].onChange,active:pe===Ie,autoFocus:l??le===Ie,disabled:L,readOnly:j,slots:c,slotProps:u,skipDisabled:_,"aria-label":q.selectViewText(Ie)},Ie))}))});function Cat(e){return Fn("MuiPickersDay",e)}const Tp=Un("MuiPickersDay",["root","dayWithMargin","dayOutsideMonth","hiddenDaySpacingFiller","today","selected","disabled"]),Pat=["autoFocus","className","day","disabled","disableHighlightToday","disableMargin","hidden","isAnimating","onClick","onDaySelect","onFocus","onBlur","onKeyDown","onMouseDown","onMouseEnter","outsideCurrentMonth","selected","showDaysOutsideCurrentMonth","children","today","isFirstVisibleCell","isLastVisibleCell"],Tat=e=>{const{selected:t,disableMargin:n,disableHighlightToday:r,today:o,disabled:i,outsideCurrentMonth:a,showDaysOutsideCurrentMonth:s,classes:l}=e,c=a&&!s;return Dn({root:["root",t&&!c&&"selected",i&&"disabled",!n&&"dayWithMargin",!r&&o&&"today",a&&s&&"dayOutsideMonth",c&&"hiddenDaySpacingFiller"],hiddenDaySpacingFiller:["hiddenDaySpacingFiller"]},Cat,l)},eie=({theme:e})=>ue({},e.typography.caption,{width:Vx,height:Vx,borderRadius:"50%",padding:0,backgroundColor:"transparent",transition:e.transitions.create("background-color",{duration:e.transitions.duration.short}),color:(e.vars||e).palette.text.primary,"@media (pointer: fine)":{"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.hoverOpacity})`:mt(e.palette.primary.main,e.palette.action.hoverOpacity)}},"&:focus":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.focusOpacity})`:mt(e.palette.primary.main,e.palette.action.focusOpacity),[`&.${Tp.selected}`]:{willChange:"background-color",backgroundColor:(e.vars||e).palette.primary.dark}},[`&.${Tp.selected}`]:{color:(e.vars||e).palette.primary.contrastText,backgroundColor:(e.vars||e).palette.primary.main,fontWeight:e.typography.fontWeightMedium,"&:hover":{willChange:"background-color",backgroundColor:(e.vars||e).palette.primary.dark}},[`&.${Tp.disabled}:not(.${Tp.selected})`]:{color:(e.vars||e).palette.text.disabled},[`&.${Tp.disabled}&.${Tp.selected}`]:{opacity:.6},variants:[{props:{disableMargin:!1},style:{margin:`0 ${Nk}px`}},{props:{outsideCurrentMonth:!0,showDaysOutsideCurrentMonth:!0},style:{color:(e.vars||e).palette.text.secondary}},{props:{disableHighlightToday:!1,today:!0},style:{[`&:not(.${Tp.selected})`]:{border:`1px solid ${(e.vars||e).palette.text.secondary}`}}}]}),tie=(e,t)=>{const{ownerState:n}=e;return[t.root,!n.disableMargin&&t.dayWithMargin,!n.disableHighlightToday&&n.today&&t.today,!n.outsideCurrentMonth&&n.showDaysOutsideCurrentMonth&&t.dayOutsideMonth,n.outsideCurrentMonth&&!n.showDaysOutsideCurrentMonth&&t.hiddenDaySpacingFiller]},Eat=oe(Ki,{name:"MuiPickersDay",slot:"Root",overridesResolver:tie})(eie),Oat=oe("div",{name:"MuiPickersDay",slot:"Root",overridesResolver:tie})(({theme:e})=>ue({},eie({theme:e}),{opacity:0,pointerEvents:"none"})),S0=()=>{},Iat=y.forwardRef(function(t,n){const r=Zt({props:t,name:"MuiPickersDay"}),{autoFocus:o=!1,className:i,day:a,disabled:s=!1,disableHighlightToday:l=!1,disableMargin:c=!1,isAnimating:u,onClick:d,onDaySelect:f,onFocus:p=S0,onBlur:m=S0,onKeyDown:g=S0,onMouseDown:v=S0,onMouseEnter:w=S0,outsideCurrentMonth:x,selected:S=!1,showDaysOutsideCurrentMonth:P=!1,children:T,today:E=!1}=r,O=_t(r,Pat),k=ue({},r,{autoFocus:o,disabled:s,disableHighlightToday:l,disableMargin:c,selected:S,showDaysOutsideCurrentMonth:P,today:E}),A=Tat(k),I=hn(),R=y.useRef(null),N=Qi(R,n);Uc(()=>{o&&!s&&!u&&!x&&R.current.focus()},[o,s,u,x]);const L=_=>{v(_),x&&_.preventDefault()},j=_=>{s||f(a),x&&_.currentTarget.focus(),d&&d(_)};return x&&!P?$.jsx(Oat,{className:de(A.root,A.hiddenDaySpacingFiller,i),ownerState:k,role:O.role}):$.jsx(Eat,ue({className:de(A.root,i),ref:N,centerRipple:!0,disabled:s,tabIndex:S?0:-1,onKeyDown:_=>g(_,a),onFocus:_=>p(_,a),onBlur:_=>m(_,a),onMouseEnter:_=>w(_,a),onClick:j,onMouseDown:L},O,{ownerState:k,children:T||I.format(a,"dayOfMonth")}))}),kat=y.memo(Iat),hb=({props:e,value:t,timezone:n,adapter:r})=>{if(t===null)return null;const{shouldDisableDate:o,shouldDisableMonth:i,shouldDisableYear:a,disablePast:s,disableFuture:l}=e,c=r.utils.date(void 0,n),u=Ti(r.utils,e.minDate,r.defaultDates.minDate),d=Ti(r.utils,e.maxDate,r.defaultDates.maxDate);switch(!0){case!r.utils.isValid(t):return"invalidDate";case!!(o&&o(t)):return"shouldDisableDate";case!!(i&&i(t)):return"shouldDisableMonth";case!!(a&&a(t)):return"shouldDisableYear";case!!(l&&r.utils.isAfterDay(t,c)):return"disableFuture";case!!(s&&r.utils.isBeforeDay(t,c)):return"disablePast";case!!(u&&r.utils.isBeforeDay(t,u)):return"minDate";case!!(d&&r.utils.isAfterDay(t,d)):return"maxDate";default:return null}};hb.valueManager=ro;const JS=({adapter:e,value:t,timezone:n,props:r})=>{if(t===null)return null;const{minTime:o,maxTime:i,minutesStep:a,shouldDisableTime:s,disableIgnoringDatePartForTimeValidation:l=!1,disablePast:c,disableFuture:u}=r,d=e.utils.date(void 0,n),f=XS(l,e.utils);switch(!0){case!e.utils.isValid(t):return"invalidDate";case!!(o&&f(o,t)):return"minTime";case!!(i&&f(t,i)):return"maxTime";case!!(u&&e.utils.isAfter(t,d)):return"disableFuture";case!!(c&&e.utils.isBefore(t,d)):return"disablePast";case!!(s&&s(t,"hours")):return"shouldDisableTime-hours";case!!(s&&s(t,"minutes")):return"shouldDisableTime-minutes";case!!(s&&s(t,"seconds")):return"shouldDisableTime-seconds";case!!(a&&e.utils.getMinutes(t)%a!==0):return"minutesStep";default:return null}};JS.valueManager=ro;const zk=({adapter:e,value:t,timezone:n,props:r})=>{const o=hb({adapter:e,value:t,timezone:n,props:r});return o!==null?o:JS({adapter:e,value:t,timezone:n,props:r})};zk.valueManager=ro;const gN=["disablePast","disableFuture","minDate","maxDate","shouldDisableDate","shouldDisableMonth","shouldDisableYear"],yN=["disablePast","disableFuture","minTime","maxTime","shouldDisableTime","minutesStep","ampm","disableIgnoringDatePartForTimeValidation"],nie=["minDateTime","maxDateTime"],Mat=[...gN,...yN,...nie],mb=e=>Mat.reduce((t,n)=>(e.hasOwnProperty(n)&&(t[n]=e[n]),t),{});function rie(e){const{props:t,validator:n,value:r,timezone:o,onError:i}=e,a=em(),s=y.useRef(n.valueManager.defaultErrorState),l=n({adapter:a,value:r,timezone:o,props:t}),c=n.valueManager.hasError(l);y.useEffect(()=>{i&&!n.valueManager.isSameError(l,s.current)&&i(l,r),s.current=l},[n,i,l,r]);const u=Ct(d=>n({adapter:a,value:d,timezone:o,props:t}));return{validationError:l,hasValidationError:c,getValidationErrorForNewValue:u}}const Aat=({utils:e,format:t})=>{let n=10,r=t,o=e.expandFormat(t);for(;o!==r;)if(r=o,o=e.expandFormat(r),n-=1,n<0)throw new Error("MUI X: The format expansion seems to be in an infinite loop. Please open an issue with the format passed to the picker component.");return o},$at=({utils:e,expandedFormat:t})=>{const n=[],{start:r,end:o}=e.escapedCharacters,i=new RegExp(`(\\${r}[^\\${o}]*\\${o})+`,"g");let a=null;for(;a=i.exec(t);)n.push({start:a.index,end:i.lastIndex-1});return n},Rat=(e,t,n,r)=>{switch(n.type){case"year":return t.fieldYearPlaceholder({digitAmount:e.formatByString(e.date(void 0,"default"),r).length,format:r});case"month":return t.fieldMonthPlaceholder({contentType:n.contentType,format:r});case"day":return t.fieldDayPlaceholder({format:r});case"weekDay":return t.fieldWeekDayPlaceholder({contentType:n.contentType,format:r});case"hours":return t.fieldHoursPlaceholder({format:r});case"minutes":return t.fieldMinutesPlaceholder({format:r});case"seconds":return t.fieldSecondsPlaceholder({format:r});case"meridiem":return t.fieldMeridiemPlaceholder({format:r});default:return r}},_at=({utils:e,date:t,shouldRespectLeadingZeros:n,localeText:r,localizedDigits:o,now:i,token:a,startSeparator:s})=>{if(a==="")throw new Error("MUI X: Should not call `commitToken` with an empty token");const l=Koe(e,a),c=Zoe(e,l.contentType,l.type,a),u=n?c:l.contentType==="digit",d=t!=null&&e.isValid(t);let f=d?e.formatByString(t,a):"",p=null;if(u)if(c)p=f===""?e.formatByString(i,a).length:f.length;else{if(l.maxLength==null)throw new Error(`MUI X: The token ${a} should have a 'maxDigitNumber' property on it's adapter`);p=l.maxLength,d&&(f=EB(Xoe(Nh(f,o),p),o))}return ue({},l,{format:a,maxLength:p,value:f,placeholder:Rat(e,r,l,a),hasLeadingZerosInFormat:c,hasLeadingZerosInInput:u,startSeparator:s,endSeparator:"",modified:!1})},Dat=e=>{var p;const{utils:t,expandedFormat:n,escapedParts:r}=e,o=t.date(void 0),i=[];let a="";const s=Object.keys(t.formatTokenMap).sort((m,g)=>g.length-m.length),l=/^([a-zA-Z]+)/,c=new RegExp(`^(${s.join("|")})*$`),u=new RegExp(`^(${s.join("|")})`),d=m=>r.find(g=>g.start<=m&&g.end>=m);let f=0;for(;f0;){const x=u.exec(w)[1];w=w.slice(x.length),i.push(_at(ue({},e,{now:o,token:x,startSeparator:a}))),a=""}f+=v.length}else{const w=n[f];g&&(m==null?void 0:m.start)===f||(m==null?void 0:m.end)===f||(i.length===0?a+=w:i[i.length-1].endSeparator+=w),f+=1}}return i.length===0&&a.length>0&&i.push({type:"empty",contentType:"letter",maxLength:null,format:"",value:"",placeholder:"",hasLeadingZerosInFormat:!1,hasLeadingZerosInInput:!1,startSeparator:a,endSeparator:"",modified:!1}),i},Nat=({isRtl:e,formatDensity:t,sections:n})=>n.map(r=>{const o=i=>{let a=i;return e&&a!==null&&a.includes(" ")&&(a=`⁩${a}⁦`),t==="spacious"&&["/",".","-"].includes(a)&&(a=` ${a} `),a};return r.startSeparator=o(r.startSeparator),r.endSeparator=o(r.endSeparator),r}),f9=e=>{let t=Aat(e);e.isRtl&&e.enableAccessibleFieldDOMStructure&&(t=t.split(" ").reverse().join(" "));const n=$at(ue({},e,{expandedFormat:t})),r=Dat(ue({},e,{expandedFormat:t,escapedParts:n}));return Nat(ue({},e,{sections:r}))},Lat=e=>{const t=hn(),n=To(),r=em(),o=nr(),{valueManager:i,fieldValueManager:a,valueType:s,validator:l,internalProps:c,internalProps:{value:u,defaultValue:d,referenceDate:f,onChange:p,format:m,formatDensity:g="dense",selectedSections:v,onSelectedSectionsChange:w,shouldRespectLeadingZeros:x=!1,timezone:S,enableAccessibleFieldDOMStructure:P=!1}}=e,{timezone:T,value:E,handleValueChange:O}=TB({timezone:S,value:u,defaultValue:d,onChange:p,valueManager:i}),k=y.useMemo(()=>Lit(t),[t]),A=y.useMemo(()=>Vit(t,k,T),[t,k,T]),I=y.useCallback((K,te=null)=>a.getSectionsFromValue(t,K,te,pe=>f9({utils:t,localeText:n,localizedDigits:k,format:m,date:pe,formatDensity:g,shouldRespectLeadingZeros:x,enableAccessibleFieldDOMStructure:P,isRtl:o})),[a,m,n,k,o,x,t,g,P]),[R,N]=y.useState(()=>{const K=I(E),te={sections:K,value:E,referenceValue:i.emptyValue,tempValueStrAndroid:null},pe=Rit(K),ie=i.getInitialReferenceValue({referenceDate:f,value:E,utils:t,props:c,granularity:pe,timezone:T});return ue({},te,{referenceValue:ie})}),[L,j]=Dh({controlled:v,default:null,name:"useField",state:"selectedSections"}),_=K=>{j(K),w==null||w(K)},D=y.useMemo(()=>mN(L,R.sections),[L,R.sections]),z=D==="all"?0:D,F=({value:K,referenceValue:te,sections:pe})=>{if(N(le=>ue({},le,{sections:pe,value:K,referenceValue:te,tempValueStrAndroid:null})),i.areValuesEqual(t,R.value,K))return;const ie={validationError:l({adapter:r,value:K,timezone:T,props:c})};O(K,ie)},H=(K,te)=>{const pe=[...R.sections];return pe[K]=ue({},pe[K],{value:te,modified:!0}),pe},U=()=>{F({value:i.emptyValue,referenceValue:R.referenceValue,sections:I(i.emptyValue)})},q=()=>{if(z==null)return;const K=R.sections[z],te=a.getActiveDateManager(t,R,K),ie=te.getSections(R.sections).filter(ee=>ee.value!=="").length===(K.value===""?0:1),le=H(z,""),re=ie?null:t.getInvalidDate(),fe=te.getNewValuesFromNewActiveDate(re);F(ue({},fe,{sections:le}))},X=K=>{const te=(le,re)=>{const fe=t.parse(le,m);if(fe==null||!t.isValid(fe))return null;const ee=f9({utils:t,localeText:n,localizedDigits:k,format:m,date:fe,formatDensity:g,shouldRespectLeadingZeros:x,enableAccessibleFieldDOMStructure:P,isRtl:o});return c9(t,fe,ee,re,!1)},pe=a.parseValueStr(K,R.referenceValue,te),ie=a.updateReferenceValue(t,pe,R.referenceValue);F({value:pe,referenceValue:ie,sections:I(pe,R.sections)})},ae=({activeSection:K,newSectionValue:te,shouldGoToNextSection:pe})=>{pe&&zue({},me,ee,{sections:le,tempValueStrAndroid:null}))},Z=K=>N(te=>ue({},te,{tempValueStrAndroid:K}));return y.useEffect(()=>{const K=I(R.value);N(te=>ue({},te,{sections:K}))},[m,t.locale,o]),y.useEffect(()=>{let K;i.areValuesEqual(t,R.value,E)?K=i.getTimezone(t,R.value)!==i.getTimezone(t,E):K=!0,K&&N(te=>ue({},te,{value:E,referenceValue:a.updateReferenceValue(t,E,te.referenceValue),sections:I(E)}))},[E]),{state:R,activeSectionIndex:z,parsedSelectedSections:D,setSelectedSections:_,clearValue:U,clearActiveSection:q,updateSectionValue:ae,updateValueFromValueStr:X,setTempAndroidValueStr:Z,getSectionsFromValue:I,sectionsValueBoundaries:A,localizedDigits:k,timezone:T}},Fat=5e3,Qm=e=>e.saveQuery!=null,jat=({sections:e,updateSectionValue:t,sectionsValueBoundaries:n,localizedDigits:r,setTempAndroidValueStr:o,timezone:i})=>{const a=hn(),[s,l]=y.useState(null),c=Ct(()=>l(null));y.useEffect(()=>{var m;s!=null&&((m=e[s.sectionIndex])==null?void 0:m.type)!==s.sectionType&&c()},[e,s,c]),y.useEffect(()=>{if(s!=null){const m=setTimeout(()=>c(),Fat);return()=>{clearTimeout(m)}}return()=>{}},[s,c]);const u=({keyPressed:m,sectionIndex:g},v,w)=>{const x=m.toLowerCase(),S=e[g];if(s!=null&&(!w||w(s.value))&&s.sectionIndex===g){const T=`${s.value}${x}`,E=v(T,S);if(!Qm(E))return l({sectionIndex:g,value:T,sectionType:S.type}),E}const P=v(x,S);return Qm(P)&&!P.saveQuery?(c(),null):(l({sectionIndex:g,value:x,sectionType:S.type}),Qm(P)?null:P)},d=m=>{const g=(x,S,P)=>{const T=S.filter(E=>E.toLowerCase().startsWith(P));return T.length===0?{saveQuery:!1}:{sectionValue:T[0],shouldGoToNextSection:T.length===1}},v=(x,S,P,T)=>{const E=O=>Yoe(a,i,S.type,O);if(S.contentType==="letter")return g(S.format,E(S.format),x);if(P&&T!=null&&Koe(a,P).contentType==="letter"){const O=E(P),k=g(P,O,x);return Qm(k)?{saveQuery:!1}:ue({},k,{sectionValue:T(k.sectionValue,O)})}return{saveQuery:!1}};return u(m,(x,S)=>{switch(S.type){case"month":{const P=T=>s9(a,T,a.formats.month,S.format);return v(x,S,a.formats.month,P)}case"weekDay":{const P=(T,E)=>E.indexOf(T).toString();return v(x,S,a.formats.weekday,P)}case"meridiem":return v(x,S);default:return{saveQuery:!1}}})},f=m=>{const g=(w,x)=>{const S=Nh(w,r),P=Number(S),T=n[x.type]({currentDate:null,format:x.format,contentType:x.contentType});if(P>T.maximum)return{saveQuery:!1};if(PT.maximum||S.length===T.maximum.toString().length;return{sectionValue:Qoe(a,P,T,r,x),shouldGoToNextSection:E}};return u(m,(w,x)=>{if(x.contentType==="digit"||x.contentType==="digit-with-letter")return g(w,x);if(x.type==="month"){const S=Zoe(a,"digit","month","MM"),P=g(w,{type:x.type,format:"MM",hasLeadingZerosInFormat:S,hasLeadingZerosInInput:!0,contentType:"digit",maxLength:2});if(Qm(P))return P;const T=s9(a,P.sectionValue,"MM",x.format);return ue({},P,{sectionValue:T})}if(x.type==="weekDay"){const S=g(w,x);if(Qm(S))return S;const P=Bk(a,x.format)[Number(S.sectionValue)-1];return ue({},S,{sectionValue:P})}return{saveQuery:!1}},w=>a9(w,r))};return{applyCharacterEditing:Ct(m=>{const g=e[m.sectionIndex],w=a9(m.keyPressed,r)?f(ue({},m,{keyPressed:EB(m.keyPressed,r)})):d(m);if(w==null){o(null);return}t({activeSection:g,newSectionValue:w.sectionValue,shouldGoToNextSection:w.shouldGoToNextSection})}),resetCharacterQuery:c}},Bat=e=>{const{internalProps:{disabled:t,readOnly:n=!1},forwardedProps:{sectionListRef:r,onBlur:o,onClick:i,onFocus:a,onInput:s,onPaste:l,focused:c,autoFocus:u=!1},fieldValueManager:d,applyCharacterEditing:f,resetCharacterQuery:p,setSelectedSections:m,parsedSelectedSections:g,state:v,clearActiveSection:w,clearValue:x,updateSectionValue:S,updateValueFromValueStr:P,sectionOrder:T,areAllSectionsEmpty:E,sectionsValueBoundaries:O}=e,k=y.useRef(null),A=Qi(r,k),I=To(),R=hn(),N=db(),[L,j]=y.useState(!1),_=y.useMemo(()=>({syncSelectionToDOM:()=>{if(!k.current)return;const ce=document.getSelection();if(!ce)return;if(g==null){ce.rangeCount>0&&k.current.getRoot().contains(ce.getRangeAt(0).startContainer)&&ce.removeAllRanges(),L&&k.current.getRoot().blur();return}if(!k.current.getRoot().contains(ua(document)))return;const me=new window.Range;let we;g==="all"?we=k.current.getRoot():v.sections[g].type==="empty"?we=k.current.getSectionContainer(g):we=k.current.getSectionContent(g),me.selectNodeContents(we),we.focus(),ce.removeAllRanges(),ce.addRange(me)},getActiveSectionIndexFromDOM:()=>{const ce=ua(document);return!ce||!k.current||!k.current.getRoot().contains(ce)?null:k.current.getSectionIndexFromDOMElement(ce)},focusField:(ce=0)=>{if(!k.current)return;const me=mN(ce,v.sections);j(!0),k.current.getSectionContent(me).focus()},setSelectedSections:ce=>{if(!k.current)return;const me=mN(ce,v.sections);j((me==="all"?0:me)!==null),m(ce)},isFieldFocused:()=>{const ce=ua(document);return!!k.current&&k.current.getRoot().contains(ce)}}),[g,m,v.sections,L]),D=Ct(ce=>{if(!k.current)return;const me=v.sections[ce];k.current.getSectionContent(ce).innerHTML=me.value||me.placeholder,_.syncSelectionToDOM()}),z=Ct((ce,...me)=>{ce.isDefaultPrevented()||!k.current||(j(!0),i==null||i(ce,...me),g==="all"?setTimeout(()=>{const we=document.getSelection().getRangeAt(0).startOffset;if(we===0){m(T.startIndex);return}let ge=0,Se=0;for(;Se{if(s==null||s(ce),!k.current||g!=="all")return;const we=ce.target.textContent??"";k.current.getRoot().innerHTML=v.sections.map(ge=>`${ge.startSeparator}${ge.value||ge.placeholder}${ge.endSeparator}`).join(""),_.syncSelectionToDOM(),we.length===0||we.charCodeAt(0)===10?(p(),x(),m("all")):we.length>1?P(we):f({keyPressed:we,sectionIndex:0})}),H=Ct(ce=>{if(l==null||l(ce),n||g!=="all"){ce.preventDefault();return}const me=ce.clipboardData.getData("text");ce.preventDefault(),p(),P(me)}),U=Ct((...ce)=>{if(a==null||a(...ce),L||!k.current)return;j(!0),k.current.getSectionIndexFromDOMElement(ua(document))!=null||m(T.startIndex)}),q=Ct((...ce)=>{o==null||o(...ce),setTimeout(()=>{if(!k.current)return;const me=ua(document);!k.current.getRoot().contains(me)&&(j(!1),m(null))})}),X=Ct(ce=>me=>{me.isDefaultPrevented()||m(ce)}),ae=Ct(ce=>{ce.preventDefault()}),Z=Ct(ce=>()=>{m(ce)}),K=Ct(ce=>{if(ce.preventDefault(),n||t||typeof g!="number")return;const me=v.sections[g],we=ce.clipboardData.getData("text"),ge=/^[a-zA-Z]+$/.test(we),Se=/^[0-9]+$/.test(we),xe=/^(([a-zA-Z]+)|)([0-9]+)(([a-zA-Z]+)|)$/.test(we);me.contentType==="letter"&&ge||me.contentType==="digit"&&Se||me.contentType==="digit-with-letter"&&xe?(p(),S({activeSection:me,newSectionValue:we,shouldGoToNextSection:!0})):!ge&&!Se&&(p(),P(we))}),te=Ct(ce=>{ce.preventDefault(),ce.dataTransfer.dropEffect="none"}),pe=Ct(ce=>{if(!k.current)return;const me=ce.target,we=me.textContent??"",ge=k.current.getSectionIndexFromDOMElement(me),Se=v.sections[ge];if(n||!k.current){D(ge);return}if(we.length===0){if(Se.value===""){D(ge);return}const xe=ce.nativeEvent.inputType;if(xe==="insertParagraph"||xe==="insertLineBreak"){D(ge);return}p(),w();return}f({keyPressed:we,sectionIndex:ge}),D(ge)});Uc(()=>{if(!(!L||!k.current)){if(g==="all")k.current.getRoot().focus();else if(typeof g=="number"){const ce=k.current.getSectionContent(g);ce&&ce.focus()}}},[g,L]);const ie=y.useMemo(()=>v.sections.reduce((ce,me)=>(ce[me.type]=O[me.type]({currentDate:null,contentType:me.contentType,format:me.format}),ce),{}),[O,v.sections]),le=g==="all",re=y.useMemo(()=>v.sections.map((ce,me)=>{const we=!le&&!t&&!n;return{container:{"data-sectionindex":me,onClick:X(me)},content:{tabIndex:le||me>0?-1:0,contentEditable:!le&&!t&&!n,role:"spinbutton",id:`${N}-${ce.type}`,"aria-labelledby":`${N}-${ce.type}`,"aria-readonly":n,"aria-valuenow":qit(ce,R),"aria-valuemin":ie[ce.type].minimum,"aria-valuemax":ie[ce.type].maximum,"aria-valuetext":ce.value?Git(ce,R):I.empty,"aria-label":I[ce.type],"aria-disabled":t,spellCheck:we?!1:void 0,autoCapitalize:we?"off":void 0,autoCorrect:we?"off":void 0,[parseInt(y.version,10)>=17?"enterKeyHint":"enterkeyhint"]:we?"next":void 0,children:ce.value||ce.placeholder,onInput:pe,onPaste:K,onFocus:Z(me),onDragOver:te,onMouseUp:ae,inputMode:ce.contentType==="letter"?"text":"numeric"},before:{children:ce.startSeparator},after:{children:ce.endSeparator}}}),[v.sections,Z,K,te,pe,X,ae,t,n,le,I,R,ie,N]),fe=Ct(ce=>{P(ce.target.value)}),ee=y.useMemo(()=>E?"":d.getV7HiddenInputValueFromSections(v.sections),[E,v.sections,d]);return y.useEffect(()=>{if(k.current==null)throw new Error(["MUI X: The `sectionListRef` prop has not been initialized by `PickersSectionList`","You probably tried to pass a component to the `textField` slot that contains an `` element instead of a `PickersSectionList`.","","If you want to keep using an `` HTML element for the editing, please remove the `enableAccessibleFieldDOMStructure` prop from your picker or field component:","","","","Learn more about the field accessible DOM structure on the MUI documentation: https://mui.com/x/react-date-pickers/fields/#fields-to-edit-a-single-element"].join(` +`));u&&k.current&&k.current.getSectionContent(T.startIndex).focus()},[]),{interactions:_,returnedValue:{autoFocus:u,readOnly:n,focused:c??L,sectionListRef:A,onBlur:q,onClick:z,onFocus:U,onInput:F,onPaste:H,enableAccessibleFieldDOMStructure:!0,elements:re,tabIndex:g===0?-1:0,contentEditable:le,value:ee,onChange:fe,areAllSectionsEmpty:E}}},jg=e=>e.replace(/[\u2066\u2067\u2068\u2069]/g,""),zat=(e,t,n)=>{let r=0,o=n?1:0;const i=[];for(let a=0;a{const t=nr(),n=y.useRef(),r=y.useRef(),{forwardedProps:{onFocus:o,onClick:i,onPaste:a,onBlur:s,inputRef:l,placeholder:c},internalProps:{readOnly:u=!1,disabled:d=!1},parsedSelectedSections:f,activeSectionIndex:p,state:m,fieldValueManager:g,valueManager:v,applyCharacterEditing:w,resetCharacterQuery:x,updateSectionValue:S,updateValueFromValueStr:P,clearActiveSection:T,clearValue:E,setTempAndroidValueStr:O,setSelectedSections:k,getSectionsFromValue:A,areAllSectionsEmpty:I,localizedDigits:R}=e,N=y.useRef(null),L=Qi(l,N),j=y.useMemo(()=>zat(m.sections,R,t),[m.sections,R,t]),_=y.useMemo(()=>({syncSelectionToDOM:()=>{if(!N.current)return;if(f==null){N.current.scrollLeft&&(N.current.scrollLeft=0);return}if(N.current!==ua(document))return;const pe=N.current.scrollTop;if(f==="all")N.current.select();else{const ie=j[f],le=ie.type==="empty"?ie.startInInput-ie.startSeparator.length:ie.startInInput,re=ie.type==="empty"?ie.endInInput+ie.endSeparator.length:ie.endInInput;(le!==N.current.selectionStart||re!==N.current.selectionEnd)&&N.current===ua(document)&&N.current.setSelectionRange(le,re),clearTimeout(r.current),r.current=setTimeout(()=>{N.current&&N.current===ua(document)&&N.current.selectionStart===N.current.selectionEnd&&(N.current.selectionStart!==le||N.current.selectionEnd!==re)&&_.syncSelectionToDOM()})}N.current.scrollTop=pe},getActiveSectionIndexFromDOM:()=>{const pe=N.current.selectionStart??0,ie=N.current.selectionEnd??0;if(pe===0&&ie===0)return null;const le=pe<=j[0].startInInput?1:j.findIndex(re=>re.startInInput-re.startSeparator.length>pe);return le===-1?j.length-1:le-1},focusField:(pe=0)=>{var ie;(ie=N.current)==null||ie.focus(),k(pe)},setSelectedSections:pe=>k(pe),isFieldFocused:()=>N.current===ua(document)}),[N,f,j,k]),D=()=>{const pe=N.current.selectionStart??0;let ie;pe<=j[0].startInInput||pe>=j[j.length-1].endInInput?ie=1:ie=j.findIndex(re=>re.startInInput-re.startSeparator.length>pe);const le=ie===-1?j.length-1:ie-1;k(le)},z=Ct((...pe)=>{o==null||o(...pe);const ie=N.current;clearTimeout(n.current),n.current=setTimeout(()=>{!ie||ie!==N.current||p==null&&(ie.value.length&&Number(ie.selectionEnd)-Number(ie.selectionStart)===ie.value.length?k("all"):D())})}),F=Ct((pe,...ie)=>{pe.isDefaultPrevented()||(i==null||i(pe,...ie),D())}),H=Ct(pe=>{if(a==null||a(pe),pe.preventDefault(),u||d)return;const ie=pe.clipboardData.getData("text");if(typeof f=="number"){const le=m.sections[f],re=/^[a-zA-Z]+$/.test(ie),fe=/^[0-9]+$/.test(ie),ee=/^(([a-zA-Z]+)|)([0-9]+)(([a-zA-Z]+)|)$/.test(ie);if(le.contentType==="letter"&&re||le.contentType==="digit"&&fe||le.contentType==="digit-with-letter"&&ee){x(),S({activeSection:le,newSectionValue:ie,shouldGoToNextSection:!0});return}if(re||fe)return}x(),P(ie)}),U=Ct((...pe)=>{s==null||s(...pe),k(null)}),q=Ct(pe=>{if(u)return;const ie=pe.target.value;if(ie===""){x(),E();return}const le=pe.nativeEvent.data,re=le&&le.length>1,fe=re?le:ie,ee=jg(fe);if(p==null||re){P(re?le:ee);return}let ce;if(f==="all"&&ee.length===1)ce=ee;else{const me=jg(g.getV6InputValueFromSections(j,R,t));let we=-1,ge=-1;for(let Re=0;ReSe.end)return;const Ie=ee.length-me.length+Se.end-jg(Se.endSeparator||"").length;ce=ee.slice(Se.start+jg(Se.startSeparator||"").length,Ie)}if(ce.length===0){Uit()&&O(fe),x(),T();return}w({keyPressed:ce,sectionIndex:p})}),X=y.useMemo(()=>c!==void 0?c:g.getV6InputValueFromSections(A(v.emptyValue),R,t),[c,g,A,v.emptyValue,R,t]),ae=y.useMemo(()=>m.tempValueStrAndroid??g.getV6InputValueFromSections(m.sections,R,t),[m.sections,g,m.tempValueStrAndroid,R,t]);y.useEffect(()=>(N.current&&N.current===ua(document)&&k("all"),()=>{clearTimeout(n.current),clearTimeout(r.current)}),[]);const Z=y.useMemo(()=>p==null||m.sections[p].contentType==="letter"?"text":"numeric",[p,m.sections]),te=!(N.current&&N.current===ua(document))&&I;return{interactions:_,returnedValue:{readOnly:u,onBlur:U,onClick:F,onFocus:z,onPaste:H,inputRef:L,enableAccessibleFieldDOMStructure:!1,placeholder:X,inputMode:Z,autoComplete:"off",value:te?"":ae,onChange:q}}},AB=e=>{const t=hn(),{internalProps:n,internalProps:{unstableFieldRef:r,minutesStep:o,enableAccessibleFieldDOMStructure:i=!1,disabled:a=!1,readOnly:s=!1},forwardedProps:{onKeyDown:l,error:c,clearable:u,onClear:d},fieldValueManager:f,valueManager:p,validator:m}=e,g=nr(),v=Lat(e),{state:w,activeSectionIndex:x,parsedSelectedSections:S,setSelectedSections:P,clearValue:T,clearActiveSection:E,updateSectionValue:O,setTempAndroidValueStr:k,sectionsValueBoundaries:A,localizedDigits:I,timezone:R}=v,N=jat({sections:w.sections,updateSectionValue:O,sectionsValueBoundaries:A,localizedDigits:I,setTempAndroidValueStr:k,timezone:R}),{resetCharacterQuery:L}=N,j=p.areValuesEqual(t,w.value,p.emptyValue),_=i?Bat:Vat,D=y.useMemo(()=>Wit(w.sections,g&&!i),[w.sections,g,i]),{returnedValue:z,interactions:F}=_(ue({},e,v,N,{areAllSectionsEmpty:j,sectionOrder:D})),H=Ct(K=>{if(l==null||l(K),!a)switch(!0){case((K.ctrlKey||K.metaKey)&&String.fromCharCode(K.keyCode)==="A"&&!K.shiftKey&&!K.altKey):{K.preventDefault(),P("all");break}case K.key==="ArrowRight":{if(K.preventDefault(),S==null)P(D.startIndex);else if(S==="all")P(D.endIndex);else{const te=D.neighbors[S].rightIndex;te!==null&&P(te)}break}case K.key==="ArrowLeft":{if(K.preventDefault(),S==null)P(D.endIndex);else if(S==="all")P(D.startIndex);else{const te=D.neighbors[S].leftIndex;te!==null&&P(te)}break}case K.key==="Delete":{if(K.preventDefault(),s)break;S==null||S==="all"?T():E(),L();break}case["ArrowUp","ArrowDown","Home","End","PageUp","PageDown"].includes(K.key):{if(K.preventDefault(),s||x==null)break;const te=w.sections[x],pe=f.getActiveDateManager(t,w,te),ie=Fit(t,R,te,K.key,A,I,pe.date,{minutesStep:o});O({activeSection:te,newSectionValue:ie,shouldGoToNextSection:!1});break}}});Uc(()=>{F.syncSelectionToDOM()});const{hasValidationError:U}=rie({props:n,validator:m,timezone:R,value:w.value,onError:n.onError}),q=y.useMemo(()=>c!==void 0?c:U,[U,c]);y.useEffect(()=>{!q&&x==null&&L()},[w.referenceValue,x,q]),y.useEffect(()=>{w.tempValueStrAndroid!=null&&x!=null&&(L(),E())},[w.sections]),y.useImperativeHandle(r,()=>({getSections:()=>w.sections,getActiveSectionIndex:F.getActiveSectionIndexFromDOM,setSelectedSections:F.setSelectedSections,focusField:F.focusField,isFieldFocused:F.isFieldFocused}));const X=Ct((K,...te)=>{K.preventDefault(),d==null||d(K,...te),T(),F.isFieldFocused()?P(D.startIndex):F.focusField(0)}),ae={onKeyDown:H,onClear:X,error:q,clearable:!!(u&&!j&&!s&&!a)},Z={disabled:a,readOnly:s};return ue({},e.forwardedProps,ae,Z,z)},Hat=["clearable","onClear","InputProps","sx","slots","slotProps"],Uat=["ownerState"],$B=e=>{const t=To(),{clearable:n,onClear:r,InputProps:o,sx:i,slots:a,slotProps:s}=e,l=_t(e,Hat),c=(a==null?void 0:a.clearButton)??kn,u=Vn({elementType:c,externalSlotProps:s==null?void 0:s.clearButton,ownerState:{},className:"clearButton",additionalProps:{title:t.fieldClearLabel}}),d=_t(u,Uat),f=(a==null?void 0:a.clearIcon)??Hot,p=Vn({elementType:f,externalSlotProps:s==null?void 0:s.clearIcon,ownerState:{}});return ue({},l,{InputProps:ue({},o,{endAdornment:$.jsxs(y.Fragment,{children:[n&&$.jsx(po,{position:"end",sx:{marginRight:o!=null&&o.endAdornment?-1:-1.5},children:$.jsx(c,ue({},d,{onClick:r,children:$.jsx(f,ue({fontSize:"small"},p))}))}),o==null?void 0:o.endAdornment]})}),sx:[{"& .clearButton":{opacity:1},"@media (pointer: fine)":{"& .clearButton":{opacity:0},"&:hover, &:focus-within":{".clearButton":{opacity:1}}}},...Array.isArray(i)?i:[i]]})},Wat=["value","defaultValue","referenceDate","format","formatDensity","onChange","timezone","onError","shouldRespectLeadingZeros","selectedSections","onSelectedSectionsChange","unstableFieldRef","enableAccessibleFieldDOMStructure","disabled","readOnly","dateSeparator"],RB=(e,t)=>y.useMemo(()=>{const n=ue({},e),r={},o=i=>{n.hasOwnProperty(i)&&(r[i]=n[i],delete n[i])};return Wat.forEach(o),t==="date"?gN.forEach(o):t==="time"?yN.forEach(o):t==="date-time"&&(gN.forEach(o),yN.forEach(o),nie.forEach(o)),{forwardedProps:n,internalProps:r}},[e,t]),Gat=y.createContext(null);function oie(e){const{contextValue:t,localeText:n,children:r}=e;return $.jsx(Gat.Provider,{value:t,children:$.jsx(YS,{localeText:n,children:r})})}const qat=e=>{const t=hn(),n=tm();return ue({},e,{disablePast:e.disablePast??!1,disableFuture:e.disableFuture??!1,format:e.format??t.formats.keyboardDate,minDate:Ti(t,e.minDate,n.minDate),maxDate:Ti(t,e.maxDate,n.maxDate)})},Kat=e=>{const t=hn(),r=e.ampm??t.is12HourCycleInCurrentLocale()?t.formats.fullTime12h:t.formats.fullTime24h;return ue({},e,{disablePast:e.disablePast??!1,disableFuture:e.disableFuture??!1,format:e.format??r})},Yat=e=>{const t=hn(),n=tm(),o=e.ampm??t.is12HourCycleInCurrentLocale()?t.formats.keyboardDateTime12h:t.formats.keyboardDateTime24h;return ue({},e,{disablePast:e.disablePast??!1,disableFuture:e.disableFuture??!1,format:e.format??o,disableIgnoringDatePartForTimeValidation:!!(e.minDateTime||e.maxDateTime),minDate:Ti(t,e.minDateTime??e.minDate,n.minDate),maxDate:Ti(t,e.maxDateTime??e.maxDate,n.maxDate),minTime:e.minDateTime??e.minTime,maxTime:e.maxDateTime??e.maxTime})},Xat=e=>{const t=qat(e),{forwardedProps:n,internalProps:r}=RB(t,"date");return AB({forwardedProps:n,internalProps:r,valueManager:ro,fieldValueManager:IB,validator:hb,valueType:"date"})};function Qat(e){return Fn("MuiPickersTextField",e)}Un("MuiPickersTextField",["root","focused","disabled","error","required"]);function Jat(e){return Fn("MuiPickersInputBase",e)}const sy=Un("MuiPickersInputBase",["root","focused","disabled","error","notchedOutline","sectionContent","sectionBefore","sectionAfter","adornedStart","adornedEnd","input"]);function Zat(e){return Fn("MuiPickersSectionList",e)}const C0=Un("MuiPickersSectionList",["root","section","sectionContent"]),est=["slots","slotProps","elements","sectionListRef"],iie=oe("div",{name:"MuiPickersSectionList",slot:"Root",overridesResolver:(e,t)=>t.root})({direction:"ltr /*! @noflip */",outline:"none"}),aie=oe("span",{name:"MuiPickersSectionList",slot:"Section",overridesResolver:(e,t)=>t.section})({}),sie=oe("span",{name:"MuiPickersSectionList",slot:"SectionSeparator",overridesResolver:(e,t)=>t.sectionSeparator})({whiteSpace:"pre"}),lie=oe("span",{name:"MuiPickersSectionList",slot:"SectionContent",overridesResolver:(e,t)=>t.sectionContent})({outline:"none"}),tst=e=>{const{classes:t}=e;return Dn({root:["root"],section:["section"],sectionContent:["sectionContent"]},Zat,t)};function nst(e){const{slots:t,slotProps:n,element:r,classes:o}=e,i=(t==null?void 0:t.section)??aie,a=Vn({elementType:i,externalSlotProps:n==null?void 0:n.section,externalForwardedProps:r.container,className:o.section,ownerState:{}}),s=(t==null?void 0:t.sectionContent)??lie,l=Vn({elementType:s,externalSlotProps:n==null?void 0:n.sectionContent,externalForwardedProps:r.content,additionalProps:{suppressContentEditableWarning:!0},className:o.sectionContent,ownerState:{}}),c=(t==null?void 0:t.sectionSeparator)??sie,u=Vn({elementType:c,externalSlotProps:n==null?void 0:n.sectionSeparator,externalForwardedProps:r.before,ownerState:{position:"before"}}),d=Vn({elementType:c,externalSlotProps:n==null?void 0:n.sectionSeparator,externalForwardedProps:r.after,ownerState:{position:"after"}});return $.jsxs(i,ue({},a,{children:[$.jsx(c,ue({},u)),$.jsx(s,ue({},l)),$.jsx(c,ue({},d))]}))}const rst=y.forwardRef(function(t,n){const r=Zt({props:t,name:"MuiPickersSectionList"}),{slots:o,slotProps:i,elements:a,sectionListRef:s}=r,l=_t(r,est),c=tst(r),u=y.useRef(null),d=Qi(n,u),f=g=>{if(!u.current)throw new Error(`MUI X: Cannot call sectionListRef.${g} before the mount of the component.`);return u.current};y.useImperativeHandle(s,()=>({getRoot(){return f("getRoot")},getSectionContainer(g){return f("getSectionContainer").querySelector(`.${C0.section}[data-sectionindex="${g}"]`)},getSectionContent(g){return f("getSectionContent").querySelector(`.${C0.section}[data-sectionindex="${g}"] .${C0.sectionContent}`)},getSectionIndexFromDOMElement(g){const v=f("getSectionIndexFromDOMElement");if(g==null||!v.contains(g))return null;let w=null;return g.classList.contains(C0.section)?w=g:g.classList.contains(C0.sectionContent)&&(w=g.parentElement),w==null?null:Number(w.dataset.sectionindex)}}));const p=(o==null?void 0:o.root)??iie,m=Vn({elementType:p,externalSlotProps:i==null?void 0:i.root,externalForwardedProps:l,additionalProps:{ref:d,suppressContentEditableWarning:!0},className:c.root,ownerState:{}});return $.jsx(p,ue({},m,{children:m.contentEditable?a.map(({content:g,before:v,after:w})=>`${v.children}${g.children}${w.children}`).join(""):$.jsx(y.Fragment,{children:a.map((g,v)=>$.jsx(nst,{slots:o,slotProps:i,element:g,classes:c},v))})}))}),ost=["elements","areAllSectionsEmpty","defaultValue","label","value","onChange","id","autoFocus","endAdornment","startAdornment","renderSuffix","slots","slotProps","contentEditable","tabIndex","onInput","onPaste","onKeyDown","fullWidth","name","readOnly","inputProps","inputRef","sectionListRef"],ist=e=>Math.round(e*1e5)/1e5,Vk=oe("div",{name:"MuiPickersInputBase",slot:"Root",overridesResolver:(e,t)=>t.root})(({theme:e})=>ue({},e.typography.body1,{color:(e.vars||e).palette.text.primary,cursor:"text",padding:0,display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",boxSizing:"border-box",letterSpacing:`${ist(.15/16)}em`,variants:[{props:{fullWidth:!0},style:{width:"100%"}}]})),_B=oe(iie,{name:"MuiPickersInputBase",slot:"SectionsContainer",overridesResolver:(e,t)=>t.sectionsContainer})(({theme:e})=>({padding:"4px 0 5px",fontFamily:e.typography.fontFamily,fontSize:"inherit",lineHeight:"1.4375em",flexGrow:1,outline:"none",display:"flex",flexWrap:"nowrap",overflow:"hidden",letterSpacing:"inherit",width:"182px",variants:[{props:{isRtl:!0},style:{textAlign:"right /*! @noflip */"}},{props:{size:"small"},style:{paddingTop:1}},{props:{adornedStart:!1,focused:!1,filled:!1},style:{color:"currentColor",opacity:0}},{props:({adornedStart:t,focused:n,filled:r,label:o})=>!t&&!n&&!r&&o==null,style:e.vars?{opacity:e.vars.opacity.inputPlaceholder}:{opacity:e.palette.mode==="light"?.42:.5}}]})),ast=oe(aie,{name:"MuiPickersInputBase",slot:"Section",overridesResolver:(e,t)=>t.section})(({theme:e})=>({fontFamily:e.typography.fontFamily,fontSize:"inherit",letterSpacing:"inherit",lineHeight:"1.4375em",display:"flex"})),sst=oe(lie,{name:"MuiPickersInputBase",slot:"SectionContent",overridesResolver:(e,t)=>t.content})(({theme:e})=>({fontFamily:e.typography.fontFamily,lineHeight:"1.4375em",letterSpacing:"inherit",width:"fit-content",outline:"none"})),lst=oe(sie,{name:"MuiPickersInputBase",slot:"Separator",overridesResolver:(e,t)=>t.separator})(()=>({whiteSpace:"pre",letterSpacing:"inherit"})),cst=oe("input",{name:"MuiPickersInputBase",slot:"Input",overridesResolver:(e,t)=>t.hiddenInput})(ue({},Eot)),ust=e=>{const{focused:t,disabled:n,error:r,classes:o,fullWidth:i,readOnly:a,color:s,size:l,endAdornment:c,startAdornment:u}=e,d={root:["root",t&&!n&&"focused",n&&"disabled",a&&"readOnly",r&&"error",i&&"fullWidth",`color${Sot(s)}`,l==="small"&&"inputSizeSmall",!!u&&"adornedStart",!!c&&"adornedEnd"],notchedOutline:["notchedOutline"],input:["input"],sectionsContainer:["sectionsContainer"],sectionContent:["sectionContent"],sectionBefore:["sectionBefore"],sectionAfter:["sectionAfter"]};return Dn(d,Jat,o)},DB=y.forwardRef(function(t,n){const r=Zt({props:t,name:"MuiPickersInputBase"}),{elements:o,areAllSectionsEmpty:i,value:a,onChange:s,id:l,endAdornment:c,startAdornment:u,renderSuffix:d,slots:f,slotProps:p,contentEditable:m,tabIndex:g,onInput:v,onPaste:w,onKeyDown:x,name:S,readOnly:P,inputProps:T,inputRef:E,sectionListRef:O}=r,k=_t(r,ost),A=y.useRef(null),I=Qi(n,A),R=Qi(T==null?void 0:T.ref,E),N=nr(),L=Ta();if(!L)throw new Error("MUI X: PickersInputBase should always be used inside a PickersTextField component");const j=U=>{var q;if(L.disabled){U.stopPropagation();return}(q=L.onFocus)==null||q.call(L,U)};y.useEffect(()=>{L&&L.setAdornedStart(!!u)},[L,u]),y.useEffect(()=>{L&&(i?L.onEmpty():L.onFilled())},[L,i]);const _=ue({},r,L,{isRtl:N}),D=ust(_),z=(f==null?void 0:f.root)||Vk,F=Vn({elementType:z,externalSlotProps:p==null?void 0:p.root,externalForwardedProps:k,additionalProps:{"aria-invalid":L.error,ref:I},className:D.root,ownerState:_}),H=(f==null?void 0:f.input)||_B;return $.jsxs(z,ue({},F,{children:[u,$.jsx(rst,{sectionListRef:O,elements:o,contentEditable:m,tabIndex:g,className:D.sectionsContainer,onFocus:j,onBlur:L.onBlur,onInput:v,onPaste:w,onKeyDown:x,slots:{root:H,section:ast,sectionContent:sst,sectionSeparator:lst},slotProps:{root:{ownerState:_},sectionContent:{className:sy.sectionContent},sectionSeparator:({position:U})=>({className:U==="before"?sy.sectionBefore:sy.sectionAfter})}}),c,d?d(ue({},L)):null,$.jsx(cst,ue({name:S,className:D.input,value:a,onChange:s,id:l,"aria-hidden":"true",tabIndex:-1,readOnly:P,required:L.required,disabled:L.disabled},T,{ref:R}))]}))});function dst(e){return Fn("MuiPickersOutlinedInput",e)}const kl=ue({},sy,Un("MuiPickersOutlinedInput",["root","notchedOutline","input"])),fst=["children","className","label","notched","shrink"],pst=oe("fieldset",{name:"MuiPickersOutlinedInput",slot:"NotchedOutline",overridesResolver:(e,t)=>t.notchedOutline})(({theme:e})=>{const t=e.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)";return{textAlign:"left",position:"absolute",bottom:0,right:0,top:-5,left:0,margin:0,padding:"0 8px",pointerEvents:"none",borderRadius:"inherit",borderStyle:"solid",borderWidth:1,overflow:"hidden",minWidth:"0%",borderColor:e.vars?`rgba(${e.vars.palette.common.onBackgroundChannel} / 0.23)`:t}}),p9=oe("span")(({theme:e})=>({fontFamily:e.typography.fontFamily,fontSize:"inherit"})),hst=oe("legend")(({theme:e})=>({float:"unset",width:"auto",overflow:"hidden",variants:[{props:{withLabel:!1},style:{padding:0,lineHeight:"11px",transition:e.transitions.create("width",{duration:150,easing:e.transitions.easing.easeOut})}},{props:{withLabel:!0},style:{display:"block",padding:0,height:11,fontSize:"0.75em",visibility:"hidden",maxWidth:.01,transition:e.transitions.create("max-width",{duration:50,easing:e.transitions.easing.easeOut}),whiteSpace:"nowrap","& > span":{paddingLeft:5,paddingRight:5,display:"inline-block",opacity:0,visibility:"visible"}}},{props:{withLabel:!0,notched:!0},style:{maxWidth:"100%",transition:e.transitions.create("max-width",{duration:100,easing:e.transitions.easing.easeOut,delay:50})}}]}));function mst(e){const{className:t,label:n}=e,r=_t(e,fst),o=n!=null&&n!=="",i=ue({},e,{withLabel:o});return $.jsx(pst,ue({"aria-hidden":!0,className:t},r,{ownerState:i,children:$.jsx(hst,{ownerState:i,children:o?$.jsx(p9,{children:n}):$.jsx(p9,{className:"notranslate",children:"​"})})}))}const gst=["label","autoFocus","ownerState","notched"],yst=oe(Vk,{name:"MuiPickersOutlinedInput",slot:"Root",overridesResolver:(e,t)=>t.root})(({theme:e})=>{const t=e.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)";return{padding:"0 14px",borderRadius:(e.vars||e).shape.borderRadius,[`&:hover .${kl.notchedOutline}`]:{borderColor:(e.vars||e).palette.text.primary},"@media (hover: none)":{[`&:hover .${kl.notchedOutline}`]:{borderColor:e.vars?`rgba(${e.vars.palette.common.onBackgroundChannel} / 0.23)`:t}},[`&.${kl.focused} .${kl.notchedOutline}`]:{borderStyle:"solid",borderWidth:2},[`&.${kl.disabled}`]:{[`& .${kl.notchedOutline}`]:{borderColor:(e.vars||e).palette.action.disabled},"*":{color:(e.vars||e).palette.action.disabled}},[`&.${kl.error} .${kl.notchedOutline}`]:{borderColor:(e.vars||e).palette.error.main},variants:Object.keys((e.vars??e).palette).filter(n=>{var r;return((r=(e.vars??e).palette[n])==null?void 0:r.main)??!1}).map(n=>({props:{color:n},style:{[`&.${kl.focused}:not(.${kl.error}) .${kl.notchedOutline}`]:{borderColor:(e.vars||e).palette[n].main}}}))}}),vst=oe(_B,{name:"MuiPickersOutlinedInput",slot:"SectionsContainer",overridesResolver:(e,t)=>t.sectionsContainer})({padding:"16.5px 0",variants:[{props:{size:"small"},style:{padding:"8.5px 0"}}]}),bst=e=>{const{classes:t}=e,r=Dn({root:["root"],notchedOutline:["notchedOutline"],input:["input"]},dst,t);return ue({},t,r)},cie=y.forwardRef(function(t,n){const r=Zt({props:t,name:"MuiPickersOutlinedInput"}),{label:o,ownerState:i,notched:a}=r,s=_t(r,gst),l=Ta(),c=ue({},r,i,l,{color:(l==null?void 0:l.color)||"primary"}),u=bst(c);return $.jsx(DB,ue({slots:{root:yst,input:vst},renderSuffix:d=>$.jsx(mst,{shrink:!!(a||d.adornedStart||d.focused||d.filled),notched:!!(a||d.adornedStart||d.focused||d.filled),className:u.notchedOutline,label:o!=null&&o!==""&&(l!=null&&l.required)?$.jsxs(y.Fragment,{children:[o," ","*"]}):o,ownerState:c})},s,{label:o,classes:u,ref:n}))});cie.muiName="Input";function wst(e){return Fn("MuiPickersFilledInput",e)}const Ep=ue({},sy,Un("MuiPickersFilledInput",["root","underline","input"])),xst=["label","autoFocus","disableUnderline","ownerState"],Sst=oe(Vk,{name:"MuiPickersFilledInput",slot:"Root",overridesResolver:(e,t)=>t.root,shouldForwardProp:e=>EP(e)&&e!=="disableUnderline"})(({theme:e})=>{const t=e.palette.mode==="light",n=t?"rgba(0, 0, 0, 0.42)":"rgba(255, 255, 255, 0.7)",r=t?"rgba(0, 0, 0, 0.06)":"rgba(255, 255, 255, 0.09)",o=t?"rgba(0, 0, 0, 0.09)":"rgba(255, 255, 255, 0.13)",i=t?"rgba(0, 0, 0, 0.12)":"rgba(255, 255, 255, 0.12)";return{backgroundColor:e.vars?e.vars.palette.FilledInput.bg:r,borderTopLeftRadius:(e.vars||e).shape.borderRadius,borderTopRightRadius:(e.vars||e).shape.borderRadius,transition:e.transitions.create("background-color",{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut}),"&:hover":{backgroundColor:e.vars?e.vars.palette.FilledInput.hoverBg:o,"@media (hover: none)":{backgroundColor:e.vars?e.vars.palette.FilledInput.bg:r}},[`&.${Ep.focused}`]:{backgroundColor:e.vars?e.vars.palette.FilledInput.bg:r},[`&.${Ep.disabled}`]:{backgroundColor:e.vars?e.vars.palette.FilledInput.disabledBg:i},variants:[...Object.keys((e.vars??e).palette).filter(a=>(e.vars??e).palette[a].main).map(a=>{var s;return{props:{color:a,disableUnderline:!1},style:{"&::after":{borderBottom:`2px solid ${(s=(e.vars||e).palette[a])==null?void 0:s.main}`}}}}),{props:{disableUnderline:!1},style:{"&::after":{left:0,bottom:0,content:'""',position:"absolute",right:0,transform:"scaleX(0)",transition:e.transitions.create("transform",{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut}),pointerEvents:"none"},[`&.${Ep.focused}:after`]:{transform:"scaleX(1) translateX(0)"},[`&.${Ep.error}`]:{"&:before, &:after":{borderBottomColor:(e.vars||e).palette.error.main}},"&::before":{borderBottom:`1px solid ${e.vars?`rgba(${e.vars.palette.common.onBackgroundChannel} / ${e.vars.opacity.inputUnderline})`:n}`,left:0,bottom:0,content:'"\\00a0"',position:"absolute",right:0,transition:e.transitions.create("border-bottom-color",{duration:e.transitions.duration.shorter}),pointerEvents:"none"},[`&:hover:not(.${Ep.disabled}, .${Ep.error}):before`]:{borderBottom:`1px solid ${(e.vars||e).palette.text.primary}`},[`&.${Ep.disabled}:before`]:{borderBottomStyle:"dotted"}}},{props:({startAdornment:a})=>!!a,style:{paddingLeft:12}},{props:({endAdornment:a})=>!!a,style:{paddingRight:12}}]}}),Cst=oe(_B,{name:"MuiPickersFilledInput",slot:"sectionsContainer",overridesResolver:(e,t)=>t.sectionsContainer})({paddingTop:25,paddingRight:12,paddingBottom:8,paddingLeft:12,variants:[{props:{size:"small"},style:{paddingTop:21,paddingBottom:4}},{props:({startAdornment:e})=>!!e,style:{paddingLeft:0}},{props:({endAdornment:e})=>!!e,style:{paddingRight:0}},{props:{hiddenLabel:!0},style:{paddingTop:16,paddingBottom:17}},{props:{hiddenLabel:!0,size:"small"},style:{paddingTop:8,paddingBottom:9}}]}),Pst=e=>{const{classes:t,disableUnderline:n}=e,o=Dn({root:["root",!n&&"underline"],input:["input"]},wst,t);return ue({},t,o)},uie=y.forwardRef(function(t,n){const r=Zt({props:t,name:"MuiPickersFilledInput"}),{label:o,disableUnderline:i=!1,ownerState:a}=r,s=_t(r,xst),l=Ta(),c=ue({},r,a,l,{color:(l==null?void 0:l.color)||"primary"}),u=Pst(c);return $.jsx(DB,ue({slots:{root:Sst,input:Cst},slotProps:{root:{disableUnderline:i}}},s,{label:o,classes:u,ref:n}))});uie.muiName="Input";function Tst(e){return Fn("MuiPickersFilledInput",e)}const P0=ue({},sy,Un("MuiPickersInput",["root","input"])),Est=["label","autoFocus","disableUnderline","ownerState"],Ost=oe(Vk,{name:"MuiPickersInput",slot:"Root",overridesResolver:(e,t)=>t.root})(({theme:e})=>{let n=e.palette.mode==="light"?"rgba(0, 0, 0, 0.42)":"rgba(255, 255, 255, 0.7)";return e.vars&&(n=`rgba(${e.vars.palette.common.onBackgroundChannel} / ${e.vars.opacity.inputUnderline})`),{"label + &":{marginTop:16},variants:[...Object.keys((e.vars??e).palette).filter(r=>(e.vars??e).palette[r].main).map(r=>({props:{color:r},style:{"&::after":{borderBottom:`2px solid ${(e.vars||e).palette[r].main}`}}})),{props:{disableUnderline:!1},style:{"&::after":{background:"red",left:0,bottom:0,content:'""',position:"absolute",right:0,transform:"scaleX(0)",transition:e.transitions.create("transform",{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut}),pointerEvents:"none"},[`&.${P0.focused}:after`]:{transform:"scaleX(1) translateX(0)"},[`&.${P0.error}`]:{"&:before, &:after":{borderBottomColor:(e.vars||e).palette.error.main}},"&::before":{borderBottom:`1px solid ${n}`,left:0,bottom:0,content:'"\\00a0"',position:"absolute",right:0,transition:e.transitions.create("border-bottom-color",{duration:e.transitions.duration.shorter}),pointerEvents:"none"},[`&:hover:not(.${P0.disabled}, .${P0.error}):before`]:{borderBottom:`2px solid ${(e.vars||e).palette.text.primary}`,"@media (hover: none)":{borderBottom:`1px solid ${n}`}},[`&.${P0.disabled}:before`]:{borderBottomStyle:"dotted"}}}]}}),Ist=e=>{const{classes:t,disableUnderline:n}=e,o=Dn({root:["root",!n&&"underline"],input:["input"]},Tst,t);return ue({},t,o)},die=y.forwardRef(function(t,n){const r=Zt({props:t,name:"MuiPickersInput"}),{label:o,disableUnderline:i=!1,ownerState:a}=r,s=_t(r,Est),l=Ta(),c=ue({},r,a,l,{disableUnderline:i,color:(l==null?void 0:l.color)||"primary"}),u=Ist(c);return $.jsx(DB,ue({slots:{root:Ost}},s,{label:o,classes:u,ref:n}))});die.muiName="Input";const kst=["onFocus","onBlur","className","color","disabled","error","variant","required","InputProps","inputProps","inputRef","sectionListRef","elements","areAllSectionsEmpty","onClick","onKeyDown","onKeyUp","onPaste","onInput","endAdornment","startAdornment","tabIndex","contentEditable","focused","value","onChange","fullWidth","id","name","helperText","FormHelperTextProps","label","InputLabelProps"],Mst={standard:die,filled:uie,outlined:cie},Ast=oe(qh,{name:"MuiPickersTextField",slot:"Root",overridesResolver:(e,t)=>t.root})({}),$st=e=>{const{focused:t,disabled:n,classes:r,required:o}=e;return Dn({root:["root",t&&!n&&"focused",n&&"disabled",o&&"required"]},Qat,r)},NB=y.forwardRef(function(t,n){const r=Zt({props:t,name:"MuiPickersTextField"}),{onFocus:o,onBlur:i,className:a,color:s="primary",disabled:l=!1,error:c=!1,variant:u="outlined",required:d=!1,InputProps:f,inputProps:p,inputRef:m,sectionListRef:g,elements:v,areAllSectionsEmpty:w,onClick:x,onKeyDown:S,onKeyUp:P,onPaste:T,onInput:E,endAdornment:O,startAdornment:k,tabIndex:A,contentEditable:I,focused:R,value:N,onChange:L,fullWidth:j,id:_,name:D,helperText:z,FormHelperTextProps:F,label:H,InputLabelProps:U}=r,q=_t(r,kst),X=y.useRef(null),ae=Qi(n,X),Z=db(_),K=z&&Z?`${Z}-helper-text`:void 0,te=H&&Z?`${Z}-label`:void 0,pe=ue({},r,{color:s,disabled:l,error:c,focused:R,required:d,variant:u}),ie=$st(pe),le=Mst[u];return $.jsxs(Ast,ue({className:de(ie.root,a),ref:ae,focused:R,onFocus:o,onBlur:i,disabled:l,variant:u,error:c,color:s,fullWidth:j,required:d,ownerState:pe},q,{children:[$.jsx(Kh,ue({htmlFor:Z,id:te},U,{children:H})),$.jsx(le,ue({elements:v,areAllSectionsEmpty:w,onClick:x,onKeyDown:S,onKeyUp:P,onInput:E,onPaste:T,endAdornment:O,startAdornment:k,tabIndex:A,contentEditable:I,value:N,onChange:L,id:Z,fullWidth:j,inputProps:p,inputRef:m,sectionListRef:g,label:H,name:D,role:"group","aria-labelledby":te},f)),z&&$.jsx(FI,ue({id:K},F,{children:z}))]}))}),Rst=["enableAccessibleFieldDOMStructure"],_st=["InputProps","readOnly"],Dst=["onPaste","onKeyDown","inputMode","readOnly","InputProps","inputProps","inputRef"],LB=e=>{let{enableAccessibleFieldDOMStructure:t}=e,n=_t(e,Rst);if(t){const{InputProps:d,readOnly:f}=n,p=_t(n,_st);return ue({},p,{InputProps:ue({},d??{},{readOnly:f})})}const{onPaste:r,onKeyDown:o,inputMode:i,readOnly:a,InputProps:s,inputProps:l,inputRef:c}=n,u=_t(n,Dst);return ue({},u,{InputProps:ue({},s??{},{readOnly:a}),inputProps:ue({},l??{},{inputMode:i,onPaste:r,onKeyDown:o,ref:c})})},Nst=["slots","slotProps","InputProps","inputProps"],fie=y.forwardRef(function(t,n){const r=Zt({props:t,name:"MuiDateField"}),{slots:o,slotProps:i,InputProps:a,inputProps:s}=r,l=_t(r,Nst),c=r,u=(o==null?void 0:o.textField)??(t.enableAccessibleFieldDOMStructure?NB:yn),d=Vn({elementType:u,externalSlotProps:i==null?void 0:i.textField,externalForwardedProps:l,additionalProps:{ref:n},ownerState:c});d.inputProps=ue({},s,d.inputProps),d.InputProps=ue({},a,d.InputProps);const f=Xat(d),p=LB(f),m=$B(ue({},p,{slots:o,slotProps:i}));return $.jsx(u,ue({},m))}),Lst=e=>{const t=Kat(e),{forwardedProps:n,internalProps:r}=RB(t,"time");return AB({forwardedProps:n,internalProps:r,valueManager:ro,fieldValueManager:IB,validator:JS,valueType:"time"})},Fst=["slots","slotProps","InputProps","inputProps"],pie=y.forwardRef(function(t,n){const r=Zt({props:t,name:"MuiTimeField"}),{slots:o,slotProps:i,InputProps:a,inputProps:s}=r,l=_t(r,Fst),c=r,u=(o==null?void 0:o.textField)??(t.enableAccessibleFieldDOMStructure?NB:yn),d=Vn({elementType:u,externalSlotProps:i==null?void 0:i.textField,externalForwardedProps:l,ownerState:c,additionalProps:{ref:n}});d.inputProps=ue({},s,d.inputProps),d.InputProps=ue({},a,d.InputProps);const f=Lst(d),p=LB(f),m=$B(ue({},p,{slots:o,slotProps:i}));return $.jsx(u,ue({},m))}),jst=e=>{const t=Yat(e),{forwardedProps:n,internalProps:r}=RB(t,"date-time");return AB({forwardedProps:n,internalProps:r,valueManager:ro,fieldValueManager:IB,validator:zk,valueType:"date-time"})},Bst=["slots","slotProps","InputProps","inputProps"],hie=y.forwardRef(function(t,n){const r=Zt({props:t,name:"MuiDateTimeField"}),{slots:o,slotProps:i,InputProps:a,inputProps:s}=r,l=_t(r,Bst),c=r,u=(o==null?void 0:o.textField)??(t.enableAccessibleFieldDOMStructure?NB:yn),d=Vn({elementType:u,externalSlotProps:i==null?void 0:i.textField,externalForwardedProps:l,ownerState:c,additionalProps:{ref:n}});d.inputProps=ue({},s,d.inputProps),d.InputProps=ue({},a,d.InputProps);const f=jst(d),p=LB(f),m=$B(ue({},p,{slots:o,slotProps:i}));return $.jsx(u,ue({},m))}),mie=({shouldDisableDate:e,shouldDisableMonth:t,shouldDisableYear:n,minDate:r,maxDate:o,disableFuture:i,disablePast:a,timezone:s})=>{const l=em();return y.useCallback(c=>hb({adapter:l,value:c,timezone:s,props:{shouldDisableDate:e,shouldDisableMonth:t,shouldDisableYear:n,minDate:r,maxDate:o,disableFuture:i,disablePast:a}})!==null,[l,e,t,n,r,o,i,a,s])},zst=(e,t,n)=>(r,o)=>{switch(o.type){case"changeMonth":return ue({},r,{slideDirection:o.direction,currentMonth:o.newMonth,isMonthSwitchingAnimating:!e});case"changeMonthTimezone":{const i=o.newTimezone;if(n.getTimezone(r.currentMonth)===i)return r;let a=n.setTimezone(r.currentMonth,i);return n.getMonth(a)!==n.getMonth(r.currentMonth)&&(a=n.setMonth(a,n.getMonth(r.currentMonth))),ue({},r,{currentMonth:a})}case"finishMonthSwitchingAnimation":return ue({},r,{isMonthSwitchingAnimating:!1});case"changeFocusedDay":{if(r.focusedDay!=null&&o.focusedDay!=null&&n.isSameDay(o.focusedDay,r.focusedDay))return r;const i=o.focusedDay!=null&&!t&&!n.isSameMonth(r.currentMonth,o.focusedDay);return ue({},r,{focusedDay:o.focusedDay,isMonthSwitchingAnimating:i&&!e&&!o.withoutMonthSwitchingAnimation,currentMonth:i?n.startOfMonth(o.focusedDay):r.currentMonth,slideDirection:o.focusedDay!=null&&n.isAfterDay(o.focusedDay,r.currentMonth)?"left":"right"})}default:throw new Error("missing support")}},Vst=e=>{const{value:t,referenceDate:n,disableFuture:r,disablePast:o,disableSwitchToMonthOnDayFocus:i=!1,maxDate:a,minDate:s,onMonthChange:l,reduceAnimations:c,shouldDisableDate:u,timezone:d}=e,f=hn(),p=y.useRef(zst(!!c,i,f)).current,m=y.useMemo(()=>ro.getInitialReferenceValue({value:t,utils:f,timezone:d,props:e,referenceDate:n,granularity:Vl.day}),[n,d]),[g,v]=y.useReducer(p,{isMonthSwitchingAnimating:!1,focusedDay:m,currentMonth:f.startOfMonth(m),slideDirection:"left"});y.useEffect(()=>{v({type:"changeMonthTimezone",newTimezone:f.getTimezone(m)})},[m,f]);const w=y.useCallback(E=>{v(ue({type:"changeMonth"},E)),l&&l(E.newMonth)},[l]),x=y.useCallback(E=>{const O=E;f.isSameMonth(O,g.currentMonth)||w({newMonth:f.startOfMonth(O),direction:f.isAfterDay(O,g.currentMonth)?"left":"right"})},[g.currentMonth,w,f]),S=mie({shouldDisableDate:u,minDate:s,maxDate:a,disableFuture:r,disablePast:o,timezone:d}),P=y.useCallback(()=>{v({type:"finishMonthSwitchingAnimation"})},[]),T=Ct((E,O)=>{S(E)||v({type:"changeFocusedDay",focusedDay:E,withoutMonthSwitchingAnimation:O})});return{referenceDate:m,calendarState:g,changeMonth:x,changeFocusedDay:T,isDateDisabled:S,onMonthSwitchingAnimationEnd:P,handleChangeMonth:w}},Hst=e=>Fn("MuiPickersFadeTransitionGroup",e);Un("MuiPickersFadeTransitionGroup",["root"]);const Ust=e=>{const{classes:t}=e;return Dn({root:["root"]},Hst,t)},Wst=oe(ES,{name:"MuiPickersFadeTransitionGroup",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"block",position:"relative"});function gie(e){const t=Zt({props:e,name:"MuiPickersFadeTransitionGroup"}),{children:n,className:r,reduceAnimations:o,transKey:i}=t,a=Ust(t),s=Ei();return o?n:$.jsx(Wst,{className:de(a.root,r),children:$.jsx(jv,{appear:!1,mountOnEnter:!0,unmountOnExit:!0,timeout:{appear:s.transitions.duration.enteringScreen,enter:s.transitions.duration.enteringScreen,exit:0},children:n},i)})}const Gst=e=>Fn("MuiPickersSlideTransition",e),As=Un("MuiPickersSlideTransition",["root","slideEnter-left","slideEnter-right","slideEnterActive","slideExit","slideExitActiveLeft-left","slideExitActiveLeft-right"]),qst=["children","className","reduceAnimations","slideDirection","transKey","classes"],Kst=e=>{const{classes:t,slideDirection:n}=e,r={root:["root"],exit:["slideExit"],enterActive:["slideEnterActive"],enter:[`slideEnter-${n}`],exitActive:[`slideExitActiveLeft-${n}`]};return Dn(r,Gst,t)},Yst=oe(ES,{name:"MuiPickersSlideTransition",slot:"Root",overridesResolver:(e,t)=>[t.root,{[`.${As["slideEnter-left"]}`]:t["slideEnter-left"]},{[`.${As["slideEnter-right"]}`]:t["slideEnter-right"]},{[`.${As.slideEnterActive}`]:t.slideEnterActive},{[`.${As.slideExit}`]:t.slideExit},{[`.${As["slideExitActiveLeft-left"]}`]:t["slideExitActiveLeft-left"]},{[`.${As["slideExitActiveLeft-right"]}`]:t["slideExitActiveLeft-right"]}]})(({theme:e})=>{const t=e.transitions.create("transform",{duration:e.transitions.duration.complex,easing:"cubic-bezier(0.35, 0.8, 0.4, 1)"});return{display:"block",position:"relative",overflowX:"hidden","& > *":{position:"absolute",top:0,right:0,left:0},[`& .${As["slideEnter-left"]}`]:{willChange:"transform",transform:"translate(100%)",zIndex:1},[`& .${As["slideEnter-right"]}`]:{willChange:"transform",transform:"translate(-100%)",zIndex:1},[`& .${As.slideEnterActive}`]:{transform:"translate(0%)",transition:t},[`& .${As.slideExit}`]:{transform:"translate(0%)"},[`& .${As["slideExitActiveLeft-left"]}`]:{willChange:"transform",transform:"translate(-100%)",transition:t,zIndex:0},[`& .${As["slideExitActiveLeft-right"]}`]:{willChange:"transform",transform:"translate(100%)",transition:t,zIndex:0}}});function Xst(e){const t=Zt({props:e,name:"MuiPickersSlideTransition"}),{children:n,className:r,reduceAnimations:o,transKey:i}=t,a=_t(t,qst),s=Kst(t),l=Ei();if(o)return $.jsx("div",{className:de(s.root,r),children:n});const c={exit:s.exit,enterActive:s.enterActive,enter:s.enter,exitActive:s.exitActive};return $.jsx(Yst,{className:de(s.root,r),childFactory:u=>y.cloneElement(u,{classNames:c}),role:"presentation",children:$.jsx(_F,ue({mountOnEnter:!0,unmountOnExit:!0,timeout:l.transitions.duration.complex,classNames:c},a,{children:n}),i)})}const Qst=e=>Fn("MuiDayCalendar",e);Un("MuiDayCalendar",["root","header","weekDayLabel","loadingContainer","slideTransition","monthContainer","weekContainer","weekNumberLabel","weekNumber"]);const Jst=["parentProps","day","focusableDay","selectedDays","isDateDisabled","currentMonthNumber","isViewFocused"],Zst=["ownerState"],elt=e=>{const{classes:t}=e;return Dn({root:["root"],header:["header"],weekDayLabel:["weekDayLabel"],loadingContainer:["loadingContainer"],slideTransition:["slideTransition"],monthContainer:["monthContainer"],weekContainer:["weekContainer"],weekNumberLabel:["weekNumberLabel"],weekNumber:["weekNumber"]},Qst,t)},yie=(Vx+Nk*2)*6,tlt=oe("div",{name:"MuiDayCalendar",slot:"Root",overridesResolver:(e,t)=>t.root})({}),nlt=oe("div",{name:"MuiDayCalendar",slot:"Header",overridesResolver:(e,t)=>t.header})({display:"flex",justifyContent:"center",alignItems:"center"}),rlt=oe(ct,{name:"MuiDayCalendar",slot:"WeekDayLabel",overridesResolver:(e,t)=>t.weekDayLabel})(({theme:e})=>({width:36,height:40,margin:"0 2px",textAlign:"center",display:"flex",justifyContent:"center",alignItems:"center",color:(e.vars||e).palette.text.secondary})),olt=oe(ct,{name:"MuiDayCalendar",slot:"WeekNumberLabel",overridesResolver:(e,t)=>t.weekNumberLabel})(({theme:e})=>({width:36,height:40,margin:"0 2px",textAlign:"center",display:"flex",justifyContent:"center",alignItems:"center",color:e.palette.text.disabled})),ilt=oe(ct,{name:"MuiDayCalendar",slot:"WeekNumber",overridesResolver:(e,t)=>t.weekNumber})(({theme:e})=>ue({},e.typography.caption,{width:Vx,height:Vx,padding:0,margin:`0 ${Nk}px`,color:e.palette.text.disabled,fontSize:"0.75rem",alignItems:"center",justifyContent:"center",display:"inline-flex"})),alt=oe("div",{name:"MuiDayCalendar",slot:"LoadingContainer",overridesResolver:(e,t)=>t.loadingContainer})({display:"flex",justifyContent:"center",alignItems:"center",minHeight:yie}),slt=oe(Xst,{name:"MuiDayCalendar",slot:"SlideTransition",overridesResolver:(e,t)=>t.slideTransition})({minHeight:yie}),llt=oe("div",{name:"MuiDayCalendar",slot:"MonthContainer",overridesResolver:(e,t)=>t.monthContainer})({overflow:"hidden"}),clt=oe("div",{name:"MuiDayCalendar",slot:"WeekContainer",overridesResolver:(e,t)=>t.weekContainer})({margin:`${Nk}px 0`,display:"flex",justifyContent:"center"});function ult(e){let{parentProps:t,day:n,focusableDay:r,selectedDays:o,isDateDisabled:i,currentMonthNumber:a,isViewFocused:s}=e,l=_t(e,Jst);const{disabled:c,disableHighlightToday:u,isMonthSwitchingAnimating:d,showDaysOutsideCurrentMonth:f,slots:p,slotProps:m,timezone:g}=t,v=hn(),w=nm(g),x=r!==null&&v.isSameDay(n,r),S=o.some(N=>v.isSameDay(N,n)),P=v.isSameDay(n,w),T=(p==null?void 0:p.day)??kat,E=Vn({elementType:T,externalSlotProps:m==null?void 0:m.day,additionalProps:ue({disableHighlightToday:u,showDaysOutsideCurrentMonth:f,role:"gridcell",isAnimating:d,"data-timestamp":v.toJsDate(n).valueOf()},l),ownerState:ue({},t,{day:n,selected:S})}),O=_t(E,Zst),k=y.useMemo(()=>c||i(n),[c,i,n]),A=y.useMemo(()=>v.getMonth(n)!==a,[v,n,a]),I=y.useMemo(()=>{const N=v.startOfMonth(v.setMonth(n,a));return f?v.isSameDay(n,v.startOfWeek(N)):v.isSameDay(n,N)},[a,n,f,v]),R=y.useMemo(()=>{const N=v.endOfMonth(v.setMonth(n,a));return f?v.isSameDay(n,v.endOfWeek(N)):v.isSameDay(n,N)},[a,n,f,v]);return $.jsx(T,ue({},O,{day:n,disabled:k,autoFocus:s&&x,today:P,outsideCurrentMonth:A,isFirstVisibleCell:I,isLastVisibleCell:R,selected:S,tabIndex:x?0:-1,"aria-selected":S,"aria-current":P?"date":void 0}))}function dlt(e){const t=Zt({props:e,name:"MuiDayCalendar"}),n=hn(),{onFocusedDayChange:r,className:o,currentMonth:i,selectedDays:a,focusedDay:s,loading:l,onSelectedDaysChange:c,onMonthSwitchingAnimationEnd:u,readOnly:d,reduceAnimations:f,renderLoading:p=()=>$.jsx("span",{children:"..."}),slideDirection:m,TransitionProps:g,disablePast:v,disableFuture:w,minDate:x,maxDate:S,shouldDisableDate:P,shouldDisableMonth:T,shouldDisableYear:E,dayOfWeekFormatter:O=ge=>n.format(ge,"weekdayShort").charAt(0).toUpperCase(),hasFocus:k,onFocusedViewChange:A,gridLabelId:I,displayWeekNumber:R,fixedWeekNumber:N,autoFocus:L,timezone:j}=t,_=nm(j),D=elt(t),z=nr(),F=mie({shouldDisableDate:P,shouldDisableMonth:T,shouldDisableYear:E,minDate:x,maxDate:S,disablePast:v,disableFuture:w,timezone:j}),H=To(),[U,q]=Dh({name:"DayCalendar",state:"hasFocus",controlled:k,default:L??!1}),[X,ae]=y.useState(()=>s||_),Z=Ct(ge=>{d||c(ge)}),K=ge=>{F(ge)||(r(ge),ae(ge),A==null||A(!0),q(!0))},te=Ct((ge,Se)=>{switch(ge.key){case"ArrowUp":K(n.addDays(Se,-7)),ge.preventDefault();break;case"ArrowDown":K(n.addDays(Se,7)),ge.preventDefault();break;case"ArrowLeft":{const xe=n.addDays(Se,z?1:-1),Ie=n.addMonths(Se,z?1:-1),Re=Tw({utils:n,date:xe,minDate:z?xe:n.startOfMonth(Ie),maxDate:z?n.endOfMonth(Ie):xe,isDateDisabled:F,timezone:j});K(Re||xe),ge.preventDefault();break}case"ArrowRight":{const xe=n.addDays(Se,z?-1:1),Ie=n.addMonths(Se,z?-1:1),Re=Tw({utils:n,date:xe,minDate:z?n.startOfMonth(Ie):xe,maxDate:z?xe:n.endOfMonth(Ie),isDateDisabled:F,timezone:j});K(Re||xe),ge.preventDefault();break}case"Home":K(n.startOfWeek(Se)),ge.preventDefault();break;case"End":K(n.endOfWeek(Se)),ge.preventDefault();break;case"PageUp":K(n.addMonths(Se,1)),ge.preventDefault();break;case"PageDown":K(n.addMonths(Se,-1)),ge.preventDefault();break}}),pe=Ct((ge,Se)=>K(Se)),ie=Ct((ge,Se)=>{U&&n.isSameDay(X,Se)&&(A==null||A(!1))}),le=n.getMonth(i),re=n.getYear(i),fe=y.useMemo(()=>a.filter(ge=>!!ge).map(ge=>n.startOfDay(ge)),[n,a]),ee=`${re}-${le}`,ce=y.useMemo(()=>y.createRef(),[ee]),me=y.useMemo(()=>{const ge=n.startOfMonth(i),Se=n.endOfMonth(i);return F(X)||n.isAfterDay(X,Se)||n.isBeforeDay(X,ge)?Tw({utils:n,date:X,minDate:ge,maxDate:Se,disablePast:v,disableFuture:w,isDateDisabled:F,timezone:j}):X},[i,w,v,X,F,n,j]),we=y.useMemo(()=>{const ge=n.getWeekArray(i);let Se=n.addMonths(i,1);for(;N&&ge.length{ge.length$.jsx(rlt,{variant:"caption",role:"columnheader","aria-label":n.format(ge,"weekday"),className:D.weekDayLabel,children:O(ge)},Se.toString()))]}),l?$.jsx(alt,{className:D.loadingContainer,children:p()}):$.jsx(slt,ue({transKey:ee,onExited:u,reduceAnimations:f,slideDirection:m,className:de(o,D.slideTransition)},g,{nodeRef:ce,children:$.jsx(llt,{ref:ce,role:"rowgroup",className:D.monthContainer,children:we.map((ge,Se)=>$.jsxs(clt,{role:"row",className:D.weekContainer,"aria-rowindex":Se+1,children:[R&&$.jsx(ilt,{className:D.weekNumber,role:"rowheader","aria-label":H.calendarWeekNumberAriaLabelText(n.getWeekNumber(ge[0])),children:H.calendarWeekNumberText(n.getWeekNumber(ge[0]))}),ge.map((xe,Ie)=>$.jsx(ult,{parentProps:t,day:xe,selectedDays:fe,focusableDay:me,onKeyDown:te,onFocus:pe,onBlur:ie,onDaySelect:Z,isDateDisabled:F,currentMonthNumber:le,isViewFocused:U,"aria-colindex":Ie+1},xe.toString()))]},`week-${ge[0]}`))})}))]})}function flt(e){return Fn("MuiPickersMonth",e)}const tP=Un("MuiPickersMonth",["root","monthButton","disabled","selected"]),plt=["autoFocus","className","children","disabled","selected","value","tabIndex","onClick","onKeyDown","onFocus","onBlur","aria-current","aria-label","monthsPerRow","slots","slotProps"],hlt=e=>{const{disabled:t,selected:n,classes:r}=e;return Dn({root:["root"],monthButton:["monthButton",t&&"disabled",n&&"selected"]},flt,r)},mlt=oe("div",{name:"MuiPickersMonth",slot:"Root",overridesResolver:(e,t)=>[t.root]})({display:"flex",alignItems:"center",justifyContent:"center",flexBasis:"33.3%",variants:[{props:{monthsPerRow:4},style:{flexBasis:"25%"}}]}),glt=oe("button",{name:"MuiPickersMonth",slot:"MonthButton",overridesResolver:(e,t)=>[t.monthButton,{[`&.${tP.disabled}`]:t.disabled},{[`&.${tP.selected}`]:t.selected}]})(({theme:e})=>ue({color:"unset",backgroundColor:"transparent",border:0,outline:0},e.typography.subtitle1,{margin:"8px 0",height:36,width:72,borderRadius:18,cursor:"pointer","&:focus":{backgroundColor:e.vars?`rgba(${e.vars.palette.action.activeChannel} / ${e.vars.palette.action.hoverOpacity})`:mt(e.palette.action.active,e.palette.action.hoverOpacity)},"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.action.activeChannel} / ${e.vars.palette.action.hoverOpacity})`:mt(e.palette.action.active,e.palette.action.hoverOpacity)},"&:disabled":{cursor:"auto",pointerEvents:"none"},[`&.${tP.disabled}`]:{color:(e.vars||e).palette.text.secondary},[`&.${tP.selected}`]:{color:(e.vars||e).palette.primary.contrastText,backgroundColor:(e.vars||e).palette.primary.main,"&:focus, &:hover":{backgroundColor:(e.vars||e).palette.primary.dark}}})),ylt=y.memo(function(t){const n=Zt({props:t,name:"MuiPickersMonth"}),{autoFocus:r,className:o,children:i,disabled:a,selected:s,value:l,tabIndex:c,onClick:u,onKeyDown:d,onFocus:f,onBlur:p,"aria-current":m,"aria-label":g,slots:v,slotProps:w}=n,x=_t(n,plt),S=y.useRef(null),P=hlt(n);Uc(()=>{var O;r&&((O=S.current)==null||O.focus())},[r]);const T=(v==null?void 0:v.monthButton)??glt,E=Vn({elementType:T,externalSlotProps:w==null?void 0:w.monthButton,additionalProps:{children:i,disabled:a,tabIndex:c,ref:S,type:"button",role:"radio","aria-current":m,"aria-checked":s,"aria-label":g,onClick:O=>u(O,l),onKeyDown:O=>d(O,l),onFocus:O=>f(O,l),onBlur:O=>p(O,l)},ownerState:n,className:P.monthButton});return $.jsx(mlt,ue({className:de(P.root,o),ownerState:n},x,{children:$.jsx(T,ue({},E))}))});function vlt(e){return Fn("MuiMonthCalendar",e)}Un("MuiMonthCalendar",["root"]);const blt=["className","value","defaultValue","referenceDate","disabled","disableFuture","disablePast","maxDate","minDate","onChange","shouldDisableMonth","readOnly","disableHighlightToday","autoFocus","onMonthFocus","hasFocus","onFocusedViewChange","monthsPerRow","timezone","gridLabelId","slots","slotProps"],wlt=e=>{const{classes:t}=e;return Dn({root:["root"]},vlt,t)};function xlt(e,t){const n=hn(),r=tm(),o=Zt({props:e,name:t});return ue({disableFuture:!1,disablePast:!1},o,{minDate:Ti(n,o.minDate,r.minDate),maxDate:Ti(n,o.maxDate,r.maxDate)})}const Slt=oe("div",{name:"MuiMonthCalendar",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"flex",flexWrap:"wrap",alignContent:"stretch",padding:"0 4px",width:Lk,boxSizing:"border-box"}),Clt=y.forwardRef(function(t,n){const r=xlt(t,"MuiMonthCalendar"),{className:o,value:i,defaultValue:a,referenceDate:s,disabled:l,disableFuture:c,disablePast:u,maxDate:d,minDate:f,onChange:p,shouldDisableMonth:m,readOnly:g,autoFocus:v=!1,onMonthFocus:w,hasFocus:x,onFocusedViewChange:S,monthsPerRow:P=3,timezone:T,gridLabelId:E,slots:O,slotProps:k}=r,A=_t(r,blt),{value:I,handleValueChange:R,timezone:N}=pb({name:"MonthCalendar",timezone:T,value:i,defaultValue:a,onChange:p,valueManager:ro}),L=nm(N),j=nr(),_=hn(),D=y.useMemo(()=>ro.getInitialReferenceValue({value:I,utils:_,props:r,timezone:N,referenceDate:s,granularity:Vl.month}),[]),z=r,F=wlt(z),H=y.useMemo(()=>_.getMonth(L),[_,L]),U=y.useMemo(()=>I!=null?_.getMonth(I):null,[I,_]),[q,X]=y.useState(()=>U||_.getMonth(D)),[ae,Z]=Dh({name:"MonthCalendar",state:"hasFocus",controlled:x,default:v??!1}),K=Ct(ee=>{Z(ee),S&&S(ee)}),te=y.useCallback(ee=>{const ce=_.startOfMonth(u&&_.isAfter(L,f)?L:f),me=_.startOfMonth(c&&_.isBefore(L,d)?L:d),we=_.startOfMonth(ee);return _.isBefore(we,ce)||_.isAfter(we,me)?!0:m?m(we):!1},[c,u,d,f,L,m,_]),pe=Ct((ee,ce)=>{if(g)return;const me=_.setMonth(I??D,ce);R(me)}),ie=Ct(ee=>{te(_.setMonth(I??D,ee))||(X(ee),K(!0),w&&w(ee))});y.useEffect(()=>{X(ee=>U!==null&&ee!==U?U:ee)},[U]);const le=Ct((ee,ce)=>{switch(ee.key){case"ArrowUp":ie((12+ce-3)%12),ee.preventDefault();break;case"ArrowDown":ie((12+ce+3)%12),ee.preventDefault();break;case"ArrowLeft":ie((12+ce+(j?1:-1))%12),ee.preventDefault();break;case"ArrowRight":ie((12+ce+(j?-1:1))%12),ee.preventDefault();break}}),re=Ct((ee,ce)=>{ie(ce)}),fe=Ct((ee,ce)=>{q===ce&&K(!1)});return $.jsx(Slt,ue({ref:n,className:de(F.root,o),ownerState:z,role:"radiogroup","aria-labelledby":E},A,{children:CB(_,I??D).map(ee=>{const ce=_.getMonth(ee),me=_.format(ee,"monthShort"),we=_.format(ee,"month"),ge=ce===U,Se=l||te(ee);return $.jsx(ylt,{selected:ge,value:ce,onClick:pe,onKeyDown:le,autoFocus:ae&&ce===q,disabled:Se,tabIndex:ce===q&&!Se?0:-1,onFocus:re,onBlur:fe,"aria-current":H===ce?"date":void 0,"aria-label":we,monthsPerRow:P,slots:O,slotProps:k,children:me},me)})}))});function Plt(e){return Fn("MuiPickersYear",e)}const nP=Un("MuiPickersYear",["root","yearButton","selected","disabled"]),Tlt=["autoFocus","className","children","disabled","selected","value","tabIndex","onClick","onKeyDown","onFocus","onBlur","aria-current","yearsPerRow","slots","slotProps"],Elt=e=>{const{disabled:t,selected:n,classes:r}=e;return Dn({root:["root"],yearButton:["yearButton",t&&"disabled",n&&"selected"]},Plt,r)},Olt=oe("div",{name:"MuiPickersYear",slot:"Root",overridesResolver:(e,t)=>[t.root]})({display:"flex",alignItems:"center",justifyContent:"center",flexBasis:"33.3%",variants:[{props:{yearsPerRow:4},style:{flexBasis:"25%"}}]}),Ilt=oe("button",{name:"MuiPickersYear",slot:"YearButton",overridesResolver:(e,t)=>[t.yearButton,{[`&.${nP.disabled}`]:t.disabled},{[`&.${nP.selected}`]:t.selected}]})(({theme:e})=>ue({color:"unset",backgroundColor:"transparent",border:0,outline:0},e.typography.subtitle1,{margin:"6px 0",height:36,width:72,borderRadius:18,cursor:"pointer","&:focus":{backgroundColor:e.vars?`rgba(${e.vars.palette.action.activeChannel} / ${e.vars.palette.action.focusOpacity})`:mt(e.palette.action.active,e.palette.action.focusOpacity)},"&:hover":{backgroundColor:e.vars?`rgba(${e.vars.palette.action.activeChannel} / ${e.vars.palette.action.hoverOpacity})`:mt(e.palette.action.active,e.palette.action.hoverOpacity)},"&:disabled":{cursor:"auto",pointerEvents:"none"},[`&.${nP.disabled}`]:{color:(e.vars||e).palette.text.secondary},[`&.${nP.selected}`]:{color:(e.vars||e).palette.primary.contrastText,backgroundColor:(e.vars||e).palette.primary.main,"&:focus, &:hover":{backgroundColor:(e.vars||e).palette.primary.dark}}})),klt=y.memo(function(t){const n=Zt({props:t,name:"MuiPickersYear"}),{autoFocus:r,className:o,children:i,disabled:a,selected:s,value:l,tabIndex:c,onClick:u,onKeyDown:d,onFocus:f,onBlur:p,"aria-current":m,slots:g,slotProps:v}=n,w=_t(n,Tlt),x=y.useRef(null),S=Elt(n);Uc(()=>{var E;r&&((E=x.current)==null||E.focus())},[r]);const P=(g==null?void 0:g.yearButton)??Ilt,T=Vn({elementType:P,externalSlotProps:v==null?void 0:v.yearButton,additionalProps:{children:i,disabled:a,tabIndex:c,ref:x,type:"button",role:"radio","aria-current":m,"aria-checked":s,onClick:E=>u(E,l),onKeyDown:E=>d(E,l),onFocus:E=>f(E,l),onBlur:E=>p(E,l)},ownerState:n,className:S.yearButton});return $.jsx(Olt,ue({className:de(S.root,o),ownerState:n},w,{children:$.jsx(P,ue({},T))}))});function Mlt(e){return Fn("MuiYearCalendar",e)}Un("MuiYearCalendar",["root"]);const Alt=["autoFocus","className","value","defaultValue","referenceDate","disabled","disableFuture","disablePast","maxDate","minDate","onChange","readOnly","shouldDisableYear","disableHighlightToday","onYearFocus","hasFocus","onFocusedViewChange","yearsOrder","yearsPerRow","timezone","gridLabelId","slots","slotProps"],$lt=e=>{const{classes:t}=e;return Dn({root:["root"]},Mlt,t)};function Rlt(e,t){const n=hn(),r=tm(),o=Zt({props:e,name:t});return ue({disablePast:!1,disableFuture:!1},o,{yearsPerRow:o.yearsPerRow??3,minDate:Ti(n,o.minDate,r.minDate),maxDate:Ti(n,o.maxDate,r.maxDate)})}const _lt=oe("div",{name:"MuiYearCalendar",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"flex",flexDirection:"row",flexWrap:"wrap",overflowY:"auto",height:"100%",padding:"0 4px",width:Lk,maxHeight:tit,boxSizing:"border-box",position:"relative"}),Dlt=y.forwardRef(function(t,n){const r=Rlt(t,"MuiYearCalendar"),{autoFocus:o,className:i,value:a,defaultValue:s,referenceDate:l,disabled:c,disableFuture:u,disablePast:d,maxDate:f,minDate:p,onChange:m,readOnly:g,shouldDisableYear:v,onYearFocus:w,hasFocus:x,onFocusedViewChange:S,yearsOrder:P="asc",yearsPerRow:T,timezone:E,gridLabelId:O,slots:k,slotProps:A}=r,I=_t(r,Alt),{value:R,handleValueChange:N,timezone:L}=pb({name:"YearCalendar",timezone:E,value:a,defaultValue:s,onChange:m,valueManager:ro}),j=nm(L),_=nr(),D=hn(),z=y.useMemo(()=>ro.getInitialReferenceValue({value:R,utils:D,props:r,timezone:L,referenceDate:l,granularity:Vl.year}),[]),F=r,H=$lt(F),U=y.useMemo(()=>D.getYear(j),[D,j]),q=y.useMemo(()=>R!=null?D.getYear(R):null,[R,D]),[X,ae]=y.useState(()=>q||D.getYear(z)),[Z,K]=Dh({name:"YearCalendar",state:"hasFocus",controlled:x,default:o??!1}),te=Ct(xe=>{K(xe),S&&S(xe)}),pe=y.useCallback(xe=>{if(d&&D.isBeforeYear(xe,j)||u&&D.isAfterYear(xe,j)||p&&D.isBeforeYear(xe,p)||f&&D.isAfterYear(xe,f))return!0;if(!v)return!1;const Ie=D.startOfYear(xe);return v(Ie)},[u,d,f,p,j,v,D]),ie=Ct((xe,Ie)=>{if(g)return;const Re=D.setYear(R??z,Ie);N(Re)}),le=Ct(xe=>{pe(D.setYear(R??z,xe))||(ae(xe),te(!0),w==null||w(xe))});y.useEffect(()=>{ae(xe=>q!==null&&xe!==q?q:xe)},[q]);const re=P!=="desc"?T*1:T*-1,fe=_&&P==="asc"||!_&&P==="desc"?-1:1,ee=Ct((xe,Ie)=>{switch(xe.key){case"ArrowUp":le(Ie-re),xe.preventDefault();break;case"ArrowDown":le(Ie+re),xe.preventDefault();break;case"ArrowLeft":le(Ie-fe),xe.preventDefault();break;case"ArrowRight":le(Ie+fe),xe.preventDefault();break}}),ce=Ct((xe,Ie)=>{le(Ie)}),me=Ct((xe,Ie)=>{X===Ie&&te(!1)}),we=y.useRef(null),ge=Qi(n,we);y.useEffect(()=>{if(o||we.current===null)return;const xe=we.current.querySelector('[tabindex="0"]');if(!xe)return;const Ie=xe.offsetHeight,Re=xe.offsetTop,_e=we.current.clientHeight,ye=we.current.scrollTop,Te=Re+Ie;Ie>_e||Re{const Ie=D.getYear(xe),Re=Ie===q,_e=c||pe(xe);return $.jsx(klt,{selected:Re,value:Ie,onClick:ie,onKeyDown:ee,autoFocus:Z&&Ie===X,disabled:_e,tabIndex:Ie===X&&!_e?0:-1,onFocus:ce,onBlur:me,"aria-current":U===Ie?"date":void 0,yearsPerRow:T,slots:k,slotProps:A,children:D.format(xe,"year")},D.format(xe,"year"))})}))}),Nlt=e=>Fn("MuiPickersCalendarHeader",e),Llt=Un("MuiPickersCalendarHeader",["root","labelContainer","label","switchViewButton","switchViewIcon"]),Flt=["slots","slotProps","currentMonth","disabled","disableFuture","disablePast","maxDate","minDate","onMonthChange","onViewChange","view","reduceAnimations","views","labelId","className","timezone","format"],jlt=["ownerState"],Blt=e=>{const{classes:t}=e;return Dn({root:["root"],labelContainer:["labelContainer"],label:["label"],switchViewButton:["switchViewButton"],switchViewIcon:["switchViewIcon"]},Nlt,t)},zlt=oe("div",{name:"MuiPickersCalendarHeader",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"flex",alignItems:"center",marginTop:12,marginBottom:4,paddingLeft:24,paddingRight:12,maxHeight:40,minHeight:40}),Vlt=oe("div",{name:"MuiPickersCalendarHeader",slot:"LabelContainer",overridesResolver:(e,t)=>t.labelContainer})(({theme:e})=>ue({display:"flex",overflow:"hidden",alignItems:"center",cursor:"pointer",marginRight:"auto"},e.typography.body1,{fontWeight:e.typography.fontWeightMedium})),Hlt=oe("div",{name:"MuiPickersCalendarHeader",slot:"Label",overridesResolver:(e,t)=>t.label})({marginRight:6}),Ult=oe(kn,{name:"MuiPickersCalendarHeader",slot:"SwitchViewButton",overridesResolver:(e,t)=>t.switchViewButton})({marginRight:"auto",variants:[{props:{view:"year"},style:{[`.${Llt.switchViewIcon}`]:{transform:"rotate(180deg)"}}}]}),Wlt=oe(Lot,{name:"MuiPickersCalendarHeader",slot:"SwitchViewIcon",overridesResolver:(e,t)=>t.switchViewIcon})(({theme:e})=>({willChange:"transform",transition:e.transitions.create("transform"),transform:"rotate(0deg)"})),Glt=y.forwardRef(function(t,n){const r=To(),o=hn(),i=Zt({props:t,name:"MuiPickersCalendarHeader"}),{slots:a,slotProps:s,currentMonth:l,disabled:c,disableFuture:u,disablePast:d,maxDate:f,minDate:p,onMonthChange:m,onViewChange:g,view:v,reduceAnimations:w,views:x,labelId:S,className:P,timezone:T,format:E=`${o.formats.month} ${o.formats.year}`}=i,O=_t(i,Flt),k=i,A=Blt(i),I=(a==null?void 0:a.switchViewButton)??Ult,R=Vn({elementType:I,externalSlotProps:s==null?void 0:s.switchViewButton,additionalProps:{size:"small","aria-label":r.calendarViewSwitchingButtonAriaLabel(v)},ownerState:k,className:A.switchViewButton}),N=(a==null?void 0:a.switchViewIcon)??Wlt,L=Vn({elementType:N,externalSlotProps:s==null?void 0:s.switchViewIcon,ownerState:k,className:A.switchViewIcon}),j=_t(L,jlt),_=()=>m(o.addMonths(l,1),"left"),D=()=>m(o.addMonths(l,-1),"right"),z=Zot(l,{disableFuture:u,maxDate:f,timezone:T}),F=eit(l,{disablePast:d,minDate:p,timezone:T}),H=()=>{if(!(x.length===1||!g||c))if(x.length===2)g(x.find(q=>q!==v)||x[0]);else{const q=x.indexOf(v)!==0?0:1;g(x[q])}};if(x.length===1&&x[0]==="year")return null;const U=o.formatByString(l,E);return $.jsxs(zlt,ue({},O,{ownerState:k,className:de(A.root,P),ref:n,children:[$.jsxs(Vlt,{role:"presentation",onClick:H,ownerState:k,"aria-live":"polite",className:A.labelContainer,children:[$.jsx(gie,{reduceAnimations:w,transKey:U,children:$.jsx(Hlt,{id:S,ownerState:k,className:A.label,children:U})}),x.length>1&&!c&&$.jsx(I,ue({},R,{children:$.jsx(N,ue({},j))}))]}),$.jsx(jv,{in:v==="day",children:$.jsx(zoe,{slots:a,slotProps:s,onGoToPrevious:D,isPreviousDisabled:F,previousLabel:r.previousMonth,onGoToNext:_,isNextDisabled:z,nextLabel:r.nextMonth})})]}))}),qlt="@media (prefers-reduced-motion: reduce)",ly=typeof navigator<"u"&&navigator.userAgent.match(/android\s(\d+)|OS\s(\d+)/i),h9=ly&&ly[1]?parseInt(ly[1],10):null,m9=ly&&ly[2]?parseInt(ly[2],10):null,Klt=h9&&h9<10||m9&&m9<13||!1,vie=()=>yS(qlt,{defaultMatches:!1})||Klt,Ylt=e=>Fn("MuiDateCalendar",e);Un("MuiDateCalendar",["root","viewTransitionContainer"]);const Xlt=["autoFocus","onViewChange","value","defaultValue","referenceDate","disableFuture","disablePast","onChange","onYearChange","onMonthChange","reduceAnimations","shouldDisableDate","shouldDisableMonth","shouldDisableYear","view","views","openTo","className","disabled","readOnly","minDate","maxDate","disableHighlightToday","focusedView","onFocusedViewChange","showDaysOutsideCurrentMonth","fixedWeekNumber","dayOfWeekFormatter","slots","slotProps","loading","renderLoading","displayWeekNumber","yearsOrder","yearsPerRow","monthsPerRow","timezone"],Qlt=e=>{const{classes:t}=e;return Dn({root:["root"],viewTransitionContainer:["viewTransitionContainer"]},Ylt,t)};function Jlt(e,t){const n=hn(),r=tm(),o=vie(),i=Zt({props:e,name:t});return ue({},i,{loading:i.loading??!1,disablePast:i.disablePast??!1,disableFuture:i.disableFuture??!1,openTo:i.openTo??"day",views:i.views??["year","day"],reduceAnimations:i.reduceAnimations??o,renderLoading:i.renderLoading??(()=>$.jsx("span",{children:"..."})),minDate:Ti(n,i.minDate,r.minDate),maxDate:Ti(n,i.maxDate,r.maxDate)})}const Zlt=oe(jk,{name:"MuiDateCalendar",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"flex",flexDirection:"column",height:Fk}),ect=oe(gie,{name:"MuiDateCalendar",slot:"ViewTransitionContainer",overridesResolver:(e,t)=>t.viewTransitionContainer})({}),tct=y.forwardRef(function(t,n){const r=hn(),o=db(),i=Jlt(t,"MuiDateCalendar"),{autoFocus:a,onViewChange:s,value:l,defaultValue:c,referenceDate:u,disableFuture:d,disablePast:f,onChange:p,onYearChange:m,onMonthChange:g,reduceAnimations:v,shouldDisableDate:w,shouldDisableMonth:x,shouldDisableYear:S,view:P,views:T,openTo:E,className:O,disabled:k,readOnly:A,minDate:I,maxDate:R,disableHighlightToday:N,focusedView:L,onFocusedViewChange:j,showDaysOutsideCurrentMonth:_,fixedWeekNumber:D,dayOfWeekFormatter:z,slots:F,slotProps:H,loading:U,renderLoading:q,displayWeekNumber:X,yearsOrder:ae,yearsPerRow:Z,monthsPerRow:K,timezone:te}=i,pe=_t(i,Xlt),{value:ie,handleValueChange:le,timezone:re}=pb({name:"DateCalendar",timezone:te,value:l,defaultValue:c,onChange:p,valueManager:ro}),{view:fe,setView:ee,focusedView:ce,setFocusedView:me,goToNextView:we,setValueAndGoToNextView:ge}=QS({view:P,views:T,openTo:E,onChange:le,onViewChange:s,autoFocus:a,focusedView:L,onFocusedViewChange:j}),{referenceDate:Se,calendarState:xe,changeFocusedDay:Ie,changeMonth:Re,handleChangeMonth:_e,isDateDisabled:ye,onMonthSwitchingAnimationEnd:Te}=Vst({value:ie,referenceDate:u,reduceAnimations:v,onMonthChange:g,minDate:I,maxDate:R,shouldDisableDate:w,disablePast:f,disableFuture:d,timezone:re}),Oe=k&&ie||I,Me=k&&ie||R,We=`${o}-grid-label`,Ve=ce!==null,Qe=(F==null?void 0:F.calendarHeader)??Glt,ut=Vn({elementType:Qe,externalSlotProps:H==null?void 0:H.calendarHeader,additionalProps:{views:T,view:fe,currentMonth:xe.currentMonth,onViewChange:ee,onMonthChange:(Ot,un)=>_e({newMonth:Ot,direction:un}),minDate:Oe,maxDate:Me,disabled:k,disablePast:f,disableFuture:d,reduceAnimations:v,timezone:re,labelId:We},ownerState:i}),nt=Ct(Ot=>{const un=r.startOfMonth(Ot),jn=r.endOfMonth(Ot),Wn=ye(Ot)?Tw({utils:r,date:Ot,minDate:r.isBefore(I,un)?un:I,maxDate:r.isAfter(R,jn)?jn:R,disablePast:f,disableFuture:d,isDateDisabled:ye,timezone:re}):Ot;Wn?(ge(Wn,"finish"),g==null||g(un)):(we(),Re(un)),Ie(Wn,!0)}),et=Ct(Ot=>{const un=r.startOfYear(Ot),jn=r.endOfYear(Ot),Wn=ye(Ot)?Tw({utils:r,date:Ot,minDate:r.isBefore(I,un)?un:I,maxDate:r.isAfter(R,jn)?jn:R,disablePast:f,disableFuture:d,isDateDisabled:ye,timezone:re}):Ot;Wn?(ge(Wn,"finish"),m==null||m(Wn)):(we(),Re(un)),Ie(Wn,!0)}),yt=Ct(Ot=>le(Ot&&tO(r,Ot,ie??Se),"finish",fe));y.useEffect(()=>{ie!=null&&r.isValid(ie)&&Re(ie)},[ie]);const wn=i,Ke=Qlt(wn),$e={disablePast:f,disableFuture:d,maxDate:R,minDate:I},Xe={disableHighlightToday:N,readOnly:A,disabled:k,timezone:re,gridLabelId:We,slots:F,slotProps:H},bt=y.useRef(fe);y.useEffect(()=>{bt.current!==fe&&(ce===bt.current&&me(fe,!0),bt.current=fe)},[ce,me,fe]);const Vt=y.useMemo(()=>[ie],[ie]);return $.jsxs(Zlt,ue({ref:n,className:de(Ke.root,O),ownerState:wn},pe,{children:[$.jsx(Qe,ue({},ut,{slots:F,slotProps:H})),$.jsx(ect,{reduceAnimations:v,className:Ke.viewTransitionContainer,transKey:fe,ownerState:wn,children:$.jsxs("div",{children:[fe==="year"&&$.jsx(Dlt,ue({},$e,Xe,{value:ie,onChange:et,shouldDisableYear:S,hasFocus:Ve,onFocusedViewChange:Ot=>me("year",Ot),yearsOrder:ae,yearsPerRow:Z,referenceDate:Se})),fe==="month"&&$.jsx(Clt,ue({},$e,Xe,{hasFocus:Ve,className:O,value:ie,onChange:nt,shouldDisableMonth:x,onFocusedViewChange:Ot=>me("month",Ot),monthsPerRow:K,referenceDate:Se})),fe==="day"&&$.jsx(dlt,ue({},xe,$e,Xe,{onMonthSwitchingAnimationEnd:Te,onFocusedDayChange:Ie,reduceAnimations:v,selectedDays:Vt,onSelectedDaysChange:yt,shouldDisableDate:w,shouldDisableMonth:x,shouldDisableYear:S,hasFocus:Ve,onFocusedViewChange:Ot=>me("day",Ot),showDaysOutsideCurrentMonth:_,fixedWeekNumber:D,dayOfWeekFormatter:z,displayWeekNumber:X,loading:U,renderLoading:q}))]})})]}))});function bie(e){return Fn("MuiPickersToolbar",e)}const nct=Un("MuiPickersToolbar",["root","content"]),rct=["children","className","toolbarTitle","hidden","titleId","isLandscape","classes","landscapeDirection"],oct=e=>{const{classes:t,isLandscape:n}=e;return Dn({root:["root"],content:["content"],penIconButton:["penIconButton",n&&"penIconButtonLandscape"]},bie,t)},ict=oe("div",{name:"MuiPickersToolbar",slot:"Root",overridesResolver:(e,t)=>t.root})(({theme:e})=>({display:"flex",flexDirection:"column",alignItems:"flex-start",justifyContent:"space-between",padding:e.spacing(2,3),variants:[{props:{isLandscape:!0},style:{height:"auto",maxWidth:160,padding:16,justifyContent:"flex-start",flexWrap:"wrap"}}]})),act=oe("div",{name:"MuiPickersToolbar",slot:"Content",overridesResolver:(e,t)=>t.content})({display:"flex",flexWrap:"wrap",width:"100%",flex:1,justifyContent:"space-between",alignItems:"center",flexDirection:"row",variants:[{props:{isLandscape:!0},style:{justifyContent:"flex-start",alignItems:"flex-start",flexDirection:"column"}},{props:{isLandscape:!0,landscapeDirection:"row"},style:{flexDirection:"row"}}]}),FB=y.forwardRef(function(t,n){const r=Zt({props:t,name:"MuiPickersToolbar"}),{children:o,className:i,toolbarTitle:a,hidden:s,titleId:l}=r,c=_t(r,rct),u=r,d=oct(u);return s?null:$.jsxs(ict,ue({ref:n,className:de(d.root,i),ownerState:u},c,{children:[$.jsx(ct,{color:"text.secondary",variant:"overline",id:l,children:a}),$.jsx(act,{className:d.content,ownerState:u,children:o})]}))});function sct(e){return Fn("MuiDatePickerToolbar",e)}Un("MuiDatePickerToolbar",["root","title"]);const lct=["value","isLandscape","onChange","toolbarFormat","toolbarPlaceholder","views","className","onViewChange","view"],cct=e=>{const{classes:t}=e;return Dn({root:["root"],title:["title"]},sct,t)},uct=oe(FB,{name:"MuiDatePickerToolbar",slot:"Root",overridesResolver:(e,t)=>t.root})({}),dct=oe(ct,{name:"MuiDatePickerToolbar",slot:"Title",overridesResolver:(e,t)=>t.title})({variants:[{props:{isLandscape:!0},style:{margin:"auto 16px auto auto"}}]}),fct=y.forwardRef(function(t,n){const r=Zt({props:t,name:"MuiDatePickerToolbar"}),{value:o,isLandscape:i,toolbarFormat:a,toolbarPlaceholder:s="––",views:l,className:c}=r,u=_t(r,lct),d=hn(),f=To(),p=cct(r),m=y.useMemo(()=>{if(!o)return s;const v=Ux(d,{format:a,views:l},!0);return d.formatByString(o,v)},[o,a,s,d,l]),g=r;return $.jsx(uct,ue({ref:n,toolbarTitle:f.datePickerToolbarTitle,isLandscape:i,className:de(p.root,c)},u,{children:$.jsx(dct,{variant:"h4",align:i?"left":"center",ownerState:g,className:p.title,children:m})}))});function wie(e,t){const n=hn(),r=tm(),o=Zt({props:e,name:t}),i=y.useMemo(()=>{var a;return((a=o.localeText)==null?void 0:a.toolbarTitle)==null?o.localeText:ue({},o.localeText,{datePickerToolbarTitle:o.localeText.toolbarTitle})},[o.localeText]);return ue({},o,{localeText:i},SB({views:o.views,openTo:o.openTo,defaultViews:["year","day"],defaultOpenTo:"day"}),{disableFuture:o.disableFuture??!1,disablePast:o.disablePast??!1,minDate:Ti(n,o.minDate,r.minDate),maxDate:Ti(n,o.maxDate,r.maxDate),slots:ue({toolbar:fct},o.slots)})}function pct(e){return Fn("MuiPickersPopper",e)}Un("MuiPickersPopper",["root","paper"]);const hct=["PaperComponent","popperPlacement","ownerState","children","paperSlotProps","paperClasses","onPaperClick","onPaperTouchStart"],mct=e=>{const{classes:t}=e;return Dn({root:["root"],paper:["paper"]},pct,t)},gct=oe(Hf,{name:"MuiPickersPopper",slot:"Root",overridesResolver:(e,t)=>t.root})(({theme:e})=>({zIndex:e.zIndex.modal})),yct=oe(uo,{name:"MuiPickersPopper",slot:"Paper",overridesResolver:(e,t)=>t.paper})({outline:0,transformOrigin:"top center",variants:[{props:({placement:e})=>["top","top-start","top-end"].includes(e),style:{transformOrigin:"bottom center"}}]});function vct(e,t){return t.documentElement.clientWidth{if(!e)return;function l(){i.current=!0}return document.addEventListener("mousedown",l,!0),document.addEventListener("touchstart",l,!0),()=>{document.removeEventListener("mousedown",l,!0),document.removeEventListener("touchstart",l,!0),i.current=!1}},[e]);const a=Ct(l=>{if(!i.current)return;const c=r.current;r.current=!1;const u=sR(o.current);if(!o.current||"clientX"in l&&vct(l,u))return;if(n.current){n.current=!1;return}let d;l.composedPath?d=l.composedPath().indexOf(o.current)>-1:d=!u.documentElement.contains(l.target)||o.current.contains(l.target),!d&&!c&&t(l)}),s=()=>{r.current=!0};return y.useEffect(()=>{if(e){const l=sR(o.current),c=()=>{n.current=!0};return l.addEventListener("touchstart",a),l.addEventListener("touchmove",c),()=>{l.removeEventListener("touchstart",a),l.removeEventListener("touchmove",c)}}},[e,a]),y.useEffect(()=>{if(e){const l=sR(o.current);return l.addEventListener("click",a),()=>{l.removeEventListener("click",a),r.current=!1}}},[e,a]),[o,s,s]}const wct=y.forwardRef((e,t)=>{const{PaperComponent:n,popperPlacement:r,ownerState:o,children:i,paperSlotProps:a,paperClasses:s,onPaperClick:l,onPaperTouchStart:c}=e,u=_t(e,hct),d=ue({},o,{placement:r}),f=Vn({elementType:n,externalSlotProps:a,additionalProps:{tabIndex:-1,elevation:8,ref:t},className:s,ownerState:d});return $.jsx(n,ue({},u,f,{onClick:p=>{var m;l(p),(m=f.onClick)==null||m.call(f,p)},onTouchStart:p=>{var m;c(p),(m=f.onTouchStart)==null||m.call(f,p)},ownerState:d,children:i}))});function xct(e){const t=Zt({props:e,name:"MuiPickersPopper"}),{anchorEl:n,children:r,containerRef:o=null,shouldRestoreFocus:i,onBlur:a,onDismiss:s,open:l,role:c,placement:u,slots:d,slotProps:f,reduceAnimations:p}=t;y.useEffect(()=>{function _(D){l&&D.key==="Escape"&&s()}return document.addEventListener("keydown",_),()=>{document.removeEventListener("keydown",_)}},[s,l]);const m=y.useRef(null);y.useEffect(()=>{c==="tooltip"||i&&!i()||(l?m.current=ua(document):m.current&&m.current instanceof HTMLElement&&setTimeout(()=>{m.current instanceof HTMLElement&&m.current.focus()}))},[l,c,i]);const[g,v,w]=bct(l,a??s),x=y.useRef(null),S=Qi(x,o),P=Qi(S,g),T=t,E=mct(T),O=vie(),k=p??O,A=_=>{_.key==="Escape"&&(_.stopPropagation(),s())},I=(d==null?void 0:d.desktopTransition)??k?jv:kf,R=(d==null?void 0:d.desktopTrapFocus)??KF,N=(d==null?void 0:d.desktopPaper)??yct,L=(d==null?void 0:d.popper)??gct,j=Vn({elementType:L,externalSlotProps:f==null?void 0:f.popper,additionalProps:{transition:!0,role:c,open:l,anchorEl:n,placement:u,onKeyDown:A},className:E.root,ownerState:t});return $.jsx(L,ue({},j,{children:({TransitionProps:_,placement:D})=>$.jsx(R,ue({open:l,disableAutoFocus:!0,disableRestoreFocus:!0,disableEnforceFocus:c==="tooltip",isEnabled:()=>!0},f==null?void 0:f.desktopTrapFocus,{children:$.jsx(I,ue({},_,f==null?void 0:f.desktopTransition,{children:$.jsx(wct,{PaperComponent:N,ownerState:T,popperPlacement:D,ref:P,onPaperClick:v,onPaperTouchStart:w,paperClasses:E.paper,paperSlotProps:f==null?void 0:f.desktopPaper,children:r})}))}))}))}const Sct=({open:e,onOpen:t,onClose:n})=>{const r=y.useRef(typeof e=="boolean").current,[o,i]=y.useState(!1);y.useEffect(()=>{if(r){if(typeof e!="boolean")throw new Error("You must not mix controlling and uncontrolled mode for `open` prop");i(e)}},[r,e]);const a=y.useCallback(s=>{r||i(s),s&&t&&t(),!s&&n&&n()},[r,t,n]);return{isOpen:o,setIsOpen:a}},Cct=e=>{const{action:t,hasChanged:n,dateState:r,isControlled:o}=e,i=!o&&!r.hasBeenModifiedSinceMount;return t.name==="setValueFromField"?!0:t.name==="setValueFromAction"?i&&["accept","today","clear"].includes(t.pickerAction)?!0:n(r.lastPublishedValue):t.name==="setValueFromView"&&t.selectionState!=="shallow"||t.name==="setValueFromShortcut"?i?!0:n(r.lastPublishedValue):!1},Pct=e=>{const{action:t,hasChanged:n,dateState:r,isControlled:o,closeOnSelect:i}=e,a=!o&&!r.hasBeenModifiedSinceMount;return t.name==="setValueFromAction"?a&&["accept","today","clear"].includes(t.pickerAction)?!0:n(r.lastCommittedValue):t.name==="setValueFromView"&&t.selectionState==="finish"&&i?a?!0:n(r.lastCommittedValue):t.name==="setValueFromShortcut"?t.changeImportance==="accept"&&n(r.lastCommittedValue):!1},Tct=e=>{const{action:t,closeOnSelect:n}=e;return t.name==="setValueFromAction"?!0:t.name==="setValueFromView"?t.selectionState==="finish"&&n:t.name==="setValueFromShortcut"?t.changeImportance==="accept":!1},Ect=({props:e,valueManager:t,valueType:n,wrapperVariant:r,validator:o})=>{const{onAccept:i,onChange:a,value:s,defaultValue:l,closeOnSelect:c=r==="desktop",timezone:u}=e,{current:d}=y.useRef(l),{current:f}=y.useRef(s!==void 0),p=hn(),m=em(),{isOpen:g,setIsOpen:v}=Sct(e),{timezone:w,value:x,handleValueChange:S}=TB({timezone:u,value:s,defaultValue:d,onChange:a,valueManager:t}),[P,T]=y.useState(()=>{let K;return x!==void 0?K=x:d!==void 0?K=d:K=t.emptyValue,{draft:K,lastPublishedValue:K,lastCommittedValue:K,lastControlledValue:x,hasBeenModifiedSinceMount:!1}}),{getValidationErrorForNewValue:E}=rie({props:e,validator:o,timezone:w,value:P.draft,onError:e.onError}),O=Ct(K=>{const te={action:K,dateState:P,hasChanged:ee=>!t.areValuesEqual(p,K.value,ee),isControlled:f,closeOnSelect:c},pe=Cct(te),ie=Pct(te),le=Tct(te);T(ee=>ue({},ee,{draft:K.value,lastPublishedValue:pe?K.value:ee.lastPublishedValue,lastCommittedValue:ie?K.value:ee.lastCommittedValue,hasBeenModifiedSinceMount:!0}));let re=null;const fe=()=>(re||(re={validationError:K.name==="setValueFromField"?K.context.validationError:E(K.value)},K.name==="setValueFromShortcut"&&(re.shortcut=K.shortcut)),re);pe&&S(K.value,fe()),ie&&i&&i(K.value,fe()),le&&v(!1)});if(x!==void 0&&(P.lastControlledValue===void 0||!t.areValuesEqual(p,P.lastControlledValue,x))){const K=t.areValuesEqual(p,P.draft,x);T(te=>ue({},te,{lastControlledValue:x},K?{}:{lastCommittedValue:x,lastPublishedValue:x,draft:x,hasBeenModifiedSinceMount:!0}))}const k=Ct(()=>{O({value:t.emptyValue,name:"setValueFromAction",pickerAction:"clear"})}),A=Ct(()=>{O({value:P.lastPublishedValue,name:"setValueFromAction",pickerAction:"accept"})}),I=Ct(()=>{O({value:P.lastPublishedValue,name:"setValueFromAction",pickerAction:"dismiss"})}),R=Ct(()=>{O({value:P.lastCommittedValue,name:"setValueFromAction",pickerAction:"cancel"})}),N=Ct(()=>{O({value:t.getTodayValue(p,w,n),name:"setValueFromAction",pickerAction:"today"})}),L=Ct(K=>{K.preventDefault(),v(!0)}),j=Ct(K=>{K==null||K.preventDefault(),v(!1)}),_=Ct((K,te="partial")=>O({name:"setValueFromView",value:K,selectionState:te})),D=Ct((K,te,pe)=>O({name:"setValueFromShortcut",value:K,changeImportance:te,shortcut:pe})),z=Ct((K,te)=>O({name:"setValueFromField",value:K,context:te})),F={onClear:k,onAccept:A,onDismiss:I,onCancel:R,onSetToday:N,onOpen:L,onClose:j},H={value:P.draft,onChange:z},U=y.useMemo(()=>t.cleanValue(p,P.draft),[p,t,P.draft]),q={value:U,onChange:_,onClose:j,open:g},ae=ue({},F,{value:U,onChange:_,onSelectShortcut:D,isValid:K=>{const te=o({adapter:m,value:K,timezone:w,props:e});return!t.hasError(te)}}),Z=y.useMemo(()=>({onOpen:L,onClose:j,open:g}),[g,j,L]);return{open:g,fieldProps:H,viewProps:q,layoutProps:ae,actions:F,contextValue:Z}},Oct=["className","sx"],Ict=({props:e,propsFromPickerValue:t,additionalViewProps:n,autoFocusView:r,rendererInterceptor:o,fieldRef:i})=>{const{onChange:a,open:s,onClose:l}=t,{view:c,views:u,openTo:d,onViewChange:f,viewRenderers:p,timezone:m}=e,g=_t(e,Oct),{view:v,setView:w,defaultView:x,focusedView:S,setFocusedView:P,setValueAndGoToNextView:T}=QS({view:c,views:u,openTo:d,onChange:a,onViewChange:f,autoFocus:r}),{hasUIView:E,viewModeLookup:O}=y.useMemo(()=>u.reduce((j,_)=>{let D;return p[_]!=null?D="UI":D="field",j.viewModeLookup[_]=D,D==="UI"&&(j.hasUIView=!0),j},{hasUIView:!1,viewModeLookup:{}}),[p,u]),k=y.useMemo(()=>u.reduce((j,_)=>p[_]!=null&&Sv(_)?j+1:j,0),[p,u]),A=O[v],I=Ct(()=>A==="UI"),[R,N]=y.useState(A==="UI"?v:null);return R!==v&&O[v]==="UI"&&N(v),Uc(()=>{A==="field"&&s&&(l(),setTimeout(()=>{var j,_;(j=i==null?void 0:i.current)==null||j.setSelectedSections(v),(_=i==null?void 0:i.current)==null||_.focusField(v)}))},[v]),Uc(()=>{if(!s)return;let j=v;A==="field"&&R!=null&&(j=R),j!==x&&O[j]==="UI"&&O[x]==="UI"&&(j=x),j!==v&&w(j),P(j,!0)},[s]),{hasUIView:E,shouldRestoreFocus:I,layoutProps:{views:u,view:R,onViewChange:w},renderCurrentView:()=>{if(R==null)return null;const j=p[R];if(j==null)return null;const _=ue({},g,n,t,{views:u,timezone:m,onChange:T,view:R,onViewChange:w,focusedView:S,onFocusedViewChange:P,showViewSwitcher:k>1,timeViewsCount:k});return o?o(p,R,_):j(_)}}};function g9(){return typeof window>"u"?"portrait":window.screen&&window.screen.orientation&&window.screen.orientation.angle?Math.abs(window.screen.orientation.angle)===90?"landscape":"portrait":window.orientation&&Math.abs(Number(window.orientation))===90?"landscape":"portrait"}const kct=(e,t)=>{const[n,r]=y.useState(g9);return Uc(()=>{const i=()=>{r(g9())};return window.addEventListener("orientationchange",i),()=>{window.removeEventListener("orientationchange",i)}},[]),pg(e,["hours","minutes","seconds"])?!1:(t||n)==="landscape"},Mct=({props:e,propsFromPickerValue:t,propsFromPickerViews:n,wrapperVariant:r})=>{const{orientation:o}=e,i=kct(n.views,o),a=nr();return{layoutProps:ue({},n,t,{isLandscape:i,isRtl:a,wrapperVariant:r,disabled:e.disabled,readOnly:e.readOnly})}};function Act(e){const{props:t,pickerValueResponse:n}=e;return y.useMemo(()=>({value:n.viewProps.value,open:n.open,disabled:t.disabled??!1,readOnly:t.readOnly??!1}),[n.viewProps.value,n.open,t.disabled,t.readOnly])}const xie=({props:e,valueManager:t,valueType:n,wrapperVariant:r,additionalViewProps:o,validator:i,autoFocusView:a,rendererInterceptor:s,fieldRef:l})=>{const c=Ect({props:e,valueManager:t,valueType:n,wrapperVariant:r,validator:i}),u=Ict({props:e,additionalViewProps:o,autoFocusView:a,fieldRef:l,propsFromPickerValue:c.viewProps,rendererInterceptor:s}),d=Mct({props:e,wrapperVariant:r,propsFromPickerValue:c.layoutProps,propsFromPickerViews:u.layoutProps}),f=Act({props:e,pickerValueResponse:c});return{open:c.open,actions:c.actions,fieldProps:c.fieldProps,renderCurrentView:u.renderCurrentView,hasUIView:u.hasUIView,shouldRestoreFocus:u.shouldRestoreFocus,layoutProps:d.layoutProps,contextValue:c.contextValue,ownerState:f}};function Sie(e){return Fn("MuiPickersLayout",e)}const jl=Un("MuiPickersLayout",["root","landscape","contentWrapper","toolbar","actionBar","tabs","shortcuts"]),$ct=["onAccept","onClear","onCancel","onSetToday","actions"];function Rct(e){const{onAccept:t,onClear:n,onCancel:r,onSetToday:o,actions:i}=e,a=_t(e,$ct),s=To();if(i==null||i.length===0)return null;const l=i==null?void 0:i.map(c=>{switch(c){case"clear":return $.jsx(gt,{onClick:n,children:s.clearButtonLabel},c);case"cancel":return $.jsx(gt,{onClick:r,children:s.cancelButtonLabel},c);case"accept":return $.jsx(gt,{onClick:t,children:s.okButtonLabel},c);case"today":return $.jsx(gt,{onClick:o,children:s.todayButtonLabel},c);default:return null}});return $.jsx(vZ,ue({},a,{children:l}))}const _ct=["items","changeImportance","isLandscape","onChange","isValid"],Dct=["getValue"];function Nct(e){const{items:t,changeImportance:n="accept",onChange:r,isValid:o}=e,i=_t(e,_ct);if(t==null||t.length===0)return null;const a=t.map(s=>{let{getValue:l}=s,c=_t(s,Dct);const u=l({isValid:o});return ue({},c,{label:c.label,onClick:()=>{r(u,n,c)},disabled:!o(u)})});return $.jsx(pl,ue({dense:!0,sx:[{maxHeight:Fk,maxWidth:200,overflow:"auto"},...Array.isArray(i.sx)?i.sx:[i.sx]]},i,{children:a.map(s=>$.jsx(ls,{children:$.jsx(kh,ue({},s))},s.id??s.label))}))}function Lct(e){return e.view!==null}const Fct=e=>{const{classes:t,isLandscape:n}=e;return Dn({root:["root",n&&"landscape"],contentWrapper:["contentWrapper"],toolbar:["toolbar"],actionBar:["actionBar"],tabs:["tabs"],landscape:["landscape"],shortcuts:["shortcuts"]},Sie,t)},Cie=e=>{const{wrapperVariant:t,onAccept:n,onClear:r,onCancel:o,onSetToday:i,view:a,views:s,onViewChange:l,value:c,onChange:u,onSelectShortcut:d,isValid:f,isLandscape:p,disabled:m,readOnly:g,children:v,slots:w,slotProps:x}=e,S=Fct(e),P=(w==null?void 0:w.actionBar)??Rct,T=Vn({elementType:P,externalSlotProps:x==null?void 0:x.actionBar,additionalProps:{onAccept:n,onClear:r,onCancel:o,onSetToday:i,actions:t==="desktop"?[]:["cancel","accept"]},className:S.actionBar,ownerState:ue({},e,{wrapperVariant:t})}),E=$.jsx(P,ue({},T)),O=w==null?void 0:w.toolbar,k=Vn({elementType:O,externalSlotProps:x==null?void 0:x.toolbar,additionalProps:{isLandscape:p,onChange:u,value:c,view:a,onViewChange:l,views:s,disabled:m,readOnly:g},className:S.toolbar,ownerState:ue({},e,{wrapperVariant:t})}),A=Lct(k)&&O?$.jsx(O,ue({},k)):null,I=v,R=w==null?void 0:w.tabs,N=a&&R?$.jsx(R,ue({view:a,onViewChange:l,className:S.tabs},x==null?void 0:x.tabs)):null,L=(w==null?void 0:w.shortcuts)??Nct,j=Vn({elementType:L,externalSlotProps:x==null?void 0:x.shortcuts,additionalProps:{isValid:f,isLandscape:p,onChange:d},className:S.shortcuts,ownerState:{isValid:f,isLandscape:p,onChange:d,wrapperVariant:t}}),_=a&&L?$.jsx(L,ue({},j)):null;return{toolbar:A,content:I,tabs:N,actionBar:E,shortcuts:_}},jct=e=>{const{isLandscape:t,classes:n}=e;return Dn({root:["root",t&&"landscape"],contentWrapper:["contentWrapper"]},Sie,n)},Pie=oe("div",{name:"MuiPickersLayout",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"grid",gridAutoColumns:"max-content auto max-content",gridAutoRows:"max-content auto max-content",[`& .${jl.actionBar}`]:{gridColumn:"1 / 4",gridRow:3},variants:[{props:{isLandscape:!0},style:{[`& .${jl.toolbar}`]:{gridColumn:1,gridRow:"2 / 3"},[`.${jl.shortcuts}`]:{gridColumn:"2 / 4",gridRow:1}}},{props:{isLandscape:!0,isRtl:!0},style:{[`& .${jl.toolbar}`]:{gridColumn:3}}},{props:{isLandscape:!1},style:{[`& .${jl.toolbar}`]:{gridColumn:"2 / 4",gridRow:1},[`& .${jl.shortcuts}`]:{gridColumn:1,gridRow:"2 / 3"}}},{props:{isLandscape:!1,isRtl:!0},style:{[`& .${jl.shortcuts}`]:{gridColumn:3}}}]}),Tie=oe("div",{name:"MuiPickersLayout",slot:"ContentWrapper",overridesResolver:(e,t)=>t.contentWrapper})({gridColumn:2,gridRow:2,display:"flex",flexDirection:"column"}),Eie=y.forwardRef(function(t,n){const r=Zt({props:t,name:"MuiPickersLayout"}),{toolbar:o,content:i,tabs:a,actionBar:s,shortcuts:l}=Cie(r),{sx:c,className:u,isLandscape:d,wrapperVariant:f}=r,p=jct(r);return $.jsxs(Pie,{ref:n,sx:c,className:de(p.root,u),ownerState:r,children:[d?l:o,d?o:l,$.jsx(Tie,{className:p.contentWrapper,children:f==="desktop"?$.jsxs(y.Fragment,{children:[i,a]}):$.jsxs(y.Fragment,{children:[a,i]})}),s]})}),Bct=["props","getOpenDialogAriaText"],zct=["ownerState"],Vct=["ownerState"],jB=e=>{var we;let{props:t,getOpenDialogAriaText:n}=e,r=_t(e,Bct);const{slots:o,slotProps:i,className:a,sx:s,format:l,formatDensity:c,enableAccessibleFieldDOMStructure:u,selectedSections:d,onSelectedSectionsChange:f,timezone:p,name:m,label:g,inputRef:v,readOnly:w,disabled:x,autoFocus:S,localeText:P,reduceAnimations:T}=t,E=y.useRef(null),O=y.useRef(null),k=db(),A=((we=i==null?void 0:i.toolbar)==null?void 0:we.hidden)??!1,{open:I,actions:R,hasUIView:N,layoutProps:L,renderCurrentView:j,shouldRestoreFocus:_,fieldProps:D,contextValue:z,ownerState:F}=xie(ue({},r,{props:t,fieldRef:O,autoFocusView:!0,additionalViewProps:{},wrapperVariant:"desktop"})),H=o.inputAdornment??po,U=Vn({elementType:H,externalSlotProps:i==null?void 0:i.inputAdornment,additionalProps:{position:"end"},ownerState:t}),q=_t(U,zct),X=o.openPickerButton??kn,ae=Vn({elementType:X,externalSlotProps:i==null?void 0:i.openPickerButton,additionalProps:{disabled:x||w,onClick:I?R.onClose:R.onOpen,"aria-label":n(D.value),edge:q.position},ownerState:t}),Z=_t(ae,Vct),K=o.openPickerIcon,te=Vn({elementType:K,externalSlotProps:i==null?void 0:i.openPickerIcon,ownerState:F}),pe=o.field,ie=Vn({elementType:pe,externalSlotProps:i==null?void 0:i.field,additionalProps:ue({},D,A&&{id:k},{readOnly:w,disabled:x,className:a,sx:s,format:l,formatDensity:c,enableAccessibleFieldDOMStructure:u,selectedSections:d,onSelectedSectionsChange:f,timezone:p,label:g,name:m,autoFocus:S&&!t.open,focused:I?!0:void 0},v?{inputRef:v}:{}),ownerState:t});N&&(ie.InputProps=ue({},ie.InputProps,{ref:E},!t.disableOpenPicker&&{[`${q.position}Adornment`]:$.jsx(H,ue({},q,{children:$.jsx(X,ue({},Z,{children:$.jsx(K,ue({},te))}))}))}));const le=ue({textField:o.textField,clearIcon:o.clearIcon,clearButton:o.clearButton},ie.slots),re=o.layout??Eie;let fe=k;A&&(g?fe=`${k}-label`:fe=void 0);const ee=ue({},i,{toolbar:ue({},i==null?void 0:i.toolbar,{titleId:k}),popper:ue({"aria-labelledby":fe},i==null?void 0:i.popper)}),ce=Qi(O,ie.unstableFieldRef);return{renderPicker:()=>$.jsxs(oie,{contextValue:z,localeText:P,children:[$.jsx(pe,ue({},ie,{slots:le,slotProps:ee,unstableFieldRef:ce})),$.jsx(xct,ue({role:"dialog",placement:"bottom-start",anchorEl:E.current},R,{open:I,slots:o,slotProps:ee,shouldRestoreFocus:_,reduceAnimations:T,children:$.jsx(re,ue({},L,ee==null?void 0:ee.layout,{slots:o,slotProps:ee,children:j()}))}))]})}},rl=({view:e,onViewChange:t,views:n,focusedView:r,onFocusedViewChange:o,value:i,defaultValue:a,referenceDate:s,onChange:l,className:c,classes:u,disableFuture:d,disablePast:f,minDate:p,maxDate:m,shouldDisableDate:g,shouldDisableMonth:v,shouldDisableYear:w,reduceAnimations:x,onMonthChange:S,monthsPerRow:P,onYearChange:T,yearsOrder:E,yearsPerRow:O,slots:k,slotProps:A,loading:I,renderLoading:R,disableHighlightToday:N,readOnly:L,disabled:j,showDaysOutsideCurrentMonth:_,dayOfWeekFormatter:D,sx:z,autoFocus:F,fixedWeekNumber:H,displayWeekNumber:U,timezone:q})=>$.jsx(tct,{view:e,onViewChange:t,views:n.filter(Pv),focusedView:r&&Pv(r)?r:null,onFocusedViewChange:o,value:i,defaultValue:a,referenceDate:s,onChange:l,className:c,classes:u,disableFuture:d,disablePast:f,minDate:p,maxDate:m,shouldDisableDate:g,shouldDisableMonth:v,shouldDisableYear:w,reduceAnimations:x,onMonthChange:S,monthsPerRow:P,onYearChange:T,yearsOrder:E,yearsPerRow:O,slots:k,slotProps:A,loading:I,renderLoading:R,disableHighlightToday:N,readOnly:L,disabled:j,showDaysOutsideCurrentMonth:_,dayOfWeekFormatter:D,sx:z,autoFocus:F,fixedWeekNumber:H,displayWeekNumber:U,timezone:q}),Oie=y.forwardRef(function(t,n){var c,u;const r=To(),o=hn(),i=wie(t,"MuiDesktopDatePicker"),a=ue({day:rl,month:rl,year:rl},i.viewRenderers),s=ue({},i,{viewRenderers:a,format:Ux(o,i,!1),yearsPerRow:i.yearsPerRow??4,slots:ue({openPickerIcon:Boe,field:fie},i.slots),slotProps:ue({},i.slotProps,{field:d=>{var f;return ue({},$f((f=i.slotProps)==null?void 0:f.field,d),mb(i),{ref:n})},toolbar:ue({hidden:!0},(c=i.slotProps)==null?void 0:c.toolbar)})}),{renderPicker:l}=jB({props:s,valueManager:ro,valueType:"date",getOpenDialogAriaText:fb({utils:o,formatKey:"fullDate",contextTranslation:r.openDatePickerDialogue,propsTranslation:(u=s.localeText)==null?void 0:u.openDatePickerDialogue}),validator:hb});return l()});Oie.propTypes={autoFocus:B.bool,className:B.string,closeOnSelect:B.bool,dayOfWeekFormatter:B.func,defaultValue:B.object,disabled:B.bool,disableFuture:B.bool,disableHighlightToday:B.bool,disableOpenPicker:B.bool,disablePast:B.bool,displayWeekNumber:B.bool,enableAccessibleFieldDOMStructure:B.any,fixedWeekNumber:B.number,format:B.string,formatDensity:B.oneOf(["dense","spacious"]),inputRef:ub,label:B.node,loading:B.bool,localeText:B.object,maxDate:B.object,minDate:B.object,monthsPerRow:B.oneOf([3,4]),name:B.string,onAccept:B.func,onChange:B.func,onClose:B.func,onError:B.func,onMonthChange:B.func,onOpen:B.func,onSelectedSectionsChange:B.func,onViewChange:B.func,onYearChange:B.func,open:B.bool,openTo:B.oneOf(["day","month","year"]),orientation:B.oneOf(["landscape","portrait"]),readOnly:B.bool,reduceAnimations:B.bool,referenceDate:B.object,renderLoading:B.func,selectedSections:B.oneOfType([B.oneOf(["all","day","empty","hours","meridiem","minutes","month","seconds","weekDay","year"]),B.number]),shouldDisableDate:B.func,shouldDisableMonth:B.func,shouldDisableYear:B.func,showDaysOutsideCurrentMonth:B.bool,slotProps:B.object,slots:B.object,sx:B.oneOfType([B.arrayOf(B.oneOfType([B.func,B.object,B.bool])),B.func,B.object]),timezone:B.string,value:B.object,view:B.oneOf(["day","month","year"]),viewRenderers:B.shape({day:B.func,month:B.func,year:B.func}),views:B.arrayOf(B.oneOf(["day","month","year"]).isRequired),yearsOrder:B.oneOf(["asc","desc"]),yearsPerRow:B.oneOf([3,4])};const Hct=oe(yZ)({[`& .${hw.container}`]:{outline:0},[`& .${hw.paper}`]:{outline:0,minWidth:Lk}}),Uct=oe(bZ)({"&:first-of-type":{padding:0}});function Wct(e){const{children:t,onDismiss:n,open:r,slots:o,slotProps:i}=e,a=(o==null?void 0:o.dialog)??Hct,s=(o==null?void 0:o.mobileTransition)??jv;return $.jsx(a,ue({open:r,onClose:n},i==null?void 0:i.dialog,{TransitionComponent:s,TransitionProps:i==null?void 0:i.mobileTransition,PaperComponent:o==null?void 0:o.mobilePaper,PaperProps:i==null?void 0:i.mobilePaper,children:$.jsx(Uct,{children:t})}))}const Gct=["props","getOpenDialogAriaText"],BB=e=>{var q;let{props:t,getOpenDialogAriaText:n}=e,r=_t(e,Gct);const{slots:o,slotProps:i,className:a,sx:s,format:l,formatDensity:c,enableAccessibleFieldDOMStructure:u,selectedSections:d,onSelectedSectionsChange:f,timezone:p,name:m,label:g,inputRef:v,readOnly:w,disabled:x,localeText:S}=t,P=y.useRef(null),T=db(),E=((q=i==null?void 0:i.toolbar)==null?void 0:q.hidden)??!1,{open:O,actions:k,layoutProps:A,renderCurrentView:I,fieldProps:R,contextValue:N}=xie(ue({},r,{props:t,fieldRef:P,autoFocusView:!0,additionalViewProps:{},wrapperVariant:"mobile"})),L=o.field,j=Vn({elementType:L,externalSlotProps:i==null?void 0:i.field,additionalProps:ue({},R,E&&{id:T},!(x||w)&&{onClick:k.onOpen,onKeyDown:rat(k.onOpen)},{readOnly:w??!0,disabled:x,className:a,sx:s,format:l,formatDensity:c,enableAccessibleFieldDOMStructure:u,selectedSections:d,onSelectedSectionsChange:f,timezone:p,label:g,name:m},v?{inputRef:v}:{}),ownerState:t});j.inputProps=ue({},j.inputProps,{"aria-label":n(R.value)});const _=ue({textField:o.textField},j.slots),D=o.layout??Eie;let z=T;E&&(g?z=`${T}-label`:z=void 0);const F=ue({},i,{toolbar:ue({},i==null?void 0:i.toolbar,{titleId:T}),mobilePaper:ue({"aria-labelledby":z},i==null?void 0:i.mobilePaper)}),H=Qi(P,j.unstableFieldRef);return{renderPicker:()=>$.jsxs(oie,{contextValue:N,localeText:S,children:[$.jsx(L,ue({},j,{slots:_,slotProps:F,unstableFieldRef:H})),$.jsx(Wct,ue({},k,{open:O,slots:o,slotProps:F,children:$.jsx(D,ue({},A,F==null?void 0:F.layout,{slots:o,slotProps:F,children:I()}))}))]})}},Iie=y.forwardRef(function(t,n){var c,u;const r=To(),o=hn(),i=wie(t,"MuiMobileDatePicker"),a=ue({day:rl,month:rl,year:rl},i.viewRenderers),s=ue({},i,{viewRenderers:a,format:Ux(o,i,!1),slots:ue({field:fie},i.slots),slotProps:ue({},i.slotProps,{field:d=>{var f;return ue({},$f((f=i.slotProps)==null?void 0:f.field,d),mb(i),{ref:n})},toolbar:ue({hidden:!1},(c=i.slotProps)==null?void 0:c.toolbar)})}),{renderPicker:l}=BB({props:s,valueManager:ro,valueType:"date",getOpenDialogAriaText:fb({utils:o,formatKey:"fullDate",contextTranslation:r.openDatePickerDialogue,propsTranslation:(u=s.localeText)==null?void 0:u.openDatePickerDialogue}),validator:hb});return l()});Iie.propTypes={autoFocus:B.bool,className:B.string,closeOnSelect:B.bool,dayOfWeekFormatter:B.func,defaultValue:B.object,disabled:B.bool,disableFuture:B.bool,disableHighlightToday:B.bool,disableOpenPicker:B.bool,disablePast:B.bool,displayWeekNumber:B.bool,enableAccessibleFieldDOMStructure:B.any,fixedWeekNumber:B.number,format:B.string,formatDensity:B.oneOf(["dense","spacious"]),inputRef:ub,label:B.node,loading:B.bool,localeText:B.object,maxDate:B.object,minDate:B.object,monthsPerRow:B.oneOf([3,4]),name:B.string,onAccept:B.func,onChange:B.func,onClose:B.func,onError:B.func,onMonthChange:B.func,onOpen:B.func,onSelectedSectionsChange:B.func,onViewChange:B.func,onYearChange:B.func,open:B.bool,openTo:B.oneOf(["day","month","year"]),orientation:B.oneOf(["landscape","portrait"]),readOnly:B.bool,reduceAnimations:B.bool,referenceDate:B.object,renderLoading:B.func,selectedSections:B.oneOfType([B.oneOf(["all","day","empty","hours","meridiem","minutes","month","seconds","weekDay","year"]),B.number]),shouldDisableDate:B.func,shouldDisableMonth:B.func,shouldDisableYear:B.func,showDaysOutsideCurrentMonth:B.bool,slotProps:B.object,slots:B.object,sx:B.oneOfType([B.arrayOf(B.oneOfType([B.func,B.object,B.bool])),B.func,B.object]),timezone:B.string,value:B.object,view:B.oneOf(["day","month","year"]),viewRenderers:B.shape({day:B.func,month:B.func,year:B.func}),views:B.arrayOf(B.oneOf(["day","month","year"]).isRequired),yearsOrder:B.oneOf(["asc","desc"]),yearsPerRow:B.oneOf([3,4])};const qct=["desktopModeMediaQuery"],kie=y.forwardRef(function(t,n){const r=Zt({props:t,name:"MuiDatePicker"}),{desktopModeMediaQuery:o=MB}=r,i=_t(r,qct);return yS(o,{defaultMatches:!0})?$.jsx(Oie,ue({ref:n},i)):$.jsx(Iie,ue({ref:n},i))});function Kct(e){return Fn("MuiPickersToolbarText",e)}const vN=Un("MuiPickersToolbarText",["root","selected"]),Yct=["className","selected","value"],Xct=e=>{const{classes:t,selected:n}=e;return Dn({root:["root",n&&"selected"]},Kct,t)},Qct=oe(ct,{name:"MuiPickersToolbarText",slot:"Root",overridesResolver:(e,t)=>[t.root,{[`&.${vN.selected}`]:t.selected}]})(({theme:e})=>({transition:e.transitions.create("color"),color:(e.vars||e).palette.text.secondary,[`&.${vN.selected}`]:{color:(e.vars||e).palette.text.primary}})),zB=y.forwardRef(function(t,n){const r=Zt({props:t,name:"MuiPickersToolbarText"}),{className:o,value:i}=r,a=_t(r,Yct),s=Xct(r);return $.jsx(Qct,ue({ref:n,className:de(s.root,o),component:"span"},a,{children:i}))}),Jct=["align","className","selected","typographyClassName","value","variant","width"],Zct=e=>{const{classes:t}=e;return Dn({root:["root"]},bie,t)},eut=oe(gt,{name:"MuiPickersToolbarButton",slot:"Root",overridesResolver:(e,t)=>t.root})({padding:0,minWidth:16,textTransform:"none"}),za=y.forwardRef(function(t,n){const r=Zt({props:t,name:"MuiPickersToolbarButton"}),{align:o,className:i,selected:a,typographyClassName:s,value:l,variant:c,width:u}=r,d=_t(r,Jct),f=Zct(r);return $.jsx(eut,ue({variant:"text",ref:n,className:de(f.root,i)},u?{sx:{width:u}}:{},d,{children:$.jsx(zB,{align:o,className:s,variant:c,value:l,selected:a})}))});function tut(e){return Fn("MuiTimePickerToolbar",e)}const Ew=Un("MuiTimePickerToolbar",["root","separator","hourMinuteLabel","hourMinuteLabelLandscape","hourMinuteLabelReverse","ampmSelection","ampmLandscape","ampmLabel"]),nut=["ampm","ampmInClock","value","isLandscape","onChange","view","onViewChange","views","disabled","readOnly","className"],rut=e=>{const{isLandscape:t,classes:n,isRtl:r}=e;return Dn({root:["root"],separator:["separator"],hourMinuteLabel:["hourMinuteLabel",t&&"hourMinuteLabelLandscape",r&&"hourMinuteLabelReverse"],ampmSelection:["ampmSelection",t&&"ampmLandscape"],ampmLabel:["ampmLabel"]},tut,n)},out=oe(FB,{name:"MuiTimePickerToolbar",slot:"Root",overridesResolver:(e,t)=>t.root})({}),iut=oe(zB,{name:"MuiTimePickerToolbar",slot:"Separator",overridesResolver:(e,t)=>t.separator})({outline:0,margin:"0 4px 0 2px",cursor:"default"}),aut=oe("div",{name:"MuiTimePickerToolbar",slot:"HourMinuteLabel",overridesResolver:(e,t)=>[{[`&.${Ew.hourMinuteLabelLandscape}`]:t.hourMinuteLabelLandscape,[`&.${Ew.hourMinuteLabelReverse}`]:t.hourMinuteLabelReverse},t.hourMinuteLabel]})({display:"flex",justifyContent:"flex-end",alignItems:"flex-end",variants:[{props:{isRtl:!0},style:{flexDirection:"row-reverse"}},{props:{isLandscape:!0},style:{marginTop:"auto"}}]}),sut=oe("div",{name:"MuiTimePickerToolbar",slot:"AmPmSelection",overridesResolver:(e,t)=>[{[`.${Ew.ampmLabel}`]:t.ampmLabel},{[`&.${Ew.ampmLandscape}`]:t.ampmLandscape},t.ampmSelection]})({display:"flex",flexDirection:"column",marginRight:"auto",marginLeft:12,[`& .${Ew.ampmLabel}`]:{fontSize:17},variants:[{props:{isLandscape:!0},style:{margin:"4px 0 auto",flexDirection:"row",justifyContent:"space-around",flexBasis:"100%"}}]});function lut(e){const t=Zt({props:e,name:"MuiTimePickerToolbar"}),{ampm:n,ampmInClock:r,value:o,isLandscape:i,onChange:a,view:s,onViewChange:l,views:c,disabled:u,readOnly:d,className:f}=t,p=_t(t,nut),m=hn(),g=To(),v=nr(),w=!!(n&&!r&&c.includes("hours")),{meridiemMode:x,handleMeridiemChange:S}=Dk(o,n,a),P=k=>n?m.format(k,"hours12h"):m.format(k,"hours24h"),T=ue({},t,{isRtl:v}),E=rut(T),O=$.jsx(iut,{tabIndex:-1,value:":",variant:"h3",selected:!1,className:E.separator});return $.jsxs(out,ue({landscapeDirection:"row",toolbarTitle:g.timePickerToolbarTitle,isLandscape:i,ownerState:T,className:de(E.root,f)},p,{children:[$.jsxs(aut,{className:E.hourMinuteLabel,ownerState:T,children:[pg(c,"hours")&&$.jsx(za,{tabIndex:-1,variant:"h3",onClick:()=>l("hours"),selected:s==="hours",value:o?P(o):"--"}),pg(c,["hours","minutes"])&&O,pg(c,"minutes")&&$.jsx(za,{tabIndex:-1,variant:"h3",onClick:()=>l("minutes"),selected:s==="minutes",value:o?m.format(o,"minutes"):"--"}),pg(c,["minutes","seconds"])&&O,pg(c,"seconds")&&$.jsx(za,{variant:"h3",onClick:()=>l("seconds"),selected:s==="seconds",value:o?m.format(o,"seconds"):"--"})]}),w&&$.jsxs(sut,{className:E.ampmSelection,ownerState:T,children:[$.jsx(za,{disableRipple:!0,variant:"subtitle2",selected:x==="am",typographyClassName:E.ampmLabel,value:Wl(m,"am"),onClick:d?void 0:()=>S("am"),disabled:u}),$.jsx(za,{disableRipple:!0,variant:"subtitle2",selected:x==="pm",typographyClassName:E.ampmLabel,value:Wl(m,"pm"),onClick:d?void 0:()=>S("pm"),disabled:u})]})]}))}function Mie(e,t){var a;const n=hn(),r=Zt({props:e,name:t}),o=r.ampm??n.is12HourCycleInCurrentLocale(),i=y.useMemo(()=>{var s;return((s=r.localeText)==null?void 0:s.toolbarTitle)==null?r.localeText:ue({},r.localeText,{timePickerToolbarTitle:r.localeText.toolbarTitle})},[r.localeText]);return ue({},r,{ampm:o,localeText:i},SB({views:r.views,openTo:r.openTo,defaultViews:["hours","minutes"],defaultOpenTo:"hours"}),{disableFuture:r.disableFuture??!1,disablePast:r.disablePast??!1,slots:ue({toolbar:lut},r.slots),slotProps:ue({},r.slotProps,{toolbar:ue({ampm:o,ampmInClock:r.ampmInClock},(a=r.slotProps)==null?void 0:a.toolbar)})})}const cy=({view:e,onViewChange:t,focusedView:n,onFocusedViewChange:r,views:o,value:i,defaultValue:a,referenceDate:s,onChange:l,className:c,classes:u,disableFuture:d,disablePast:f,minTime:p,maxTime:m,shouldDisableTime:g,minutesStep:v,ampm:w,ampmInClock:x,slots:S,slotProps:P,readOnly:T,disabled:E,sx:O,autoFocus:k,showViewSwitcher:A,disableIgnoringDatePartForTimeValidation:I,timezone:R})=>$.jsx(eat,{view:e,onViewChange:t,focusedView:n&&Sv(n)?n:null,onFocusedViewChange:r,views:o.filter(Sv),value:i,defaultValue:a,referenceDate:s,onChange:l,className:c,classes:u,disableFuture:d,disablePast:f,minTime:p,maxTime:m,shouldDisableTime:g,minutesStep:v,ampm:w,ampmInClock:x,slots:S,slotProps:P,readOnly:T,disabled:E,sx:O,autoFocus:k,showViewSwitcher:A,disableIgnoringDatePartForTimeValidation:I,timezone:R}),Aie=({view:e,onViewChange:t,focusedView:n,onFocusedViewChange:r,views:o,value:i,defaultValue:a,referenceDate:s,onChange:l,className:c,classes:u,disableFuture:d,disablePast:f,minTime:p,maxTime:m,shouldDisableTime:g,minutesStep:v,ampm:w,slots:x,slotProps:S,readOnly:P,disabled:T,sx:E,autoFocus:O,disableIgnoringDatePartForTimeValidation:k,timeSteps:A,skipDisabled:I,timezone:R})=>$.jsx(cat,{view:e,onViewChange:t,focusedView:n,onFocusedViewChange:r,views:o.filter(Sv),value:i,defaultValue:a,referenceDate:s,onChange:l,className:c,classes:u,disableFuture:d,disablePast:f,minTime:p,maxTime:m,shouldDisableTime:g,minutesStep:v,ampm:w,slots:x,slotProps:S,readOnly:P,disabled:T,sx:E,autoFocus:O,disableIgnoringDatePartForTimeValidation:k,timeStep:A==null?void 0:A.minutes,skipDisabled:I,timezone:R}),rO=({view:e,onViewChange:t,focusedView:n,onFocusedViewChange:r,views:o,value:i,defaultValue:a,referenceDate:s,onChange:l,className:c,classes:u,disableFuture:d,disablePast:f,minTime:p,maxTime:m,shouldDisableTime:g,minutesStep:v,ampm:w,slots:x,slotProps:S,readOnly:P,disabled:T,sx:E,autoFocus:O,disableIgnoringDatePartForTimeValidation:k,timeSteps:A,skipDisabled:I,timezone:R})=>$.jsx(Sat,{view:e,onViewChange:t,focusedView:n,onFocusedViewChange:r,views:o.filter(Sv),value:i,defaultValue:a,referenceDate:s,onChange:l,className:c,classes:u,disableFuture:d,disablePast:f,minTime:p,maxTime:m,shouldDisableTime:g,minutesStep:v,ampm:w,slots:x,slotProps:S,readOnly:P,disabled:T,sx:E,autoFocus:O,disableIgnoringDatePartForTimeValidation:k,timeSteps:A,skipDisabled:I,timezone:R}),cut=["views","format"],$ie=(e,t,n)=>{let{views:r,format:o}=t,i=_t(t,cut);if(o)return o;const a=[],s=[];if(r.forEach(u=>{Sv(u)?s.push(u):Pv(u)&&a.push(u)}),s.length===0)return Ux(e,ue({views:a},i),!1);if(a.length===0)return eO(e,ue({views:s},i));const l=eO(e,ue({views:s},i));return`${Ux(e,ue({views:a},i),!1)} ${l}`},uut=(e,t,n)=>n?t.filter(r=>!W0(r)||r==="hours"):e?[...t,"meridiem"]:t,dut=(e,t)=>24*60/((e.hours??1)*(e.minutes??5))<=t;function Rie({thresholdToRenderTimeInASingleColumn:e,ampm:t,timeSteps:n,views:r}){const o=e??24,i=ue({hours:1,minutes:5,seconds:5},n),a=dut(i,o);return{thresholdToRenderTimeInASingleColumn:o,timeSteps:i,shouldRenderTimeInASingleColumn:a,views:uut(t,r,a)}}const _ie=y.forwardRef(function(t,n){var w,x,S,P;const r=To(),o=hn(),i=Mie(t,"MuiDesktopTimePicker"),{shouldRenderTimeInASingleColumn:a,views:s,timeSteps:l}=Rie(i),c=a?Aie:rO,u=ue({hours:c,minutes:c,seconds:c,meridiem:c},i.viewRenderers),d=i.ampmInClock??!0,f=a?[]:["accept"],m=((w=u.hours)==null?void 0:w.name)===rO.name?s:s.filter(T=>T!=="meridiem"),g=ue({},i,{ampmInClock:d,timeSteps:l,viewRenderers:u,format:eO(o,i),views:a?["hours"]:m,slots:ue({field:pie,openPickerIcon:Bot},i.slots),slotProps:ue({},i.slotProps,{field:T=>{var E;return ue({},$f((E=i.slotProps)==null?void 0:E.field,T),mb(i),{ref:n})},toolbar:ue({hidden:!0,ampmInClock:d},(x=i.slotProps)==null?void 0:x.toolbar),actionBar:ue({actions:f},(S=i.slotProps)==null?void 0:S.actionBar)})}),{renderPicker:v}=jB({props:g,valueManager:ro,valueType:"time",getOpenDialogAriaText:fb({utils:o,formatKey:"fullTime",contextTranslation:r.openTimePickerDialogue,propsTranslation:(P=g.localeText)==null?void 0:P.openTimePickerDialogue}),validator:JS});return v()});_ie.propTypes={ampm:B.bool,ampmInClock:B.bool,autoFocus:B.bool,className:B.string,closeOnSelect:B.bool,defaultValue:B.object,disabled:B.bool,disableFuture:B.bool,disableIgnoringDatePartForTimeValidation:B.bool,disableOpenPicker:B.bool,disablePast:B.bool,enableAccessibleFieldDOMStructure:B.any,format:B.string,formatDensity:B.oneOf(["dense","spacious"]),inputRef:ub,label:B.node,localeText:B.object,maxTime:B.object,minTime:B.object,minutesStep:B.number,name:B.string,onAccept:B.func,onChange:B.func,onClose:B.func,onError:B.func,onOpen:B.func,onSelectedSectionsChange:B.func,onViewChange:B.func,open:B.bool,openTo:B.oneOf(["hours","meridiem","minutes","seconds"]),orientation:B.oneOf(["landscape","portrait"]),readOnly:B.bool,reduceAnimations:B.bool,referenceDate:B.object,selectedSections:B.oneOfType([B.oneOf(["all","day","empty","hours","meridiem","minutes","month","seconds","weekDay","year"]),B.number]),shouldDisableTime:B.func,skipDisabled:B.bool,slotProps:B.object,slots:B.object,sx:B.oneOfType([B.arrayOf(B.oneOfType([B.func,B.object,B.bool])),B.func,B.object]),thresholdToRenderTimeInASingleColumn:B.number,timeSteps:B.shape({hours:B.number,minutes:B.number,seconds:B.number}),timezone:B.string,value:B.object,view:B.oneOf(["hours","meridiem","minutes","seconds"]),viewRenderers:B.shape({hours:B.func,meridiem:B.func,minutes:B.func,seconds:B.func}),views:B.arrayOf(B.oneOf(["hours","minutes","seconds"]).isRequired)};const Die=y.forwardRef(function(t,n){var u,d;const r=To(),o=hn(),i=Mie(t,"MuiMobileTimePicker"),a=ue({hours:cy,minutes:cy,seconds:cy},i.viewRenderers),s=i.ampmInClock??!1,l=ue({},i,{ampmInClock:s,viewRenderers:a,format:eO(o,i),slots:ue({field:pie},i.slots),slotProps:ue({},i.slotProps,{field:f=>{var p;return ue({},$f((p=i.slotProps)==null?void 0:p.field,f),mb(i),{ref:n})},toolbar:ue({hidden:!1,ampmInClock:s},(u=i.slotProps)==null?void 0:u.toolbar)})}),{renderPicker:c}=BB({props:l,valueManager:ro,valueType:"time",getOpenDialogAriaText:fb({utils:o,formatKey:"fullTime",contextTranslation:r.openTimePickerDialogue,propsTranslation:(d=l.localeText)==null?void 0:d.openTimePickerDialogue}),validator:JS});return c()});Die.propTypes={ampm:B.bool,ampmInClock:B.bool,autoFocus:B.bool,className:B.string,closeOnSelect:B.bool,defaultValue:B.object,disabled:B.bool,disableFuture:B.bool,disableIgnoringDatePartForTimeValidation:B.bool,disableOpenPicker:B.bool,disablePast:B.bool,enableAccessibleFieldDOMStructure:B.any,format:B.string,formatDensity:B.oneOf(["dense","spacious"]),inputRef:ub,label:B.node,localeText:B.object,maxTime:B.object,minTime:B.object,minutesStep:B.number,name:B.string,onAccept:B.func,onChange:B.func,onClose:B.func,onError:B.func,onOpen:B.func,onSelectedSectionsChange:B.func,onViewChange:B.func,open:B.bool,openTo:B.oneOf(["hours","minutes","seconds"]),orientation:B.oneOf(["landscape","portrait"]),readOnly:B.bool,reduceAnimations:B.bool,referenceDate:B.object,selectedSections:B.oneOfType([B.oneOf(["all","day","empty","hours","meridiem","minutes","month","seconds","weekDay","year"]),B.number]),shouldDisableTime:B.func,slotProps:B.object,slots:B.object,sx:B.oneOfType([B.arrayOf(B.oneOfType([B.func,B.object,B.bool])),B.func,B.object]),timezone:B.string,value:B.object,view:B.oneOf(["hours","minutes","seconds"]),viewRenderers:B.shape({hours:B.func,minutes:B.func,seconds:B.func}),views:B.arrayOf(B.oneOf(["hours","minutes","seconds"]).isRequired)};const fut=["desktopModeMediaQuery"],put=y.forwardRef(function(t,n){const r=Zt({props:t,name:"MuiTimePicker"}),{desktopModeMediaQuery:o=MB}=r,i=_t(r,fut);return yS(o,{defaultMatches:!0})?$.jsx(_ie,ue({ref:n},i)):$.jsx(Die,ue({ref:n},i))});function hut(e){return Fn("MuiDateTimePickerTabs",e)}Un("MuiDateTimePickerTabs",["root"]);const mut=e=>Pv(e)?"date":"time",gut=e=>e==="date"?"day":"hours",yut=e=>{const{classes:t}=e;return Dn({root:["root"]},hut,t)},vut=oe(q$e,{name:"MuiDateTimePickerTabs",slot:"Root",overridesResolver:(e,t)=>t.root})(({theme:e})=>({boxShadow:`0 -1px 0 0 inset ${(e.vars||e).palette.divider}`,"&:last-child":{boxShadow:`0 1px 0 0 inset ${(e.vars||e).palette.divider}`,[`& .${zP.indicator}`]:{bottom:"auto",top:0}}})),but=function(t){const n=Zt({props:t,name:"MuiDateTimePickerTabs"}),{dateIcon:r=$.jsx(zot,{}),onViewChange:o,timeIcon:i=$.jsx(Vot,{}),view:a,hidden:s=typeof window>"u"||window.innerHeight<667,className:l,sx:c}=n,u=To(),d=yut(n),f=(p,m)=>{o(gut(m))};return s?null:$.jsxs(vut,{ownerState:n,variant:"fullWidth",value:mut(a),onChange:f,className:de(l,d.root),sx:c,children:[$.jsx(vU,{value:"date","aria-label":u.dateTableLabel,icon:$.jsx(y.Fragment,{children:r})}),$.jsx(vU,{value:"time","aria-label":u.timeTableLabel,icon:$.jsx(y.Fragment,{children:i})})]})};function wut(e){return Fn("MuiDateTimePickerToolbar",e)}const lR=Un("MuiDateTimePickerToolbar",["root","dateContainer","timeContainer","timeDigitsContainer","separator","timeLabelReverse","ampmSelection","ampmLandscape","ampmLabel"]),xut=["ampm","ampmInClock","value","onChange","view","isLandscape","onViewChange","toolbarFormat","toolbarPlaceholder","views","disabled","readOnly","toolbarVariant","toolbarTitle","className"],Sut=e=>{const{classes:t,isLandscape:n,isRtl:r}=e;return Dn({root:["root"],dateContainer:["dateContainer"],timeContainer:["timeContainer",r&&"timeLabelReverse"],timeDigitsContainer:["timeDigitsContainer",r&&"timeLabelReverse"],separator:["separator"],ampmSelection:["ampmSelection",n&&"ampmLandscape"],ampmLabel:["ampmLabel"]},wut,t)},Cut=oe(FB,{name:"MuiDateTimePickerToolbar",slot:"Root",overridesResolver:(e,t)=>t.root})(({theme:e})=>({paddingLeft:16,paddingRight:16,justifyContent:"space-around",position:"relative",variants:[{props:{toolbarVariant:"desktop"},style:{borderBottom:`1px solid ${(e.vars||e).palette.divider}`,[`& .${nct.content} .${vN.selected}`]:{color:(e.vars||e).palette.primary.main,fontWeight:e.typography.fontWeightBold}}},{props:{toolbarVariant:"desktop",isLandscape:!0},style:{borderRight:`1px solid ${(e.vars||e).palette.divider}`}},{props:{toolbarVariant:"desktop",isLandscape:!1},style:{paddingLeft:24,paddingRight:0}}]})),Put=oe("div",{name:"MuiDateTimePickerToolbar",slot:"DateContainer",overridesResolver:(e,t)=>t.dateContainer})({display:"flex",flexDirection:"column",alignItems:"flex-start"}),Tut=oe("div",{name:"MuiDateTimePickerToolbar",slot:"TimeContainer",overridesResolver:(e,t)=>t.timeContainer})({display:"flex",flexDirection:"row",variants:[{props:{isRtl:!0},style:{flexDirection:"row-reverse"}},{props:{toolbarVariant:"desktop",isLandscape:!1},style:{gap:9,marginRight:4,alignSelf:"flex-end"}},{props:({isLandscape:e,toolbarVariant:t})=>e&&t!=="desktop",style:{flexDirection:"column"}},{props:({isLandscape:e,toolbarVariant:t,isRtl:n})=>e&&t!=="desktop"&&n,style:{flexDirection:"column-reverse"}}]}),Eut=oe("div",{name:"MuiDateTimePickerToolbar",slot:"TimeDigitsContainer",overridesResolver:(e,t)=>t.timeDigitsContainer})({display:"flex",variants:[{props:{isRtl:!0},style:{flexDirection:"row-reverse"}},{props:{toolbarVariant:"desktop"},style:{gap:1.5}}]}),y9=oe(zB,{name:"MuiDateTimePickerToolbar",slot:"Separator",overridesResolver:(e,t)=>t.separator})({margin:"0 4px 0 2px",cursor:"default",variants:[{props:{toolbarVariant:"desktop"},style:{margin:0}}]}),Out=oe("div",{name:"MuiDateTimePickerToolbar",slot:"AmPmSelection",overridesResolver:(e,t)=>[{[`.${lR.ampmLabel}`]:t.ampmLabel},{[`&.${lR.ampmLandscape}`]:t.ampmLandscape},t.ampmSelection]})({display:"flex",flexDirection:"column",marginRight:"auto",marginLeft:12,[`& .${lR.ampmLabel}`]:{fontSize:17},variants:[{props:{isLandscape:!0},style:{margin:"4px 0 auto",flexDirection:"row",justifyContent:"space-around",width:"100%"}}]});function Iut(e){const t=Zt({props:e,name:"MuiDateTimePickerToolbar"}),{ampm:n,ampmInClock:r,value:o,onChange:i,view:a,isLandscape:s,onViewChange:l,toolbarFormat:c,toolbarPlaceholder:u="––",views:d,disabled:f,readOnly:p,toolbarVariant:m="mobile",toolbarTitle:g,className:v}=t,w=_t(t,xut),x=nr(),S=ue({},t,{isRtl:x}),P=hn(),{meridiemMode:T,handleMeridiemChange:E}=Dk(o,n,i),O=!!(n&&!r),k=m==="desktop",A=To(),I=Sut(S),R=g??A.dateTimePickerToolbarTitle,N=j=>n?P.format(j,"hours12h"):P.format(j,"hours24h"),L=y.useMemo(()=>o?c?P.formatByString(o,c):P.format(o,"shortDate"):u,[o,c,u,P]);return $.jsxs(Cut,ue({isLandscape:s,className:de(I.root,v),toolbarTitle:R},w,{ownerState:S,children:[$.jsxs(Put,{className:I.dateContainer,ownerState:S,children:[d.includes("year")&&$.jsx(za,{tabIndex:-1,variant:"subtitle1",onClick:()=>l("year"),selected:a==="year",value:o?P.format(o,"year"):"–"}),d.includes("day")&&$.jsx(za,{tabIndex:-1,variant:k?"h5":"h4",onClick:()=>l("day"),selected:a==="day",value:L})]}),$.jsxs(Tut,{className:I.timeContainer,ownerState:S,children:[$.jsxs(Eut,{className:I.timeDigitsContainer,ownerState:S,children:[d.includes("hours")&&$.jsxs(y.Fragment,{children:[$.jsx(za,{variant:k?"h5":"h3",width:k&&!s?G0:void 0,onClick:()=>l("hours"),selected:a==="hours",value:o?N(o):"--"}),$.jsx(y9,{variant:k?"h5":"h3",value:":",className:I.separator,ownerState:S}),$.jsx(za,{variant:k?"h5":"h3",width:k&&!s?G0:void 0,onClick:()=>l("minutes"),selected:a==="minutes"||!d.includes("minutes")&&a==="hours",value:o?P.format(o,"minutes"):"--",disabled:!d.includes("minutes")})]}),d.includes("seconds")&&$.jsxs(y.Fragment,{children:[$.jsx(y9,{variant:k?"h5":"h3",value:":",className:I.separator,ownerState:S}),$.jsx(za,{variant:k?"h5":"h3",width:k&&!s?G0:void 0,onClick:()=>l("seconds"),selected:a==="seconds",value:o?P.format(o,"seconds"):"--"})]})]}),O&&!k&&$.jsxs(Out,{className:I.ampmSelection,ownerState:S,children:[$.jsx(za,{variant:"subtitle2",selected:T==="am",typographyClassName:I.ampmLabel,value:Wl(P,"am"),onClick:p?void 0:()=>E("am"),disabled:f}),$.jsx(za,{variant:"subtitle2",selected:T==="pm",typographyClassName:I.ampmLabel,value:Wl(P,"pm"),onClick:p?void 0:()=>E("pm"),disabled:f})]}),n&&k&&$.jsx(za,{variant:"h5",onClick:()=>l("meridiem"),selected:a==="meridiem",value:o&&T?Wl(P,T):"--",width:G0})]})]}))}function Nie(e,t){var s;const n=hn(),r=tm(),o=Zt({props:e,name:t}),i=o.ampm??n.is12HourCycleInCurrentLocale(),a=y.useMemo(()=>{var l;return((l=o.localeText)==null?void 0:l.toolbarTitle)==null?o.localeText:ue({},o.localeText,{dateTimePickerToolbarTitle:o.localeText.toolbarTitle})},[o.localeText]);return ue({},o,SB({views:o.views,openTo:o.openTo,defaultViews:["year","day","hours","minutes"],defaultOpenTo:"day"}),{ampm:i,localeText:a,orientation:o.orientation??"portrait",disableIgnoringDatePartForTimeValidation:o.disableIgnoringDatePartForTimeValidation??!!(o.minDateTime||o.maxDateTime||o.disablePast||o.disableFuture),disableFuture:o.disableFuture??!1,disablePast:o.disablePast??!1,minDate:Ti(n,o.minDateTime??o.minDate,r.minDate),maxDate:Ti(n,o.maxDateTime??o.maxDate,r.maxDate),minTime:o.minDateTime??o.minTime,maxTime:o.maxDateTime??o.maxTime,slots:ue({toolbar:Iut,tabs:but},o.slots),slotProps:ue({},o.slotProps,{toolbar:ue({ampm:i},(s=o.slotProps)==null?void 0:s.toolbar)})})}const kut=y.forwardRef(function(t,n){var g;const r=nr(),{toolbar:o,tabs:i,content:a,actionBar:s,shortcuts:l}=Cie(t),{sx:c,className:u,isLandscape:d,classes:f}=t,p=s&&(((g=s.props.actions)==null?void 0:g.length)??0)>0,m=ue({},t,{isRtl:r});return $.jsxs(Pie,{ref:n,className:de(jl.root,f==null?void 0:f.root,u),sx:[{[`& .${jl.tabs}`]:{gridRow:4,gridColumn:"1 / 4"},[`& .${jl.actionBar}`]:{gridRow:5}},...Array.isArray(c)?c:[c]],ownerState:m,children:[d?l:o,d?o:l,$.jsxs(Tie,{className:de(jl.contentWrapper,f==null?void 0:f.contentWrapper),sx:{display:"grid"},children:[a,i,p&&$.jsx(ss,{sx:{gridRow:3,gridColumn:"1 / 4"}})]}),s]})}),Mut=["openTo","focusedView","timeViewsCount"],Aut=function(t,n,r){var u,d;const{openTo:o,focusedView:i,timeViewsCount:a}=r,s=_t(r,Mut),l=ue({},s,{focusedView:null,sx:[{[`&.${u9.root}`]:{borderBottom:0},[`&.${u9.root}, .${fat.root}, &.${nat.root}`]:{maxHeight:Fk}}]}),c=W0(n);return $.jsxs(y.Fragment,{children:[(u=t[c?"day":n])==null?void 0:u.call(t,ue({},r,{view:c?"day":n,focusedView:i&&Pv(i)?i:null,views:r.views.filter(Pv),sx:[{gridColumn:1},...l.sx]})),a>0&&$.jsxs(y.Fragment,{children:[$.jsx(ss,{orientation:"vertical",sx:{gridColumn:2}}),(d=t[c?n:"hours"])==null?void 0:d.call(t,ue({},l,{view:c?n:"hours",focusedView:i&&W0(i)?i:null,openTo:W0(o)?o:"hours",views:r.views.filter(W0),sx:[{gridColumn:3},...l.sx]}))]})]})},Lie=y.forwardRef(function(t,n){var x,S,P,T;const r=To(),o=hn(),i=Nie(t,"MuiDesktopDateTimePicker"),{shouldRenderTimeInASingleColumn:a,thresholdToRenderTimeInASingleColumn:s,views:l,timeSteps:c}=Rie(i),u=a?Aie:rO,d=ue({day:rl,month:rl,year:rl,hours:u,minutes:u,seconds:u,meridiem:u},i.viewRenderers),f=i.ampmInClock??!0,m=((x=d.hours)==null?void 0:x.name)===rO.name?l:l.filter(E=>E!=="meridiem"),g=a?[]:["accept"],v=ue({},i,{viewRenderers:d,format:$ie(o,i),views:m,yearsPerRow:i.yearsPerRow??4,ampmInClock:f,timeSteps:c,thresholdToRenderTimeInASingleColumn:s,shouldRenderTimeInASingleColumn:a,slots:ue({field:hie,layout:kut,openPickerIcon:Boe},i.slots),slotProps:ue({},i.slotProps,{field:E=>{var O;return ue({},$f((O=i.slotProps)==null?void 0:O.field,E),mb(i),{ref:n})},toolbar:ue({hidden:!0,ampmInClock:f,toolbarVariant:"desktop"},(S=i.slotProps)==null?void 0:S.toolbar),tabs:ue({hidden:!0},(P=i.slotProps)==null?void 0:P.tabs),actionBar:E=>{var O;return ue({actions:g},$f((O=i.slotProps)==null?void 0:O.actionBar,E))}})}),{renderPicker:w}=jB({props:v,valueManager:ro,valueType:"date-time",getOpenDialogAriaText:fb({utils:o,formatKey:"fullDate",contextTranslation:r.openDatePickerDialogue,propsTranslation:(T=v.localeText)==null?void 0:T.openDatePickerDialogue}),validator:zk,rendererInterceptor:Aut});return w()});Lie.propTypes={ampm:B.bool,ampmInClock:B.bool,autoFocus:B.bool,className:B.string,closeOnSelect:B.bool,dayOfWeekFormatter:B.func,defaultValue:B.object,disabled:B.bool,disableFuture:B.bool,disableHighlightToday:B.bool,disableIgnoringDatePartForTimeValidation:B.bool,disableOpenPicker:B.bool,disablePast:B.bool,displayWeekNumber:B.bool,enableAccessibleFieldDOMStructure:B.any,fixedWeekNumber:B.number,format:B.string,formatDensity:B.oneOf(["dense","spacious"]),inputRef:ub,label:B.node,loading:B.bool,localeText:B.object,maxDate:B.object,maxDateTime:B.object,maxTime:B.object,minDate:B.object,minDateTime:B.object,minTime:B.object,minutesStep:B.number,monthsPerRow:B.oneOf([3,4]),name:B.string,onAccept:B.func,onChange:B.func,onClose:B.func,onError:B.func,onMonthChange:B.func,onOpen:B.func,onSelectedSectionsChange:B.func,onViewChange:B.func,onYearChange:B.func,open:B.bool,openTo:B.oneOf(["day","hours","meridiem","minutes","month","seconds","year"]),orientation:B.oneOf(["landscape","portrait"]),readOnly:B.bool,reduceAnimations:B.bool,referenceDate:B.object,renderLoading:B.func,selectedSections:B.oneOfType([B.oneOf(["all","day","empty","hours","meridiem","minutes","month","seconds","weekDay","year"]),B.number]),shouldDisableDate:B.func,shouldDisableMonth:B.func,shouldDisableTime:B.func,shouldDisableYear:B.func,showDaysOutsideCurrentMonth:B.bool,skipDisabled:B.bool,slotProps:B.object,slots:B.object,sx:B.oneOfType([B.arrayOf(B.oneOfType([B.func,B.object,B.bool])),B.func,B.object]),thresholdToRenderTimeInASingleColumn:B.number,timeSteps:B.shape({hours:B.number,minutes:B.number,seconds:B.number}),timezone:B.string,value:B.object,view:B.oneOf(["day","hours","meridiem","minutes","month","seconds","year"]),viewRenderers:B.shape({day:B.func,hours:B.func,meridiem:B.func,minutes:B.func,month:B.func,seconds:B.func,year:B.func}),views:B.arrayOf(B.oneOf(["day","hours","minutes","month","seconds","year"]).isRequired),yearsOrder:B.oneOf(["asc","desc"]),yearsPerRow:B.oneOf([3,4])};const Fie=y.forwardRef(function(t,n){var u,d,f;const r=To(),o=hn(),i=Nie(t,"MuiMobileDateTimePicker"),a=ue({day:rl,month:rl,year:rl,hours:cy,minutes:cy,seconds:cy},i.viewRenderers),s=i.ampmInClock??!1,l=ue({},i,{viewRenderers:a,format:$ie(o,i),ampmInClock:s,slots:ue({field:hie},i.slots),slotProps:ue({},i.slotProps,{field:p=>{var m;return ue({},$f((m=i.slotProps)==null?void 0:m.field,p),mb(i),{ref:n})},toolbar:ue({hidden:!1,ampmInClock:s},(u=i.slotProps)==null?void 0:u.toolbar),tabs:ue({hidden:!1},(d=i.slotProps)==null?void 0:d.tabs)})}),{renderPicker:c}=BB({props:l,valueManager:ro,valueType:"date-time",getOpenDialogAriaText:fb({utils:o,formatKey:"fullDate",contextTranslation:r.openDatePickerDialogue,propsTranslation:(f=l.localeText)==null?void 0:f.openDatePickerDialogue}),validator:zk});return c()});Fie.propTypes={ampm:B.bool,ampmInClock:B.bool,autoFocus:B.bool,className:B.string,closeOnSelect:B.bool,dayOfWeekFormatter:B.func,defaultValue:B.object,disabled:B.bool,disableFuture:B.bool,disableHighlightToday:B.bool,disableIgnoringDatePartForTimeValidation:B.bool,disableOpenPicker:B.bool,disablePast:B.bool,displayWeekNumber:B.bool,enableAccessibleFieldDOMStructure:B.any,fixedWeekNumber:B.number,format:B.string,formatDensity:B.oneOf(["dense","spacious"]),inputRef:ub,label:B.node,loading:B.bool,localeText:B.object,maxDate:B.object,maxDateTime:B.object,maxTime:B.object,minDate:B.object,minDateTime:B.object,minTime:B.object,minutesStep:B.number,monthsPerRow:B.oneOf([3,4]),name:B.string,onAccept:B.func,onChange:B.func,onClose:B.func,onError:B.func,onMonthChange:B.func,onOpen:B.func,onSelectedSectionsChange:B.func,onViewChange:B.func,onYearChange:B.func,open:B.bool,openTo:B.oneOf(["day","hours","minutes","month","seconds","year"]),orientation:B.oneOf(["landscape","portrait"]),readOnly:B.bool,reduceAnimations:B.bool,referenceDate:B.object,renderLoading:B.func,selectedSections:B.oneOfType([B.oneOf(["all","day","empty","hours","meridiem","minutes","month","seconds","weekDay","year"]),B.number]),shouldDisableDate:B.func,shouldDisableMonth:B.func,shouldDisableTime:B.func,shouldDisableYear:B.func,showDaysOutsideCurrentMonth:B.bool,slotProps:B.object,slots:B.object,sx:B.oneOfType([B.arrayOf(B.oneOfType([B.func,B.object,B.bool])),B.func,B.object]),timezone:B.string,value:B.object,view:B.oneOf(["day","hours","minutes","month","seconds","year"]),viewRenderers:B.shape({day:B.func,hours:B.func,minutes:B.func,month:B.func,seconds:B.func,year:B.func}),views:B.arrayOf(B.oneOf(["day","hours","minutes","month","seconds","year"]).isRequired),yearsOrder:B.oneOf(["asc","desc"]),yearsPerRow:B.oneOf([3,4])};const $ut=["desktopModeMediaQuery"],Rut=y.forwardRef(function(t,n){const r=Zt({props:t,name:"MuiDateTimePicker"}),{desktopModeMediaQuery:o=MB}=r,i=_t(r,$ut);return yS(o,{defaultMatches:!0})?$.jsx(Lie,ue({ref:n},i)):$.jsx(Fie,ue({ref:n},i))});class rm extends Error{}class _ut extends rm{constructor(t){super(`Invalid DateTime: ${t.toMessage()}`)}}class Dut extends rm{constructor(t){super(`Invalid Interval: ${t.toMessage()}`)}}class Nut extends rm{constructor(t){super(`Invalid Duration: ${t.toMessage()}`)}}class Bg extends rm{}class jie extends rm{constructor(t){super(`Invalid unit ${t}`)}}class yi extends rm{}class Od extends rm{constructor(){super("Zone is an abstract class")}}const pt="numeric",sc="short",ns="long",oO={year:pt,month:pt,day:pt},Bie={year:pt,month:sc,day:pt},Lut={year:pt,month:sc,day:pt,weekday:sc},zie={year:pt,month:ns,day:pt},Vie={year:pt,month:ns,day:pt,weekday:ns},Hie={hour:pt,minute:pt},Uie={hour:pt,minute:pt,second:pt},Wie={hour:pt,minute:pt,second:pt,timeZoneName:sc},Gie={hour:pt,minute:pt,second:pt,timeZoneName:ns},qie={hour:pt,minute:pt,hourCycle:"h23"},Kie={hour:pt,minute:pt,second:pt,hourCycle:"h23"},Yie={hour:pt,minute:pt,second:pt,hourCycle:"h23",timeZoneName:sc},Xie={hour:pt,minute:pt,second:pt,hourCycle:"h23",timeZoneName:ns},Qie={year:pt,month:pt,day:pt,hour:pt,minute:pt},Jie={year:pt,month:pt,day:pt,hour:pt,minute:pt,second:pt},Zie={year:pt,month:sc,day:pt,hour:pt,minute:pt},eae={year:pt,month:sc,day:pt,hour:pt,minute:pt,second:pt},Fut={year:pt,month:sc,day:pt,weekday:sc,hour:pt,minute:pt},tae={year:pt,month:ns,day:pt,hour:pt,minute:pt,timeZoneName:sc},nae={year:pt,month:ns,day:pt,hour:pt,minute:pt,second:pt,timeZoneName:sc},rae={year:pt,month:ns,day:pt,weekday:ns,hour:pt,minute:pt,timeZoneName:ns},oae={year:pt,month:ns,day:pt,weekday:ns,hour:pt,minute:pt,second:pt,timeZoneName:ns};class ZS{get type(){throw new Od}get name(){throw new Od}get ianaName(){return this.name}get isUniversal(){throw new Od}offsetName(t,n){throw new Od}formatOffset(t,n){throw new Od}offset(t){throw new Od}equals(t){throw new Od}get isValid(){throw new Od}}let cR=null;class Hk extends ZS{static get instance(){return cR===null&&(cR=new Hk),cR}get type(){return"system"}get name(){return new Intl.DateTimeFormat().resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(t,{format:n,locale:r}){return pae(t,n,r)}formatOffset(t,n){return Ow(this.offset(t),n)}offset(t){return-new Date(t).getTimezoneOffset()}equals(t){return t.type==="system"}get isValid(){return!0}}let GP={};function jut(e){return GP[e]||(GP[e]=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:e,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",era:"short"})),GP[e]}const But={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6};function zut(e,t){const n=e.format(t).replace(/\u200E/g,""),r=/(\d+)\/(\d+)\/(\d+) (AD|BC),? (\d+):(\d+):(\d+)/.exec(n),[,o,i,a,s,l,c,u]=r;return[a,o,i,s,l,c,u]}function Vut(e,t){const n=e.formatToParts(t),r=[];for(let o=0;o=0?m:1e3+m,(f-p)/(60*1e3)}equals(t){return t.type==="iana"&&t.name===this.name}get isValid(){return this.valid}}let v9={};function Hut(e,t={}){const n=JSON.stringify([e,t]);let r=v9[n];return r||(r=new Intl.ListFormat(e,t),v9[n]=r),r}let bN={};function wN(e,t={}){const n=JSON.stringify([e,t]);let r=bN[n];return r||(r=new Intl.DateTimeFormat(e,t),bN[n]=r),r}let xN={};function Uut(e,t={}){const n=JSON.stringify([e,t]);let r=xN[n];return r||(r=new Intl.NumberFormat(e,t),xN[n]=r),r}let SN={};function Wut(e,t={}){const{base:n,...r}=t,o=JSON.stringify([e,r]);let i=SN[o];return i||(i=new Intl.RelativeTimeFormat(e,t),SN[o]=i),i}let q0=null;function Gut(){return q0||(q0=new Intl.DateTimeFormat().resolvedOptions().locale,q0)}let b9={};function qut(e){let t=b9[e];if(!t){const n=new Intl.Locale(e);t="getWeekInfo"in n?n.getWeekInfo():n.weekInfo,b9[e]=t}return t}function Kut(e){const t=e.indexOf("-x-");t!==-1&&(e=e.substring(0,t));const n=e.indexOf("-u-");if(n===-1)return[e];{let r,o;try{r=wN(e).resolvedOptions(),o=e}catch{const l=e.substring(0,n);r=wN(l).resolvedOptions(),o=l}const{numberingSystem:i,calendar:a}=r;return[o,i,a]}}function Yut(e,t,n){return(n||t)&&(e.includes("-u-")||(e+="-u"),n&&(e+=`-ca-${n}`),t&&(e+=`-nu-${t}`)),e}function Xut(e){const t=[];for(let n=1;n<=12;n++){const r=It.utc(2009,n,1);t.push(e(r))}return t}function Qut(e){const t=[];for(let n=1;n<=7;n++){const r=It.utc(2016,11,13+n);t.push(e(r))}return t}function oP(e,t,n,r){const o=e.listingMode();return o==="error"?null:o==="en"?n(t):r(t)}function Jut(e){return e.numberingSystem&&e.numberingSystem!=="latn"?!1:e.numberingSystem==="latn"||!e.locale||e.locale.startsWith("en")||new Intl.DateTimeFormat(e.intl).resolvedOptions().numberingSystem==="latn"}class Zut{constructor(t,n,r){this.padTo=r.padTo||0,this.floor=r.floor||!1;const{padTo:o,floor:i,...a}=r;if(!n||Object.keys(a).length>0){const s={useGrouping:!1,...r};r.padTo>0&&(s.minimumIntegerDigits=r.padTo),this.inf=Uut(t,s)}}format(t){if(this.inf){const n=this.floor?Math.floor(t):t;return this.inf.format(n)}else{const n=this.floor?Math.floor(t):GB(t,3);return ho(n,this.padTo)}}}class edt{constructor(t,n,r){this.opts=r,this.originalZone=void 0;let o;if(this.opts.timeZone)this.dt=t;else if(t.zone.type==="fixed"){const a=-1*(t.offset/60),s=a>=0?`Etc/GMT+${a}`:`Etc/GMT${a}`;t.offset!==0&&nd.create(s).valid?(o=s,this.dt=t):(o="UTC",this.dt=t.offset===0?t:t.setZone("UTC").plus({minutes:t.offset}),this.originalZone=t.zone)}else t.zone.type==="system"?this.dt=t:t.zone.type==="iana"?(this.dt=t,o=t.zone.name):(o="UTC",this.dt=t.setZone("UTC").plus({minutes:t.offset}),this.originalZone=t.zone);const i={...this.opts};i.timeZone=i.timeZone||o,this.dtf=wN(n,i)}format(){return this.originalZone?this.formatToParts().map(({value:t})=>t).join(""):this.dtf.format(this.dt.toJSDate())}formatToParts(){const t=this.dtf.formatToParts(this.dt.toJSDate());return this.originalZone?t.map(n=>{if(n.type==="timeZoneName"){const r=this.originalZone.offsetName(this.dt.ts,{locale:this.dt.locale,format:this.opts.timeZoneName});return{...n,value:r}}else return n}):t}resolvedOptions(){return this.dtf.resolvedOptions()}}class tdt{constructor(t,n,r){this.opts={style:"long",...r},!n&&dae()&&(this.rtf=Wut(t,r))}format(t,n){return this.rtf?this.rtf.format(t,n):Pdt(n,t,this.opts.numeric,this.opts.style!=="long")}formatToParts(t,n){return this.rtf?this.rtf.formatToParts(t,n):[]}}const ndt={firstDay:1,minimalDays:4,weekend:[6,7]};class er{static fromOpts(t){return er.create(t.locale,t.numberingSystem,t.outputCalendar,t.weekSettings,t.defaultToEN)}static create(t,n,r,o,i=!1){const a=t||Vr.defaultLocale,s=a||(i?"en-US":Gut()),l=n||Vr.defaultNumberingSystem,c=r||Vr.defaultOutputCalendar,u=CN(o)||Vr.defaultWeekSettings;return new er(s,l,c,u,a)}static resetCache(){q0=null,bN={},xN={},SN={}}static fromObject({locale:t,numberingSystem:n,outputCalendar:r,weekSettings:o}={}){return er.create(t,n,r,o)}constructor(t,n,r,o,i){const[a,s,l]=Kut(t);this.locale=a,this.numberingSystem=n||s||null,this.outputCalendar=r||l||null,this.weekSettings=o,this.intl=Yut(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=i,this.fastNumbersCached=null}get fastNumbers(){return this.fastNumbersCached==null&&(this.fastNumbersCached=Jut(this)),this.fastNumbersCached}listingMode(){const t=this.isEnglish(),n=(this.numberingSystem===null||this.numberingSystem==="latn")&&(this.outputCalendar===null||this.outputCalendar==="gregory");return t&&n?"en":"intl"}clone(t){return!t||Object.getOwnPropertyNames(t).length===0?this:er.create(t.locale||this.specifiedLocale,t.numberingSystem||this.numberingSystem,t.outputCalendar||this.outputCalendar,CN(t.weekSettings)||this.weekSettings,t.defaultToEN||!1)}redefaultToEN(t={}){return this.clone({...t,defaultToEN:!0})}redefaultToSystem(t={}){return this.clone({...t,defaultToEN:!1})}months(t,n=!1){return oP(this,t,gae,()=>{const r=n?{month:t,day:"numeric"}:{month:t},o=n?"format":"standalone";return this.monthsCache[o][t]||(this.monthsCache[o][t]=Xut(i=>this.extract(i,r,"month"))),this.monthsCache[o][t]})}weekdays(t,n=!1){return oP(this,t,bae,()=>{const r=n?{weekday:t,year:"numeric",month:"long",day:"numeric"}:{weekday:t},o=n?"format":"standalone";return this.weekdaysCache[o][t]||(this.weekdaysCache[o][t]=Qut(i=>this.extract(i,r,"weekday"))),this.weekdaysCache[o][t]})}meridiems(){return oP(this,void 0,()=>wae,()=>{if(!this.meridiemCache){const t={hour:"numeric",hourCycle:"h12"};this.meridiemCache=[It.utc(2016,11,13,9),It.utc(2016,11,13,19)].map(n=>this.extract(n,t,"dayperiod"))}return this.meridiemCache})}eras(t){return oP(this,t,xae,()=>{const n={era:t};return this.eraCache[t]||(this.eraCache[t]=[It.utc(-40,1,1),It.utc(2017,1,1)].map(r=>this.extract(r,n,"era"))),this.eraCache[t]})}extract(t,n,r){const o=this.dtFormatter(t,n),i=o.formatToParts(),a=i.find(s=>s.type.toLowerCase()===r);return a?a.value:null}numberFormatter(t={}){return new Zut(this.intl,t.forceSimple||this.fastNumbers,t)}dtFormatter(t,n={}){return new edt(t,this.intl,n)}relFormatter(t={}){return new tdt(this.intl,this.isEnglish(),t)}listFormatter(t={}){return Hut(this.intl,t)}isEnglish(){return this.locale==="en"||this.locale.toLowerCase()==="en-us"||new Intl.DateTimeFormat(this.intl).resolvedOptions().locale.startsWith("en-us")}getWeekSettings(){return this.weekSettings?this.weekSettings:fae()?qut(this.locale):ndt}getStartOfWeek(){return this.getWeekSettings().firstDay}getMinDaysInFirstWeek(){return this.getWeekSettings().minimalDays}getWeekendDays(){return this.getWeekSettings().weekend}equals(t){return this.locale===t.locale&&this.numberingSystem===t.numberingSystem&&this.outputCalendar===t.outputCalendar}toString(){return`Locale(${this.locale}, ${this.numberingSystem}, ${this.outputCalendar})`}}let uR=null;class Ui extends ZS{static get utcInstance(){return uR===null&&(uR=new Ui(0)),uR}static instance(t){return t===0?Ui.utcInstance:new Ui(t)}static parseSpecifier(t){if(t){const n=t.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(n)return new Ui(Gk(n[1],n[2]))}return null}constructor(t){super(),this.fixed=t}get type(){return"fixed"}get name(){return this.fixed===0?"UTC":`UTC${Ow(this.fixed,"narrow")}`}get ianaName(){return this.fixed===0?"Etc/UTC":`Etc/GMT${Ow(-this.fixed,"narrow")}`}offsetName(){return this.name}formatOffset(t,n){return Ow(this.fixed,n)}get isUniversal(){return!0}offset(){return this.fixed}equals(t){return t.type==="fixed"&&t.fixed===this.fixed}get isValid(){return!0}}class rdt extends ZS{constructor(t){super(),this.zoneName=t}get type(){return"invalid"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(){return null}formatOffset(){return""}offset(){return NaN}equals(){return!1}get isValid(){return!1}}function Ud(e,t){if(qt(e)||e===null)return t;if(e instanceof ZS)return e;if(cdt(e)){const n=e.toLowerCase();return n==="default"?t:n==="local"||n==="system"?Hk.instance:n==="utc"||n==="gmt"?Ui.utcInstance:Ui.parseSpecifier(n)||nd.create(e)}else return xf(e)?Ui.instance(e):typeof e=="object"&&"offset"in e&&typeof e.offset=="function"?e:new rdt(e)}const VB={arab:"[٠-٩]",arabext:"[۰-۹]",bali:"[᭐-᭙]",beng:"[০-৯]",deva:"[०-९]",fullwide:"[0-9]",gujr:"[૦-૯]",hanidec:"[〇|一|二|三|四|五|六|七|八|九]",khmr:"[០-៩]",knda:"[೦-೯]",laoo:"[໐-໙]",limb:"[᥆-᥏]",mlym:"[൦-൯]",mong:"[᠐-᠙]",mymr:"[၀-၉]",orya:"[୦-୯]",tamldec:"[௦-௯]",telu:"[౦-౯]",thai:"[๐-๙]",tibt:"[༠-༩]",latn:"\\d"},w9={arab:[1632,1641],arabext:[1776,1785],bali:[6992,7001],beng:[2534,2543],deva:[2406,2415],fullwide:[65296,65303],gujr:[2790,2799],khmr:[6112,6121],knda:[3302,3311],laoo:[3792,3801],limb:[6470,6479],mlym:[3430,3439],mong:[6160,6169],mymr:[4160,4169],orya:[2918,2927],tamldec:[3046,3055],telu:[3174,3183],thai:[3664,3673],tibt:[3872,3881]},odt=VB.hanidec.replace(/[\[|\]]/g,"").split("");function idt(e){let t=parseInt(e,10);if(isNaN(t)){t="";for(let n=0;n=i&&r<=a&&(t+=r-i)}}return parseInt(t,10)}else return t}let hg={};function adt(){hg={}}function Ml({numberingSystem:e},t=""){const n=e||"latn";return hg[n]||(hg[n]={}),hg[n][t]||(hg[n][t]=new RegExp(`${VB[n]}${t}`)),hg[n][t]}let x9=()=>Date.now(),S9="system",C9=null,P9=null,T9=null,E9=60,O9,I9=null;class Vr{static get now(){return x9}static set now(t){x9=t}static set defaultZone(t){S9=t}static get defaultZone(){return Ud(S9,Hk.instance)}static get defaultLocale(){return C9}static set defaultLocale(t){C9=t}static get defaultNumberingSystem(){return P9}static set defaultNumberingSystem(t){P9=t}static get defaultOutputCalendar(){return T9}static set defaultOutputCalendar(t){T9=t}static get defaultWeekSettings(){return I9}static set defaultWeekSettings(t){I9=CN(t)}static get twoDigitCutoffYear(){return E9}static set twoDigitCutoffYear(t){E9=t%100}static get throwOnInvalid(){return O9}static set throwOnInvalid(t){O9=t}static resetCaches(){er.resetCache(),nd.resetCache(),It.resetCache(),adt()}}class Gl{constructor(t,n){this.reason=t,this.explanation=n}toMessage(){return this.explanation?`${this.reason}: ${this.explanation}`:this.reason}}const iae=[0,31,59,90,120,151,181,212,243,273,304,334],aae=[0,31,60,91,121,152,182,213,244,274,305,335];function Ys(e,t){return new Gl("unit out of range",`you specified ${t} (of type ${typeof t}) as a ${e}, which is invalid`)}function HB(e,t,n){const r=new Date(Date.UTC(e,t-1,n));e<100&&e>=0&&r.setUTCFullYear(r.getUTCFullYear()-1900);const o=r.getUTCDay();return o===0?7:o}function sae(e,t,n){return n+(e1(e)?aae:iae)[t-1]}function lae(e,t){const n=e1(e)?aae:iae,r=n.findIndex(i=>iWx(r,t,n)?(c=r+1,l=1):c=r,{weekYear:c,weekNumber:l,weekday:s,...qk(e)}}function k9(e,t=4,n=1){const{weekYear:r,weekNumber:o,weekday:i}=e,a=UB(HB(r,1,t),n),s=uy(r);let l=o*7+i-a-7+t,c;l<1?(c=r-1,l+=uy(c)):l>s?(c=r+1,l-=uy(r)):c=r;const{month:u,day:d}=lae(c,l);return{year:c,month:u,day:d,...qk(e)}}function dR(e){const{year:t,month:n,day:r}=e,o=sae(t,n,r);return{year:t,ordinal:o,...qk(e)}}function M9(e){const{year:t,ordinal:n}=e,{month:r,day:o}=lae(t,n);return{year:t,month:r,day:o,...qk(e)}}function A9(e,t){if(!qt(e.localWeekday)||!qt(e.localWeekNumber)||!qt(e.localWeekYear)){if(!qt(e.weekday)||!qt(e.weekNumber)||!qt(e.weekYear))throw new Bg("Cannot mix locale-based week fields with ISO-based week fields");return qt(e.localWeekday)||(e.weekday=e.localWeekday),qt(e.localWeekNumber)||(e.weekNumber=e.localWeekNumber),qt(e.localWeekYear)||(e.weekYear=e.localWeekYear),delete e.localWeekday,delete e.localWeekNumber,delete e.localWeekYear,{minDaysInFirstWeek:t.getMinDaysInFirstWeek(),startOfWeek:t.getStartOfWeek()}}else return{minDaysInFirstWeek:4,startOfWeek:1}}function sdt(e,t=4,n=1){const r=Uk(e.weekYear),o=Xs(e.weekNumber,1,Wx(e.weekYear,t,n)),i=Xs(e.weekday,1,7);return r?o?i?!1:Ys("weekday",e.weekday):Ys("week",e.weekNumber):Ys("weekYear",e.weekYear)}function ldt(e){const t=Uk(e.year),n=Xs(e.ordinal,1,uy(e.year));return t?n?!1:Ys("ordinal",e.ordinal):Ys("year",e.year)}function cae(e){const t=Uk(e.year),n=Xs(e.month,1,12),r=Xs(e.day,1,aO(e.year,e.month));return t?n?r?!1:Ys("day",e.day):Ys("month",e.month):Ys("year",e.year)}function uae(e){const{hour:t,minute:n,second:r,millisecond:o}=e,i=Xs(t,0,23)||t===24&&n===0&&r===0&&o===0,a=Xs(n,0,59),s=Xs(r,0,59),l=Xs(o,0,999);return i?a?s?l?!1:Ys("millisecond",o):Ys("second",r):Ys("minute",n):Ys("hour",t)}function qt(e){return typeof e>"u"}function xf(e){return typeof e=="number"}function Uk(e){return typeof e=="number"&&e%1===0}function cdt(e){return typeof e=="string"}function udt(e){return Object.prototype.toString.call(e)==="[object Date]"}function dae(){try{return typeof Intl<"u"&&!!Intl.RelativeTimeFormat}catch{return!1}}function fae(){try{return typeof Intl<"u"&&!!Intl.Locale&&("weekInfo"in Intl.Locale.prototype||"getWeekInfo"in Intl.Locale.prototype)}catch{return!1}}function ddt(e){return Array.isArray(e)?e:[e]}function $9(e,t,n){if(e.length!==0)return e.reduce((r,o)=>{const i=[t(o),o];return r&&n(r[0],i[0])===r[0]?r:i},null)[1]}function fdt(e,t){return t.reduce((n,r)=>(n[r]=e[r],n),{})}function Tv(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function CN(e){if(e==null)return null;if(typeof e!="object")throw new yi("Week settings must be an object");if(!Xs(e.firstDay,1,7)||!Xs(e.minimalDays,1,7)||!Array.isArray(e.weekend)||e.weekend.some(t=>!Xs(t,1,7)))throw new yi("Invalid week settings");return{firstDay:e.firstDay,minimalDays:e.minimalDays,weekend:Array.from(e.weekend)}}function Xs(e,t,n){return Uk(e)&&e>=t&&e<=n}function pdt(e,t){return e-t*Math.floor(e/t)}function ho(e,t=2){const n=e<0;let r;return n?r="-"+(""+-e).padStart(t,"0"):r=(""+e).padStart(t,"0"),r}function Fd(e){if(!(qt(e)||e===null||e===""))return parseInt(e,10)}function Op(e){if(!(qt(e)||e===null||e===""))return parseFloat(e)}function WB(e){if(!(qt(e)||e===null||e==="")){const t=parseFloat("0."+e)*1e3;return Math.floor(t)}}function GB(e,t,n=!1){const r=10**t;return(n?Math.trunc:Math.round)(e*r)/r}function e1(e){return e%4===0&&(e%100!==0||e%400===0)}function uy(e){return e1(e)?366:365}function aO(e,t){const n=pdt(t-1,12)+1,r=e+(t-n)/12;return n===2?e1(r)?29:28:[31,null,31,30,31,30,31,31,30,31,30,31][n-1]}function Wk(e){let t=Date.UTC(e.year,e.month-1,e.day,e.hour,e.minute,e.second,e.millisecond);return e.year<100&&e.year>=0&&(t=new Date(t),t.setUTCFullYear(e.year,e.month-1,e.day)),+t}function R9(e,t,n){return-UB(HB(e,1,t),n)+t-1}function Wx(e,t=4,n=1){const r=R9(e,t,n),o=R9(e+1,t,n);return(uy(e)-r+o)/7}function PN(e){return e>99?e:e>Vr.twoDigitCutoffYear?1900+e:2e3+e}function pae(e,t,n,r=null){const o=new Date(e),i={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};r&&(i.timeZone=r);const a={timeZoneName:t,...i},s=new Intl.DateTimeFormat(n,a).formatToParts(o).find(l=>l.type.toLowerCase()==="timezonename");return s?s.value:null}function Gk(e,t){let n=parseInt(e,10);Number.isNaN(n)&&(n=0);const r=parseInt(t,10)||0,o=n<0||Object.is(n,-0)?-r:r;return n*60+o}function hae(e){const t=Number(e);if(typeof e=="boolean"||e===""||Number.isNaN(t))throw new yi(`Invalid unit value ${e}`);return t}function sO(e,t){const n={};for(const r in e)if(Tv(e,r)){const o=e[r];if(o==null)continue;n[t(r)]=hae(o)}return n}function Ow(e,t){const n=Math.trunc(Math.abs(e/60)),r=Math.trunc(Math.abs(e%60)),o=e>=0?"+":"-";switch(t){case"short":return`${o}${ho(n,2)}:${ho(r,2)}`;case"narrow":return`${o}${n}${r>0?`:${r}`:""}`;case"techie":return`${o}${ho(n,2)}${ho(r,2)}`;default:throw new RangeError(`Value format ${t} is out of range for property format`)}}function qk(e){return fdt(e,["hour","minute","second","millisecond"])}const hdt=["January","February","March","April","May","June","July","August","September","October","November","December"],mae=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],mdt=["J","F","M","A","M","J","J","A","S","O","N","D"];function gae(e){switch(e){case"narrow":return[...mdt];case"short":return[...mae];case"long":return[...hdt];case"numeric":return["1","2","3","4","5","6","7","8","9","10","11","12"];case"2-digit":return["01","02","03","04","05","06","07","08","09","10","11","12"];default:return null}}const yae=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],vae=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],gdt=["M","T","W","T","F","S","S"];function bae(e){switch(e){case"narrow":return[...gdt];case"short":return[...vae];case"long":return[...yae];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}const wae=["AM","PM"],ydt=["Before Christ","Anno Domini"],vdt=["BC","AD"],bdt=["B","A"];function xae(e){switch(e){case"narrow":return[...bdt];case"short":return[...vdt];case"long":return[...ydt];default:return null}}function wdt(e){return wae[e.hour<12?0:1]}function xdt(e,t){return bae(t)[e.weekday-1]}function Sdt(e,t){return gae(t)[e.month-1]}function Cdt(e,t){return xae(t)[e.year<0?0:1]}function Pdt(e,t,n="always",r=!1){const o={years:["year","yr."],quarters:["quarter","qtr."],months:["month","mo."],weeks:["week","wk."],days:["day","day","days"],hours:["hour","hr."],minutes:["minute","min."],seconds:["second","sec."]},i=["hours","minutes","seconds"].indexOf(e)===-1;if(n==="auto"&&i){const d=e==="days";switch(t){case 1:return d?"tomorrow":`next ${o[e][0]}`;case-1:return d?"yesterday":`last ${o[e][0]}`;case 0:return d?"today":`this ${o[e][0]}`}}const a=Object.is(t,-0)||t<0,s=Math.abs(t),l=s===1,c=o[e],u=r?l?c[1]:c[2]||c[1]:l?o[e][0]:e;return a?`${s} ${u} ago`:`in ${s} ${u}`}function _9(e,t){let n="";for(const r of e)r.literal?n+=r.val:n+=t(r.val);return n}const Tdt={D:oO,DD:Bie,DDD:zie,DDDD:Vie,t:Hie,tt:Uie,ttt:Wie,tttt:Gie,T:qie,TT:Kie,TTT:Yie,TTTT:Xie,f:Qie,ff:Zie,fff:tae,ffff:rae,F:Jie,FF:eae,FFF:nae,FFFF:oae};let Ul=class K0{static create(t,n={}){return new K0(t,n)}static parseFormat(t){let n=null,r="",o=!1;const i=[];for(let a=0;a0&&i.push({literal:o||/^\s+$/.test(r),val:r}),n=null,r="",o=!o):o||s===n?r+=s:(r.length>0&&i.push({literal:/^\s+$/.test(r),val:r}),r=s,n=s)}return r.length>0&&i.push({literal:o||/^\s+$/.test(r),val:r}),i}static macroTokenToFormatOpts(t){return Tdt[t]}constructor(t,n){this.opts=n,this.loc=t,this.systemLoc=null}formatWithSystemDefault(t,n){return this.systemLoc===null&&(this.systemLoc=this.loc.redefaultToSystem()),this.systemLoc.dtFormatter(t,{...this.opts,...n}).format()}dtFormatter(t,n={}){return this.loc.dtFormatter(t,{...this.opts,...n})}formatDateTime(t,n){return this.dtFormatter(t,n).format()}formatDateTimeParts(t,n){return this.dtFormatter(t,n).formatToParts()}formatInterval(t,n){return this.dtFormatter(t.start,n).dtf.formatRange(t.start.toJSDate(),t.end.toJSDate())}resolvedOptions(t,n){return this.dtFormatter(t,n).resolvedOptions()}num(t,n=0){if(this.opts.forceSimple)return ho(t,n);const r={...this.opts};return n>0&&(r.padTo=n),this.loc.numberFormatter(r).format(t)}formatDateTimeFromString(t,n){const r=this.loc.listingMode()==="en",o=this.loc.outputCalendar&&this.loc.outputCalendar!=="gregory",i=(p,m)=>this.loc.extract(t,p,m),a=p=>t.isOffsetFixed&&t.offset===0&&p.allowZ?"Z":t.isValid?t.zone.formatOffset(t.ts,p.format):"",s=()=>r?wdt(t):i({hour:"numeric",hourCycle:"h12"},"dayperiod"),l=(p,m)=>r?Sdt(t,p):i(m?{month:p}:{month:p,day:"numeric"},"month"),c=(p,m)=>r?xdt(t,p):i(m?{weekday:p}:{weekday:p,month:"long",day:"numeric"},"weekday"),u=p=>{const m=K0.macroTokenToFormatOpts(p);return m?this.formatWithSystemDefault(t,m):p},d=p=>r?Cdt(t,p):i({era:p},"era"),f=p=>{switch(p){case"S":return this.num(t.millisecond);case"u":case"SSS":return this.num(t.millisecond,3);case"s":return this.num(t.second);case"ss":return this.num(t.second,2);case"uu":return this.num(Math.floor(t.millisecond/10),2);case"uuu":return this.num(Math.floor(t.millisecond/100));case"m":return this.num(t.minute);case"mm":return this.num(t.minute,2);case"h":return this.num(t.hour%12===0?12:t.hour%12);case"hh":return this.num(t.hour%12===0?12:t.hour%12,2);case"H":return this.num(t.hour);case"HH":return this.num(t.hour,2);case"Z":return a({format:"narrow",allowZ:this.opts.allowZ});case"ZZ":return a({format:"short",allowZ:this.opts.allowZ});case"ZZZ":return a({format:"techie",allowZ:this.opts.allowZ});case"ZZZZ":return t.zone.offsetName(t.ts,{format:"short",locale:this.loc.locale});case"ZZZZZ":return t.zone.offsetName(t.ts,{format:"long",locale:this.loc.locale});case"z":return t.zoneName;case"a":return s();case"d":return o?i({day:"numeric"},"day"):this.num(t.day);case"dd":return o?i({day:"2-digit"},"day"):this.num(t.day,2);case"c":return this.num(t.weekday);case"ccc":return c("short",!0);case"cccc":return c("long",!0);case"ccccc":return c("narrow",!0);case"E":return this.num(t.weekday);case"EEE":return c("short",!1);case"EEEE":return c("long",!1);case"EEEEE":return c("narrow",!1);case"L":return o?i({month:"numeric",day:"numeric"},"month"):this.num(t.month);case"LL":return o?i({month:"2-digit",day:"numeric"},"month"):this.num(t.month,2);case"LLL":return l("short",!0);case"LLLL":return l("long",!0);case"LLLLL":return l("narrow",!0);case"M":return o?i({month:"numeric"},"month"):this.num(t.month);case"MM":return o?i({month:"2-digit"},"month"):this.num(t.month,2);case"MMM":return l("short",!1);case"MMMM":return l("long",!1);case"MMMMM":return l("narrow",!1);case"y":return o?i({year:"numeric"},"year"):this.num(t.year);case"yy":return o?i({year:"2-digit"},"year"):this.num(t.year.toString().slice(-2),2);case"yyyy":return o?i({year:"numeric"},"year"):this.num(t.year,4);case"yyyyyy":return o?i({year:"numeric"},"year"):this.num(t.year,6);case"G":return d("short");case"GG":return d("long");case"GGGGG":return d("narrow");case"kk":return this.num(t.weekYear.toString().slice(-2),2);case"kkkk":return this.num(t.weekYear,4);case"W":return this.num(t.weekNumber);case"WW":return this.num(t.weekNumber,2);case"n":return this.num(t.localWeekNumber);case"nn":return this.num(t.localWeekNumber,2);case"ii":return this.num(t.localWeekYear.toString().slice(-2),2);case"iiii":return this.num(t.localWeekYear,4);case"o":return this.num(t.ordinal);case"ooo":return this.num(t.ordinal,3);case"q":return this.num(t.quarter);case"qq":return this.num(t.quarter,2);case"X":return this.num(Math.floor(t.ts/1e3));case"x":return this.num(t.ts);default:return u(p)}};return _9(K0.parseFormat(n),f)}formatDurationFromString(t,n){const r=l=>{switch(l[0]){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":return"hour";case"d":return"day";case"w":return"week";case"M":return"month";case"y":return"year";default:return null}},o=l=>c=>{const u=r(c);return u?this.num(l.get(u),c.length):c},i=K0.parseFormat(n),a=i.reduce((l,{literal:c,val:u})=>c?l:l.concat(u),[]),s=t.shiftTo(...a.map(r).filter(l=>l));return _9(i,o(s))}};const Sae=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/;function gb(...e){const t=e.reduce((n,r)=>n+r.source,"");return RegExp(`^${t}$`)}function yb(...e){return t=>e.reduce(([n,r,o],i)=>{const[a,s,l]=i(t,o);return[{...n,...a},s||r,l]},[{},null,1]).slice(0,2)}function vb(e,...t){if(e==null)return[null,null];for(const[n,r]of t){const o=n.exec(e);if(o)return r(o)}return[null,null]}function Cae(...e){return(t,n)=>{const r={};let o;for(o=0;op!==void 0&&(m||p&&u)?-p:p;return[{years:f(Op(n)),months:f(Op(r)),weeks:f(Op(o)),days:f(Op(i)),hours:f(Op(a)),minutes:f(Op(s)),seconds:f(Op(l),l==="-0"),milliseconds:f(WB(c),d)}]}const Fdt={GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function YB(e,t,n,r,o,i,a){const s={year:t.length===2?PN(Fd(t)):Fd(t),month:mae.indexOf(n)+1,day:Fd(r),hour:Fd(o),minute:Fd(i)};return a&&(s.second=Fd(a)),e&&(s.weekday=e.length>3?yae.indexOf(e)+1:vae.indexOf(e)+1),s}const jdt=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/;function Bdt(e){const[,t,n,r,o,i,a,s,l,c,u,d]=e,f=YB(t,o,r,n,i,a,s);let p;return l?p=Fdt[l]:c?p=0:p=Gk(u,d),[f,new Ui(p)]}function zdt(e){return e.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}const Vdt=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/,Hdt=/^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/,Udt=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/;function D9(e){const[,t,n,r,o,i,a,s]=e;return[YB(t,o,r,n,i,a,s),Ui.utcInstance]}function Wdt(e){const[,t,n,r,o,i,a,s]=e;return[YB(t,s,n,r,o,i,a),Ui.utcInstance]}const Gdt=gb(Odt,KB),qdt=gb(Idt,KB),Kdt=gb(kdt,KB),Ydt=gb(Tae),Oae=yb(_dt,bb,t1,n1),Xdt=yb(Mdt,bb,t1,n1),Qdt=yb(Adt,bb,t1,n1),Jdt=yb(bb,t1,n1);function Zdt(e){return vb(e,[Gdt,Oae],[qdt,Xdt],[Kdt,Qdt],[Ydt,Jdt])}function eft(e){return vb(zdt(e),[jdt,Bdt])}function tft(e){return vb(e,[Vdt,D9],[Hdt,D9],[Udt,Wdt])}function nft(e){return vb(e,[Ndt,Ldt])}const rft=yb(bb);function oft(e){return vb(e,[Ddt,rft])}const ift=gb($dt,Rdt),aft=gb(Eae),sft=yb(bb,t1,n1);function lft(e){return vb(e,[ift,Oae],[aft,sft])}const N9="Invalid Duration",Iae={weeks:{days:7,hours:7*24,minutes:7*24*60,seconds:7*24*60*60,milliseconds:7*24*60*60*1e3},days:{hours:24,minutes:24*60,seconds:24*60*60,milliseconds:24*60*60*1e3},hours:{minutes:60,seconds:60*60,milliseconds:60*60*1e3},minutes:{seconds:60,milliseconds:60*1e3},seconds:{milliseconds:1e3}},cft={years:{quarters:4,months:12,weeks:52,days:365,hours:365*24,minutes:365*24*60,seconds:365*24*60*60,milliseconds:365*24*60*60*1e3},quarters:{months:3,weeks:13,days:91,hours:91*24,minutes:91*24*60,seconds:91*24*60*60,milliseconds:91*24*60*60*1e3},months:{weeks:4,days:30,hours:30*24,minutes:30*24*60,seconds:30*24*60*60,milliseconds:30*24*60*60*1e3},...Iae},$s=146097/400,Jm=146097/4800,uft={years:{quarters:4,months:12,weeks:$s/7,days:$s,hours:$s*24,minutes:$s*24*60,seconds:$s*24*60*60,milliseconds:$s*24*60*60*1e3},quarters:{months:3,weeks:$s/28,days:$s/4,hours:$s*24/4,minutes:$s*24*60/4,seconds:$s*24*60*60/4,milliseconds:$s*24*60*60*1e3/4},months:{weeks:Jm/7,days:Jm,hours:Jm*24,minutes:Jm*24*60,seconds:Jm*24*60*60,milliseconds:Jm*24*60*60*1e3},...Iae},Jp=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],dft=Jp.slice(0).reverse();function Id(e,t,n=!1){const r={values:n?t.values:{...e.values,...t.values||{}},loc:e.loc.clone(t.loc),conversionAccuracy:t.conversionAccuracy||e.conversionAccuracy,matrix:t.matrix||e.matrix};return new Nn(r)}function kae(e,t){let n=t.milliseconds??0;for(const r of dft.slice(1))t[r]&&(n+=t[r]*e[r].milliseconds);return n}function L9(e,t){const n=kae(e,t)<0?-1:1;Jp.reduceRight((r,o)=>{if(qt(t[o]))return r;if(r){const i=t[r]*n,a=e[o][r],s=Math.floor(i/a);t[o]+=s*n,t[r]-=s*a*n}return o},null),Jp.reduce((r,o)=>{if(qt(t[o]))return r;if(r){const i=t[r]%1;t[r]-=i,t[o]+=i*e[r][o]}return o},null)}function fft(e){const t={};for(const[n,r]of Object.entries(e))r!==0&&(t[n]=r);return t}class Nn{constructor(t){const n=t.conversionAccuracy==="longterm"||!1;let r=n?uft:cft;t.matrix&&(r=t.matrix),this.values=t.values,this.loc=t.loc||er.create(),this.conversionAccuracy=n?"longterm":"casual",this.invalid=t.invalid||null,this.matrix=r,this.isLuxonDuration=!0}static fromMillis(t,n){return Nn.fromObject({milliseconds:t},n)}static fromObject(t,n={}){if(t==null||typeof t!="object")throw new yi(`Duration.fromObject: argument expected to be an object, got ${t===null?"null":typeof t}`);return new Nn({values:sO(t,Nn.normalizeUnit),loc:er.fromObject(n),conversionAccuracy:n.conversionAccuracy,matrix:n.matrix})}static fromDurationLike(t){if(xf(t))return Nn.fromMillis(t);if(Nn.isDuration(t))return t;if(typeof t=="object")return Nn.fromObject(t);throw new yi(`Unknown duration argument ${t} of type ${typeof t}`)}static fromISO(t,n){const[r]=nft(t);return r?Nn.fromObject(r,n):Nn.invalid("unparsable",`the input "${t}" can't be parsed as ISO 8601`)}static fromISOTime(t,n){const[r]=oft(t);return r?Nn.fromObject(r,n):Nn.invalid("unparsable",`the input "${t}" can't be parsed as ISO 8601`)}static invalid(t,n=null){if(!t)throw new yi("need to specify a reason the Duration is invalid");const r=t instanceof Gl?t:new Gl(t,n);if(Vr.throwOnInvalid)throw new Nut(r);return new Nn({invalid:r})}static normalizeUnit(t){const n={year:"years",years:"years",quarter:"quarters",quarters:"quarters",month:"months",months:"months",week:"weeks",weeks:"weeks",day:"days",days:"days",hour:"hours",hours:"hours",minute:"minutes",minutes:"minutes",second:"seconds",seconds:"seconds",millisecond:"milliseconds",milliseconds:"milliseconds"}[t&&t.toLowerCase()];if(!n)throw new jie(t);return n}static isDuration(t){return t&&t.isLuxonDuration||!1}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}toFormat(t,n={}){const r={...n,floor:n.round!==!1&&n.floor!==!1};return this.isValid?Ul.create(this.loc,r).formatDurationFromString(this,t):N9}toHuman(t={}){if(!this.isValid)return N9;const n=Jp.map(r=>{const o=this.values[r];return qt(o)?null:this.loc.numberFormatter({style:"unit",unitDisplay:"long",...t,unit:r.slice(0,-1)}).format(o)}).filter(r=>r);return this.loc.listFormatter({type:"conjunction",style:t.listStyle||"narrow",...t}).format(n)}toObject(){return this.isValid?{...this.values}:{}}toISO(){if(!this.isValid)return null;let t="P";return this.years!==0&&(t+=this.years+"Y"),(this.months!==0||this.quarters!==0)&&(t+=this.months+this.quarters*3+"M"),this.weeks!==0&&(t+=this.weeks+"W"),this.days!==0&&(t+=this.days+"D"),(this.hours!==0||this.minutes!==0||this.seconds!==0||this.milliseconds!==0)&&(t+="T"),this.hours!==0&&(t+=this.hours+"H"),this.minutes!==0&&(t+=this.minutes+"M"),(this.seconds!==0||this.milliseconds!==0)&&(t+=GB(this.seconds+this.milliseconds/1e3,3)+"S"),t==="P"&&(t+="T0S"),t}toISOTime(t={}){if(!this.isValid)return null;const n=this.toMillis();return n<0||n>=864e5?null:(t={suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:"extended",...t,includeOffset:!1},It.fromMillis(n,{zone:"UTC"}).toISOTime(t))}toJSON(){return this.toISO()}toString(){return this.toISO()}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`Duration { values: ${JSON.stringify(this.values)} }`:`Duration { Invalid, reason: ${this.invalidReason} }`}toMillis(){return this.isValid?kae(this.matrix,this.values):NaN}valueOf(){return this.toMillis()}plus(t){if(!this.isValid)return this;const n=Nn.fromDurationLike(t),r={};for(const o of Jp)(Tv(n.values,o)||Tv(this.values,o))&&(r[o]=n.get(o)+this.get(o));return Id(this,{values:r},!0)}minus(t){if(!this.isValid)return this;const n=Nn.fromDurationLike(t);return this.plus(n.negate())}mapUnits(t){if(!this.isValid)return this;const n={};for(const r of Object.keys(this.values))n[r]=hae(t(this.values[r],r));return Id(this,{values:n},!0)}get(t){return this[Nn.normalizeUnit(t)]}set(t){if(!this.isValid)return this;const n={...this.values,...sO(t,Nn.normalizeUnit)};return Id(this,{values:n})}reconfigure({locale:t,numberingSystem:n,conversionAccuracy:r,matrix:o}={}){const a={loc:this.loc.clone({locale:t,numberingSystem:n}),matrix:o,conversionAccuracy:r};return Id(this,a)}as(t){return this.isValid?this.shiftTo(t).get(t):NaN}normalize(){if(!this.isValid)return this;const t=this.toObject();return L9(this.matrix,t),Id(this,{values:t},!0)}rescale(){if(!this.isValid)return this;const t=fft(this.normalize().shiftToAll().toObject());return Id(this,{values:t},!0)}shiftTo(...t){if(!this.isValid)return this;if(t.length===0)return this;t=t.map(a=>Nn.normalizeUnit(a));const n={},r={},o=this.toObject();let i;for(const a of Jp)if(t.indexOf(a)>=0){i=a;let s=0;for(const c in r)s+=this.matrix[c][a]*r[c],r[c]=0;xf(o[a])&&(s+=o[a]);const l=Math.trunc(s);n[a]=l,r[a]=(s*1e3-l*1e3)/1e3}else xf(o[a])&&(r[a]=o[a]);for(const a in r)r[a]!==0&&(n[i]+=a===i?r[a]:r[a]/this.matrix[i][a]);return L9(this.matrix,n),Id(this,{values:n},!0)}shiftToAll(){return this.isValid?this.shiftTo("years","months","weeks","days","hours","minutes","seconds","milliseconds"):this}negate(){if(!this.isValid)return this;const t={};for(const n of Object.keys(this.values))t[n]=this.values[n]===0?0:-this.values[n];return Id(this,{values:t},!0)}get years(){return this.isValid?this.values.years||0:NaN}get quarters(){return this.isValid?this.values.quarters||0:NaN}get months(){return this.isValid?this.values.months||0:NaN}get weeks(){return this.isValid?this.values.weeks||0:NaN}get days(){return this.isValid?this.values.days||0:NaN}get hours(){return this.isValid?this.values.hours||0:NaN}get minutes(){return this.isValid?this.values.minutes||0:NaN}get seconds(){return this.isValid?this.values.seconds||0:NaN}get milliseconds(){return this.isValid?this.values.milliseconds||0:NaN}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}equals(t){if(!this.isValid||!t.isValid||!this.loc.equals(t.loc))return!1;function n(r,o){return r===void 0||r===0?o===void 0||o===0:r===o}for(const r of Jp)if(!n(this.values[r],t.values[r]))return!1;return!0}}const Zm="Invalid Interval";function pft(e,t){return!e||!e.isValid?eo.invalid("missing or invalid start"):!t||!t.isValid?eo.invalid("missing or invalid end"):tt:!1}isBefore(t){return this.isValid?this.e<=t:!1}contains(t){return this.isValid?this.s<=t&&this.e>t:!1}set({start:t,end:n}={}){return this.isValid?eo.fromDateTimes(t||this.s,n||this.e):this}splitAt(...t){if(!this.isValid)return[];const n=t.map(T0).filter(a=>this.contains(a)).sort((a,s)=>a.toMillis()-s.toMillis()),r=[];let{s:o}=this,i=0;for(;o+this.e?this.e:a;r.push(eo.fromDateTimes(o,s)),o=s,i+=1}return r}splitBy(t){const n=Nn.fromDurationLike(t);if(!this.isValid||!n.isValid||n.as("milliseconds")===0)return[];let{s:r}=this,o=1,i;const a=[];for(;rl*o));i=+s>+this.e?this.e:s,a.push(eo.fromDateTimes(r,i)),r=i,o+=1}return a}divideEqually(t){return this.isValid?this.splitBy(this.length()/t).slice(0,t):[]}overlaps(t){return this.e>t.s&&this.s=t.e:!1}equals(t){return!this.isValid||!t.isValid?!1:this.s.equals(t.s)&&this.e.equals(t.e)}intersection(t){if(!this.isValid)return this;const n=this.s>t.s?this.s:t.s,r=this.e=r?null:eo.fromDateTimes(n,r)}union(t){if(!this.isValid)return this;const n=this.st.e?this.e:t.e;return eo.fromDateTimes(n,r)}static merge(t){const[n,r]=t.sort((o,i)=>o.s-i.s).reduce(([o,i],a)=>i?i.overlaps(a)||i.abutsStart(a)?[o,i.union(a)]:[o.concat([i]),a]:[o,a],[[],null]);return r&&n.push(r),n}static xor(t){let n=null,r=0;const o=[],i=t.map(l=>[{time:l.s,type:"s"},{time:l.e,type:"e"}]),a=Array.prototype.concat(...i),s=a.sort((l,c)=>l.time-c.time);for(const l of s)r+=l.type==="s"?1:-1,r===1?n=l.time:(n&&+n!=+l.time&&o.push(eo.fromDateTimes(n,l.time)),n=null);return eo.merge(o)}difference(...t){return eo.xor([this].concat(t)).map(n=>this.intersection(n)).filter(n=>n&&!n.isEmpty())}toString(){return this.isValid?`[${this.s.toISO()} – ${this.e.toISO()})`:Zm}[Symbol.for("nodejs.util.inspect.custom")](){return this.isValid?`Interval { start: ${this.s.toISO()}, end: ${this.e.toISO()} }`:`Interval { Invalid, reason: ${this.invalidReason} }`}toLocaleString(t=oO,n={}){return this.isValid?Ul.create(this.s.loc.clone(n),t).formatInterval(this):Zm}toISO(t){return this.isValid?`${this.s.toISO(t)}/${this.e.toISO(t)}`:Zm}toISODate(){return this.isValid?`${this.s.toISODate()}/${this.e.toISODate()}`:Zm}toISOTime(t){return this.isValid?`${this.s.toISOTime(t)}/${this.e.toISOTime(t)}`:Zm}toFormat(t,{separator:n=" – "}={}){return this.isValid?`${this.s.toFormat(t)}${n}${this.e.toFormat(t)}`:Zm}toDuration(t,n){return this.isValid?this.e.diff(this.s,t,n):Nn.invalid(this.invalidReason)}mapEndpoints(t){return eo.fromDateTimes(t(this.s),t(this.e))}}class Y0{static hasDST(t=Vr.defaultZone){const n=It.now().setZone(t).set({month:12});return!t.isUniversal&&n.offset!==n.set({month:6}).offset}static isValidIANAZone(t){return nd.isValidZone(t)}static normalizeZone(t){return Ud(t,Vr.defaultZone)}static getStartOfWeek({locale:t=null,locObj:n=null}={}){return(n||er.create(t)).getStartOfWeek()}static getMinimumDaysInFirstWeek({locale:t=null,locObj:n=null}={}){return(n||er.create(t)).getMinDaysInFirstWeek()}static getWeekendWeekdays({locale:t=null,locObj:n=null}={}){return(n||er.create(t)).getWeekendDays().slice()}static months(t="long",{locale:n=null,numberingSystem:r=null,locObj:o=null,outputCalendar:i="gregory"}={}){return(o||er.create(n,r,i)).months(t)}static monthsFormat(t="long",{locale:n=null,numberingSystem:r=null,locObj:o=null,outputCalendar:i="gregory"}={}){return(o||er.create(n,r,i)).months(t,!0)}static weekdays(t="long",{locale:n=null,numberingSystem:r=null,locObj:o=null}={}){return(o||er.create(n,r,null)).weekdays(t)}static weekdaysFormat(t="long",{locale:n=null,numberingSystem:r=null,locObj:o=null}={}){return(o||er.create(n,r,null)).weekdays(t,!0)}static meridiems({locale:t=null}={}){return er.create(t).meridiems()}static eras(t="short",{locale:n=null}={}){return er.create(n,null,"gregory").eras(t)}static features(){return{relative:dae(),localeWeek:fae()}}}function F9(e,t){const n=o=>o.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf(),r=n(t)-n(e);return Math.floor(Nn.fromMillis(r).as("days"))}function hft(e,t,n){const r=[["years",(l,c)=>c.year-l.year],["quarters",(l,c)=>c.quarter-l.quarter+(c.year-l.year)*4],["months",(l,c)=>c.month-l.month+(c.year-l.year)*12],["weeks",(l,c)=>{const u=F9(l,c);return(u-u%7)/7}],["days",F9]],o={},i=e;let a,s;for(const[l,c]of r)n.indexOf(l)>=0&&(a=l,o[l]=c(e,t),s=i.plus(o),s>t?(o[l]--,e=i.plus(o),e>t&&(s=e,o[l]--,e=i.plus(o))):e=s);return[e,o,s,a]}function mft(e,t,n,r){let[o,i,a,s]=hft(e,t,n);const l=t-o,c=n.filter(d=>["hours","minutes","seconds","milliseconds"].indexOf(d)>=0);c.length===0&&(a0?Nn.fromMillis(l,r).shiftTo(...c).plus(u):u}const gft="missing Intl.DateTimeFormat.formatToParts support";function Kn(e,t=n=>n){return{regex:e,deser:([n])=>t(idt(n))}}const yft=" ",Mae=`[ ${yft}]`,Aae=new RegExp(Mae,"g");function vft(e){return e.replace(/\./g,"\\.?").replace(Aae,Mae)}function j9(e){return e.replace(/\./g,"").replace(Aae," ").toLowerCase()}function Al(e,t){return e===null?null:{regex:RegExp(e.map(vft).join("|")),deser:([n])=>e.findIndex(r=>j9(n)===j9(r))+t}}function B9(e,t){return{regex:e,deser:([,n,r])=>Gk(n,r),groups:t}}function iP(e){return{regex:e,deser:([t])=>t}}function bft(e){return e.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function wft(e,t){const n=Ml(t),r=Ml(t,"{2}"),o=Ml(t,"{3}"),i=Ml(t,"{4}"),a=Ml(t,"{6}"),s=Ml(t,"{1,2}"),l=Ml(t,"{1,3}"),c=Ml(t,"{1,6}"),u=Ml(t,"{1,9}"),d=Ml(t,"{2,4}"),f=Ml(t,"{4,6}"),p=v=>({regex:RegExp(bft(v.val)),deser:([w])=>w,literal:!0}),g=(v=>{if(e.literal)return p(v);switch(v.val){case"G":return Al(t.eras("short"),0);case"GG":return Al(t.eras("long"),0);case"y":return Kn(c);case"yy":return Kn(d,PN);case"yyyy":return Kn(i);case"yyyyy":return Kn(f);case"yyyyyy":return Kn(a);case"M":return Kn(s);case"MM":return Kn(r);case"MMM":return Al(t.months("short",!0),1);case"MMMM":return Al(t.months("long",!0),1);case"L":return Kn(s);case"LL":return Kn(r);case"LLL":return Al(t.months("short",!1),1);case"LLLL":return Al(t.months("long",!1),1);case"d":return Kn(s);case"dd":return Kn(r);case"o":return Kn(l);case"ooo":return Kn(o);case"HH":return Kn(r);case"H":return Kn(s);case"hh":return Kn(r);case"h":return Kn(s);case"mm":return Kn(r);case"m":return Kn(s);case"q":return Kn(s);case"qq":return Kn(r);case"s":return Kn(s);case"ss":return Kn(r);case"S":return Kn(l);case"SSS":return Kn(o);case"u":return iP(u);case"uu":return iP(s);case"uuu":return Kn(n);case"a":return Al(t.meridiems(),0);case"kkkk":return Kn(i);case"kk":return Kn(d,PN);case"W":return Kn(s);case"WW":return Kn(r);case"E":case"c":return Kn(n);case"EEE":return Al(t.weekdays("short",!1),1);case"EEEE":return Al(t.weekdays("long",!1),1);case"ccc":return Al(t.weekdays("short",!0),1);case"cccc":return Al(t.weekdays("long",!0),1);case"Z":case"ZZ":return B9(new RegExp(`([+-]${s.source})(?::(${r.source}))?`),2);case"ZZZ":return B9(new RegExp(`([+-]${s.source})(${r.source})?`),2);case"z":return iP(/[a-z_+-/]{1,256}?/i);case" ":return iP(/[^\S\n\r]/);default:return p(v)}})(e)||{invalidReason:gft};return g.token=e,g}const xft={year:{"2-digit":"yy",numeric:"yyyyy"},month:{numeric:"M","2-digit":"MM",short:"MMM",long:"MMMM"},day:{numeric:"d","2-digit":"dd"},weekday:{short:"EEE",long:"EEEE"},dayperiod:"a",dayPeriod:"a",hour12:{numeric:"h","2-digit":"hh"},hour24:{numeric:"H","2-digit":"HH"},minute:{numeric:"m","2-digit":"mm"},second:{numeric:"s","2-digit":"ss"},timeZoneName:{long:"ZZZZZ",short:"ZZZ"}};function Sft(e,t,n){const{type:r,value:o}=e;if(r==="literal"){const l=/^\s+$/.test(o);return{literal:!l,val:l?" ":o}}const i=t[r];let a=r;r==="hour"&&(t.hour12!=null?a=t.hour12?"hour12":"hour24":t.hourCycle!=null?t.hourCycle==="h11"||t.hourCycle==="h12"?a="hour12":a="hour24":a=n.hour12?"hour12":"hour24");let s=xft[a];if(typeof s=="object"&&(s=s[i]),s)return{literal:!1,val:s}}function Cft(e){return[`^${e.map(n=>n.regex).reduce((n,r)=>`${n}(${r.source})`,"")}$`,e]}function Pft(e,t,n){const r=e.match(t);if(r){const o={};let i=1;for(const a in n)if(Tv(n,a)){const s=n[a],l=s.groups?s.groups+1:1;!s.literal&&s.token&&(o[s.token.val[0]]=s.deser(r.slice(i,i+l))),i+=l}return[r,o]}else return[r,{}]}function Tft(e){const t=i=>{switch(i){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":case"H":return"hour";case"d":return"day";case"o":return"ordinal";case"L":case"M":return"month";case"y":return"year";case"E":case"c":return"weekday";case"W":return"weekNumber";case"k":return"weekYear";case"q":return"quarter";default:return null}};let n=null,r;return qt(e.z)||(n=nd.create(e.z)),qt(e.Z)||(n||(n=new Ui(e.Z)),r=e.Z),qt(e.q)||(e.M=(e.q-1)*3+1),qt(e.h)||(e.h<12&&e.a===1?e.h+=12:e.h===12&&e.a===0&&(e.h=0)),e.G===0&&e.y&&(e.y=-e.y),qt(e.u)||(e.S=WB(e.u)),[Object.keys(e).reduce((i,a)=>{const s=t(a);return s&&(i[s]=e[a]),i},{}),n,r]}let fR=null;function Eft(){return fR||(fR=It.fromMillis(1555555555555)),fR}function Oft(e,t){if(e.literal)return e;const n=Ul.macroTokenToFormatOpts(e.val),r=Dae(n,t);return r==null||r.includes(void 0)?e:r}function $ae(e,t){return Array.prototype.concat(...e.map(n=>Oft(n,t)))}class Rae{constructor(t,n){if(this.locale=t,this.format=n,this.tokens=$ae(Ul.parseFormat(n),t),this.units=this.tokens.map(r=>wft(r,t)),this.disqualifyingUnit=this.units.find(r=>r.invalidReason),!this.disqualifyingUnit){const[r,o]=Cft(this.units);this.regex=RegExp(r,"i"),this.handlers=o}}explainFromTokens(t){if(this.isValid){const[n,r]=Pft(t,this.regex,this.handlers),[o,i,a]=r?Tft(r):[null,null,void 0];if(Tv(r,"a")&&Tv(r,"H"))throw new Bg("Can't include meridiem when specifying 24-hour format");return{input:t,tokens:this.tokens,regex:this.regex,rawMatches:n,matches:r,result:o,zone:i,specificOffset:a}}else return{input:t,tokens:this.tokens,invalidReason:this.invalidReason}}get isValid(){return!this.disqualifyingUnit}get invalidReason(){return this.disqualifyingUnit?this.disqualifyingUnit.invalidReason:null}}function _ae(e,t,n){return new Rae(e,n).explainFromTokens(t)}function Ift(e,t,n){const{result:r,zone:o,specificOffset:i,invalidReason:a}=_ae(e,t,n);return[r,o,i,a]}function Dae(e,t){if(!e)return null;const r=Ul.create(t,e).dtFormatter(Eft()),o=r.formatToParts(),i=r.resolvedOptions();return o.map(a=>Sft(a,e,i))}const pR="Invalid DateTime",z9=864e13;function X0(e){return new Gl("unsupported zone",`the zone "${e.name}" is not supported`)}function hR(e){return e.weekData===null&&(e.weekData=iO(e.c)),e.weekData}function mR(e){return e.localWeekData===null&&(e.localWeekData=iO(e.c,e.loc.getMinDaysInFirstWeek(),e.loc.getStartOfWeek())),e.localWeekData}function Ip(e,t){const n={ts:e.ts,zone:e.zone,c:e.c,o:e.o,loc:e.loc,invalid:e.invalid};return new It({...n,...t,old:n})}function Nae(e,t,n){let r=e-t*60*1e3;const o=n.offset(r);if(t===o)return[r,t];r-=(o-t)*60*1e3;const i=n.offset(r);return o===i?[r,o]:[e-Math.min(o,i)*60*1e3,Math.max(o,i)]}function aP(e,t){e+=t*60*1e3;const n=new Date(e);return{year:n.getUTCFullYear(),month:n.getUTCMonth()+1,day:n.getUTCDate(),hour:n.getUTCHours(),minute:n.getUTCMinutes(),second:n.getUTCSeconds(),millisecond:n.getUTCMilliseconds()}}function qP(e,t,n){return Nae(Wk(e),t,n)}function V9(e,t){const n=e.o,r=e.c.year+Math.trunc(t.years),o=e.c.month+Math.trunc(t.months)+Math.trunc(t.quarters)*3,i={...e.c,year:r,month:o,day:Math.min(e.c.day,aO(r,o))+Math.trunc(t.days)+Math.trunc(t.weeks)*7},a=Nn.fromObject({years:t.years-Math.trunc(t.years),quarters:t.quarters-Math.trunc(t.quarters),months:t.months-Math.trunc(t.months),weeks:t.weeks-Math.trunc(t.weeks),days:t.days-Math.trunc(t.days),hours:t.hours,minutes:t.minutes,seconds:t.seconds,milliseconds:t.milliseconds}).as("milliseconds"),s=Wk(i);let[l,c]=Nae(s,n,e.zone);return a!==0&&(l+=a,c=e.zone.offset(l)),{ts:l,o:c}}function eg(e,t,n,r,o,i){const{setZone:a,zone:s}=n;if(e&&Object.keys(e).length!==0||t){const l=t||s,c=It.fromObject(e,{...n,zone:l,specificOffset:i});return a?c:c.setZone(s)}else return It.invalid(new Gl("unparsable",`the input "${o}" can't be parsed as ${r}`))}function sP(e,t,n=!0){return e.isValid?Ul.create(er.create("en-US"),{allowZ:n,forceSimple:!0}).formatDateTimeFromString(e,t):null}function gR(e,t){const n=e.c.year>9999||e.c.year<0;let r="";return n&&e.c.year>=0&&(r+="+"),r+=ho(e.c.year,n?6:4),t?(r+="-",r+=ho(e.c.month),r+="-",r+=ho(e.c.day)):(r+=ho(e.c.month),r+=ho(e.c.day)),r}function H9(e,t,n,r,o,i){let a=ho(e.c.hour);return t?(a+=":",a+=ho(e.c.minute),(e.c.millisecond!==0||e.c.second!==0||!n)&&(a+=":")):a+=ho(e.c.minute),(e.c.millisecond!==0||e.c.second!==0||!n)&&(a+=ho(e.c.second),(e.c.millisecond!==0||!r)&&(a+=".",a+=ho(e.c.millisecond,3))),o&&(e.isOffsetFixed&&e.offset===0&&!i?a+="Z":e.o<0?(a+="-",a+=ho(Math.trunc(-e.o/60)),a+=":",a+=ho(Math.trunc(-e.o%60))):(a+="+",a+=ho(Math.trunc(e.o/60)),a+=":",a+=ho(Math.trunc(e.o%60)))),i&&(a+="["+e.zone.ianaName+"]"),a}const Lae={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},kft={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},Mft={ordinal:1,hour:0,minute:0,second:0,millisecond:0},Fae=["year","month","day","hour","minute","second","millisecond"],Aft=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],$ft=["year","ordinal","hour","minute","second","millisecond"];function Rft(e){const t={year:"year",years:"year",month:"month",months:"month",day:"day",days:"day",hour:"hour",hours:"hour",minute:"minute",minutes:"minute",quarter:"quarter",quarters:"quarter",second:"second",seconds:"second",millisecond:"millisecond",milliseconds:"millisecond",weekday:"weekday",weekdays:"weekday",weeknumber:"weekNumber",weeksnumber:"weekNumber",weeknumbers:"weekNumber",weekyear:"weekYear",weekyears:"weekYear",ordinal:"ordinal"}[e.toLowerCase()];if(!t)throw new jie(e);return t}function U9(e){switch(e.toLowerCase()){case"localweekday":case"localweekdays":return"localWeekday";case"localweeknumber":case"localweeknumbers":return"localWeekNumber";case"localweekyear":case"localweekyears":return"localWeekYear";default:return Rft(e)}}function _ft(e){return YP[e]||(KP===void 0&&(KP=Vr.now()),YP[e]=e.offset(KP)),YP[e]}function W9(e,t){const n=Ud(t.zone,Vr.defaultZone);if(!n.isValid)return It.invalid(X0(n));const r=er.fromObject(t);let o,i;if(qt(e.year))o=Vr.now();else{for(const l of Fae)qt(e[l])&&(e[l]=Lae[l]);const a=cae(e)||uae(e);if(a)return It.invalid(a);const s=_ft(n);[o,i]=qP(e,s,n)}return new It({ts:o,zone:n,loc:r,o:i})}function G9(e,t,n){const r=qt(n.round)?!0:n.round,o=(a,s)=>(a=GB(a,r||n.calendary?0:2,!0),t.loc.clone(n).relFormatter(n).format(a,s)),i=a=>n.calendary?t.hasSame(e,a)?0:t.startOf(a).diff(e.startOf(a),a).get(a):t.diff(e,a).get(a);if(n.unit)return o(i(n.unit),n.unit);for(const a of n.units){const s=i(a);if(Math.abs(s)>=1)return o(s,a)}return o(e>t?-0:0,n.units[n.units.length-1])}function q9(e){let t={},n;return e.length>0&&typeof e[e.length-1]=="object"?(t=e[e.length-1],n=Array.from(e).slice(0,e.length-1)):n=Array.from(e),[t,n]}let KP,YP={};class It{constructor(t){const n=t.zone||Vr.defaultZone;let r=t.invalid||(Number.isNaN(t.ts)?new Gl("invalid input"):null)||(n.isValid?null:X0(n));this.ts=qt(t.ts)?Vr.now():t.ts;let o=null,i=null;if(!r)if(t.old&&t.old.ts===this.ts&&t.old.zone.equals(n))[o,i]=[t.old.c,t.old.o];else{const s=xf(t.o)&&!t.old?t.o:n.offset(this.ts);o=aP(this.ts,s),r=Number.isNaN(o.year)?new Gl("invalid input"):null,o=r?null:o,i=r?null:s}this._zone=n,this.loc=t.loc||er.create(),this.invalid=r,this.weekData=null,this.localWeekData=null,this.c=o,this.o=i,this.isLuxonDateTime=!0}static now(){return new It({})}static local(){const[t,n]=q9(arguments),[r,o,i,a,s,l,c]=n;return W9({year:r,month:o,day:i,hour:a,minute:s,second:l,millisecond:c},t)}static utc(){const[t,n]=q9(arguments),[r,o,i,a,s,l,c]=n;return t.zone=Ui.utcInstance,W9({year:r,month:o,day:i,hour:a,minute:s,second:l,millisecond:c},t)}static fromJSDate(t,n={}){const r=udt(t)?t.valueOf():NaN;if(Number.isNaN(r))return It.invalid("invalid input");const o=Ud(n.zone,Vr.defaultZone);return o.isValid?new It({ts:r,zone:o,loc:er.fromObject(n)}):It.invalid(X0(o))}static fromMillis(t,n={}){if(xf(t))return t<-z9||t>z9?It.invalid("Timestamp out of range"):new It({ts:t,zone:Ud(n.zone,Vr.defaultZone),loc:er.fromObject(n)});throw new yi(`fromMillis requires a numerical input, but received a ${typeof t} with value ${t}`)}static fromSeconds(t,n={}){if(xf(t))return new It({ts:t*1e3,zone:Ud(n.zone,Vr.defaultZone),loc:er.fromObject(n)});throw new yi("fromSeconds requires a numerical input")}static fromObject(t,n={}){t=t||{};const r=Ud(n.zone,Vr.defaultZone);if(!r.isValid)return It.invalid(X0(r));const o=er.fromObject(n),i=sO(t,U9),{minDaysInFirstWeek:a,startOfWeek:s}=A9(i,o),l=Vr.now(),c=qt(n.specificOffset)?r.offset(l):n.specificOffset,u=!qt(i.ordinal),d=!qt(i.year),f=!qt(i.month)||!qt(i.day),p=d||f,m=i.weekYear||i.weekNumber;if((p||u)&&m)throw new Bg("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(f&&u)throw new Bg("Can't mix ordinal dates with month/day");const g=m||i.weekday&&!p;let v,w,x=aP(l,c);g?(v=Aft,w=kft,x=iO(x,a,s)):u?(v=$ft,w=Mft,x=dR(x)):(v=Fae,w=Lae);let S=!1;for(const I of v){const R=i[I];qt(R)?S?i[I]=w[I]:i[I]=x[I]:S=!0}const P=g?sdt(i,a,s):u?ldt(i):cae(i),T=P||uae(i);if(T)return It.invalid(T);const E=g?k9(i,a,s):u?M9(i):i,[O,k]=qP(E,c,r),A=new It({ts:O,zone:r,o:k,loc:o});return i.weekday&&p&&t.weekday!==A.weekday?It.invalid("mismatched weekday",`you can't specify both a weekday of ${i.weekday} and a date of ${A.toISO()}`):A.isValid?A:It.invalid(A.invalid)}static fromISO(t,n={}){const[r,o]=Zdt(t);return eg(r,o,n,"ISO 8601",t)}static fromRFC2822(t,n={}){const[r,o]=eft(t);return eg(r,o,n,"RFC 2822",t)}static fromHTTP(t,n={}){const[r,o]=tft(t);return eg(r,o,n,"HTTP",n)}static fromFormat(t,n,r={}){if(qt(t)||qt(n))throw new yi("fromFormat requires an input string and a format");const{locale:o=null,numberingSystem:i=null}=r,a=er.fromOpts({locale:o,numberingSystem:i,defaultToEN:!0}),[s,l,c,u]=Ift(a,t,n);return u?It.invalid(u):eg(s,l,r,`format ${n}`,t,c)}static fromString(t,n,r={}){return It.fromFormat(t,n,r)}static fromSQL(t,n={}){const[r,o]=lft(t);return eg(r,o,n,"SQL",t)}static invalid(t,n=null){if(!t)throw new yi("need to specify a reason the DateTime is invalid");const r=t instanceof Gl?t:new Gl(t,n);if(Vr.throwOnInvalid)throw new _ut(r);return new It({invalid:r})}static isDateTime(t){return t&&t.isLuxonDateTime||!1}static parseFormatForOpts(t,n={}){const r=Dae(t,er.fromObject(n));return r?r.map(o=>o?o.val:null).join(""):null}static expandFormat(t,n={}){return $ae(Ul.parseFormat(t),er.fromObject(n)).map(o=>o.val).join("")}static resetCache(){KP=void 0,YP={}}get(t){return this[t]}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}get outputCalendar(){return this.isValid?this.loc.outputCalendar:null}get zone(){return this._zone}get zoneName(){return this.isValid?this.zone.name:null}get year(){return this.isValid?this.c.year:NaN}get quarter(){return this.isValid?Math.ceil(this.c.month/3):NaN}get month(){return this.isValid?this.c.month:NaN}get day(){return this.isValid?this.c.day:NaN}get hour(){return this.isValid?this.c.hour:NaN}get minute(){return this.isValid?this.c.minute:NaN}get second(){return this.isValid?this.c.second:NaN}get millisecond(){return this.isValid?this.c.millisecond:NaN}get weekYear(){return this.isValid?hR(this).weekYear:NaN}get weekNumber(){return this.isValid?hR(this).weekNumber:NaN}get weekday(){return this.isValid?hR(this).weekday:NaN}get isWeekend(){return this.isValid&&this.loc.getWeekendDays().includes(this.weekday)}get localWeekday(){return this.isValid?mR(this).weekday:NaN}get localWeekNumber(){return this.isValid?mR(this).weekNumber:NaN}get localWeekYear(){return this.isValid?mR(this).weekYear:NaN}get ordinal(){return this.isValid?dR(this.c).ordinal:NaN}get monthShort(){return this.isValid?Y0.months("short",{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?Y0.months("long",{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?Y0.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?Y0.weekdays("long",{locObj:this.loc})[this.weekday-1]:null}get offset(){return this.isValid?+this.o:NaN}get offsetNameShort(){return this.isValid?this.zone.offsetName(this.ts,{format:"short",locale:this.locale}):null}get offsetNameLong(){return this.isValid?this.zone.offsetName(this.ts,{format:"long",locale:this.locale}):null}get isOffsetFixed(){return this.isValid?this.zone.isUniversal:null}get isInDST(){return this.isOffsetFixed?!1:this.offset>this.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset}getPossibleOffsets(){if(!this.isValid||this.isOffsetFixed)return[this];const t=864e5,n=6e4,r=Wk(this.c),o=this.zone.offset(r-t),i=this.zone.offset(r+t),a=this.zone.offset(r-o*n),s=this.zone.offset(r-i*n);if(a===s)return[this];const l=r-a*n,c=r-s*n,u=aP(l,a),d=aP(c,s);return u.hour===d.hour&&u.minute===d.minute&&u.second===d.second&&u.millisecond===d.millisecond?[Ip(this,{ts:l}),Ip(this,{ts:c})]:[this]}get isInLeapYear(){return e1(this.year)}get daysInMonth(){return aO(this.year,this.month)}get daysInYear(){return this.isValid?uy(this.year):NaN}get weeksInWeekYear(){return this.isValid?Wx(this.weekYear):NaN}get weeksInLocalWeekYear(){return this.isValid?Wx(this.localWeekYear,this.loc.getMinDaysInFirstWeek(),this.loc.getStartOfWeek()):NaN}resolvedLocaleOptions(t={}){const{locale:n,numberingSystem:r,calendar:o}=Ul.create(this.loc.clone(t),t).resolvedOptions(this);return{locale:n,numberingSystem:r,outputCalendar:o}}toUTC(t=0,n={}){return this.setZone(Ui.instance(t),n)}toLocal(){return this.setZone(Vr.defaultZone)}setZone(t,{keepLocalTime:n=!1,keepCalendarTime:r=!1}={}){if(t=Ud(t,Vr.defaultZone),t.equals(this.zone))return this;if(t.isValid){let o=this.ts;if(n||r){const i=t.offset(this.ts),a=this.toObject();[o]=qP(a,i,t)}return Ip(this,{ts:o,zone:t})}else return It.invalid(X0(t))}reconfigure({locale:t,numberingSystem:n,outputCalendar:r}={}){const o=this.loc.clone({locale:t,numberingSystem:n,outputCalendar:r});return Ip(this,{loc:o})}setLocale(t){return this.reconfigure({locale:t})}set(t){if(!this.isValid)return this;const n=sO(t,U9),{minDaysInFirstWeek:r,startOfWeek:o}=A9(n,this.loc),i=!qt(n.weekYear)||!qt(n.weekNumber)||!qt(n.weekday),a=!qt(n.ordinal),s=!qt(n.year),l=!qt(n.month)||!qt(n.day),c=s||l,u=n.weekYear||n.weekNumber;if((c||a)&&u)throw new Bg("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(l&&a)throw new Bg("Can't mix ordinal dates with month/day");let d;i?d=k9({...iO(this.c,r,o),...n},r,o):qt(n.ordinal)?(d={...this.toObject(),...n},qt(n.day)&&(d.day=Math.min(aO(d.year,d.month),d.day))):d=M9({...dR(this.c),...n});const[f,p]=qP(d,this.o,this.zone);return Ip(this,{ts:f,o:p})}plus(t){if(!this.isValid)return this;const n=Nn.fromDurationLike(t);return Ip(this,V9(this,n))}minus(t){if(!this.isValid)return this;const n=Nn.fromDurationLike(t).negate();return Ip(this,V9(this,n))}startOf(t,{useLocaleWeeks:n=!1}={}){if(!this.isValid)return this;const r={},o=Nn.normalizeUnit(t);switch(o){case"years":r.month=1;case"quarters":case"months":r.day=1;case"weeks":case"days":r.hour=0;case"hours":r.minute=0;case"minutes":r.second=0;case"seconds":r.millisecond=0;break}if(o==="weeks")if(n){const i=this.loc.getStartOfWeek(),{weekday:a}=this;athis.valueOf(),s=a?this:t,l=a?t:this,c=mft(s,l,i,o);return a?c.negate():c}diffNow(t="milliseconds",n={}){return this.diff(It.now(),t,n)}until(t){return this.isValid?eo.fromDateTimes(this,t):this}hasSame(t,n,r){if(!this.isValid)return!1;const o=t.valueOf(),i=this.setZone(t.zone,{keepLocalTime:!0});return i.startOf(n,r)<=o&&o<=i.endOf(n,r)}equals(t){return this.isValid&&t.isValid&&this.valueOf()===t.valueOf()&&this.zone.equals(t.zone)&&this.loc.equals(t.loc)}toRelative(t={}){if(!this.isValid)return null;const n=t.base||It.fromObject({},{zone:this.zone}),r=t.padding?thisn.valueOf(),Math.min)}static max(...t){if(!t.every(It.isDateTime))throw new yi("max requires all arguments be DateTimes");return $9(t,n=>n.valueOf(),Math.max)}static fromFormatExplain(t,n,r={}){const{locale:o=null,numberingSystem:i=null}=r,a=er.fromOpts({locale:o,numberingSystem:i,defaultToEN:!0});return _ae(a,t,n)}static fromStringExplain(t,n,r={}){return It.fromFormatExplain(t,n,r)}static buildFormatParser(t,n={}){const{locale:r=null,numberingSystem:o=null}=n,i=er.fromOpts({locale:r,numberingSystem:o,defaultToEN:!0});return new Rae(i,t)}static fromFormatParser(t,n,r={}){if(qt(t)||qt(n))throw new yi("fromFormatParser requires an input string and a format parser");const{locale:o=null,numberingSystem:i=null}=r,a=er.fromOpts({locale:o,numberingSystem:i,defaultToEN:!0});if(!a.equals(n.locale))throw new yi(`fromFormatParser called with a locale of ${a}, but the format parser was created for ${n.locale}`);const{result:s,zone:l,specificOffset:c,invalidReason:u}=n.explainFromTokens(t);return u?It.invalid(u):eg(s,l,r,`format ${n.format}`,t,c)}static get DATE_SHORT(){return oO}static get DATE_MED(){return Bie}static get DATE_MED_WITH_WEEKDAY(){return Lut}static get DATE_FULL(){return zie}static get DATE_HUGE(){return Vie}static get TIME_SIMPLE(){return Hie}static get TIME_WITH_SECONDS(){return Uie}static get TIME_WITH_SHORT_OFFSET(){return Wie}static get TIME_WITH_LONG_OFFSET(){return Gie}static get TIME_24_SIMPLE(){return qie}static get TIME_24_WITH_SECONDS(){return Kie}static get TIME_24_WITH_SHORT_OFFSET(){return Yie}static get TIME_24_WITH_LONG_OFFSET(){return Xie}static get DATETIME_SHORT(){return Qie}static get DATETIME_SHORT_WITH_SECONDS(){return Jie}static get DATETIME_MED(){return Zie}static get DATETIME_MED_WITH_SECONDS(){return eae}static get DATETIME_MED_WITH_WEEKDAY(){return Fut}static get DATETIME_FULL(){return tae}static get DATETIME_FULL_WITH_SECONDS(){return nae}static get DATETIME_HUGE(){return rae}static get DATETIME_HUGE_WITH_SECONDS(){return oae}}function T0(e){if(It.isDateTime(e))return e;if(e&&e.valueOf&&xf(e.valueOf()))return It.fromJSDate(e);if(e&&typeof e=="object")return It.fromObject(e);throw new yi(`Unknown datetime argument: ${e}, of type ${typeof e}`)}const Dft={y:{sectionType:"year",contentType:"digit",maxLength:4},yy:"year",yyyy:{sectionType:"year",contentType:"digit",maxLength:4},L:{sectionType:"month",contentType:"digit",maxLength:2},LL:"month",LLL:{sectionType:"month",contentType:"letter"},LLLL:{sectionType:"month",contentType:"letter"},M:{sectionType:"month",contentType:"digit",maxLength:2},MM:"month",MMM:{sectionType:"month",contentType:"letter"},MMMM:{sectionType:"month",contentType:"letter"},d:{sectionType:"day",contentType:"digit",maxLength:2},dd:"day",c:{sectionType:"weekDay",contentType:"digit",maxLength:1},ccc:{sectionType:"weekDay",contentType:"letter"},cccc:{sectionType:"weekDay",contentType:"letter"},E:{sectionType:"weekDay",contentType:"digit",maxLength:2},EEE:{sectionType:"weekDay",contentType:"letter"},EEEE:{sectionType:"weekDay",contentType:"letter"},a:"meridiem",H:{sectionType:"hours",contentType:"digit",maxLength:2},HH:"hours",h:{sectionType:"hours",contentType:"digit",maxLength:2},hh:"hours",m:{sectionType:"minutes",contentType:"digit",maxLength:2},mm:"minutes",s:{sectionType:"seconds",contentType:"digit",maxLength:2},ss:"seconds"},Nft={year:"yyyy",month:"LLLL",monthShort:"MMM",dayOfMonth:"d",dayOfMonthFull:"d",weekday:"cccc",weekdayShort:"ccccc",hours24h:"HH",hours12h:"hh",meridiem:"a",minutes:"mm",seconds:"ss",fullDate:"DD",keyboardDate:"D",shortDate:"MMM d",normalDate:"d MMMM",normalDateWithWeekday:"EEE, MMM d",fullTime:"t",fullTime12h:"hh:mm a",fullTime24h:"HH:mm",keyboardDateTime:"D t",keyboardDateTime12h:"D hh:mm a",keyboardDateTime24h:"D T"};class Kk{constructor({locale:t,formats:n}={}){this.isMUIAdapter=!0,this.isTimezoneCompatible=!0,this.lib="luxon",this.locale=void 0,this.formats=void 0,this.escapedCharacters={start:"'",end:"'"},this.formatTokenMap=Dft,this.setLocaleToValue=r=>{const o=this.getCurrentLocaleCode();return o===r.locale?r:r.setLocale(o)},this.date=(r,o="default")=>r===null?null:typeof r>"u"?It.fromJSDate(new Date,{locale:this.locale,zone:o}):It.fromISO(r,{locale:this.locale,zone:o}),this.getInvalidDate=()=>It.fromJSDate(new Date("Invalid Date")),this.getTimezone=r=>r.zone.type==="system"?"system":r.zoneName,this.setTimezone=(r,o)=>r.zone.equals(Y0.normalizeZone(o))?r:r.setZone(o),this.toJsDate=r=>r.toJSDate(),this.parse=(r,o)=>r===""?null:It.fromFormat(r,o,{locale:this.locale}),this.getCurrentLocaleCode=()=>this.locale,this.is12HourCycleInCurrentLocale=()=>{var r,o;return typeof Intl>"u"||typeof Intl.DateTimeFormat>"u"?!0:!!((o=(r=new Intl.DateTimeFormat(this.locale,{hour:"numeric"}))==null?void 0:r.resolvedOptions())!=null&&o.hour12)},this.expandFormat=r=>{const o=/''|'(''|[^'])+('|$)|[^']*/g,i=[...Object.keys(this.formatTokenMap),"yyyyy"],a=new RegExp(`^(${i.join("|")})+$`),s=/(?:^|[^a-z])([a-z]+)(?:[^a-z]|$)|([a-z]+)/gi;return r.match(o).map(l=>l[0]==="'"?l:It.expandFormat(l,{locale:this.locale}).replace(s,(d,f,p)=>{const m=f||p;return a.test(m)?d:`'${d}'`})).join("").replace("yyyyy","yyyy")},this.isValid=r=>r===null?!1:r.isValid,this.format=(r,o)=>this.formatByString(r,this.formats[o]),this.formatByString=(r,o)=>r.setLocale(this.locale).toFormat(o),this.formatNumber=r=>r,this.isEqual=(r,o)=>r===null&&o===null?!0:r===null||o===null?!1:+r==+o,this.isSameYear=(r,o)=>{const i=this.setTimezone(o,this.getTimezone(r));return r.hasSame(i,"year")},this.isSameMonth=(r,o)=>{const i=this.setTimezone(o,this.getTimezone(r));return r.hasSame(i,"month")},this.isSameDay=(r,o)=>{const i=this.setTimezone(o,this.getTimezone(r));return r.hasSame(i,"day")},this.isSameHour=(r,o)=>{const i=this.setTimezone(o,this.getTimezone(r));return r.hasSame(i,"hour")},this.isAfter=(r,o)=>r>o,this.isAfterYear=(r,o)=>{const i=this.setTimezone(o,this.getTimezone(r));return r.diff(this.endOfYear(i),"years").toObject().years>0},this.isAfterDay=(r,o)=>{const i=this.setTimezone(o,this.getTimezone(r));return r.diff(this.endOfDay(i),"days").toObject().days>0},this.isBefore=(r,o)=>r{const i=this.setTimezone(o,this.getTimezone(r));return r.diff(this.startOfYear(i),"years").toObject().years<0},this.isBeforeDay=(r,o)=>{const i=this.setTimezone(o,this.getTimezone(r));return r.diff(this.startOfDay(i),"days").toObject().days<0},this.isWithinRange=(r,[o,i])=>this.isEqual(r,o)||this.isEqual(r,i)||this.isAfter(r,o)&&this.isBefore(r,i),this.startOfYear=r=>r.startOf("year"),this.startOfMonth=r=>r.startOf("month"),this.startOfWeek=r=>this.setLocaleToValue(r).startOf("week",{useLocaleWeeks:!0}),this.startOfDay=r=>r.startOf("day"),this.endOfYear=r=>r.endOf("year"),this.endOfMonth=r=>r.endOf("month"),this.endOfWeek=r=>this.setLocaleToValue(r).endOf("week",{useLocaleWeeks:!0}),this.endOfDay=r=>r.endOf("day"),this.addYears=(r,o)=>r.plus({years:o}),this.addMonths=(r,o)=>r.plus({months:o}),this.addWeeks=(r,o)=>r.plus({weeks:o}),this.addDays=(r,o)=>r.plus({days:o}),this.addHours=(r,o)=>r.plus({hours:o}),this.addMinutes=(r,o)=>r.plus({minutes:o}),this.addSeconds=(r,o)=>r.plus({seconds:o}),this.getYear=r=>r.get("year"),this.getMonth=r=>r.get("month")-1,this.getDate=r=>r.get("day"),this.getHours=r=>r.get("hour"),this.getMinutes=r=>r.get("minute"),this.getSeconds=r=>r.get("second"),this.getMilliseconds=r=>r.get("millisecond"),this.setYear=(r,o)=>r.set({year:o}),this.setMonth=(r,o)=>r.set({month:o+1}),this.setDate=(r,o)=>r.set({day:o}),this.setHours=(r,o)=>r.set({hour:o}),this.setMinutes=(r,o)=>r.set({minute:o}),this.setSeconds=(r,o)=>r.set({second:o}),this.setMilliseconds=(r,o)=>r.set({millisecond:o}),this.getDaysInMonth=r=>r.daysInMonth,this.getWeekArray=r=>{const o=this.startOfWeek(this.startOfMonth(r)),i=this.endOfWeek(this.endOfMonth(r)),{days:a}=i.diff(o,"days").toObject(),s=[];return new Array(Math.round(a)).fill(0).map((l,c)=>c).map(l=>o.plus({days:l})).forEach((l,c)=>{if(c===0||c%7===0&&c>6){s.push([l]);return}s[s.length-1].push(l)}),s},this.getWeekNumber=r=>r.localWeekNumber??r.weekNumber,this.getDayOfWeek=r=>r.weekday,this.getYearRange=([r,o])=>{const i=this.startOfYear(r),a=this.endOfYear(o),s=[];let l=i;for(;this.isBefore(l,a);)s.push(l),l=this.addYears(l,1);return s},this.locale=t||"en-US",this.formats=ue({},Nft,n)}}const XB=lt($.jsx("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14"}),"Search");function QB({callback:e,initialIngredient:t}){const n=t?{value:t,data:{id:-1,name:t,image:null,image_thumbnail:null}}:null,[r,o]=y.useState(!0),[i,a]=y.useState(n),[s,l]=y.useState(""),[c,u]=y.useState([]),[d,f]=Ue(),p=y.useMemo(()=>dk(m=>__e(m,f.language,r).then(g=>u(g)),200),[f.language,r]);return y.useEffect(()=>{if(s===""){u(i?[i]:[]);return}return p(s),()=>{}},[i,s,p]),Q(Gt,{children:[C(oc,{id:"ingredient-autocomplete",getOptionLabel:m=>m.value,"data-testid":"autocomplete",filterOptions:m=>m,options:c,autoComplete:!0,includeInputInList:!0,filterSelectedOptions:!0,value:i,noOptionsText:d("noResults"),isOptionEqualToValue:(m,g)=>m.value===g.value,onChange:(m,g)=>{u(g?[g,...c]:c),a(g),e(g)},onInputChange:(m,g)=>{l(g)},renderInput:m=>C(yn,{...m,label:d("nutrition.searchIngredientName"),fullWidth:!0,InputProps:{...m.InputProps,startAdornment:Q(Mt,{children:[C(po,{position:"start",children:C(XB,{})}),m.InputProps.startAdornment]})}}),renderOption:(m,g)=>UY("li",{...m,key:`ingredient-${g.data.id}`},Q(ls,{disablePadding:!0,component:"div",children:[C(Gi,{children:C(ic,{alt:"",src:`${lj}${g.data.image}`,variant:"rounded",children:C(id,{})})}),C(wo,{primary:g.value,primaryTypographyProps:{style:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}}})]}))}),f.language!==Gy&&C(LI,{children:C(Uy,{control:C(qf,{checked:r,onChange:(m,g)=>o(g)}),label:d("alsoSearchEnglish")})})]})}var Lft=function(t){return Fft(t)&&!jft(t)};function Fft(e){return!!e&&typeof e=="object"}function jft(e){var t=Object.prototype.toString.call(e);return t==="[object RegExp]"||t==="[object Date]"||Vft(e)}var Bft=typeof Symbol=="function"&&Symbol.for,zft=Bft?Symbol.for("react.element"):60103;function Vft(e){return e.$$typeof===zft}function Hft(e){return Array.isArray(e)?[]:{}}function lO(e,t){return t.clone!==!1&&t.isMergeableObject(e)?Gx(Hft(e),e,t):e}function Uft(e,t,n){return e.concat(t).map(function(r){return lO(r,n)})}function Wft(e,t,n){var r={};return n.isMergeableObject(e)&&Object.keys(e).forEach(function(o){r[o]=lO(e[o],n)}),Object.keys(t).forEach(function(o){!n.isMergeableObject(t[o])||!e[o]?r[o]=lO(t[o],n):r[o]=Gx(e[o],t[o],n)}),r}function Gx(e,t,n){n=n||{},n.arrayMerge=n.arrayMerge||Uft,n.isMergeableObject=n.isMergeableObject||Lft;var r=Array.isArray(t),o=Array.isArray(e),i=r===o;return i?r?n.arrayMerge(e,t,n):Wft(e,t,n):lO(t,n)}Gx.all=function(t,n){if(!Array.isArray(t))throw new Error("first argument should be an array");return t.reduce(function(r,o){return Gx(r,o,n)},{})};var TN=Gx,jae=typeof global=="object"&&global&&global.Object===Object&&global,Gft=typeof self=="object"&&self&&self.Object===Object&&self,Qc=jae||Gft||Function("return this")(),Rf=Qc.Symbol,Bae=Object.prototype,qft=Bae.hasOwnProperty,Kft=Bae.toString,E0=Rf?Rf.toStringTag:void 0;function Yft(e){var t=qft.call(e,E0),n=e[E0];try{e[E0]=void 0;var r=!0}catch{}var o=Kft.call(e);return r&&(t?e[E0]=n:delete e[E0]),o}var Xft=Object.prototype,Qft=Xft.toString;function Jft(e){return Qft.call(e)}var Zft="[object Null]",ept="[object Undefined]",K9=Rf?Rf.toStringTag:void 0;function om(e){return e==null?e===void 0?ept:Zft:K9&&K9 in Object(e)?Yft(e):Jft(e)}function zae(e,t){return function(n){return e(t(n))}}var JB=zae(Object.getPrototypeOf,Object);function im(e){return e!=null&&typeof e=="object"}var tpt="[object Object]",npt=Function.prototype,rpt=Object.prototype,Vae=npt.toString,opt=rpt.hasOwnProperty,ipt=Vae.call(Object);function Y9(e){if(!im(e)||om(e)!=tpt)return!1;var t=JB(e);if(t===null)return!0;var n=opt.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&Vae.call(n)==ipt}function apt(){this.__data__=[],this.size=0}function Hae(e,t){return e===t||e!==e&&t!==t}function Yk(e,t){for(var n=e.length;n--;)if(Hae(e[n][0],t))return n;return-1}var spt=Array.prototype,lpt=spt.splice;function cpt(e){var t=this.__data__,n=Yk(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():lpt.call(t,n,1),--this.size,!0}function upt(e){var t=this.__data__,n=Yk(t,e);return n<0?void 0:t[n][1]}function dpt(e){return Yk(this.__data__,e)>-1}function fpt(e,t){var n=this.__data__,r=Yk(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function cd(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t-1&&e%1==0&&e-1&&e%1==0&&e<=fht}var pht="[object Arguments]",hht="[object Array]",mht="[object Boolean]",ght="[object Date]",yht="[object Error]",vht="[object Function]",bht="[object Map]",wht="[object Number]",xht="[object Object]",Sht="[object RegExp]",Cht="[object Set]",Pht="[object String]",Tht="[object WeakMap]",Eht="[object ArrayBuffer]",Oht="[object DataView]",Iht="[object Float32Array]",kht="[object Float64Array]",Mht="[object Int8Array]",Aht="[object Int16Array]",$ht="[object Int32Array]",Rht="[object Uint8Array]",_ht="[object Uint8ClampedArray]",Dht="[object Uint16Array]",Nht="[object Uint32Array]",Ir={};Ir[Iht]=Ir[kht]=Ir[Mht]=Ir[Aht]=Ir[$ht]=Ir[Rht]=Ir[_ht]=Ir[Dht]=Ir[Nht]=!0;Ir[pht]=Ir[hht]=Ir[Eht]=Ir[mht]=Ir[Oht]=Ir[ght]=Ir[yht]=Ir[vht]=Ir[bht]=Ir[wht]=Ir[xht]=Ir[Sht]=Ir[Cht]=Ir[Pht]=Ir[Tht]=!1;function Lht(e){return im(e)&&Xae(e.length)&&!!Ir[om(e)]}function ZB(e){return function(t){return e(t)}}var Qae=typeof Ya=="object"&&Ya&&!Ya.nodeType&&Ya,Iw=Qae&&typeof Xa=="object"&&Xa&&!Xa.nodeType&&Xa,Fht=Iw&&Iw.exports===Qae,vR=Fht&&jae.process,Ev=function(){try{var e=Iw&&Iw.require&&Iw.require("util").types;return e||vR&&vR.binding&&vR.binding("util")}catch{}}(),t7=Ev&&Ev.isTypedArray,jht=t7?ZB(t7):Lht,Bht=Object.prototype,zht=Bht.hasOwnProperty;function Jae(e,t){var n=o1(e),r=!n&&iht(e),o=!n&&!r&&Yae(e),i=!n&&!r&&!o&&jht(e),a=n||r||o||i,s=a?tht(e.length,String):[],l=s.length;for(var c in e)(t||zht.call(e,c))&&!(a&&(c=="length"||o&&(c=="offset"||c=="parent")||i&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||dht(c,l)))&&s.push(c);return s}var Vht=Object.prototype;function ez(e){var t=e&&e.constructor,n=typeof t=="function"&&t.prototype||Vht;return e===n}var Hht=zae(Object.keys,Object),Uht=Object.prototype,Wht=Uht.hasOwnProperty;function Ght(e){if(!ez(e))return Hht(e);var t=[];for(var n in Object(e))Wht.call(e,n)&&n!="constructor"&&t.push(n);return t}function Zae(e){return e!=null&&Xae(e.length)&&!Uae(e)}function tz(e){return Zae(e)?Jae(e):Ght(e)}function qht(e,t){return e&&Qk(t,tz(t),e)}function Kht(e){var t=[];if(e!=null)for(var n in Object(e))t.push(n);return t}var Yht=Object.prototype,Xht=Yht.hasOwnProperty;function Qht(e){if(!r1(e))return Kht(e);var t=ez(e),n=[];for(var r in e)r=="constructor"&&(t||!Xht.call(e,r))||n.push(r);return n}function nz(e){return Zae(e)?Jae(e,!0):Qht(e)}function Jht(e,t){return e&&Qk(t,nz(t),e)}var ese=typeof Ya=="object"&&Ya&&!Ya.nodeType&&Ya,n7=ese&&typeof Xa=="object"&&Xa&&!Xa.nodeType&&Xa,Zht=n7&&n7.exports===ese,r7=Zht?Qc.Buffer:void 0,o7=r7?r7.allocUnsafe:void 0;function emt(e,t){if(t)return e.slice();var n=e.length,r=o7?o7(n):new e.constructor(n);return e.copy(r),r}function tse(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n=0)&&(n[o]=e[o]);return n}var Jk=y.createContext(void 0);Jk.displayName="FormikContext";var Bgt=Jk.Provider;Jk.Consumer;function pse(){var e=y.useContext(Jk);return e}var Ds=function(t){return typeof t=="function"},i1=function(t){return t!==null&&typeof t=="object"},zgt=function(t){return String(Math.floor(Number(t)))===t},bR=function(t){return Object.prototype.toString.call(t)==="[object String]"},Vgt=function(t){return y.Children.count(t)===0},wR=function(t){return i1(t)&&Ds(t.then)};function Da(e,t,n,r){r===void 0&&(r=0);for(var o=dse(t);e&&r=0?[]:{}}}return(i===0?e:o)[a[i]]===n?e:(n===void 0?delete o[a[i]]:o[a[i]]=n,i===0&&n===void 0&&delete r[a[i]],r)}function hse(e,t,n,r){n===void 0&&(n=new WeakMap),r===void 0&&(r={});for(var o=0,i=Object.keys(e);o0?Te.map(function(Me){return I(Me,Da(ye,Me))}):[Promise.resolve("DO_NOT_DELETE_YOU_WILL_BE_FIRED")];return Promise.all(Oe).then(function(Me){return Me.reduce(function(We,Ve,Qe){return Ve==="DO_NOT_DELETE_YOU_WILL_BE_FIRED"||Ve&&(We=hh(We,Te[Qe],Ve)),We},{})})},[I]),N=y.useCallback(function(ye){return Promise.all([R(ye),f.validationSchema?A(ye):{},f.validate?k(ye):{}]).then(function(Te){var Oe=Te[0],Me=Te[1],We=Te[2],Ve=TN.all([Oe,Me,We],{arrayMerge:qgt});return Ve})},[f.validate,f.validationSchema,R,k,A]),L=Rs(function(ye){return ye===void 0&&(ye=E.values),O({type:"SET_ISVALIDATING",payload:!0}),N(ye).then(function(Te){return w.current&&(O({type:"SET_ISVALIDATING",payload:!1}),O({type:"SET_ERRORS",payload:Te})),Te})});y.useEffect(function(){a&&w.current===!0&&Fp(p.current,f.initialValues)&&L(p.current)},[a,L]);var j=y.useCallback(function(ye){var Te=ye&&ye.values?ye.values:p.current,Oe=ye&&ye.errors?ye.errors:m.current?m.current:f.initialErrors||{},Me=ye&&ye.touched?ye.touched:g.current?g.current:f.initialTouched||{},We=ye&&ye.status?ye.status:v.current?v.current:f.initialStatus;p.current=Te,m.current=Oe,g.current=Me,v.current=We;var Ve=function(){O({type:"RESET_FORM",payload:{isSubmitting:!!ye&&!!ye.isSubmitting,errors:Oe,touched:Me,status:We,values:Te,isValidating:!!ye&&!!ye.isValidating,submitCount:ye&&ye.submitCount&&typeof ye.submitCount=="number"?ye.submitCount:0}})};if(f.onReset){var Qe=f.onReset(E.values,ce);wR(Qe)?Qe.then(Ve):Ve()}else Ve()},[f.initialErrors,f.initialStatus,f.initialTouched,f.onReset]);y.useEffect(function(){w.current===!0&&!Fp(p.current,f.initialValues)&&c&&(p.current=f.initialValues,j(),a&&L(p.current))},[c,f.initialValues,j,a,L]),y.useEffect(function(){c&&w.current===!0&&!Fp(m.current,f.initialErrors)&&(m.current=f.initialErrors||kp,O({type:"SET_ERRORS",payload:f.initialErrors||kp}))},[c,f.initialErrors]),y.useEffect(function(){c&&w.current===!0&&!Fp(g.current,f.initialTouched)&&(g.current=f.initialTouched||cP,O({type:"SET_TOUCHED",payload:f.initialTouched||cP}))},[c,f.initialTouched]),y.useEffect(function(){c&&w.current===!0&&!Fp(v.current,f.initialStatus)&&(v.current=f.initialStatus,O({type:"SET_STATUS",payload:f.initialStatus}))},[c,f.initialStatus,f.initialTouched]);var _=Rs(function(ye){if(x.current[ye]&&Ds(x.current[ye].validate)){var Te=Da(E.values,ye),Oe=x.current[ye].validate(Te);return wR(Oe)?(O({type:"SET_ISVALIDATING",payload:!0}),Oe.then(function(Me){return Me}).then(function(Me){O({type:"SET_FIELD_ERROR",payload:{field:ye,value:Me}}),O({type:"SET_ISVALIDATING",payload:!1})})):(O({type:"SET_FIELD_ERROR",payload:{field:ye,value:Oe}}),Promise.resolve(Oe))}else if(f.validationSchema)return O({type:"SET_ISVALIDATING",payload:!0}),A(E.values,ye).then(function(Me){return Me}).then(function(Me){O({type:"SET_FIELD_ERROR",payload:{field:ye,value:Da(Me,ye)}}),O({type:"SET_ISVALIDATING",payload:!1})});return Promise.resolve()}),D=y.useCallback(function(ye,Te){var Oe=Te.validate;x.current[ye]={validate:Oe}},[]),z=y.useCallback(function(ye){delete x.current[ye]},[]),F=Rs(function(ye,Te){O({type:"SET_TOUCHED",payload:ye});var Oe=Te===void 0?o:Te;return Oe?L(E.values):Promise.resolve()}),H=y.useCallback(function(ye){O({type:"SET_ERRORS",payload:ye})},[]),U=Rs(function(ye,Te){var Oe=Ds(ye)?ye(E.values):ye;O({type:"SET_VALUES",payload:Oe});var Me=Te===void 0?n:Te;return Me?L(Oe):Promise.resolve()}),q=y.useCallback(function(ye,Te){O({type:"SET_FIELD_ERROR",payload:{field:ye,value:Te}})},[]),X=Rs(function(ye,Te,Oe){O({type:"SET_FIELD_VALUE",payload:{field:ye,value:Te}});var Me=Oe===void 0?n:Oe;return Me?L(hh(E.values,ye,Te)):Promise.resolve()}),ae=y.useCallback(function(ye,Te){var Oe=Te,Me=ye,We;if(!bR(ye)){ye.persist&&ye.persist();var Ve=ye.target?ye.target:ye.currentTarget,Qe=Ve.type,ut=Ve.name,nt=Ve.id,et=Ve.value,yt=Ve.checked,wn=Ve.outerHTML,Ke=Ve.options,$e=Ve.multiple;Oe=Te||ut||nt,Me=/number|range/.test(Qe)?(We=parseFloat(et),isNaN(We)?"":We):/checkbox/.test(Qe)?Ygt(Da(E.values,Oe),yt,et):Ke&&$e?Kgt(Ke):et}Oe&&X(Oe,Me)},[X,E.values]),Z=Rs(function(ye){if(bR(ye))return function(Te){return ae(Te,ye)};ae(ye)}),K=Rs(function(ye,Te,Oe){Te===void 0&&(Te=!0),O({type:"SET_FIELD_TOUCHED",payload:{field:ye,value:Te}});var Me=Oe===void 0?o:Oe;return Me?L(E.values):Promise.resolve()}),te=y.useCallback(function(ye,Te){ye.persist&&ye.persist();var Oe=ye.target,Me=Oe.name,We=Oe.id,Ve=Oe.outerHTML,Qe=Te||Me||We;K(Qe,!0)},[K]),pe=Rs(function(ye){if(bR(ye))return function(Te){return te(Te,ye)};te(ye)}),ie=y.useCallback(function(ye){Ds(ye)?O({type:"SET_FORMIK_STATE",payload:ye}):O({type:"SET_FORMIK_STATE",payload:function(){return ye}})},[]),le=y.useCallback(function(ye){O({type:"SET_STATUS",payload:ye})},[]),re=y.useCallback(function(ye){O({type:"SET_ISSUBMITTING",payload:ye})},[]),fe=Rs(function(){return O({type:"SUBMIT_ATTEMPT"}),L().then(function(ye){var Te=ye instanceof Error,Oe=!Te&&Object.keys(ye).length===0;if(Oe){var Me;try{if(Me=me(),Me===void 0)return}catch(We){throw We}return Promise.resolve(Me).then(function(We){return w.current&&O({type:"SUBMIT_SUCCESS"}),We}).catch(function(We){if(w.current)throw O({type:"SUBMIT_FAILURE"}),We})}else if(w.current&&(O({type:"SUBMIT_FAILURE"}),Te))throw ye})}),ee=Rs(function(ye){ye&&ye.preventDefault&&Ds(ye.preventDefault)&&ye.preventDefault(),ye&&ye.stopPropagation&&Ds(ye.stopPropagation)&&ye.stopPropagation(),fe().catch(function(Te){console.warn("Warning: An unhandled error was caught from submitForm()",Te)})}),ce={resetForm:j,validateForm:L,validateField:_,setErrors:H,setFieldError:q,setFieldTouched:K,setFieldValue:X,setStatus:le,setSubmitting:re,setTouched:F,setValues:U,setFormikState:ie,submitForm:fe},me=Rs(function(){return u(E.values,ce)}),we=Rs(function(ye){ye&&ye.preventDefault&&Ds(ye.preventDefault)&&ye.preventDefault(),ye&&ye.stopPropagation&&Ds(ye.stopPropagation)&&ye.stopPropagation(),j()}),ge=y.useCallback(function(ye){return{value:Da(E.values,ye),error:Da(E.errors,ye),touched:!!Da(E.touched,ye),initialValue:Da(p.current,ye),initialTouched:!!Da(g.current,ye),initialError:Da(m.current,ye)}},[E.errors,E.touched,E.values]),Se=y.useCallback(function(ye){return{setValue:function(Oe,Me){return X(ye,Oe,Me)},setTouched:function(Oe,Me){return K(ye,Oe,Me)},setError:function(Oe){return q(ye,Oe)}}},[X,K,q]),xe=y.useCallback(function(ye){var Te=i1(ye),Oe=Te?ye.name:ye,Me=Da(E.values,Oe),We={name:Oe,value:Me,onChange:Z,onBlur:pe};if(Te){var Ve=ye.type,Qe=ye.value,ut=ye.as,nt=ye.multiple;Ve==="checkbox"?Qe===void 0?We.checked=!!Me:(We.checked=!!(Array.isArray(Me)&&~Me.indexOf(Qe)),We.value=Qe):Ve==="radio"?(We.checked=Me===Qe,We.value=Qe):ut==="select"&&nt&&(We.value=We.value||[],We.multiple=!0)}return We},[pe,Z,E.values]),Ie=y.useMemo(function(){return!Fp(p.current,E.values)},[p.current,E.values]),Re=y.useMemo(function(){return typeof s<"u"?Ie?E.errors&&Object.keys(E.errors).length===0:s!==!1&&Ds(s)?s(f):s:E.errors&&Object.keys(E.errors).length===0},[s,Ie,E.errors,f]),_e=zo({},E,{initialValues:p.current,initialErrors:m.current,initialTouched:g.current,initialStatus:v.current,handleBlur:pe,handleChange:Z,handleReset:we,handleSubmit:ee,resetForm:j,setErrors:H,setFormikState:ie,setFieldTouched:K,setFieldValue:X,setFieldError:q,setStatus:le,setSubmitting:re,setTouched:F,setValues:U,submitForm:fe,validateForm:L,validateField:_,isValid:Re,dirty:Ie,unregisterField:z,registerField:D,getFieldProps:xe,getFieldMeta:ge,getFieldHelpers:Se,validateOnBlur:o,validateOnChange:n,validateOnMount:a});return _e}function yl(e){var t=Ugt(e),n=e.component,r=e.children,o=e.render,i=e.innerRef;return y.useImperativeHandle(i,function(){return t}),y.createElement(Bgt,{value:t},n?y.createElement(n,t):o?o(t):r?Ds(r)?r(t):Vgt(r)?null:y.Children.only(r):null)}function Wgt(e){var t={};if(e.inner){if(e.inner.length===0)return hh(t,e.path,e.message);for(var o=e.inner,n=Array.isArray(o),r=0,o=n?o:o[Symbol.iterator]();;){var i;if(n){if(r>=o.length)break;i=o[r++]}else{if(r=o.next(),r.done)break;i=r.value}var a=i;Da(t,a.path)||(t=hh(t,a.path,a.message))}}return t}function Ggt(e,t,n,r){n===void 0&&(n=!1);var o=AN(e);return t[n?"validateSync":"validate"](o,{abortEarly:!1,context:o})}function AN(e){var t=Array.isArray(e)?[]:{};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=String(n);Array.isArray(e[r])===!0?t[r]=e[r].map(function(o){return Array.isArray(o)===!0||Y9(o)?AN(o):o!==""?o:void 0}):Y9(e[r])?t[r]=AN(e[r]):t[r]=e[r]!==""?e[r]:void 0}return t}function qgt(e,t,n){var r=e.slice();return t.forEach(function(i,a){if(typeof r[a]>"u"){var s=n.clone!==!1,l=s&&n.isMergeableObject(i);r[a]=l?TN(Array.isArray(i)?[]:{},i,n):i}else n.isMergeableObject(i)?r[a]=TN(e[a],i,n):e.indexOf(i)===-1&&r.push(i)}),r}function Kgt(e){return Array.from(e).filter(function(t){return t.selected}).map(function(t){return t.value})}function Ygt(e,t,n){if(typeof e=="boolean")return!!t;var r=[],o=!1,i=-1;if(Array.isArray(e))r=e,i=e.indexOf(n),o=i>=0;else if(!n||n=="true"||n=="false")return!!t;return t&&n&&!o?r.concat(n):o?r.slice(0,i).concat(r.slice(i+1)):r}var Xgt=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u"?y.useLayoutEffect:y.useEffect;function Rs(e){var t=y.useRef(e);return Xgt(function(){t.current=e}),y.useCallback(function(){for(var n=arguments.length,r=new Array(n),o=0;o=this._maxSize&&this.clear(),e in this._values||this._size++,this._values[e]=t};var Qgt=/[^.^\]^[]+|(?=\[\]|\.\.)/g,mse=/^\d+$/,Jgt=/^\d/,Zgt=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,eyt=/^\s*(['"]?)(.*?)(\1)\s*$/,sz=512,S7=new lm(sz),C7=new lm(sz),P7=new lm(sz),mh={Cache:lm,split:$N,normalizePath:xR,setter:function(e){var t=xR(e);return C7.get(e)||C7.set(e,function(r,o){for(var i=0,a=t.length,s=r;ie.match(iyt)||[],eM=e=>e[0].toUpperCase()+e.slice(1),cz=(e,t)=>Zk(e).join(t).toLowerCase(),gse=e=>Zk(e).reduce((t,n)=>`${t}${t?n[0].toUpperCase()+n.slice(1).toLowerCase():n.toLowerCase()}`,""),ayt=e=>eM(gse(e)),syt=e=>cz(e,"_"),lyt=e=>cz(e,"-"),cyt=e=>eM(cz(e," ")),uyt=e=>Zk(e).map(eM).join(" ");var SR={words:Zk,upperFirst:eM,camelCase:gse,pascalCase:ayt,snakeCase:syt,kebabCase:lyt,sentenceCase:cyt,titleCase:uyt},uz={exports:{}};uz.exports=function(e){return yse(dyt(e),e)};uz.exports.array=yse;function yse(e,t){var n=e.length,r=new Array(n),o={},i=n,a=fyt(t),s=pyt(e);for(t.forEach(function(c){if(!s.has(c[0])||!s.has(c[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")});i--;)o[i]||l(e[i],i,new Set);return r;function l(c,u,d){if(d.has(c)){var f;try{f=", node was:"+JSON.stringify(c)}catch{f=""}throw new Error("Cyclic dependency"+f)}if(!s.has(c))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(c));if(!o[u]){o[u]=!0;var p=a.get(c)||new Set;if(p=Array.from(p),u=p.length){d.add(c);do{var m=p[--u];l(m,s.get(m),d)}while(u);d.delete(c)}r[--n]=c}}}function dyt(e){for(var t=new Set,n=0,r=e.length;n"",wyt=/^Symbol\((.*)\)(.*)$/;function xyt(e){return e!=+e?"NaN":e===0&&1/e<0?"-0":""+e}function T7(e,t=!1){if(e==null||e===!0||e===!1)return""+e;const n=typeof e;if(n==="number")return xyt(e);if(n==="string")return t?`"${e}"`:e;if(n==="function")return"[Function "+(e.name||"anonymous")+"]";if(n==="symbol")return byt.call(e).replace(wyt,"Symbol($1)");const r=gyt.call(e).slice(8,-1);return r==="Date"?isNaN(e.getTime())?""+e:e.toISOString(e):r==="Error"||e instanceof Error?"["+yyt.call(e)+"]":r==="RegExp"?vyt.call(e):null}function Du(e,t){let n=T7(e,t);return n!==null?n:JSON.stringify(e,function(r,o){let i=T7(this[r],t);return i!==null?i:o},2)}function vse(e){return e==null?[]:[].concat(e)}let bse,wse,xse,Syt=/\$\{\s*(\w+)\s*\}/g;bse=Symbol.toStringTag;class E7{constructor(t,n,r,o){this.name=void 0,this.message=void 0,this.value=void 0,this.path=void 0,this.type=void 0,this.params=void 0,this.errors=void 0,this.inner=void 0,this[bse]="Error",this.name="ValidationError",this.value=n,this.path=r,this.type=o,this.errors=[],this.inner=[],vse(t).forEach(i=>{if(da.isError(i)){this.errors.push(...i.errors);const a=i.inner.length?i.inner:[i];this.inner.push(...a)}else this.errors.push(i)}),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0]}}wse=Symbol.hasInstance;xse=Symbol.toStringTag;class da extends Error{static formatError(t,n){const r=n.label||n.path||"this";return r!==n.path&&(n=Object.assign({},n,{path:r})),typeof t=="string"?t.replace(Syt,(o,i)=>Du(n[i])):typeof t=="function"?t(n):t}static isError(t){return t&&t.name==="ValidationError"}constructor(t,n,r,o,i){const a=new E7(t,n,r,o);if(i)return a;super(),this.value=void 0,this.path=void 0,this.type=void 0,this.params=void 0,this.errors=[],this.inner=[],this[xse]="Error",this.name=a.name,this.message=a.message,this.type=a.type,this.value=a.value,this.path=a.path,this.errors=a.errors,this.inner=a.inner,Error.captureStackTrace&&Error.captureStackTrace(this,da)}static[wse](t){return E7[Symbol.hasInstance](t)||super[Symbol.hasInstance](t)}}let yc={default:"${path} is invalid",required:"${path} is a required field",defined:"${path} must be defined",notNull:"${path} cannot be null",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:e,type:t,value:n,originalValue:r})=>{const o=r!=null&&r!==n?` (cast from the value \`${Du(r,!0)}\`).`:".";return t!=="mixed"?`${e} must be a \`${t}\` type, but the final value was: \`${Du(n,!0)}\``+o:`${e} must match the configured type. The validated value was: \`${Du(n,!0)}\``+o}},aa={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",datetime:"${path} must be a valid ISO date-time",datetime_precision:"${path} must be a valid ISO date-time with a sub-second precision of exactly ${precision} digits",datetime_offset:'${path} must be a valid ISO date-time with UTC "Z" timezone',trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"},Ad={min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"},RN={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"},_N={isValue:"${path} field must be ${value}"},DN={noUnknown:"${path} field has unspecified keys: ${unknown}"},XP={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must have ${length} items"},Cyt={notType:e=>{const{path:t,value:n,spec:r}=e,o=r.types.length;if(Array.isArray(n)){if(n.lengtho)return`${t} tuple value has too many items, expected a length of ${o} but got ${n.length} for value: \`${Du(n,!0)}\``}return da.formatError(yc.notType,e)}};Object.assign(Object.create(null),{mixed:yc,string:aa,number:Ad,date:RN,object:DN,array:XP,boolean:_N,tuple:Cyt});const tM=e=>e&&e.__isYupSchema__;class cO{static fromOptions(t,n){if(!n.then&&!n.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:r,then:o,otherwise:i}=n,a=typeof r=="function"?r:(...s)=>s.every(l=>l===r);return new cO(t,(s,l)=>{var c;let u=a(...s)?o:i;return(c=u==null?void 0:u(l))!=null?c:l})}constructor(t,n){this.fn=void 0,this.refs=t,this.refs=t,this.fn=n}resolve(t,n){let r=this.refs.map(i=>i.getValue(n==null?void 0:n.value,n==null?void 0:n.parent,n==null?void 0:n.context)),o=this.fn(r,t,n);if(o===void 0||o===t)return t;if(!tM(o))throw new TypeError("conditions must return a schema object");return o.resolve(n)}}const uP={context:"$",value:"."};class cm{constructor(t,n={}){if(this.key=void 0,this.isContext=void 0,this.isValue=void 0,this.isSibling=void 0,this.path=void 0,this.getter=void 0,this.map=void 0,typeof t!="string")throw new TypeError("ref must be a string, got: "+t);if(this.key=t.trim(),t==="")throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===uP.context,this.isValue=this.key[0]===uP.value,this.isSibling=!this.isContext&&!this.isValue;let r=this.isContext?uP.context:this.isValue?uP.value:"";this.path=this.key.slice(r.length),this.getter=this.path&&mh.getter(this.path,!0),this.map=n.map}getValue(t,n,r){let o=this.isContext?r:this.isValue?t:n;return this.getter&&(o=this.getter(o||{})),this.map&&(o=this.map(o)),o}cast(t,n){return this.getValue(t,n==null?void 0:n.parent,n==null?void 0:n.context)}resolve(){return this}describe(){return{type:"ref",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(t){return t&&t.__isYupRef}}cm.prototype.__isYupRef=!0;const ql=e=>e==null;function tg(e){function t({value:n,path:r="",options:o,originalValue:i,schema:a},s,l){const{name:c,test:u,params:d,message:f,skipAbsent:p}=e;let{parent:m,context:g,abortEarly:v=a.spec.abortEarly,disableStackTrace:w=a.spec.disableStackTrace}=o;function x(R){return cm.isRef(R)?R.getValue(n,m,g):R}function S(R={}){const N=Object.assign({value:n,originalValue:i,label:a.spec.label,path:R.path||r,spec:a.spec,disableStackTrace:R.disableStackTrace||w},d,R.params);for(const j of Object.keys(N))N[j]=x(N[j]);const L=new da(da.formatError(R.message||f,N),n,N.path,R.type||c,N.disableStackTrace);return L.params=N,L}const P=v?s:l;let T={path:r,parent:m,type:c,from:o.from,createError:S,resolve:x,options:o,originalValue:i,schema:a};const E=R=>{da.isError(R)?P(R):R?l(null):P(S())},O=R=>{da.isError(R)?P(R):s(R)};if(p&&ql(n))return E(!0);let A;try{var I;if(A=u.call(T,n,T),typeof((I=A)==null?void 0:I.then)=="function"){if(o.sync)throw new Error(`Validation test of type: "${T.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`);return Promise.resolve(A).then(E,O)}}catch(R){O(R);return}E(A)}return t.OPTIONS=e,t}function Pyt(e,t,n,r=n){let o,i,a;return t?(mh.forEach(t,(s,l,c)=>{let u=l?s.slice(1,s.length-1):s;e=e.resolve({context:r,parent:o,value:n});let d=e.type==="tuple",f=c?parseInt(u,10):0;if(e.innerType||d){if(d&&!c)throw new Error(`Yup.reach cannot implicitly index into a tuple type. the path part "${a}" must contain an index to the tuple element, e.g. "${a}[0]"`);if(n&&f>=n.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${s}, in the path: ${t}. because there is no value at that index. `);o=n,n=n&&n[f],e=d?e.spec.types[f]:e.innerType}if(!c){if(!e.fields||!e.fields[u])throw new Error(`The schema does not contain the path: ${t}. (failed at: ${a} which is a type: "${e.type}")`);o=n,n=n&&n[u],e=e.fields[u]}i=u,a=l?"["+s+"]":"."+s}),{schema:e,parent:o,parentPath:i}):{parent:o,parentPath:t,schema:e}}class uO extends Set{describe(){const t=[];for(const n of this.values())t.push(cm.isRef(n)?n.describe():n);return t}resolveAll(t){let n=[];for(const r of this.values())n.push(t(r));return n}clone(){return new uO(this.values())}merge(t,n){const r=this.clone();return t.forEach(o=>r.add(o)),n.forEach(o=>r.delete(o)),r}}function zg(e,t=new Map){if(tM(e)||!e||typeof e!="object")return e;if(t.has(e))return t.get(e);let n;if(e instanceof Date)n=new Date(e.getTime()),t.set(e,n);else if(e instanceof RegExp)n=new RegExp(e),t.set(e,n);else if(Array.isArray(e)){n=new Array(e.length),t.set(e,n);for(let r=0;r{this.typeError(yc.notType)}),this.type=t.type,this._typeCheck=t.check,this.spec=Object.assign({strip:!1,strict:!1,abortEarly:!0,recursive:!0,disableStackTrace:!1,nullable:!1,optional:!0,coerce:!0},t==null?void 0:t.spec),this.withMutation(n=>{n.nonNullable()})}get _type(){return this.type}clone(t){if(this._mutate)return t&&Object.assign(this.spec,t),this;const n=Object.create(Object.getPrototypeOf(this));return n.type=this.type,n._typeCheck=this._typeCheck,n._whitelist=this._whitelist.clone(),n._blacklist=this._blacklist.clone(),n.internalTests=Object.assign({},this.internalTests),n.exclusiveTests=Object.assign({},this.exclusiveTests),n.deps=[...this.deps],n.conditions=[...this.conditions],n.tests=[...this.tests],n.transforms=[...this.transforms],n.spec=zg(Object.assign({},this.spec,t)),n}label(t){let n=this.clone();return n.spec.label=t,n}meta(...t){if(t.length===0)return this.spec.meta;let n=this.clone();return n.spec.meta=Object.assign(n.spec.meta||{},t[0]),n}withMutation(t){let n=this._mutate;this._mutate=!0;let r=t(this);return this._mutate=n,r}concat(t){if(!t||t===this)return this;if(t.type!==this.type&&this.type!=="mixed")throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${t.type}`);let n=this,r=t.clone();const o=Object.assign({},n.spec,r.spec);return r.spec=o,r.internalTests=Object.assign({},n.internalTests,r.internalTests),r._whitelist=n._whitelist.merge(t._whitelist,t._blacklist),r._blacklist=n._blacklist.merge(t._blacklist,t._whitelist),r.tests=n.tests,r.exclusiveTests=n.exclusiveTests,r.withMutation(i=>{t.tests.forEach(a=>{i.test(a.OPTIONS)})}),r.transforms=[...n.transforms,...r.transforms],r}isType(t){return t==null?!!(this.spec.nullable&&t===null||this.spec.optional&&t===void 0):this._typeCheck(t)}resolve(t){let n=this;if(n.conditions.length){let r=n.conditions;n=n.clone(),n.conditions=[],n=r.reduce((o,i)=>i.resolve(o,t),n),n=n.resolve(t)}return n}resolveOptions(t){var n,r,o,i;return Object.assign({},t,{from:t.from||[],strict:(n=t.strict)!=null?n:this.spec.strict,abortEarly:(r=t.abortEarly)!=null?r:this.spec.abortEarly,recursive:(o=t.recursive)!=null?o:this.spec.recursive,disableStackTrace:(i=t.disableStackTrace)!=null?i:this.spec.disableStackTrace})}cast(t,n={}){let r=this.resolve(Object.assign({value:t},n)),o=n.assert==="ignore-optionality",i=r._cast(t,n);if(n.assert!==!1&&!r.isType(i)){if(o&&ql(i))return i;let a=Du(t),s=Du(i);throw new TypeError(`The value of ${n.path||"field"} could not be cast to a value that satisfies the schema type: "${r.type}". attempted value: ${a} -`+(s!==a?`result of cast: ${s}`:""))}return i}_cast(t,n){let r=t===void 0?t:this.transforms.reduce((o,i)=>i.call(this,o,t,this),t);return r===void 0&&(r=this.getDefault(n)),r}_validate(t,n={},r,o){let{path:i,originalValue:a=t,strict:s=this.spec.strict}=n,l=t;s||(l=this._cast(l,Object.assign({assert:!1},n)));let c=[];for(let u of Object.values(this.internalTests))u&&c.push(u);this.runTests({path:i,value:l,originalValue:a,options:n,tests:c},r,u=>{if(u.length)return o(u,l);this.runTests({path:i,value:l,originalValue:a,options:n,tests:this.tests},r,o)})}runTests(t,n,r){let o=!1,{tests:i,value:a,originalValue:s,path:l,options:c}=t,u=m=>{o||(o=!0,n(m,a))},d=m=>{o||(o=!0,r(m,a))},f=i.length,p=[];if(!f)return d([]);let h={value:a,originalValue:s,path:l,options:c,schema:this};for(let m=0;mthis.resolve(u)._validate(c,u,f,p)}validate(t,n){var r;let o=this.resolve(Object.assign({},n,{value:t})),i=(r=n==null?void 0:n.disableStackTrace)!=null?r:o.spec.disableStackTrace;return new Promise((a,s)=>o._validate(t,n,(l,c)=>{Co.isError(l)&&(l.value=c),s(l)},(l,c)=>{l.length?s(new Co(l,c,void 0,void 0,i)):a(c)}))}validateSync(t,n){var r;let o=this.resolve(Object.assign({},n,{value:t})),i,a=(r=n==null?void 0:n.disableStackTrace)!=null?r:o.spec.disableStackTrace;return o._validate(t,Object.assign({},n,{sync:!0}),(s,l)=>{throw Co.isError(s)&&(s.value=l),s},(s,l)=>{if(s.length)throw new Co(s,t,void 0,void 0,a);i=l}),i}isValid(t,n){return this.validate(t,n).then(()=>!0,r=>{if(Co.isError(r))return!1;throw r})}isValidSync(t,n){try{return this.validateSync(t,n),!0}catch(r){if(Co.isError(r))return!1;throw r}}_getDefault(t){let n=this.spec.default;return n==null?n:typeof n=="function"?n.call(this,t):Bf(n)}getDefault(t){return this.resolve(t||{})._getDefault(t)}default(t){return arguments.length===0?this._getDefault():this.clone({default:t})}strict(t=!0){return this.clone({strict:t})}nullability(t,n){const r=this.clone({nullable:t});return r.internalTests.nullable=tf({message:n,name:"nullable",test(o){return o===null?this.schema.spec.nullable:!0}}),r}optionality(t,n){const r=this.clone({optional:t});return r.internalTests.optionality=tf({message:n,name:"optionality",test(o){return o===void 0?this.schema.spec.optional:!0}}),r}optional(){return this.optionality(!0)}defined(t=Ja.defined){return this.optionality(!1,t)}nullable(){return this.nullability(!0)}nonNullable(t=Ja.notNull){return this.nullability(!1,t)}required(t=Ja.required){return this.clone().withMutation(n=>n.nonNullable(t).defined(t))}notRequired(){return this.clone().withMutation(t=>t.nullable().optional())}transform(t){let n=this.clone();return n.transforms.push(t),n}test(...t){let n;if(t.length===1?typeof t[0]=="function"?n={test:t[0]}:n=t[0]:t.length===2?n={name:t[0],test:t[1]}:n={name:t[0],message:t[1],test:t[2]},n.message===void 0&&(n.message=Ja.default),typeof n.test!="function")throw new TypeError("`test` is a required parameters");let r=this.clone(),o=tf(n),i=n.exclusive||n.name&&r.exclusiveTests[n.name]===!0;if(n.exclusive&&!n.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return n.name&&(r.exclusiveTests[n.name]=!!n.exclusive),r.tests=r.tests.filter(a=>!(a.OPTIONS.name===n.name&&(i||a.OPTIONS.test===o.OPTIONS.test))),r.tests.push(o),r}when(t,n){!Array.isArray(t)&&typeof t!="string"&&(n=t,t=".");let r=this.clone(),o=OQ(t).map(i=>new Md(i));return o.forEach(i=>{i.isSibling&&r.deps.push(i.key)}),r.conditions.push(typeof n=="function"?new Xw(o,n):Xw.fromOptions(o,n)),r}typeError(t){let n=this.clone();return n.internalTests.typeError=tf({message:t,name:"typeError",skipAbsent:!0,test(r){return this.schema._typeCheck(r)?!0:this.createError({params:{type:this.schema.type}})}}),n}oneOf(t,n=Ja.oneOf){let r=this.clone();return t.forEach(o=>{r._whitelist.add(o),r._blacklist.delete(o)}),r.internalTests.whiteList=tf({message:n,name:"oneOf",skipAbsent:!0,test(o){let i=this.schema._whitelist,a=i.resolveAll(this.resolve);return a.includes(o)?!0:this.createError({params:{values:Array.from(i).join(", "),resolved:a}})}}),r}notOneOf(t,n=Ja.notOneOf){let r=this.clone();return t.forEach(o=>{r._blacklist.add(o),r._whitelist.delete(o)}),r.internalTests.blacklist=tf({message:n,name:"notOneOf",test(o){let i=this.schema._blacklist,a=i.resolveAll(this.resolve);return a.includes(o)?this.createError({params:{values:Array.from(i).join(", "),resolved:a}}):!0}}),r}strip(t=!0){let n=this.clone();return n.spec.strip=t,n}describe(t){const n=(t?this.resolve(t):this).clone(),{label:r,meta:o,optional:i,nullable:a}=n.spec;return{meta:o,label:r,optional:i,nullable:a,default:n.getDefault(t),type:n.type,oneOf:n._whitelist.describe(),notOneOf:n._blacklist.describe(),tests:n.tests.map(l=>({name:l.OPTIONS.name,params:l.OPTIONS.params})).filter((l,c,u)=>u.findIndex(d=>d.name===l.name)===c)}}}ui.prototype.__isYupSchema__=!0;for(const e of["validate","validateSync"])ui.prototype[`${e}At`]=function(t,n,r={}){const{parent:o,parentPath:i,schema:a}=IZe(this,t,n,r.context);return a[e](o&&o[i],Object.assign({},r,{parent:o,path:t}))};for(const e of["equals","is"])ui.prototype[e]=ui.prototype.oneOf;for(const e of["not","nope"])ui.prototype[e]=ui.prototype.notOneOf;function $Q(){return new MQ}class MQ extends ui{constructor(){super({type:"boolean",check(t){return t instanceof Boolean&&(t=t.valueOf()),typeof t=="boolean"}}),this.withMutation(()=>{this.transform((t,n,r)=>{if(r.spec.coerce&&!r.isType(t)){if(/^(true|1)$/i.test(String(t)))return!0;if(/^(false|0)$/i.test(String(t)))return!1}return t})})}isTrue(t=NI.isValue){return this.test({message:t,name:"is-value",exclusive:!0,params:{value:"true"},test(n){return Pa(n)||n===!0}})}isFalse(t=NI.isValue){return this.test({message:t,name:"is-value",exclusive:!0,params:{value:"false"},test(n){return Pa(n)||n===!1}})}default(t){return super.default(t)}defined(t){return super.defined(t)}optional(){return super.optional()}required(t){return super.required(t)}notRequired(){return super.notRequired()}nullable(){return super.nullable()}nonNullable(t){return super.nonNullable(t)}strip(t){return super.strip(t)}}$Q.prototype=MQ.prototype;const $Ze=/^(\d{4}|[+-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,.](\d{1,}))?)?(?:(Z)|([+-])(\d{2})(?::?(\d{2}))?)?)?$/;function MZe(e){const t=jI(e);if(!t)return Date.parse?Date.parse(e):Number.NaN;if(t.z===void 0&&t.plusMinus===void 0)return new Date(t.year,t.month,t.day,t.hour,t.minute,t.second,t.millisecond).valueOf();let n=0;return t.z!=="Z"&&t.plusMinus!==void 0&&(n=t.hourOffset*60+t.minuteOffset,t.plusMinus==="+"&&(n=0-n)),Date.UTC(t.year,t.month,t.day,t.hour,t.minute+n,t.second,t.millisecond)}function jI(e){var t,n;const r=$Ze.exec(e);return r?{year:js(r[1]),month:js(r[2],1)-1,day:js(r[3],1),hour:js(r[4]),minute:js(r[5]),second:js(r[6]),millisecond:r[7]?js(r[7].substring(0,3)):0,precision:(t=(n=r[7])==null?void 0:n.length)!=null?t:void 0,z:r[8]||void 0,plusMinus:r[9]||void 0,hourOffset:js(r[10]),minuteOffset:js(r[11])}:null}function js(e,t=0){return Number(e)||t}let AZe=/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,RZe=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,_Ze=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,DZe="^\\d{4}-\\d{2}-\\d{2}",NZe="\\d{2}:\\d{2}:\\d{2}",LZe="(([+-]\\d{2}(:?\\d{2})?)|Z)",jZe=new RegExp(`${DZe}T${NZe}(\\.\\d+)?${LZe}$`),FZe=e=>Pa(e)||e===e.trim(),BZe={}.toString();function ws(){return new AQ}class AQ extends ui{constructor(){super({type:"string",check(t){return t instanceof String&&(t=t.valueOf()),typeof t=="string"}}),this.withMutation(()=>{this.transform((t,n,r)=>{if(!r.spec.coerce||r.isType(t)||Array.isArray(t))return t;const o=t!=null&&t.toString?t.toString():t;return o===BZe?t:o})})}required(t){return super.required(t).withMutation(n=>n.test({message:t||Ja.required,name:"required",skipAbsent:!0,test:r=>!!r.length}))}notRequired(){return super.notRequired().withMutation(t=>(t.tests=t.tests.filter(n=>n.OPTIONS.name!=="required"),t))}length(t,n=xo.length){return this.test({message:n,name:"length",exclusive:!0,params:{length:t},skipAbsent:!0,test(r){return r.length===this.resolve(t)}})}min(t,n=xo.min){return this.test({message:n,name:"min",exclusive:!0,params:{min:t},skipAbsent:!0,test(r){return r.length>=this.resolve(t)}})}max(t,n=xo.max){return this.test({name:"max",exclusive:!0,message:n,params:{max:t},skipAbsent:!0,test(r){return r.length<=this.resolve(t)}})}matches(t,n){let r=!1,o,i;return n&&(typeof n=="object"?{excludeEmptyString:r=!1,message:o,name:i}=n:o=n),this.test({name:i||"matches",message:o||xo.matches,params:{regex:t},skipAbsent:!0,test:a=>a===""&&r||a.search(t)!==-1})}email(t=xo.email){return this.matches(AZe,{name:"email",message:t,excludeEmptyString:!0})}url(t=xo.url){return this.matches(RZe,{name:"url",message:t,excludeEmptyString:!0})}uuid(t=xo.uuid){return this.matches(_Ze,{name:"uuid",message:t,excludeEmptyString:!1})}datetime(t){let n="",r,o;return t&&(typeof t=="object"?{message:n="",allowOffset:r=!1,precision:o=void 0}=t:n=t),this.matches(jZe,{name:"datetime",message:n||xo.datetime,excludeEmptyString:!0}).test({name:"datetime_offset",message:n||xo.datetime_offset,params:{allowOffset:r},skipAbsent:!0,test:i=>{if(!i||r)return!0;const a=jI(i);return a?!!a.z:!1}}).test({name:"datetime_precision",message:n||xo.datetime_precision,params:{precision:o},skipAbsent:!0,test:i=>{if(!i||o==null)return!0;const a=jI(i);return a?a.precision===o:!1}})}ensure(){return this.default("").transform(t=>t===null?"":t)}trim(t=xo.trim){return this.transform(n=>n!=null?n.trim():n).test({message:t,name:"trim",test:FZe})}lowercase(t=xo.lowercase){return this.transform(n=>Pa(n)?n:n.toLowerCase()).test({message:t,name:"string_case",exclusive:!0,skipAbsent:!0,test:n=>Pa(n)||n===n.toLowerCase()})}uppercase(t=xo.uppercase){return this.transform(n=>Pa(n)?n:n.toUpperCase()).test({message:t,name:"string_case",exclusive:!0,skipAbsent:!0,test:n=>Pa(n)||n===n.toUpperCase()})}}ws.prototype=AQ.prototype;let zZe=e=>e!=+e;function So(){return new RQ}class RQ extends ui{constructor(){super({type:"number",check(t){return t instanceof Number&&(t=t.valueOf()),typeof t=="number"&&!zZe(t)}}),this.withMutation(()=>{this.transform((t,n,r)=>{if(!r.spec.coerce)return t;let o=t;if(typeof o=="string"){if(o=o.replace(/\s/g,""),o==="")return NaN;o=+o}return r.isType(o)||o===null?o:parseFloat(o)})})}min(t,n=Hl.min){return this.test({message:n,name:"min",exclusive:!0,params:{min:t},skipAbsent:!0,test(r){return r>=this.resolve(t)}})}max(t,n=Hl.max){return this.test({message:n,name:"max",exclusive:!0,params:{max:t},skipAbsent:!0,test(r){return r<=this.resolve(t)}})}lessThan(t,n=Hl.lessThan){return this.test({message:n,name:"max",exclusive:!0,params:{less:t},skipAbsent:!0,test(r){return rthis.resolve(t)}})}positive(t=Hl.positive){return this.moreThan(0,t)}negative(t=Hl.negative){return this.lessThan(0,t)}integer(t=Hl.integer){return this.test({name:"integer",message:t,skipAbsent:!0,test:n=>Number.isInteger(n)})}truncate(){return this.transform(t=>Pa(t)?t:t|0)}round(t){var n;let r=["ceil","floor","round","trunc"];if(t=((n=t)==null?void 0:n.toLowerCase())||"round",t==="trunc")return this.truncate();if(r.indexOf(t.toLowerCase())===-1)throw new TypeError("Only valid options for round() are: "+r.join(", "));return this.transform(o=>Pa(o)?o:Math[t](o))}}So.prototype=RQ.prototype;let _Q=new Date(""),VZe=e=>Object.prototype.toString.call(e)==="[object Date]";function ob(){return new ib}class ib extends ui{constructor(){super({type:"date",check(t){return VZe(t)&&!isNaN(t.getTime())}}),this.withMutation(()=>{this.transform((t,n,r)=>!r.spec.coerce||r.isType(t)||t===null?t:(t=MZe(t),isNaN(t)?ib.INVALID_DATE:new Date(t)))})}prepareParam(t,n){let r;if(Md.isRef(t))r=t;else{let o=this.cast(t);if(!this._typeCheck(o))throw new TypeError(`\`${n}\` must be a Date or a value that can be \`cast()\` to a Date`);r=o}return r}min(t,n=DI.min){let r=this.prepareParam(t,"min");return this.test({message:n,name:"min",exclusive:!0,params:{min:t},skipAbsent:!0,test(o){return o>=this.resolve(r)}})}max(t,n=DI.max){let r=this.prepareParam(t,"max");return this.test({message:n,name:"max",exclusive:!0,params:{max:t},skipAbsent:!0,test(o){return o<=this.resolve(r)}})}}ib.INVALID_DATE=_Q;ob.prototype=ib.prototype;ob.INVALID_DATE=_Q;function HZe(e,t=[]){let n=[],r=new Set,o=new Set(t.map(([a,s])=>`${a}-${s}`));function i(a,s){let l=zu.split(a)[0];r.add(l),o.has(`${s}-${l}`)||n.push([s,l])}for(const a of Object.keys(e)){let s=e[a];r.add(a),Md.isRef(s)&&s.isSibling?i(s.path,a):YS(s)&&"deps"in s&&s.deps.forEach(l=>i(l,a))}return xZe.array(Array.from(r),n).reverse()}function t4(e,t){let n=1/0;return e.some((r,o)=>{var i;if((i=t.path)!=null&&i.includes(r))return n=o,!0}),n}function DQ(e){return(t,n)=>t4(e,t)-t4(e,n)}const NQ=(e,t,n)=>{if(typeof e!="string")return e;let r=e;try{r=JSON.parse(e)}catch{}return n.isType(r)?r:e};function Z0(e){if("fields"in e){const t={};for(const[n,r]of Object.entries(e.fields))t[n]=Z0(r);return e.setFields(t)}if(e.type==="array"){const t=e.optional();return t.innerType&&(t.innerType=Z0(t.innerType)),t}return e.type==="tuple"?e.optional().clone({types:e.spec.types.map(Z0)}):"optional"in e?e.optional():e}const UZe=(e,t)=>{const n=[...zu.normalizePath(t)];if(n.length===1)return n[0]in e;let r=n.pop(),o=zu.getter(zu.join(n),!0)(e);return!!(o&&r in o)};let n4=e=>Object.prototype.toString.call(e)==="[object Object]";function WZe(e,t){let n=Object.keys(e.fields);return Object.keys(t).filter(r=>n.indexOf(r)===-1)}const GZe=DQ([]);function la(e){return new LQ(e)}class LQ extends ui{constructor(t){super({type:"object",check(n){return n4(n)||typeof n=="function"}}),this.fields=Object.create(null),this._sortErrors=GZe,this._nodes=[],this._excludedEdges=[],this.withMutation(()=>{t&&this.shape(t)})}_cast(t,n={}){var r;let o=super._cast(t,n);if(o===void 0)return this.getDefault(n);if(!this._typeCheck(o))return o;let i=this.fields,a=(r=n.stripUnknown)!=null?r:this.spec.noUnknown,s=[].concat(this._nodes,Object.keys(o).filter(d=>!this._nodes.includes(d))),l={},c=Object.assign({},n,{parent:l,__validating:n.__validating||!1}),u=!1;for(const d of s){let f=i[d],p=d in o;if(f){let h,m=o[d];c.path=(n.path?`${n.path}.`:"")+d,f=f.resolve({value:m,context:n.context,parent:l});let v=f instanceof ui?f.spec:void 0,b=v==null?void 0:v.strict;if(v!=null&&v.strip){u=u||d in o;continue}h=!n.__validating||!b?f.cast(o[d],c):o[d],h!==void 0&&(l[d]=h)}else p&&!a&&(l[d]=o[d]);(p!==d in l||l[d]!==o[d])&&(u=!0)}return u?l:o}_validate(t,n={},r,o){let{from:i=[],originalValue:a=t,recursive:s=this.spec.recursive}=n;n.from=[{schema:this,value:a},...i],n.__validating=!0,n.originalValue=a,super._validate(t,n,r,(l,c)=>{if(!s||!n4(c)){o(l,c);return}a=a||c;let u=[];for(let d of this._nodes){let f=this.fields[d];!f||Md.isRef(f)||u.push(f.asNestedTest({options:n,key:d,parent:c,parentPath:n.path,originalParent:a}))}this.runTests({tests:u,value:c,originalValue:a,options:n},r,d=>{o(d.sort(this._sortErrors).concat(l),c)})})}clone(t){const n=super.clone(t);return n.fields=Object.assign({},this.fields),n._nodes=this._nodes,n._excludedEdges=this._excludedEdges,n._sortErrors=this._sortErrors,n}concat(t){let n=super.concat(t),r=n.fields;for(let[o,i]of Object.entries(this.fields)){const a=r[o];r[o]=a===void 0?i:a}return n.withMutation(o=>o.setFields(r,[...this._excludedEdges,...t._excludedEdges]))}_getDefault(t){if("default"in this.spec)return super._getDefault(t);if(!this._nodes.length)return;let n={};return this._nodes.forEach(r=>{var o;const i=this.fields[r];let a=t;(o=a)!=null&&o.value&&(a=Object.assign({},a,{parent:a.value,value:a.value[r]})),n[r]=i&&"getDefault"in i?i.getDefault(a):void 0}),n}setFields(t,n){let r=this.clone();return r.fields=t,r._nodes=HZe(t,n),r._sortErrors=DQ(Object.keys(t)),n&&(r._excludedEdges=n),r}shape(t,n=[]){return this.clone().withMutation(r=>{let o=r._excludedEdges;return n.length&&(Array.isArray(n[0])||(n=[n]),o=[...r._excludedEdges,...n]),r.setFields(Object.assign(r.fields,t),o)})}partial(){const t={};for(const[n,r]of Object.entries(this.fields))t[n]="optional"in r&&r.optional instanceof Function?r.optional():r;return this.setFields(t)}deepPartial(){return Z0(this)}pick(t){const n={};for(const r of t)this.fields[r]&&(n[r]=this.fields[r]);return this.setFields(n,this._excludedEdges.filter(([r,o])=>t.includes(r)&&t.includes(o)))}omit(t){const n=[];for(const r of Object.keys(this.fields))t.includes(r)||n.push(r);return this.pick(n)}from(t,n,r){let o=zu.getter(t,!0);return this.transform(i=>{if(!i)return i;let a=i;return UZe(i,t)&&(a=Object.assign({},i),r||delete a[t],a[n]=o(i)),a})}json(){return this.transform(NQ)}noUnknown(t=!0,n=LI.noUnknown){typeof t!="boolean"&&(n=t,t=!0);let r=this.test({name:"noUnknown",exclusive:!0,message:n,test(o){if(o==null)return!0;const i=WZe(this.schema,o);return!t||i.length===0||this.createError({params:{unknown:i.join(", ")}})}});return r.spec.noUnknown=t,r}unknown(t=!0,n=LI.noUnknown){return this.noUnknown(!t,n)}transformKeys(t){return this.transform(n=>{if(!n)return n;const r={};for(const o of Object.keys(n))r[t(o)]=n[o];return r})}camelCase(){return this.transformKeys(ZE.camelCase)}snakeCase(){return this.transformKeys(ZE.snakeCase)}constantCase(){return this.transformKeys(t=>ZE.snakeCase(t).toUpperCase())}describe(t){const n=(t?this.resolve(t):this).clone(),r=super.describe(t);r.fields={};for(const[i,a]of Object.entries(n.fields)){var o;let s=t;(o=s)!=null&&o.value&&(s=Object.assign({},s,{parent:s.value,value:s.value[i]})),r.fields[i]=a.describe(s)}return r}}la.prototype=LQ.prototype;function k_(e){return new jQ(e)}class jQ extends ui{constructor(t){super({type:"array",spec:{types:t},check(n){return Array.isArray(n)}}),this.innerType=void 0,this.innerType=t}_cast(t,n){const r=super._cast(t,n);if(!this._typeCheck(r)||!this.innerType)return r;let o=!1;const i=r.map((a,s)=>{const l=this.innerType.cast(a,Object.assign({},n,{path:`${n.path||""}[${s}]`}));return l!==a&&(o=!0),l});return o?i:r}_validate(t,n={},r,o){var i;let a=this.innerType,s=(i=n.recursive)!=null?i:this.spec.recursive;n.originalValue!=null&&n.originalValue,super._validate(t,n,r,(l,c)=>{var u;if(!s||!a||!this._typeCheck(c)){o(l,c);return}let d=new Array(c.length);for(let p=0;po(p.concat(l),c))})}clone(t){const n=super.clone(t);return n.innerType=this.innerType,n}json(){return this.transform(NQ)}concat(t){let n=super.concat(t);return n.innerType=this.innerType,t.innerType&&(n.innerType=n.innerType?n.innerType.concat(t.innerType):t.innerType),n}of(t){let n=this.clone();if(!YS(t))throw new TypeError("`array.of()` sub-schema must be a valid yup schema not: "+nl(t));return n.innerType=t,n.spec=Object.assign({},n.spec,{types:t}),n}length(t,n=J0.length){return this.test({message:n,name:"length",exclusive:!0,params:{length:t},skipAbsent:!0,test(r){return r.length===this.resolve(t)}})}min(t,n){return n=n||J0.min,this.test({message:n,name:"min",exclusive:!0,params:{min:t},skipAbsent:!0,test(r){return r.length>=this.resolve(t)}})}max(t,n){return n=n||J0.max,this.test({message:n,name:"max",exclusive:!0,params:{max:t},skipAbsent:!0,test(r){return r.length<=this.resolve(t)}})}ensure(){return this.default(()=>[]).transform((t,n)=>this._typeCheck(t)?t:n==null?[]:[].concat(n))}compact(t){let n=t?(r,o,i)=>!t(r,o,i):r=>!!r;return this.transform(r=>r!=null?r.filter(n):r)}describe(t){const n=(t?this.resolve(t):this).clone(),r=super.describe(t);if(n.innerType){var o;let i=t;(o=i)!=null&&o.value&&(i=Object.assign({},i,{parent:i.value,value:i.value[0]})),r.innerType=n.innerType.describe(i)}return r}}k_.prototype=jQ.prototype;const I_=({planId:e,entry:t,mealId:n,meals:r,closeFn:o})=>{const i=n===void 0?null:n,a=r===void 0?[]:r,[s,l]=Oe(),c=Y1e(e),u=Q1e(e),[d,f]=g.useState(t?t.datetime:new Date),[p,h]=g.useState(i),m=la({amount:So().required(s("forms.fieldRequired")).max(1e3,s("forms.maxValue",{value:"1000"})).min(1,s("forms.minValue",{value:"1"})),ingredient:So().required(s("forms.fieldRequired")),datetime:ob().required(s("forms.fieldRequired"))});return x(aa,{initialValues:{datetime:new Date,amount:0,ingredient:0},validationSchema:m,onSubmit:async v=>{const b={...v,plan:e,meal:p,weight_unit:null,datetime:v.datetime.toISOString()};t?u.mutate({...b,id:t.id}):c.mutate(b),o&&o()},children:v=>x(yi,{children:z(pt,{spacing:2,children:[x(h_,{callback:b=>v.setFieldValue("ingredient",b==null?void 0:b.data.id)}),x($t,{fullWidth:!0,id:"amount",label:"amount",InputProps:{endAdornment:x(dr,{position:"end",children:s("nutrition.gramShort")})},error:v.touched.amount&&!!v.errors.amount,helperText:v.touched.amount&&v.errors.amount,...v.getFieldProps("amount")}),a.length>0&&x(Da,{value:p,options:a.map(b=>b.id),getOptionLabel:b=>a.find(y=>y.id===b).displayName,onChange:(b,y)=>h(y),renderInput:b=>x($t,{label:s("nutrition.meal"),value:p,...b})}),x(_S,{dateAdapter:zS,adapterLocale:l.language,children:x(S7e,{inputFormat:"yyyy-MM-dd HH:mm",label:s("date"),value:d,renderInput:b=>x($t,{...b,...v.getFieldProps("datetime")}),disableFuture:!0,onChange:b=>{v.setFieldValue("datetime",b.toJSDate()),f(b)},shouldDisableDate:b=>(t&&io(t.datetime)===io(b.toJSDate()),!1)})}),z(pt,{direction:"row",justifyContent:"end",spacing:2,children:[o!==void 0&&x(qe,{color:"primary",variant:"outlined",onClick:()=>o(),children:s("close")}),x(qe,{color:"primary",variant:"contained",type:"submit",children:s("submit")})]})]})})})},$_=({plan:e,closeFn:t})=>{const[n]=Oe(),r=G1e(),o=K1e(e==null?void 0:e.id),[i,a]=g.useState(e==null?void 0:e.hasAnyGoals),s=la({description:ws().required().max(25,n("forms.maxLength",{chars:"25"})).min(3,n("forms.minLength",{chars:"3"})),only_logging:$Q(),goal_energy:So().notRequired().positive().max(6e3,n("forms.maxValue",{value:"6000kcal"})),goal_protein:So().notRequired().positive().max(500,n("forms.maxValue",{value:"500"})),goal_carbohydrates:So().notRequired().positive().max(750,n("forms.maxValue",{value:"750"})),goal_fiber:So().notRequired().positive().max(500,n("forms.maxValue",{value:"500"})),goal_fat:So().notRequired().positive().max(500,n("forms.maxValue",{value:"500"}))});return x(aa,{initialValues:{description:e?e.description:n("nutrition.plan"),only_logging:e?e.onlyLogging:!0,goal_energy:e?e.goalEnergy:null,goal_protein:e?e.goalProtein:null,goal_carbohydrates:e?e.goalCarbohydrates:null,goal_fiber:e?e.goalFiber:null,goal_fat:e?e.goalFat:null},validationSchema:s,onSubmit:async l=>{l.goal_energy=l.goal_energy?l.goal_energy:null,l.goal_protein=l.goal_protein?l.goal_protein:null,l.goal_carbohydrates=l.goal_carbohydrates?l.goal_carbohydrates:null,l.goal_fiber=l.goal_fiber?l.goal_fiber:null,l.goal_fat=l.goal_fat?l.goal_fat:null,e?o.mutate({...l,id:e.id}):r.mutate(l),t&&t()},children:l=>x(yi,{children:z(pt,{spacing:2,children:[x($t,{fullWidth:!0,id:"description",label:n("description"),error:l.touched.description&&!!l.errors.description,helperText:l.touched.description&&l.errors.description,...l.getFieldProps("description")}),x(jC,{children:x($y,{label:n("nutrition.onlyLoggingHelpText"),control:x(El,{id:"onlyLogging",checked:l.values.only_logging,...l.getFieldProps("only_logging")})})}),z(hh,{fullWidth:!0,children:[x(mh,{id:"demo-simple-select-label",children:"Goal Setting"}),z(Hc,{labelId:"demo-simple-select-label",id:"demo-simple-select",value:10,label:"Goal setting",onChange:()=>{},children:[x(bt,{value:10,children:"Based on my meals"}),x(bt,{value:20,children:"Set basic macros"}),x(bt,{value:30,children:"Set advanced macros"})]})]}),i&&z(tt,{children:[x($t,{fullWidth:!0,id:"energy",label:n("nutrition.goalEnergy"),error:l.touched.goal_energy&&!!l.errors.goal_energy,helperText:l.touched.goal_energy&&l.errors.goal_energy,...l.getFieldProps("goal_energy"),InputProps:{endAdornment:x(dr,{position:"end",children:n("nutrition.kcal")})}}),z(Wd,{container:!0,spacing:1,children:[x(Wd,{xs:4,children:x($t,{id:"protein",label:n("nutrition.goalProtein"),error:l.touched.goal_protein&&!!l.errors.goal_protein,helperText:l.touched.goal_protein&&l.errors.goal_protein,...l.getFieldProps("goal_protein"),InputProps:{startAdornment:x(dr,{position:"start",children:l.values.goal_protein!==null&&l.values.goal_protein!==void 0?n("nutrition.valueEnergyKcal",{value:l.values.goal_protein*Zf.protein}):""}),endAdornment:x(dr,{position:"end",children:n("nutrition.gramShort")})}})}),x(Wd,{xs:4,children:x($t,{id:"carbohydrates",label:n("nutrition.goalCarbohydrates"),error:l.touched.goal_carbohydrates&&!!l.errors.goal_carbohydrates,helperText:l.touched.goal_carbohydrates&&l.errors.goal_carbohydrates,...l.getFieldProps("goal_carbohydrates"),InputProps:{startAdornment:x(dr,{position:"start",children:l.values.goal_carbohydrates!==null&&l.values.goal_carbohydrates!==void 0?n("nutrition.valueEnergyKcal",{value:l.values.goal_carbohydrates*Zf.carbohydrates}):""}),endAdornment:x(dr,{position:"end",children:n("nutrition.gramShort")})}})}),x(Wd,{xs:4,children:x($t,{id:"fat",label:n("nutrition.goalFat"),error:l.touched.goal_fat&&!!l.errors.goal_fat,helperText:l.touched.goal_fat&&l.errors.goal_fat,...l.getFieldProps("goal_fat"),InputProps:{startAdornment:x(dr,{position:"start",children:l.values.goal_fat!==null&&l.values.goal_fat!==void 0?n("nutrition.valueEnergyKcal",{value:l.values.goal_fat*Zf.fat}):""}),endAdornment:x(dr,{position:"end",children:n("nutrition.gramShort")})}})})]}),x(Wd,{container:!0,spacing:1,children:x(Wd,{xs:4,children:x($t,{id:"fiber",label:n("nutrition.goalFiber"),error:l.touched.goal_fiber&&!!l.errors.goal_fiber,helperText:l.touched.goal_fiber&&l.errors.goal_fiber,...l.getFieldProps("goal_fiber"),InputProps:{startAdornment:x(dr,{position:"start",children:n("nutrition.valueEnergyKcal",{value:0})}),endAdornment:x(dr,{position:"end",children:n("nutrition.gramShort")})}})})})]}),x(pt,{direction:"row",justifyContent:"end",sx:{mt:2},children:x(qe,{color:"primary",variant:"contained",type:"submit",sx:{mt:2},children:n("submit")})})]})})})},FQ=()=>{const[e]=Oe(),t=H1e();return x(tt,{children:t.isLoading?x(Tr,{}):x(tt,{children:t.data!==null?x(qZe,{plan:t.data}):x(EA,{title:e("nutritionalPlan"),modalContent:x($_,{}),modalTitle:e("add")})})})};function qZe(e){const[t,n]=Oe(),[r,o]=V.useState(!1),i=()=>o(!0),a=()=>o(!1);return z(tt,{children:[z(gr,{children:[x(Pl,{title:t("nutritionalPlan"),subheader:e.plan.description}),z(Ro,{sx:{height:"500px",overflow:"auto"},children:[x(KWe,{percentage:e.plan.percentageValuesLoggedToday,planned:e.plan.plannedNutritionalValues,logged:e.plan.loggedNutritionalValuesToday}),x(za,{children:e.plan.meals.map(s=>x(KZe,{meal:s,planId:e.plan.id},s.id))})]}),z(gi,{sx:{justifyContent:"space-between",alignItems:"flex-start"},children:[x(qe,{size:"small",href:_t(Mt.NUTRITION_DETAIL,n.language,{id:e.plan.id}),children:t("seeDetails")}),x(La,{title:t("nutrition.logThisMealItem"),children:x(Rt,{onClick:i,children:x(vh,{})})})]})]}),x(yo,{title:t("nutrition.addNutritionalDiary"),isOpen:r,closeFn:a,children:x(I_,{closeFn:a,planId:e.plan.id,meals:e.plan.meals})})]})}const KZe=e=>{const[t,n]=Oe(),r=fG(e.planId),[o,i]=g.useState(!1),[a,s]=V.useState(!1),l=()=>i(!o),c=(p,h)=>{h!=="clickaway"&&s(!1)},u=p=>{const h=[{plan:e.planId,meal:e.meal.id,mealItem:p.id,ingredient:p.ingredientId,weight_unit:p.weightUnitId,datetime:new Date().toISOString(),amount:p.amount}];r.mutate(h),s(!0)},d=e.meal.name?e.meal.name:qx(e.meal.time,n.language),f=e.meal.name?qx(e.meal.time,n.language):null;return z(tt,{children:[z(Vc,{onClick:l,selected:o,children:[x(fo,{children:o?x(xA,{}):x(bd,{})}),x(or,{primary:d,secondary:f})]}),x(ka,{in:o,timeout:"auto",unmountOnExit:!0,children:x(za,{children:e.meal.items.map(p=>{var h,m,v,b;return z(Zi,{secondaryAction:x(La,{title:t("nutrition.logThisMealItem"),children:x(Rt,{edge:"end",onClick:()=>u(p),children:x(vh,{})})}),children:[x(pA,{children:x(Na,{alt:(h=p.ingredient)==null?void 0:h.name,src:(v=(m=p.ingredient)==null?void 0:m.image)==null?void 0:v.url,sx:{width:45,height:45},children:x(Es,{})})}),x(or,{primary:(b=p.ingredient)==null?void 0:b.name,secondary:It(p.amount,n.language)})]},p.id)})})}),x(C8,{open:a,autoHideDuration:aG,onClose:c,children:x(fl,{onClose:c,severity:"success",sx:{width:"100%"},children:t("nutrition.diaryEntrySaved")})})]})},M_=rt(k.jsx("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z"}),"Add"),YZe=rt(k.jsx("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2m0 16H8V7h11z"}),"ContentCopy"),BQ=rt(k.jsx("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z"}),"Delete"),QZe=rt(k.jsx("path",{d:"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z"}),"Edit");var A_={},XZe=Ut;Object.defineProperty(A_,"__esModule",{value:!0});var Yh=A_.default=void 0,JZe=XZe(Xt()),ZZe=Kt();Yh=A_.default=(0,JZe.default)((0,ZZe.jsx)("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2"}),"MoreVert");const eet=e=>{var r;const t=e.avatarSize||40,n=e.iconSize||40;return x(Na,{sx:{height:t,width:t},src:(r=e.image)==null?void 0:r.url,children:x(Es,{sx:{height:n,width:n}})})};function zQ(e){return lr([g1e,e],()=>aSe(e))}function tet(e,t=!1){return lr([b1e,e,t],()=>lSe(e,t))}function net(){return lr([v1e],sSe)}function ret(){return lr([y1e],iSe)}/** - * @remix-run/router v1.18.0 +`+(s!==a?`result of cast: ${s}`:""))}return i}_cast(t,n){let r=t===void 0?t:this.transforms.reduce((o,i)=>i.call(this,o,t,this),t);return r===void 0&&(r=this.getDefault(n)),r}_validate(t,n={},r,o){let{path:i,originalValue:a=t,strict:s=this.spec.strict}=n,l=t;s||(l=this._cast(l,Object.assign({assert:!1},n)));let c=[];for(let u of Object.values(this.internalTests))u&&c.push(u);this.runTests({path:i,value:l,originalValue:a,options:n,tests:c},r,u=>{if(u.length)return o(u,l);this.runTests({path:i,value:l,originalValue:a,options:n,tests:this.tests},r,o)})}runTests(t,n,r){let o=!1,{tests:i,value:a,originalValue:s,path:l,options:c}=t,u=g=>{o||(o=!0,n(g,a))},d=g=>{o||(o=!0,r(g,a))},f=i.length,p=[];if(!f)return d([]);let m={value:a,originalValue:s,path:l,options:c,schema:this};for(let g=0;gthis.resolve(u)._validate(c,u,f,p)}validate(t,n){var r;let o=this.resolve(Object.assign({},n,{value:t})),i=(r=n==null?void 0:n.disableStackTrace)!=null?r:o.spec.disableStackTrace;return new Promise((a,s)=>o._validate(t,n,(l,c)=>{da.isError(l)&&(l.value=c),s(l)},(l,c)=>{l.length?s(new da(l,c,void 0,void 0,i)):a(c)}))}validateSync(t,n){var r;let o=this.resolve(Object.assign({},n,{value:t})),i,a=(r=n==null?void 0:n.disableStackTrace)!=null?r:o.spec.disableStackTrace;return o._validate(t,Object.assign({},n,{sync:!0}),(s,l)=>{throw da.isError(s)&&(s.value=l),s},(s,l)=>{if(s.length)throw new da(s,t,void 0,void 0,a);i=l}),i}isValid(t,n){return this.validate(t,n).then(()=>!0,r=>{if(da.isError(r))return!1;throw r})}isValidSync(t,n){try{return this.validateSync(t,n),!0}catch(r){if(da.isError(r))return!1;throw r}}_getDefault(t){let n=this.spec.default;return n==null?n:typeof n=="function"?n.call(this,t):zg(n)}getDefault(t){return this.resolve(t||{})._getDefault(t)}default(t){return arguments.length===0?this._getDefault():this.clone({default:t})}strict(t=!0){return this.clone({strict:t})}nullability(t,n){const r=this.clone({nullable:t});return r.internalTests.nullable=tg({message:n,name:"nullable",test(o){return o===null?this.schema.spec.nullable:!0}}),r}optionality(t,n){const r=this.clone({optional:t});return r.internalTests.optionality=tg({message:n,name:"optionality",test(o){return o===void 0?this.schema.spec.optional:!0}}),r}optional(){return this.optionality(!0)}defined(t=yc.defined){return this.optionality(!1,t)}nullable(){return this.nullability(!0)}nonNullable(t=yc.notNull){return this.nullability(!1,t)}required(t=yc.required){return this.clone().withMutation(n=>n.nonNullable(t).defined(t))}notRequired(){return this.clone().withMutation(t=>t.nullable().optional())}transform(t){let n=this.clone();return n.transforms.push(t),n}test(...t){let n;if(t.length===1?typeof t[0]=="function"?n={test:t[0]}:n=t[0]:t.length===2?n={name:t[0],test:t[1]}:n={name:t[0],message:t[1],test:t[2]},n.message===void 0&&(n.message=yc.default),typeof n.test!="function")throw new TypeError("`test` is a required parameters");let r=this.clone(),o=tg(n),i=n.exclusive||n.name&&r.exclusiveTests[n.name]===!0;if(n.exclusive&&!n.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return n.name&&(r.exclusiveTests[n.name]=!!n.exclusive),r.tests=r.tests.filter(a=>!(a.OPTIONS.name===n.name&&(i||a.OPTIONS.test===o.OPTIONS.test))),r.tests.push(o),r}when(t,n){!Array.isArray(t)&&typeof t!="string"&&(n=t,t=".");let r=this.clone(),o=vse(t).map(i=>new cm(i));return o.forEach(i=>{i.isSibling&&r.deps.push(i.key)}),r.conditions.push(typeof n=="function"?new cO(o,n):cO.fromOptions(o,n)),r}typeError(t){let n=this.clone();return n.internalTests.typeError=tg({message:t,name:"typeError",skipAbsent:!0,test(r){return this.schema._typeCheck(r)?!0:this.createError({params:{type:this.schema.type}})}}),n}oneOf(t,n=yc.oneOf){let r=this.clone();return t.forEach(o=>{r._whitelist.add(o),r._blacklist.delete(o)}),r.internalTests.whiteList=tg({message:n,name:"oneOf",skipAbsent:!0,test(o){let i=this.schema._whitelist,a=i.resolveAll(this.resolve);return a.includes(o)?!0:this.createError({params:{values:Array.from(i).join(", "),resolved:a}})}}),r}notOneOf(t,n=yc.notOneOf){let r=this.clone();return t.forEach(o=>{r._blacklist.add(o),r._whitelist.delete(o)}),r.internalTests.blacklist=tg({message:n,name:"notOneOf",test(o){let i=this.schema._blacklist,a=i.resolveAll(this.resolve);return a.includes(o)?this.createError({params:{values:Array.from(i).join(", "),resolved:a}}):!0}}),r}strip(t=!0){let n=this.clone();return n.spec.strip=t,n}describe(t){const n=(t?this.resolve(t):this).clone(),{label:r,meta:o,optional:i,nullable:a}=n.spec;return{meta:o,label:r,optional:i,nullable:a,default:n.getDefault(t),type:n.type,oneOf:n._whitelist.describe(),notOneOf:n._blacklist.describe(),tests:n.tests.map(l=>({name:l.OPTIONS.name,params:l.OPTIONS.params})).filter((l,c,u)=>u.findIndex(d=>d.name===l.name)===c)}}}cs.prototype.__isYupSchema__=!0;for(const e of["validate","validateSync"])cs.prototype[`${e}At`]=function(t,n,r={}){const{parent:o,parentPath:i,schema:a}=Pyt(this,t,n,r.context);return a[e](o&&o[i],Object.assign({},r,{parent:o,path:t}))};for(const e of["equals","is"])cs.prototype[e]=cs.prototype.oneOf;for(const e of["not","nope"])cs.prototype[e]=cs.prototype.notOneOf;function Sse(){return new Cse}class Cse extends cs{constructor(){super({type:"boolean",check(t){return t instanceof Boolean&&(t=t.valueOf()),typeof t=="boolean"}}),this.withMutation(()=>{this.transform((t,n,r)=>{if(r.spec.coerce&&!r.isType(t)){if(/^(true|1)$/i.test(String(t)))return!0;if(/^(false|0)$/i.test(String(t)))return!1}return t})})}isTrue(t=_N.isValue){return this.test({message:t,name:"is-value",exclusive:!0,params:{value:"true"},test(n){return ql(n)||n===!0}})}isFalse(t=_N.isValue){return this.test({message:t,name:"is-value",exclusive:!0,params:{value:"false"},test(n){return ql(n)||n===!1}})}default(t){return super.default(t)}defined(t){return super.defined(t)}optional(){return super.optional()}required(t){return super.required(t)}notRequired(){return super.notRequired()}nullable(){return super.nullable()}nonNullable(t){return super.nonNullable(t)}strip(t){return super.strip(t)}}Sse.prototype=Cse.prototype;const Tyt=/^(\d{4}|[+-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,.](\d{1,}))?)?(?:(Z)|([+-])(\d{2})(?::?(\d{2}))?)?)?$/;function Eyt(e){const t=NN(e);if(!t)return Date.parse?Date.parse(e):Number.NaN;if(t.z===void 0&&t.plusMinus===void 0)return new Date(t.year,t.month,t.day,t.hour,t.minute,t.second,t.millisecond).valueOf();let n=0;return t.z!=="Z"&&t.plusMinus!==void 0&&(n=t.hourOffset*60+t.minuteOffset,t.plusMinus==="+"&&(n=0-n)),Date.UTC(t.year,t.month,t.day,t.hour,t.minute+n,t.second,t.millisecond)}function NN(e){var t,n;const r=Tyt.exec(e);return r?{year:hu(r[1]),month:hu(r[2],1)-1,day:hu(r[3],1),hour:hu(r[4]),minute:hu(r[5]),second:hu(r[6]),millisecond:r[7]?hu(r[7].substring(0,3)):0,precision:(t=(n=r[7])==null?void 0:n.length)!=null?t:void 0,z:r[8]||void 0,plusMinus:r[9]||void 0,hourOffset:hu(r[10]),minuteOffset:hu(r[11])}:null}function hu(e,t=0){return Number(e)||t}let Oyt=/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,Iyt=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,kyt=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,Myt="^\\d{4}-\\d{2}-\\d{2}",Ayt="\\d{2}:\\d{2}:\\d{2}",$yt="(([+-]\\d{2}(:?\\d{2})?)|Z)",Ryt=new RegExp(`${Myt}T${Ayt}(\\.\\d+)?${$yt}$`),_yt=e=>ql(e)||e===e.trim(),Dyt={}.toString();function Wc(){return new Pse}class Pse extends cs{constructor(){super({type:"string",check(t){return t instanceof String&&(t=t.valueOf()),typeof t=="string"}}),this.withMutation(()=>{this.transform((t,n,r)=>{if(!r.spec.coerce||r.isType(t)||Array.isArray(t))return t;const o=t!=null&&t.toString?t.toString():t;return o===Dyt?t:o})})}required(t){return super.required(t).withMutation(n=>n.test({message:t||yc.required,name:"required",skipAbsent:!0,test:r=>!!r.length}))}notRequired(){return super.notRequired().withMutation(t=>(t.tests=t.tests.filter(n=>n.OPTIONS.name!=="required"),t))}length(t,n=aa.length){return this.test({message:n,name:"length",exclusive:!0,params:{length:t},skipAbsent:!0,test(r){return r.length===this.resolve(t)}})}min(t,n=aa.min){return this.test({message:n,name:"min",exclusive:!0,params:{min:t},skipAbsent:!0,test(r){return r.length>=this.resolve(t)}})}max(t,n=aa.max){return this.test({name:"max",exclusive:!0,message:n,params:{max:t},skipAbsent:!0,test(r){return r.length<=this.resolve(t)}})}matches(t,n){let r=!1,o,i;return n&&(typeof n=="object"?{excludeEmptyString:r=!1,message:o,name:i}=n:o=n),this.test({name:i||"matches",message:o||aa.matches,params:{regex:t},skipAbsent:!0,test:a=>a===""&&r||a.search(t)!==-1})}email(t=aa.email){return this.matches(Oyt,{name:"email",message:t,excludeEmptyString:!0})}url(t=aa.url){return this.matches(Iyt,{name:"url",message:t,excludeEmptyString:!0})}uuid(t=aa.uuid){return this.matches(kyt,{name:"uuid",message:t,excludeEmptyString:!1})}datetime(t){let n="",r,o;return t&&(typeof t=="object"?{message:n="",allowOffset:r=!1,precision:o=void 0}=t:n=t),this.matches(Ryt,{name:"datetime",message:n||aa.datetime,excludeEmptyString:!0}).test({name:"datetime_offset",message:n||aa.datetime_offset,params:{allowOffset:r},skipAbsent:!0,test:i=>{if(!i||r)return!0;const a=NN(i);return a?!!a.z:!1}}).test({name:"datetime_precision",message:n||aa.datetime_precision,params:{precision:o},skipAbsent:!0,test:i=>{if(!i||o==null)return!0;const a=NN(i);return a?a.precision===o:!1}})}ensure(){return this.default("").transform(t=>t===null?"":t)}trim(t=aa.trim){return this.transform(n=>n!=null?n.trim():n).test({message:t,name:"trim",test:_yt})}lowercase(t=aa.lowercase){return this.transform(n=>ql(n)?n:n.toLowerCase()).test({message:t,name:"string_case",exclusive:!0,skipAbsent:!0,test:n=>ql(n)||n===n.toLowerCase()})}uppercase(t=aa.uppercase){return this.transform(n=>ql(n)?n:n.toUpperCase()).test({message:t,name:"string_case",exclusive:!0,skipAbsent:!0,test:n=>ql(n)||n===n.toUpperCase()})}}Wc.prototype=Pse.prototype;let Nyt=e=>e!=+e;function pa(){return new Tse}class Tse extends cs{constructor(){super({type:"number",check(t){return t instanceof Number&&(t=t.valueOf()),typeof t=="number"&&!Nyt(t)}}),this.withMutation(()=>{this.transform((t,n,r)=>{if(!r.spec.coerce)return t;let o=t;if(typeof o=="string"){if(o=o.replace(/\s/g,""),o==="")return NaN;o=+o}return r.isType(o)||o===null?o:parseFloat(o)})})}min(t,n=Ad.min){return this.test({message:n,name:"min",exclusive:!0,params:{min:t},skipAbsent:!0,test(r){return r>=this.resolve(t)}})}max(t,n=Ad.max){return this.test({message:n,name:"max",exclusive:!0,params:{max:t},skipAbsent:!0,test(r){return r<=this.resolve(t)}})}lessThan(t,n=Ad.lessThan){return this.test({message:n,name:"max",exclusive:!0,params:{less:t},skipAbsent:!0,test(r){return rthis.resolve(t)}})}positive(t=Ad.positive){return this.moreThan(0,t)}negative(t=Ad.negative){return this.lessThan(0,t)}integer(t=Ad.integer){return this.test({name:"integer",message:t,skipAbsent:!0,test:n=>Number.isInteger(n)})}truncate(){return this.transform(t=>ql(t)?t:t|0)}round(t){var n;let r=["ceil","floor","round","trunc"];if(t=((n=t)==null?void 0:n.toLowerCase())||"round",t==="trunc")return this.truncate();if(r.indexOf(t.toLowerCase())===-1)throw new TypeError("Only valid options for round() are: "+r.join(", "));return this.transform(o=>ql(o)?o:Math[t](o))}}pa.prototype=Tse.prototype;let Ese=new Date(""),Lyt=e=>Object.prototype.toString.call(e)==="[object Date]";function a1(){return new s1}class s1 extends cs{constructor(){super({type:"date",check(t){return Lyt(t)&&!isNaN(t.getTime())}}),this.withMutation(()=>{this.transform((t,n,r)=>!r.spec.coerce||r.isType(t)||t===null?t:(t=Eyt(t),isNaN(t)?s1.INVALID_DATE:new Date(t)))})}prepareParam(t,n){let r;if(cm.isRef(t))r=t;else{let o=this.cast(t);if(!this._typeCheck(o))throw new TypeError(`\`${n}\` must be a Date or a value that can be \`cast()\` to a Date`);r=o}return r}min(t,n=RN.min){let r=this.prepareParam(t,"min");return this.test({message:n,name:"min",exclusive:!0,params:{min:t},skipAbsent:!0,test(o){return o>=this.resolve(r)}})}max(t,n=RN.max){let r=this.prepareParam(t,"max");return this.test({message:n,name:"max",exclusive:!0,params:{max:t},skipAbsent:!0,test(o){return o<=this.resolve(r)}})}}s1.INVALID_DATE=Ese;a1.prototype=s1.prototype;a1.INVALID_DATE=Ese;function Fyt(e,t=[]){let n=[],r=new Set,o=new Set(t.map(([a,s])=>`${a}-${s}`));function i(a,s){let l=mh.split(a)[0];r.add(l),o.has(`${s}-${l}`)||n.push([s,l])}for(const a of Object.keys(e)){let s=e[a];r.add(a),cm.isRef(s)&&s.isSibling?i(s.path,a):tM(s)&&"deps"in s&&s.deps.forEach(l=>i(l,a))}return myt.array(Array.from(r),n).reverse()}function O7(e,t){let n=1/0;return e.some((r,o)=>{var i;if((i=t.path)!=null&&i.includes(r))return n=o,!0}),n}function Ose(e){return(t,n)=>O7(e,t)-O7(e,n)}const Ise=(e,t,n)=>{if(typeof e!="string")return e;let r=e;try{r=JSON.parse(e)}catch{}return n.isType(r)?r:e};function QP(e){if("fields"in e){const t={};for(const[n,r]of Object.entries(e.fields))t[n]=QP(r);return e.setFields(t)}if(e.type==="array"){const t=e.optional();return t.innerType&&(t.innerType=QP(t.innerType)),t}return e.type==="tuple"?e.optional().clone({types:e.spec.types.map(QP)}):"optional"in e?e.optional():e}const jyt=(e,t)=>{const n=[...mh.normalizePath(t)];if(n.length===1)return n[0]in e;let r=n.pop(),o=mh.getter(mh.join(n),!0)(e);return!!(o&&r in o)};let I7=e=>Object.prototype.toString.call(e)==="[object Object]";function Byt(e,t){let n=Object.keys(e.fields);return Object.keys(t).filter(r=>n.indexOf(r)===-1)}const zyt=Ose([]);function bl(e){return new kse(e)}class kse extends cs{constructor(t){super({type:"object",check(n){return I7(n)||typeof n=="function"}}),this.fields=Object.create(null),this._sortErrors=zyt,this._nodes=[],this._excludedEdges=[],this.withMutation(()=>{t&&this.shape(t)})}_cast(t,n={}){var r;let o=super._cast(t,n);if(o===void 0)return this.getDefault(n);if(!this._typeCheck(o))return o;let i=this.fields,a=(r=n.stripUnknown)!=null?r:this.spec.noUnknown,s=[].concat(this._nodes,Object.keys(o).filter(d=>!this._nodes.includes(d))),l={},c=Object.assign({},n,{parent:l,__validating:n.__validating||!1}),u=!1;for(const d of s){let f=i[d],p=d in o;if(f){let m,g=o[d];c.path=(n.path?`${n.path}.`:"")+d,f=f.resolve({value:g,context:n.context,parent:l});let v=f instanceof cs?f.spec:void 0,w=v==null?void 0:v.strict;if(v!=null&&v.strip){u=u||d in o;continue}m=!n.__validating||!w?f.cast(o[d],c):o[d],m!==void 0&&(l[d]=m)}else p&&!a&&(l[d]=o[d]);(p!==d in l||l[d]!==o[d])&&(u=!0)}return u?l:o}_validate(t,n={},r,o){let{from:i=[],originalValue:a=t,recursive:s=this.spec.recursive}=n;n.from=[{schema:this,value:a},...i],n.__validating=!0,n.originalValue=a,super._validate(t,n,r,(l,c)=>{if(!s||!I7(c)){o(l,c);return}a=a||c;let u=[];for(let d of this._nodes){let f=this.fields[d];!f||cm.isRef(f)||u.push(f.asNestedTest({options:n,key:d,parent:c,parentPath:n.path,originalParent:a}))}this.runTests({tests:u,value:c,originalValue:a,options:n},r,d=>{o(d.sort(this._sortErrors).concat(l),c)})})}clone(t){const n=super.clone(t);return n.fields=Object.assign({},this.fields),n._nodes=this._nodes,n._excludedEdges=this._excludedEdges,n._sortErrors=this._sortErrors,n}concat(t){let n=super.concat(t),r=n.fields;for(let[o,i]of Object.entries(this.fields)){const a=r[o];r[o]=a===void 0?i:a}return n.withMutation(o=>o.setFields(r,[...this._excludedEdges,...t._excludedEdges]))}_getDefault(t){if("default"in this.spec)return super._getDefault(t);if(!this._nodes.length)return;let n={};return this._nodes.forEach(r=>{var o;const i=this.fields[r];let a=t;(o=a)!=null&&o.value&&(a=Object.assign({},a,{parent:a.value,value:a.value[r]})),n[r]=i&&"getDefault"in i?i.getDefault(a):void 0}),n}setFields(t,n){let r=this.clone();return r.fields=t,r._nodes=Fyt(t,n),r._sortErrors=Ose(Object.keys(t)),n&&(r._excludedEdges=n),r}shape(t,n=[]){return this.clone().withMutation(r=>{let o=r._excludedEdges;return n.length&&(Array.isArray(n[0])||(n=[n]),o=[...r._excludedEdges,...n]),r.setFields(Object.assign(r.fields,t),o)})}partial(){const t={};for(const[n,r]of Object.entries(this.fields))t[n]="optional"in r&&r.optional instanceof Function?r.optional():r;return this.setFields(t)}deepPartial(){return QP(this)}pick(t){const n={};for(const r of t)this.fields[r]&&(n[r]=this.fields[r]);return this.setFields(n,this._excludedEdges.filter(([r,o])=>t.includes(r)&&t.includes(o)))}omit(t){const n=[];for(const r of Object.keys(this.fields))t.includes(r)||n.push(r);return this.pick(n)}from(t,n,r){let o=mh.getter(t,!0);return this.transform(i=>{if(!i)return i;let a=i;return jyt(i,t)&&(a=Object.assign({},i),r||delete a[t],a[n]=o(i)),a})}json(){return this.transform(Ise)}noUnknown(t=!0,n=DN.noUnknown){typeof t!="boolean"&&(n=t,t=!0);let r=this.test({name:"noUnknown",exclusive:!0,message:n,test(o){if(o==null)return!0;const i=Byt(this.schema,o);return!t||i.length===0||this.createError({params:{unknown:i.join(", ")}})}});return r.spec.noUnknown=t,r}unknown(t=!0,n=DN.noUnknown){return this.noUnknown(!t,n)}transformKeys(t){return this.transform(n=>{if(!n)return n;const r={};for(const o of Object.keys(n))r[t(o)]=n[o];return r})}camelCase(){return this.transformKeys(SR.camelCase)}snakeCase(){return this.transformKeys(SR.snakeCase)}constantCase(){return this.transformKeys(t=>SR.snakeCase(t).toUpperCase())}describe(t){const n=(t?this.resolve(t):this).clone(),r=super.describe(t);r.fields={};for(const[i,a]of Object.entries(n.fields)){var o;let s=t;(o=s)!=null&&o.value&&(s=Object.assign({},s,{parent:s.value,value:s.value[i]})),r.fields[i]=a.describe(s)}return r}}bl.prototype=kse.prototype;function dz(e){return new Mse(e)}class Mse extends cs{constructor(t){super({type:"array",spec:{types:t},check(n){return Array.isArray(n)}}),this.innerType=void 0,this.innerType=t}_cast(t,n){const r=super._cast(t,n);if(!this._typeCheck(r)||!this.innerType)return r;let o=!1;const i=r.map((a,s)=>{const l=this.innerType.cast(a,Object.assign({},n,{path:`${n.path||""}[${s}]`}));return l!==a&&(o=!0),l});return o?i:r}_validate(t,n={},r,o){var i;let a=this.innerType,s=(i=n.recursive)!=null?i:this.spec.recursive;n.originalValue!=null&&n.originalValue,super._validate(t,n,r,(l,c)=>{var u;if(!s||!a||!this._typeCheck(c)){o(l,c);return}let d=new Array(c.length);for(let p=0;po(p.concat(l),c))})}clone(t){const n=super.clone(t);return n.innerType=this.innerType,n}json(){return this.transform(Ise)}concat(t){let n=super.concat(t);return n.innerType=this.innerType,t.innerType&&(n.innerType=n.innerType?n.innerType.concat(t.innerType):t.innerType),n}of(t){let n=this.clone();if(!tM(t))throw new TypeError("`array.of()` sub-schema must be a valid yup schema not: "+Du(t));return n.innerType=t,n.spec=Object.assign({},n.spec,{types:t}),n}length(t,n=XP.length){return this.test({message:n,name:"length",exclusive:!0,params:{length:t},skipAbsent:!0,test(r){return r.length===this.resolve(t)}})}min(t,n){return n=n||XP.min,this.test({message:n,name:"min",exclusive:!0,params:{min:t},skipAbsent:!0,test(r){return r.length>=this.resolve(t)}})}max(t,n){return n=n||XP.max,this.test({message:n,name:"max",exclusive:!0,params:{max:t},skipAbsent:!0,test(r){return r.length<=this.resolve(t)}})}ensure(){return this.default(()=>[]).transform((t,n)=>this._typeCheck(t)?t:n==null?[]:[].concat(n))}compact(t){let n=t?(r,o,i)=>!t(r,o,i):r=>!!r;return this.transform(r=>r!=null?r.filter(n):r)}describe(t){const n=(t?this.resolve(t):this).clone(),r=super.describe(t);if(n.innerType){var o;let i=t;(o=i)!=null&&o.value&&(i=Object.assign({},i,{parent:i.value,value:i.value[0]})),r.innerType=n.innerType.describe(i)}return r}}dz.prototype=Mse.prototype;const fz=({planId:e,entry:t,mealId:n,meals:r,closeFn:o})=>{const i=n===void 0?null:n,a=r===void 0?[]:r,[s,l]=Ue(),c=rDe(e),u=oDe(e),[d,f]=y.useState(t?It.fromJSDate(t.datetime):It.now()),[p,m]=y.useState(i),g=bl({amount:pa().required(s("forms.fieldRequired")).max(1e3,s("forms.maxValue",{value:"1000"})).min(1,s("forms.minValue",{value:"1"})),ingredient:pa().required(s("forms.fieldRequired")),datetime:a1().required(s("forms.fieldRequired"))});return C(yl,{initialValues:{datetime:new Date,amount:0,ingredient:0},validationSchema:g,onSubmit:async v=>{const w={...v,plan:e,meal:p,weight_unit:null,datetime:v.datetime.toISOString()};t?u.mutate({...w,id:t.id}):c.mutate(w),o&&o()},children:v=>C(gs,{children:Q(Gt,{spacing:2,children:[C(QB,{callback:w=>v.setFieldValue("ingredient",w==null?void 0:w.data.id)}),C(yn,{fullWidth:!0,id:"amount",label:"amount",InputProps:{endAdornment:C(po,{position:"end",children:s("nutrition.gramShort")})},error:v.touched.amount&&!!v.errors.amount,helperText:v.touched.amount&&v.errors.amount,...v.getFieldProps("amount")}),a.length>0&&C(oc,{value:p,options:a.map(w=>w.id),getOptionLabel:w=>a.find(x=>x.id===w).displayName,onChange:(w,x)=>m(x),renderInput:w=>C(yn,{label:s("nutrition.meal"),value:p,...w})}),C(YS,{dateAdapter:Kk,adapterLocale:l.language,children:C(Rut,{format:"yyyy-MM-dd HH:mm",label:s("date"),value:d,disableFuture:!0,onChange:w=>{v.setFieldValue("datetime",w==null?void 0:w.toJSDate()),f(w)},shouldDisableDate:w=>(t&&Si(t.datetime)===Si(w.toJSDate()),!1)})}),Q(Gt,{direction:"row",justifyContent:"end",spacing:2,children:[o!==void 0&&C(gt,{color:"primary",variant:"outlined",onClick:()=>o(),children:s("close")}),C(gt,{color:"primary",variant:"contained",type:"submit",children:s("submit")})]})]})})})},pz=({plan:e,closeFn:t})=>{const[n]=Ue(),r=eDe(),o=nDe(e==null?void 0:e.id),[i,a]=y.useState(e==null?void 0:e.hasAnyGoals),s=bl({description:Wc().required().max(25,n("forms.maxLength",{chars:"25"})).min(3,n("forms.minLength",{chars:"3"})),only_logging:Sse(),goal_energy:pa().notRequired().positive().max(6e3,n("forms.maxValue",{value:"6000kcal"})),goal_protein:pa().notRequired().positive().max(500,n("forms.maxValue",{value:"500"})),goal_carbohydrates:pa().notRequired().positive().max(750,n("forms.maxValue",{value:"750"})),goal_fiber:pa().notRequired().positive().max(500,n("forms.maxValue",{value:"500"})),goal_fat:pa().notRequired().positive().max(500,n("forms.maxValue",{value:"500"}))});return C(yl,{initialValues:{description:e?e.description:n("nutrition.plan"),only_logging:e?e.onlyLogging:!0,goal_energy:e?e.goalEnergy:null,goal_protein:e?e.goalProtein:null,goal_carbohydrates:e?e.goalCarbohydrates:null,goal_fiber:e?e.goalFiber:null,goal_fat:e?e.goalFat:null},validationSchema:s,onSubmit:async l=>{l.goal_energy=l.goal_energy?l.goal_energy:null,l.goal_protein=l.goal_protein?l.goal_protein:null,l.goal_carbohydrates=l.goal_carbohydrates?l.goal_carbohydrates:null,l.goal_fiber=l.goal_fiber?l.goal_fiber:null,l.goal_fat=l.goal_fat?l.goal_fat:null,e?o.mutate({...l,id:e.id}):r.mutate(l),t&&t()},children:l=>C(gs,{children:Q(Gt,{spacing:2,children:[C(yn,{fullWidth:!0,id:"description",label:n("description"),error:l.touched.description&&!!l.errors.description,helperText:l.touched.description&&l.errors.description,...l.getFieldProps("description")}),C(LI,{children:C(Uy,{label:n("nutrition.onlyLoggingHelpText"),control:C(qf,{id:"onlyLogging",checked:l.values.only_logging,...l.getFieldProps("only_logging")})})}),Q(qh,{fullWidth:!0,children:[C(Kh,{id:"demo-simple-select-label",children:"Goal Setting"}),Q(Gf,{labelId:"demo-simple-select-label",id:"demo-simple-select",value:10,label:"Goal setting",onChange:()=>{},children:[C(Yt,{value:10,children:"Based on my meals"}),C(Yt,{value:20,children:"Set basic macros"}),C(Yt,{value:30,children:"Set advanced macros"})]})]}),i&&Q(Mt,{children:[C(yn,{fullWidth:!0,id:"energy",label:n("nutrition.goalEnergy"),error:l.touched.goal_energy&&!!l.errors.goal_energy,helperText:l.touched.goal_energy&&l.errors.goal_energy,...l.getFieldProps("goal_energy"),InputProps:{endAdornment:C(po,{position:"end",children:n("nutrition.kcal")})}}),Q(Be,{container:!0,spacing:1,children:[C(Be,{size:4,children:C(yn,{id:"protein",label:n("nutrition.goalProtein"),error:l.touched.goal_protein&&!!l.errors.goal_protein,helperText:l.touched.goal_protein&&l.errors.goal_protein,...l.getFieldProps("goal_protein"),InputProps:{startAdornment:C(po,{position:"start",children:l.values.goal_protein!==null&&l.values.goal_protein!==void 0?n("nutrition.valueEnergyKcal",{value:l.values.goal_protein*ny.protein}):""}),endAdornment:C(po,{position:"end",children:n("nutrition.gramShort")})}})}),C(Be,{size:4,children:C(yn,{id:"carbohydrates",label:n("nutrition.goalCarbohydrates"),error:l.touched.goal_carbohydrates&&!!l.errors.goal_carbohydrates,helperText:l.touched.goal_carbohydrates&&l.errors.goal_carbohydrates,...l.getFieldProps("goal_carbohydrates"),InputProps:{startAdornment:C(po,{position:"start",children:l.values.goal_carbohydrates!==null&&l.values.goal_carbohydrates!==void 0?n("nutrition.valueEnergyKcal",{value:l.values.goal_carbohydrates*ny.carbohydrates}):""}),endAdornment:C(po,{position:"end",children:n("nutrition.gramShort")})}})}),C(Be,{size:4,children:C(yn,{id:"fat",label:n("nutrition.goalFat"),error:l.touched.goal_fat&&!!l.errors.goal_fat,helperText:l.touched.goal_fat&&l.errors.goal_fat,...l.getFieldProps("goal_fat"),InputProps:{startAdornment:C(po,{position:"start",children:l.values.goal_fat!==null&&l.values.goal_fat!==void 0?n("nutrition.valueEnergyKcal",{value:l.values.goal_fat*ny.fat}):""}),endAdornment:C(po,{position:"end",children:n("nutrition.gramShort")})}})})]}),C(Be,{container:!0,spacing:1,children:C(Be,{size:4,children:C(yn,{id:"fiber",label:n("nutrition.goalFiber"),error:l.touched.goal_fiber&&!!l.errors.goal_fiber,helperText:l.touched.goal_fiber&&l.errors.goal_fiber,...l.getFieldProps("goal_fiber"),InputProps:{startAdornment:C(po,{position:"start",children:n("nutrition.valueEnergyKcal",{value:0})}),endAdornment:C(po,{position:"end",children:n("nutrition.gramShort")})}})})})]}),C(Gt,{direction:"row",justifyContent:"end",sx:{mt:2},children:C(gt,{color:"primary",variant:"contained",type:"submit",sx:{mt:2},children:n("submit")})})]})})})},Ase=()=>{const[e]=Ue(),t=Q_e();return C(Mt,{children:t.isLoading?C(Po,{}):C(Mt,{children:t.data!==null?C(Vyt,{plan:t.data}):C(ej,{title:e("nutritionalPlan"),modalContent:C(pz,{}),modalTitle:e("add")})})})};function Vyt(e){const[t,n]=Ue(),[r,o]=Y.useState(!1),i=()=>o(!0),a=()=>o(!1);return Q(Mt,{children:[Q(Do,{children:[C(od,{title:t("nutritionalPlan"),subheader:e.plan.description}),Q(xa,{sx:{height:"500px",overflow:"auto"},children:[C(wot,{percentage:e.plan.percentageValuesLoggedToday,planned:e.plan.plannedNutritionalValues,logged:e.plan.loggedNutritionalValuesToday}),C(pl,{children:e.plan.meals.map(s=>C(Hyt,{meal:s,planId:e.plan.id},s.id))})]}),Q(hs,{sx:{justifyContent:"space-between",alignItems:"flex-start"},children:[C(gt,{size:"small",href:Tn(Sn.NUTRITION_DETAIL,n.language,{id:e.plan.id}),children:t("seeDetails")}),C(ac,{title:t("nutrition.logThisMealItem"),children:C(kn,{onClick:i,children:C(AS,{})})})]})]}),C(ta,{title:t("nutrition.addNutritionalDiary"),isOpen:r,closeFn:a,children:C(fz,{closeFn:a,planId:e.plan.id,meals:e.plan.meals})})]})}const Hyt=e=>{const[t,n]=Ue(),r=Tee(e.planId),[o,i]=y.useState(!1),[a,s]=Y.useState(!1),l=()=>i(!o),c=(p,m)=>{m!=="clickaway"&&s(!1)},u=p=>{const m=[{plan:e.planId,meal:e.meal.id,mealItem:p.id,ingredient:p.ingredientId,weight_unit:p.weightUnitId,datetime:new Date().toISOString(),amount:p.amount}];r.mutate(m),s(!0)},d=e.meal.name?e.meal.name:YT(e.meal.time,n.language),f=e.meal.name?YT(e.meal.time,n.language):null;return Q(Mt,{children:[Q(Wf,{onClick:l,selected:o,children:[C(Gi,{children:o?C(UZ,{}):C(zv,{})}),C(wo,{primary:d,secondary:f})]}),C(Zs,{in:o,timeout:"auto",unmountOnExit:!0,children:C(pl,{children:e.meal.items.map(p=>{var m,g,v,w;return Q(ls,{secondaryAction:C(ac,{title:t("nutrition.logThisMealItem"),children:C(kn,{edge:"end",onClick:()=>u(p),children:C(AS,{})})}),children:[C(XF,{children:C(ic,{alt:(m=p.ingredient)==null?void 0:m.name,src:(v=(g=p.ingredient)==null?void 0:g.image)==null?void 0:v.url,sx:{width:45,height:45},children:C(id,{})})}),C(wo,{primary:(w=p.ingredient)==null?void 0:w.name,secondary:xn(p.amount,n.language)})]},p.id)})})}),C(_Z,{open:a,autoHideDuration:bee,onClose:c,children:C(qu,{onClose:c,severity:"success",sx:{width:"100%"},children:t("nutrition.diaryEntrySaved")})})]})},Ji=lt($.jsx("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z"}),"Add"),$se=lt($.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m5 11h-4v4h-2v-4H7v-2h4V7h2v4h4z"}),"AddCircle"),Uyt=lt($.jsx("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown"),Wyt=lt($.jsx("path",{d:"M6.23 20.23 8 22l10-10L8 2 6.23 3.77 14.46 12z"}),"ArrowForwardIos"),Gyt=lt($.jsx("path",{d:"m19 8-4 4h3c0 3.31-2.69 6-6 6-1.01 0-1.97-.25-2.8-.7l-1.46 1.46C8.97 19.54 10.43 20 12 20c4.42 0 8-3.58 8-8h3zM6 12c0-3.31 2.69-6 6-6 1.01 0 1.97.25 2.8.7l1.46-1.46C15.03 4.46 13.57 4 12 4c-4.42 0-8 3.58-8 8H1l4 4 4-4z"}),"Cached"),qyt=lt([$.jsx("circle",{cx:"12",cy:"12",r:"3.2"},"0"),$.jsx("path",{d:"M9 2 7.17 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2h-3.17L15 2zm3 15c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5"},"1")],"CameraAlt"),Rse=lt($.jsx("path",{d:"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"ChevronRight"),Kyt=lt($.jsx("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Clear"),Yyt=lt($.jsx("path",{d:"M22 16V4c0-1.1-.9-2-2-2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2m-11-4 2.03 2.71L16 11l4 5H8zM2 6v14c0 1.1.9 2 2 2h14v-2H4V6z"}),"Collections"),Xyt=lt($.jsx("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2m0 16H8V7h11z"}),"ContentCopy"),hz=lt($.jsx("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z"}),"Delete"),Qyt=lt($.jsx("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM8 9h8v10H8zm7.5-5-1-1h-5l-1 1H5v2h14V4z"}),"DeleteOutline"),Jyt=lt($.jsx("path",{d:"M16 9v10H8V9zm-1.5-6h-5l-1 1H5v2h14V4h-3.5zM18 7H6v12c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2z"}),"DeleteOutlined"),_se=lt($.jsx("path",{d:"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.996.996 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z"}),"Edit"),Zyt=lt($.jsx("path",{d:"M4.25 5.61C6.27 8.2 10 13 10 13v6c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-6s3.72-4.8 5.74-7.39c.51-.66.04-1.61-.79-1.61H5.04c-.83 0-1.3.95-.79 1.61"}),"FilterAlt"),Dse=lt($.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-6h2zm0-8h-2V7h2z"}),"Info"),Nse=lt($.jsx("path",{d:"M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8"}),"InfoOutlined"),evt=lt($.jsx("path",{d:"m14 6-3.75 5 2.85 3.8-1.6 1.2C9.81 13.75 7 10 7 10l-6 8h22z"}),"Landscape"),tvt=lt($.jsx("path",{d:"m14 6-4.22 5.63 1.25 1.67L14 9.33 19 16h-8.46l-4.01-5.37L1 18h22zM5 16l1.52-2.03L8.04 16z"}),"LandscapeOutlined"),nvt=lt([$.jsx("path",{d:"M5 16h3.04l-1.52-2.03z",opacity:".3"},"0"),$.jsx("path",{d:"m9.78 11.63 1.25 1.67L14 9.33 19 16h-8.46l-4.01-5.37L1 18h22L14 6zM5 16l1.52-2.03L8.04 16z"},"1")],"LandscapeTwoTone"),rvt=lt($.jsx("path",{d:"M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2"}),"MoreHoriz"),l1=lt($.jsx("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2"}),"MoreVert"),ovt=lt($.jsx("path",{d:"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"NavigateNext"),ivt=lt([$.jsx("circle",{cx:"12",cy:"12",r:"3.2"},"0"),$.jsx("path",{d:"M9 2 7.17 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2h-3.17L15 2zm3 15c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5"},"1")],"PhotoCamera"),avt=lt($.jsx("path",{d:"M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16c1.05-3.19 4.05-5.5 7.6-5.5 1.95 0 3.73.72 5.12 1.88L13 16h9V7z"}),"Redo"),svt=lt($.jsx("path",{d:"M17 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V7zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3m3-10H5V5h10z"}),"Save"),Lse=lt($.jsx("path",{d:"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6"}),"Settings"),lvt=e=>{var r;const t=e.avatarSize||40,n=e.iconSize||40;return C(ic,{sx:{height:t,width:t},src:(r=e.image)==null?void 0:r.url,children:C(id,{sx:{height:n,width:n}})})};function Fse(e){return Co({queryKey:[P_e,e],queryFn:()=>gNe(e)})}function cvt(e,t=!1){return Co({queryKey:[O_e,e,t],queryFn:()=>vNe(e,t)})}function uvt(){return Co({queryKey:[T_e],queryFn:()=>yNe()})}function dvt(){return Co({queryKey:[E_e],queryFn:mNe})}/** + * @remix-run/router v1.21.0 * * Copyright (c) Remix Software Inc. * @@ -354,8 +368,8 @@ attempted value: ${a} * LICENSE.md file in the root directory of this source tree. * * @license MIT - */function oy(){return oy=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u")throw new Error(t)}function VQ(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function iet(){return Math.random().toString(36).substr(2,8)}function o4(e,t){return{usr:e.state,key:e.key,idx:t}}function FI(e,t,n,r){return n===void 0&&(n=null),oy({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?Qh(t):t,{state:n,key:t&&t.key||r||iet()})}function Zw(e){let{pathname:t="/",search:n="",hash:r=""}=e;return n&&n!=="?"&&(t+=n.charAt(0)==="?"?n:"?"+n),r&&r!=="#"&&(t+=r.charAt(0)==="#"?r:"#"+r),t}function Qh(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function aet(e,t,n,r){r===void 0&&(r={});let{window:o=document.defaultView,v5Compat:i=!1}=r,a=o.history,s=dc.Pop,l=null,c=u();c==null&&(c=0,a.replaceState(oy({},a.state,{idx:c}),""));function u(){return(a.state||{idx:null}).idx}function d(){s=dc.Pop;let v=u(),b=v==null?null:v-c;c=v,l&&l({action:s,location:m.location,delta:b})}function f(v,b){s=dc.Push;let y=FI(m.location,v,b);c=u()+1;let w=o4(y,c),C=m.createHref(y);try{a.pushState(w,"",C)}catch(O){if(O instanceof DOMException&&O.name==="DataCloneError")throw O;o.location.assign(C)}i&&l&&l({action:s,location:m.location,delta:1})}function p(v,b){s=dc.Replace;let y=FI(m.location,v,b);c=u();let w=o4(y,c),C=m.createHref(y);a.replaceState(w,"",C),i&&l&&l({action:s,location:m.location,delta:0})}function h(v){let b=o.location.origin!=="null"?o.location.origin:o.location.href,y=typeof v=="string"?v:Zw(v);return y=y.replace(/ $/,"%20"),sr(b,"No window.location.(origin|href) available to create URL for href: "+y),new URL(y,b)}let m={get action(){return s},get location(){return e(o,a)},listen(v){if(l)throw new Error("A history only accepts one active listener");return o.addEventListener(r4,d),l=v,()=>{o.removeEventListener(r4,d),l=null}},createHref(v){return t(o,v)},createURL:h,encodeLocation(v){let b=h(v);return{pathname:b.pathname,search:b.search,hash:b.hash}},push:f,replace:p,go(v){return a.go(v)}};return m}var i4;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(i4||(i4={}));function set(e,t,n){return n===void 0&&(n="/"),cet(e,t,n,!1)}function cet(e,t,n,r){let o=typeof t=="string"?Qh(t):t,i=R_(o.pathname||"/",n);if(i==null)return null;let a=HQ(e);uet(a);let s=null;for(let l=0;s==null&&l{let l={relativePath:s===void 0?i.path||"":s,caseSensitive:i.caseSensitive===!0,childrenIndex:a,route:i};l.relativePath.startsWith("/")&&(sr(l.relativePath.startsWith(r),'Absolute route path "'+l.relativePath+'" nested under path '+('"'+r+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),l.relativePath=l.relativePath.slice(r.length));let c=Pc([r,l.relativePath]),u=n.concat(l);i.children&&i.children.length>0&&(sr(i.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+c+'".')),HQ(i.children,t,u,c)),!(i.path==null&&!i.index)&&t.push({path:c,score:vet(c,i.index),routesMeta:u})};return e.forEach((i,a)=>{var s;if(i.path===""||!((s=i.path)!=null&&s.includes("?")))o(i,a);else for(let l of UQ(i.path))o(i,a,l)}),t}function UQ(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,o=n.endsWith("?"),i=n.replace(/\?$/,"");if(r.length===0)return o?[i,""]:[i];let a=UQ(r.join("/")),s=[];return s.push(...a.map(l=>l===""?i:[i,l].join("/"))),o&&s.push(...a),s.map(l=>e.startsWith("/")&&l===""?"/":l)}function uet(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:yet(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}const det=/^:[\w-]+$/,fet=3,pet=2,het=1,met=10,get=-2,a4=e=>e==="*";function vet(e,t){let n=e.split("/"),r=n.length;return n.some(a4)&&(r+=get),t&&(r+=pet),n.filter(o=>!a4(o)).reduce((o,i)=>o+(det.test(i)?fet:i===""?het:met),r)}function yet(e,t){return e.length===t.length&&e.slice(0,-1).every((r,o)=>r===t[o])?e[e.length-1]-t[t.length-1]:0}function bet(e,t,n){let{routesMeta:r}=e,o={},i="/",a=[];for(let s=0;s{let{paramName:f,isOptional:p}=u;if(f==="*"){let m=s[d]||"";a=i.slice(0,i.length-m.length).replace(/(.)\/+$/,"$1")}const h=s[d];return p&&!h?c[f]=void 0:c[f]=(h||"").replace(/%2F/g,"/"),c},{}),pathname:i,pathnameBase:a,pattern:e}}function xet(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!0),VQ(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let r=[],o="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(a,s,l)=>(r.push({paramName:s,isOptional:l!=null}),l?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),o+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?o+="\\/*$":e!==""&&e!=="/"&&(o+="(?:(?=\\/|$))"),[new RegExp(o,t?void 0:"i"),r]}function wet(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return VQ(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function R_(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&r!=="/"?null:e.slice(n)||"/"}function Cet(e,t){t===void 0&&(t="/");let{pathname:n,search:r="",hash:o=""}=typeof e=="string"?Qh(e):e;return{pathname:n?n.startsWith("/")?n:Pet(n,t):t,search:Tet(r),hash:ket(o)}}function Pet(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(o=>{o===".."?n.length>1&&n.pop():o!=="."&&n.push(o)}),n.length>1?n.join("/"):"/"}function eO(e,t,n,r){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(r)+"]. Please separate it out to the ")+("`to."+n+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}function Eet(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function WQ(e,t){let n=Eet(e);return t?n.map((r,o)=>o===n.length-1?r.pathname:r.pathnameBase):n.map(r=>r.pathnameBase)}function GQ(e,t,n,r){r===void 0&&(r=!1);let o;typeof e=="string"?o=Qh(e):(o=oy({},e),sr(!o.pathname||!o.pathname.includes("?"),eO("?","pathname","search",o)),sr(!o.pathname||!o.pathname.includes("#"),eO("#","pathname","hash",o)),sr(!o.search||!o.search.includes("#"),eO("#","search","hash",o)));let i=e===""||o.pathname==="",a=i?"/":o.pathname,s;if(a==null)s=n;else{let d=t.length-1;if(!r&&a.startsWith("..")){let f=a.split("/");for(;f[0]==="..";)f.shift(),d-=1;o.pathname=f.join("/")}s=d>=0?t[d]:"/"}let l=Cet(o,s),c=a&&a!=="/"&&a.endsWith("/"),u=(i||a===".")&&n.endsWith("/");return!l.pathname.endsWith("/")&&(c||u)&&(l.pathname+="/"),l}const Pc=e=>e.join("/").replace(/\/\/+/g,"/"),Oet=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),Tet=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,ket=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function Iet(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const qQ=["post","put","patch","delete"];new Set(qQ);const $et=["get",...qQ];new Set($et);/** - * React Router v6.25.1 + */function Yx(){return Yx=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u")throw new Error(t)}function jse(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function pvt(){return Math.random().toString(36).substr(2,8)}function M7(e,t){return{usr:e.state,key:e.key,idx:t}}function LN(e,t,n,r){return n===void 0&&(n=null),Yx({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?xb(t):t,{state:n,key:t&&t.key||r||pvt()})}function dO(e){let{pathname:t="/",search:n="",hash:r=""}=e;return n&&n!=="?"&&(t+=n.charAt(0)==="?"?n:"?"+n),r&&r!=="#"&&(t+=r.charAt(0)==="#"?r:"#"+r),t}function xb(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function hvt(e,t,n,r){r===void 0&&(r={});let{window:o=document.defaultView,v5Compat:i=!1}=r,a=o.history,s=cf.Pop,l=null,c=u();c==null&&(c=0,a.replaceState(Yx({},a.state,{idx:c}),""));function u(){return(a.state||{idx:null}).idx}function d(){s=cf.Pop;let v=u(),w=v==null?null:v-c;c=v,l&&l({action:s,location:g.location,delta:w})}function f(v,w){s=cf.Push;let x=LN(g.location,v,w);c=u()+1;let S=M7(x,c),P=g.createHref(x);try{a.pushState(S,"",P)}catch(T){if(T instanceof DOMException&&T.name==="DataCloneError")throw T;o.location.assign(P)}i&&l&&l({action:s,location:g.location,delta:1})}function p(v,w){s=cf.Replace;let x=LN(g.location,v,w);c=u();let S=M7(x,c),P=g.createHref(x);a.replaceState(S,"",P),i&&l&&l({action:s,location:g.location,delta:0})}function m(v){let w=o.location.origin!=="null"?o.location.origin:o.location.href,x=typeof v=="string"?v:dO(v);return x=x.replace(/ $/,"%20"),So(w,"No window.location.(origin|href) available to create URL for href: "+x),new URL(x,w)}let g={get action(){return s},get location(){return e(o,a)},listen(v){if(l)throw new Error("A history only accepts one active listener");return o.addEventListener(k7,d),l=v,()=>{o.removeEventListener(k7,d),l=null}},createHref(v){return t(o,v)},createURL:m,encodeLocation(v){let w=m(v);return{pathname:w.pathname,search:w.search,hash:w.hash}},push:f,replace:p,go(v){return a.go(v)}};return g}var A7;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(A7||(A7={}));function mvt(e,t,n){return n===void 0&&(n="/"),gvt(e,t,n,!1)}function gvt(e,t,n,r){let o=typeof t=="string"?xb(t):t,i=mz(o.pathname||"/",n);if(i==null)return null;let a=Bse(e);yvt(a);let s=null;for(let l=0;s==null&&l{let l={relativePath:s===void 0?i.path||"":s,caseSensitive:i.caseSensitive===!0,childrenIndex:a,route:i};l.relativePath.startsWith("/")&&(So(l.relativePath.startsWith(r),'Absolute route path "'+l.relativePath+'" nested under path '+('"'+r+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),l.relativePath=l.relativePath.slice(r.length));let c=Sf([r,l.relativePath]),u=n.concat(l);i.children&&i.children.length>0&&(So(i.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+c+'".')),Bse(i.children,t,u,c)),!(i.path==null&&!i.index)&&t.push({path:c,score:Pvt(c,i.index),routesMeta:u})};return e.forEach((i,a)=>{var s;if(i.path===""||!((s=i.path)!=null&&s.includes("?")))o(i,a);else for(let l of zse(i.path))o(i,a,l)}),t}function zse(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,o=n.endsWith("?"),i=n.replace(/\?$/,"");if(r.length===0)return o?[i,""]:[i];let a=zse(r.join("/")),s=[];return s.push(...a.map(l=>l===""?i:[i,l].join("/"))),o&&s.push(...a),s.map(l=>e.startsWith("/")&&l===""?"/":l)}function yvt(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:Tvt(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}const vvt=/^:[\w-]+$/,bvt=3,wvt=2,xvt=1,Svt=10,Cvt=-2,$7=e=>e==="*";function Pvt(e,t){let n=e.split("/"),r=n.length;return n.some($7)&&(r+=Cvt),t&&(r+=wvt),n.filter(o=>!$7(o)).reduce((o,i)=>o+(vvt.test(i)?bvt:i===""?xvt:Svt),r)}function Tvt(e,t){return e.length===t.length&&e.slice(0,-1).every((r,o)=>r===t[o])?e[e.length-1]-t[t.length-1]:0}function Evt(e,t,n){let{routesMeta:r}=e,o={},i="/",a=[];for(let s=0;s{let{paramName:f,isOptional:p}=u;if(f==="*"){let g=s[d]||"";a=i.slice(0,i.length-g.length).replace(/(.)\/+$/,"$1")}const m=s[d];return p&&!m?c[f]=void 0:c[f]=(m||"").replace(/%2F/g,"/"),c},{}),pathname:i,pathnameBase:a,pattern:e}}function Ovt(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!0),jse(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let r=[],o="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(a,s,l)=>(r.push({paramName:s,isOptional:l!=null}),l?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),o+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?o+="\\/*$":e!==""&&e!=="/"&&(o+="(?:(?=\\/|$))"),[new RegExp(o,t?void 0:"i"),r]}function Ivt(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return jse(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function mz(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&r!=="/"?null:e.slice(n)||"/"}function kvt(e,t){t===void 0&&(t="/");let{pathname:n,search:r="",hash:o=""}=typeof e=="string"?xb(e):e;return{pathname:n?n.startsWith("/")?n:Mvt(n,t):t,search:Rvt(r),hash:_vt(o)}}function Mvt(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(o=>{o===".."?n.length>1&&n.pop():o!=="."&&n.push(o)}),n.length>1?n.join("/"):"/"}function CR(e,t,n,r){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(r)+"]. Please separate it out to the ")+("`to."+n+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}function Avt(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function Vse(e,t){let n=Avt(e);return t?n.map((r,o)=>o===n.length-1?r.pathname:r.pathnameBase):n.map(r=>r.pathnameBase)}function Hse(e,t,n,r){r===void 0&&(r=!1);let o;typeof e=="string"?o=xb(e):(o=Yx({},e),So(!o.pathname||!o.pathname.includes("?"),CR("?","pathname","search",o)),So(!o.pathname||!o.pathname.includes("#"),CR("#","pathname","hash",o)),So(!o.search||!o.search.includes("#"),CR("#","search","hash",o)));let i=e===""||o.pathname==="",a=i?"/":o.pathname,s;if(a==null)s=n;else{let d=t.length-1;if(!r&&a.startsWith("..")){let f=a.split("/");for(;f[0]==="..";)f.shift(),d-=1;o.pathname=f.join("/")}s=d>=0?t[d]:"/"}let l=kvt(o,s),c=a&&a!=="/"&&a.endsWith("/"),u=(i||a===".")&&n.endsWith("/");return!l.pathname.endsWith("/")&&(c||u)&&(l.pathname+="/"),l}const Sf=e=>e.join("/").replace(/\/\/+/g,"/"),$vt=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),Rvt=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,_vt=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function Dvt(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const Use=["post","put","patch","delete"];new Set(Use);const Nvt=["get",...Use];new Set(Nvt);/** + * React Router v6.28.0 * * Copyright (c) Remix Software Inc. * @@ -363,8 +377,8 @@ attempted value: ${a} * LICENSE.md file in the root directory of this source tree. * * @license MIT - */function iy(){return iy=Object.assign?Object.assign.bind():function(e){for(var t=1;t{s.current=!0}),g.useCallback(function(c,u){if(u===void 0&&(u={}),!s.current)return;if(typeof c=="number"){r.go(c);return}let d=GQ(c,JSON.parse(a),i,u.relative==="path");e==null&&t!=="/"&&(d.pathname=d.pathname==="/"?t:Pc([t,d.pathname])),(u.replace?r.replace:r.push)(d,u.state,u)},[t,r,a,i,e])}function _d(){let{matches:e}=g.useContext(Qc),t=e[e.length-1];return t?t.params:{}}function QQ(e,t){let{relative:n}=t===void 0?{}:t,{future:r}=g.useContext(Ad),{matches:o}=g.useContext(Qc),{pathname:i}=XS(),a=JSON.stringify(WQ(o,r.v7_relativeSplatPath));return g.useMemo(()=>GQ(e,JSON.parse(a),i,n==="path"),[e,a,i,n])}function _et(e,t){return Det(e,t)}function Det(e,t,n,r){ab()||sr(!1);let{navigator:o}=g.useContext(Ad),{matches:i}=g.useContext(Qc),a=i[i.length-1],s=a?a.params:{};a&&a.pathname;let l=a?a.pathnameBase:"/";a&&a.route;let c=XS(),u;if(t){var d;let v=typeof t=="string"?Qh(t):t;l==="/"||(d=v.pathname)!=null&&d.startsWith(l)||sr(!1),u=v}else u=c;let f=u.pathname||"/",p=f;if(l!=="/"){let v=l.replace(/^\//,"").split("/");p="/"+f.replace(/^\//,"").split("/").slice(v.length).join("/")}let h=set(e,{pathname:p}),m=Bet(h&&h.map(v=>Object.assign({},v,{params:Object.assign({},s,v.params),pathname:Pc([l,o.encodeLocation?o.encodeLocation(v.pathname).pathname:v.pathname]),pathnameBase:v.pathnameBase==="/"?l:Pc([l,o.encodeLocation?o.encodeLocation(v.pathnameBase).pathname:v.pathnameBase])})),i,n,r);return t&&m?g.createElement(QS.Provider,{value:{location:iy({pathname:"/",search:"",hash:"",state:null,key:"default"},u),navigationType:dc.Pop}},m):m}function Net(){let e=Uet(),t=Iet(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,o={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return g.createElement(g.Fragment,null,g.createElement("h2",null,"Unexpected Application Error!"),g.createElement("h3",{style:{fontStyle:"italic"}},t),n?g.createElement("pre",{style:o},n):null,null)}const Let=g.createElement(Net,null);class jet extends g.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,n){return n.location!==t.location||n.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:n.error,location:n.location,revalidation:t.revalidation||n.revalidation}}componentDidCatch(t,n){console.error("React Router caught the following error during render",t,n)}render(){return this.state.error!==void 0?g.createElement(Qc.Provider,{value:this.props.routeContext},g.createElement(KQ.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function Fet(e){let{routeContext:t,match:n,children:r}=e,o=g.useContext(__);return o&&o.static&&o.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(o.staticContext._deepestRenderedBoundaryId=n.route.id),g.createElement(Qc.Provider,{value:t},r)}function Bet(e,t,n,r){var o;if(t===void 0&&(t=[]),n===void 0&&(n=null),r===void 0&&(r=null),e==null){var i;if((i=n)!=null&&i.errors)e=n.matches;else return null}let a=e,s=(o=n)==null?void 0:o.errors;if(s!=null){let u=a.findIndex(d=>d.route.id&&(s==null?void 0:s[d.route.id])!==void 0);u>=0||sr(!1),a=a.slice(0,Math.min(a.length,u+1))}let l=!1,c=-1;if(n&&r&&r.v7_partialHydration)for(let u=0;u=0?a=a.slice(0,c+1):a=[a[0]];break}}}return a.reduceRight((u,d,f)=>{let p,h=!1,m=null,v=null;n&&(p=s&&d.route.id?s[d.route.id]:void 0,m=d.route.errorElement||Let,l&&(c<0&&f===0?(h=!0,v=null):c===f&&(h=!0,v=d.route.hydrateFallbackElement||null)));let b=t.concat(a.slice(0,f+1)),y=()=>{let w;return p?w=m:h?w=v:d.route.Component?w=g.createElement(d.route.Component,null):d.route.element?w=d.route.element:w=u,g.createElement(Fet,{match:d,routeContext:{outlet:u,matches:b,isDataRoute:n!=null},children:w})};return n&&(d.route.ErrorBoundary||d.route.errorElement||f===0)?g.createElement(jet,{location:n.location,revalidation:n.revalidation,component:m,error:p,children:y(),routeContext:{outlet:null,matches:b,isDataRoute:!0}}):y()},null)}var XQ=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(XQ||{}),e1=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(e1||{});function zet(e){let t=g.useContext(__);return t||sr(!1),t}function Vet(e){let t=g.useContext(Met);return t||sr(!1),t}function Het(e){let t=g.useContext(Qc);return t||sr(!1),t}function JQ(e){let t=Het(),n=t.matches[t.matches.length-1];return n.route.id||sr(!1),n.route.id}function Uet(){var e;let t=g.useContext(KQ),n=Vet(e1.UseRouteError),r=JQ(e1.UseRouteError);return t!==void 0?t:(e=n.errors)==null?void 0:e[r]}function Wet(){let{router:e}=zet(XQ.UseNavigateStable),t=JQ(e1.UseNavigateStable),n=g.useRef(!1);return YQ(()=>{n.current=!0}),g.useCallback(function(o,i){i===void 0&&(i={}),n.current&&(typeof o=="number"?e.navigate(o):e.navigate(o,iy({fromRouteId:t},i)))},[e,t])}function at(e){sr(!1)}function Get(e){let{basename:t="/",children:n=null,location:r,navigationType:o=dc.Pop,navigator:i,static:a=!1,future:s}=e;ab()&&sr(!1);let l=t.replace(/^\/*/,"/"),c=g.useMemo(()=>({basename:l,navigator:i,static:a,future:iy({v7_relativeSplatPath:!1},s)}),[l,s,i,a]);typeof r=="string"&&(r=Qh(r));let{pathname:u="/",search:d="",hash:f="",state:p=null,key:h="default"}=r,m=g.useMemo(()=>{let v=R_(u,l);return v==null?null:{location:{pathname:v,search:d,hash:f,state:p,key:h},navigationType:o}},[l,u,d,f,p,h,o]);return m==null?null:g.createElement(Ad.Provider,{value:c},g.createElement(QS.Provider,{children:n,value:m}))}function qet(e){let{children:t,location:n}=e;return _et(BI(t),n)}new Promise(()=>{});function BI(e,t){t===void 0&&(t=[]);let n=[];return g.Children.forEach(e,(r,o)=>{if(!g.isValidElement(r))return;let i=[...t,o];if(r.type===g.Fragment){n.push.apply(n,BI(r.props.children,i));return}r.type!==at&&sr(!1),!r.props.index||!r.props.children||sr(!1);let a={id:r.props.id||i.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,loader:r.props.loader,action:r.props.action,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(a.children=BI(r.props.children,i)),n.push(a)}),n}/** - * React Router DOM v6.25.1 + */function Xx(){return Xx=Object.assign?Object.assign.bind():function(e){for(var t=1;t{s.current=!0}),y.useCallback(function(c,u){if(u===void 0&&(u={}),!s.current)return;if(typeof c=="number"){r.go(c);return}let d=Hse(c,JSON.parse(a),i,u.relative==="path");e==null&&t!=="/"&&(d.pathname=d.pathname==="/"?t:Sf([t,d.pathname])),(u.replace?r.replace:r.push)(d,u.state,u)},[t,r,a,i,e])}function fm(){let{matches:e}=y.useContext(np),t=e[e.length-1];return t?t.params:{}}function qse(e,t){let{relative:n}=t===void 0?{}:t,{future:r}=y.useContext(um),{matches:o}=y.useContext(np),{pathname:i}=rM(),a=JSON.stringify(Vse(o,r.v7_relativeSplatPath));return y.useMemo(()=>Hse(e,JSON.parse(a),i,n==="path"),[e,a,i,n])}function Bvt(e,t){return zvt(e,t)}function zvt(e,t,n,r){c1()||So(!1);let{navigator:o}=y.useContext(um),{matches:i}=y.useContext(np),a=i[i.length-1],s=a?a.params:{};a&&a.pathname;let l=a?a.pathnameBase:"/";a&&a.route;let c=rM(),u;if(t){var d;let v=typeof t=="string"?xb(t):t;l==="/"||(d=v.pathname)!=null&&d.startsWith(l)||So(!1),u=v}else u=c;let f=u.pathname||"/",p=f;if(l!=="/"){let v=l.replace(/^\//,"").split("/");p="/"+f.replace(/^\//,"").split("/").slice(v.length).join("/")}let m=mvt(e,{pathname:p}),g=Gvt(m&&m.map(v=>Object.assign({},v,{params:Object.assign({},s,v.params),pathname:Sf([l,o.encodeLocation?o.encodeLocation(v.pathname).pathname:v.pathname]),pathnameBase:v.pathnameBase==="/"?l:Sf([l,o.encodeLocation?o.encodeLocation(v.pathnameBase).pathname:v.pathnameBase])})),i,n,r);return t&&g?y.createElement(nM.Provider,{value:{location:Xx({pathname:"/",search:"",hash:"",state:null,key:"default"},u),navigationType:cf.Pop}},g):g}function Vvt(){let e=Xvt(),t=Dvt(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,o={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return y.createElement(y.Fragment,null,y.createElement("h2",null,"Unexpected Application Error!"),y.createElement("h3",{style:{fontStyle:"italic"}},t),n?y.createElement("pre",{style:o},n):null,null)}const Hvt=y.createElement(Vvt,null);class Uvt extends y.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,n){return n.location!==t.location||n.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:n.error,location:n.location,revalidation:t.revalidation||n.revalidation}}componentDidCatch(t,n){console.error("React Router caught the following error during render",t,n)}render(){return this.state.error!==void 0?y.createElement(np.Provider,{value:this.props.routeContext},y.createElement(Wse.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function Wvt(e){let{routeContext:t,match:n,children:r}=e,o=y.useContext(gz);return o&&o.static&&o.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(o.staticContext._deepestRenderedBoundaryId=n.route.id),y.createElement(np.Provider,{value:t},r)}function Gvt(e,t,n,r){var o;if(t===void 0&&(t=[]),n===void 0&&(n=null),r===void 0&&(r=null),e==null){var i;if(!n)return null;if(n.errors)e=n.matches;else if((i=r)!=null&&i.v7_partialHydration&&t.length===0&&!n.initialized&&n.matches.length>0)e=n.matches;else return null}let a=e,s=(o=n)==null?void 0:o.errors;if(s!=null){let u=a.findIndex(d=>d.route.id&&(s==null?void 0:s[d.route.id])!==void 0);u>=0||So(!1),a=a.slice(0,Math.min(a.length,u+1))}let l=!1,c=-1;if(n&&r&&r.v7_partialHydration)for(let u=0;u=0?a=a.slice(0,c+1):a=[a[0]];break}}}return a.reduceRight((u,d,f)=>{let p,m=!1,g=null,v=null;n&&(p=s&&d.route.id?s[d.route.id]:void 0,g=d.route.errorElement||Hvt,l&&(c<0&&f===0?(m=!0,v=null):c===f&&(m=!0,v=d.route.hydrateFallbackElement||null)));let w=t.concat(a.slice(0,f+1)),x=()=>{let S;return p?S=g:m?S=v:d.route.Component?S=y.createElement(d.route.Component,null):d.route.element?S=d.route.element:S=u,y.createElement(Wvt,{match:d,routeContext:{outlet:u,matches:w,isDataRoute:n!=null},children:S})};return n&&(d.route.ErrorBoundary||d.route.errorElement||f===0)?y.createElement(Uvt,{location:n.location,revalidation:n.revalidation,component:g,error:p,children:x(),routeContext:{outlet:null,matches:w,isDataRoute:!0}}):x()},null)}var Kse=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(Kse||{}),fO=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(fO||{});function qvt(e){let t=y.useContext(gz);return t||So(!1),t}function Kvt(e){let t=y.useContext(Lvt);return t||So(!1),t}function Yvt(e){let t=y.useContext(np);return t||So(!1),t}function Yse(e){let t=Yvt(),n=t.matches[t.matches.length-1];return n.route.id||So(!1),n.route.id}function Xvt(){var e;let t=y.useContext(Wse),n=Kvt(fO.UseRouteError),r=Yse(fO.UseRouteError);return t!==void 0?t:(e=n.errors)==null?void 0:e[r]}function Qvt(){let{router:e}=qvt(Kse.UseNavigateStable),t=Yse(fO.UseNavigateStable),n=y.useRef(!1);return Gse(()=>{n.current=!0}),y.useCallback(function(o,i){i===void 0&&(i={}),n.current&&(typeof o=="number"?e.navigate(o):e.navigate(o,Xx({fromRouteId:t},i)))},[e,t])}const _7={};function Jvt(e,t){_7[t]||(_7[t]=!0,console.warn(t))}const D7=(e,t,n)=>Jvt(e,"⚠️ React Router Future Flag Warning: "+t+". "+("You can use the `"+e+"` future flag to opt-in early. ")+("For more information, see "+n+"."));function Zvt(e,t){e!=null&&e.v7_startTransition||D7("v7_startTransition","React Router will begin wrapping state updates in `React.startTransition` in v7","https://reactrouter.com/v6/upgrading/future#v7_starttransition"),!(e!=null&&e.v7_relativeSplatPath)&&!t&&D7("v7_relativeSplatPath","Relative route resolution within Splat routes is changing in v7","https://reactrouter.com/v6/upgrading/future#v7_relativesplatpath")}function Nt(e){So(!1)}function ebt(e){let{basename:t="/",children:n=null,location:r,navigationType:o=cf.Pop,navigator:i,static:a=!1,future:s}=e;c1()&&So(!1);let l=t.replace(/^\/*/,"/"),c=y.useMemo(()=>({basename:l,navigator:i,static:a,future:Xx({v7_relativeSplatPath:!1},s)}),[l,s,i,a]);typeof r=="string"&&(r=xb(r));let{pathname:u="/",search:d="",hash:f="",state:p=null,key:m="default"}=r,g=y.useMemo(()=>{let v=mz(u,l);return v==null?null:{location:{pathname:v,search:d,hash:f,state:p,key:m},navigationType:o}},[l,u,d,f,p,m,o]);return g==null?null:y.createElement(um.Provider,{value:c},y.createElement(nM.Provider,{children:n,value:g}))}function tbt(e){let{children:t,location:n}=e;return Bvt(FN(t),n)}new Promise(()=>{});function FN(e,t){t===void 0&&(t=[]);let n=[];return y.Children.forEach(e,(r,o)=>{if(!y.isValidElement(r))return;let i=[...t,o];if(r.type===y.Fragment){n.push.apply(n,FN(r.props.children,i));return}r.type!==Nt&&So(!1),!r.props.index||!r.props.children||So(!1);let a={id:r.props.id||i.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,loader:r.props.loader,action:r.props.action,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(a.children=FN(r.props.children,i)),n.push(a)}),n}/** + * React Router DOM v6.28.0 * * Copyright (c) Remix Software Inc. * @@ -372,50 +386,79 @@ attempted value: ${a} * LICENSE.md file in the root directory of this source tree. * * @license MIT - */function zI(){return zI=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&(n[o]=e[o]);return n}function Yet(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function Qet(e,t){return e.button===0&&(!t||t==="_self")&&!Yet(e)}const Xet=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","unstable_viewTransition"],Jet="6";try{window.__reactRouterVersion=Jet}catch{}const Zet="startTransition",l4=rx[Zet];function D_(e){let{basename:t,children:n,future:r,window:o}=e,i=g.useRef();i.current==null&&(i.current=oet({window:o,v5Compat:!0}));let a=i.current,[s,l]=g.useState({action:a.action,location:a.location}),{v7_startTransition:c}=r||{},u=g.useCallback(d=>{c&&l4?l4(()=>l(d)):l(d)},[l,c]);return g.useLayoutEffect(()=>a.listen(u),[a,u]),g.createElement(Get,{basename:t,children:n,location:s.location,navigationType:s.action,navigator:a,future:r})}const ett=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",ttt=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Aa=g.forwardRef(function(t,n){let{onClick:r,relative:o,reloadDocument:i,replace:a,state:s,target:l,to:c,preventScrollReset:u,unstable_viewTransition:d}=t,f=Ket(t,Xet),{basename:p}=g.useContext(Ad),h,m=!1;if(typeof c=="string"&&ttt.test(c)&&(h=c,ett))try{let w=new URL(window.location.href),C=c.startsWith("//")?new URL(w.protocol+c):new URL(c),O=R_(C.pathname,p);C.origin===w.origin&&O!=null?c=O+C.search+C.hash:m=!0}catch{}let v=Aet(c,{relative:o}),b=ntt(c,{replace:a,state:s,target:l,preventScrollReset:u,relative:o,unstable_viewTransition:d});function y(w){r&&r(w),w.defaultPrevented||b(w)}return g.createElement("a",zI({},f,{href:h||v,onClick:m||i?r:y,ref:n,target:l}))});var c4;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(c4||(c4={}));var u4;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(u4||(u4={}));function ntt(e,t){let{target:n,replace:r,state:o,preventScrollReset:i,relative:a,unstable_viewTransition:s}=t===void 0?{}:t,l=Rd(),c=XS(),u=QQ(e,{relative:a});return g.useCallback(d=>{if(Qet(d,n)){d.preventDefault();let f=r!==void 0?r:Zw(c)===Zw(u);l(e,{replace:f,state:o,preventScrollReset:i,relative:a,unstable_viewTransition:s})}},[c,l,u,r,o,n,e,i,a,s])}const d4=()=>{var a,s;const e=_d(),t=e.routineId?parseInt(e.routineId):0,[n,r]=Oe(),o=zQ(t),i=()=>window.location.href=_t(Mt.ROUTINE_ADD_DAY,r.language,{id:t});return x(tt,{children:x(hl,{maxWidth:"lg",children:o.isLoading?x(Tr,{}):z(tt,{children:[x(Be,{variant:"caption",children:(a=o.data)==null?void 0:a.description}),x(pt,{spacing:2,sx:{mt:2},children:(s=o.data)==null?void 0:s.days.map(l=>x(ott,{day:l},l.id))}),x(an,{textAlign:"center",sx:{mt:4},children:x(qe,{variant:"outlined",onClick:i,children:n("routines.addDay")})})]})})})};function ZQ(e){var a,s;const[t]=Oe(),n=e.imageHeight||60,r=e.rowHeight||"100px",o=e.iconHeight||40,i=l=>t(l);return z(Te,{container:!0,alignItems:"center",justifyContent:"center",sx:{height:r,p:0},children:[x(Te,{item:!0,xs:3,md:2,children:x(eet,{image:(a=e.setting.base)==null?void 0:a.mainImage,iconSize:o,avatarSize:n})}),x(Te,{item:!0,xs:9,children:z(pt,{spacing:0,children:[x(Be,{variant:"subtitle1",children:(s=e.setting.base)==null?void 0:s.getTranslation().name}),x(Be,{children:e.set.getSettingsTextRepresentation(e.setting.base,i)}),x(Be,{variant:"caption",children:e.set.comment})]})})]})}function rtt(e){const[t,n]=Oe(),[r,o]=V.useState(null),i=!!r,a=u=>{o(u.currentTarget)},s=()=>{o(null)},l=()=>window.location.href=_t(Mt.ROUTINE_EDIT_SET,n.language,{id:e.set.id}),c=()=>window.location.href=_t(Mt.ROUTINE_DELETE_SET,n.language,{id:e.set.id});return z(Te,{container:!0,spacing:2,justifyContent:"space-between",alignItems:"flex-start",children:[x(Te,{item:!0,xs:11,children:e.set.settingsFiltered.map(u=>x(ZQ,{setting:u,set:e.set},u.id))}),z(Te,{item:!0,xs:1,textAlign:"right",children:[x(Rt,{"aria-label":"settings",onClick:a,children:x(Yh,{fontSize:"small"})}),z(vi,{id:"basic-menu",anchorEl:r,open:i,onClose:s,MenuListProps:{"aria-labelledby":"basic-button"},children:[x(bt,{onClick:l,children:t("edit")}),x(bt,{onClick:c,children:t("delete")})]})]})]})}const ott=e=>{const[t,n]=V.useState(null),r=!!t,o=f=>{n(f.currentTarget)},i=()=>{n(null)},[a,s]=Oe(),l=()=>window.location.href=_t(Mt.ROUTINE_EDIT_DAY,s.language,{id:e.day.id}),c=()=>window.location.href=_t(Mt.ROUTINE_ADD_LOG,s.language,{id:e.day.id}),u=()=>window.location.href=_t(Mt.ROUTINE_DELETE_DAY,s.language,{id:e.day.id}),d=()=>window.location.href=_t(Mt.ROUTINE_ADD_SET,s.language,{id:e.day.id});return z(gr,{sx:{minWidth:275},children:[x(Pl,{sx:{bgcolor:"lightgray"},action:x(Rt,{"aria-label":"settings",onClick:o,children:x(Yh,{})}),title:e.day.description,subheader:e.day.daysOfWeek.map(f=>nG[f-1]).join(", ")}),z(vi,{id:"basic-menu",anchorEl:t,open:r,onClose:i,MenuListProps:{"aria-labelledby":"basic-button"},children:[x(bt,{onClick:c,children:a("routines.addWeightLog")}),x(bt,{onClick:l,children:a("edit")}),x(bs,{}),z(bt,{onClick:u,children:[x(BQ,{}),a("delete")]})]}),x(Ro,{children:x(pt,{divider:x(bs,{flexItem:!0}),children:e.day.sets.map((f,p)=>x(rtt,{set:f,index:p},f.id))})}),x(gi,{children:x(Rt,{onClick:d,children:x(M_,{})})})]})},eX=()=>{const[e,t]=Oe(),n=ret();return x(tt,{children:n.isLoading?x(Tr,{}):x(tt,{children:n.data!==null?x(itt,{routine:n.data}):x(EA,{title:e("routines.routine"),link:_t(Mt.ROUTINE_ADD,t.language)})})})},itt=e=>{const[t,n]=Oe();return z(gr,{children:[x(Pl,{title:t("routines.routine"),subheader:e.routine.name??"."}),x(Ro,{sx:{height:"510px",overflow:"auto"},children:x(za,{children:e.routine.days.map(r=>x(att,{day:r},r.id))})}),x(gi,{children:x(qe,{size:"small",href:_t(Mt.ROUTINE_DETAIL,n.language,{id:e.routine.id}),children:t("seeDetails")})})]})},att=e=>{const[t,n]=g.useState(!1);return z(tt,{children:[z(Vc,{onClick:()=>n(!t),selected:t,children:[x(fo,{children:t?x(xA,{}):x(bd,{})}),x(or,{primary:e.day.description,secondary:e.day.daysOfWeek.map(o=>nG[o-1]).join(", ")})]}),x(ka,{in:t,timeout:"auto",unmountOnExit:!0,children:e.day.sets.map(o=>x("div",{children:o.settingsFiltered.map(i=>x(ZQ,{setting:i,set:o,imageHeight:45,iconHeight:25,rowHeight:"70px"},i.id))},o.id))})]})};var N_={},stt=Ut;Object.defineProperty(N_,"__esModule",{value:!0});var di=N_.default=void 0,ltt=stt(Xt()),ctt=Kt();di=N_.default=(0,ltt.default)((0,ctt.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z"}),"Add");function L_(){return lr([Dn.BODY_WEIGHT],aCe)}const utt=()=>{const e=Bn();return Zn({mutationFn:t=>sCe(t),onSuccess:()=>e.invalidateQueries([Dn.BODY_WEIGHT])})},dtt=()=>{const e=Bn();return Zn({mutationFn:t=>mG(t),onError:t=>{console.log(t)},onSuccess:()=>e.invalidateQueries([Dn.BODY_WEIGHT])})},ftt=()=>{const e=Bn();return Zn({mutationFn:t=>hG(t),onSuccess:()=>{e.invalidateQueries([Dn.BODY_WEIGHT])}})},Xh=({weightEntry:e,closeFn:t})=>{const n=L_(),r=dtt(),o=ftt(),[i,a]=g.useState(e?e.date:new Date),[s,l]=Oe(),c=la({weight:So().min(30,"Min weight is 30 kg").max(300,"Max weight is 300 kg").required("Weight field is required")});return x(aa,{initialValues:{weight:e?e.weight:0,date:io(e?e.date:new Date)},validationSchema:c,onSubmit:async u=>{if(e){e.weight=u.weight,e.date=new Date(u.date);try{const d=await hG(e);o.mutate(d)}catch{}}else{e=new pG(new Date(u.date),u.weight);try{const d=await mG(e);r.mutate(d)}catch{}}t&&t()},children:u=>x(yi,{children:z(pt,{spacing:2,children:[x($t,{fullWidth:!0,id:"weight",label:s("weight"),error:u.touched.weight&&!!u.touched.weight,helperText:u.touched.weight&&u.errors.weight,...u.getFieldProps("weight")}),x(_S,{dateAdapter:zS,adapterLocale:l.language,children:x(NK,{inputFormat:"yyyy-MM-dd",label:s("date"),value:i,renderInput:d=>x($t,{...d,...u.getFieldProps("date")}),disableFuture:!0,onChange:d=>{d&&u.setFieldValue("date",d),a(d)},shouldDisableDate:d=>e&&io(e.date)===d.toISODate()?!1:d?n.data.some(f=>io(f.date)===d.toISODate()):!1})}),x(pt,{direction:"row",justifyContent:"end",sx:{mt:2},children:x(qe,{color:"primary",variant:"contained",type:"submit",sx:{mt:2},children:s("submit")})})]})})})},ptt=["checked","disabled","error","focused","focusVisible","required","expanded","selected"];function htt(e={}){const{disableGlobal:t=!1,productionPrefix:n="jss",seed:r=""}=e,o=r===""?"":`${r}-`;let i=0;const a=()=>(i+=1,i);return(s,l)=>{const c=l.options.name;if(c&&c.indexOf("Mui")===0&&!l.options.link&&!t){if(ptt.indexOf(s.key)!==-1)return`Mui-${s.key}`;const u=`${o}${c}-${s.key}`;return!l.options.theme[tU]||r!==""?u:`${u}-${a()}`}return`${o}${n}${a()}`}}var f4=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},sb=(typeof window>"u"?"undefined":f4(window))==="object"&&(typeof document>"u"?"undefined":f4(document))==="object"&&document.nodeType===9;function mtt(e,t){for(var n=0;n<+~=|^:(),"'`\s])/g,h4=typeof CSS<"u"&&CSS.escape,F_=function(e){return h4?h4(e):e.replace(vtt,"\\$1")},nX=function(){function e(n,r,o){this.type="style",this.isProcessed=!1;var i=o.sheet,a=o.Renderer;this.key=n,this.options=o,this.style=r,i?this.renderer=i.renderer:a&&(this.renderer=new a)}var t=e.prototype;return t.prop=function(r,o,i){if(o===void 0)return this.style[r];var a=i?i.force:!1;if(!a&&this.style[r]===o)return this;var s=o;(!i||i.process!==!1)&&(s=this.options.jss.plugins.onChangeValue(o,r,this));var l=s==null||s===!1,c=r in this.style;if(l&&!c&&!a)return this;var u=l&&c;if(u?delete this.style[r]:this.style[r]=s,this.renderable&&this.renderer)return u?this.renderer.removeProperty(this.renderable,r):this.renderer.setProperty(this.renderable,r,s),this;var d=this.options.sheet;return d&&d.attached,this},e}(),HI=function(e){Oy(t,e);function t(r,o,i){var a;a=e.call(this,r,o,i)||this;var s=i.selector,l=i.scoped,c=i.sheet,u=i.generateId;return s?a.selectorText=s:l!==!1&&(a.id=u(PT(PT(a)),c),a.selectorText="."+F_(a.id)),a}var n=t.prototype;return n.applyTo=function(o){var i=this.renderer;if(i){var a=this.toJSON();for(var s in a)i.setProperty(o,s,a[s])}return this},n.toJSON=function(){var o={};for(var i in this.style){var a=this.style[i];typeof a!="object"?o[i]=a:Array.isArray(a)&&(o[i]=Vu(a))}return o},n.toString=function(o){var i=this.options.sheet,a=i?i.options.link:!1,s=a?S({},o,{allowEmpty:!0}):o;return ay(this.selectorText,this.style,s)},tX(t,[{key:"selector",set:function(o){if(o!==this.selectorText){this.selectorText=o;var i=this.renderer,a=this.renderable;if(!(!a||!i)){var s=i.setSelector(a,o);s||i.replaceRule(a,this)}}},get:function(){return this.selectorText}}]),t}(nX),ytt={onCreateRule:function(t,n,r){return t[0]==="@"||r.parent&&r.parent.type==="keyframes"?null:new HI(t,n,r)}},tO={indent:1,children:!0},btt=/@([\w-]+)/,xtt=function(){function e(n,r,o){this.type="conditional",this.isProcessed=!1,this.key=n;var i=n.match(btt);this.at=i?i[1]:"unknown",this.query=o.name||"@"+this.at,this.options=o,this.rules=new JS(S({},o,{parent:this}));for(var a in r)this.rules.add(a,r[a]);this.rules.process()}var t=e.prototype;return t.getRule=function(r){return this.rules.get(r)},t.indexOf=function(r){return this.rules.indexOf(r)},t.addRule=function(r,o,i){var a=this.rules.add(r,o,i);return a?(this.options.jss.plugins.onProcessRule(a),a):null},t.replaceRule=function(r,o,i){var a=this.rules.replace(r,o,i);return a&&this.options.jss.plugins.onProcessRule(a),a},t.toString=function(r){r===void 0&&(r=tO);var o=Jh(r),i=o.linebreak;if(r.indent==null&&(r.indent=tO.indent),r.children==null&&(r.children=tO.children),r.children===!1)return this.query+" {}";var a=this.rules.toString(r);return a?this.query+" {"+i+a+i+"}":""},e}(),wtt=/@container|@media|@supports\s+/,Ctt={onCreateRule:function(t,n,r){return wtt.test(t)?new xtt(t,n,r):null}},nO={indent:1,children:!0},Stt=/@keyframes\s+([\w-]+)/,UI=function(){function e(n,r,o){this.type="keyframes",this.at="@keyframes",this.isProcessed=!1;var i=n.match(Stt);i&&i[1]?this.name=i[1]:this.name="noname",this.key=this.type+"-"+this.name,this.options=o;var a=o.scoped,s=o.sheet,l=o.generateId;this.id=a===!1?this.name:F_(l(this,s)),this.rules=new JS(S({},o,{parent:this}));for(var c in r)this.rules.add(c,r[c],S({},o,{parent:this}));this.rules.process()}var t=e.prototype;return t.toString=function(r){r===void 0&&(r=nO);var o=Jh(r),i=o.linebreak;if(r.indent==null&&(r.indent=nO.indent),r.children==null&&(r.children=nO.children),r.children===!1)return this.at+" "+this.id+" {}";var a=this.rules.toString(r);return a&&(a=""+i+a+i),this.at+" "+this.id+" {"+a+"}"},e}(),Ptt=/@keyframes\s+/,Ett=/\$([\w-]+)/g,WI=function(t,n){return typeof t=="string"?t.replace(Ett,function(r,o){return o in n?n[o]:r}):t},m4=function(t,n,r){var o=t[n],i=WI(o,r);i!==o&&(t[n]=i)},Ott={onCreateRule:function(t,n,r){return typeof t=="string"&&Ptt.test(t)?new UI(t,n,r):null},onProcessStyle:function(t,n,r){return n.type!=="style"||!r||("animation-name"in t&&m4(t,"animation-name",r.keyframes),"animation"in t&&m4(t,"animation",r.keyframes)),t},onChangeValue:function(t,n,r){var o=r.options.sheet;if(!o)return t;switch(n){case"animation":return WI(t,o.keyframes);case"animation-name":return WI(t,o.keyframes);default:return t}}},Ttt=function(e){Oy(t,e);function t(){return e.apply(this,arguments)||this}var n=t.prototype;return n.toString=function(o){var i=this.options.sheet,a=i?i.options.link:!1,s=a?S({},o,{allowEmpty:!0}):o;return ay(this.key,this.style,s)},t}(nX),ktt={onCreateRule:function(t,n,r){return r.parent&&r.parent.type==="keyframes"?new Ttt(t,n,r):null}},Itt=function(){function e(n,r,o){this.type="font-face",this.at="@font-face",this.isProcessed=!1,this.key=n,this.style=r,this.options=o}var t=e.prototype;return t.toString=function(r){var o=Jh(r),i=o.linebreak;if(Array.isArray(this.style)){for(var a="",s=0;s=this.index){o.push(r);return}for(var a=0;ai){o.splice(a,0,r);return}}},t.reset=function(){this.registry=[]},t.remove=function(r){var o=this.registry.indexOf(r);this.registry.splice(o,1)},t.toString=function(r){for(var o=r===void 0?{}:r,i=o.attached,a=q(o,["attached"]),s=Jh(a),l=s.linebreak,c="",u=0;u-1?o.substr(0,i-1):o;t.style.setProperty(n,a,i>-1?"important":"")}}catch{return!1}return!0},Vtt=function(t,n){try{t.attributeStyleMap?t.attributeStyleMap.delete(n):t.style.removeProperty(n)}catch{}},Htt=function(t,n){return t.selectorText=n,t.selectorText===n},iX=oX(function(){return document.querySelector("head")});function Utt(e,t){for(var n=0;nt.index&&r.options.insertionPoint===t.insertionPoint)return r}return null}function Wtt(e,t){for(var n=e.length-1;n>=0;n--){var r=e[n];if(r.attached&&r.options.insertionPoint===t.insertionPoint)return r}return null}function Gtt(e){for(var t=iX(),n=0;n0){var n=Utt(t,e);if(n&&n.renderer)return{parent:n.renderer.element.parentNode,node:n.renderer.element};if(n=Wtt(t,e),n&&n.renderer)return{parent:n.renderer.element.parentNode,node:n.renderer.element.nextSibling}}var r=e.insertionPoint;if(r&&typeof r=="string"){var o=Gtt(r);if(o)return{parent:o.parentNode,node:o.nextSibling}}return!1}function Ktt(e,t){var n=t.insertionPoint,r=qtt(t);if(r!==!1&&r.parent){r.parent.insertBefore(e,r.node);return}if(n&&typeof n.nodeType=="number"){var o=n,i=o.parentNode;i&&i.insertBefore(e,o.nextSibling);return}iX().appendChild(e)}var Ytt=oX(function(){var e=document.querySelector('meta[property="csp-nonce"]');return e?e.getAttribute("content"):null}),x4=function(t,n,r){try{"insertRule"in t?t.insertRule(n,r):"appendRule"in t&&t.appendRule(n)}catch{return!1}return t.cssRules[r]},w4=function(t,n){var r=t.cssRules.length;return n===void 0||n>r?r:n},Qtt=function(){var t=document.createElement("style");return t.textContent=` -`,t},Xtt=function(){function e(n){this.getPropertyValue=Btt,this.setProperty=ztt,this.removeProperty=Vtt,this.setSelector=Htt,this.hasInsertedRules=!1,this.cssRules=[],n&&Ng.add(n),this.sheet=n;var r=this.sheet?this.sheet.options:{},o=r.media,i=r.meta,a=r.element;this.element=a||Qtt(),this.element.setAttribute("data-jss",""),o&&this.element.setAttribute("media",o),i&&this.element.setAttribute("data-meta",i);var s=Ytt();s&&this.element.setAttribute("nonce",s)}var t=e.prototype;return t.attach=function(){if(!(this.element.parentNode||!this.sheet)){Ktt(this.element,this.sheet.options);var r=!!(this.sheet&&this.sheet.deployed);this.hasInsertedRules&&r&&(this.hasInsertedRules=!1,this.deploy())}},t.detach=function(){if(this.sheet){var r=this.element.parentNode;r&&r.removeChild(this.element),this.sheet.options.link&&(this.cssRules=[],this.element.textContent=` + */function jN(){return jN=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&(n[o]=e[o]);return n}function rbt(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function obt(e,t){return e.button===0&&(!t||t==="_self")&&!rbt(e)}const ibt=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","viewTransition"],abt="6";try{window.__reactRouterVersion=abt}catch{}const sbt="startTransition",N7=vh[sbt];function yz(e){let{basename:t,children:n,future:r,window:o}=e,i=y.useRef();i.current==null&&(i.current=fvt({window:o,v5Compat:!0}));let a=i.current,[s,l]=y.useState({action:a.action,location:a.location}),{v7_startTransition:c}=r||{},u=y.useCallback(d=>{c&&N7?N7(()=>l(d)):l(d)},[l,c]);return y.useLayoutEffect(()=>a.listen(u),[a,u]),y.useEffect(()=>Zvt(r),[r]),y.createElement(ebt,{basename:t,children:n,location:s.location,navigationType:s.action,navigator:a,future:r})}const lbt=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",cbt=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Zl=y.forwardRef(function(t,n){let{onClick:r,relative:o,reloadDocument:i,replace:a,state:s,target:l,to:c,preventScrollReset:u,viewTransition:d}=t,f=nbt(t,ibt),{basename:p}=y.useContext(um),m,g=!1;if(typeof c=="string"&&cbt.test(c)&&(m=c,lbt))try{let S=new URL(window.location.href),P=c.startsWith("//")?new URL(S.protocol+c):new URL(c),T=mz(P.pathname,p);P.origin===S.origin&&T!=null?c=T+P.search+P.hash:g=!0}catch{}let v=Fvt(c,{relative:o}),w=ubt(c,{replace:a,state:s,target:l,preventScrollReset:u,relative:o,viewTransition:d});function x(S){r&&r(S),S.defaultPrevented||w(S)}return y.createElement("a",jN({},f,{href:m||v,onClick:g||i?r:x,ref:n,target:l}))});var L7;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(L7||(L7={}));var F7;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(F7||(F7={}));function ubt(e,t){let{target:n,replace:r,state:o,preventScrollReset:i,relative:a,viewTransition:s}=t===void 0?{}:t,l=dm(),c=rM(),u=qse(e,{relative:a});return y.useCallback(d=>{if(obt(d,n)){d.preventDefault();let f=r!==void 0?r:dO(c)===dO(u);l(e,{replace:f,state:o,preventScrollReset:i,relative:a,viewTransition:s})}},[c,l,u,r,o,n,e,i,a,s])}const j7=()=>{var a,s;const e=fm(),t=e.routineId?parseInt(e.routineId):0,[n,r]=Ue(),o=Fse(t),i=()=>window.location.href=Tn(Sn.ROUTINE_ADD_DAY,r.language,{id:t});return C(Mt,{children:C(Yu,{maxWidth:"lg",children:o.isLoading?C(Po,{}):Q(Mt,{children:[C(ct,{variant:"caption",children:(a=o.data)==null?void 0:a.description}),C(Gt,{spacing:2,sx:{mt:2},children:(s=o.data)==null?void 0:s.days.map(l=>C(fbt,{day:l},l.id))}),C(Rn,{textAlign:"center",sx:{mt:4},children:C(gt,{variant:"outlined",onClick:i,children:n("routines.addDay")})})]})})})};function Xse(e){var a,s;const[t]=Ue(),n=e.imageHeight||60,r=e.rowHeight||"100px",o=e.iconHeight||40,i=l=>t(l);return Q(Be,{container:!0,alignItems:"center",justifyContent:"center",sx:{height:r,p:0},children:[C(Be,{size:{xs:3,md:2},children:C(lvt,{image:(a=e.setting.base)==null?void 0:a.mainImage,iconSize:o,avatarSize:n})}),C(Be,{size:9,children:Q(Gt,{spacing:0,children:[C(ct,{variant:"subtitle1",children:(s=e.setting.base)==null?void 0:s.getTranslation().name}),C(ct,{children:e.set.getSettingsTextRepresentation(e.setting.base,i)}),C(ct,{variant:"caption",children:e.set.comment})]})})]})}function dbt(e){const[t,n]=Ue(),[r,o]=Y.useState(null),i=!!r,a=u=>{o(u.currentTarget)},s=()=>{o(null)},l=()=>window.location.href=Tn(Sn.ROUTINE_EDIT_SET,n.language,{id:e.set.id}),c=()=>window.location.href=Tn(Sn.ROUTINE_DELETE_SET,n.language,{id:e.set.id});return Q(Be,{container:!0,spacing:2,justifyContent:"space-between",alignItems:"flex-start",children:[C(Be,{size:11,children:e.set.settingsFiltered.map(u=>C(Xse,{setting:u,set:e.set},u.id))}),Q(Be,{textAlign:"right",size:1,children:[C(kn,{"aria-label":"settings",onClick:a,children:C(l1,{fontSize:"small"})}),Q(ms,{id:"basic-menu",anchorEl:r,open:i,onClose:s,MenuListProps:{"aria-labelledby":"basic-button"},children:[C(Yt,{onClick:l,children:t("edit")}),C(Yt,{onClick:c,children:t("delete")})]})]})]})}const fbt=e=>{const[t,n]=Y.useState(null),r=!!t,o=f=>{n(f.currentTarget)},i=()=>{n(null)},[a,s]=Ue(),l=()=>window.location.href=Tn(Sn.ROUTINE_EDIT_DAY,s.language,{id:e.day.id}),c=()=>window.location.href=Tn(Sn.ROUTINE_ADD_LOG,s.language,{id:e.day.id}),u=()=>window.location.href=Tn(Sn.ROUTINE_DELETE_DAY,s.language,{id:e.day.id}),d=()=>window.location.href=Tn(Sn.ROUTINE_ADD_SET,s.language,{id:e.day.id});return Q(Do,{sx:{minWidth:275},children:[C(od,{sx:{bgcolor:"lightgray"},action:C(kn,{"aria-label":"settings",onClick:o,children:C(l1,{})}),title:e.day.description,subheader:e.day.daysOfWeek.map(f=>mee[f-1]).join(", ")}),Q(ms,{id:"basic-menu",anchorEl:t,open:r,onClose:i,MenuListProps:{"aria-labelledby":"basic-button"},children:[C(Yt,{onClick:c,children:a("routines.addWeightLog")}),C(Yt,{onClick:l,children:a("edit")}),C(ss,{}),Q(Yt,{onClick:u,children:[C(hz,{}),a("delete")]})]}),C(xa,{children:C(Gt,{divider:C(ss,{flexItem:!0}),children:e.day.sets.map((f,p)=>C(dbt,{set:f,index:p},f.id))})}),C(hs,{children:C(kn,{onClick:d,children:C(Ji,{})})})]})},Qse=()=>{const[e,t]=Ue(),n=dvt();return C(Mt,{children:n.isLoading?C(Po,{}):C(Mt,{children:n.data!==null?C(pbt,{routine:n.data}):C(ej,{title:e("routines.routine"),link:Tn(Sn.ROUTINE_ADD,t.language)})})})},pbt=e=>{const[t,n]=Ue();return Q(Do,{children:[C(od,{title:t("routines.routine"),subheader:e.routine.name??"."}),C(xa,{sx:{height:"510px",overflow:"auto"},children:C(pl,{children:e.routine.days.map(r=>C(hbt,{day:r},r.id))})}),C(hs,{children:C(gt,{size:"small",href:Tn(Sn.ROUTINE_DETAIL,n.language,{id:e.routine.id}),children:t("seeDetails")})})]})},hbt=e=>{const[t,n]=y.useState(!1);return Q(Mt,{children:[Q(Wf,{onClick:()=>n(!t),selected:t,children:[C(Gi,{children:t?C(UZ,{}):C(zv,{})}),C(wo,{primary:e.day.description,secondary:e.day.daysOfWeek.map(o=>mee[o-1]).join(", ")})]}),C(Zs,{in:t,timeout:"auto",unmountOnExit:!0,children:e.day.sets.map(o=>C("div",{children:o.settingsFiltered.map(i=>C(Xse,{setting:i,set:o,imageHeight:45,iconHeight:25,rowHeight:"70px"},i.id))},o.id))})]})};function oM(e="lastWeek"){return Co({queryKey:[jr.BODY_WEIGHT,e],queryFn:()=>hDe(e)})}const mbt=()=>{const e=qr();return co({mutationFn:t=>mDe(t),onSuccess:()=>e.invalidateQueries({queryKey:[jr.BODY_WEIGHT]})})},gbt=()=>{const e=qr();return co({mutationFn:t=>yDe(t),onError:t=>{console.log(t)},onSuccess:()=>e.invalidateQueries({queryKey:[jr.BODY_WEIGHT]})})},ybt=()=>{const e=qr();return co({mutationFn:t=>gDe(t),onSuccess:()=>{e.invalidateQueries({queryKey:[jr.BODY_WEIGHT]})}})},Sb=({weightEntry:e,closeFn:t})=>{const n=oM(),r=gbt(),o=ybt(),[i,a]=y.useState(e?It.fromJSDate(e.date):It.now),[s,l]=Ue(),c=bl({weight:pa().min(30,"Min weight is 30 kg").max(300,"Max weight is 300 kg").required("Weight field is required")});return n.isLoading?C(Po,{}):C(yl,{initialValues:{weight:e?e.weight:0,date:Si(e?e.date:new Date)},validationSchema:c,onSubmit:async u=>{if(e){e.weight=u.weight,e.date=new Date(u.date);try{o.mutate(e)}catch{}}else{e=new Eee(new Date(u.date),u.weight);try{r.mutate(e)}catch{}}t&&t()},children:u=>C(gs,{children:Q(Gt,{spacing:2,children:[C(yn,{fullWidth:!0,id:"weight",label:s("weight"),error:u.touched.weight&&!!u.touched.weight,helperText:u.touched.weight&&u.errors.weight,...u.getFieldProps("weight")}),C(YS,{dateAdapter:Kk,adapterLocale:l.language,children:C(kie,{format:"yyyy-MM-dd",label:s("date"),value:i,slotProps:{textField:{variant:"outlined"}},disableFuture:!0,onChange:d=>{d&&u.setFieldValue("date",d.toJSDate()),a(d)},shouldDisableDate:d=>e&&Si(e.date)===d.toISODate()?!1:d?n.data.some(f=>Si(f.date)===d.toISODate()):!1})}),C(Gt,{direction:"row",justifyContent:"end",sx:{mt:2},children:C(gt,{color:"primary",variant:"contained",type:"submit",sx:{mt:2},children:s("submit")})})]})})})},vbt=["checked","disabled","error","focused","focusVisible","required","expanded","selected"];function bbt(e={}){const{disableGlobal:t=!1,productionPrefix:n="jss",seed:r=""}=e,o=r===""?"":`${r}-`;let i=0;const a=()=>(i+=1,i);return(s,l)=>{const c=l.options.name;if(c&&c.startsWith("Mui")&&!l.options.link&&!t){if(vbt.includes(s.key))return`Mui-${s.key}`;const u=`${o}${c}-${s.key}`;return!l.options.theme[xX]||r!==""?u:`${u}-${a()}`}return`${o}${n}${a()}`}}var B7=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},u1=(typeof window>"u"?"undefined":B7(window))==="object"&&(typeof document>"u"?"undefined":B7(document))==="object"&&document.nodeType===9;function Qx(e){"@babel/helpers - typeof";return Qx=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Qx(e)}function wbt(e,t){if(Qx(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Qx(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function xbt(e){var t=wbt(e,"string");return Qx(t)=="symbol"?t:t+""}function Sbt(e,t){for(var n=0;n<+~=|^:(),"'`\s])/g,V7=typeof CSS<"u"&&CSS.escape,bz=function(e){return V7?V7(e):e.replace(Pbt,"\\$1")},Zse=function(){function e(n,r,o){this.type="style",this.isProcessed=!1;var i=o.sheet,a=o.Renderer;this.key=n,this.options=o,this.style=r,i?this.renderer=i.renderer:a&&(this.renderer=new a)}var t=e.prototype;return t.prop=function(r,o,i){if(o===void 0)return this.style[r];var a=i?i.force:!1;if(!a&&this.style[r]===o)return this;var s=o;(!i||i.process!==!1)&&(s=this.options.jss.plugins.onChangeValue(o,r,this));var l=s==null||s===!1,c=r in this.style;if(l&&!c&&!a)return this;var u=l&&c;if(u?delete this.style[r]:this.style[r]=s,this.renderable&&this.renderer)return u?this.renderer.removeProperty(this.renderable,r):this.renderer.setProperty(this.renderable,r,s),this;var d=this.options.sheet;return d&&d.attached,this},e}(),zN=function(e){xS(t,e);function t(r,o,i){var a;a=e.call(this,r,o,i)||this;var s=i.selector,l=i.scoped,c=i.sheet,u=i.generateId;return s?a.selectorText=s:l!==!1&&(a.id=u(l_(l_(a)),c),a.selectorText="."+bz(a.id)),a}var n=t.prototype;return n.applyTo=function(o){var i=this.renderer;if(i){var a=this.toJSON();for(var s in a)i.setProperty(o,s,a[s])}return this},n.toJSON=function(){var o={};for(var i in this.style){var a=this.style[i];typeof a!="object"?o[i]=a:Array.isArray(a)&&(o[i]=gh(a))}return o},n.toString=function(o){var i=this.options.sheet,a=i?i.options.link:!1,s=a?Lr({},o,{allowEmpty:!0}):o;return Jx(this.selectorText,this.style,s)},Jse(t,[{key:"selector",set:function(o){if(o!==this.selectorText){this.selectorText=o;var i=this.renderer,a=this.renderable;if(!(!a||!i)){var s=i.setSelector(a,o);s||i.replaceRule(a,this)}}},get:function(){return this.selectorText}}]),t}(Zse),Tbt={onCreateRule:function(t,n,r){return t[0]==="@"||r.parent&&r.parent.type==="keyframes"?null:new zN(t,n,r)}},PR={indent:1,children:!0},Ebt=/@([\w-]+)/,Obt=function(){function e(n,r,o){this.type="conditional",this.isProcessed=!1,this.key=n;var i=n.match(Ebt);this.at=i?i[1]:"unknown",this.query=o.name||"@"+this.at,this.options=o,this.rules=new iM(Lr({},o,{parent:this}));for(var a in r)this.rules.add(a,r[a]);this.rules.process()}var t=e.prototype;return t.getRule=function(r){return this.rules.get(r)},t.indexOf=function(r){return this.rules.indexOf(r)},t.addRule=function(r,o,i){var a=this.rules.add(r,o,i);return a?(this.options.jss.plugins.onProcessRule(a),a):null},t.replaceRule=function(r,o,i){var a=this.rules.replace(r,o,i);return a&&this.options.jss.plugins.onProcessRule(a),a},t.toString=function(r){r===void 0&&(r=PR);var o=Cb(r),i=o.linebreak;if(r.indent==null&&(r.indent=PR.indent),r.children==null&&(r.children=PR.children),r.children===!1)return this.query+" {}";var a=this.rules.toString(r);return a?this.query+" {"+i+a+i+"}":""},e}(),Ibt=/@container|@media|@supports\s+/,kbt={onCreateRule:function(t,n,r){return Ibt.test(t)?new Obt(t,n,r):null}},TR={indent:1,children:!0},Mbt=/@keyframes\s+([\w-]+)/,VN=function(){function e(n,r,o){this.type="keyframes",this.at="@keyframes",this.isProcessed=!1;var i=n.match(Mbt);i&&i[1]?this.name=i[1]:this.name="noname",this.key=this.type+"-"+this.name,this.options=o;var a=o.scoped,s=o.sheet,l=o.generateId;this.id=a===!1?this.name:bz(l(this,s)),this.rules=new iM(Lr({},o,{parent:this}));for(var c in r)this.rules.add(c,r[c],Lr({},o,{parent:this}));this.rules.process()}var t=e.prototype;return t.toString=function(r){r===void 0&&(r=TR);var o=Cb(r),i=o.linebreak;if(r.indent==null&&(r.indent=TR.indent),r.children==null&&(r.children=TR.children),r.children===!1)return this.at+" "+this.id+" {}";var a=this.rules.toString(r);return a&&(a=""+i+a+i),this.at+" "+this.id+" {"+a+"}"},e}(),Abt=/@keyframes\s+/,$bt=/\$([\w-]+)/g,HN=function(t,n){return typeof t=="string"?t.replace($bt,function(r,o){return o in n?n[o]:r}):t},H7=function(t,n,r){var o=t[n],i=HN(o,r);i!==o&&(t[n]=i)},Rbt={onCreateRule:function(t,n,r){return typeof t=="string"&&Abt.test(t)?new VN(t,n,r):null},onProcessStyle:function(t,n,r){return n.type!=="style"||!r||("animation-name"in t&&H7(t,"animation-name",r.keyframes),"animation"in t&&H7(t,"animation",r.keyframes)),t},onChangeValue:function(t,n,r){var o=r.options.sheet;if(!o)return t;switch(n){case"animation":return HN(t,o.keyframes);case"animation-name":return HN(t,o.keyframes);default:return t}}},_bt=function(e){xS(t,e);function t(){return e.apply(this,arguments)||this}var n=t.prototype;return n.toString=function(o){var i=this.options.sheet,a=i?i.options.link:!1,s=a?Lr({},o,{allowEmpty:!0}):o;return Jx(this.key,this.style,s)},t}(Zse),Dbt={onCreateRule:function(t,n,r){return r.parent&&r.parent.type==="keyframes"?new _bt(t,n,r):null}},Nbt=function(){function e(n,r,o){this.type="font-face",this.at="@font-face",this.isProcessed=!1,this.key=n,this.style=r,this.options=o}var t=e.prototype;return t.toString=function(r){var o=Cb(r),i=o.linebreak;if(Array.isArray(this.style)){for(var a="",s=0;s=this.index){o.push(r);return}for(var a=0;ai){o.splice(a,0,r);return}}},t.reset=function(){this.registry=[]},t.remove=function(r){var o=this.registry.indexOf(r);this.registry.splice(o,1)},t.toString=function(r){for(var o=r===void 0?{}:r,i=o.attached,a=hI(o,["attached"]),s=Cb(a),l=s.linebreak,c="",u=0;u-1?o.substr(0,i-1):o;t.style.setProperty(n,a,i>-1?"important":"")}}catch{return!1}return!0},Ybt=function(t,n){try{t.attributeStyleMap?t.attributeStyleMap.delete(n):t.style.removeProperty(n)}catch{}},Xbt=function(t,n){return t.selectorText=n,t.selectorText===n},nle=tle(function(){return document.querySelector("head")});function Qbt(e,t){for(var n=0;nt.index&&r.options.insertionPoint===t.insertionPoint)return r}return null}function Jbt(e,t){for(var n=e.length-1;n>=0;n--){var r=e[n];if(r.attached&&r.options.insertionPoint===t.insertionPoint)return r}return null}function Zbt(e){for(var t=nle(),n=0;n0){var n=Qbt(t,e);if(n&&n.renderer)return{parent:n.renderer.element.parentNode,node:n.renderer.element};if(n=Jbt(t,e),n&&n.renderer)return{parent:n.renderer.element.parentNode,node:n.renderer.element.nextSibling}}var r=e.insertionPoint;if(r&&typeof r=="string"){var o=Zbt(r);if(o)return{parent:o.parentNode,node:o.nextSibling}}return!1}function t0t(e,t){var n=t.insertionPoint,r=e0t(t);if(r!==!1&&r.parent){r.parent.insertBefore(e,r.node);return}if(n&&typeof n.nodeType=="number"){var o=n,i=o.parentNode;i&&i.insertBefore(e,o.nextSibling);return}nle().appendChild(e)}var n0t=tle(function(){var e=document.querySelector('meta[property="csp-nonce"]');return e?e.getAttribute("content"):null}),K7=function(t,n,r){try{"insertRule"in t?t.insertRule(n,r):"appendRule"in t&&t.appendRule(n)}catch{return!1}return t.cssRules[r]},Y7=function(t,n){var r=t.cssRules.length;return n===void 0||n>r?r:n},r0t=function(){var t=document.createElement("style");return t.textContent=` +`,t},o0t=function(){function e(n){this.getPropertyValue=qbt,this.setProperty=Kbt,this.removeProperty=Ybt,this.setSelector=Xbt,this.hasInsertedRules=!1,this.cssRules=[],n&&Mw.add(n),this.sheet=n;var r=this.sheet?this.sheet.options:{},o=r.media,i=r.meta,a=r.element;this.element=a||r0t(),this.element.setAttribute("data-jss",""),o&&this.element.setAttribute("media",o),i&&this.element.setAttribute("data-meta",i);var s=n0t();s&&this.element.setAttribute("nonce",s)}var t=e.prototype;return t.attach=function(){if(!(this.element.parentNode||!this.sheet)){t0t(this.element,this.sheet.options);var r=!!(this.sheet&&this.sheet.deployed);this.hasInsertedRules&&r&&(this.hasInsertedRules=!1,this.deploy())}},t.detach=function(){if(this.sheet){var r=this.element.parentNode;r&&r.removeChild(this.element),this.sheet.options.link&&(this.cssRules=[],this.element.textContent=` `)}},t.deploy=function(){var r=this.sheet;if(r){if(r.options.link){this.insertRules(r.rules);return}this.element.textContent=` `+r.toString()+` -`}},t.insertRules=function(r,o){for(var i=0;ie.length)&&(t=e.length);for(var n=0,r=Array(t);n-1){var i=hX[t];if(!Array.isArray(i))return wt.js+Ac(i)in n?wt.css+i:!1;if(!o)return!1;for(var a=0;ar?1:-1:n.length-r.length};return{onProcessStyle:function(n,r){if(r.type!=="style")return n;for(var o={},i=Object.keys(n).sort(e),a=0;a"u"?null:Xnt(),Jnt()]}}function gX(e={}){const{baseClasses:t,newClasses:n,Component:r}=e;if(!n)return t;const o=S({},t);return Object.keys(n).forEach(i=>{n[i]&&(o[i]=`${t[i]} ${n[i]}`)}),o}const zf={set:(e,t,n,r)=>{let o=e.get(t);o||(o=new Map,e.set(t,o)),o.set(n,r)},get:(e,t,n)=>{const r=e.get(t);return r?r.get(n):void 0},delete:(e,t,n)=>{e.get(t).delete(n)}};function ert(){var e;const t=G$();return(e=t==null?void 0:t.$$material)!=null?e:t}const trt=aX(Znt()),nrt=htt(),rrt=new Map,ort={disableGeneration:!1,generateClassName:nrt,jss:trt,sheetsCache:null,sheetsManager:rrt,sheetsRegistry:null},irt=g.createContext(ort);let E4=-1e9;function art(){return E4+=1,E4}const srt=["variant"];function O4(e){return e.length===0}function lrt(e){const{variant:t}=e,n=q(e,srt);let r=t||"";return Object.keys(n).sort().forEach(o=>{o==="color"?r+=O4(r)?e[o]:ie(e[o]):r+=`${O4(r)?o:ie(o)}${ie(e[o].toString())}`}),r}const crt={};function urt(e){const t=typeof e=="function";return{create:(n,r)=>{let o;try{o=t?e(n):e}catch(l){throw l}if(!r||!n.components||!n.components[r]||!n.components[r].styleOverrides&&!n.components[r].variants)return o;const i=n.components[r].styleOverrides||{},a=n.components[r].variants||[],s=S({},o);return Object.keys(i).forEach(l=>{s[l]=Dr(s[l]||{},i[l])}),a.forEach(l=>{const c=lrt(l.props);s[c]=Dr(s[c]||{},l.style)}),s},options:{}}}const drt=["name","classNamePrefix","Component","defaultTheme"];function frt({state:e,stylesOptions:t},n,r){if(t.disableGeneration)return n||{};e.cacheClasses||(e.cacheClasses={value:null,lastProp:null,lastJSS:{}});let o=!1;return e.classes!==e.cacheClasses.lastJSS&&(e.cacheClasses.lastJSS=e.classes,o=!0),n!==e.cacheClasses.lastProp&&(e.cacheClasses.lastProp=n,o=!0),o&&(e.cacheClasses.value=gX({baseClasses:e.cacheClasses.lastJSS,newClasses:n,Component:r})),e.cacheClasses.value}function prt({state:e,theme:t,stylesOptions:n,stylesCreator:r,name:o},i){if(n.disableGeneration)return;let a=zf.get(n.sheetsManager,r,t);a||(a={refs:0,staticSheet:null,dynamicStyles:null},zf.set(n.sheetsManager,r,t,a));const s=S({},r.options,n,{theme:t,flip:typeof n.flip=="boolean"?n.flip:t.direction==="rtl"});s.generateId=s.serverGenerateClassName||s.generateClassName;const l=n.sheetsRegistry;if(a.refs===0){let c;n.sheetsCache&&(c=zf.get(n.sheetsCache,r,t));const u=r.create(t,o);c||(c=n.jss.createStyleSheet(u,S({link:!1},s)),c.attach(),n.sheetsCache&&zf.set(n.sheetsCache,r,t,c)),l&&l.add(c),a.staticSheet=c,a.dynamicStyles=sX(u)}if(a.dynamicStyles){const c=n.jss.createStyleSheet(a.dynamicStyles,S({link:!0},s));c.update(i),c.attach(),e.dynamicSheet=c,e.classes=gX({baseClasses:a.staticSheet.classes,newClasses:c.classes}),l&&l.add(c)}else e.classes=a.staticSheet.classes;a.refs+=1}function hrt({state:e},t){e.dynamicSheet&&e.dynamicSheet.update(t)}function mrt({state:e,theme:t,stylesOptions:n,stylesCreator:r}){if(n.disableGeneration)return;const o=zf.get(n.sheetsManager,r,t);o.refs-=1;const i=n.sheetsRegistry;o.refs===0&&(zf.delete(n.sheetsManager,r,t),n.jss.removeStyleSheet(o.staticSheet),i&&i.remove(o.staticSheet)),e.dynamicSheet&&(n.jss.removeStyleSheet(e.dynamicSheet),i&&i.remove(e.dynamicSheet))}function grt(e,t){const n=g.useRef([]);let r;const o=g.useMemo(()=>({}),t);n.current!==o&&(n.current=o,r=e()),g.useEffect(()=>()=>{r&&r()},[o])}function vX(e,t={}){const{name:n,classNamePrefix:r,Component:o,defaultTheme:i=crt}=t,a=q(t,drt),s=urt(e),l=n||r||"makeStyles";return s.options={index:art(),name:n,meta:l,classNamePrefix:l},(u={})=>{const d=ert()||i,f=S({},g.useContext(irt),a),p=g.useRef(),h=g.useRef();return grt(()=>{const v={name:n,state:{},stylesCreator:s,stylesOptions:f,theme:d};return prt(v,u),h.current=!1,p.current=v,()=>{mrt(v)}},[d,s]),g.useEffect(()=>{h.current&&hrt(p.current,u),h.current=!0}),frt(p.current,u.classes,o)}}const vrt=vX(e=>({table:{"& .MuiPaper-root":{border:"1px solid #bababa"}}})),yrt=({weights:e})=>{const[t]=Oe(),n=vrt(),o=e.slice(0,5);return x("div",{className:n.table,children:x(vl,{children:z(ml,{size:"small",children:[x(yd,{children:z(gt,{children:[x(me,{align:"center",children:t("date")}),x(me,{align:"center",children:t("weight")})]})}),x(gl,{children:o.map(i=>z(gt,{children:[x(me,{align:"center",children:i.date.toLocaleDateString()}),x(me,{align:"center",children:i.weight})]},i.date.toLocaleDateString()))})]})})})},brt=({active:e,payload:t,label:n})=>{const[r,o]=Oe();return e&&t&&t.length?z(Kn,{style:{padding:8},children:[x("p",{children:x("strong",{children:new Date(n).toLocaleDateString(o.language)})}),z("p",{children:[r("weight"),": ",t[0].value]})]}):null},yX=({weights:e,height:t})=>{t=t||300;const r=qn(),[o,i]=Oe(),[a,s]=V.useState(!1),[l,c]=V.useState(),u=()=>s(!1),d=[...e].sort((p,h)=>p.date.getTime()-h.date.getTime()).map(p=>({date:p.date.getTime(),weight:p.weight,entry:p}));function f(p,h){c(h.payload.entry),s(!0)}return z("div",{children:[l&&x(yo,{title:o("edit"),isOpen:a,closeFn:u,children:x(Xh,{weightEntry:l})}),x(Cd,{height:t,children:z(nK,{data:d,children:[x(zh,{type:"monotone",dataKey:"weight",stroke:r.palette.secondary.main,strokeWidth:2,dot:d.length>30?!1:{strokeWidth:1,r:4},activeDot:{stroke:"black",strokeWidth:1,r:6,onClick:f}}),x(Bh,{stroke:"#ccc",strokeDasharray:"5 5"}),x(Is,{dataKey:"date",type:"number",domain:["dataMin","dataMax"],tickFormatter:p=>new Date(p).toLocaleDateString(i.language)}),x($s,{domain:["auto","auto"]}),x(Di,{content:x(brt,{})})]})})]})},bX=()=>{var n,r;const[e]=Oe(),t=L_();return x(tt,{children:t.isLoading?x(Tr,{}):x(tt,{children:((n=t.data)==null?void 0:n.length)!==void 0&&((r=t.data)==null?void 0:r.length)>0?x(xrt,{entries:t.data}):x(EA,{title:e("weight"),modalContent:x(Xh,{})})})})},xrt=e=>{const[t,n]=V.useState(!1),r=()=>n(!0),o=()=>n(!1),[i,a]=Oe();return z(tt,{children:[z(gr,{children:[x(Pl,{title:i("weight"),subheader:"."}),z(Ro,{sx:{height:"500px",overflow:"auto"},children:[x(yX,{weights:e.entries,height:200}),x(an,{sx:{mt:2},children:x(yrt,{weights:e.entries})})]}),z(gi,{sx:{justifyContent:"space-between",alignItems:"flex-start"},children:[x(qe,{size:"small",href:_t(Mt.WEIGHT_OVERVIEW,a.language),children:i("seeDetails")}),x(La,{title:i("addEntry"),children:x(Rt,{onClick:r,children:x(di,{})})})]})]}),x(yo,{title:i("add"),isOpen:t,closeFn:o,children:x(Xh,{closeFn:o})})]})},wrt=()=>{const[e,t]=Oe();return x(h_,{callback:r=>{r!==null&&(window.location.href=_t(Mt.INGREDIENT_DETAIL,t.language,{id:r.data.id}))}})},Crt=()=>x("div",{children:"About Page"});function xX(){return lr([s1e],PCe)}function ZS(){return lr([d1e],bCe)}function lb(){return lr([p1e],pCe)}function eP(){return lr([f1e],gCe)}function tP(){return lr([u1e],RCe)}const cd=({primaryMuscles:e,secondaryMuscles:t,isFront:n})=>{const r=[];r.push(...e.filter(i=>i.isFront===n).map(i=>`/muscles/main/muscle-${i.id}.svg`)),r.push(...t.filter(i=>i.isFront===n).map(i=>`/muscles/secondary/muscle-${i.id}.svg`)),r.push(n?"/muscles/muscular_system_front.svg":"/muscles/muscular_system_back.svg");const o=r.map(i=>`url(${Xwe}${i})`).join(", ");return x("div",{style:{height:"400px",width:"200px",backgroundImage:o,backgroundRepeat:"no-repeat"}})};var wX=(e=>(e[e.SET_NOTIFICATION=0]="SET_NOTIFICATION",e))(wX||{}),zt=(e=>(e[e.RESET=0]="RESET",e[e.SET_NAME_EN=1]="SET_NAME_EN",e[e.SET_ALIASES_EN=2]="SET_ALIASES_EN",e[e.SET_DESCRIPTION_EN=3]="SET_DESCRIPTION_EN",e[e.SET_NOTES_EN=4]="SET_NOTES_EN",e[e.SET_CATEGORY=5]="SET_CATEGORY",e[e.SET_EQUIPMENT=6]="SET_EQUIPMENT",e[e.SET_PRIMARY_MUSCLES=7]="SET_PRIMARY_MUSCLES",e[e.SET_MUSCLES_SECONDARY=8]="SET_MUSCLES_SECONDARY",e[e.SET_VARIATION_ID=9]="SET_VARIATION_ID",e[e.SET_NEW_VARIATION_BASE_ID=10]="SET_NEW_VARIATION_BASE_ID",e[e.SET_LANGUAGE=11]="SET_LANGUAGE",e[e.SET_NAME_I18N=12]="SET_NAME_I18N",e[e.SET_ALIASES_I18N=13]="SET_ALIASES_I18N",e[e.SET_DESCRIPTION_I18N=14]="SET_DESCRIPTION_I18N",e[e.SET_NOTES_I18N=15]="SET_NOTES_I18N",e[e.SET_IMAGES=16]="SET_IMAGES",e))(zt||{});const T4=e=>({type:wX.SET_NOTIFICATION,payload:e}),k4={notification:{notify:!1,message:"",severity:void 0,title:"",type:void 0}},Srt=g.createContext([k4,()=>k4]),Prt=()=>g.useContext(Srt),Ert=e=>({type:zt.SET_NAME_EN,payload:e}),Ort=e=>({type:zt.SET_DESCRIPTION_EN,payload:e}),Trt=e=>({type:zt.SET_NOTES_EN,payload:e}),krt=e=>({type:zt.SET_ALIASES_EN,payload:e}),Irt=e=>({type:zt.SET_NAME_I18N,payload:e}),$rt=e=>({type:zt.SET_DESCRIPTION_I18N,payload:e}),Mrt=e=>({type:zt.SET_NOTES_I18N,payload:e}),Art=e=>({type:zt.SET_ALIASES_I18N,payload:e}),Rrt=e=>({type:zt.SET_CATEGORY,payload:e}),_rt=e=>({type:zt.SET_EQUIPMENT,payload:e}),Drt=e=>({type:zt.SET_PRIMARY_MUSCLES,payload:e}),Nrt=e=>({type:zt.SET_MUSCLES_SECONDARY,payload:e}),Lrt=e=>({type:zt.SET_VARIATION_ID,payload:e}),jrt=e=>({type:zt.SET_NEW_VARIATION_BASE_ID,payload:e}),Frt=e=>({type:zt.SET_LANGUAGE,payload:e}),Brt=e=>({type:zt.SET_IMAGES,payload:e}),zrt=(e,t)=>{if(t===void 0)return e;switch(t.type){case zt.RESET:return n1;case zt.SET_NAME_EN:return{...e,nameEn:t.payload};case zt.SET_DESCRIPTION_EN:return{...e,descriptionEn:t.payload};case zt.SET_NOTES_EN:return{...e,notesEn:t.payload};case zt.SET_ALIASES_EN:return{...e,alternativeNamesEn:t.payload};case zt.SET_CATEGORY:return{...e,category:t.payload};case zt.SET_EQUIPMENT:return{...e,equipment:t.payload};case zt.SET_PRIMARY_MUSCLES:return{...e,muscles:t.payload};case zt.SET_MUSCLES_SECONDARY:return{...e,musclesSecondary:t.payload};case zt.SET_VARIATION_ID:return{...e,variationId:t.payload};case zt.SET_NEW_VARIATION_BASE_ID:return{...e,newVariationBaseId:t.payload};case zt.SET_LANGUAGE:return{...e,languageId:t.payload};case zt.SET_NAME_I18N:return{...e,nameI18n:t.payload};case zt.SET_DESCRIPTION_I18N:return{...e,descriptionI18n:t.payload};case zt.SET_NOTES_I18N:return{...e,notesI18n:t.payload};case zt.SET_ALIASES_I18N:return{...e,alternativeNamesI18n:t.payload};case zt.SET_IMAGES:return{...e,images:t.payload};default:return e}},n1={category:null,muscles:[],musclesSecondary:[],variationId:null,newVariationBaseId:null,languageId:null,equipment:[],nameEn:"",descriptionEn:"",alternativeNamesEn:[],notesEn:[],nameI18n:"",alternativeNamesI18n:[],descriptionI18n:"",notesI18n:[],images:[]},CX=g.createContext([n1,()=>n1]),Vrt=({children:e})=>{const[t,n]=g.useReducer(zrt,n1);return x(CX.Provider,{value:[t,n],children:e})},Zh=()=>g.useContext(CX);function V_(e){const[t]=Oe(),[n,r]=sa(e.fieldName);return x($t,{fullWidth:!0,id:e.fieldName,label:t("name"),variant:"standard",error:r.touched&&!!r.error,helperText:r.touched&&r.error,...n})}const SX=5,PX=40,H_=e=>ws().min(SX,e("forms.valueTooShort")).max(PX,e("forms.valueTooLong")).required(e("forms.fieldRequired")),U_=e=>k_().ensure().compact().of(ws().min(SX,e("forms.valueTooShort")).max(PX,e("forms.valueTooLong"))),W_=e=>ws().min(40,e("forms.valueTooShort")).required(e("forms.fieldRequired")),EX=e=>k_().ensure().compact().of(ws().min(15,e("forms.valueTooShort"))),Hrt=e=>So().required(e("forms.fieldRequired"));function G_(e){const[t]=Oe(),[n,r,o]=sa(e.fieldName);return x(Da,{multiple:!0,freeSolo:!0,id:e.fieldName,value:n.value,options:n.value,onChange:(i,a)=>{o.setValue(a)},renderTags:(i,a)=>i.map((s,l)=>x(Pp,{label:s,...a({index:l})})),onBlur:n.onBlur,renderInput:i=>x($t,{...i,id:"exerciseAliases",variant:"standard",label:t("exercises.alternativeNames"),error:r.touched&&!!r.error,helperText:r.touched&&r.error,value:n.value})})}function Urt(e){const[t]=Oe(),[n,r]=sa(e.fieldName);return z(hh,{fullWidth:!0,children:[x(mh,{id:"label-category",children:t("category")}),x(Hc,{labelId:"label-category",id:"category",label:t("category"),error:r.touched&&!!r.error,...n,children:e.options}),r.touched&&!!r.error&&x(uA,{error:!0,children:r.error})]})}function Wrt(e){const[t]=Oe(),[n,r,o]=sa(e.fieldName);return x(Da,{multiple:!0,id:e.fieldName,options:e.options.map(i=>i.id),getOptionLabel:i=>t(mo(e.options.find(a=>a.id===i).name)),...n,onChange:(i,a)=>{o.setValue(a)},renderInput:i=>x($t,{variant:"standard",label:t("exercises.equipment"),value:n.value,...i})})}const Grt=({onContinue:e})=>{const[t]=Oe(),[n,r]=Zh(),[o,i]=g.useState(n.muscles),[a,s]=g.useState(n.musclesSecondary);g.useEffect(()=>{r(Drt(o))},[r,o]),g.useEffect(()=>{r(Nrt(a))},[r,a]);const l=ZS(),c=lb(),u=eP(),d=la({nameEn:H_(t),newAlternativeNameEn:U_(t),category:Hrt(t)});return x(aa,{initialValues:{nameEn:n.nameEn,newAlternativeNameEn:n.alternativeNamesEn,category:n.category!==null?n.category:"",muscles:n.muscles,equipment:n.equipment,musclesSecondary:n.musclesSecondary},validationSchema:d,onSubmit:f=>{r(Ert(f.nameEn)),r(Rrt(f.category)),r(krt(f.newAlternativeNameEn)),r(_rt(f.equipment)),e()},children:f=>z(yi,{children:[z(pt,{spacing:2,children:[x(V_,{fieldName:"nameEn"}),x(G_,{fieldName:"newAlternativeNameEn"}),l.isLoading?z(an,{children:[" ",x(ri,{})," "]}):x(Urt,{fieldName:"category",options:l.data.map(p=>x(bt,{value:p.id,children:t(mo(p.name))},p.id))}),u.isLoading?z(an,{children:[" ",x(ri,{})," "]}):x(Wrt,{fieldName:"equipment",options:u.data}),c.isLoading?z(an,{children:[" ",x(ri,{})," "]}):z(tt,{children:[x(Da,{multiple:!0,id:"muscles",options:c.data.map(p=>p.id),getOptionDisabled:p=>a.includes(p),getOptionLabel:p=>c.data.find(h=>h.id===p).getName(t),value:o,onChange:(p,h)=>{i(h)},renderInput:p=>x($t,{...p,variant:"standard",label:t("exercises.muscles"),value:f.getFieldProps("muscles").value,onChange:h=>{f.setFieldValue(f.getFieldProps("muscles").name,h.target.value)}})}),x(Da,{multiple:!0,id:"secondary-muscles",options:c.data.map(p=>p.id),getOptionDisabled:p=>o.includes(p),getOptionLabel:p=>c.data.find(h=>h.id===p).getName(t),value:a,onChange:(p,h)=>{s(h)},renderInput:p=>x($t,{...p,variant:"standard",label:t("exercises.secondaryMuscles"),value:f.getFieldProps("muscles").value})})]}),z(Te,{container:!0,children:[x(Te,{item:!0,xs:6,display:"flex",justifyContent:"center",children:x(cd,{primaryMuscles:o.map(p=>c.data.find(h=>h.id===p)),secondaryMuscles:a.map(p=>c.data.find(h=>h.id===p)),isFront:!0})}),x(Te,{item:!0,xs:6,display:"flex",justifyContent:"center",children:x(cd,{primaryMuscles:o.map(p=>c.data.find(h=>h.id===p)),secondaryMuscles:a.map(p=>c.data.find(h=>h.id===p)),isFront:!1})})]})]}),x(Te,{container:!0,children:x(Te,{item:!0,xs:12,display:"flex",justifyContent:"end",children:x(an,{sx:{mb:2},children:x("div",{children:x(qe,{variant:"contained",type:"submit",sx:{mt:1,mr:1},children:t("continue")})})})})})]})})};function qrt(e,t){const n=new Map;return e.forEach(r=>{const o=t(r),i=n.get(o);i?i.push(r):n.set(o,[r])}),n}const I4=({exercises:e})=>{const r=e[0].variationId,o=e[0].id,[i,a]=Zh(),[s,l]=g.useState(!1),[c,u]=g.useState(i.variationId),[d,f]=g.useState(i.newVariationBaseId);g.useEffect(()=>{a(Lrt(c))},[a,c]),g.useEffect(()=>{a(jrt(d))},[a,d]);const p=(m,v)=>()=>{m!==null?(v=null,m===i.variationId&&(m=null)):(m=null,v===i.newVariationBaseId&&(v=null)),u(m),f(v)};let h;return r===null?h=i.newVariationBaseId===o:h=r===i.variationId,x(Zi,{disableGutters:!0,children:x(Vc,{onClick:p(r,o),children:z(Te,{container:!0,children:[x(Te,{item:!0,xs:12,sm:3,display:"flex",justifyContent:"start",alignItems:"center",children:x(dfe,{max:4,spacing:"small",children:e.map(m=>m.mainImage?x(Na,{src:m.mainImage.url},m.id):x(Na,{children:x(Es,{})},m.id))})}),z(Te,{item:!0,xs:10,sm:7,children:[e.slice(0,s?e.length:5).map(m=>x("p",{style:{margin:0},children:m.getTranslation().name},m.id)),!s&&e.length>5?x(bd,{onMouseEnter:()=>l(!0)}):null]}),x(Te,{item:!0,xs:2,sm:2,display:"flex",justifyContent:"end",children:x(El,{edge:"start",checked:h,tabIndex:-1,disableRipple:!0},`variation-${r}`)}),x(Te,{item:!0,xs:12,children:x(bs,{sx:{pt:1}})})]})})})},Krt=({onContinue:e,onBack:t})=>{const[n]=Oe(),r=xX(),[o,i]=g.useState("");let a=[],s=new Map;return r.isSuccess&&(a=r.data,o!==""&&(a=a.filter(l=>l.getTranslation().name.toLowerCase().includes(o.toLowerCase())))),s=qrt(a.filter(l=>l.variationId!==null),l=>l.variationId),z(tt,{children:[z(Te,{container:!0,children:[x(Te,{item:!0,xs:12,sm:6,children:x(Be,{children:n("exercises.whatVariationsExist")})}),x(Te,{item:!0,xs:12,sm:6,display:"flex",justifyContent:"end",children:x($t,{label:n("exercises.filterVariations"),variant:"standard",onChange:l=>i(l.target.value),InputProps:{startAdornment:x(dr,{position:"start",children:x(VS,{})})}})})]}),r.isLoading?x(Tr,{}):x(Kn,{elevation:2,sx:{mt:2},children:z(za,{style:{maxHeight:"400px",overflowY:"scroll"},children:[a.filter(l=>l.variationId===null).map(l=>x(I4,{exercises:[l]},"base-"+l.id)),[...s.keys()].map(l=>x(I4,{exercises:s.get(l)},"variation-"+l))]})}),z(fl,{severity:"info",variant:"filled",sx:{mt:2},children:[x(Bx,{children:n("exercises.identicalExercise")}),n("exercises.identicalExercisePleaseDiscard")]}),x(Te,{container:!0,children:x(Te,{item:!0,xs:12,display:"flex",justifyContent:"end",children:x(an,{sx:{mb:2},children:z("div",{children:[x(qe,{disabled:!1,onClick:t,sx:{mt:1,mr:1},children:n("goBack")}),x(qe,{variant:"contained",onClick:e,sx:{mt:1,mr:1},children:n("continue")})]})})})})]})};class Yrt{constructor(t,n,r,o,i){this.username=t,this.email=n,this.emailVerified=r,this.dateJoined=o,this.isTrustworthy=i}}class Qrt{fromJson(t){return new Yrt(t.username,t.email,t.email_verified,new Date(t.date_joined),t.is_trustworthy)}toJson(t){return{email:t.email}}}const Xrt="userprofile",Jrt=async()=>{const e=Ke(Xrt),t=new Qrt;try{const n=await je.get(e,{headers:Je()});return t.fromJson(n.data)}catch{return null}};function $l(){return lr([m1e],()=>Jrt())}function Zrt(e){const{t}=Oe(),[n,r]=V.useState(e.initial.toString()),o=ZS(),i=$l(),a=async s=>{r(s.target.value),await zA(e.exerciseId,{category:parseInt(s.target.value),license_author:i.data.username})};return o.isSuccess?z(hh,{fullWidth:!0,children:[x(mh,{id:"label-category",children:t("category")}),x(Hc,{labelId:"label-category",id:"category",label:t("category"),value:n,onChange:a,children:o.data.map(s=>x(bt,{value:s.id,children:t(mo(s.name))},s.id))})]}):null}function eot(e){const{t}=Oe(),[n,r]=V.useState(e.initial),o=eP(),i=$l(),a=async s=>{r(s),await zA(e.exerciseId,{equipment:s,license_author:i.data.username})};return o.isSuccess?x(Da,{multiple:!0,value:n,options:o.data.map(s=>s.id),getOptionLabel:s=>t(mo(o.data.find(l=>l.id===s).name)),onChange:(s,l)=>a(l),renderInput:s=>x($t,{variant:"standard",label:t("exercises.equipment"),value:n,...s})}):null}var Xr=function(){return Xr=Object.assign||function(t){for(var n,r=1,o=arguments.length;r0)return e.getRangeAt(0).startContainer.parentNode||void 0}function $4(e){return e?e.replace(/ |\u202F|\u00A0/g," "):""}function not(e){var t=document.createTextNode("");e.appendChild(t);var n=document.activeElement===e;if(t!==null&&t.nodeValue!==null&&n){var r=window.getSelection();if(r!==null){var o=document.createRange();o.setStart(t,t.nodeValue.length),o.collapse(!0),r.removeAllRanges(),r.addRange(o)}e instanceof HTMLElement&&e.focus()}}var rot=V.memo(V.forwardRef(function(t,n){var r=t.className,o=t.disabled,i=t.tagName,a=t.value,s=a===void 0?"":a,l=q_(t,["className","disabled","tagName","value"]),c=V.useRef(),u=V.useRef(s),d=V.useRef(l);return V.useEffect(function(){d.current=l;var f=c.current;f&&$4(u.current)!==$4(s)&&(u.current=s,f.innerHTML=s,not(f))}),V.useMemo(function(){function f(h){c.current=h,typeof n=="function"?n(h):typeof n=="object"&&n&&(n.current=h)}function p(h){var m,v,b=c.current;if(b){var y=b.innerHTML;y!==u.current&&((v=(m=d.current).onChange)===null||v===void 0||v.call(m,Xr(Xr({},h),{target:{value:y,name:l.name}}))),u.current=y}}return V.createElement(i||"div",Xr(Xr({},l),{className:r,contentEditable:!o,dangerouslySetInnerHTML:{__html:s},onBlur:function(h){return(d.current.onBlur||p)(h)},onInput:p,onKeyDown:function(h){return(d.current.onKeyDown||p)(h)},onKeyUp:function(h){return(d.current.onKeyUp||p)(h)},ref:f}))},[r,o,i])})),OX=V.createContext(void 0);function oot(e){var t=e.children,n=V.useState({htmlMode:!1,update:i}),r=n[0],o=n[1];function i(a){o(function(s){return Xr(Xr(Xr({},s),a),{date:Date.now()})})}return V.createElement(OX.Provider,{value:r},t)}function K_(){var e=V.useContext(OX);if(!e)throw new Error("You should wrap your component by EditorProvider");return e}function iot(e){var t=q_(e,[]);return V.createElement("textarea",Xr({},t))}var M4=[],Lm=[];function aot(e,t){if(e&&typeof document<"u"){var n,r=t.prepend===!0?"prepend":"append",o=t.singleTag===!0,i=typeof t.container=="string"?document.querySelector(t.container):document.getElementsByTagName("head")[0];if(o){var a=M4.indexOf(i);a===-1&&(a=M4.push(i)-1,Lm[a]={}),n=Lm[a]&&Lm[a][r]?Lm[a][r]:Lm[a][r]=s()}else n=s();e.charCodeAt(0)===65279&&(e=e.substring(1)),n.styleSheet?n.styleSheet.cssText+=e:n.appendChild(document.createTextNode(e))}function s(){var l=document.createElement("style");if(l.setAttribute("type","text/css"),t.attributes)for(var c=Object.keys(t.attributes),u=0;ur.setValue(o.target.value)})}),n.touched&&!!n.error&&x(uA,{error:!0,children:n.error})]})}var Q_={},xot=Ut;Object.defineProperty(Q_,"__esModule",{value:!0});var X_=Q_.default=void 0,wot=xot(Xt()),Cot=Kt();X_=Q_.default=(0,wot.default)((0,Cot.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m5 11h-4v4h-2v-4H7v-2h4V7h2v4h4z"}),"AddCircle");const Sot=({image:e,canDelete:t})=>{const[n]=Oe();return z(gr,{children:[x(ys,{component:"img",image:e.url,sx:{height:120},alt:""}),x(gi,{children:t&&x(qe,{color:"primary",onClick:()=>_Ce(e.id),children:n("delete")})})]})},Pot=({exerciseId:e})=>{const[t]=Oe(),n=$l(),r=async o=>{var a;if(!((a=o.target.files)!=null&&a.length))return;const[i]=o.target.files;n.isSuccess&&await TG({exerciseId:e,image:i,imageData:{url:"",file:i,author:"",authorUrl:"",title:"",objectUrl:"",derivativeSourceUrl:"",style:""}})};return z(gr,{children:[x(ys,{children:x(an,{sx:{backgroundColor:"lightgray",height:120},display:"flex",alignItems:"center",justifyContent:"center",children:x(X_,{sx:{fontSize:80,color:"gray"}})})}),x(gi,{children:z(qe,{component:"label",children:[t("add"),x("input",{style:{display:"none"},id:"camera-input",type:"file",accept:"image/*",capture:"environment",onChange:r})]})})]})};function R4(e){const{t}=Oe(),n=lb(),r=async o=>{e.setValue(o),await zA(e.exerciseId,e.isMain?{muscles:o}:{muscles_secondary:o})};return n.isSuccess?x(Da,{multiple:!0,options:n.data.map(o=>o.id),getOptionDisabled:o=>e.blocked.includes(o),getOptionLabel:o=>n.data.find(i=>i.id===o).getName(t),value:e.value,onChange:(o,i)=>r(i),renderInput:o=>x($t,{...o,variant:"standard",label:t(e.isMain?"exercises.muscles":"exercises.secondaryMuscles"),value:e.value})}):null}const Eot=({video:e,canDelete:t})=>{const[n]=Oe();return z(gr,{children:[x(ys,{component:"video",src:e.url,sx:{height:120},controls:!0,preload:"metadata"}),x(gi,{children:t&&x(qe,{color:"primary",onClick:()=>LCe(e.id),children:n("delete")})})]})},Oot=({exerciseId:e})=>{const[t]=Oe(),n=$l(),r=async o=>{var a;if(!((a=o.target.files)!=null&&a.length))return;const[i]=o.target.files;n.isSuccess&&await NCe(e,n.data.username,i)};return z(gr,{children:[x(ys,{children:x(an,{sx:{backgroundColor:"lightgray",height:120},display:"flex",alignItems:"center",justifyContent:"center",children:x(X_,{sx:{fontSize:80,color:"gray"}})})}),x(gi,{children:z(qe,{component:"label",children:[t("add"),x("input",{style:{display:"none"},id:"camera-input",type:"file",accept:"video/*",capture:"environment",onChange:r})]})})]})},Tot="check-permission",kot=async e=>{const t=Ke(Tot,{query:{permission:e}}),n=await je.get(t,{headers:Je()});return n.status===400?!1:n.data.result};function ap(e){return lr([h1e,e],()=>kot(e.valueOf()))}var Hu=(e=>(e.EDIT_EXERCISE="exercises.change_exercise",e.DELETE_EXERCISE="exercises.delete_exercise",e.EDIT_IMAGE="exercises.change_exerciseimage",e.DELETE_IMAGE="exercises.delete_exerciseimage",e.EDIT_VIDEO="exercises.change_exercisevideo",e.DELETE_VIDEO="exercises.delete_exercisevideo",e))(Hu||{});const Iot=({exercise:e,language:t})=>{const[n]=Oe(),[r,o]=V.useState(!1),[i,a]=V.useState(e.muscles.map(w=>w.id)),[s,l]=V.useState(e.musclesSecondary.map(w=>w.id)),c=e.getTranslation(t),d=t.id!==c.language?new wG(null,null,"","",t.id):c,f=e.getTranslation(),p=ap(Hu.DELETE_IMAGE),h=ap(Hu.DELETE_VIDEO),m=ap(Hu.EDIT_EXERCISE),v=lb(),b=$l(),y=la({name:H_(n),alternativeNames:U_(n),description:W_(n)});return z(tt,{children:[x(aa,{initialValues:{name:d.name,alternativeNames:d.aliases.map(w=>w.alias),description:d.description},enableReinitialize:!0,validationSchema:y,onSubmit:async w=>{const C=d.id?await ICe(d.id,e.id,d.language,w.name,w.description):await WT(e.id,t.id,w.name,w.description,b.data.username),O=d.aliases.map($=>$.alias),P=w.alternativeNames,E=P.filter($=>!O.includes($));let T=O.filter($=>!P.includes($));E.forEach($=>{qT(C.id,$)}),T.forEach($=>{DCe(d.aliases.find(M=>M.alias===$).id)}),o(!0)},children:x(yi,{children:z(Te,{container:!0,children:[r&&z(Te,{item:!0,xs:12,children:[x(fl,{severity:"success",action:x(Rt,{"aria-label":"close",size:"small",color:"inherit",onClick:()=>{o(!1)},children:x(yh,{fontSize:"inherit"})}),children:n("exercises.successfullyUpdated")}),x(Mr,{})]}),x(Te,{item:!0,xs:6,children:x(Be,{variant:"h5",children:n("English")})}),x(Te,{item:!0,xs:6,children:z(Be,{variant:"h5",children:[t.nameLong," (",t.nameShort,")"]})}),z(Te,{item:!0,xs:12,children:[x(Mr,{}),x(Be,{variant:"h6",children:n("name")})]}),z(Te,{item:!0,xs:6,children:[f.name,x("ul",{children:f.aliases.map(w=>x("li",{children:w.alias},w.id))})]}),z(Te,{item:!0,xs:6,children:[x(an,{mb:2,children:x(V_,{fieldName:"name"})}),x(G_,{fieldName:"alternativeNames"})]}),x(Te,{item:!0,xs:12,children:x(Mr,{})}),x(Te,{item:!0,xs:12,children:x(Be,{variant:"h6",children:n("exercises.description")})}),x(Te,{item:!0,xs:12,md:6,children:x("div",{dangerouslySetInnerHTML:{__html:f.description}})}),x(Te,{item:!0,xs:12,md:6,children:x(Y_,{fieldName:"description"})}),z(Te,{item:!0,xs:12,children:[x(Mr,{}),x(qe,{variant:"contained",type:"submit",sx:{mt:1,mr:1},children:n("save")})]})]})})}),x(Mr,{}),x(Be,{variant:"h5",children:n("exercises.basics")}),p.isSuccess&&z(tt,{children:[x(Mr,{}),x(Be,{variant:"h6",children:n("images")}),z(Te,{container:!0,spacing:2,mt:2,children:[x(Te,{item:!0,md:3,children:x(Pot,{exerciseId:e.id})},"add"),e.images.map(w=>x(Te,{item:!0,md:3,children:x(Sot,{image:w,canDelete:p.data})},w.id))]})]}),h.isSuccess&&z(tt,{children:[x(Mr,{}),x(Be,{variant:"h6",children:n("videos")}),z(Te,{container:!0,spacing:2,mt:2,children:[h.data&&x(Te,{item:!0,md:3,children:x(Oot,{exerciseId:e.id})},"add"),e.videos.map(w=>x(Te,{item:!0,md:3,children:x(Eot,{video:w,canDelete:h.data})},w.id))]})]}),m.isSuccess&&m.data&&v.isSuccess&&z(tt,{children:[x(Mr,{}),x(Zrt,{exerciseId:e.id,initial:e.category.id}),x(eot,{exerciseId:e.id,initial:e.equipment.map(w=>w.id)}),z(Te,{container:!0,mt:1,children:[z(Te,{item:!0,sm:7,children:[x(R4,{exerciseId:e.id,value:i,setValue:a,blocked:s,isMain:!0}),x(R4,{exerciseId:e.id,value:s,setValue:l,blocked:i,isMain:!1})]}),x(Te,{item:!0,sm:5,children:z(Te,{container:!0,children:[x(Te,{item:!0,xs:6,display:"flex",justifyContent:"center",children:x(cd,{primaryMuscles:i.map(w=>v.data.find(C=>C.id===w)),secondaryMuscles:s.map(w=>v.data.find(C=>C.id===w)),isFront:!0})}),x(Te,{item:!0,xs:6,display:"flex",justifyContent:"center",children:x(cd,{primaryMuscles:i.map(w=>v.data.find(C=>C.id===w)),secondaryMuscles:s.map(w=>v.data.find(C=>C.id===w)),isFront:!1})})]})})]})]})]})},$ot=e=>{const t=e.backgroundColor||"lightgray",n=e.iconColor||"gray",r=e.height||200;return x(an,{sx:{backgroundColor:t,height:r},display:"flex",alignItems:"center",justifyContent:"center",children:x(Es,{sx:{fontSize:80,color:n}})})},TX=({exercise:e,language:t})=>{const n=t?e.getTranslation(t):e.getTranslation(new EG(Ep,"en","English")),[r,o]=Oe();return x(gr,{sx:{width:"100%"},children:z(Hfe,{href:_t(Mt.EXERCISE_DETAIL,o.language,{id:e.id,slug:n.nameSlug}),sx:{minHeight:330},children:[e.mainImage?x(ys,{component:"img",image:e.mainImage.url,sx:{height:200},alt:""}):x(ys,{children:x($ot,{})}),z(Ro,{children:[x(La,{title:n.name,placement:"top",arrow:!0,children:x(Be,{gutterBottom:!0,variant:"h6",component:"div",noWrap:!0,children:n.name})}),x(Pp,{label:r(mo(e.category.name)),sx:{position:"absolute",top:8,left:8},color:"primary",size:"small"},e.category.id),e.equipment.map(i=>x(Be,{display:"inline",mr:1,children:r(mo(i.name))},i.id)),e.equipment.length===0&&x(Be,{color:"text.secondary",display:"inline",mr:1,children:r("exercises.noEquipment")})]})]})},e.id)},Mot=({mainImage:e,sideImages:t})=>z(Te,{container:!0,spacing:1,children:[e&&x(Te,{item:!0,xs:12,children:x(gr,{children:x(ys,{component:"img",image:e.url,alt:""})})}),t.map(n=>x(Te,{item:!0,xs:6,children:x(gr,{children:x(ys,{component:"img",image:n.url,sx:{height:120},alt:""})})},n.id))]}),Aot=({videos:e})=>x(Te,{container:!0,spacing:1,children:e.map(t=>x(Te,{item:!0,xs:6,children:x(gr,{children:x(ys,{component:"video",src:t.url,sx:{height:120},controls:!0,muted:!0,preload:"metadata"})})},t.id))});function J_(){var r,o;const e=$l(),t=ap(Hu.EDIT_EXERCISE),n={canContribute:!1,anonymous:!0,emailVerified:!1,admin:!1};if(e.isSuccess&&t.isSuccess){if(e.data===null)return n;n.anonymous=!1,(r=e.data)!=null&&r.emailVerified&&(n.emailVerified=!0),t.data&&(n.admin=!0),(n.admin||(o=e.data)!=null&&o.isTrustworthy)&&(n.canContribute=!0)}return n}const Rot=({setEditMode:e})=>{const[t]=Oe();return z(an,{mb:2,paddingY:2,sx:{width:"100%",backgroundColor:"#ebebeb",textAlign:"center"},children:[x(Be,{variant:"h5",children:t("exercises.exerciseNotTranslated")}),x(Be,{gutterBottom:!0,variant:"body1",component:"div",children:t("exercises.exerciseNotTranslatedBody")}),x(qe,{variant:"contained",onClick:()=>e(!0),children:t("exercises.translateExerciseNow")})]})},_ot=({exercise:e,variations:t,language:n,setEditMode:r})=>{var l;const[o]=Oe(),i=J_(),a=e.getTranslation(n),s=n&&n.id!==a.language;return z(Te,{container:!0,children:[s&&i.canContribute&&x(Te,{item:!0,xs:12,sm:7,md:12,order:{xs:2,sm:1},children:x(Rot,{setEditMode:r})}),z(Te,{item:!0,xs:12,sm:7,md:8,order:{xs:2,sm:1},children:[(a==null?void 0:a.aliases.length)>0&&z(tt,{children:[z("p",{children:[o("exercises.alsoKnownAs"),"  ",(l=a==null?void 0:a.aliases)==null?void 0:l.map(c=>c.alias).join(", ")]}),x(Mr,{})]}),x(Be,{variant:"h5",children:o("exercises.description")}),x("div",{dangerouslySetInnerHTML:{__html:a==null?void 0:a.description}}),x(Mr,{}),(a==null?void 0:a.notes.length)>0&&x(Be,{variant:"h5",children:o("exercises.notes")}),x("ul",{children:a==null?void 0:a.notes.map(c=>x("li",{children:c.note},c.id))}),x(Mr,{}),x(Be,{variant:"h5",children:o("exercises.muscles")}),z(Te,{container:!0,children:[x(Te,{item:!0,xs:6,md:3,order:{xs:1},children:x(cd,{primaryMuscles:e.muscles,secondaryMuscles:e.musclesSecondary,isFront:!0})}),z(Te,{item:!0,xs:6,md:3,order:{xs:2,md:3},children:[x("h3",{children:o("exercises.primaryMuscles")}),x("ul",{children:e.muscles.map(c=>x("li",{children:c.getName(o)},c.id))})]}),x(Te,{item:!0,xs:6,md:3,order:{xs:3,md:2},children:x(cd,{primaryMuscles:e.muscles,secondaryMuscles:e.musclesSecondary,isFront:!1})}),z(Te,{item:!0,xs:6,md:3,order:{xs:4},children:[x("h3",{children:o("exercises.secondaryMuscles")}),x("ul",{children:e.musclesSecondary.map(c=>x("li",{children:c.getName(o)},c.id))})]})]}),x(Mr,{})]}),z(Te,{item:!0,xs:12,sm:5,md:4,order:{xs:1,sm:2},children:[x(Mot,{mainImage:e.mainImage,sideImages:e.sideImages}),x(Mr,{}),x(Aot,{videos:e.videos})]}),z(Te,{item:!0,xs:12,order:{xs:3},children:[x(bs,{}),x(Mr,{}),t.length>0&&x(Be,{variant:"h5",children:o("exercises.variations")}),x(Te,{container:!0,spacing:2,children:t.map(c=>x(Te,{item:!0,xs:6,md:2,children:x(TX,{exercise:c,language:n},c.id)},c.id))})]}),x(Te,{item:!0,xs:12,order:{xs:4},children:z(Be,{variant:"caption",display:"block",mt:2,children:["The text on this page is available under the ",x("a",{href:"https://creativecommons.org/licenses/by-sa/4.0/deed",children:"CC BY-SA 4 License"}),"."]})})]})};var Z_={},Dot=Ut;Object.defineProperty(Z_,"__esModule",{value:!0});var kX=Z_.default=void 0,Not=Dot(Xt()),Lot=Kt();kX=Z_.default=(0,Not.default)((0,Lot.jsx)("path",{d:"M18.4 10.6C16.55 8.99 14.15 8 11.5 8c-4.65 0-8.58 3.03-9.96 7.22L3.9 16c1.05-3.19 4.05-5.5 7.6-5.5 1.95 0 3.73.72 5.12 1.88L13 16h9V7z"}),"Redo");var e2={},jot=Ut;Object.defineProperty(e2,"__esModule",{value:!0});var IX=e2.default=void 0,Fot=jot(Xt()),Bot=Kt();IX=e2.default=(0,Fot.default)((0,Bot.jsx)("path",{d:"m19 8-4 4h3c0 3.31-2.69 6-6 6-1.01 0-1.97-.25-2.8-.7l-1.46 1.46C8.97 19.54 10.43 20 12 20c4.42 0 8-3.58 8-8h3zM6 12c0-3.31 2.69-6 6-6 1.01 0 1.97.25 2.8.7l1.46-1.46C15.03 4.46 13.57 4 12 4c-4.42 0-8 3.58-8 8H1l4 4 4-4z"}),"Cached");var t2={},zot=Ut;Object.defineProperty(t2,"__esModule",{value:!0});var $X=t2.default=void 0,Vot=zot(Xt()),Hot=Kt();$X=t2.default=(0,Vot.default)((0,Hot.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Clear");function JI({callback:e}){const[t,n]=g.useState(null),[r,o]=g.useState(""),[i,a]=g.useState(!0),[s,l]=g.useState([]),[c,u]=Oe(),d=g.useMemo(()=>dS(f=>kCe(f,u.language,i).then(p=>l(p)),200),[u.language,i]);return g.useEffect(()=>{if(r===""){l(t?[t]:[]);return}return d(r),()=>{}},[t,r,d]),z(tt,{children:[x(Da,{id:"exercise-name-autocomplete",getOptionLabel:f=>f.value,"data-testid":"autocomplete",filterOptions:f=>f,options:s,autoComplete:!0,includeInputInList:!0,filterSelectedOptions:!0,value:t,noOptionsText:c("noResults"),isOptionEqualToValue:(f,p)=>f.value===p.value,onChange:(f,p)=>{l(p?[p,...s]:s),n(p),e(p)},onInputChange:(f,p)=>{o(p)},renderInput:f=>x($t,{...f,label:c("exercises.searchExerciseName"),fullWidth:!0,InputProps:{...f.InputProps,startAdornment:z(tt,{children:[x(dr,{position:"start",children:x(VS,{})}),f.InputProps.startAdornment]})}}),renderOption:(f,p)=>IH("li",{...f,key:`exercise${p.data.id}`,"data-testid":`autocompleter-result-${p.data.id}`},z(Zi,{disablePadding:!0,component:"div",children:[x(fo,{children:p.data.image?x(Na,{alt:"",src:`${RA}${p.data.image}`,variant:"rounded"}):x(Es,{fontSize:"large"})}),x(or,{primary:p.value,primaryTypographyProps:{style:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},secondary:p.data.category})]}))}),u.language!==Op&&x(jC,{children:x($y,{control:x(El,{checked:i,onChange:(f,p)=>a(p)}),label:c("alsoSearchEnglish")})})]})}function Uot(e){var d,f;const[t,n]=V.useState(null),[r,o]=V.useState(null),[i]=Oe(),a=Rd(),s=()=>{o(null),n(null)},l=async()=>{var p;await $Ce((p=e.currentExercise.getTranslation(e.currentLanguage))==null?void 0:p.id),e.onClose(),e.onChangeLanguage()},c=async(p=!1)=>{p?await Aj(e.currentExercise.id,r==null?void 0:r.uuid):await Aj(e.currentExercise.id),e.onClose(),a("../overview")},u=async p=>{const h=p!==void 0?p:t;if(h!==null)try{const m=await YC(h);o(m)}catch{o(null)}};return z(tt,{children:[x(ahe,{id:"alert-dialog-title",children:i("delete")}),z(c8,{children:[x("p",{children:i("exercises.deleteExerciseBody",{name:(d=e.currentExercise.getTranslation(e.currentLanguage))==null?void 0:d.name,language:(f=e.currentLanguage)==null?void 0:f.nameLong})}),x("p",{children:i("cannotBeUndone")}),x("p",{children:x("b",{children:i("exercises.replacements")})}),x("p",{children:i("exercises.replacementsInfoText")}),x("p",{children:i("exercises.replacementsSearch")}),x(JI,{callback:p=>{p!==null&&(n(p.data.base_id),u(p.data.base_id))}}),x($t,{"data-testid":"exercise-id-field",id:"foo",label:"Exercise ID",onBlur:()=>u(),onChange:async p=>{n(p.target.value!==""?parseInt(p.target.value):null)},value:t??"",InputProps:{endAdornment:x(dr,{position:"start",children:x(Rt,{onClick:()=>u(),children:x(IX,{})})})},fullWidth:!0,variant:"standard"}),r===null&&x(tt,{children:x("p",{children:x("i",{children:i("exercises.noReplacementSelected")})})}),r!==null&&z(tt,{children:[z("p",{children:["Selected exercise for replacement:",x(La,{title:i("copyToClipboard"),children:x(Rt,{onClick:()=>navigator.clipboard.writeText(r.id.toString()),children:x(YZe,{})})})]}),z(Zi,{disablePadding:!0,children:[x(pA,{children:x(Na,{children:r.mainImage?x(Na,{alt:"",src:`${RA}${r.mainImage.url}`,variant:"rounded"}):x(Es,{})})}),x(or,{primary:r.getTranslation().name,secondary:`${r.id} (${r.uuid})`}),x(Rt,{onClick:s,children:x($X,{})})]})]})]}),z(l8,{children:[x(qe,{onClick:()=>e.onClose(),children:i("cancel")}),x(qe,{"data-testid":"button-delete-translation",size:"small",onClick:l,variant:"contained",children:i("exercises.deleteTranslation")}),x(qe,{"data-testid":"button-delete-all",size:"small",onClick:()=>c(),variant:"contained",children:i("exercises.deleteExerciseFull")}),x(qe,{"data-testid":"button-delete-and-replace",size:"small",disabled:r===null,onClick:()=>c(!0),variant:"contained",children:i("exercises.deleteExerciseReplace")})]})]})}const Wot="_root_l288f_1",Got="_detail_language_l288f_4",qot="_detail_l288f_4",Kot="_detail_arrow_l288f_18",Yot="_languages_l288f_28",Qot="_language_l288f_28",Xot="_language_menu_l288f_40",Jot="_header_l288f_52",Zot="_toolbar_l288f_55",eit="_dots_l288f_68",su={root:Wot,detail_language:Got,detail:qot,detail_arrow:Kot,languages:Yot,language:Qot,language_menu:Xot,header:Jot,toolbar:Zot,dots:eit},tit=({exercise:e,languages:t,changeLanguage:n,language:r,setEditMode:o,editMode:i})=>{var O,P,E;const[a,s]=g.useState(null),[l,c]=V.useState(!1),u=!!a,[d]=Oe(),f=ap(Hu.DELETE_EXERCISE),p=ap(Hu.EDIT_EXERCISE),h=$l(),m=h.isSuccess&&h.data===null;let v=!1;h.isSuccess&&p.isSuccess&&(v=p.data||h.data!==null&&h.data.isTrustworthy);const b=T=>{s(T.currentTarget)},y=()=>{s(null)},w=T=>{n(T),y()},C=t.map(T=>z(bt,{onClick:()=>w(T),selected:(r==null?void 0:r.id)===T.id,children:[x(or,{children:T.nameLong}),x(fo,{children:e.availableLanguages.includes(T.id)?x(kX,{}):x(di,{})})]},T.nameShort));return x(Te,{container:!0,children:x(Te,{item:!0,xs:12,children:z("div",{className:su.root,children:[x(s8,{open:l,onClose:()=>c(!1),children:x(Uot,{onClose:()=>c(!1),onChangeLanguage:()=>n(t[0]),currentExercise:e,currentLanguage:r})}),z("div",{className:su.detail_language,children:[z("div",{className:su.detail,children:[x(Aa,{to:"../overview",children:d("exercises.exercises")})," > ",(O=e.getTranslation(r))==null?void 0:O.name]}),x("div",{className:su.languages,children:z("div",{className:su.language,children:[x(qe,{size:"small",id:"basic-button",onClick:b,startIcon:x(Yh,{}),children:r==null?void 0:r.nameLong}),z(vi,{id:"basic-menu",anchorEl:a,open:u,onClose:y,MenuListProps:{"aria-labelledby":"basic-button"},sx:{padding:20},children:[x(bt,{disabled:!0,children:d("exercises.changeExerciseLanguage")}),x(bs,{}),C]})]})})]}),z("div",{className:su.header,children:[x(Be,{gutterBottom:!0,variant:"h2",margin:0,sx:{mt:2},children:(P=e.getTranslation(r))==null?void 0:P.name}),!m&&z("nav",{className:su.toolbar,children:[f.isSuccess&&f.data&&(r==null?void 0:r.id)===((E=e.getTranslation(r))==null?void 0:E.language)&&x(qe,{onClick:()=>c(!0),children:d("delete")}),v&&x(qe,{onClick:()=>o(!0),disabled:i,children:"EDIT"}),x(qe,{onClick:()=>o(!1),disabled:!i,children:"VIEW"})]})]}),z(pt,{direction:"row",spacing:1,mt:2,children:[x(Pp,{label:d(mo(e.category.name)),size:"small"}),e.equipment.map(T=>x(Pp,{label:d(mo(T.name)),variant:"outlined",size:"small"},T.id))]})]})})})},Mr=()=>x(an,{sx:{height:40}}),nit=()=>{var v;const[e,t]=g.useState(),[n,r]=g.useState(),[o,i]=g.useState(!1),a=_d(),s=a.baseID?parseInt(a.baseID):0,{i18n:l}=Oe(),c=Rd(),u=tP(),d=lr([c1e,s],()=>YC(s),{enabled:u.isSuccess,onSuccess:b=>{const y=GT(l.language,u.data);if(y){const w=b.getTranslation(y);r(w)}t(y)}}),f=lr([l1e,(v=d.data)==null?void 0:v.variationId],()=>{var b;return ECe((b=d.data)==null?void 0:b.variationId)},{enabled:d.isSuccess});if(d.isError||u.isError||f.isError)return c("/not-found"),null;const p=b=>{var w;const y=GT(b.nameShort,u.data);t(y),r((w=d.data)==null?void 0:w.getTranslation(b))},h=f.isSuccess?f.data.filter(b=>b.id!==s):[];let m;return d.isSuccess&&u.isSuccess&&(m=o?x(Iot,{exercise:d.data,language:e}):x(_ot,{exercise:d.data,language:e,variations:h,setEditMode:i})),z(tt,{children:[d.isSuccess&&u.isSuccess&&x(hl,{children:x(tit,{exercise:d.data,languages:u.data,changeLanguage:p,language:e,setEditMode:i,editMode:o})}),x(Mr,{}),z(hl,{maxWidth:"lg",children:[d.isLoading&&u.isLoading&&x(ri,{}),m]})]})};var n2={},rit=Ut;Object.defineProperty(n2,"__esModule",{value:!0});var MX=n2.default=void 0,oit=rit(Xt()),iit=Kt();MX=n2.default=(0,oit.default)((0,iit.jsx)("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z"}),"Delete");function AX(e){const[t]=Oe(),[n,r,o]=sa(e.fieldName),[i,a]=g.useState(""),s=u=>{o.setValue(n.value.filter((d,f)=>f!==u))},l=(u,d)=>{n.value[u]=d,o.setValue(n.value)},c=()=>{n.value.push(i),o.setValue(n.value),a("")};return z(tt,{children:[x(Te,{item:!0,xs:12,children:x($t,{fullWidth:!0,label:t("exercises.newNote"),sx:{mb:3},variant:"standard",value:i,onChange:u=>a(u.target.value),error:r.touched&&!!r.error,helperText:r.touched&&r.error?r.error:t("exercises.notesHelpText"),InputProps:{endAdornment:x(dr,{position:"end",children:x(Rt,{onClick:c,children:x(di,{})})})}})}),n.value.map((u,d)=>x($t,{fullWidth:!0,value:u,onChange:f=>l(d,f.target.value),sx:{mt:2},variant:"standard",error:r.touched&&!!r.error,InputProps:{endAdornment:x(dr,{position:"end",children:x(Rt,{onClick:()=>s(d),children:x(MX,{})})})}},d))]})}const ait=({onContinue:e,onBack:t})=>{const[n]=Oe(),[r,o]=Zh(),i=la({description:W_(n),notes:EX(n)});return x(aa,{initialValues:{description:r.descriptionEn,notes:r.notesEn},validationSchema:i,onSubmit:a=>{o(Ort(a.description)),o(Trt(a.notes)),e()},children:x(yi,{children:z(pt,{children:[x(Y_,{fieldName:"description"}),x(Mr,{}),x(AX,{fieldName:"notes"}),x(Te,{container:!0,children:x(Te,{item:!0,xs:12,display:"flex",justifyContent:"end",children:x(an,{sx:{mb:2},children:z("div",{children:[x(qe,{onClick:t,sx:{mt:1,mr:1},children:n("goBack")}),x(qe,{variant:"contained",type:"submit",sx:{mt:1,mr:1},children:n("continue")})]})})})})]})})})},sit=({onContinue:e,onBack:t})=>{const[n]=Oe(),r=tP(),[o,i]=Zh(),[a,s]=g.useState(o.languageId!==null),l=la(a?{description:W_(n),name:H_(n),alternativeNames:U_(n),notes:EX(n),language:So().required()}:{});return x(aa,{initialValues:{name:o.nameI18n,alternativeNames:o.alternativeNamesI18n,description:o.descriptionI18n,language:o.languageId===null?"":o.languageId,notes:o.notesI18n},validationSchema:l,onSubmit:c=>{i(Irt(c.name)),i($rt(c.description)),i(Art(c.alternativeNames)),i(Frt(c.language===""?null:c.language)),i(Mrt(c.notes)),e()},children:c=>z(yi,{children:[z(pt,{spacing:2,children:[x(jC,{children:x($y,{checked:a,onClick:()=>s(!a),control:x(El,{}),label:n("exercises.translateExerciseNow")})}),a&&z(tt,{children:[r.isLoading?x(an,{children:x(ri,{})}):z(hh,{fullWidth:!0,children:[x(mh,{id:"label-language",children:n("language")}),x(Hc,{labelId:"label-language",id:"language",value:c.getFieldProps("language").value,onChange:u=>{c.setFieldValue(c.getFieldProps("language").name,u.target.value)},label:n("language"),error:!!(c.touched.language&&c.errors.language),children:r.data.filter(u=>u.id!==Ep).map(u=>z(bt,{value:u.id,children:[u.nameShort," - ",u.nameLong]},u.id))})]}),x(V_,{fieldName:"name"}),x(G_,{fieldName:"alternativeNames"}),x(Y_,{fieldName:"description"}),x(Mr,{}),x(AX,{fieldName:"notes"})]})]}),x(Te,{container:!0,children:x(Te,{item:!0,xs:12,display:"flex",justifyContent:"end",children:x(an,{sx:{mb:2},children:z("div",{children:[x(qe,{onClick:t,sx:{mt:1,mr:1},children:n("goBack")}),x(qe,{variant:"contained",type:"submit",sx:{mt:1,mr:1},children:n("continue")})]})})})})]})})};var r2={},lit=Ut;Object.defineProperty(r2,"__esModule",{value:!0});var RX=r2.default=void 0,cit=lit(Xt()),_4=Kt();RX=r2.default=(0,cit.default)([(0,_4.jsx)("circle",{cx:"12",cy:"12",r:"3.2"},"0"),(0,_4.jsx)("path",{d:"M9 2 7.17 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2h-3.17L15 2zm3 15c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5"},"1")],"CameraAlt");var o2={},uit=Ut;Object.defineProperty(o2,"__esModule",{value:!0});var _X=o2.default=void 0,dit=uit(Xt()),fit=Kt();_X=o2.default=(0,dit.default)((0,fit.jsx)("path",{d:"M22 16V4c0-1.1-.9-2-2-2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2m-11-4 2.03 2.71L16 11l4 5H8zM2 6v14c0 1.1.9 2 2 2h14v-2H4V6z"}),"Collections");var i2={},pit=Ut;Object.defineProperty(i2,"__esModule",{value:!0});var DX=i2.default=void 0,hit=pit(Xt()),mit=Kt();DX=i2.default=(0,hit.default)((0,mit.jsx)("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM8 9h8v10H8zm7.5-5-1-1h-5l-1 1H5v2h14V4z"}),"DeleteOutline");var a2={},git=Ut;Object.defineProperty(a2,"__esModule",{value:!0});var s2=a2.default=void 0,vit=git(Xt()),yit=Kt();s2=a2.default=(0,vit.default)((0,yit.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 15h-2v-6h2zm0-8h-2V7h2z"}),"Info");function bit(e){const[t]=Oe(),[n,r]=sa(e.fieldName);return x($t,{fullWidth:!0,id:e.fieldName,label:t("licenses.authors"),variant:"standard",error:r.touched&&!!r.error,helperText:r.touched&&r.error,...n})}function xit(e){const[t]=Oe(),[n,r]=sa(e.fieldName);return x($t,{fullWidth:!0,id:e.fieldName,label:t("licenses.authorProfile"),variant:"standard",placeholder:"https://",error:r.touched&&!!r.error,helperText:r.touched&&r.error,...n})}function wit(e){const[t]=Oe(),[n,r]=sa(e.fieldName);return x($t,{fullWidth:!0,id:e.fieldName,label:t("licenses.derivativeSourceUrl"),variant:"standard",placeholder:"https://",error:r.touched&&!!r.error,helperText:t("licenses.derivativeSourceUrlHelper")||r.touched&&r.error,...n})}function Cit(e){const[t]=Oe(),[n,r]=sa(e.fieldName);return x($t,{fullWidth:!0,id:e.fieldName,label:t("licenses.originalObjectUrl"),variant:"standard",placeholder:"https://",error:r.touched&&!!r.error,helperText:r.touched&&r.error,...n})}function Sit(e){const[t]=Oe(),[n,r]=sa(e.fieldName);return x($t,{fullWidth:!0,id:e.fieldName,label:t("licenses.originalTitle"),variant:"standard",error:r.touched&&!!r.error,helperText:r.touched&&r.error,...n})}var l2={},Pit=Ut;Object.defineProperty(l2,"__esModule",{value:!0});var NX=l2.default=void 0,Eit=Pit(Xt()),Oit=Kt();NX=l2.default=(0,Eit.default)((0,Oit.jsx)("path",{d:"m14 6-3.75 5 2.85 3.8-1.6 1.2C9.81 13.75 7 10 7 10l-6 8h22z"}),"Landscape");var c2={},Tit=Ut;Object.defineProperty(c2,"__esModule",{value:!0});var LX=c2.default=void 0,kit=Tit(Xt()),Iit=Kt();LX=c2.default=(0,kit.default)((0,Iit.jsx)("path",{d:"m14 6-4.22 5.63 1.25 1.67L14 9.33 19 16h-8.46l-4.01-5.37L1 18h22zM5 16l1.52-2.03L8.04 16z"}),"LandscapeOutlined");var u2={},$it=Ut;Object.defineProperty(u2,"__esModule",{value:!0});var jX=u2.default=void 0,Mit=$it(Xt()),D4=Kt();jX=u2.default=(0,Mit.default)([(0,D4.jsx)("path",{d:"M5 16h3.04l-1.52-2.03z",opacity:".3"},"0"),(0,D4.jsx)("path",{d:"m9.78 11.63 1.25 1.67L14 9.33 19 16h-8.46l-4.01-5.37L1 18h22L14 6zM5 16l1.52-2.03L8.04 16z"},"1")],"LandscapeTwoTone");var d2={},Ait=Ut;Object.defineProperty(d2,"__esModule",{value:!0});var FX=d2.default=void 0,Rit=Ait(Xt()),_it=Kt();FX=d2.default=(0,Rit.default)((0,_it.jsx)("path",{d:"M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2"}),"MoreHoriz");var f2={},Dit=Ut;Object.defineProperty(f2,"__esModule",{value:!0});var BX=f2.default=void 0,Nit=Dit(Xt()),N4=Kt();BX=f2.default=(0,Nit.default)([(0,N4.jsx)("circle",{cx:"12",cy:"12",r:"3.2"},"0"),(0,N4.jsx)("path",{d:"M9 2 7.17 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2h-3.17L15 2zm3 15c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5"},"1")],"PhotoCamera");function Lit(e){const[t]=Oe(),[n,r]=g.useState(Hs.PHOTO),[o,i,a]=sa(e.fieldName);return z(j0e,{value:n,exclusive:!0,fullWidth:!0,onChange:(l,c)=>{r(c),a.setValue(c)},"aria-label":"text alignment",children:[x(Cm,{value:Hs.PHOTO,children:z(pt,{justifyContent:"center",alignItems:"center",children:[x(BX,{}),x(Be,{variant:"caption",children:t("exercises.imageStylePhoto")})]})}),x(Cm,{value:Hs.THREE_D,children:z(pt,{justifyContent:"center",alignItems:"center",children:[x(NX,{}),x(Be,{variant:"caption",children:t("exercises.imageStyle3D")})]})}),x(Cm,{value:Hs.LINE_ART,children:z(pt,{justifyContent:"center",alignItems:"center",children:[x(LX,{}),x(Be,{variant:"caption",children:t("exercises.imageStyleLine")})]})}),x(Cm,{value:Hs.LOW_POLY,children:z(pt,{justifyContent:"center",alignItems:"center",children:[x(jX,{}),x(Be,{variant:"caption",children:t("exercises.imageStyleLowPoly")})]})}),x(Cm,{value:Hs.OTHER,children:z(pt,{justifyContent:"center",alignItems:"center",children:[x(FX,{}),x(Be,{variant:"caption",children:t("exercises.imageStyleOther")})]})})]})}const jit=({onContinue:e,onBack:t})=>{const[n]=Oe(),r=$l(),[o,i]=Zh(),[a,s]=g.useState(o.images),[l,c]=g.useState(void 0),[u,d]=V.useState(!1),f=()=>d(!1);g.useEffect(()=>{i(Brt(a))},[i,a]);const p=y=>{var O;if(!((O=y.target.files)!=null&&O.length))return;const[w]=y.target.files,C=URL.createObjectURL(w);d(!0),c({url:C,file:w,author:"",authorUrl:"",title:"",derivativeSourceUrl:"",objectUrl:"",style:Hs.PHOTO.toString()})},h=y=>{s(a.concat({url:l==null?void 0:l.url,file:l==null?void 0:l.file,author:y.author,authorUrl:y.authorUrl,title:y.title,derivativeSourceUrl:y.derivativeSourceUrl,objectUrl:y.objectUrl,style:y.imageStyle.toString()})),f()},m=y=>{const w=a.filter(C=>C.url!==y);s(w)},v=()=>{e()};return z("div",{children:[x(ph,{open:u,onClose:f,"aria-labelledby":"modal-modal-title","aria-describedby":"modal-modal-description",children:z(an,{sx:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:600,bgcolor:"background.paper",boxShadow:24,p:4},children:[x(Be,{id:"modal-modal-title",variant:"h6",component:"h2",children:n("exercises.imageDetails")}),z(Te,{container:!0,spacing:2,children:[x(Te,{item:!0,xs:4,children:l&&x("img",{style:{width:"100%"},src:l.url,alt:"",loading:"lazy"})}),x(Te,{item:!0,xs:8,children:x(aa,{initialValues:{title:"",objectUrl:"",author:r.isSuccess?r.data.username:"",authorUrl:"",derivativeSourceUrl:"",imageStyle:Hs.PHOTO},onSubmit:y=>{console.log(y),h(y)},children:y=>z(yi,{children:[z(pt,{spacing:2,children:[x(Sit,{fieldName:"title"}),x(Cit,{fieldName:"objectUrl"}),x(bit,{fieldName:"author"}),x(xit,{fieldName:"authorUrl"}),x(wit,{fieldName:"derivativeSourceUrl"}),x(Lit,{fieldName:"imageStyle"}),z(fl,{icon:x(s2,{fontSize:"inherit"}),severity:"info",children:["By submitting this image, you agree to release it under the ",x("a",{href:"https://creativecommons.org/licenses/by-sa/4.0/",target:"_blank",rel:"noreferrer",children:"CC BY-SA 4.0"})," license. The image must be either your own work or the author must have released in under a license compatible with CC BY-SA 4.0."]})]}),x(pt,{direction:"row",justifyContent:"end",sx:{mt:2},children:x(qe,{color:"primary",variant:"contained",type:"submit",sx:{mt:2},children:n("add")})})]})})})]})]})}),x(Be,{children:n("exercises.compatibleImagesCC")}),z(pt,{direction:"row",justifyContent:"center",children:[z("div",{children:[x("label",{htmlFor:"camera-input",children:x(RX,{fontSize:"large",sx:{m:2}})}),x("input",{style:{display:"none"},id:"camera-input",type:"file",accept:"image/*",capture:"environment",onChange:p})]}),z("div",{children:[x("label",{htmlFor:"image-input",children:x(_X,{fontSize:"large",sx:{m:2}})}),x("input",{type:"file",accept:"image/*",name:"image-file",id:"image-input",style:{display:"none"},onChange:p})]})]}),x(h8,{cols:3,style:{maxHeight:"400px"},children:a.map(y=>z(m8,{children:[x("img",{style:{maxHeight:"400px",maxWidth:"400px"},src:y.url,alt:"",loading:"lazy"}),x(Rme,{title:y.title,subtitle:y.author,actionIcon:x(Rt,{onClick:()=>m(y.url),sx:{color:"white"},children:x(DX,{})})})]},y.url))}),x(Be,{children:n("forms.supportedImageFormats")}),x(Te,{container:!0,children:x(Te,{item:!0,xs:12,display:"flex",justifyContent:"end",children:x(an,{sx:{mb:2},children:z(tt,{children:[x(qe,{onClick:t,sx:{mt:1,mr:1},children:n("goBack")}),x(qe,{variant:"contained",onClick:v,sx:{mt:1,mr:1},children:n("continue")})]})})})})]})};var p2={},Fit=Ut;Object.defineProperty(p2,"__esModule",{value:!0});var zX=p2.default=void 0,Bit=Fit(Xt()),zit=Kt();zX=p2.default=(0,Bit.default)((0,zit.jsx)("path",{d:"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"NavigateNext");const Vit="exercisecomment",L4=async e=>{const t=new xG,n=Ke(Vit),r=await je.post(n,t.toJson(e),{headers:Je()});return t.fromJson(r.data)},Hit="variation",Uit=async()=>{const e=Ke(Hit);return(await je.post(e,{},{headers:Je()})).data.id},Wit=({onBack:e})=>{const[t,n]=Oe(),[r]=Zh(),o=Rd(),i=ZS(),a=tP(),s=lb(),l=eP(),c=$l(),[u,d]=g.useState("initial"),f=async()=>{d("loading");let h;r.newVariationBaseId!==null?h=await Uit():h=r.variationId;const m=await OCe(r.category,r.equipment,r.muscles,r.musclesSecondary,h,c.data.username),v=await WT(m,Ep,r.nameEn,r.descriptionEn,c.data.username);for(const b of r.alternativeNamesEn)await qT(v.id,b);for(const b of r.images)await TG({exerciseId:m,image:b.file,imageData:b});for(const b of r.notesEn)await L4(new UT(null,v.id,b));if(r.languageId!==null){const b=await WT(m,r.languageId,r.nameI18n,r.descriptionI18n,c.data.username);for(const y of r.alternativeNamesI18n)await qT(b.id,y);for(const y of r.notesI18n)await L4(new UT(null,b.id,y))}console.log("Exercise created"),d("done")},p=()=>{o(_t(Mt.EXERCISE_OVERVIEW,n.language))};return l.isLoading||a.isLoading||s.isLoading||i.isLoading?x(Tr,{}):z(tt,{children:[x(Be,{variant:"h6",children:t("exercises.step1HeaderBasics")}),x(vl,{children:x(ml,{children:z(gl,{children:[z(gt,{children:[x(me,{children:t("name")}),x(me,{children:r.nameEn})]}),z(gt,{children:[x(me,{children:t("exercises.alternativeNames")}),x(me,{children:r.alternativeNamesEn.join(", ")})]}),z(gt,{children:[x(me,{children:t("description")}),x(me,{children:r.descriptionEn})]}),z(gt,{children:[x(me,{children:t("exercises.notes")}),x(me,{children:r.notesEn.map(h=>z(tt,{children:[h,x("br",{})]}))})]}),z(gt,{children:[x(me,{children:t("category")}),x(me,{children:t(mo(i.data.find(h=>h.id===r.category).name))})]}),z(gt,{children:[x(me,{children:t("exercises.equipment")}),x(me,{children:r.equipment.map(h=>t(mo(l.data.find(m=>m.id===h).name))).join(", ")})]}),z(gt,{children:[x(me,{children:t("exercises.muscles")}),x(me,{children:r.muscles.map(h=>s.data.find(m=>m.id===h).getName(t)).join(", ")})]}),z(gt,{children:[x(me,{children:t("exercises.secondaryMuscles")}),x(me,{children:r.musclesSecondary.map(h=>s.data.find(m=>m.id===h).getName(t)).join(", ")})]}),z(gt,{children:[x(me,{children:t("exercises.variations")}),z(me,{children:[r.variationId," / ",r.newVariationBaseId]})]})]})})}),r.images.length>0&&x(h8,{cols:3,style:{maxHeight:"200px"},children:r.images.map(h=>x(m8,{children:x("img",{style:{maxHeight:"200px",maxWidth:"200px"},src:h.url,alt:"",loading:"lazy"})},h.url))}),r.languageId!==null&&z(tt,{children:[x(Be,{variant:"h6",sx:{mt:3},children:a.data.find(h=>h.id===r.languageId).nameLong}),x(vl,{children:x(ml,{children:z(gl,{children:[z(gt,{children:[x(me,{children:t("name")}),x(me,{children:r.nameI18n})]}),z(gt,{children:[x(me,{children:t("exercises.alternativeNames")}),x(me,{children:r.alternativeNamesI18n.join(", ")})]}),z(gt,{children:[x(me,{children:t("description")}),x(me,{children:r.descriptionI18n})]}),z(gt,{children:[x(me,{children:t("exercises.notes")}),x(me,{children:r.notesI18n.map(h=>z(tt,{children:[h,x("br",{})]}))})]})]})})})]}),u!=="done"?x(fl,{severity:"info",sx:{mt:2},children:t("exercises.checkInformationBeforeSubmitting")}):z(fl,{severity:"success",sx:{mt:2},children:[x(Bx,{children:t("success")}),t("exercises.cacheWarning")]}),x(Te,{container:!0,children:x(Te,{item:!0,xs:12,display:"flex",justifyContent:"end",children:x(an,{sx:{mb:2},children:z("div",{children:[u!=="done"&&x(qe,{onClick:e,sx:{mt:1,mr:1},children:t("goBack")}),u!=="done"&&x(qe,{variant:"contained",disabled:u!=="initial",onClick:f,sx:{mt:1,mr:1},color:"info",children:t("exercises.submitExercise")}),u==="done"&&z(qe,{variant:"contained",onClick:p,sx:{mt:1,mr:1},color:"success",children:[t("overview"),x(zX,{})]})]})})})})]})},Git=()=>{const[e]=Oe(),[t,n]=V.useState(0),r=()=>{n(i=>i+1)},o=()=>{n(i=>i-1)};return x(Vrt,{children:z(hl,{maxWidth:"md",children:[x(pt,{direction:"row",children:x(Be,{gutterBottom:!0,variant:"h3",component:"div",children:e("exercises.contributeExercise")})}),x(an,{children:z(Zye,{activeStep:t,orientation:"vertical",children:[z(Gd,{children:[x(fu,{children:e("exercises.step1HeaderBasics")}),x(qd,{children:x(Grt,{onContinue:r,onBack:o})})]},1),z(Gd,{children:[x(fu,{children:e("exercises.variations")}),x(qd,{children:x(Krt,{onContinue:r,onBack:o})})]},2),z(Gd,{children:[x(fu,{children:e("description")}),x(qd,{children:x(ait,{onContinue:r,onBack:o})})]},3),z(Gd,{children:[x(fu,{children:e("translation")}),x(qd,{children:x(sit,{onContinue:r,onBack:o})})]},4),z(Gd,{children:[x(fu,{children:e("images")}),x(qd,{children:x(jit,{onContinue:r,onBack:o})})]},5),z(Gd,{children:[x(fu,{children:e("overview")}),x(qd,{children:x(Wit,{onBack:o})})]},6)]})})]})})};var h2={},qit=Ut;Object.defineProperty(h2,"__esModule",{value:!0});var VX=h2.default=void 0,Kit=qit(Xt()),Yit=Kt();VX=h2.default=(0,Kit.default)((0,Yit.jsx)("path",{d:"M6.23 20.23 8 22l10-10L8 2 6.23 3.77 14.46 12z"}),"ArrowForwardIos");const Qit=()=>{const[e]=Oe(),t=J_();return z(hl,{maxWidth:"md",children:[x(Be,{variant:"h3",children:e("exercises.notEnoughRightsHeader")}),z(an,{marginTop:4,padding:4,sx:{width:"100%",backgroundColor:"#ebebeb",textAlign:"center"},children:[x(Be,{mb:2,children:e("exercises.notEnoughRights",{days:r1e})}),!t.anonymous&&!t.emailVerified&&x(qe,{variant:"contained",href:"/user/preferences",endIcon:x(VX,{}),children:e("preferences")})]})]})},Xit=()=>{const e=J_();return x(tt,{children:e.canContribute?x(Git,{}):x(Qit,{})})},Jit=()=>x("div",{children:"Add Weight Page"}),Zit=()=>x("div",{children:"BmiCalculator Page"}),eat=()=>x("div",{children:"Calendar Page"}),tat=()=>x("div",{children:"Calories Calculator Page"}),nat=()=>x("div",{children:"Equipments Page"}),rat=()=>x("div",{children:"Gallery Page"}),oat=()=>x("div",{children:"Ingredients Page"}),iat=()=>x("div",{children:"Login Page"}),aat=()=>x("div",{children:"Preferences Page"}),sat=()=>x("div",{children:"Public Template"}),lat=()=>x("div",{children:"RestApi Page"}),cat=()=>x("div",{children:"Your Template"});var m2={},uat=Ut;Object.defineProperty(m2,"__esModule",{value:!0});var HX=m2.default=void 0,dat=uat(Xt()),fat=Kt();HX=m2.default=(0,dat.default)((0,fat.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown");const pat=({weight:e})=>{const t=utt(),[n]=Oe(),[r,o]=V.useState(null),[i,a]=V.useState(!1),s=!!r,l=h=>{o(h.currentTarget)},c=()=>{u(),f()},u=()=>{o(null)},d=()=>{t.mutate(e.id),o(null)},f=()=>a(!0),p=()=>a(!1);return z("div",{children:[x(qe,{onClick:l,children:x(HX,{})}),z(vi,{anchorEl:r,open:s,onClose:u,MenuListProps:{"aria-labelledby":"basic-button"},children:[x(bt,{onClick:c,children:n("edit")}),x(bt,{onClick:d,children:n("delete")})]}),x(yo,{title:n("edit"),isOpen:i,closeFn:p,children:x(Xh,{weightEntry:e,closeFn:p})})]})},hat=()=>{const[e]=Oe(),[t,n]=V.useState(!1),r=()=>n(!0),o=()=>n(!1);return z("div",{children:[x(vd,{color:"primary","aria-label":"add",onClick:r,sx:{position:"fixed",bottom:"5rem",right:i=>i.spacing(2),zIndex:9},children:x(di,{})}),x(yo,{title:e("add"),isOpen:t,closeFn:o,children:x(Xh,{closeFn:o})})]})},mat=e=>e.map((t,n)=>n===0?{entry:t,change:0,days:Math.abs(t.date.getTime()-t.date.getTime())/(1e3*60*60*24)}:{entry:t,change:e[n].weight-e[n-1].weight,days:Math.abs(t.date.getTime()-e[n-1].date.getTime())/(1e3*60*60*24)}),gat=vX(e=>({table:{"& .MuiPaper-root":{border:"1px solid #bababa"}}})),vat=({weights:e})=>{const t=[10,50,100],[n]=Oe(),r=gat(),o=mat(e),[i,a]=g.useState(t[0]),[s,l]=g.useState(0),c=(d,f)=>{l(f)},u=d=>{a(parseInt(d.target.value,10)),l(0)};return z("div",{className:r.table,children:[z(vl,{component:Kn,children:[z(ml,{sx:{minWidth:650},"aria-label":"simple table",children:[x(yd,{children:z(gt,{children:[x(me,{align:"center",children:n("date")}),x(me,{align:"center",children:n("weight")}),x(me,{align:"center",children:n("difference")}),x(me,{align:"center",children:n("days")}),x(me,{align:"center"})]})}),x(gl,{children:o.slice(s*i,s*i+i).map(d=>z(gt,{sx:{"&:last-child td, &:last-child th":{border:0}},children:[x(me,{component:"th",scope:"row",align:"center",children:d.entry.date.toLocaleDateString()}),x(me,{align:"center",children:d.entry.weight}),x(me,{align:"center",children:+d.change.toFixed(2)}),x(me,{align:"center",children:d.days}),x(me,{align:"center",children:x(pat,{weight:d.entry})})]},d.entry.date.toLocaleDateString()))})]}),x(yA,{rowsPerPageOptions:t,component:"div",count:o.length,rowsPerPage:i,page:s,onPageChange:c,onRowsPerPageChange:u})]}),x(hat,{})]})},yat=()=>{const[e]=Oe(),[t,n]=g.useState(!1),r=()=>n(!0),o=()=>n(!1);return z("div",{children:[x(vd,{color:"secondary","aria-label":"add",onClick:r,sx:{position:"fixed",bottom:"5rem",right:i=>i.spacing(2),zIndex:9},children:x(di,{})}),x(yo,{title:e("add"),isOpen:t,closeFn:o,children:x(Xh,{closeFn:o})})]})},em=e=>z(hl,{maxWidth:"lg",children:[z(Te,{container:!0,spacing:2,children:[x(Te,{item:!0,xs:8,sx:{mb:2},children:z(pt,{direction:"row",justifyContent:"space-between",alignItems:"center",children:[x(Be,{gutterBottom:!0,variant:"h3",children:e.title}),e.optionsMenu]})}),x(Te,{item:!0,xs:12,sm:8,children:e.mainContent}),x(Te,{item:!0,xs:12,sm:4,children:e.sideBar})]}),e.fab]}),bat=()=>{const[e]=Oe(),t=L_();return t.isLoading?x(Tr,{}):x(em,{title:e("weight"),mainContent:z(pt,{spacing:2,children:[t.data.length===0&&x(zC,{}),x(yX,{weights:t.data}),x(an,{sx:{mt:4}}),x(vat,{weights:t.data})]}),fab:x(yat,{})})},xat=()=>{const{i18n:e}=Oe(),[t,n]=V.useState(null);return z(tt,{children:[x(qe,{color:"inherit",onClick:r=>n(r.currentTarget),children:"Routines"}),z(vi,{anchorEl:t,open:!!t,onClose:()=>n(null),children:[x(bt,{component:Aa,to:_t(Mt.ROUTINE_OVERVIEW,e.language),children:"Routine overview"}),x(bt,{component:Aa,to:_t(Mt.EXERCISE_OVERVIEW,e.language),children:"Exercise overview"}),x(bt,{component:Aa,to:_t(Mt.EXERCISE_CONTRIBUTE,e.language),children:"Contribute exercise"})]})]})},wat=()=>{const{i18n:e}=Oe(),[t,n]=V.useState(null);return z(tt,{children:[x(qe,{color:"inherit",onClick:r=>n(r.currentTarget),children:"Weight"}),z(vi,{anchorEl:t,open:!!t,onClose:()=>n(null),children:[x(bt,{component:Aa,to:_t(Mt.WEIGHT_OVERVIEW,e.language),children:"Weight overview"}),x(bt,{component:Aa,to:_t(Mt.WEIGHT_ADD,e.language),children:"Add weight entry"})]})]})},Cat=()=>{const{i18n:e}=Oe(),[t,n]=V.useState(null);return z(tt,{children:[x(qe,{color:"inherit",onClick:r=>n(r.currentTarget),children:"Measurements"}),x(vi,{anchorEl:t,open:!!t,onClose:()=>n(null),children:x(bt,{component:Aa,to:_t(Mt.MEASUREMENT_OVERVIEW,e.language),children:"Overview"})})]})},Sat=()=>{const{i18n:e}=Oe(),[t,n]=V.useState(null);return z(tt,{children:[x(qe,{color:"inherit",onClick:r=>n(r.currentTarget),children:"Nutrition"}),x(vi,{anchorEl:t,open:!!t,onClose:()=>n(null),children:x(bt,{component:Aa,to:_t(Mt.NUTRITION_OVERVIEW,e.language),children:"Overview"})})]})},Pat=()=>x(mce,{position:"static",children:z(P8,{children:[x(Be,{variant:"h6",component:"div",mr:3,children:"wger"}),x(xat,{}),x(wat,{}),x(Cat,{}),x(Sat,{})]})}),UX=()=>x(bat,{}),Eat=()=>x("div",{children:"Workout Page"}),Oat=()=>x("div",{children:"Workout Schedule"});var Ml,j4=Ey;Ml=j4.createRoot,j4.hydrateRoot;const Tat=()=>z(Te,{container:!0,spacing:2,children:[x(Te,{item:!0,xs:4,children:x(eX,{})}),x(Te,{item:!0,xs:4,children:x(FQ,{})}),x(Te,{item:!0,xs:4,children:x(bX,{})})]}),cb=g.createContext({}),WX=()=>{const{data:e,isLoading:t}=ZS(),{selectedCategories:n,setSelectedCategories:r}=g.useContext(cb),[o]=Oe(),i=a=>()=>{const s=n.indexOf(a),l=[...n];s===-1?l.push(a):l.splice(s,1),r(l)};return t?x(Tr,{}):x(za,{children:e.map(a=>{const s=`checkbox-list-label-${a.id}`;return x(Zi,{disablePadding:!0,children:z(Vc,{role:void 0,onClick:i(a),dense:!0,children:[x(fo,{children:x(El,{edge:"start",checked:n.indexOf(a)!==-1,tabIndex:-1,disableRipple:!0,inputProps:{"aria-labelledby":s}},`category-${a.id}`)}),x(or,{id:s,primary:o(mo(a.name))})]})},a.id)})})},kat=()=>{const[e]=Oe();return z(QM,{children:[x(JM,{expandIcon:x(bd,{}),children:e("category")}),x(XM,{children:x(WX,{})})]})},Iat=()=>{const[e]=Oe();return x("div",{"data-testid":"categories",children:z(Kn,{children:[x(Be,{gutterBottom:!0,variant:"h6",m:2,children:e("category")}),x(WX,{})]})})},GX=()=>{const{data:e,isLoading:t}=eP(),{selectedEquipment:n,setSelectedEquipment:r}=g.useContext(cb),[o]=Oe(),i=a=>()=>{const s=n.indexOf(a),l=[...n];s===-1?l.push(a):l.splice(s,1),r(l)};return t?x(Tr,{}):x(za,{sx:{maxHeight:"500px",overflowY:"auto"},children:e.map(a=>{const s=`checkbox-list-label-${a.id}`;return x(Zi,{disablePadding:!0,children:z(Vc,{role:void 0,onClick:i(a),dense:!0,children:[x(fo,{children:x(El,{edge:"start",checked:n.indexOf(a)!==-1,tabIndex:-1,disableRipple:!0,inputProps:{"aria-labelledby":s}},`muscle-${a.id}`)}),x(or,{id:s,primary:o(mo(a.name))})]})},a.id)})})},$at=()=>{const[e]=Oe();return z(QM,{children:[x(JM,{expandIcon:x(bd,{}),children:e("exercises.equipment")}),x(XM,{children:x(GX,{})})]})},Mat=()=>{const[e]=Oe();return x("div",{"data-testid":"equipment",children:z(Kn,{sx:{mt:2},children:[x(Be,{gutterBottom:!0,variant:"h6",m:2,children:e("exercises.equipment")}),x(GX,{})]})})};var g2={},Aat=Ut;Object.defineProperty(g2,"__esModule",{value:!0});var v2=g2.default=void 0,Rat=Aat(Xt()),_at=Kt();v2=g2.default=(0,Rat.default)((0,_at.jsx)("path",{d:"M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8"}),"InfoOutlined");const Dat=W(({className:e,...t})=>x(La,{...t,classes:{popper:e}}))(({theme:e})=>({[`& .${Ks.tooltip}`]:{backgroundColor:"rgb(245, 245, 245)",color:"rgba(0, 0, 0, 0.87)",boxShadow:e.shadows[1],fontSize:11}})),qX=()=>{const{data:e,isLoading:t}=lb(),{selectedMuscles:n,setSelectedMuscles:r}=g.useContext(cb),[o]=Oe(),i=a=>()=>{const s=n.indexOf(a),l=[...n];s===-1?l.push(a):l.splice(s,1),r(l)};return t?x(Tr,{}):x(za,{sx:{maxHeight:"500px",overflowY:"auto"},children:e.map(a=>{const s=`checkbox-list-label-${a.id}`;return x(Zi,{disablePadding:!0,secondaryAction:x(Dat,{title:x(cd,{primaryMuscles:[a],secondaryMuscles:[],isFront:a.isFront}),placement:"right",arrow:!0,children:x(Rt,{edge:"end","aria-label":"comments",children:x(v2,{})})}),children:z(Vc,{role:void 0,onClick:i(a),dense:!0,children:[x(fo,{children:x(El,{edge:"start",checked:n.indexOf(a)!==-1,tabIndex:-1,disableRipple:!0,inputProps:{"aria-labelledby":s}},`muscle-${a.id}`)}),x(or,{id:s,primary:a.name,secondary:a.nameEn!==""?o(mo(a.nameEn)):""})]})},a.id)})})},Nat=()=>{const[e]=Oe();return z(QM,{children:[x(JM,{expandIcon:x(bd,{}),children:e("exercises.muscles")}),x(XM,{children:x(qX,{})})]})},Lat=()=>{const[e]=Oe();return x("div",{"data-testid":"muscles",children:z(Kn,{sx:{mt:2},children:[x(Be,{gutterBottom:!0,variant:"h6",m:2,children:e("exercises.muscles")}),x(qX,{})]})})},jat=({exercises:e})=>{const t=tP(),[n,r]=Oe();let o;return t.isSuccess&&(o=GT(r.language,t.data)),x(Te,{container:!0,spacing:1,children:e.map(i=>x(Te,{item:!0,xs:6,md:4,sx:{display:"flex"},children:x(TX,{exercise:i,language:o})},i.id))})},Fat=()=>x(Te,{container:!0,spacing:1,children:Array.apply(null,Array(21)).map((e,t)=>x(Te,{item:!0,xs:4,sx:{display:"flex"},children:z(gr,{children:[x(ys,{children:x(V0,{variant:"rectangular",width:250,height:150})}),x(Ro,{children:z(an,{sx:{pt:.5},children:[x(V0,{width:"60%"}),x(V0,{})]})})]})},t))});var y2={},Bat=Ut;Object.defineProperty(y2,"__esModule",{value:!0});var KX=y2.default=void 0,zat=Bat(Xt()),Vat=Kt();KX=y2.default=(0,zat.default)((0,Vat.jsx)("path",{d:"M4.25 5.61C6.27 8.2 10 13 10 13v6c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-6s3.72-4.8 5.74-7.39c.51-.66.04-1.61-.79-1.61H5.04c-.83 0-1.3.95-.79 1.61"}),"FilterAlt");const Hat=({children:e})=>{const[t]=Oe(),[n,r]=g.useState(!1),o=i=>()=>{r(i)};return z(tt,{children:[x(qe,{onClick:o(!0),children:x(KX,{})}),z(Phe,{open:n,onClose:o(!1),anchor:"right",children:[z(pt,{direction:"row",justifyContent:"space-between",alignItems:"center",children:[x(Be,{gutterBottom:!0,variant:"h6",m:2,children:t("filters")}),x(qe,{onClick:o(!1),children:x(yh,{})})]}),x(bs,{}),e]})]})},Uat=()=>{const[e,t]=Oe();return z(an,{marginTop:4,padding:4,sx:{width:"100%",backgroundColor:"#ebebeb",textAlign:"center"},children:[x(Be,{gutterBottom:!0,variant:"h4",component:"div",children:e("exercises.missingExercise")}),x(Be,{gutterBottom:!0,variant:"body1",component:"div",children:e("exercises.missingExerciseDescription")}),x(Aa,{to:_t(Mt.EXERCISE_CONTRIBUTE,t.language),children:e("exercises.contributeExercise")})]})},Wat=()=>{const e=xX(),[t,n]=Oe(),r=Rd(),{selectedCategories:o,selectedEquipment:i,selectedMuscles:a}=g.useContext(cb),s=J1("(max-width:600px)"),[l,c]=V.useState(1),u=(v,b)=>{c(b),window.scrollTo({top:0,behavior:"smooth"})};let d=g.useMemo(()=>{let v=e.data||[];return o.length>0&&(v=v.filter(b=>o.some(y=>b.category.id===y.id))),i.length>0&&(v=v.filter(b=>b.equipment.some(y=>i.some(w=>w.id===y.id)))),a.length>0&&(v=v.filter(b=>b.muscles.some(y=>a.some(w=>w.id===y.id)))),v},[e.data,o,i,a]);const f=21,p=Math.ceil(d.length/f),h=d.slice((l-1)*f,l*f),m=v=>{r(_t(Mt.EXERCISE_DETAIL,n.language,{id:v.data.base_id}))};return x(hl,{maxWidth:"lg",children:z(Te,{container:!0,spacing:2,mt:2,children:[x(Te,{item:!0,xs:10,sm:6,children:x(Be,{gutterBottom:!0,variant:"h3",component:"div",children:t("exercises.exercises")})}),s?z(tt,{children:[x(Te,{item:!0,xs:2,sm:6,children:x(qe,{variant:"contained",onClick:()=>r(_t(Mt.EXERCISE_CONTRIBUTE,n.language)),children:x(di,{})})}),x(Te,{item:!0,sm:6,flexGrow:1,children:x(JI,{callback:m})}),x(Te,{item:!0,xs:2,sm:6,display:"flex",justifyContent:"center",alignItems:"center",children:z(Hat,{children:[x(kat,{}),x($at,{}),x(Nat,{})]})})]}):z(tt,{children:[x(Te,{item:!0,xs:12,sm:3,children:x(JI,{callback:m})}),x(Te,{item:!0,xs:12,sm:3,children:x(qe,{variant:"contained",startIcon:x(di,{}),onClick:()=>r(_t(Mt.EXERCISE_CONTRIBUTE,n.language)),children:t("exercises.contributeExercise")})})]}),!s&&x(Te,{item:!0,xs:12,sm:3,children:z(Te,{container:!0,spacing:1,children:[x(Te,{item:!0,xs:6,sm:12,children:x(Iat,{})}),x(Te,{item:!0,xs:6,sm:12,children:x(Mat,{})}),x(Te,{item:!0,xs:12,children:x(Lat,{})})]})}),z(Te,{item:!0,xs:12,sm:9,children:[e.isLoading?x(Fat,{}):z(tt,{children:[x(jat,{exercises:h}),x(pt,{spacing:2,alignItems:"center",sx:{mt:2},children:x(_ve,{count:p,color:"primary",page:l,onChange:u})})]}),x(Uat,{})]})]})})},F4=()=>{const[e,t]=g.useState([]),[n,r]=g.useState([]),[o,i]=V.useState([]);return x(cb.Provider,{value:{selectedEquipment:e,setSelectedEquipment:t,selectedMuscles:n,setSelectedMuscles:r,selectedCategories:o,setSelectedCategories:i},children:x(Wat,{})})};function Gat(){return lr([Ch],dSe)}const qat=()=>{const e=Bn();return Zn({mutationFn:t=>pSe(t),onSuccess:()=>e.invalidateQueries([Ch])})},Kat=e=>{const t=Bn();return Zn({mutationFn:n=>hSe(n),onSuccess:()=>{t.invalidateQueries([wh,e]),t.invalidateQueries([Ch])}})},Yat=e=>{const t=Bn();return Zn({mutationFn:n=>mSe(n),onSuccess:()=>{t.invalidateQueries([wh,e]),t.invalidateQueries([Ch])}})};function YX(e){return lr([wh,e],()=>fSe(e))}const Qat=()=>{const e=Bn();return Zn({mutationFn:t=>ySe(t),onError:t=>{console.log(t)},onSuccess:()=>{e.invalidateQueries([wh]),e.invalidateQueries([Ch])}})},QX=()=>{const e=Bn();return Zn({mutationFn:t=>vSe(t),onSuccess:()=>{e.invalidateQueries([wh]),e.invalidateQueries([Ch])}})},Xat=()=>{const e=Bn();return Zn({mutationFn:t=>gSe(t),onSuccess:()=>e.invalidateQueries([wh])})},y0=['"Open Sans Bold"',"sans-serif"].join(","),Jat=['"Open Sans Light"',"sans-serif"].join(","),XX={spacing:8,typography:{h3:{fontFamily:y0},h4:{fontFamily:y0},h5:{fontFamily:y0},h6:{fontFamily:y0},fontFamily:Jat},palette:{primary:{main:"#2A4C7D"},secondary:{main:"#e63946"},warning:{main:"#cba328"},info:{main:"#457b9d"},success:{main:"#307916"}}},Xc=tC(XX),Zat=e=>tC({...XX,components:{MuiPopover:{defaultProps:{container:e}},MuiPopper:{defaultProps:{container:e}},MuiModal:{defaultProps:{container:e}}}}),JX=e=>{const{i18n:t}=Oe(),n=30,r=[...e.category.entries].sort((o,i)=>o.date.getTime()-i.date.getTime()).map(o=>({date:o.date.getTime(),value:o.value,entry:o}));return x(an,{alignItems:"center",display:"flex",flexDirection:"column",children:x(Cd,{width:"90%",height:200,children:z(nK,{data:r,children:[x(zh,{type:"monotone",dataKey:"value",stroke:Xc.palette.secondary.main,strokeWidth:2,dot:r.length>n?!1:{strokeWidth:1,r:4},activeDot:{stroke:"black",strokeWidth:1,r:6}}),x(Bh,{stroke:"#ccc",strokeDasharray:"5 5"}),x(Is,{dataKey:"date",type:"number",domain:["dataMin","dataMax"],tickFormatter:o=>new Date(o).toLocaleDateString(t.language),tickCount:10}),x($s,{domain:["auto","auto"],unit:e.category.unit})]})})})},ZX=({category:e,closeFn:t})=>{const[n]=Oe(),r=qat(),o=Kat(e==null?void 0:e.id),i=la({name:ws().required(n("forms.fieldRequired")).max(20,n("forms.maxLength",{chars:"20"})).min(3,n("forms.minLength",{chars:"3"})),unit:ws().required(n("forms.fieldRequired")).max(5,n("forms.maxLength",{chars:"5"}))});return x(aa,{initialValues:{name:e?e.name:"",unit:e?e.unit:""},validationSchema:i,onSubmit:async a=>{e?o.mutate({...a,id:e.id}):r.mutate(a),t&&t()},children:a=>x(yi,{children:z(pt,{spacing:2,children:[x($t,{fullWidth:!0,id:"name",label:n("name"),error:a.touched.name&&!!a.touched.name,helperText:a.touched.name&&a.errors.name,...a.getFieldProps("name")}),x($t,{fullWidth:!0,id:"unit",label:n("unit"),error:a.touched.unit&&!!a.errors.unit,helperText:a.touched.unit&&a.errors.unit?a.errors.unit:n("measurements.unitFormHelpText"),...a.getFieldProps("unit")}),x(pt,{direction:"row",justifyContent:"end",sx:{mt:2},children:x(qe,{color:"primary",variant:"contained",type:"submit",sx:{mt:2},children:n("submit")})})]})})})};An.defaultZone=S1e;const eJ=({entry:e,closeFn:t,categoryId:n})=>{const[r,o]=Oe(),i=Qat(),a=QX(),s=YX(n),[l,c]=V.useState(e?e.date:new Date),u=la({value:So().required(r("forms.fieldRequired")).min(0,r("forms.minValue",{value:"0"})).max(1e3,r("forms.maxValue",{value:"1000"})),date:ob().required(r("forms.fieldRequired")),notes:ws().max(500,r("forms.maxLength",{value:"500"}))});return x(aa,{initialValues:{value:e?e.value:0,date:e?e.date:new Date,notes:e?e.notes:""},validationSchema:u,onSubmit:async d=>{e?a.mutate({...d,id:e.id}):i.mutate({...d,categoryId:n}),t&&t()},children:d=>x(yi,{children:z(pt,{spacing:2,children:[x($t,{fullWidth:!0,id:"value",type:"number",label:r("value"),error:d.touched.value&&!!d.errors.value,helperText:d.touched.value&&d.errors.value,...d.getFieldProps("value")}),s.isLoading?x(Tr,{}):x(_S,{dateAdapter:zS,adapterLocale:o.language,children:x(NK,{inputFormat:"yyyy-MM-dd",label:r("date"),value:l,renderInput:f=>x($t,{...f,...d.getFieldProps("date")}),disableFuture:!0,onChange:f=>{f&&d.setFieldValue("date",f.toJSDate()),c(f)},shouldDisableDate:f=>e&&io(e.date)===io(f.toJSDate())?!1:f?s.data.entries.some(p=>io(p.date)===io(f.toJSDate())):!1})}),x($t,{fullWidth:!0,id:"notes",label:r("notes"),multiline:!0,error:d.touched.notes&&!!d.errors.notes,helperText:d.touched.notes&&d.errors.notes,...d.getFieldProps("notes")}),x(pt,{direction:"row",justifyContent:"end",sx:{mt:2},children:x(qe,{color:"primary",variant:"contained",type:"submit",sx:{mt:2},children:r("submit")})})]})})})},est=()=>{const[e]=Oe(),[t,n]=V.useState(!1),r=()=>n(!0),o=()=>n(!1);return z("div",{children:[x(vd,{color:"secondary","aria-label":"add",onClick:r,sx:{position:"fixed",bottom:"5rem",right:i=>i.spacing(2),zIndex:9},children:x(di,{})}),x(yo,{title:e("add"),isOpen:t,closeFn:o,children:x(ZX,{closeFn:o})})]})},tst=()=>{const[e]=Oe(),[t,n]=V.useState(!1),r=()=>n(!0),o=()=>n(!1),i=_d(),a=parseInt(i.categoryId);return z(tt,{children:[x(vd,{color:"secondary","aria-label":"add",onClick:r,sx:{position:"fixed",bottom:"5rem",right:s=>s.spacing(2),zIndex:9},children:x(di,{})}),x(yo,{title:e("add"),isOpen:t,closeFn:o,children:x(eJ,{closeFn:o,categoryId:a})})]})},tJ=g.createContext(void 0);function Nt(){const e=g.useContext(tJ);if(e===void 0)throw new Error(["MUI: Could not find the data grid context.","It looks like you rendered your component outside of a DataGrid, DataGridPro or DataGridPremium parent component.","This can also happen if you are bundling multiple versions of the data grid."].join(` -`));return e}const nJ=g.createContext(void 0),Ze=()=>{const e=g.useContext(nJ);if(!e)throw new Error("MUI: useGridRootProps should only be used inside the DataGrid, DataGridPro or DataGridPremium component.");return e},rJ=g.createContext(void 0);function Jc(){const e=g.useContext(rJ);if(e===void 0)throw new Error(["MUI: Could not find the data grid private context.","It looks like you rendered your component outside of a DataGrid, DataGridPro or DataGridPremium parent component.","This can also happen if you are bundling multiple versions of the data grid."].join(` -`));return e}const B4={};function b2(e,t){const n=g.useRef(B4);return n.current===B4&&(n.current=e(t)),n}const nst=[];function oJ(e){g.useEffect(e,nst)}const Rs=(e,t="warning")=>{let n=!1;const r=Array.isArray(e)?e.join(` -`):e;return()=>{n||(n=!0,t==="error"?console.error(r):console.warn(r))}},rst=Object.is;function iJ(e,t){if(e===t)return!0;if(!(e instanceof Object)||!(t instanceof Object))return!1;let n=0,r=0;for(const o in e)if(n+=1,!rst(e[o],t[o])||!(o in t))return!1;for(const o in t)r+=1;return n===r}Rs(["MUI: `useGridSelector` has been called before the initialization of the state.","This hook can only be used inside the context of the grid."]);function ost(e){return e.acceptsApiRef}function z4(e,t){return ost(t)?t(e):t(e.current.state)}const ist=Object.is,x2=iJ,ast=()=>({state:null,equals:null,selector:null}),Ue=(e,t,n=ist)=>{const r=b2(ast),o=r.current.selector!==null,[i,a]=g.useState(o?null:z4(e,t));return r.current.state=i,r.current.equals=n,r.current.selector=t,oJ(()=>e.current.store.subscribe(()=>{const s=z4(e,r.current.selector);r.current.equals(r.current.state,s)||(r.current.state=s,a(s))})),i};function Lt(e){return Se("MuiDataGrid",e)}const X=Pe("MuiDataGrid",["actionsCell","aggregationColumnHeader","aggregationColumnHeader--alignLeft","aggregationColumnHeader--alignCenter","aggregationColumnHeader--alignRight","aggregationColumnHeaderLabel","autoHeight","autosizing","booleanCell","cell--editable","cell--editing","cell--textCenter","cell--textLeft","cell--textRight","cell--withRenderer","cell--rangeTop","cell--rangeBottom","cell--rangeLeft","cell--rangeRight","cell--selectionMode","cell","cellContent","cellCheckbox","cellSkeleton","checkboxInput","columnHeader--alignCenter","columnHeader--alignLeft","columnHeader--alignRight","columnHeader--dragging","columnHeader--moving","columnHeader--numeric","columnHeader--sortable","columnHeader--sorted","columnHeader--filtered","columnHeader","columnHeaderCheckbox","columnHeaderDraggableContainer","columnHeaderDropZone","columnHeaderTitle","columnHeaderTitleContainer","columnHeaderTitleContainerContent","columnGroupHeader","columnHeader--filledGroup","columnHeader--emptyGroup","columnHeader--showColumnBorder","columnHeaders","columnHeadersInner","columnHeadersInner--scrollable","columnSeparator--resizable","columnSeparator--resizing","columnSeparator--sideLeft","columnSeparator--sideRight","columnSeparator","columnsPanel","columnsPanelRow","detailPanel","detailPanels","detailPanelToggleCell","detailPanelToggleCell--expanded","footerCell","panel","panelHeader","panelWrapper","panelContent","panelFooter","paper","editBooleanCell","editInputCell","filterForm","filterFormDeleteIcon","filterFormLogicOperatorInput","filterFormColumnInput","filterFormOperatorInput","filterFormValueInput","filterIcon","footerContainer","headerFilterRow","iconButtonContainer","iconSeparator","main","menu","menuIcon","menuIconButton","menuOpen","menuList","overlay","overlayWrapper","overlayWrapperInner","root","root--densityStandard","root--densityComfortable","root--densityCompact","root--disableUserSelection","row","row--editable","row--editing","row--lastVisible","row--dragging","row--dynamicHeight","row--detailPanelExpanded","rowReorderCellPlaceholder","rowCount","rowReorderCellContainer","rowReorderCell","rowReorderCell--draggable","scrollArea--left","scrollArea--right","scrollArea","selectedRowCount","sortIcon","toolbarContainer","toolbarFilterList","virtualScroller","virtualScrollerContent","virtualScrollerContent--overflowed","virtualScrollerRenderZone","pinnedColumns","pinnedColumns--left","pinnedColumns--right","pinnedColumnHeaders","pinnedColumnHeaders--left","pinnedColumnHeaders--right","withBorderColor","cell--withRightBorder","columnHeader--withRightBorder","treeDataGroupingCell","treeDataGroupingCellToggle","groupingCriteriaCell","groupingCriteriaCellToggle","pinnedRows","pinnedRows--top","pinnedRows--bottom","pinnedRowsRenderZone"]);var r1="NOT_FOUND";function sst(e){var t;return{get:function(r){return t&&e(t.key,r)?t.value:r1},put:function(r,o){t={key:r,value:o}},getEntries:function(){return t?[t]:[]},clear:function(){t=void 0}}}function lst(e,t){var n=[];function r(s){var l=n.findIndex(function(u){return t(s,u.key)});if(l>-1){var c=n[l];return l>0&&(n.splice(l,1),n.unshift(c)),c.value}return r1}function o(s,l){r(s)===r1&&(n.unshift({key:s,value:l}),n.length>e&&n.pop())}function i(){return n}function a(){n=[]}return{get:r,put:o,getEntries:i,clear:a}}var cst=function(t,n){return t===n};function ust(e){return function(n,r){if(n===null||r===null||n.length!==r.length)return!1;for(var o=n.length,i=0;i1?t-1:0),r=1;r{if(a.length>0)throw new Error("Unsupported number of selectors");let s;if(e&&t&&n&&r&&o&&i)s=(l,c)=>{const u=mf(l),d=c??(u?l.current.instanceId:gf),f=u?l.current.state:l,p=e(f,d),h=t(f,d),m=n(f,d),v=r(f,d),b=o(f,d);return i(p,h,m,v,b)};else if(e&&t&&n&&r&&o)s=(l,c)=>{const u=mf(l),d=c??(u?l.current.instanceId:gf),f=u?l.current.state:l,p=e(f,d),h=t(f,d),m=n(f,d),v=r(f,d);return o(p,h,m,v)};else if(e&&t&&n&&r)s=(l,c)=>{const u=mf(l),d=c??(u?l.current.instanceId:gf),f=u?l.current.state:l,p=e(f,d),h=t(f,d),m=n(f,d);return r(p,h,m)};else if(e&&t&&n)s=(l,c)=>{const u=mf(l),d=c??(u?l.current.instanceId:gf),f=u?l.current.state:l,p=e(f,d),h=t(f,d);return n(p,h)};else if(e&&t)s=(l,c)=>{const u=mf(l),d=c??(u?l.current.instanceId:gf),f=u?l.current.state:l,p=e(f,d);return t(p)};else throw new Error("Missing arguments");return s.acceptsApiRef=!0,s},kn=(...e)=>{const t=(...n)=>{var r,o;const[i,a]=n,s=mf(i),l=s?i.current.instanceId:a??gf,c=s?i.current.state:i,{cache:u}=hst;if(u.get(l)&&(r=u.get(l))!=null&&r.get(e)){var d;return(d=u.get(l))==null?void 0:d.get(e)(c,l)}const f=pst(...e);return u.get(l)||u.set(l,new Map),(o=u.get(l))==null||o.set(e,f),f(c,l)};return t.acceptsApiRef=!0,t},Uu=e=>e.columns,rl=vt(Uu,e=>e.orderedFields),tm=vt(Uu,e=>e.lookup),ms=kn(rl,tm,(e,t)=>e.map(n=>t[n])),Ea=vt(Uu,e=>e.columnVisibilityModel),_r=kn(ms,Ea,(e,t)=>e.filter(n=>t[n.field]!==!1)),rP=kn(_r,e=>e.map(t=>t.field)),Qp=kn(_r,e=>{const t=[];let n=0;for(let r=0;r{const n=e.length;return n===0?0:t[n-1]+e[n-1].computedWidth}),aJ=kn(ms,e=>e.filter(t=>t.filterable)),mst=kn(ms,e=>e.reduce((t,n)=>(n.filterable&&(t[n.field]=n),t),{})),oP=e=>e.columnGrouping,gst=kn(oP,e=>{var t;return(t=e==null?void 0:e.unwrappedGroupingModel)!=null?t:{}}),sJ=kn(oP,e=>{var t;return(t=e==null?void 0:e.lookup)!=null?t:{}}),vst=kn(oP,e=>{var t;return(t=e==null?void 0:e.headerStructure)!=null?t:[]}),ub=vt(oP,e=>{var t;return(t=e==null?void 0:e.maxDepth)!=null?t:0}),Wa=e=>e.rows,iP=vt(Wa,e=>e.totalRowCount),yst=vt(Wa,e=>e.loading),bst=vt(Wa,e=>e.totalTopLevelRowCount),Js=vt(Wa,e=>e.dataRowIdToModelLookup),o1=vt(Wa,e=>e.dataRowIdToIdLookup),xa=vt(Wa,e=>e.tree),xst=vt(Wa,e=>e.groupingName),V4=vt(Wa,e=>e.treeDepths),aP=kn(Wa,e=>{const t=Object.entries(e.treeDepths);return t.length===0?1:t.filter(([,n])=>n>0).map(([n])=>Number(n)).sort((n,r)=>r-n)[0]+1}),og=vt(Wa,e=>e.dataRowIds),wst=vt(Wa,e=>e==null?void 0:e.additionalRowGroups),nm=kn(wst,e=>{var t,n;const r=e==null?void 0:e.pinnedRows;return{bottom:r==null||(t=r.bottom)==null?void 0:t.map(o=>{var i;return{id:o.id,model:(i=o.model)!=null?i:{}}}),top:r==null||(n=r.top)==null?void 0:n.map(o=>{var i;return{id:o.id,model:(i=o.model)!=null?i:{}}})}}),Cst=vt(nm,e=>{var t,n;return((e==null||(t=e.top)==null?void 0:t.length)||0)+((e==null||(n=e.bottom)==null?void 0:n.length)||0)}),lJ=()=>{var e;const t=Jc(),n=Ze(),r=Ue(t,_r),o=Ue(t,iP),i=Ue(t,ub),a=Ue(t,Cst);let s="grid";return(e=n.experimentalFeatures)!=null&&e.ariaV7&&n.treeData&&(s="treegrid"),{role:s,"aria-colcount":r.length,"aria-rowcount":i+1+a+o,"aria-multiselectable":!n.disableMultipleRowSelection}},Sst=e=>{const{classes:t}=e;return de({root:["main"]},Lt,t)},Pst=cr("div",{name:"MuiDataGrid",slot:"Main",overridesResolver:(e,t)=>t.main})(()=>({position:"relative",flexGrow:1,display:"flex",flexDirection:"column",overflow:"hidden"})),Est=g.forwardRef((e,t)=>{var n;const r=Ze(),o=Sst(r),i=(n=r.experimentalFeatures)!=null&&n.ariaV7?lJ:null,a=typeof i=="function"?i():null;return k.jsx(Pst,S({ref:t,className:o.root,ownerState:r},a,{children:e.children}))}),cJ=e=>e.sorting,C2=vt(cJ,e=>e.sortedRows),S2=kn(C2,Js,(e,t)=>e.map(n=>{var r;return{id:n,model:(r=t[n])!=null?r:{}}})),Mi=vt(cJ,e=>e.sortModel),Ost=kn(Mi,e=>e.reduce((n,r,o)=>(n[r.field]={sortDirection:r.sort,sortIndex:e.length>1?o+1:void 0},n),{})),P2=e=>e.filter,wr=vt(P2,e=>e.filterModel);vt(wr,e=>e.quickFilterValues);const Tst=e=>e.visibleRowsLookup,uJ=vt(P2,e=>e.filteredRowsLookup);vt(P2,e=>e.filteredDescendantCountLookup);const Zc=kn(Tst,S2,(e,t)=>t.filter(n=>e[n.id]!==!1)),jg=kn(Zc,e=>e.map(t=>t.id)),kst=kn(uJ,S2,(e,t)=>t.filter(n=>e[n.id]!==!1)),Ist=kn(kst,e=>e.map(t=>t.id)),dJ=kn(Zc,xa,aP,(e,t,n)=>n<2?e:e.filter(r=>{var o;return((o=t[r.id])==null?void 0:o.depth)===0})),fJ=vt(Zc,e=>e.length),pJ=vt(dJ,e=>e.length),$st=kn(wr,tm,(e,t)=>{var n;return(n=e.items)==null?void 0:n.filter(r=>{var o,i;if(!r.field)return!1;const a=t[r.field];if(!(a!=null&&a.filterOperators)||(a==null||(o=a.filterOperators)==null?void 0:o.length)===0)return!1;const s=a.filterOperators.find(l=>l.value===r.operator);return s?!s.InputComponent||r.value!=null&&((i=r.value)==null?void 0:i.toString())!=="":!1})}),Mst=kn($st,e=>e.reduce((n,r)=>(n[r.field]?n[r.field].push(r):n[r.field]=[r],n),{})),sP=e=>e.focus,Go=vt(sP,e=>e.cell),Ast=vt(sP,e=>e.columnHeader);vt(sP,e=>e.columnHeaderFilter);const i1=vt(sP,e=>e.columnGroupHeader),lP=e=>e.tabIndex,a1=vt(lP,e=>e.cell),hJ=vt(lP,e=>e.columnHeader);vt(lP,e=>e.columnHeaderFilter);const Rst=vt(lP,e=>e.columnGroupHeader),E2=e=>e.density,_st=vt(E2,e=>e.value),rm=vt(E2,e=>e.factor),ZI=e=>e.columnMenu;function Dst(e){const{VirtualScrollerComponent:t,ColumnHeadersProps:n,children:r}=e,o=Jc(),i=Ze(),a=g.useRef(null),s=Ue(o,_r),l=Ue(o,Mst),c=Ue(o,Ost),u=Ue(o,Qp),d=Ue(o,hJ),f=Ue(o,a1),p=Ue(o,Rst),h=Ue(o,Ast),m=Ue(o,i1),v=Ue(o,rm),b=Ue(o,ub),y=Ue(o,ZI),w=Ue(o,Ea),C=Ue(o,vst),O=!(p===null&&d===null&&f===null);Ft(()=>{o.current.computeSizeAndPublishResizeEvent();const M=a.current;if(typeof ResizeObserver>"u")return()=>{};let D;const L=new ResizeObserver(()=>{D=requestAnimationFrame(()=>{o.current.computeSizeAndPublishResizeEvent()})});return M&&L.observe(M),()=>{D&&window.cancelAnimationFrame(D),M&&L.unobserve(M)}},[o]);const P=g.useRef(null),E=g.useRef(null),T=g.useRef(null);o.current.register("private",{columnHeadersContainerElementRef:E,columnHeadersElementRef:P,virtualScrollerRef:T,mainElementRef:a});const $=!!o.current.getRootDimensions();return k.jsxs(Est,{ref:a,children:[k.jsx(i.slots.columnHeaders,S({ref:E,innerRef:P,visibleColumns:s,filterColumnLookup:l,sortColumnLookup:c,columnPositions:u,columnHeaderTabIndexState:d,columnGroupHeaderTabIndexState:p,columnHeaderFocus:h,columnGroupHeaderFocus:m,densityFactor:v,headerGroupingMaxDepth:b,columnMenuState:y,columnVisibility:w,columnGroupsHeaderStructure:C,hasOtherElementInTabSequence:O},n)),$&&k.jsx(t,{ref:T}),r]})}function Nst(){var e;const t=Ze();return t.hideFooter?null:k.jsx(t.slots.footer,S({},(e=t.slotProps)==null?void 0:e.footer))}const oo="auto-generated-group-node-root",sp=Symbol("mui.id_autogenerated"),Lst=()=>({type:"group",id:oo,depth:-1,groupingField:null,groupingKey:null,isAutoGenerated:!0,children:[],childrenFromPath:{},childrenExpanded:!0,parent:null});function jst(e,t,n="A row was provided without id in the rows prop:"){if(e==null)throw new Error(["MUI: The data grid component requires all rows to have a unique `id` property.","Alternatively, you can use the `getRowId` prop to specify a custom id for each row.",n,JSON.stringify(t)].join(` -`))}const s1=(e,t,n)=>{const r=t?t(e):e.id;return jst(r,e,n),r},ex=({rows:e,getRowId:t,loading:n,rowCount:r})=>{const o={type:"full",rows:[]},i={},a={};for(let s=0;s{const n=e[oo];return Math.max(t,n.children.length+(n.footerId==null?0:1))},gJ=({apiRef:e,rowCountProp:t=0,loadingProp:n,previousTree:r,previousTreeDepths:o})=>{const i=e.current.caches.rows,{tree:a,treeDepths:s,dataRowIds:l,groupingName:c}=e.current.applyStrategyProcessor("rowTreeCreation",{previousTree:r,previousTreeDepths:o,updates:i.updates,dataRowIdToIdLookup:i.dataRowIdToIdLookup,dataRowIdToModelLookup:i.dataRowIdToModelLookup}),u=e.current.unstable_applyPipeProcessors("hydrateRows",{tree:a,treeDepths:s,dataRowIdToIdLookup:i.dataRowIdToIdLookup,dataRowIds:l,dataRowIdToModelLookup:i.dataRowIdToModelLookup});return e.current.caches.rows.updates={type:"partial",actions:{insert:[],modify:[],remove:[]},idToActionLookup:{}},S({},u,{totalRowCount:Math.max(t,u.dataRowIds.length),totalTopLevelRowCount:mJ({tree:u.tree,rowCountProp:t}),groupingName:c,loading:n})},sy=e=>e.type==="skeletonRow"||e.type==="footer"||e.type==="group"&&e.isAutoGenerated||e.type==="pinnedRow"&&e.isAutoGenerated,O2=(e,t,n)=>{const r=e[t];if(r.type!=="group")return[];const o=[];for(let i=0;i{var r,o,i;if(e.updates.type==="full")throw new Error("MUI: Unable to prepare a partial update if a full update is not applied yet");const a=new Map;n.forEach(f=>{const p=s1(f,t,"A row was provided without id when calling updateRows():");a.has(p)?a.set(p,S({},a.get(p),f)):a.set(p,f)});const s={type:"partial",actions:{insert:[...(r=e.updates.actions.insert)!=null?r:[]],modify:[...(o=e.updates.actions.modify)!=null?o:[]],remove:[...(i=e.updates.actions.remove)!=null?i:[]]},idToActionLookup:S({},e.updates.idToActionLookup)},l=S({},e.dataRowIdToModelLookup),c=S({},e.dataRowIdToIdLookup),u={insert:{},modify:{},remove:{}};a.forEach((f,p)=>{const h=s.idToActionLookup[p];if(f._action==="delete"){if(h==="remove"||!l[p])return;h!=null&&(u[h][p]=!0),s.actions.remove.push(p),delete l[p],delete c[p];return}const m=l[p];if(m){h==="remove"?(u.remove[p]=!0,s.actions.modify.push(p)):h==null&&s.actions.modify.push(p),l[p]=S({},m,f);return}h==="remove"?(u.remove[p]=!0,s.actions.insert.push(p)):h==null&&s.actions.insert.push(p),l[p]=f,c[p]=p});const d=Object.keys(u);for(let f=0;f0&&(s.actions[p]=s.actions[p].filter(m=>!h[m]))}return{dataRowIdToModelLookup:l,dataRowIdToIdLookup:c,updates:s,rowsBeforePartialUpdates:e.rowsBeforePartialUpdates,loadingPropBeforePartialUpdates:e.loadingPropBeforePartialUpdates,rowCountPropBeforePartialUpdates:e.rowCountPropBeforePartialUpdates}};function vJ(e){var t,n;const r=nm(e),o=(r==null||(t=r.top)==null?void 0:t.reduce((a,s)=>(a+=e.current.unstable_getRowHeight(s.id),a),0))||0,i=(r==null||(n=r.bottom)==null?void 0:n.reduce((a,s)=>(a+=e.current.unstable_getRowHeight(s.id),a),0))||0;return{top:o,bottom:i}}function yJ(e,t){const n=rm(e);return`var(--DataGrid-overlayHeight, ${2*Math.floor(t*n)}px)`}const Bst=cr("div",{name:"MuiDataGrid",slot:"OverlayWrapper",shouldForwardProp:e=>e!=="overlayType",overridesResolver:(e,t)=>t.overlayWrapper})(({overlayType:e})=>({position:"sticky",top:0,left:0,width:0,height:0,zIndex:e==="loadingOverlay"?5:4})),zst=cr("div",{name:"MuiDataGrid",slot:"OverlayWrapperInner",shouldForwardProp:e=>e!=="overlayType",overridesResolver:(e,t)=>t.overlayWrapperInner})({}),Vst=e=>{const{classes:t}=e;return de({root:["overlayWrapper"],inner:["overlayWrapperInner"]},Lt,t)};function Hst(e){var t,n;const r=Nt(),o=Ze(),[i,a]=g.useState(()=>{var u,d;return(u=(d=r.current.getRootDimensions())==null?void 0:d.viewportInnerSize)!=null?u:null}),s=g.useCallback(()=>{var u,d;a((u=(d=r.current.getRootDimensions())==null?void 0:d.viewportInnerSize)!=null?u:null)},[r]);Ft(()=>r.current.subscribeEvent("viewportInnerSizeChange",s),[r,s]);let l=(t=i==null?void 0:i.height)!=null?t:0;o.autoHeight&&l===0&&(l=yJ(r,o.rowHeight));const c=Vst(S({},e,{classes:o.classes}));return i?k.jsx(Bst,{className:Q(c.root),overlayType:e.overlayType,children:k.jsx(zst,S({className:Q(c.inner),style:{height:l,width:(n=i==null?void 0:i.width)!=null?n:0}},e))}):null}function Ust(){const e=Nt(),t=Ze(),n=Ue(e,iP),r=Ue(e,fJ),o=Ue(e,yst),i=!o&&n===0,a=!o&&n>0&&r===0;let s=null,l="";if(i){var c;s=k.jsx(t.slots.noRowsOverlay,S({},(c=t.slotProps)==null?void 0:c.noRowsOverlay)),l="noRowsOverlay"}if(a){var u;s=k.jsx(t.slots.noResultsOverlay,S({},(u=t.slotProps)==null?void 0:u.noResultsOverlay)),l="noResultsOverlay"}if(o){var d;s=k.jsx(t.slots.loadingOverlay,S({},(d=t.slotProps)==null?void 0:d.loadingOverlay)),l="loadingOverlay"}return s===null?null:k.jsx(Hst,{overlayType:l,children:s})}function cP(e){return g.memo(e,iJ)}let dO;function Wst(){return dO===void 0&&document.createElement("div").focus({get preventScroll(){return dO=!0,!1}}),dO}var Cs=function(e){return e.Cell="cell",e.Row="row",e}(Cs||{}),ln=function(e){return e.Edit="edit",e.View="view",e}(ln||{}),nn=function(e){return e.Edit="edit",e.View="view",e}(nn||{}),Po=function(e){return e.And="and",e.Or="or",e}(Po||{}),Fs=function(e){return e.enterKeyDown="enterKeyDown",e.cellDoubleClick="cellDoubleClick",e.printableKeyDown="printableKeyDown",e.deleteKeyDown="deleteKeyDown",e.pasteKeyDown="pasteKeyDown",e}(Fs||{}),ma=function(e){return e.cellFocusOut="cellFocusOut",e.escapeKeyDown="escapeKeyDown",e.enterKeyDown="enterKeyDown",e.tabKeyDown="tabKeyDown",e.shiftTabKeyDown="shiftTabKeyDown",e}(ma||{}),Wl=function(e){return e.enterKeyDown="enterKeyDown",e.cellDoubleClick="cellDoubleClick",e.printableKeyDown="printableKeyDown",e.deleteKeyDown="deleteKeyDown",e}(Wl||{}),Xa=function(e){return e.rowFocusOut="rowFocusOut",e.escapeKeyDown="escapeKeyDown",e.enterKeyDown="enterKeyDown",e.tabKeyDown="tabKeyDown",e.shiftTabKeyDown="shiftTabKeyDown",e}(Xa||{});function bJ(e){return e.field!==void 0}function Gst(e){return e.scrollHeight>e.clientHeight||e.scrollWidth>e.clientWidth}function qst(e,t){return e.closest(`.${t}`)}function T2(e){return e.replace(/["\\]/g,"\\$&")}function Kst(e,t){return e.querySelector(`[role="columnheader"][data-field="${T2(t)}"]`)}function xJ(e){return`.${X.row}[data-id="${T2(String(e))}"]`}function Yst(e,t){return e.querySelector(xJ(t))}function Qst(e,{id:t,field:n}){const r=xJ(t),o=`.${X.cell}[data-field="${T2(n)}"]`,i=`${r} ${o}`;return e.querySelector(i)}function db(e){return e.target.nodeType===1&&!e.currentTarget.contains(e.target)}function St(e,t,n){const r=g.useRef(!0);g.useEffect(()=>{r.current=!1,e.current.register(n,t)},[e,n,t]),r.current&&e.current.register(n,t)}class Vf extends Error{}function Xst(e,t){const{getRowId:n}=t,r=g.useCallback(h=>({field:h,colDef:e.current.getColumn(h)}),[e]),o=g.useCallback(h=>{const m=e.current.getRow(h);if(!m)throw new Vf(`No row with id #${h} found`);return{id:h,columns:e.current.getAllColumns(),row:m}},[e]),i=g.useCallback((h,m)=>{const v=e.current.getRow(h),b=e.current.getRowNode(h);if(!v||!b)throw new Vf(`No row with id #${h} found`);const y=Go(e),w=a1(e);return{id:h,field:m,row:v,rowNode:b,value:v[m],colDef:e.current.getColumn(m),cellMode:e.current.getCellMode(h,m),api:e.current,hasFocus:y!==null&&y.field===m&&y.id===h,tabIndex:w&&w.field===m&&w.id===h?0:-1}},[e]),a=g.useCallback((h,m)=>{const v=e.current.getColumn(m),b=e.current.getCellValue(h,m),y=e.current.getRow(h),w=e.current.getRowNode(h);if(!y||!w)throw new Vf(`No row with id #${h} found`);const C=Go(e),O=a1(e),P={id:h,field:m,row:y,rowNode:w,colDef:v,cellMode:e.current.getCellMode(h,m),hasFocus:C!==null&&C.field===m&&C.id===h,tabIndex:O&&O.field===m&&O.id===h?0:-1,value:b,formattedValue:b,isEditable:!1};return v&&v.valueFormatter&&(P.formattedValue=v.valueFormatter({id:h,field:P.field,value:P.value,api:e.current})),P.isEditable=v&&e.current.isCellEditable(P),P},[e]),s=g.useCallback((h,m)=>{const v=e.current.getColumn(m);if(!v||!v.valueGetter){const b=e.current.getRow(h);if(!b)throw new Vf(`No row with id #${h} found`);return b[m]}return v.valueGetter(i(h,m))},[e,i]),l=g.useCallback((h,m)=>{var v;const b=sp in h?h[sp]:(v=n==null?void 0:n(h))!=null?v:h.id,y=m.field;return!m||!m.valueGetter?h[y]:m.valueGetter(i(b,y))},[i,n]),c=g.useCallback((h,m)=>{var v;const b=l(h,m);if(!m||!m.valueFormatter)return b;const y=(v=n?n(h):h.id)!=null?v:h[sp],w=m.field;return m.valueFormatter({id:y,field:w,value:b,api:e.current})},[e,n,l]),u=g.useCallback(h=>e.current.rootElementRef.current?Kst(e.current.rootElementRef.current,h):null,[e]),d=g.useCallback(h=>e.current.rootElementRef.current?Yst(e.current.rootElementRef.current,h):null,[e]),f=g.useCallback((h,m)=>e.current.rootElementRef.current?Qst(e.current.rootElementRef.current,{id:h,field:m}):null,[e]);St(e,{getCellValue:s,getCellParams:a,getCellElement:f,getRowValue:l,getRowFormattedValue:c,getRowParams:o,getRowElement:d,getColumnHeaderParams:r,getColumnHeaderElement:u},"public")}const Jst=["changeReason","unstable_updateValueOnRender"],Zst=["column","rowId","editCellState","align","children","colIndex","height","width","className","showRightBorder","extendRowFullWidth","row","colSpan","disableDragEvents","isNotVisible","onClick","onDoubleClick","onMouseDown","onMouseUp","onMouseOver","onKeyDown","onKeyUp","onDragEnter","onDragOver","style"],elt=["changeReason","unstable_updateValueOnRender"],l1={id:-1,field:"__unset__",row:{},rowNode:{id:-1,depth:0,type:"leaf",parent:-1,groupingKey:null},colDef:{type:"string",field:"__unset__",computedWidth:0},cellMode:ln.View,hasFocus:!1,tabIndex:-1,value:null,formattedValue:"__unset__",isEditable:!1,api:{}},tlt=e=>{const{align:t,showRightBorder:n,isEditable:r,isSelected:o,isSelectionMode:i,classes:a}=e,s={root:["cell",`cell--text${ie(t)}`,r&&"cell--editable",o&&"selected",n&&"cell--withRightBorder",i&&!r&&"cell--selectionMode","withBorderColor"],content:["cellContent"]};return de(s,Lt,a)},nlt=g.forwardRef((e,t)=>{const{column:n,rowId:r,editCellState:o}=e,i=Nt(),a=Ze(),s=n.field,l=Ue(i,()=>{try{const $=i.current.getCellParams(r,s);return $.api=i.current,$}catch(T){if(T instanceof Vf)return l1;throw T}},x2),c=Ue(i,()=>i.current.unstable_applyPipeProcessors("isCellSelected",!1,{id:r,field:s}));if(l===l1)return null;const{cellMode:u,hasFocus:d,isEditable:f,value:p,formattedValue:h}=l,m=n.type==="actions",v=(u==="view"||!f)&&!m?l.tabIndex:-1,{classes:b,getCellClassName:y}=a,w=i.current.unstable_applyPipeProcessors("cellClassName",[],{id:r,field:s});n.cellClassName&&w.push(typeof n.cellClassName=="function"?n.cellClassName(l):n.cellClassName),y&&w.push(y(l));let C;if(o==null&&n.renderCell&&(C=n.renderCell(l),w.push(X["cell--withRenderer"]),w.push(b==null?void 0:b["cell--withRenderer"])),o!=null&&n.renderEditCell){const T=i.current.getRowWithUpdatedValues(r,n.field),$=q(o,Jst),M=S({},l,{row:T},$);C=n.renderEditCell(M),w.push(X["cell--editing"]),w.push(b==null?void 0:b["cell--editing"])}const{slots:O}=a,P=O.cell,E=S({},e,{ref:t,field:s,formattedValue:h,hasFocus:d,isEditable:f,isSelected:c,value:p,cellMode:u,children:C,tabIndex:v,className:Q(w)});return g.createElement(P,E)}),rlt=cP(nlt),olt=g.forwardRef((e,t)=>{var n,r,o,i;const{column:a,rowId:s,editCellState:l,align:c,colIndex:u,height:d,width:f,className:p,showRightBorder:h,colSpan:m,disableDragEvents:v,isNotVisible:b,onClick:y,onDoubleClick:w,onMouseDown:C,onMouseUp:O,onMouseOver:P,onKeyDown:E,onKeyUp:T,onDragEnter:$,onDragOver:M,style:D}=e,L=q(e,Zst),N=Nt(),R=Ze(),I=a.field,A=Ue(N,()=>{try{const se=N.current.getCellParams(s,I);return se.api=N.current,se}catch(ne){if(ne instanceof Vf)return l1;throw ne}},x2),F=Ue(N,()=>N.current.unstable_applyPipeProcessors("isCellSelected",!1,{id:s,field:I})),{cellMode:_,hasFocus:j,isEditable:B,value:U,formattedValue:H}=A,K=a.type==="actions"&&((n=(r=a).getActions)==null?void 0:n.call(r,N.current.getRowParams(s)).some(ne=>!ne.props.disabled)),J=(_==="view"||!B)&&!K?A.tabIndex:-1,{classes:oe,getCellClassName:ae}=R,Z=N.current.unstable_applyPipeProcessors("cellClassName",[],{id:s,field:I});a.cellClassName&&Z.push(typeof a.cellClassName=="function"?a.cellClassName(A):a.cellClassName),ae&&Z.push(ae(A));const ue=H??U,re=g.useRef(null),pe=Ot(t,re),le=g.useRef(null),G=(o=R.unstable_cellSelection)!=null?o:!1,te={align:c,showRightBorder:h,isEditable:B,classes:R.classes,isSelected:F,isSelectionMode:G},fe=tlt(te),he=g.useCallback(ne=>se=>{const ge=N.current.getCellParams(s,I||"");N.current.publishEvent(ne,ge,se),O&&O(se)},[N,I,O,s]),ce=g.useCallback(ne=>se=>{const ge=N.current.getCellParams(s,I||"");N.current.publishEvent(ne,ge,se),C&&C(se)},[N,I,C,s]),be=g.useCallback((ne,se)=>ge=>{if(!N.current.getRow(s))return;const Ae=N.current.getCellParams(s,I||"");N.current.publishEvent(ne,Ae,ge),se&&se(ge)},[N,I,s]),ye=g.useMemo(()=>S(b?{padding:0,opacity:0,width:0,border:0}:{minWidth:f,maxWidth:f,minHeight:d,maxHeight:d==="auto"?"none":d},D),[f,d,b,D]);if(g.useEffect(()=>{if(!j||_===ln.Edit)return;const ne=gn(N.current.rootElementRef.current);if(re.current&&!re.current.contains(ne.activeElement)){const se=re.current.querySelector('[tabindex="0"]'),ge=le.current||se||re.current;if(Wst())ge.focus({preventScroll:!0});else{const Ae=N.current.getScrollPosition();ge.focus(),N.current.scroll(Ae)}}},[j,_,N]),A===l1)return null;let Me=L.onFocus,Re;if(l==null&&a.renderCell&&(Re=a.renderCell(A),Z.push(X["cell--withRenderer"]),Z.push(oe==null?void 0:oe["cell--withRenderer"])),l!=null&&a.renderEditCell){const ne=N.current.getRowWithUpdatedValues(s,a.field),se=q(l,elt),ge=S({},A,{row:ne},se);Re=a.renderEditCell(ge),Z.push(X["cell--editing"]),Z.push(oe==null?void 0:oe["cell--editing"])}if(Re===void 0){const ne=ue==null?void 0:ue.toString();Re=k.jsx("div",{className:fe.content,title:ne,role:"presentation",children:ne})}g.isValidElement(Re)&&K&&(Re=g.cloneElement(Re,{focusElementRef:le}));const _e=v?null:{onDragEnter:be("cellDragEnter",$),onDragOver:be("cellDragOver",M)},Y=(i=R.experimentalFeatures)==null?void 0:i.ariaV7;return k.jsx("div",S({ref:pe,className:Q(p,Z,fe.root),role:Y?"gridcell":"cell","data-field":I,"data-colindex":u,"aria-colindex":u+1,"aria-colspan":m,style:ye,tabIndex:J,onClick:be("cellClick",y),onDoubleClick:be("cellDoubleClick",w),onMouseOver:be("cellMouseOver",P),onMouseDown:ce("cellMouseDown"),onMouseUp:he("cellMouseUp"),onKeyDown:be("cellKeyDown",E),onKeyUp:be("cellKeyUp",T)},_e,L,{onFocus:Me,children:Re}))}),e$=cP(olt),ilt=["id","value","formattedValue","api","field","row","rowNode","colDef","cellMode","isEditable","hasFocus","tabIndex"],alt=e=>{const{classes:t}=e;return de({root:["booleanCell"]},Lt,t)};function slt(e){const{value:t}=e,n=q(e,ilt),r=Nt(),o=Ze(),i={classes:o.classes},a=alt(i),s=g.useMemo(()=>t?o.slots.booleanCellTrueIcon:o.slots.booleanCellFalseIcon,[o.slots.booleanCellFalseIcon,o.slots.booleanCellTrueIcon,t]);return k.jsx(s,S({fontSize:"small",className:a.root,titleAccess:r.current.getLocaleText(t?"booleanCellTrueLabel":"booleanCellFalseLabel"),"data-value":!!t},n))}const llt=g.memo(slt),clt=e=>sy(e.rowNode)?"":k.jsx(llt,S({},e)),ult=["id","value","formattedValue","api","field","row","rowNode","colDef","cellMode","isEditable","tabIndex","className","hasFocus","isValidating","isProcessingProps","error","onValueChange"],dlt=e=>{const{classes:t}=e;return de({root:["editBooleanCell"]},Lt,t)};function flt(e){var t;const{id:n,value:r,field:o,className:i,hasFocus:a,onValueChange:s}=e,l=q(e,ult),c=Nt(),u=g.useRef(null),d=on(),[f,p]=g.useState(r),h=Ze(),m={classes:h.classes},v=dlt(m),b=g.useCallback(async y=>{const w=y.target.checked;s&&await s(y,w),p(w),await c.current.setEditCellValue({id:n,field:o,value:w},y)},[c,o,n,s]);return g.useEffect(()=>{p(r)},[r]),Ft(()=>{a&&u.current.focus()},[a]),k.jsx("label",S({htmlFor:d,className:Q(v.root,i)},l,{children:k.jsx(h.slots.baseCheckbox,S({id:d,inputRef:u,checked:!!f,onChange:b,size:"small"},(t=h.slotProps)==null?void 0:t.baseCheckbox))}))}const plt=e=>k.jsx(flt,S({},e)),hlt=["id","value","formattedValue","api","field","row","rowNode","colDef","cellMode","isEditable","tabIndex","hasFocus","inputProps","isValidating","isProcessingProps","onValueChange"],mlt=W(fh)({fontSize:"inherit"}),glt=e=>{const{classes:t}=e;return de({root:["editInputCell"]},Lt,t)};function vlt(e){const{id:t,value:n,field:r,colDef:o,hasFocus:i,inputProps:a,onValueChange:s}=e,l=q(e,hlt),c=o.type==="dateTime",u=Nt(),d=g.useRef(),f=g.useMemo(()=>{let C;n==null?C=null:n instanceof Date?C=n:C=new Date((n??"").toString());let O;return C==null||Number.isNaN(C.getTime())?O="":O=new Date(C.getTime()-C.getTimezoneOffset()*60*1e3).toISOString().substr(0,c?16:10),{parsed:C,formatted:O}},[n,c]),[p,h]=g.useState(f),v={classes:Ze().classes},b=glt(v),y=g.useCallback(C=>{if(C==="")return null;const[O,P]=C.split("T"),[E,T,$]=O.split("-"),M=new Date;if(M.setFullYear(Number(E),Number(T)-1,Number($)),M.setHours(0,0,0,0),P){const[D,L]=P.split(":");M.setHours(Number(D),Number(L),0,0)}return M},[]),w=g.useCallback(async C=>{const O=C.target.value,P=y(O);s&&await s(C,P),h({parsed:P,formatted:O}),u.current.setEditCellValue({id:t,field:r,value:P},C)},[u,r,t,s,y]);return g.useEffect(()=>{h(C=>{var O,P;return f.parsed!==C.parsed&&((O=f.parsed)==null?void 0:O.getTime())!==((P=C.parsed)==null?void 0:P.getTime())?f:C})},[f]),Ft(()=>{i&&d.current.focus()},[i]),k.jsx(mlt,S({inputRef:d,fullWidth:!0,className:b.root,type:c?"datetime-local":"date",inputProps:S({max:c?"9999-12-31T23:59":"9999-12-31"},a),value:p.formatted,onChange:w},l))}const wJ=e=>k.jsx(vlt,S({},e)),ylt=["id","value","formattedValue","api","field","row","rowNode","colDef","cellMode","isEditable","tabIndex","hasFocus","isValidating","debounceMs","isProcessingProps","onValueChange"],blt=e=>{const{classes:t}=e;return de({root:["editInputCell"]},Lt,t)},xlt=W(fh,{name:"MuiDataGrid",slot:"EditInputCell",overridesResolver:(e,t)=>t.editInputCell})(({theme:e})=>S({},e.typography.body2,{padding:"1px 0","& input":{padding:"0 16px",height:"100%"}})),wlt=g.forwardRef((e,t)=>{const n=Ze(),{id:r,value:o,field:i,colDef:a,hasFocus:s,debounceMs:l=200,isProcessingProps:c,onValueChange:u}=e,d=q(e,ylt),f=Nt(),p=g.useRef(),[h,m]=g.useState(o),v=blt(n),b=g.useCallback(async w=>{const C=w.target.value;u&&await u(w,C);const O=f.current.getColumn(i);let P=C;O.valueParser&&(P=O.valueParser(C,f.current.getCellParams(r,i))),m(P),f.current.setEditCellValue({id:r,field:i,value:P,debounceMs:l,unstable_skipValueParser:!0},w)},[f,l,i,r,u]),y=f.current.unstable_getEditCellMeta(r,i);return g.useEffect(()=>{(y==null?void 0:y.changeReason)!=="debouncedSetEditCellValue"&&m(o)},[y,o]),Ft(()=>{s&&p.current.focus()},[s]),k.jsx(xlt,S({ref:t,inputRef:p,className:v.root,ownerState:n,fullWidth:!0,type:a.type==="number"?a.type:"text",value:h??"",onChange:b,endAdornment:c?k.jsx(n.slots.loadIcon,{fontSize:"small",color:"action"}):void 0},d))}),Clt=e=>k.jsx(wlt,S({},e)),c1=e=>e==="Escape",Slt=e=>e==="Enter",CJ=e=>e==="Tab",SJ=e=>e===" ",Plt=e=>e.indexOf("Arrow")===0,Elt=e=>e==="Home"||e==="End",Olt=e=>e.indexOf("Page")===0;function PJ(e){return e.key.length===1&&!e.ctrlKey&&!e.metaKey}const u1=e=>Elt(e)||Plt(e)||Olt(e)||SJ(e),Tlt=e=>!!e.key,klt=e=>CJ(e)||c1(e);function Wu(e){return(e==null?void 0:e.type)==="singleSelect"}function t$(e,t,n){if(t===void 0)return;const r=t.find(o=>{const i=n(o);return String(i)===String(e)});return n(r)}const Ilt=["id","value","formattedValue","api","field","row","rowNode","colDef","cellMode","isEditable","tabIndex","className","hasFocus","isValidating","isProcessingProps","error","onValueChange","initialOpen","getOptionLabel","getOptionValue"],$lt=["MenuProps"];function Mlt(e){return!!e.key}function Alt(e){var t,n,r;const o=Ze(),{id:i,value:a,field:s,row:l,colDef:c,hasFocus:u,error:d,onValueChange:f,initialOpen:p=o.editMode===Cs.Cell,getOptionLabel:h,getOptionValue:m}=e,v=q(e,Ilt),b=Nt(),y=g.useRef(),w=g.useRef(),[C,O]=g.useState(p),E=(n=(((t=o.slotProps)==null?void 0:t.baseSelect)||{}).native)!=null?n:!1,T=((r=o.slotProps)==null?void 0:r.baseSelect)||{},{MenuProps:$}=T,M=q(T,$lt);if(Ft(()=>{if(u){var F;(F=w.current)==null||F.focus()}},[u]),!Wu(c))return null;let D;if(typeof(c==null?void 0:c.valueOptions)=="function"?D=c==null?void 0:c.valueOptions({id:i,row:l,field:s}):D=c==null?void 0:c.valueOptions,!D)return null;const L=m||c.getOptionValue,N=h||c.getOptionLabel,R=async F=>{if(!Wu(c)||!D)return;O(!1);const _=F.target,j=t$(_.value,D,L);f&&await f(F,j),await b.current.setEditCellValue({id:i,field:s,value:j},F)},I=(F,_)=>{if(o.editMode===Cs.Row){O(!1);return}if(_==="backdropClick"||c1(F.key)){const j=b.current.getCellParams(i,s);b.current.publishEvent("cellEditStop",S({},j,{reason:c1(F.key)?ma.escapeKeyDown:ma.cellFocusOut}))}},A=F=>{Mlt(F)&&F.key==="Enter"||O(!0)};return!D||!c?null:k.jsx(o.slots.baseSelect,S({ref:y,inputRef:w,value:a,onChange:R,open:C,onOpen:A,MenuProps:S({onClose:I},$),error:d,native:E,fullWidth:!0},v,M,{children:D.map(F=>{var _;const j=L(F);return g.createElement(o.slots.baseSelectOption,S({},((_=o.slotProps)==null?void 0:_.baseSelectOption)||{},{native:E,key:j,value:j}),N(F))})}))}const Rlt=e=>k.jsx(Alt,S({},e)),_lt=["open","target","onClose","children","position","className","onExited"],Dlt=e=>{const{classes:t}=e;return de({root:["menu"]},Lt,t)},Nlt=W(Bc,{name:"MuiDataGrid",slot:"Menu",overridesResolver:(e,t)=>t.menu})(({theme:e})=>({zIndex:e.zIndex.modal,[`& .${X.menuList}`]:{outline:0}})),Llt={"bottom-start":"top left","bottom-end":"top right"};function EJ(e){var t;const{open:n,target:r,onClose:o,children:i,position:a,className:s,onExited:l}=e,c=q(e,_lt),u=Nt(),d=Ze(),f=Dlt(d),p=g.useRef(null);Ft(()=>{if(n)p.current=document.activeElement instanceof HTMLElement?document.activeElement:null;else{var v,b;(v=p.current)==null||(b=v.focus)==null||b.call(v),p.current=null}},[n]),g.useEffect(()=>{const v=n?"menuOpen":"menuClose";u.current.publishEvent(v,{target:r})},[u,n,r]);const h=v=>b=>{v&&v(),l&&l(b)},m=v=>{v.target&&(r===v.target||r!=null&&r.contains(v.target))||o(v)};return k.jsx(Nlt,S({as:d.slots.basePopper,className:Q(s,f.root),ownerState:d,open:n,anchorEl:r,transition:!0,placement:a},c,(t=d.slotProps)==null?void 0:t.basePopper,{children:({TransitionProps:v,placement:b})=>k.jsx(ZM,{onClickAway:m,mouseEvent:"onMouseDown",children:k.jsx(nd,S({},v,{style:{transformOrigin:Llt[b]},onExited:h(v==null?void 0:v.onExited),children:k.jsx(Kn,{children:i})}))})}))}const jlt=["api","colDef","id","hasFocus","isEditable","field","value","formattedValue","row","rowNode","cellMode","tabIndex","position","focusElementRef"],Flt=e=>typeof e.getActions=="function";function Blt(e){var t;const{colDef:n,id:r,hasFocus:o,tabIndex:i,position:a="bottom-end",focusElementRef:s}=e,l=q(e,jlt),[c,u]=g.useState(-1),[d,f]=g.useState(!1),p=Nt(),h=g.useRef(null),m=g.useRef(null),v=g.useRef(!1),b=g.useRef({}),y=qn(),w=on(),C=on(),O=Ze();if(!Flt(n))throw new Error("MUI: Missing the `getActions` property in the `GridColDef`.");const P=n.getActions(p.current.getRowParams(r)),E=P.filter(A=>!A.props.showInMenu),T=P.filter(A=>A.props.showInMenu),$=E.length+(T.length?1:0);g.useLayoutEffect(()=>{o||Object.entries(b.current).forEach(([A,F])=>{F==null||F.stop({},()=>{delete b.current[A]})})},[o]),g.useEffect(()=>{if(c<0||!h.current||c>=h.current.children.length)return;h.current.children[c].focus({preventScroll:!0})},[c]),g.useEffect(()=>{o||(u(-1),v.current=!1)},[o]),g.useImperativeHandle(s,()=>({focus(){if(!v.current){const A=P.findIndex(F=>!F.props.disabled);u(A)}}}),[P]),g.useEffect(()=>{c>=$&&u($-1)},[c,$]);const M=()=>{f(!0),u($-1),v.current=!0},D=()=>{f(!1)},L=A=>F=>{b.current[A]=F},N=(A,F)=>_=>{u(A),v.current=!0,F&&F(_)},R=A=>{if($<=1)return;const F=(j,B)=>{var U;if(j<0||j>P.length)return j;const H=y.direction==="rtl"?-1:1,K=(B==="left"?-1:1)*H;return(U=P[j+K])!=null&&U.props.disabled?F(j+K,B):j+K};let _=c;A.key==="ArrowRight"?_=F(c,"right"):A.key==="ArrowLeft"&&(_=F(c,"left")),!(_<0||_>=$)&&_!==c&&(A.preventDefault(),A.stopPropagation(),u(_))},I=A=>{A.key==="Tab"&&A.preventDefault(),["Tab","Escape"].includes(A.key)&&D()};return k.jsxs("div",S({role:"menu",ref:h,tabIndex:-1,className:X.actionsCell,onKeyDown:R},l,{children:[E.map((A,F)=>g.cloneElement(A,{key:F,touchRippleRef:L(F),onClick:N(F,A.props.onClick),tabIndex:c===F?i:-1})),T.length>0&&C&&k.jsx(O.slots.baseIconButton,S({ref:m,id:C,"aria-label":p.current.getLocaleText("actionsCellMore"),"aria-haspopup":"menu","aria-expanded":d,"aria-controls":d?w:void 0,role:"menuitem",size:"small",onClick:M,touchRippleRef:L(C),tabIndex:c===E.length?i:-1},(t=O.slotProps)==null?void 0:t.baseIconButton,{children:k.jsx(O.slots.moreActionsIcon,{fontSize:"small"})})),T.length>0&&k.jsx(EJ,{open:d,target:m.current,position:a,onClose:D,children:k.jsx(hA,{id:w,className:X.menuList,onKeyDown:I,"aria-labelledby":C,variant:"menu",autoFocusItem:!0,children:T.map((A,F)=>g.cloneElement(A,{key:F,closeMenu:D}))})})]}))}const zlt=e=>k.jsx(Blt,S({},e)),Vlt=["label","icon","showInMenu","onClick"],Hlt=["label","icon","showInMenu","onClick","closeMenuOnClick","closeMenu"],b0=g.forwardRef((e,t)=>{const n=Ze();if(!e.showInMenu){var r;const{label:d,icon:f,onClick:p}=e,h=q(e,Vlt),m=v=>{p==null||p(v)};return k.jsx(n.slots.baseIconButton,S({ref:t,size:"small",role:"menuitem","aria-label":d},h,{onClick:m},(r=n.slotProps)==null?void 0:r.baseIconButton,{children:g.cloneElement(f,{fontSize:"small"})}))}const{label:o,icon:i,onClick:a,closeMenuOnClick:s=!0,closeMenu:l}=e,c=q(e,Hlt),u=d=>{a==null||a(d),s&&(l==null||l())};return k.jsxs(bt,S({ref:t},c,{onClick:u,children:[i&&k.jsx(fo,{children:i}),o]}))}),Ult=["field","align","width","contentWidth"],Wlt=e=>{const{align:t,classes:n}=e,r={root:["cell","cellSkeleton",`cell--text${ie(t)}`,"withBorderColor"]};return de(r,Lt,n)};function Glt(e){const{align:t,width:n,contentWidth:r}=e,o=q(e,Ult),a={classes:Ze().classes,align:t},s=Wlt(a);return k.jsx("div",S({className:s.root,style:{width:n}},o,{children:k.jsx(V0,{width:`${r}%`})}))}function qlt(e){return e.vars?e.vars.palette.TableCell.border:e.palette.mode==="light"?One(fr(e.palette.divider,1),.88):Ene(fr(e.palette.divider,1),.68)}const H4={[`.${X.columnSeparator}, .${X["columnSeparator--resizing"]}`]:{visibility:"visible",width:"auto"}},U4={[`& .${X.iconButtonContainer}`]:{visibility:"visible",width:"auto"},[`& .${X.menuIcon}`]:{width:"auto",visibility:"visible"}},Klt=W("div",{name:"MuiDataGrid",slot:"Root",overridesResolver:(e,t)=>[{[`&.${X.autoHeight}`]:t.autoHeight},{[`&.${X.aggregationColumnHeader}`]:t.aggregationColumnHeader},{[`&.${X["aggregationColumnHeader--alignLeft"]}`]:t["aggregationColumnHeader--alignLeft"]},{[`&.${X["aggregationColumnHeader--alignCenter"]}`]:t["aggregationColumnHeader--alignCenter"]},{[`&.${X["aggregationColumnHeader--alignRight"]}`]:t["aggregationColumnHeader--alignRight"]},{[`&.${X.aggregationColumnHeaderLabel}`]:t.aggregationColumnHeaderLabel},{[`&.${X["root--disableUserSelection"]} .${X.cell}`]:t["root--disableUserSelection"]},{[`&.${X.autosizing}`]:t.autosizing},{[`& .${X.editBooleanCell}`]:t.editBooleanCell},{[`& .${X["cell--editing"]}`]:t["cell--editing"]},{[`& .${X["cell--textCenter"]}`]:t["cell--textCenter"]},{[`& .${X["cell--textLeft"]}`]:t["cell--textLeft"]},{[`& .${X["cell--textRight"]}`]:t["cell--textRight"]},{[`& .${X["cell--withRenderer"]}`]:t["cell--withRenderer"]},{[`& .${X.cell}`]:t.cell},{[`& .${X["cell--rangeTop"]}`]:t["cell--rangeTop"]},{[`& .${X["cell--rangeBottom"]}`]:t["cell--rangeBottom"]},{[`& .${X["cell--rangeLeft"]}`]:t["cell--rangeLeft"]},{[`& .${X["cell--rangeRight"]}`]:t["cell--rangeRight"]},{[`& .${X["cell--withRightBorder"]}`]:t["cell--withRightBorder"]},{[`& .${X.cellContent}`]:t.cellContent},{[`& .${X.cellCheckbox}`]:t.cellCheckbox},{[`& .${X.cellSkeleton}`]:t.cellSkeleton},{[`& .${X.checkboxInput}`]:t.checkboxInput},{[`& .${X["columnHeader--alignCenter"]}`]:t["columnHeader--alignCenter"]},{[`& .${X["columnHeader--alignLeft"]}`]:t["columnHeader--alignLeft"]},{[`& .${X["columnHeader--alignRight"]}`]:t["columnHeader--alignRight"]},{[`& .${X["columnHeader--dragging"]}`]:t["columnHeader--dragging"]},{[`& .${X["columnHeader--moving"]}`]:t["columnHeader--moving"]},{[`& .${X["columnHeader--numeric"]}`]:t["columnHeader--numeric"]},{[`& .${X["columnHeader--sortable"]}`]:t["columnHeader--sortable"]},{[`& .${X["columnHeader--sorted"]}`]:t["columnHeader--sorted"]},{[`& .${X["columnHeader--withRightBorder"]}`]:t["columnHeader--withRightBorder"]},{[`& .${X.columnHeader}`]:t.columnHeader},{[`& .${X.headerFilterRow}`]:t.headerFilterRow},{[`& .${X.columnHeaderCheckbox}`]:t.columnHeaderCheckbox},{[`& .${X.columnHeaderDraggableContainer}`]:t.columnHeaderDraggableContainer},{[`& .${X.columnHeaderTitleContainer}`]:t.columnHeaderTitleContainer},{[`& .${X["columnSeparator--resizable"]}`]:t["columnSeparator--resizable"]},{[`& .${X["columnSeparator--resizing"]}`]:t["columnSeparator--resizing"]},{[`& .${X.columnSeparator}`]:t.columnSeparator},{[`& .${X.filterIcon}`]:t.filterIcon},{[`& .${X.iconSeparator}`]:t.iconSeparator},{[`& .${X.menuIcon}`]:t.menuIcon},{[`& .${X.menuIconButton}`]:t.menuIconButton},{[`& .${X.menuOpen}`]:t.menuOpen},{[`& .${X.menuList}`]:t.menuList},{[`& .${X["row--editable"]}`]:t["row--editable"]},{[`& .${X["row--editing"]}`]:t["row--editing"]},{[`& .${X["row--dragging"]}`]:t["row--dragging"]},{[`& .${X.row}`]:t.row},{[`& .${X.rowReorderCellPlaceholder}`]:t.rowReorderCellPlaceholder},{[`& .${X.rowReorderCell}`]:t.rowReorderCell},{[`& .${X["rowReorderCell--draggable"]}`]:t["rowReorderCell--draggable"]},{[`& .${X.sortIcon}`]:t.sortIcon},{[`& .${X.withBorderColor}`]:t.withBorderColor},{[`& .${X.treeDataGroupingCell}`]:t.treeDataGroupingCell},{[`& .${X.treeDataGroupingCellToggle}`]:t.treeDataGroupingCellToggle},{[`& .${X.detailPanelToggleCell}`]:t.detailPanelToggleCell},{[`& .${X["detailPanelToggleCell--expanded"]}`]:t["detailPanelToggleCell--expanded"]},t.root]})(({theme:e})=>{const t=qlt(e),n=e.shape.borderRadius;return S({"--unstable_DataGrid-radius":typeof n=="number"?`${n}px`:n,"--unstable_DataGrid-headWeight":e.typography.fontWeightMedium,"--unstable_DataGrid-overlayBackground":e.vars?`rgba(${e.vars.palette.background.defaultChannel} / ${e.vars.palette.action.disabledOpacity})`:fr(e.palette.background.default,e.palette.action.disabledOpacity),"--DataGrid-cellOffsetMultiplier":2,flex:1,boxSizing:"border-box",position:"relative",borderWidth:"1px",borderStyle:"solid",borderColor:t,borderRadius:"var(--unstable_DataGrid-radius)",color:(e.vars||e).palette.text.primary},e.typography.body2,{outline:"none",height:"100%",display:"flex",minWidth:0,minHeight:0,flexDirection:"column",overflowAnchor:"none",[`&.${X.autoHeight}`]:{height:"auto",[`& .${X["row--lastVisible"]} .${X.cell}`]:{borderBottomColor:"transparent"}},[`&.${X.autosizing}`]:{[`& .${X.columnHeaderTitleContainerContent} > *`]:{overflow:"visible !important"},[`& .${X.cell} > *`]:{overflow:"visible !important",whiteSpace:"nowrap"},[`& .${X.groupingCriteriaCell}`]:{width:"unset"},[`& .${X.treeDataGroupingCell}`]:{width:"unset"}},[`& .${X["virtualScrollerContent--overflowed"]} .${X["row--lastVisible"]} .${X.cell}`]:{borderBottomColor:"transparent"},[`& .${X.columnHeader}, & .${X.cell}`]:{WebkitTapHighlightColor:"transparent",lineHeight:null,padding:"0 10px",boxSizing:"border-box"},[`& .${X.columnHeader}:focus-within, & .${X.cell}:focus-within`]:{outline:`solid ${e.vars?`rgba(${e.vars.palette.primary.mainChannel} / 0.5)`:fr(e.palette.primary.main,.5)} 1px`,outlineWidth:1,outlineOffset:-1},[`& .${X.columnHeader}:focus, & .${X.cell}:focus`]:{outline:`solid ${e.palette.primary.main} 1px`},[`& .${X.columnHeaderCheckbox}, & .${X.cellCheckbox}`]:{padding:0,justifyContent:"center",alignItems:"center"},[`& .${X.columnHeader}`]:{position:"relative",display:"flex",alignItems:"center"},[`& .${X["columnHeader--sorted"]} .${X.iconButtonContainer}, & .${X["columnHeader--filtered"]} .${X.iconButtonContainer}`]:{visibility:"visible",width:"auto"},[`& .${X.columnHeader}:not(.${X["columnHeader--sorted"]}) .${X.sortIcon}`]:{opacity:0,transition:e.transitions.create(["opacity"],{duration:e.transitions.duration.shorter})},[`& .${X.columnHeaderTitleContainer}`]:{display:"flex",alignItems:"center",minWidth:0,flex:1,whiteSpace:"nowrap",overflow:"hidden",position:"relative"},[`& .${X.columnHeaderTitleContainerContent}`]:{overflow:"hidden",display:"flex",alignItems:"center"},[`& .${X["columnHeader--filledGroup"]} .${X.columnHeaderTitleContainer}`]:{borderBottomWidth:"1px",borderBottomStyle:"solid",boxSizing:"border-box"},[`& .${X["columnHeader--filledGroup"]}.${X["columnHeader--showColumnBorder"]} .${X.columnHeaderTitleContainer}`]:{borderBottom:"none"},[`& .${X["columnHeader--filledGroup"]}.${X["columnHeader--showColumnBorder"]}`]:{borderBottomWidth:"1px",borderBottomStyle:"solid",boxSizing:"border-box"},[`& .${X.headerFilterRow}`]:{borderTop:`1px solid ${t}`},[`& .${X.sortIcon}, & .${X.filterIcon}`]:{fontSize:"inherit"},[`& .${X["columnHeader--sortable"]}`]:{cursor:"pointer"},[`& .${X["columnHeader--alignCenter"]} .${X.columnHeaderTitleContainer}`]:{justifyContent:"center"},[`& .${X["columnHeader--alignRight"]} .${X.columnHeaderDraggableContainer}, & .${X["columnHeader--alignRight"]} .${X.columnHeaderTitleContainer}`]:{flexDirection:"row-reverse"},[`& .${X["columnHeader--alignCenter"]} .${X.menuIcon}, & .${X["columnHeader--alignRight"]} .${X.menuIcon}`]:{marginRight:"auto",marginLeft:-6},[`& .${X["columnHeader--alignRight"]} .${X.menuIcon}, & .${X["columnHeader--alignRight"]} .${X.menuIcon}`]:{marginRight:"auto",marginLeft:-10},[`& .${X["columnHeader--moving"]}`]:{backgroundColor:(e.vars||e).palette.action.hover},[`& .${X.columnSeparator}`]:{visibility:"hidden",position:"absolute",zIndex:100,display:"flex",flexDirection:"column",justifyContent:"center",color:t},"@media (hover: hover)":{[`& .${X.columnHeaders}:hover`]:H4,[`& .${X.columnHeader}:hover`]:U4,[`& .${X.columnHeader}:not(.${X["columnHeader--sorted"]}):hover .${X.sortIcon}`]:{opacity:.5}},"@media (hover: none)":{[`& .${X.columnHeaders}`]:H4,[`& .${X.columnHeader}`]:U4},[`& .${X["columnSeparator--sideLeft"]}`]:{left:-12},[`& .${X["columnSeparator--sideRight"]}`]:{right:-12},[`& .${X["columnSeparator--resizable"]}`]:{cursor:"col-resize",touchAction:"none","&:hover":{color:(e.vars||e).palette.text.primary,"@media (hover: none)":{color:t}},[`&.${X["columnSeparator--resizing"]}`]:{color:(e.vars||e).palette.text.primary},"& svg":{pointerEvents:"none"}},[`& .${X.iconSeparator}`]:{color:"inherit"},[`& .${X.menuIcon}`]:{width:0,visibility:"hidden",fontSize:20,marginRight:-10,display:"flex",alignItems:"center"},[`.${X.menuOpen}`]:{visibility:"visible",width:"auto"},[`& .${X.row}`]:{display:"flex",width:"fit-content",breakInside:"avoid","&:hover, &.Mui-hovered":{backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},"&.Mui-selected":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:fr(e.palette.primary.main,e.palette.action.selectedOpacity),"&:hover, &.Mui-hovered":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc( - ${e.vars.palette.action.selectedOpacity} + - ${e.vars.palette.action.hoverOpacity} - ))`:fr(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:fr(e.palette.primary.main,e.palette.action.selectedOpacity)}}}},[`& .${X.cell}`]:{display:"flex",alignItems:"center",borderBottom:"1px solid","&.Mui-selected":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:fr(e.palette.primary.main,e.palette.action.selectedOpacity),"&:hover, &.Mui-hovered":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity+e.palette.action.hoverOpacity})`:fr(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:fr(e.palette.primary.main,e.palette.action.selectedOpacity)}}}},[`&.${X["root--disableUserSelection"]} .${X.cell}`]:{userSelect:"none"},[`& .${X.row}:not(.${X["row--dynamicHeight"]}) > .${X.cell}`]:{overflow:"hidden",whiteSpace:"nowrap"},[`& .${X.cellContent}`]:{overflow:"hidden",textOverflow:"ellipsis"},[`& .${X.cell}.${X["cell--selectionMode"]}`]:{cursor:"default"},[`& .${X.cell}.${X["cell--editing"]}`]:{padding:1,display:"flex",boxShadow:e.shadows[2],backgroundColor:(e.vars||e).palette.background.paper,"&:focus-within":{outline:`solid ${(e.vars||e).palette.primary.main} 1px`,outlineOffset:"-1px"}},[`& .${X["row--editing"]}`]:{boxShadow:e.shadows[2]},[`& .${X["row--editing"]} .${X.cell}`]:{boxShadow:e.shadows[0],backgroundColor:(e.vars||e).palette.background.paper},[`& .${X.editBooleanCell}`]:{display:"flex",height:"100%",width:"100%",alignItems:"center",justifyContent:"center"},[`& .${X.booleanCell}[data-value="true"]`]:{color:(e.vars||e).palette.text.secondary},[`& .${X.booleanCell}[data-value="false"]`]:{color:(e.vars||e).palette.text.disabled},[`& .${X.actionsCell}`]:{display:"inline-flex",alignItems:"center",gridGap:e.spacing(1)},[`& .${X.rowReorderCell}`]:{display:"inline-flex",flex:1,alignItems:"center",justifyContent:"center",opacity:(e.vars||e).palette.action.disabledOpacity},[`& .${X["rowReorderCell--draggable"]}`]:{cursor:"move",opacity:1},[`& .${X.rowReorderCellContainer}`]:{padding:0,alignItems:"stretch"},[`.${X.withBorderColor}`]:{borderColor:t},[`& .${X["cell--withRightBorder"]}`]:{borderRightWidth:"1px",borderRightStyle:"solid"},[`& .${X["columnHeader--withRightBorder"]}`]:{borderRightWidth:"1px",borderRightStyle:"solid"},[`& .${X["cell--textLeft"]}`]:{justifyContent:"flex-start"},[`& .${X["cell--textRight"]}`]:{justifyContent:"flex-end"},[`& .${X["cell--textCenter"]}`]:{justifyContent:"center"},[`& .${X.columnHeaderDraggableContainer}`]:{display:"flex",width:"100%",height:"100%"},[`& .${X.rowReorderCellPlaceholder}`]:{display:"none"},[`& .${X["columnHeader--dragging"]}, & .${X["row--dragging"]}`]:{background:(e.vars||e).palette.background.paper,padding:"0 12px",borderRadius:"var(--unstable_DataGrid-radius)",opacity:(e.vars||e).palette.action.disabledOpacity},[`& .${X["row--dragging"]}`]:{background:(e.vars||e).palette.background.paper,padding:"0 12px",borderRadius:"var(--unstable_DataGrid-radius)",opacity:(e.vars||e).palette.action.disabledOpacity,[`& .${X.rowReorderCellPlaceholder}`]:{display:"flex"}},[`& .${X.treeDataGroupingCell}`]:{display:"flex",alignItems:"center",width:"100%"},[`& .${X.treeDataGroupingCellToggle}`]:{flex:"0 0 28px",alignSelf:"stretch",marginRight:e.spacing(2)},[`& .${X.groupingCriteriaCell}`]:{display:"flex",alignItems:"center",width:"100%"},[`& .${X.groupingCriteriaCellToggle}`]:{flex:"0 0 28px",alignSelf:"stretch",marginRight:e.spacing(2)}})}),Ylt=["children","className"],Qlt=e=>{const{autoHeight:t,density:n,classes:r}=e,o={root:["root",t&&"autoHeight",`root--density${ie(n)}`,"withBorderColor"]};return de(o,Lt,r)},Xlt=g.forwardRef(function(t,n){var r;const o=Ze(),{children:i,className:a}=t,s=q(t,Ylt),l=Jc(),c=Ue(l,_st),u=g.useRef(null),d=Ot(u,n),f=(r=o.experimentalFeatures)!=null&&r.ariaV7?null:lJ,p=typeof f=="function"?f():null,h=S({},o,{density:c}),m=Qlt(h);l.current.register("public",{rootElementRef:u});const[v,b]=g.useState(!1);return Ft(()=>{b(!0)},[]),v?k.jsx(Klt,S({ref:d,className:Q(a,m.root),ownerState:h},p,s,{children:i})):null}),Jlt=["className"],Zlt=e=>{const{classes:t}=e;return de({root:["footerContainer","withBorderColor"]},Lt,t)},ect=cr("div",{name:"MuiDataGrid",slot:"FooterContainer",overridesResolver:(e,t)=>t.footerContainer})({display:"flex",justifyContent:"space-between",alignItems:"center",minHeight:52,borderTop:"1px solid"}),tct=g.forwardRef(function(t,n){const{className:r}=t,o=q(t,Jlt),i=Ze(),a=Zlt(i);return k.jsx(ect,S({ref:n,className:Q(a.root,r),ownerState:i},o))}),nct=["className"],rct=e=>{const{classes:t}=e;return de({root:["overlay"]},Lt,t)},oct=cr("div",{name:"MuiDataGrid",slot:"Overlay",overridesResolver:(e,t)=>t.overlay})({width:"100%",height:"100%",display:"flex",alignSelf:"center",alignItems:"center",justifyContent:"center",backgroundColor:"var(--unstable_DataGrid-overlayBackground)"}),k2=g.forwardRef(function(t,n){const{className:r}=t,o=q(t,nct),i=Ze(),a=rct(i);return k.jsx(oct,S({ref:n,className:Q(a.root,r),ownerState:i},o))}),ict=["className"],act=e=>{const{classes:t}=e;return de({root:["iconButtonContainer"]},Lt,t)},sct=cr("div",{name:"MuiDataGrid",slot:"IconButtonContainer",overridesResolver:(e,t)=>t.iconButtonContainer})(()=>({display:"flex",visibility:"hidden",width:0})),OJ=g.forwardRef(function(t,n){const{className:r}=t,o=q(t,ict),i=Ze(),a=act(i);return k.jsx(sct,S({ref:n,className:Q(a.root,r),ownerState:i},o))}),lct=e=>{const{classes:t}=e;return de({icon:["sortIcon"]},Lt,t)};function cct(e,t,n,r){let o;const i={};return t==="asc"?o=e.columnSortedAscendingIcon:t==="desc"?o=e.columnSortedDescendingIcon:(o=e.columnUnsortedIcon,i.sortingOrder=r),o?k.jsx(o,S({fontSize:"small",className:n},i)):null}function uct(e){var t;const{direction:n,index:r,sortingOrder:o}=e,i=Nt(),a=Ze(),s=S({},e,{classes:a.classes}),l=lct(s),c=cct(a.slots,n,l.icon,o);if(!c)return null;const u=k.jsx(a.slots.baseIconButton,S({tabIndex:-1,"aria-label":i.current.getLocaleText("columnHeaderSortIconLabel"),title:i.current.getLocaleText("columnHeaderSortIconLabel"),size:"small"},(t=a.slotProps)==null?void 0:t.baseIconButton,{children:c}));return k.jsxs(OJ,{children:[r!=null&&k.jsx(n8,{badgeContent:r,color:"default",children:u}),r==null&&u]})}const dct=g.memo(uct),fct=e=>{const{classes:t,open:n}=e;return de({root:["menuIcon",n&&"menuOpen"],button:["menuIconButton"]},Lt,t)},pct=g.memo(e=>{var t,n;const{colDef:r,open:o,columnMenuId:i,columnMenuButtonId:a,iconButtonRef:s}=e,l=Nt(),c=Ze(),u=S({},e,{classes:c.classes}),d=fct(u),f=g.useCallback(p=>{p.preventDefault(),p.stopPropagation(),l.current.toggleColumnMenu(r.field)},[l,r.field]);return k.jsx("div",{className:d.root,children:k.jsx(c.slots.baseTooltip,S({title:l.current.getLocaleText("columnMenuLabel"),enterDelay:1e3},(t=c.slotProps)==null?void 0:t.baseTooltip,{children:k.jsx(c.slots.baseIconButton,S({ref:s,tabIndex:-1,className:d.button,"aria-label":l.current.getLocaleText("columnMenuLabel"),size:"small",onClick:f,"aria-haspopup":"menu","aria-expanded":o,"aria-controls":o?i:void 0,id:a},(n=c.slotProps)==null?void 0:n.baseIconButton,{children:k.jsx(c.slots.columnMenuIcon,{fontSize:"small"})}))}))})});function hct({columnMenuId:e,columnMenuButtonId:t,ContentComponent:n,contentComponentProps:r,field:o,open:i,target:a,onExited:s}){const l=Nt(),c=l.current.getColumn(o),u=Vt(d=>{d&&(d.stopPropagation(),a!=null&&a.contains(d.target))||l.current.hideColumnMenu()});return!a||!c?null:k.jsx(EJ,{placement:`bottom-${c.align==="right"?"start":"end"}`,open:i,target:a,onClose:u,onExited:s,children:k.jsx(n,S({colDef:c,hideMenu:u,open:i,id:e,labelledby:t},r))})}const mct=["className"],gct=e=>{const{classes:t}=e;return de({root:["columnHeaderTitle"]},Lt,t)},vct=cr("div",{name:"MuiDataGrid",slot:"ColumnHeaderTitle",overridesResolver:(e,t)=>t.columnHeaderTitle})({textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap",fontWeight:"var(--unstable_DataGrid-headWeight)"}),yct=g.forwardRef(function(t,n){const{className:r}=t,o=q(t,mct),i=Ze(),a=gct(i);return k.jsx(vct,S({ref:n,className:Q(a.root,r),ownerState:i},o))});function bct(e){var t;const{label:n,description:r}=e,o=Ze(),i=g.useRef(null),[a,s]=g.useState(""),l=g.useCallback(()=>{if(!r&&i!=null&&i.current){const c=Gst(i.current);s(c?n:"")}},[r,n]);return k.jsx(o.slots.baseTooltip,S({title:r||a},(t=o.slotProps)==null?void 0:t.baseTooltip,{children:k.jsx(yct,{onMouseOver:l,ref:i,children:n})}))}const xct=["resizable","resizing","height","side"];var TJ=function(e){return e.Left="left",e.Right="right",e}(TJ||{});const wct=e=>{const{resizable:t,resizing:n,classes:r,side:o}=e,i={root:["columnSeparator",t&&"columnSeparator--resizable",n&&"columnSeparator--resizing",o&&`columnSeparator--side${ie(o)}`],icon:["iconSeparator"]};return de(i,Lt,r)};function Cct(e){const{height:t,side:n=TJ.Right}=e,r=q(e,xct),o=Ze(),i=S({},e,{side:n,classes:o.classes}),a=wct(i),s=g.useCallback(l=>{l.preventDefault(),l.stopPropagation()},[]);return k.jsx("div",S({className:a.root,style:{minHeight:t,opacity:o.showColumnVerticalBorder?0:1}},r,{onClick:s,children:k.jsx(o.slots.columnResizeIcon,{className:a.icon})}))}const Sct=g.memo(Cct),Pct=["classes","columnMenuOpen","colIndex","height","isResizing","sortDirection","hasFocus","tabIndex","separatorSide","isDraggable","headerComponent","description","elementId","width","columnMenuIconButton","columnMenu","columnTitleIconButtons","headerClassName","label","resizable","draggableContainerProps","columnHeaderSeparatorProps"],kJ=g.forwardRef(function(t,n){const{classes:r,columnMenuOpen:o,colIndex:i,height:a,isResizing:s,sortDirection:l,hasFocus:c,tabIndex:u,separatorSide:d,isDraggable:f,headerComponent:p,description:h,width:m,columnMenuIconButton:v=null,columnMenu:b=null,columnTitleIconButtons:y=null,headerClassName:w,label:C,resizable:O,draggableContainerProps:P,columnHeaderSeparatorProps:E}=t,T=q(t,Pct),$=Jc(),M=Ze(),D=g.useRef(null),[L,N]=g.useState(o),R=Ot(D,n);let I="none";return l!=null&&(I=l==="asc"?"ascending":"descending"),g.useEffect(()=>{L||N(o)},[L,o]),g.useLayoutEffect(()=>{const A=$.current.state.columnMenu;if(c&&!A.open){const _=D.current.querySelector('[tabindex="0"]')||D.current;_==null||_.focus(),$.current.columnHeadersContainerElementRef.current.scrollLeft=0}},[$,c]),k.jsxs("div",S({ref:R,className:Q(r.root,w),style:{height:a,width:m,minWidth:m,maxWidth:m},role:"columnheader",tabIndex:u,"aria-colindex":i+1,"aria-sort":I,"aria-label":p==null?C:void 0},T,{children:[k.jsxs("div",S({className:r.draggableContainer,draggable:f,role:"presentation"},P,{children:[k.jsxs("div",{className:r.titleContainer,role:"presentation",children:[k.jsx("div",{className:r.titleContainerContent,children:p!==void 0?p:k.jsx(bct,{label:C,description:h,columnWidth:m})}),y]}),v]})),k.jsx(Sct,S({resizable:!M.disableColumnResize&&!!O,resizing:s,height:a,side:d},E)),b]}))}),Ect=e=>{const{colDef:t,classes:n,isDragging:r,sortDirection:o,showRightBorder:i,filterItemsCounter:a}=e,s=o!=null,l=a!=null&&a>0,c=t.type==="number",u={root:["columnHeader",t.headerAlign==="left"&&"columnHeader--alignLeft",t.headerAlign==="center"&&"columnHeader--alignCenter",t.headerAlign==="right"&&"columnHeader--alignRight",t.sortable&&"columnHeader--sortable",r&&"columnHeader--moving",s&&"columnHeader--sorted",l&&"columnHeader--filtered",c&&"columnHeader--numeric","withBorderColor",i&&"columnHeader--withRightBorder"],draggableContainer:["columnHeaderDraggableContainer"],titleContainer:["columnHeaderTitleContainer"],titleContainerContent:["columnHeaderTitleContainerContent"]};return de(u,Lt,n)};function Oct(e){var t,n,r,o;const{colDef:i,columnMenuOpen:a,colIndex:s,headerHeight:l,isResizing:c,sortDirection:u,sortIndex:d,filterItemsCounter:f,hasFocus:p,tabIndex:h,disableReorder:m,separatorSide:v}=e,b=Jc(),y=Ze(),w=g.useRef(null),C=on(),O=on(),P=g.useRef(null),[E,T]=g.useState(a),$=g.useMemo(()=>!y.disableColumnReorder&&!m&&!i.disableReorder,[y.disableColumnReorder,m,i.disableReorder]);let M;i.renderHeader&&(M=i.renderHeader(b.current.getColumnHeaderParams(i.field)));const D=S({},e,{classes:y.classes,showRightBorder:y.showColumnVerticalBorder}),L=Ect(D),N=g.useCallback(J=>oe=>{db(oe)||b.current.publishEvent(J,b.current.getColumnHeaderParams(i.field),oe)},[b,i.field]),R=g.useMemo(()=>({onClick:N("columnHeaderClick"),onDoubleClick:N("columnHeaderDoubleClick"),onMouseOver:N("columnHeaderOver"),onMouseOut:N("columnHeaderOut"),onMouseEnter:N("columnHeaderEnter"),onMouseLeave:N("columnHeaderLeave"),onKeyDown:N("columnHeaderKeyDown"),onFocus:N("columnHeaderFocus"),onBlur:N("columnHeaderBlur")}),[N]),I=g.useMemo(()=>$?{onDragStart:N("columnHeaderDragStart"),onDragEnter:N("columnHeaderDragEnter"),onDragOver:N("columnHeaderDragOver"),onDragEnd:N("columnHeaderDragEnd")}:{},[$,N]),A=g.useMemo(()=>({onMouseDown:N("columnSeparatorMouseDown"),onDoubleClick:N("columnSeparatorDoubleClick")}),[N]);g.useEffect(()=>{E||T(a)},[E,a]);const F=g.useCallback(()=>{T(!1)},[]),_=!y.disableColumnMenu&&!i.disableColumnMenu&&k.jsx(pct,{colDef:i,columnMenuId:C,columnMenuButtonId:O,open:E,iconButtonRef:P}),j=k.jsx(hct,{columnMenuId:C,columnMenuButtonId:O,field:i.field,open:a,target:P.current,ContentComponent:y.slots.columnMenu,contentComponentProps:(t=y.slotProps)==null?void 0:t.columnMenu,onExited:F}),B=(n=i.sortingOrder)!=null?n:y.sortingOrder,U=k.jsxs(g.Fragment,{children:[!y.disableColumnFilter&&k.jsx(y.slots.columnHeaderFilterIconButton,S({field:i.field,counter:f},(r=y.slotProps)==null?void 0:r.columnHeaderFilterIconButton)),i.sortable&&!i.hideSortIcons&&k.jsx(dct,{direction:u,index:d,sortingOrder:B})]});g.useLayoutEffect(()=>{const J=b.current.state.columnMenu;if(p&&!J.open){var oe;const Z=w.current.querySelector('[tabindex="0"]')||w.current;Z==null||Z.focus(),(oe=b.current.columnHeadersContainerElementRef)!=null&&oe.current&&(b.current.columnHeadersContainerElementRef.current.scrollLeft=0)}},[b,p]);const H=typeof i.headerClassName=="function"?i.headerClassName({field:i.field,colDef:i}):i.headerClassName,K=(o=i.headerName)!=null?o:i.field;return k.jsx(kJ,S({ref:w,classes:L,columnMenuOpen:a,colIndex:s,height:l,isResizing:c,sortDirection:u,hasFocus:p,tabIndex:h,separatorSide:v,isDraggable:$,headerComponent:M,description:i.description,elementId:i.field,width:i.computedWidth,columnMenuIconButton:_,columnTitleIconButtons:U,headerClassName:H,label:K,resizable:!y.disableColumnResize&&!!i.resizable,"data-field":i.field,columnMenu:j,draggableContainerProps:I,columnHeaderSeparatorProps:A},R))}const ly=()=>({items:[],logicOperator:Po.And,quickFilterValues:[],quickFilterLogicOperator:Po.And}),W4=1e3;class Tct{constructor(t=W4){this.timeouts=new Map,this.cleanupTimeout=W4,this.cleanupTimeout=t}register(t,n,r){this.timeouts||(this.timeouts=new Map);const o=setTimeout(()=>{typeof n=="function"&&n(),this.timeouts.delete(r.cleanupToken)},this.cleanupTimeout);this.timeouts.set(r.cleanupToken,o)}unregister(t){const n=this.timeouts.get(t.cleanupToken);n&&(this.timeouts.delete(t.cleanupToken),clearTimeout(n))}reset(){this.timeouts&&(this.timeouts.forEach((t,n)=>{this.unregister({cleanupToken:n})}),this.timeouts=void 0)}}class kct{constructor(){this.registry=new FinalizationRegistry(t=>{typeof t=="function"&&t()})}register(t,n,r){this.registry.register(t,n,r)}unregister(t){this.registry.unregister(t)}reset(){}}var gs=function(e){return e.DataGrid="DataGrid",e.DataGridPro="DataGridPro",e}(gs||{});class Ict{}function $ct(e){let t=0;return function(r,o,i,a){e.registry===null&&(e.registry=typeof FinalizationRegistry<"u"?new kct:new Tct);const[s]=g.useState(new Ict),l=g.useRef(null),c=g.useRef();c.current=i;const u=g.useRef(null);if(!l.current&&c.current){const d=(f,p,h)=>{if(!p.defaultMuiPrevented){var m;(m=c.current)==null||m.call(c,f,p,h)}};l.current=r.current.subscribeEvent(o,d,a),t+=1,u.current={cleanupToken:t},e.registry.register(s,()=>{var f;(f=l.current)==null||f.call(l),l.current=null,u.current=null},u.current)}else!c.current&&l.current&&(l.current(),l.current=null,u.current&&(e.registry.unregister(u.current),u.current=null));g.useEffect(()=>{if(!l.current&&c.current){const d=(f,p,h)=>{if(!p.defaultMuiPrevented){var m;(m=c.current)==null||m.call(c,f,p,h)}};l.current=r.current.subscribeEvent(o,d,a)}return u.current&&e.registry&&(e.registry.unregister(u.current),u.current=null),()=>{var d;(d=l.current)==null||d.call(l),l.current=null}},[r,o,a])}}const Mct={registry:null},et=$ct(Mct),Act={isFirst:!0};function Sn(e,t,n){et(e,t,n,Act)}function Fr(e,t){const n=g.useRef(null);if(n.current)return n.current;const r=e.current.getLogger(t);return n.current=r,r}function Rct(e){return typeof e=="number"&&!Number.isNaN(e)}function IJ(e){return typeof e=="function"}function I2(e){return typeof e=="object"&&e!==null}function _ct(){try{const e="__some_random_key_you_are_not_going_to_use__";return window.localStorage.setItem(e,e),window.localStorage.removeItem(e),!0}catch{return!1}}function tx(e){return e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}const Xp=(e,t,n)=>Math.max(t,Math.min(n,e));function Gu(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;if(Array.isArray(e)){const o=e.length;if(o!==t.length)return!1;for(let i=0;i{let t=e+=1831565813;return t=Math.imul(t^t>>>15,t|1),t^=t+Math.imul(t^t>>>7,t|61),((t^t>>>14)>>>0)/4294967296}}function Nct(e,t,n){const r=Dct(e);return()=>t+(n-t)*r()}function $J(e){return typeof structuredClone=="function"?structuredClone(e):JSON.parse(JSON.stringify(e))}const Lct=(e,t,n,r,o)=>{const i=Fr(e,"useNativeEventListener"),[a,s]=g.useState(!1),l=g.useRef(r),c=g.useCallback(u=>l.current&&l.current(u),[]);g.useEffect(()=>{l.current=r},[r]),g.useEffect(()=>{let u;if(IJ(t)?u=t():u=t&&t.current?t.current:null,u&&n&&!a){i.debug(`Binding native ${n} event`),u.addEventListener(n,c,o);const d=u;s(!0);const f=()=>{i.debug(`Clearing native ${n} event`),d.removeEventListener(n,c,o)};e.current.subscribeEvent("unmount",f)}},[t,c,n,a,i,o,e])},fb=e=>{const t=g.useRef(!0);t.current&&(t.current=!1,e())},jct=100,Fct=e=>e?0:100,MJ=(e,t)=>t>0&&e>0?Math.ceil(e/t):0;Rs(["MUI: the 'rowCount' prop is undefined while using paginationMode='server'","For more detail, see http://mui.com/components/data-grid/pagination/#basic-implementation"],"error");const AJ=e=>({page:0,pageSize:e?0:100}),Bct=(e,t=0)=>t===0?e:Math.max(Math.min(e,t-1),0),RJ=(e,t)=>{if(t===gs.DataGrid&&e>jct)throw new Error(["MUI: `pageSize` cannot exceed 100 in the MIT version of the DataGrid.","You need to upgrade to DataGridPro or DataGridPremium component to unlock this feature."].join(` -`))},$2=e=>e.pagination,Ai=vt($2,e=>e.paginationModel),Hf=vt($2,e=>e.rowCount),zct=vt(Ai,e=>e.page),_J=vt(Ai,e=>e.pageSize),Vct=vt(_J,Hf,(e,t)=>MJ(t,e)),M2=kn(Ai,xa,aP,Zc,dJ,(e,t,n,r,o)=>{const i=o.length,a=Math.min(e.pageSize*e.page,i-1),s=Math.min(a+e.pageSize-1,i-1);if(a===-1||s===-1)return null;if(n<2)return{firstRowIndex:a,lastRowIndex:s};const l=o[a],c=s-a+1,u=r.findIndex(h=>h.id===l.id);let d=u,f=0;for(;d0)&&(d+=1),m===0&&(f+=1))}return{firstRowIndex:u,lastRowIndex:d-1}}),Hct=kn(Zc,M2,(e,t)=>t?e.slice(t.firstRowIndex,t.lastRowIndex+1):[]),DJ=kn(jg,M2,(e,t)=>t?e.slice(t.firstRowIndex,t.lastRowIndex+1):[]),cy=e=>e.preferencePanel;var ud=function(e){return e.filters="filters",e.columns="columns",e}(ud||{});const uy=e=>e.rowsMeta,Ri=e=>e.rowSelection,Uct=vt(Ri,e=>e.length),Wct=kn(Ri,Js,(e,t)=>new Map(e.map(n=>[n,t[n]]))),d1=kn(Ri,e=>e.reduce((t,n)=>(t[n]=n,t),{})),Gct=Rs(["MUI: The `sortModel` can only contain a single item when the `disableMultipleColumnsSorting` prop is set to `true`.","If you are using the community version of the `DataGrid`, this prop is always `true`."],"error"),NJ=(e,t)=>t&&e.length>1?(Gct(),[e[0]]):e,G4=(e,t)=>n=>S({},n,{sorting:S({},n.sorting,{sortModel:NJ(e,t)})}),qct=e=>e==="desc",Kct=(e,t)=>{const n=t.current.getColumn(e.field);if(!n)return null;const r=qct(e.sort)?(...i)=>-1*n.sortComparator(...i):n.sortComparator;return{getSortCellParams:i=>({id:i,field:n.field,rowNode:t.current.getRowNode(i),value:t.current.getCellValue(i,n.field),api:t.current}),comparator:r}},Yct=(e,t,n)=>e.reduce((r,o,i)=>{if(r!==0)return r;const a=t.params[i],s=n.params[i];return r=o.comparator(a.value,s.value,a,s),r},0),Qct=(e,t)=>{const n=e.map(r=>Kct(r,t)).filter(r=>!!r);return n.length===0?null:r=>r.map(o=>({node:o,params:n.map(i=>i.getSortCellParams(o.id))})).sort((o,i)=>Yct(n,o,i)).map(o=>o.node.id)},q4=(e,t)=>{const n=e.indexOf(t);return!t||n===-1||n+1===e.length?e[0]:e[n+1]},A2=(e,t)=>e==null&&t!=null?-1:t==null&&e!=null?1:e==null&&t==null?0:null,Xct=new Intl.Collator,Jct=(e,t)=>{const n=A2(e,t);return n!==null?n:typeof e=="string"?Xct.compare(e.toString(),t.toString()):e-t},LJ=(e,t)=>{const n=A2(e,t);return n!==null?n:Number(e)-Number(t)},jJ=(e,t)=>{const n=A2(e,t);return n!==null?n:e>t?1:ee.headerFiltering,Zct=vt(FJ,e=>e.editing),eut=vt(FJ,e=>e.menuOpen),tut=(e,t)=>{const n={enabled:!t.disableVirtualization,enabledForColumns:!0};return S({},e,{virtualization:n})};function nut(e,t){const n=i=>{e.current.setState(a=>S({},a,{virtualization:S({},a.virtualization,{enabled:i})}))};St(e,{unstable_setVirtualization:n,unstable_setColumnVirtualization:i=>{e.current.setState(a=>S({},a,{virtualization:S({},a.virtualization,{enabledForColumns:i})}))}},"public"),g.useEffect(()=>{n(!t.disableVirtualization)},[t.disableVirtualization])}const BJ=e=>e.virtualization,rut=vt(BJ,e=>e.enabled),zJ=vt(BJ,e=>e.enabledForColumns),out=e=>{const{classes:t}=e;return de({icon:["filterIcon"]},Lt,t)};function iut(e){var t,n;const{counter:r,field:o,onClick:i}=e,a=Nt(),s=Ze(),l=S({},e,{classes:s.classes}),c=out(l),u=Ue(a,cy),d=on(),f=on(),p=g.useCallback(v=>{v.preventDefault(),v.stopPropagation();const{open:b,openedPanelValue:y}=cy(a.current.state);b&&y===ud.filters?a.current.hideFilterPanel():a.current.showFilterPanel(void 0,f,d),i&&i(a.current.getColumnHeaderParams(o),v)},[a,o,i,f,d]);if(!r)return null;const h=u.open&&u.labelId===d,m=k.jsx(s.slots.baseIconButton,S({id:d,onClick:p,color:"default","aria-label":a.current.getLocaleText("columnHeaderFiltersLabel"),size:"small",tabIndex:-1,"aria-haspopup":"menu","aria-expanded":h,"aria-controls":h?f:void 0},(t=s.slotProps)==null?void 0:t.baseIconButton,{children:k.jsx(s.slots.columnFilteredIcon,{className:c.icon,fontSize:"small"})}));return k.jsx(s.slots.baseTooltip,S({title:a.current.getLocaleText("columnHeaderFiltersTooltipActive")(r),enterDelay:1e3},(n=s.slotProps)==null?void 0:n.baseTooltip,{children:k.jsxs(OJ,{children:[r>1&&k.jsx(n8,{badgeContent:r,color:"default",children:m}),r===1&&m]})}))}const aut=["field","id","value","formattedValue","row","rowNode","colDef","isEditable","cellMode","hasFocus","tabIndex","api"],sut=e=>{const{classes:t}=e;return de({root:["checkboxInput"]},Lt,t)},lut=g.forwardRef(function(t,n){var r;const{field:o,id:i,value:a,rowNode:s,hasFocus:l,tabIndex:c}=t,u=q(t,aut),d=Nt(),f=Ze(),p={classes:f.classes},h=sut(p),m=g.useRef(null),v=g.useRef(null),b=Ot(m,n),y=d.current.getCellElement(i,o),w=E=>{const T={value:E.target.checked,id:i};d.current.publishEvent("rowSelectionCheckboxChange",T,E)};g.useLayoutEffect(()=>{c===0&&y&&(y.tabIndex=-1)},[y,c]),g.useEffect(()=>{if(l){var E;const T=(E=m.current)==null?void 0:E.querySelector("input");T==null||T.focus({preventScroll:!0})}else v.current&&v.current.stop({})},[l]);const C=g.useCallback(E=>{SJ(E.key)&&E.stopPropagation()},[]);if(s.type==="footer"||s.type==="pinnedRow")return null;const O=d.current.isRowSelectable(i),P=d.current.getLocaleText(a?"checkboxSelectionUnselectRow":"checkboxSelectionSelectRow");return k.jsx(f.slots.baseCheckbox,S({ref:b,tabIndex:c,checked:a,onChange:w,className:h.root,inputProps:{"aria-label":P},onKeyDown:C,disabled:!O,touchRippleRef:v},(r=f.slotProps)==null?void 0:r.baseCheckbox,u))}),cut=lut,uut=["field","colDef"],dut=e=>{const{classes:t}=e;return de({root:["checkboxInput"]},Lt,t)},fut=g.forwardRef(function(t,n){var r;const o=q(t,uut),[,i]=g.useState(!1),a=Nt(),s=Ze(),l={classes:s.classes},c=dut(l),u=Ue(a,hJ),d=Ue(a,Ri),f=Ue(a,jg),p=Ue(a,DJ),h=g.useMemo(()=>typeof s.isRowSelectable!="function"?d:d.filter(T=>a.current.getRow(T)?s.isRowSelectable(a.current.getRowParams(T)):!1),[a,s.isRowSelectable,d]),m=g.useMemo(()=>(!s.pagination||!s.checkboxSelectionVisibleOnly?f:p).reduce(($,M)=>($[M]=!0,$),{}),[s.pagination,s.checkboxSelectionVisibleOnly,p,f]),v=g.useMemo(()=>h.filter(T=>m[T]).length,[h,m]),b=v>0&&v0,w=T=>{const $={value:T.target.checked};a.current.publishEvent("headerSelectionCheckboxChange",$)},C=u!==null&&u.field===t.field?0:-1;g.useLayoutEffect(()=>{const T=a.current.getColumnHeaderElement(t.field);C===0&&T&&(T.tabIndex=-1)},[C,a,t.field]);const O=g.useCallback(T=>{T.key===" "&&a.current.publishEvent("headerSelectionCheckboxChange",{value:!y})},[a,y]),P=g.useCallback(()=>{i(T=>!T)},[]);g.useEffect(()=>a.current.subscribeEvent("rowSelectionChange",P),[a,P]);const E=a.current.getLocaleText(y?"checkboxSelectionUnselectAllRows":"checkboxSelectionSelectAllRows");return k.jsx(s.slots.baseCheckbox,S({ref:n,indeterminate:b,checked:y,onChange:w,className:c.root,inputProps:{"aria-label":E},tabIndex:C,onKeyDown:O},(r=s.slotProps)==null?void 0:r.baseCheckbox,o))}),K4=rt(k.jsx("path",{d:"M4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z"}),"ArrowUpward"),Y4=rt(k.jsx("path",{d:"M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"}),"ArrowDownward"),Q4=rt(k.jsx("path",{d:"M8.59 16.59 13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z"}),"KeyboardArrowRight"),X4=rt(k.jsx("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"}),"ExpandMore"),put=rt(k.jsx("path",{d:"M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"}),"FilterList"),J4=rt(k.jsx("path",{d:"M4.25 5.61C6.27 8.2 10 13 10 13v6c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-6s3.72-4.8 5.74-7.39c.51-.66.04-1.61-.79-1.61H5.04c-.83 0-1.3.95-.79 1.61z"}),"FilterAlt"),hut=rt(k.jsx("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"}),"Search");rt(k.jsx("path",{d:"M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"}),"Menu");rt(k.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckCircle");const mut=rt(k.jsx("path",{d:"M6 5H3c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h3c.55 0 1-.45 1-1V6c0-.55-.45-1-1-1zm14 0h-3c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h3c.55 0 1-.45 1-1V6c0-.55-.45-1-1-1zm-7 0h-3c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h3c.55 0 1-.45 1-1V6c0-.55-.45-1-1-1z"}),"ColumnIcon"),gut=rt(k.jsx("path",{d:"M11 19V5h2v14z"}),"Separator"),vut=rt(k.jsx("path",{d:"M4 15h16v-2H4v2zm0 4h16v-2H4v2zm0-8h16V9H4v2zm0-6v2h16V5H4z"}),"ViewHeadline"),yut=rt(k.jsx("path",{d:"M21,8H3V4h18V8z M21,10H3v4h18V10z M21,16H3v4h18V16z"}),"TableRows"),but=rt(k.jsx("path",{d:"M4 18h17v-6H4v6zM4 5v6h17V5H4z"}),"ViewStream"),xut=rt(k.jsx("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}),"TripleDotsVertical"),fO=rt(k.jsx("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close"),Z4=rt(k.jsx("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"}),"Add"),wut=rt(k.jsx("path",{d:"M19 13H5v-2h14v2z"}),"Remove"),Cut=rt(k.jsx("path",{d:"M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01-.25 1.97-.7 2.8l1.46 1.46C19.54 15.03 20 13.57 20 12c0-4.42-3.58-8-8-8zm0 14c-3.31 0-6-2.69-6-6 0-1.01.25-1.97.7-2.8L5.24 7.74C4.46 8.97 4 10.43 4 12c0 4.42 3.58 8 8 8v3l4-4-4-4v3z"}),"Load"),eV=rt(k.jsx("path",{d:"M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}),"Drag"),Sut=rt(k.jsx("path",{d:"M19 12v7H5v-7H3v7c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-7h-2zm-6 .67l2.59-2.58L17 11.5l-5 5-5-5 1.41-1.41L11 12.67V3h2z"}),"SaveAlt"),Put=rt(k.jsx("path",{d:"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"}),"Check"),Eut=rt(k.jsx("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}),"MoreVert"),Out=rt(k.jsx("path",{d:"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78l3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z"}),"VisibilityOff"),Tut=rt(k.jsx("g",{children:k.jsx("path",{d:"M14.67,5v14H9.33V5H14.67z M15.67,19H21V5h-5.33V19z M8.33,19V5H3v14H8.33z"})}),"ViewColumn"),kut=rt(k.jsx("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Clear");rt(k.jsx("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"}),"Delete");const Iut=rt(k.jsx("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zm2.46-7.12l1.41-1.41L12 12.59l2.12-2.12 1.41 1.41L13.41 14l2.12 2.12-1.41 1.41L12 15.41l-2.12 2.12-1.41-1.41L10.59 14l-2.13-2.12zM15.5 4l-1-1h-5l-1 1H5v2h14V4z"}),"Delete"),$ut=["hideMenu","colDef","id","labelledby","className","children","open"],Mut=W(hA)(()=>({minWidth:248})),Aut=g.forwardRef(function(t,n){const{hideMenu:r,id:o,labelledby:i,className:a,children:s,open:l}=t,c=q(t,$ut),u=g.useCallback(d=>{CJ(d.key)&&d.preventDefault(),klt(d.key)&&r(d)},[r]);return k.jsx(Mut,S({id:o,ref:n,className:Q(X.menuList,a),"aria-labelledby":i,onKeyDown:u,autoFocus:l},c,{children:s}))}),Rut=["displayOrder"],_ut=e=>{const t=Jc(),{defaultSlots:n,defaultSlotProps:r,slots:o={},slotProps:i={},hideMenu:a,colDef:s,addDividers:l=!0}=e,c=g.useMemo(()=>S({},n,o),[n,o]),u=g.useMemo(()=>{if(!i||Object.keys(i).length===0)return r;const p=S({},i);return Object.entries(r).forEach(([h,m])=>{p[h]=S({},m,i[h]||{})}),p},[r,i]),d=t.current.unstable_applyPipeProcessors("columnMenu",[],e.colDef),f=g.useMemo(()=>{const p=Object.keys(n);return Object.keys(o).filter(h=>!p.includes(h))},[o,n]);return g.useMemo(()=>{const m=Array.from(new Set([...d,...f])).filter(v=>c[v]!=null).sort((v,b)=>{const y=u[v],w=u[b],C=Number.isFinite(y==null?void 0:y.displayOrder)?y.displayOrder:100,O=Number.isFinite(w==null?void 0:w.displayOrder)?w.displayOrder:100;return C-O});return m.reduce((v,b,y)=>{let w={colDef:s,onClick:a};const C=u[b];if(C){const O=q(C,Rut);w=S({},w,O)}return l&&y!==m.length-1?[...v,[c[b],w],[bs,{}]]:[...v,[c[b],w]]},[])},[l,s,d,a,c,u,f])};function Dut(e){const{colDef:t,onClick:n}=e,r=Nt(),o=Ze(),s=_r(r).filter(c=>c.disableColumnMenu!==!0).length===1,l=g.useCallback(c=>{s||(r.current.setColumnVisibility(t.field,!1),n(c))},[r,t.field,n,s]);return o.disableColumnSelector||t.hideable===!1?null:k.jsxs(bt,{onClick:l,disabled:s,children:[k.jsx(fo,{children:k.jsx(o.slots.columnMenuHideIcon,{fontSize:"small"})}),k.jsx(or,{children:r.current.getLocaleText("columnMenuHideColumn")})]})}function Nut(e){const{onClick:t}=e,n=Nt(),r=Ze(),o=g.useCallback(i=>{t(i),n.current.showPreferences(ud.columns)},[n,t]);return r.disableColumnSelector?null:k.jsxs(bt,{onClick:o,children:[k.jsx(fo,{children:k.jsx(r.slots.columnMenuManageColumnsIcon,{fontSize:"small"})}),k.jsx(or,{children:n.current.getLocaleText("columnMenuManageColumns")})]})}function Lut(e){return k.jsxs(g.Fragment,{children:[k.jsx(Dut,S({},e)),k.jsx(Nut,S({},e))]})}function jut(e){const{colDef:t,onClick:n}=e,r=Nt(),o=Ze(),i=g.useCallback(a=>{n(a),r.current.showFilterPanel(t.field)},[r,t.field,n]);return o.disableColumnFilter||!t.filterable?null:k.jsxs(bt,{onClick:i,children:[k.jsx(fo,{children:k.jsx(o.slots.columnMenuFilterIcon,{fontSize:"small"})}),k.jsx(or,{children:r.current.getLocaleText("columnMenuFilter")})]})}function Fut(e){var t;const{colDef:n,onClick:r}=e,o=Nt(),i=Ue(o,Mi),a=Ze(),s=g.useMemo(()=>{if(!n)return null;const d=i.find(f=>f.field===n.field);return d==null?void 0:d.sort},[n,i]),l=(t=n.sortingOrder)!=null?t:a.sortingOrder,c=g.useCallback(d=>{r(d);const f=d.currentTarget.getAttribute("data-value")||null;o.current.sortColumn(n,f===s?null:f)},[o,n,r,s]);if(!n||!n.sortable||!l.some(d=>!!d))return null;const u=d=>{const f=o.current.getLocaleText(d);return typeof f=="function"?f(n):f};return k.jsxs(g.Fragment,{children:[l.includes("asc")&&s!=="asc"?k.jsxs(bt,{onClick:c,"data-value":"asc",children:[k.jsx(fo,{children:k.jsx(a.slots.columnMenuSortAscendingIcon,{fontSize:"small"})}),k.jsx(or,{children:u("columnMenuSortAsc")})]}):null,l.includes("desc")&&s!=="desc"?k.jsxs(bt,{onClick:c,"data-value":"desc",children:[k.jsx(fo,{children:k.jsx(a.slots.columnMenuSortDescendingIcon,{fontSize:"small"})}),k.jsx(or,{children:u("columnMenuSortDesc")})]}):null,l.includes(null)&&s!=null?k.jsxs(bt,{onClick:c,children:[k.jsx(fo,{}),k.jsx(or,{children:o.current.getLocaleText("columnMenuUnsort")})]}):null]})}const But=["defaultSlots","defaultSlotProps","slots","slotProps"],zut={columnMenuSortItem:Fut,columnMenuFilterItem:jut,columnMenuColumnsItem:Lut},Vut={columnMenuSortItem:{displayOrder:10},columnMenuFilterItem:{displayOrder:20},columnMenuColumnsItem:{displayOrder:30}},Hut=g.forwardRef(function(t,n){const{defaultSlots:r,defaultSlotProps:o,slots:i,slotProps:a}=t,s=q(t,But),l=_ut(S({},s,{defaultSlots:r,defaultSlotProps:o,slots:i,slotProps:a}));return k.jsx(Aut,S({ref:n},s,{children:l.map(([c,u],d)=>k.jsx(c,S({},u),d))}))}),Uut=g.forwardRef(function(t,n){return k.jsx(Hut,S({},t,{ref:n,defaultSlots:zut,defaultSlotProps:Vut}))}),Wut=["className"],Gut=e=>{const{classes:t}=e;return de({root:["panelContent"]},Lt,t)},qut=cr("div",{name:"MuiDataGrid",slot:"PanelContent",overridesResolver:(e,t)=>t.panelContent})({display:"flex",flexDirection:"column",overflow:"auto",flex:"1 1",maxHeight:400});function VJ(e){const{className:t}=e,n=q(e,Wut),r=Ze(),o=Gut(r);return k.jsx(qut,S({className:Q(t,o.root),ownerState:r},n))}const Kut=["className"],Yut=e=>{const{classes:t}=e;return de({root:["panelFooter"]},Lt,t)},Qut=cr("div",{name:"MuiDataGrid",slot:"PanelFooter",overridesResolver:(e,t)=>t.panelFooter})(({theme:e})=>({padding:e.spacing(.5),display:"flex",justifyContent:"space-between"}));function HJ(e){const{className:t}=e,n=q(e,Kut),r=Ze(),o=Yut(r);return k.jsx(Qut,S({className:Q(t,o.root),ownerState:r},n))}const Xut=["className"],Jut=e=>{const{classes:t}=e;return de({root:["panelHeader"]},Lt,t)},Zut=cr("div",{name:"MuiDataGrid",slot:"PanelHeader",overridesResolver:(e,t)=>t.panelHeader})(({theme:e})=>({padding:e.spacing(1)}));function edt(e){const{className:t}=e,n=q(e,Xut),r=Ze(),o=Jut(r);return k.jsx(Zut,S({className:Q(t,o.root),ownerState:r},n))}const tdt=["className","slotProps"],ndt=e=>{const{classes:t}=e;return de({root:["panelWrapper"]},Lt,t)},rdt=W("div",{name:"MuiDataGrid",slot:"PanelWrapper",overridesResolver:(e,t)=>t.panelWrapper})({display:"flex",flexDirection:"column",flex:1,"&:focus":{outline:0}}),odt=()=>!0,UJ=g.forwardRef(function(t,n){const{className:r,slotProps:o={}}=t,i=q(t,tdt),a=Ze(),s=ndt(a);return k.jsx(eA,S({open:!0,disableEnforceFocus:!0,isEnabled:odt},o.TrapFocus,{children:k.jsx(rdt,S({ref:n,tabIndex:-1,className:Q(r,s.root),ownerState:a},i))}))}),idt=!1,adt=["sort","searchPredicate","autoFocusSearchField","disableHideAllButton","disableShowAllButton","getTogglableColumns"],sdt=e=>{const{classes:t}=e;return de({root:["columnsPanel"],columnsPanelRow:["columnsPanelRow"]},Lt,t)},ldt=W("div",{name:"MuiDataGrid",slot:"ColumnsPanel",overridesResolver:(e,t)=>t.columnsPanel})({padding:"8px 0px 8px 8px"}),cdt=W("div",{name:"MuiDataGrid",slot:"ColumnsPanelRow",overridesResolver:(e,t)=>t.columnsPanelRow})(({theme:e})=>({display:"flex",justifyContent:"space-between",padding:"1px 8px 1px 7px",[`& .${Ur.root}`]:{marginRight:e.spacing(.5)}})),udt=W(Rt)({justifyContent:"flex-end"}),tV=new Intl.Collator,ddt=(e,t)=>(e.headerName||e.field).toLowerCase().indexOf(t)>-1;function fdt(e){var t,n,r;const o=Nt(),i=g.useRef(null),a=Ue(o,ms),s=Ue(o,Ea),l=Ze(),[c,u]=g.useState(""),d=sdt(l),{sort:f,searchPredicate:p=ddt,autoFocusSearchField:h=!0,disableHideAllButton:m=!1,disableShowAllButton:v=!1,getTogglableColumns:b}=e,y=q(e,adt),w=g.useMemo(()=>{switch(f){case"asc":return[...a].sort((D,L)=>tV.compare(D.headerName||D.field,L.headerName||L.field));case"desc":return[...a].sort((D,L)=>-tV.compare(D.headerName||D.field,L.headerName||L.field));default:return a}},[a,f]),C=D=>{const{name:L}=D.target;o.current.setColumnVisibility(L,s[L]===!1)},O=g.useCallback(D=>{const L=Ea(o),N=S({},L),R=b?b(a):null;return a.forEach(I=>{I.hideable&&(R==null||R.includes(I.field))&&(D?delete N[I.field]:N[I.field]=!1)}),o.current.setColumnVisibilityModel(N)},[o,a,b]),P=g.useCallback(D=>{u(D.target.value)},[]),E=g.useMemo(()=>{const D=b?b(w):null,L=D?w.filter(({field:N})=>D.includes(N)):w;return c?L.filter(N=>p(N,c.toLowerCase())):L},[w,c,p,b]),T=g.useRef(null);g.useEffect(()=>{h?i.current.focus():T.current&&typeof T.current.focus=="function"&&T.current.focus()},[h]);let $=!1;const M=D=>$===!1&&D.hideable!==!1?($=!0,!0):!1;return k.jsxs(UJ,S({},y,{children:[k.jsx(edt,{children:k.jsx(l.slots.baseTextField,S({label:o.current.getLocaleText("columnsPanelTextFieldLabel"),placeholder:o.current.getLocaleText("columnsPanelTextFieldPlaceholder"),inputRef:i,value:c,onChange:P,variant:"standard",fullWidth:!0},(t=l.slotProps)==null?void 0:t.baseTextField))}),k.jsx(VJ,{children:k.jsx(ldt,{className:d.root,ownerState:l,children:E.map(D=>{var L;return k.jsxs(cdt,{className:d.columnsPanelRow,ownerState:l,children:[k.jsx($y,{control:k.jsx(l.slots.baseSwitch,S({disabled:D.hideable===!1,checked:s[D.field]!==!1,onClick:C,name:D.field,size:"small",inputRef:M(D)?T:void 0},(L=l.slotProps)==null?void 0:L.baseSwitch)),label:D.headerName||D.field}),!l.disableColumnReorder&&idt&&k.jsx(udt,{draggable:!0,"aria-label":o.current.getLocaleText("columnsPanelDragIconLabel"),title:o.current.getLocaleText("columnsPanelDragIconLabel"),size:"small",disabled:!0,children:k.jsx(l.slots.columnReorderIcon,{})})]},D.field)})})}),v&&m?null:k.jsxs(HJ,{children:[m?k.jsx("span",{}):k.jsx(l.slots.baseButton,S({onClick:()=>O(!1)},(n=l.slotProps)==null?void 0:n.baseButton,{disabled:m,children:o.current.getLocaleText("columnsPanelHideAllButton")})),v?null:k.jsx(l.slots.baseButton,S({onClick:()=>O(!0)},(r=l.slotProps)==null?void 0:r.baseButton,{disabled:v,children:o.current.getLocaleText("columnsPanelShowAllButton")}))]})]}))}const pdt=["children","className","classes"],hdt=Pe("MuiDataGrid",["panel","paper"]),mdt=W(Bc,{name:"MuiDataGrid",slot:"Panel",overridesResolver:(e,t)=>t.panel})(({theme:e})=>({zIndex:e.zIndex.modal})),gdt=W(Kn,{name:"MuiDataGrid",slot:"Paper",overridesResolver:(e,t)=>t.paper})(({theme:e})=>({backgroundColor:(e.vars||e).palette.background.paper,minWidth:300,maxHeight:450,display:"flex"})),vdt=g.forwardRef((e,t)=>{const{children:n,className:r}=e,o=q(e,pdt),i=Nt(),a=Ze(),s=hdt,[l,c]=g.useState(!1),u=g.useCallback(()=>{i.current.hidePreferences()},[i]),d=g.useCallback(m=>{c1(m.key)&&i.current.hidePreferences()},[i]),f=g.useMemo(()=>[{name:"flip",enabled:!1},{name:"isPlaced",enabled:!0,phase:"main",fn:()=>{c(!0)},effect:()=>()=>{c(!1)}}],[]),[p,h]=g.useState(null);return g.useEffect(()=>{var m;const v=(m=i.current.rootElementRef)==null||(m=m.current)==null?void 0:m.querySelector(`.${X.columnHeaders}`);v&&h(v)},[i]),p?k.jsx(mdt,S({ref:t,placement:"bottom-start",className:Q(r,s.panel),ownerState:a,anchorEl:p,modifiers:f},o,{children:k.jsx(ZM,{mouseEvent:"onMouseUp",onClickAway:u,children:k.jsx(gdt,{className:s.paper,ownerState:a,elevation:8,onKeyDown:d,children:l&&n})})})):null}),ydt=g.forwardRef(function(t,n){var r,o,i;const a=Nt(),s=Ue(a,ms),l=Ze(),c=Ue(a,cy),u=a.current.unstable_applyPipeProcessors("preferencePanel",null,(r=c.openedPanelValue)!=null?r:ud.filters);return k.jsx(l.slots.panel,S({ref:n,as:l.slots.basePopper,open:s.length>0&&c.open,id:c.panelId,"aria-labelledby":c.labelId},(o=l.slotProps)==null?void 0:o.panel,t,(i=l.slotProps)==null?void 0:i.basePopper,{children:u}))}),bdt=["item","hasMultipleFilters","deleteFilter","applyFilterChanges","multiFilterOperator","showMultiFilterOperators","disableMultiFilterOperator","applyMultiFilterOperatorChanges","focusElementRef","logicOperators","columnsSort","filterColumns","deleteIconProps","logicOperatorInputProps","operatorInputProps","columnInputProps","valueInputProps","children"],xdt=["InputComponentProps"],wdt=e=>{const{classes:t}=e;return de({root:["filterForm"],deleteIcon:["filterFormDeleteIcon"],logicOperatorInput:["filterFormLogicOperatorInput"],columnInput:["filterFormColumnInput"],operatorInput:["filterFormOperatorInput"],valueInput:["filterFormValueInput"]},Lt,t)},Cdt=W("div",{name:"MuiDataGrid",slot:"FilterForm",overridesResolver:(e,t)=>t.filterForm})(({theme:e})=>({display:"flex",padding:e.spacing(1)})),Sdt=W("div",{name:"MuiDataGrid",slot:"FilterFormDeleteIcon",overridesResolver:(e,t)=>t.filterFormDeleteIcon})(({theme:e})=>({flexShrink:0,justifyContent:"flex-end",marginRight:e.spacing(.5),marginBottom:e.spacing(.2)})),Pdt=W("div",{name:"MuiDataGrid",slot:"FilterFormLogicOperatorInput",overridesResolver:(e,t)=>t.filterFormLogicOperatorInput})({minWidth:55,marginRight:5,justifyContent:"end"}),Edt=W("div",{name:"MuiDataGrid",slot:"FilterFormColumnInput",overridesResolver:(e,t)=>t.filterFormColumnInput})({width:150}),Odt=W("div",{name:"MuiDataGrid",slot:"FilterFormOperatorInput",overridesResolver:(e,t)=>t.filterFormOperatorInput})({width:120}),Tdt=W("div",{name:"MuiDataGrid",slot:"FilterFormValueInput",overridesResolver:(e,t)=>t.filterFormValueInput})({width:190}),kdt=e=>{switch(e){case Po.And:return"filterPanelOperatorAnd";case Po.Or:return"filterPanelOperatorOr";default:throw new Error("MUI: Invalid `logicOperator` property in the `GridFilterPanel`.")}},jm=e=>e.headerName||e.field,nV=new Intl.Collator,Idt=g.forwardRef(function(t,n){var r,o,i,a,s,l,c,u,d,f;const{item:p,hasMultipleFilters:h,deleteFilter:m,applyFilterChanges:v,multiFilterOperator:b,showMultiFilterOperators:y,disableMultiFilterOperator:w,applyMultiFilterOperatorChanges:C,focusElementRef:O,logicOperators:P=[Po.And,Po.Or],columnsSort:E,filterColumns:T,deleteIconProps:$={},logicOperatorInputProps:M={},operatorInputProps:D={},columnInputProps:L={},valueInputProps:N={}}=t,R=q(t,bdt),I=Nt(),A=Ue(I,aJ),F=Ue(I,wr),_=on(),j=on(),B=on(),U=on(),H=Ze(),K=wdt(H),J=g.useRef(null),oe=g.useRef(null),ae=h&&P.length>0,Z=((r=H.slotProps)==null?void 0:r.baseFormControl)||{},re=(i=(((o=H.slotProps)==null?void 0:o.baseSelect)||{}).native)!=null?i:!0,pe=((a=H.slotProps)==null?void 0:a.baseInputLabel)||{},le=((s=H.slotProps)==null?void 0:s.baseSelectOption)||{},{InputComponentProps:G}=N,te=q(N,xdt),fe=g.useMemo(()=>{if(T===void 0||typeof T!="function")return A;const Y=T({field:p.field,columns:A,currentFilters:(F==null?void 0:F.items)||[]});return A.filter(ne=>Y.includes(ne.field))},[T,F==null?void 0:F.items,A,p.field]),he=g.useMemo(()=>{switch(E){case"asc":return fe.sort((Y,ne)=>nV.compare(jm(Y),jm(ne)));case"desc":return fe.sort((Y,ne)=>-nV.compare(jm(Y),jm(ne)));default:return fe}},[fe,E]),ce=p.field?I.current.getColumn(p.field):null,be=g.useMemo(()=>{var Y;return!p.operator||!ce?null:(Y=ce.filterOperators)==null?void 0:Y.find(ne=>ne.value===p.operator)},[p,ce]),ye=g.useCallback(Y=>{const ne=Y.target.value,se=I.current.getColumn(ne);if(se.field===ce.field)return;const ge=se.filterOperators.find(Ve=>Ve.value===p.operator)||se.filterOperators[0],Ae=!ge.InputComponent||ge.InputComponent!==(be==null?void 0:be.InputComponent)||se.type!==ce.type;v(S({},p,{field:ne,operator:ge.value,value:Ae?void 0:p.value}))},[I,v,p,ce,be]),Me=g.useCallback(Y=>{const ne=Y.target.value,se=ce==null?void 0:ce.filterOperators.find(Ae=>Ae.value===ne),ge=!(se!=null&&se.InputComponent)||(se==null?void 0:se.InputComponent)!==(be==null?void 0:be.InputComponent);v(S({},p,{operator:ne,value:ge?void 0:p.value}))},[v,p,ce,be]),Re=g.useCallback(Y=>{const ne=Y.target.value===Po.And.toString()?Po.And:Po.Or;C(ne)},[C]),_e=()=>{H.disableMultipleColumnsFiltering?p.value===void 0?m(p):v(S({},p,{value:void 0})):m(p)};return g.useImperativeHandle(O,()=>({focus:()=>{if(be!=null&&be.InputComponent){var Y;J==null||(Y=J.current)==null||Y.focus()}else oe.current.focus()}}),[be]),k.jsxs(Cdt,S({ref:n,className:K.root,"data-id":p.id,ownerState:H},R,{children:[k.jsx(Sdt,S({variant:"standard",as:H.slots.baseFormControl},Z,$,{className:Q(K.deleteIcon,Z.className,$.className),ownerState:H,children:k.jsx(H.slots.baseIconButton,S({"aria-label":I.current.getLocaleText("filterPanelDeleteIconLabel"),title:I.current.getLocaleText("filterPanelDeleteIconLabel"),onClick:_e,size:"small"},(l=H.slotProps)==null?void 0:l.baseIconButton,{children:k.jsx(H.slots.filterPanelDeleteIcon,{fontSize:"small"})}))})),k.jsx(Pdt,S({variant:"standard",as:H.slots.baseFormControl},Z,M,{sx:S({display:ae?"flex":"none",visibility:y?"visible":"hidden"},Z.sx||{},M.sx||{}),className:Q(K.logicOperatorInput,Z.className,M.className),ownerState:H,children:k.jsx(H.slots.baseSelect,S({inputProps:{"aria-label":I.current.getLocaleText("filterPanelLogicOperator")},value:b,onChange:Re,disabled:!!w||P.length===1,native:re},(c=H.slotProps)==null?void 0:c.baseSelect,{children:P.map(Y=>g.createElement(H.slots.baseSelectOption,S({},le,{native:re,key:Y.toString(),value:Y.toString()}),I.current.getLocaleText(kdt(Y))))}))})),k.jsxs(Edt,S({variant:"standard",as:H.slots.baseFormControl},Z,L,{className:Q(K.columnInput,Z.className,L.className),ownerState:H,children:[k.jsx(H.slots.baseInputLabel,S({},pe,{htmlFor:_,id:j,children:I.current.getLocaleText("filterPanelColumns")})),k.jsx(H.slots.baseSelect,S({labelId:j,id:_,label:I.current.getLocaleText("filterPanelColumns"),value:p.field||"",onChange:ye,native:re},(u=H.slotProps)==null?void 0:u.baseSelect,{children:he.map(Y=>g.createElement(H.slots.baseSelectOption,S({},le,{native:re,key:Y.field,value:Y.field}),jm(Y)))}))]})),k.jsxs(Odt,S({variant:"standard",as:H.slots.baseFormControl},Z,D,{className:Q(K.operatorInput,Z.className,D.className),ownerState:H,children:[k.jsx(H.slots.baseInputLabel,S({},pe,{htmlFor:B,id:U,children:I.current.getLocaleText("filterPanelOperator")})),k.jsx(H.slots.baseSelect,S({labelId:U,label:I.current.getLocaleText("filterPanelOperator"),id:B,value:p.operator,onChange:Me,native:re,inputRef:oe},(d=H.slotProps)==null?void 0:d.baseSelect,{children:ce==null||(f=ce.filterOperators)==null?void 0:f.map(Y=>g.createElement(H.slots.baseSelectOption,S({},le,{native:re,key:Y.value,value:Y.value}),Y.label||I.current.getLocaleText(`filterOperator${ie(Y.value)}`)))}))]})),k.jsx(Tdt,S({variant:"standard",as:H.slots.baseFormControl},Z,te,{className:Q(K.valueInput,Z.className,te.className),ownerState:H,children:be!=null&&be.InputComponent?k.jsx(be.InputComponent,S({apiRef:I,item:p,applyValue:v,focusElementRef:J},be.InputComponentProps,G)):null}))]}))});class R2{constructor(){this.currentId=0,this.clear=()=>{this.currentId!==0&&(clearTimeout(this.currentId),this.currentId=0)},this.disposeEffect=()=>this.clear}static create(){return new R2}start(t,n){this.clear(),this.currentId=setTimeout(n,t)}}function _2(){const e=b2(R2.create).current;return oJ(e.disposeEffect),e}const $dt=["item","applyValue","type","apiRef","focusElementRef","tabIndex","disabled","isFilterActive","clearButton","InputProps","variant"];function ts(e){var t,n;const{item:r,applyValue:o,type:i,apiRef:a,focusElementRef:s,tabIndex:l,disabled:c,clearButton:u,InputProps:d,variant:f="standard"}=e,p=q(e,$dt),h=_2(),[m,v]=g.useState((t=r.value)!=null?t:""),[b,y]=g.useState(!1),w=on(),C=Ze(),O=g.useCallback(P=>{const{value:E}=P.target;v(String(E)),y(!0),h.start(C.filterDebounceMs,()=>{const T=S({},r,{value:E,fromInput:w});o(T),y(!1)})},[w,o,r,C.filterDebounceMs,h]);return g.useEffect(()=>{if(r.fromInput!==w||r.value===void 0){var E;v(String((E=r.value)!=null?E:""))}},[w,r]),k.jsx(C.slots.baseTextField,S({id:w,label:a.current.getLocaleText("filterPanelInputLabel"),placeholder:a.current.getLocaleText("filterPanelInputPlaceholder"),value:m,onChange:O,variant:f,type:i||"text",InputProps:S({},b||u?{endAdornment:b?k.jsx(C.slots.loadIcon,{fontSize:"small",color:"action"}):u}:{},{disabled:c},d,{inputProps:S({tabIndex:l},d==null?void 0:d.inputProps)}),InputLabelProps:{shrink:!0},inputRef:s},p,(n=C.slotProps)==null?void 0:n.baseTextField))}const Mdt=["item","applyValue","type","apiRef","focusElementRef","InputProps","isFilterActive","clearButton","tabIndex","disabled"];function of(e){var t,n;const{item:r,applyValue:o,type:i,apiRef:a,focusElementRef:s,InputProps:l,clearButton:c,tabIndex:u,disabled:d}=e,f=q(e,Mdt),p=_2(),[h,m]=g.useState((t=r.value)!=null?t:""),[v,b]=g.useState(!1),y=on(),w=Ze(),C=g.useCallback(O=>{const P=O.target.value;m(String(P)),b(!0),p.start(w.filterDebounceMs,()=>{o(S({},r,{value:P})),b(!1)})},[o,r,w.filterDebounceMs,p]);return g.useEffect(()=>{var O;const P=(O=r.value)!=null?O:"";m(String(P))},[r.value]),k.jsx(w.slots.baseTextField,S({fullWidth:!0,id:y,label:a.current.getLocaleText("filterPanelInputLabel"),placeholder:a.current.getLocaleText("filterPanelInputPlaceholder"),value:h,onChange:C,variant:"standard",type:i||"text",InputLabelProps:{shrink:!0},inputRef:s,InputProps:S({},v||c?{endAdornment:v?k.jsx(w.slots.loadIcon,{fontSize:"small",color:"action"}):c}:{},{disabled:d},l,{inputProps:S({max:i==="datetime-local"?"9999-12-31T23:59":"9999-12-31",tabIndex:u},l==null?void 0:l.inputProps)})},f,(n=w.slotProps)==null?void 0:n.baseTextField))}const Adt=["item","applyValue","type","apiRef","focusElementRef","getOptionLabel","getOptionValue","placeholder","tabIndex","label","variant","isFilterActive","clearButton","InputLabelProps"],Rdt=({column:{valueOptions:e,field:t},OptionComponent:n,getOptionLabel:r,getOptionValue:o,isSelectNative:i,baseSelectOptionProps:a})=>(typeof e=="function"?["",...e({field:t})]:["",...e||[]]).map(l=>{const c=o(l),u=r(l);return g.createElement(n,S({},a,{native:i,key:c,value:c}),u)}),_dt=W("div")({display:"flex",alignItems:"flex-end",width:"100%","& button":{margin:"auto 0px 5px 5px"}});function rV(e){var t,n,r,o,i,a,s,l;const{item:c,applyValue:u,type:d,apiRef:f,focusElementRef:p,getOptionLabel:h,getOptionValue:m,placeholder:v,tabIndex:b,label:y,variant:w="standard",clearButton:C}=e,O=q(e,Adt),[P,E]=g.useState((t=c.value)!=null?t:""),T=on(),$=on(),M=Ze(),D=(n=(r=M.slotProps)==null||(r=r.baseSelect)==null?void 0:r.native)!=null?n:!0;let L=null;if(c.field){const _=f.current.getColumn(c.field);Wu(_)&&(L=_)}const N=m||((o=L)==null?void 0:o.getOptionValue),R=h||((i=L)==null?void 0:i.getOptionLabel),I=g.useMemo(()=>{if(L)return typeof L.valueOptions=="function"?L.valueOptions({field:L.field}):L.valueOptions},[L]),A=g.useCallback(_=>{let j=_.target.value;j=t$(j,I,N),E(String(j)),u(S({},c,{value:j}))},[I,N,u,c]);if(g.useEffect(()=>{var _;let j;if(I!==void 0){if(j=t$(c.value,I,N),j!==c.value){u(S({},c,{value:j}));return}}else j=c.value;j=(_=j)!=null?_:"",E(String(j))},[c,I,u,N]),!Wu(L)||!Wu(L))return null;const F=y??f.current.getLocaleText("filterPanelInputLabel");return k.jsxs(_dt,{children:[k.jsxs(M.slots.baseFormControl,{children:[k.jsx(M.slots.baseInputLabel,S({},(a=M.slotProps)==null?void 0:a.baseInputLabel,{id:$,htmlFor:T,shrink:!0,variant:w,children:F})),k.jsx(M.slots.baseSelect,S({id:T,label:F,labelId:$,value:P,onChange:A,variant:w,type:d||"text",inputProps:{tabIndex:b,ref:p,placeholder:v??f.current.getLocaleText("filterPanelInputPlaceholder")},native:D,notched:w==="outlined"?!0:void 0},O,(s=M.slotProps)==null?void 0:s.baseSelect,{children:Rdt({column:L,OptionComponent:M.slots.baseSelectOption,getOptionLabel:R,getOptionValue:N,isSelectNative:D,baseSelectOptionProps:(l=M.slotProps)==null?void 0:l.baseSelectOption})}))]}),C]})}const Ddt=["item","applyValue","apiRef","focusElementRef","isFilterActive","clearButton","tabIndex","label","variant","InputLabelProps"],Ndt=W("div")({display:"flex",alignItems:"center",width:"100%","& button":{margin:"auto 0px 5px 5px"}});function Ldt(e){var t,n,r,o;const{item:i,applyValue:a,apiRef:s,focusElementRef:l,clearButton:c,tabIndex:u,label:d,variant:f="standard"}=e,p=q(e,Ddt),[h,m]=g.useState(i.value||""),v=Ze(),b=on(),y=on(),w=((t=v.slotProps)==null?void 0:t.baseSelect)||{},C=(n=w.native)!=null?n:!0,O=((r=v.slotProps)==null?void 0:r.baseSelectOption)||{},P=g.useCallback(T=>{const $=T.target.value;m($),a(S({},i,{value:$}))},[a,i]);g.useEffect(()=>{m(i.value||"")},[i.value]);const E=d??s.current.getLocaleText("filterPanelInputLabel");return k.jsxs(Ndt,{children:[k.jsxs(v.slots.baseFormControl,{fullWidth:!0,children:[k.jsx(v.slots.baseInputLabel,S({},(o=v.slotProps)==null?void 0:o.baseInputLabel,{id:b,shrink:!0,variant:f,children:E})),k.jsxs(v.slots.baseSelect,S({labelId:b,id:y,label:E,value:h,onChange:P,variant:f,notched:f==="outlined"?!0:void 0,native:C,displayEmpty:!0,inputProps:{ref:l,tabIndex:u}},p,w,{children:[k.jsx(v.slots.baseSelectOption,S({},O,{native:C,value:"",children:s.current.getLocaleText("filterValueAny")})),k.jsx(v.slots.baseSelectOption,S({},O,{native:C,value:"true",children:s.current.getLocaleText("filterValueTrue")})),k.jsx(v.slots.baseSelectOption,S({},O,{native:C,value:"false",children:s.current.getLocaleText("filterValueFalse")}))]}))]}),c]})}const jdt=["logicOperators","columnsSort","filterFormProps","getColumnForNewFilter","children","disableAddFilterButton","disableRemoveAllButton"],oV=e=>({field:e.field,operator:e.filterOperators[0].value,id:Math.round(Math.random()*1e5)}),Fdt=g.forwardRef(function(t,n){var r,o;const i=Nt(),a=Ze(),s=Ue(i,wr),l=Ue(i,aJ),c=g.useRef(null),u=g.useRef(null),{logicOperators:d=[Po.And,Po.Or],columnsSort:f,filterFormProps:p,getColumnForNewFilter:h,disableAddFilterButton:m=!1,disableRemoveAllButton:v=!1}=t,b=q(t,jdt),y=i.current.upsertFilterItem,w=g.useCallback(D=>{i.current.setFilterLogicOperator(D)},[i]),C=g.useCallback(()=>{let D;if(h&&typeof h=="function"){const L=h({currentFilters:(s==null?void 0:s.items)||[],columns:l});if(L===null)return null;D=l.find(({field:N})=>N===L)}else D=l.find(L=>{var N;return(N=L.filterOperators)==null?void 0:N.length});return D?oV(D):null},[s==null?void 0:s.items,l,h]),O=g.useCallback(()=>{if(h===void 0||typeof h!="function")return C();const D=s.items.length?s.items:[C()].filter(Boolean),L=h({currentFilters:D,columns:l});if(L===null)return null;const N=l.find(({field:R})=>R===L);return N?oV(N):null},[s.items,l,h,C]),P=g.useMemo(()=>s.items.length?s.items:(u.current||(u.current=C()),u.current?[u.current]:[]),[s.items,C]),E=P.length>1,T=()=>{const D=O();D&&i.current.upsertFilterItems([...P,D])},$=g.useCallback(D=>{const L=P.length===1;i.current.deleteFilterItem(D),L&&i.current.hideFilterPanel()},[i,P.length]),M=()=>{P.length===1&&P[0].value===void 0&&(i.current.deleteFilterItem(P[0]),i.current.hideFilterPanel()),i.current.setFilterModel(S({},s,{items:[]}))};return g.useEffect(()=>{d.length>0&&s.logicOperator&&!d.includes(s.logicOperator)&&w(d[0])},[d,w,s.logicOperator]),g.useEffect(()=>{P.length>0&&c.current.focus()},[P.length]),k.jsxs(UJ,S({ref:n},b,{children:[k.jsx(VJ,{children:P.map((D,L)=>k.jsx(Idt,S({item:D,applyFilterChanges:y,deleteFilter:$,hasMultipleFilters:E,showMultiFilterOperators:L>0,multiFilterOperator:s.logicOperator,disableMultiFilterOperator:L!==1,applyMultiFilterOperatorChanges:w,focusElementRef:L===P.length-1?c:null,logicOperators:d,columnsSort:f},p),D.id==null?L:D.id))}),!a.disableMultipleColumnsFiltering&&!(m&&v)?k.jsxs(HJ,{children:[m?k.jsx("span",{}):k.jsx(a.slots.baseButton,S({onClick:T,startIcon:k.jsx(a.slots.filterPanelAddIcon,{})},(r=a.slotProps)==null?void 0:r.baseButton,{children:i.current.getLocaleText("filterPanelAddFilter")})),v?null:k.jsx(a.slots.baseButton,S({onClick:M,startIcon:k.jsx(a.slots.filterPanelRemoveAllIcon,{})},(o=a.slotProps)==null?void 0:o.baseButton,{children:i.current.getLocaleText("filterPanelRemoveAll")}))]}):null]}))}),Bdt=["item","applyValue","type","apiRef","focusElementRef","color","error","helperText","size","variant"];function WJ(e){const{item:t,applyValue:n,type:r,apiRef:o,focusElementRef:i,color:a,error:s,helperText:l,size:c,variant:u}=e,d=q(e,Bdt),f={color:a,error:s,helperText:l,size:c,variant:u},[p,h]=g.useState(t.value||[]),m=on(),v=Ze();g.useEffect(()=>{var y;const w=(y=t.value)!=null?y:[];h(w.map(String))},[t.value]);const b=g.useCallback((y,w)=>{h(w.map(String)),n(S({},t,{value:[...w]}))},[n,t]);return k.jsx(Da,S({multiple:!0,freeSolo:!0,options:[],filterOptions:(y,w)=>{const{inputValue:C}=w;return C==null||C===""?[]:[C]},id:m,value:p,onChange:b,renderTags:(y,w)=>y.map((C,O)=>k.jsx(v.slots.baseChip,S({variant:"outlined",size:"small",label:C},w({index:O})))),renderInput:y=>{var w;return k.jsx(v.slots.baseTextField,S({},y,{label:o.current.getLocaleText("filterPanelInputLabel"),placeholder:o.current.getLocaleText("filterPanelInputPlaceholder"),InputLabelProps:S({},y.InputLabelProps,{shrink:!0}),inputRef:i,type:r||"text"},f,(w=v.slotProps)==null?void 0:w.baseTextField))}},d))}const zdt=["item","applyValue","type","apiRef","focusElementRef","color","error","helperText","size","variant","getOptionLabel","getOptionValue"],Vdt=QW();function Hdt(e){var t,n;const{item:r,applyValue:o,apiRef:i,focusElementRef:a,color:s,error:l,helperText:c,size:u,variant:d="standard",getOptionLabel:f,getOptionValue:p}=e,h=q(e,zdt),m={color:s,error:l,helperText:c,size:u,variant:d},v=on(),b=Ze();let y=null;if(r.field){const M=i.current.getColumn(r.field);Wu(M)&&(y=M)}const w=p||((t=y)==null?void 0:t.getOptionValue),C=f||((n=y)==null?void 0:n.getOptionLabel),O=g.useCallback((M,D)=>w(M)===w(D),[w]),P=g.useMemo(()=>{var M;return(M=y)!=null&&M.valueOptions?typeof y.valueOptions=="function"?y.valueOptions({field:y.field}):y.valueOptions:[]},[y]),E=g.useMemo(()=>P==null?void 0:P.map(w),[P,w]),T=g.useMemo(()=>Array.isArray(r.value)?P!==void 0?r.value.map(D=>E==null?void 0:E.findIndex(L=>L===D)).filter(D=>D>=0).map(D=>P[D]):r.value:[],[r.value,P,E]);g.useEffect(()=>{(!Array.isArray(r.value)||T.length!==r.value.length)&&o(S({},r,{value:T.map(w)}))},[r,T,o,w]);const $=g.useCallback((M,D)=>{o(S({},r,{value:D.map(w)}))},[o,r,w]);return k.jsx(Da,S({multiple:!0,options:P,isOptionEqualToValue:O,filterOptions:Vdt,id:v,value:T,onChange:$,getOptionLabel:C,renderTags:(M,D)=>M.map((L,N)=>k.jsx(b.slots.baseChip,S({variant:"outlined",size:"small",label:C(L)},D({index:N})))),renderInput:M=>{var D;return k.jsx(b.slots.baseTextField,S({},M,{label:i.current.getLocaleText("filterPanelInputLabel"),placeholder:i.current.getLocaleText("filterPanelInputPlaceholder"),InputLabelProps:S({},M.InputLabelProps,{shrink:!0}),inputRef:a,type:"singleSelect"},m,(D=b.slotProps)==null?void 0:D.baseTextField))}},h))}const Udt=["hideMenu","options"],Wdt=["hideMenu","options"];function Gdt(e){const t=Nt(),{hideMenu:n,options:r}=e,o=q(e,Udt);return k.jsx(bt,S({onClick:()=>{t.current.exportDataAsCsv(r),n==null||n()}},o,{children:t.current.getLocaleText("toolbarExportCSV")}))}function qdt(e){const t=Nt(),{hideMenu:n,options:r}=e,o=q(e,Wdt);return k.jsx(bt,S({onClick:()=>{t.current.exportDataAsPrint(r),n==null||n()}},o,{children:t.current.getLocaleText("toolbarExportPrint")}))}const Kdt=["className","selectedRowCount"],Ydt=e=>{const{classes:t}=e;return de({root:["selectedRowCount"]},Lt,t)},Qdt=cr("div",{name:"MuiDataGrid",slot:"SelectedRowCount",overridesResolver:(e,t)=>t.selectedRowCount})(({theme:e})=>({alignItems:"center",display:"flex",margin:e.spacing(0,2),visibility:"hidden",width:0,height:0,[e.breakpoints.up("sm")]:{visibility:"visible",width:"auto",height:"auto"}})),Xdt=g.forwardRef(function(t,n){const{className:r,selectedRowCount:o}=t,i=q(t,Kdt),a=Nt(),s=Ze(),l=Ydt(s),c=a.current.getLocaleText("footerRowSelected")(o);return k.jsx(Qdt,S({ref:n,className:Q(l.root,r),ownerState:s},i,{children:c}))}),Jdt=g.forwardRef(function(t,n){var r,o;const i=Nt(),a=Ze(),s=Ue(i,bst),l=Ue(i,Uct),c=Ue(i,pJ),u=!a.hideFooterSelectedRowCount&&l>0?k.jsx(Xdt,{selectedRowCount:l}):k.jsx("div",{}),d=!a.hideFooterRowCount&&!a.pagination?k.jsx(a.slots.footerRowCount,S({},(r=a.slotProps)==null?void 0:r.footerRowCount,{rowCount:s,visibleRowCount:c})):null,f=a.pagination&&!a.hideFooterPagination&&a.slots.pagination&&k.jsx(a.slots.pagination,S({},(o=a.slotProps)==null?void 0:o.pagination));return k.jsxs(tct,S({ref:n},t,{children:[u,d,f]}))});function Zdt(){var e,t;const n=Ze();return k.jsxs(g.Fragment,{children:[k.jsx(n.slots.preferencesPanel,S({},(e=n.slotProps)==null?void 0:e.preferencesPanel)),n.slots.toolbar&&k.jsx(n.slots.toolbar,S({},(t=n.slotProps)==null?void 0:t.toolbar))]})}const eft=g.forwardRef(function(t,n){return k.jsx(k2,S({ref:n},t,{children:k.jsx(i8,{})}))}),tft=g.forwardRef(function(t,n){const o=Nt().current.getLocaleText("noRowsLabel");return k.jsx(k2,S({ref:n},t,{children:o}))}),nft=W(yA)(({theme:e})=>({[`& .${Nu.selectLabel}`]:{display:"none",[e.breakpoints.up("sm")]:{display:"block"}},[`& .${Nu.input}`]:{display:"none",[e.breakpoints.up("sm")]:{display:"inline-flex"}}})),rft=g.forwardRef(function(t,n){const r=Nt(),o=Ze(),i=Ue(r,Ai),a=Ue(r,Hf),s=g.useMemo(()=>Math.floor(a/(i.pageSize||1)),[a,i.pageSize]),l=g.useCallback(f=>{const p=Number(f.target.value);r.current.setPageSize(p)},[r]),c=g.useCallback((f,p)=>{r.current.setPage(p)},[r]),d=(f=>{for(let p=0;p{const{classes:t}=e;return de({root:["rowCount"]},Lt,t)},aft=cr("div",{name:"MuiDataGrid",slot:"RowCount",overridesResolver:(e,t)=>t.rowCount})(({theme:e})=>({alignItems:"center",display:"flex",margin:e.spacing(0,2)})),sft=g.forwardRef(function(t,n){const{className:r,rowCount:o,visibleRowCount:i}=t,a=q(t,oft),s=Nt(),l=Ze(),c=ift(l);if(o===0)return null;const u=i{let n,r;return t.pagination&&t.paginationMode==="client"?(r=M2(e),n=Hct(e)):(n=Zc(e),n.length===0?r=null:r={firstRowIndex:0,lastRowIndex:n.length-1}),{rows:n,range:r}},Dd=(e,t)=>{const n=f1(e,t);return g.useMemo(()=>({rows:n.rows,range:n.range}),[n.rows,n.range])},n$={current:null};function pb(e){return e.isInternal=!0,e}function p1(e){return e!==void 0&&e.isInternal===!0}function lft(e){return pb((t,n)=>{const r=e(t,n);return r&&(o=>r(o.value,o.row,n,n$.current))})}function hb(e){return e.map(t=>S({},t,{getApplyFilterFn:lft(t.getApplyFilterFnV7),getApplyFilterFnV7:pb(t.getApplyFilterFnV7)}))}function GJ(e){return pb((t,n,r)=>{const o=e(t,n,r);return o&&(i=>o(i.value,i.row,n,r))})}function qJ(e){return{current:e.current.getPublicApi()}}let Fm;function cft(){if(Fm!==void 0)return Fm;try{Fm=new Function("return true")()}catch{Fm=!1}return Fm}const r$=(e,t)=>{const n=S({},e);if(n.id==null&&(n.id=Math.round(Math.random()*1e5)),n.operator==null){const r=tm(t)[n.field];n.operator=r&&r.filterOperators[0].value}return n},uft=Rs(["MUI: The `filterModel` can only contain a single item when the `disableMultipleColumnsFiltering` prop is set to `true`.","If you are using the community version of the `DataGrid`, this prop is always `true`."],"error"),dft=Rs("MUI: The `id` field is required on `filterModel.items` when you use multiple filters.","error"),fft=Rs("MUI: The `operator` field is required on `filterModel.items`, one or more of your filtering item has no `operator` provided.","error"),KJ=(e,t,n)=>{const r=e.items.length>1;let o;r&&t?(uft(),o=[e.items[0]]):o=e.items;const i=r&&o.some(s=>s.id==null),a=o.some(s=>s.operator==null);return i&&dft(),a&&fft(),a||i?S({},e,{items:o.map(s=>r$(s,n))}):e.items!==o?S({},e,{items:o}):e},iV=(e,t,n)=>r=>S({},r,{filterModel:KJ(e,t,n)}),fc=e=>typeof e=="string"?e.normalize("NFD").replace(/[\u0300-\u036f]/g,""):e,YJ=(e,t)=>{if(!e.field||!e.operator)return null;const n=t.current.getColumn(e.field);if(!n)return null;let r;if(n.valueParser){var o;const p=n.valueParser;r=Array.isArray(e.value)?(o=e.value)==null?void 0:o.map(h=>p(h)):p(e.value)}else r=e.value;const{ignoreDiacritics:i}=t.current.rootProps;i&&(r=fc(r));const a=S({},e,{value:r}),s=n.filterOperators;if(!(s!=null&&s.length))throw new Error(`MUI: No filter operators found for column '${n.field}'.`);const l=s.find(p=>p.value===a.operator);if(!l)throw new Error(`MUI: No filter operator found for column '${n.field}' and operator value '${a.operator}'.`);const c=!p1(l.getApplyFilterFn),u=!p1(l.getApplyFilterFnV7),d=qJ(t);if(l.getApplyFilterFnV7&&!(c&&!u)){const p=l.getApplyFilterFnV7(a,n);return typeof p!="function"?null:{v7:!0,item:a,fn:h=>{let m=t.current.getRowValue(h,n);return i&&(m=fc(m)),p(m,h,n,d)}}}const f=l.getApplyFilterFn(a,n);return typeof f!="function"?null:{v7:!1,item:a,fn:p=>{const h=t.current.getCellParams(p,a.field);n$.current=d,i&&(h.value=fc(h.value));const m=f(h);return n$.current=null,m}}};let aV=1;const pft=(e,t,n)=>{const{items:r}=e,o=r.map(s=>YJ(s,t)).filter(s=>!!s);if(o.length===0)return null;if(n||!cft())return(s,l)=>{const c={};for(let u=0;ue.length)&&(t=e.length);for(var n=0,r=Array(t);n-1){var i=dle[t];if(!Array.isArray(i))return an.js+_f(i)in n?an.css+i:!1;if(!o)return!1;for(var a=0;ar?1:-1:n.length-r.length};return{onProcessStyle:function(n,r){if(r.type!=="style")return n;for(var o={},i=Object.keys(n).sort(e),a=0;a"u"?null:owt(),iwt()]}}function ple(e={}){const{baseClasses:t,newClasses:n,Component:r}=e;if(!n)return t;const o={...t};return Object.keys(n).forEach(i=>{n[i]&&(o[i]=`${t[i]} ${n[i]}`)}),o}const Vg={set:(e,t,n,r)=>{let o=e.get(t);o||(o=new Map,e.set(t,o)),o.set(n,r)},get:(e,t,n)=>{const r=e.get(t);return r?r.get(n):void 0},delete:(e,t,n)=>{e.get(t).delete(n)}};function swt(){const e=dI();return(e==null?void 0:e.$$material)??e}const lwt=rle(awt()),cwt=bbt(),uwt=new Map,dwt={disableGeneration:!1,generateClassName:cwt,jss:lwt,sheetsCache:null,sheetsManager:uwt,sheetsRegistry:null},fwt=y.createContext(dwt);let Z7=-1e9;function pwt(){return Z7+=1,Z7}function eq(e){return e.length===0}function hwt(e){const{variant:t,...n}=e;let r=t||"";return Object.keys(n).sort().forEach(o=>{o==="color"?r+=eq(r)?e[o]:Ce(e[o]):r+=`${eq(r)?o:Ce(o)}${Ce(e[o].toString())}`}),r}const mwt={};function gwt(e){const t=typeof e=="function";return{create:(n,r)=>{let o;try{o=t?e(n):e}catch(l){throw l}if(!r||!n.components||!n.components[r]||!n.components[r].styleOverrides&&!n.components[r].variants)return o;const i=n.components[r].styleOverrides||{},a=n.components[r].variants||[],s={...o};return Object.keys(i).forEach(l=>{s[l]=bo(s[l]||{},i[l])}),a.forEach(l=>{const c=hwt(l.props);s[c]=bo(s[c]||{},l.style)}),s},options:{}}}function ywt({state:e,stylesOptions:t},n,r){if(t.disableGeneration)return n||{};e.cacheClasses||(e.cacheClasses={value:null,lastProp:null,lastJSS:{}});let o=!1;return e.classes!==e.cacheClasses.lastJSS&&(e.cacheClasses.lastJSS=e.classes,o=!0),n!==e.cacheClasses.lastProp&&(e.cacheClasses.lastProp=n,o=!0),o&&(e.cacheClasses.value=ple({baseClasses:e.cacheClasses.lastJSS,newClasses:n,Component:r})),e.cacheClasses.value}function vwt({state:e,theme:t,stylesOptions:n,stylesCreator:r,name:o},i){if(n.disableGeneration)return;let a=Vg.get(n.sheetsManager,r,t);a||(a={refs:0,staticSheet:null,dynamicStyles:null},Vg.set(n.sheetsManager,r,t,a));const s={...r.options,...n,theme:t,flip:typeof n.flip=="boolean"?n.flip:t.direction==="rtl"};s.generateId=s.serverGenerateClassName||s.generateClassName;const l=n.sheetsRegistry;if(a.refs===0){let c;n.sheetsCache&&(c=Vg.get(n.sheetsCache,r,t));const u=r.create(t,o);c||(c=n.jss.createStyleSheet(u,{link:!1,...s}),c.attach(),n.sheetsCache&&Vg.set(n.sheetsCache,r,t,c)),l&&l.add(c),a.staticSheet=c,a.dynamicStyles=ole(u)}if(a.dynamicStyles){const c=n.jss.createStyleSheet(a.dynamicStyles,{link:!0,...s});c.update(i),c.attach(),e.dynamicSheet=c,e.classes=ple({baseClasses:a.staticSheet.classes,newClasses:c.classes}),l&&l.add(c)}else e.classes=a.staticSheet.classes;a.refs+=1}function bwt({state:e},t){e.dynamicSheet&&e.dynamicSheet.update(t)}function wwt({state:e,theme:t,stylesOptions:n,stylesCreator:r}){if(n.disableGeneration)return;const o=Vg.get(n.sheetsManager,r,t);o.refs-=1;const i=n.sheetsRegistry;o.refs===0&&(Vg.delete(n.sheetsManager,r,t),n.jss.removeStyleSheet(o.staticSheet),i&&i.remove(o.staticSheet)),e.dynamicSheet&&(n.jss.removeStyleSheet(e.dynamicSheet),i&&i.remove(e.dynamicSheet))}function xwt(e,t){const n=y.useRef([]);let r;const o=y.useMemo(()=>({}),t);n.current!==o&&(n.current=o,r=e()),y.useEffect(()=>()=>{r&&r()},[o])}function hle(e,t={}){const{name:n,classNamePrefix:r,Component:o,defaultTheme:i=mwt,...a}=t,s=gwt(e),l=n||r||"makeStyles";return s.options={index:pwt(),name:n,meta:l,classNamePrefix:l},(u={})=>{const d=swt()||i,f={...y.useContext(fwt),...a},p=y.useRef(),m=y.useRef();return xwt(()=>{const v={name:n,state:{},stylesCreator:s,stylesOptions:f,theme:d};return vwt(v,u),m.current=!1,p.current=v,()=>{wwt(v)}},[d,s]),y.useEffect(()=>{m.current&&bwt(p.current,u),m.current=!0}),ywt(p.current,u.classes,o)}}const Swt=hle(e=>({table:{"& .MuiPaper-root":{border:"1px solid #bababa"}}})),Cwt=({weights:e})=>{const[t]=Ue(),n=Swt(),o=e.slice(0,5);return C("div",{className:n.table,children:C(Ju,{children:Q(Xu,{size:"small",children:[C(Yh,{children:Q(Qt,{children:[C(ke,{align:"center",children:t("date")}),C(ke,{align:"center",children:t("weight")})]})}),C(Qu,{children:o.map(i=>Q(Qt,{children:[C(ke,{align:"center",children:i.date.toLocaleDateString()}),C(ke,{align:"center",children:i.weight})]},i.date.toLocaleDateString()))})]})})})},Pwt=({active:e,payload:t,label:n})=>{const[r,o]=Ue();return e&&t&&t.length?Q(uo,{style:{padding:8},children:[C("p",{children:C("strong",{children:new Date(n).toLocaleDateString(o.language)})}),Q("p",{children:[r("weight"),": ",t[0].value]})]}):null},mle=({weights:e,height:t})=>{t=t||300;const r=Ei(),[o,i]=Ue(),[a,s]=Y.useState(!1),[l,c]=Y.useState(),u=()=>s(!1),d=[...e].sort((p,m)=>p.date.getTime()-m.date.getTime()).map(p=>({date:p.date.getTime(),weight:p.weight,entry:p}));function f(p,m){c(m.payload.entry),s(!0)}return Q("div",{children:[l&&C(ta,{title:o("edit"),isOpen:a,closeFn:u,children:C(Sb,{weightEntry:l})}),C(Xf,{height:t,children:Q(Noe,{data:d,children:[C(cb,{type:"monotone",dataKey:"weight",stroke:r.palette.secondary.main,strokeWidth:2,dot:d.length>30?!1:{strokeWidth:1,r:4},activeDot:{stroke:"black",strokeWidth:1,r:6,onClick:f}}),C(Zh,{stroke:"#ccc",strokeDasharray:"5 5"}),C(ml,{dataKey:"date",type:"number",domain:["dataMin","dataMax"],tickFormatter:p=>new Date(p).toLocaleDateString(i.language)}),C(gl,{domain:["auto","auto"]}),C(Ua,{content:C(Pwt,{})})]})})]})},gle=()=>{var n,r;const[e]=Ue(),t=oM("lastYear");return C(Mt,{children:t.isLoading?C(Po,{}):C(Mt,{children:((n=t.data)==null?void 0:n.length)!==void 0&&((r=t.data)==null?void 0:r.length)>0?C(Twt,{entries:t.data}):C(ej,{title:e("weight"),modalContent:C(Sb,{})})})})},Twt=e=>{const[t,n]=Y.useState(!1),r=()=>n(!0),o=()=>n(!1),[i,a]=Ue();return Q(Mt,{children:[Q(Do,{children:[C(od,{title:i("weight"),subheader:"."}),Q(xa,{sx:{height:"500px",overflow:"auto"},children:[C(mle,{weights:e.entries,height:200}),C(Rn,{sx:{mt:2},children:C(Cwt,{weights:e.entries})})]}),Q(hs,{sx:{justifyContent:"space-between",alignItems:"flex-start"},children:[C(gt,{size:"small",href:Tn(Sn.WEIGHT_OVERVIEW,a.language),children:i("seeDetails")}),C(ac,{title:i("addEntry"),children:C(kn,{onClick:r,children:C(Ji,{})})})]})]}),C(ta,{title:i("add"),isOpen:t,closeFn:o,children:C(Sb,{closeFn:o})})]})},Ewt=()=>{const[e,t]=Ue();return C(QB,{callback:r=>{r!==null&&(window.location.href=Tn(Sn.INGREDIENT_DETAIL,t.language,{id:r.data.id}))}})},Owt=()=>C("div",{children:"About Page"});function Sz(e){const[t]=Ue(),[n,r,o]=vl(e.fieldName);return C(oc,{multiple:!0,freeSolo:!0,id:e.fieldName,value:n.value,options:n.value,onChange:(i,a)=>{o.setValue(a)},renderTags:(i,a)=>i.map((s,l)=>C(kh,{label:s,...a({index:l})})),onBlur:n.onBlur,renderInput:i=>C(yn,{...i,id:"exerciseAliases",variant:"standard",label:t("exercises.alternativeNames"),error:r.touched&&!!r.error,helperText:r.touched&&r.error,value:n.value})})}function Iwt(e){const[t]=Ue(),[n,r,o]=vl(e.fieldName);return C(oc,{multiple:!0,id:e.fieldName,options:e.options.map(i=>i.id),getOptionLabel:i=>t(Xi(e.options.find(a=>a.id===i).name)),...n,onChange:(i,a)=>{o.setValue(a)},renderInput:i=>C(yn,{variant:"standard",label:t("exercises.equipment"),value:n.value,...i})})}function Cz(e){const[t]=Ue(),[n,r]=vl(e.fieldName);return C(yn,{fullWidth:!0,id:e.fieldName,label:t("name"),variant:"standard",error:r.touched&&!!r.error,helperText:r.touched&&r.error,...n})}function kwt(e){const[t]=Ue(),[n,r]=vl(e.fieldName);return Q(qh,{fullWidth:!0,children:[C(Kh,{id:"label-category",children:t("category")}),C(Gf,{labelId:"label-category",id:"category",label:t("category"),error:r.touched&&!!r.error,...n,children:e.options}),r.touched&&!!r.error&&C(FI,{error:!0,children:r.error})]})}const yle=5,vle=40,Pz=e=>Wc().min(yle,e("forms.valueTooShort")).max(vle,e("forms.valueTooLong")).required(e("forms.fieldRequired")),Tz=e=>dz().ensure().compact().of(Wc().min(yle,e("forms.valueTooShort")).max(vle,e("forms.valueTooLong"))),Ez=e=>Wc().min(40,e("forms.valueTooShort")).required(e("forms.fieldRequired")),ble=e=>dz().ensure().compact().of(Wc().min(15,e("forms.valueTooShort"))),Mwt=e=>pa().required(e("forms.fieldRequired"));function wle(){return Co({queryKey:[m_e],queryFn:_De})}function aM(){return Co({queryKey:[b_e],queryFn:kDe})}function d1(){return Co({queryKey:[x_e],queryFn:CDe})}function sM(){return Co({queryKey:[w_e],queryFn:EDe})}function lM(){return Co({queryKey:[v_e],queryFn:HDe})}const Fh=({primaryMuscles:e,secondaryMuscles:t,isFront:n})=>{const r=[];r.push(...e.filter(i=>i.isFront===n).map(i=>`/muscles/main/muscle-${i.id}.svg`)),r.push(...t.filter(i=>i.isFront===n).map(i=>`/muscles/secondary/muscle-${i.id}.svg`)),r.push(n?"/muscles/muscular_system_front.svg":"/muscles/muscular_system_back.svg");const o=r.map(i=>`url(${i_e}${i})`).join(", ");return C("div",{style:{height:"400px",width:"200px",backgroundImage:o,backgroundRepeat:"no-repeat"}})};var xle=(e=>(e[e.SET_NOTIFICATION=0]="SET_NOTIFICATION",e))(xle||{}),$n=(e=>(e[e.RESET=0]="RESET",e[e.SET_NAME_EN=1]="SET_NAME_EN",e[e.SET_ALIASES_EN=2]="SET_ALIASES_EN",e[e.SET_DESCRIPTION_EN=3]="SET_DESCRIPTION_EN",e[e.SET_NOTES_EN=4]="SET_NOTES_EN",e[e.SET_CATEGORY=5]="SET_CATEGORY",e[e.SET_EQUIPMENT=6]="SET_EQUIPMENT",e[e.SET_PRIMARY_MUSCLES=7]="SET_PRIMARY_MUSCLES",e[e.SET_MUSCLES_SECONDARY=8]="SET_MUSCLES_SECONDARY",e[e.SET_VARIATION_ID=9]="SET_VARIATION_ID",e[e.SET_NEW_VARIATION_BASE_ID=10]="SET_NEW_VARIATION_BASE_ID",e[e.SET_LANGUAGE=11]="SET_LANGUAGE",e[e.SET_NAME_I18N=12]="SET_NAME_I18N",e[e.SET_ALIASES_I18N=13]="SET_ALIASES_I18N",e[e.SET_DESCRIPTION_I18N=14]="SET_DESCRIPTION_I18N",e[e.SET_NOTES_I18N=15]="SET_NOTES_I18N",e[e.SET_IMAGES=16]="SET_IMAGES",e))($n||{});const tq=e=>({type:xle.SET_NOTIFICATION,payload:e}),nq={notification:{notify:!1,message:"",severity:void 0,title:"",type:void 0}},Awt=y.createContext([nq,()=>nq]),$wt=()=>y.useContext(Awt),Rwt=e=>({type:$n.SET_NAME_EN,payload:e}),_wt=e=>({type:$n.SET_DESCRIPTION_EN,payload:e}),Dwt=e=>({type:$n.SET_NOTES_EN,payload:e}),Nwt=e=>({type:$n.SET_ALIASES_EN,payload:e}),Lwt=e=>({type:$n.SET_NAME_I18N,payload:e}),Fwt=e=>({type:$n.SET_DESCRIPTION_I18N,payload:e}),jwt=e=>({type:$n.SET_NOTES_I18N,payload:e}),Bwt=e=>({type:$n.SET_ALIASES_I18N,payload:e}),zwt=e=>({type:$n.SET_CATEGORY,payload:e}),Vwt=e=>({type:$n.SET_EQUIPMENT,payload:e}),Hwt=e=>({type:$n.SET_PRIMARY_MUSCLES,payload:e}),Uwt=e=>({type:$n.SET_MUSCLES_SECONDARY,payload:e}),Wwt=e=>({type:$n.SET_VARIATION_ID,payload:e}),Gwt=e=>({type:$n.SET_NEW_VARIATION_BASE_ID,payload:e}),qwt=e=>({type:$n.SET_LANGUAGE,payload:e}),Kwt=e=>({type:$n.SET_IMAGES,payload:e}),Ywt=(e,t)=>{if(t===void 0)return e;switch(t.type){case $n.RESET:return hO;case $n.SET_NAME_EN:return{...e,nameEn:t.payload};case $n.SET_DESCRIPTION_EN:return{...e,descriptionEn:t.payload};case $n.SET_NOTES_EN:return{...e,notesEn:t.payload};case $n.SET_ALIASES_EN:return{...e,alternativeNamesEn:t.payload};case $n.SET_CATEGORY:return{...e,category:t.payload};case $n.SET_EQUIPMENT:return{...e,equipment:t.payload};case $n.SET_PRIMARY_MUSCLES:return{...e,muscles:t.payload};case $n.SET_MUSCLES_SECONDARY:return{...e,musclesSecondary:t.payload};case $n.SET_VARIATION_ID:return{...e,variationId:t.payload};case $n.SET_NEW_VARIATION_BASE_ID:return{...e,newVariationBaseId:t.payload};case $n.SET_LANGUAGE:return{...e,languageId:t.payload};case $n.SET_NAME_I18N:return{...e,nameI18n:t.payload};case $n.SET_DESCRIPTION_I18N:return{...e,descriptionI18n:t.payload};case $n.SET_NOTES_I18N:return{...e,notesI18n:t.payload};case $n.SET_ALIASES_I18N:return{...e,alternativeNamesI18n:t.payload};case $n.SET_IMAGES:return{...e,images:t.payload};default:return e}},hO={category:null,muscles:[],musclesSecondary:[],variationId:null,newVariationBaseId:null,languageId:null,equipment:[],nameEn:"",descriptionEn:"",alternativeNamesEn:[],notesEn:[],nameI18n:"",alternativeNamesI18n:[],descriptionI18n:"",notesI18n:[],images:[]},Sle=y.createContext([hO,()=>hO]),Xwt=({children:e})=>{const[t,n]=y.useReducer(Ywt,hO);return C(Sle.Provider,{value:[t,n],children:e})},Pb=()=>y.useContext(Sle),Qwt=({onContinue:e})=>{const[t]=Ue(),[n,r]=Pb(),[o,i]=y.useState(n.muscles),[a,s]=y.useState(n.musclesSecondary);y.useEffect(()=>{r(Hwt(o))},[r,o]),y.useEffect(()=>{r(Uwt(a))},[r,a]);const l=aM(),c=d1(),u=sM(),d=bl({nameEn:Pz(t),newAlternativeNameEn:Tz(t),category:Mwt(t)});return C(yl,{initialValues:{nameEn:n.nameEn,newAlternativeNameEn:n.alternativeNamesEn,category:n.category!==null?n.category:"",muscles:n.muscles,equipment:n.equipment,musclesSecondary:n.musclesSecondary},validationSchema:d,onSubmit:f=>{r(Rwt(f.nameEn)),r(zwt(f.category)),r(Nwt(f.newAlternativeNameEn)),r(Vwt(f.equipment)),e()},children:f=>Q(gs,{children:[Q(Gt,{spacing:2,children:[C(Cz,{fieldName:"nameEn"}),C(Sz,{fieldName:"newAlternativeNameEn"}),l.isLoading?Q(Rn,{children:[" ",C(Za,{})," "]}):C(kwt,{fieldName:"category",options:l.data.map(p=>C(Yt,{value:p.id,children:t(Xi(p.name))},p.id))}),u.isLoading?Q(Rn,{children:[" ",C(Za,{})," "]}):C(Iwt,{fieldName:"equipment",options:u.data}),c.isLoading?Q(Rn,{children:[" ",C(Za,{})," "]}):Q(Mt,{children:[C(oc,{multiple:!0,id:"muscles",options:c.data.map(p=>p.id),getOptionDisabled:p=>a.includes(p),getOptionLabel:p=>c.data.find(m=>m.id===p).getName(t),value:o,onChange:(p,m)=>{i(m)},renderInput:p=>C(yn,{...p,variant:"standard",label:t("exercises.muscles"),value:f.getFieldProps("muscles").value,onChange:m=>{f.setFieldValue(f.getFieldProps("muscles").name,m.target.value)}})}),C(oc,{multiple:!0,id:"secondary-muscles",options:c.data.map(p=>p.id),getOptionDisabled:p=>o.includes(p),getOptionLabel:p=>c.data.find(m=>m.id===p).getName(t),value:a,onChange:(p,m)=>{s(m)},renderInput:p=>C(yn,{...p,variant:"standard",label:t("exercises.secondaryMuscles"),value:f.getFieldProps("muscles").value})})]}),Q(Be,{container:!0,children:[C(Be,{display:"flex",justifyContent:"center",size:6,children:C(Fh,{primaryMuscles:o.map(p=>c.data.find(m=>m.id===p)),secondaryMuscles:a.map(p=>c.data.find(m=>m.id===p)),isFront:!0})}),C(Be,{display:"flex",justifyContent:"center",size:6,children:C(Fh,{primaryMuscles:o.map(p=>c.data.find(m=>m.id===p)),secondaryMuscles:a.map(p=>c.data.find(m=>m.id===p)),isFront:!1})})]})]}),C(Be,{container:!0,children:C(Be,{display:"flex",justifyContent:"end",size:12,children:C(Rn,{sx:{mb:2},children:C("div",{children:C(gt,{variant:"contained",type:"submit",sx:{mt:1,mr:1},children:t("continue")})})})})})]})})};function Jwt(e,t){const n=new Map;return e.forEach(r=>{const o=t(r),i=n.get(o);i?i.push(r):n.set(o,[r])}),n}const rq=({exercises:e})=>{const r=e[0].variationId,o=e[0].id,[i,a]=Pb(),[s,l]=y.useState(!1),[c,u]=y.useState(i.variationId),[d,f]=y.useState(i.newVariationBaseId);y.useEffect(()=>{a(Wwt(c))},[a,c]),y.useEffect(()=>{a(Gwt(d))},[a,d]);const p=(g,v)=>()=>{g!==null?(v=null,g===i.variationId&&(g=null)):(g=null,v===i.newVariationBaseId&&(v=null)),u(g),f(v)};let m;return r===null?m=i.newVariationBaseId===o:m=r===i.variationId,C(ls,{disableGutters:!0,children:C(Wf,{onClick:p(r,o),children:Q(Be,{container:!0,children:[C(Be,{display:"flex",justifyContent:"start",alignItems:"center",size:{xs:12,sm:3},children:C(aEe,{max:4,spacing:"small",children:e.map(g=>g.mainImage?C(ic,{src:g.mainImage.url},g.id):C(ic,{children:C(id,{})},g.id))})}),Q(Be,{size:{xs:10,sm:7},children:[e.slice(0,s?e.length:5).map(g=>C("p",{style:{margin:0},children:g.getTranslation().name},g.id)),!s&&e.length>5?C(zv,{onMouseEnter:()=>l(!0)}):null]}),C(Be,{display:"flex",justifyContent:"end",size:{xs:2,sm:2},children:C(qf,{edge:"start",checked:m,tabIndex:-1,disableRipple:!0},`variation-${r}`)}),C(Be,{size:12,children:C(ss,{sx:{pt:1}})})]})})})},Zwt=({onContinue:e,onBack:t})=>{const[n]=Ue(),r=wle(),[o,i]=y.useState("");let a=[],s=new Map;return r.isSuccess&&(a=r.data,o!==""&&(a=a.filter(l=>l.getTranslation().name.toLowerCase().includes(o.toLowerCase())))),s=Jwt(a.filter(l=>l.variationId!==null),l=>l.variationId),Q(Mt,{children:[Q(Be,{container:!0,children:[C(Be,{size:{xs:12,sm:6},children:C(ct,{children:n("exercises.whatVariationsExist")})}),C(Be,{display:"flex",justifyContent:"end",size:{xs:12,sm:6},children:C(yn,{label:n("exercises.filterVariations"),variant:"standard",onChange:l=>i(l.target.value),InputProps:{startAdornment:C(po,{position:"start",children:C(XB,{})})}})})]}),r.isLoading?C(Po,{}):C(uo,{elevation:2,sx:{mt:2},children:Q(pl,{style:{maxHeight:"400px",overflowY:"scroll"},children:[a.filter(l=>l.variationId===null).map(l=>C(rq,{exercises:[l]},"base-"+l.id)),[...s.keys()].map(l=>C(rq,{exercises:s.get(l)},"variation-"+l))]})}),Q(qu,{severity:"info",variant:"filled",sx:{mt:2},children:[C(BT,{children:n("exercises.identicalExercise")}),n("exercises.identicalExercisePleaseDiscard")]}),C(Be,{container:!0,children:C(Be,{display:"flex",justifyContent:"end",size:12,children:C(Rn,{sx:{mb:2},children:Q("div",{children:[C(gt,{disabled:!1,onClick:t,sx:{mt:1,mr:1},children:n("goBack")}),C(gt,{variant:"contained",onClick:e,sx:{mt:1,mr:1},children:n("continue")})]})})})})]})};class ext{constructor(t,n,r,o,i,a,s){this.username=t,this.email=n,this.emailVerified=r,this.dateJoined=o,this.isTrustworthy=i,this.useMetric=a,this.height=s}}class txt{constructor(){nn(this,"fromJson",t=>new ext(t.username,t.email,t.email_verified,new Date(t.date_joined),t.is_trustworthy,t.weight_unit==="kg",t.height));nn(this,"toJson",t=>({email:t.email,height:t.height,weight_unit:t.useMetric?"kg":"lb"}))}}const nxt="userprofile",rxt=async()=>{const e=Pt(nxt),t=new txt;try{const n=await dt.get(e,{headers:kt()});return t.fromJson(n.data)}catch{return null}};function Jc(){return Co({queryKey:[C_e],queryFn:rxt})}function oxt(e){const{t}=Ue(),[n,r]=Y.useState(e.initial.toString()),o=aM(),i=Jc(),a=async s=>{r(s.target.value),await gj(e.exerciseId,{category:parseInt(s.target.value),license_author:i.data.username})};return o.isSuccess?Q(qh,{fullWidth:!0,children:[C(Kh,{id:"label-category",children:t("category")}),C(Gf,{labelId:"label-category",id:"category",label:t("category"),value:n,onChange:a,children:o.data.map(s=>C(Yt,{value:s.id,children:t(Xi(s.name))},s.id))})]}):null}function ixt(e){const{t}=Ue(),[n,r]=Y.useState(e.initial),o=sM(),i=Jc(),a=async s=>{r(s),await gj(e.exerciseId,{equipment:s,license_author:i.data.username})};return o.isSuccess?C(oc,{multiple:!0,value:n,options:o.data.map(s=>s.id),getOptionLabel:s=>t(Xi(o.data.find(l=>l.id===s).name)),onChange:(s,l)=>a(l),renderInput:s=>C(yn,{variant:"standard",label:t("exercises.equipment"),value:n,...s})}):null}var Ci=function(){return Ci=Object.assign||function(t){for(var n,r=1,o=arguments.length;r0)return e.getRangeAt(0).startContainer.parentNode||void 0}function oq(e){return e?e.replace(/ |\u202F|\u00A0/g," "):""}function sxt(e){var t=document.createTextNode("");e.appendChild(t);var n=document.activeElement===e;if(t!==null&&t.nodeValue!==null&&n){var r=window.getSelection();if(r!==null){var o=document.createRange();o.setStart(t,t.nodeValue.length),o.collapse(!0),r.removeAllRanges(),r.addRange(o)}e instanceof HTMLElement&&e.focus()}}function iq(e){if(e){var t=e.textContent,n=/[\u0591-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC]/;e.style.direction=t&&n.test(t[0])?"rtl":"ltr"}}var lxt=Y.memo(Y.forwardRef(function(t,n){var r=t.className,o=t.disabled,i=t.tagName,a=t.value,s=a===void 0?"":a,l=Oz(t,["className","disabled","tagName","value"]),c=Y.useRef(),u=Y.useRef(s),d=Y.useRef(l);return Y.useEffect(function(){d.current=l;var f=c.current;f&&oq(u.current)!==oq(s)&&(u.current=s,f.innerHTML=s,sxt(f))}),Y.useMemo(function(){function f(m){c.current=m,iq(m),typeof n=="function"?n(m):typeof n=="object"&&n&&(n.current=m)}function p(m){var g,v,w=c.current;if(w){var x=w.innerHTML;x!==u.current&&((v=(g=d.current).onChange)===null||v===void 0||v.call(g,Ci(Ci({},m),{target:{value:x,name:l.name}}))),iq(w),u.current=x}}return Y.createElement(i||"div",Ci(Ci({},l),{className:r,contentEditable:!o,dangerouslySetInnerHTML:{__html:s},onBlur:function(m){return(d.current.onBlur||p)(m)},onInput:p,onKeyDown:function(m){return(d.current.onKeyDown||p)(m)},onKeyUp:function(m){return(d.current.onKeyUp||p)(m)},ref:f}))},[r,o,i])})),Cle=Y.createContext(void 0);function cxt(e){var t=e.children,n=Y.useState({htmlMode:!1,update:i}),r=n[0],o=n[1];function i(a){o(function(s){return Ci(Ci(Ci({},s),a),{date:Date.now()})})}return Y.createElement(Cle.Provider,{value:r},t)}function Iz(){var e=Y.useContext(Cle);if(!e)throw new Error("You should wrap your component by EditorProvider");return e}function uxt(e){var t=Oz(e,[]);return Y.createElement("textarea",Ci({},t))}var aq=[],I0=[];function dxt(e,t){if(e&&typeof document<"u"){var n,r=t.prepend===!0?"prepend":"append",o=t.singleTag===!0,i=typeof t.container=="string"?document.querySelector(t.container):document.getElementsByTagName("head")[0];if(o){var a=aq.indexOf(i);a===-1&&(a=aq.push(i)-1,I0[a]={}),n=I0[a]&&I0[a][r]?I0[a][r]:I0[a][r]=s()}else n=s();e.charCodeAt(0)===65279&&(e=e.substring(1)),n.styleSheet?n.styleSheet.cssText+=e:n.appendChild(document.createTextNode(e))}function s(){var l=document.createElement("style");if(l.setAttribute("type","text/css"),t.attributes)for(var c=Object.keys(t.attributes),u=0;ur.setValue(o.target.value)})}),n.touched&&!!n.error&&C(FI,{error:!0,children:n.error})]})}const Txt=({image:e,canDelete:t})=>{const[n]=Ue();return Q(Do,{children:[C(Vc,{component:"img",image:e.url,sx:{height:120},alt:""}),C(hs,{children:t&&C(gt,{color:"primary",onClick:()=>UDe(e.id),children:n("delete")})})]})},Ext=({exerciseId:e})=>{const[t]=Ue(),n=Jc(),r=async o=>{var a;if(!((a=o.target.files)!=null&&a.length))return;const[i]=o.target.files;n.isSuccess&&await jee({exerciseId:e,image:i,imageData:{url:"",file:i,author:"",authorUrl:"",title:"",objectUrl:"",derivativeSourceUrl:"",style:""}})};return Q(Do,{children:[C(Vc,{children:C(Rn,{sx:{backgroundColor:"lightgray",height:120},display:"flex",alignItems:"center",justifyContent:"center",children:C($se,{sx:{fontSize:80,color:"gray"}})})}),C(hs,{children:Q(gt,{component:"label",children:[t("add"),C("input",{style:{display:"none"},id:"camera-input",type:"file",accept:"image/*",capture:"environment",onChange:r})]})})]})};function lq(e){const{t}=Ue(),n=d1(),r=async o=>{e.setValue(o),await gj(e.exerciseId,e.isMain?{muscles:o}:{muscles_secondary:o})};return n.isSuccess?C(oc,{multiple:!0,options:n.data.map(o=>o.id),getOptionDisabled:o=>e.blocked.includes(o),getOptionLabel:o=>n.data.find(i=>i.id===o).getName(t),value:e.value,onChange:(o,i)=>r(i),renderInput:o=>C(yn,{...o,variant:"standard",label:t(e.isMain?"exercises.muscles":"exercises.secondaryMuscles"),value:e.value})}):null}const Oxt=({video:e,canDelete:t})=>{const[n]=Ue();return Q(Do,{children:[C(Vc,{component:"video",src:e.url,sx:{height:120},controls:!0,preload:"metadata"}),C(hs,{children:t&&C(gt,{color:"primary",onClick:()=>qDe(e.id),children:n("delete")})})]})},Ixt=({exerciseId:e})=>{const[t]=Ue(),n=Jc(),r=async o=>{var a;if(!((a=o.target.files)!=null&&a.length))return;const[i]=o.target.files;n.isSuccess&&await GDe(e,n.data.username,i)};return Q(Do,{children:[C(Vc,{children:C(Rn,{sx:{backgroundColor:"lightgray",height:120},display:"flex",alignItems:"center",justifyContent:"center",children:C($se,{sx:{fontSize:80,color:"gray"}})})}),C(hs,{children:Q(gt,{component:"label",children:[t("add"),C("input",{style:{display:"none"},id:"camera-input",type:"file",accept:"video/*",capture:"environment",onChange:r})]})})]})},kxt="check-permission",Mxt=async e=>{const t=Pt(kxt,{query:{permission:e}}),n=await dt.get(t,{headers:kt()});return n.status===400?!1:n.data.result};function fy(e){return Co({queryKey:[S_e,e],queryFn:()=>Mxt(e.valueOf())})}var yh=(e=>(e.EDIT_EXERCISE="exercises.change_exercise",e.DELETE_EXERCISE="exercises.delete_exercise",e.EDIT_IMAGE="exercises.change_exerciseimage",e.DELETE_IMAGE="exercises.delete_exerciseimage",e.EDIT_VIDEO="exercises.change_exercisevideo",e.DELETE_VIDEO="exercises.delete_exercisevideo",e))(yh||{});const Axt=({exercise:e,language:t})=>{const[n]=Ue(),[r,o]=Y.useState(!1),[i,a]=Y.useState(e.muscles.map(S=>S.id)),[s,l]=Y.useState(e.musclesSecondary.map(S=>S.id)),c=e.getTranslation(t),d=t.id!==c.language?new $ee(null,null,"","",t.id):c,f=e.getTranslation(),p=fy(yh.DELETE_IMAGE),m=fy(yh.DELETE_VIDEO),g=fy(yh.EDIT_EXERCISE),v=d1(),w=Jc(),x=bl({name:Pz(n),alternativeNames:Tz(n),description:Ez(n)});return Q(Mt,{children:[C(yl,{initialValues:{name:d.name,alternativeNames:d.aliases.map(S=>S.alias),description:d.description},enableReinitialize:!0,validationSchema:x,onSubmit:async S=>{const P=d.id?await jDe(d.id,e.id,d.language,S.name,S.description):await D_(e.id,t.id,S.name,S.description,w.data.username),T=d.aliases.map(A=>A.alias),E=S.alternativeNames,O=E.filter(A=>!T.includes(A));let k=T.filter(A=>!E.includes(A));O.forEach(A=>{N_(P.id,A)}),k.forEach(A=>{WDe(d.aliases.find(I=>I.alias===A).id)}),o(!0)},children:C(gs,{children:Q(Be,{container:!0,children:[r&&Q(Be,{size:12,children:[C(qu,{severity:"success",action:C(kn,{"aria-label":"close",size:"small",color:"inherit",onClick:()=>{o(!1)},children:C($S,{fontSize:"inherit"})}),children:n("exercises.successfullyUpdated")}),C(ni,{})]}),C(Be,{size:6,children:C(ct,{variant:"h5",children:n("English")})}),C(Be,{size:6,children:Q(ct,{variant:"h5",children:[t.nameLong," (",t.nameShort,")"]})}),Q(Be,{size:12,children:[C(ni,{}),C(ct,{variant:"h6",children:n("name")})]}),Q(Be,{size:6,children:[f.name,C("ul",{children:f.aliases.map(S=>C("li",{children:S.alias},S.id))})]}),Q(Be,{size:6,children:[C(Rn,{mb:2,children:C(Cz,{fieldName:"name"})}),C(Sz,{fieldName:"alternativeNames"})]}),C(Be,{size:12,children:C(ni,{})}),C(Be,{size:12,children:C(ct,{variant:"h6",children:n("exercises.description")})}),C(Be,{size:{xs:12,md:6},children:C("div",{dangerouslySetInnerHTML:{__html:f.description}})}),C(Be,{size:{xs:12,md:6},children:C(kz,{fieldName:"description"})}),Q(Be,{size:12,children:[C(ni,{}),C(gt,{variant:"contained",type:"submit",sx:{mt:1,mr:1},children:n("save")})]})]})})}),C(ni,{}),C(ct,{variant:"h5",children:n("exercises.basics")}),p.isSuccess&&Q(Mt,{children:[C(ni,{}),C(ct,{variant:"h6",children:n("images")}),Q(Be,{container:!0,spacing:2,mt:2,children:[C(Be,{size:{md:3},children:C(Ext,{exerciseId:e.id})},"add"),e.images.map(S=>C(Be,{size:{md:3},children:C(Txt,{image:S,canDelete:p.data})},S.id))]})]}),m.isSuccess&&Q(Mt,{children:[C(ni,{}),C(ct,{variant:"h6",children:n("videos")}),Q(Be,{container:!0,spacing:2,mt:2,children:[m.data&&C(Be,{size:{md:3},children:C(Ixt,{exerciseId:e.id})},"add"),e.videos.map(S=>C(Be,{size:{md:3},children:C(Oxt,{video:S,canDelete:m.data})},S.id))]})]}),g.isSuccess&&g.data&&v.isSuccess&&Q(Mt,{children:[C(ni,{}),C(oxt,{exerciseId:e.id,initial:e.category.id}),C(ixt,{exerciseId:e.id,initial:e.equipment.map(S=>S.id)}),Q(Be,{container:!0,mt:1,children:[Q(Be,{size:{sm:7},children:[C(lq,{exerciseId:e.id,value:i,setValue:a,blocked:s,isMain:!0}),C(lq,{exerciseId:e.id,value:s,setValue:l,blocked:i,isMain:!1})]}),C(Be,{size:{sm:5},children:Q(Be,{container:!0,children:[C(Be,{display:"flex",justifyContent:"center",size:6,children:C(Fh,{primaryMuscles:i.map(S=>v.data.find(P=>P.id===S)),secondaryMuscles:s.map(S=>v.data.find(P=>P.id===S)),isFront:!0})}),C(Be,{display:"flex",justifyContent:"center",size:6,children:C(Fh,{primaryMuscles:i.map(S=>v.data.find(P=>P.id===S)),secondaryMuscles:s.map(S=>v.data.find(P=>P.id===S)),isFront:!1})})]})})]})]})]})},$xt=e=>{const t=e.backgroundColor||"lightgray",n=e.iconColor||"gray",r=e.height||200;return C(Rn,{sx:{backgroundColor:t,height:r},display:"flex",alignItems:"center",justifyContent:"center",children:C(id,{sx:{fontSize:80,color:n}})})},Ple=({exercise:e,language:t})=>{const n=t?e.getTranslation(t):e.getTranslation(new Nee(Wy,"en","English")),[r,o]=Ue();return C(Do,{sx:{width:"100%"},children:Q(LEe,{href:Tn(Sn.EXERCISE_DETAIL,o.language,{id:e.id,slug:n.nameSlug}),sx:{minHeight:330},children:[e.mainImage?C(Vc,{component:"img",image:e.mainImage.url,sx:{height:200},alt:""}):C(Vc,{children:C($xt,{})}),Q(xa,{children:[C(ac,{title:n.name,placement:"top",arrow:!0,children:C(ct,{gutterBottom:!0,variant:"h6",component:"div",noWrap:!0,children:n.name})}),C(kh,{label:r(Xi(e.category.name)),sx:{position:"absolute",top:8,left:8},color:"primary",size:"small"},e.category.id),e.equipment.map(i=>C(ct,{display:"inline",mr:1,children:r(Xi(i.name))},i.id)),e.equipment.length===0&&C(ct,{color:"text.secondary",display:"inline",mr:1,children:r("exercises.noEquipment")})]})]})},e.id)},Rxt=({mainImage:e,sideImages:t})=>Q(Be,{container:!0,spacing:1,children:[e&&C(Be,{size:12,children:C(Do,{children:C(Vc,{component:"img",image:e.url,alt:""})})}),t.map(n=>C(Be,{size:6,children:C(Do,{children:C(Vc,{component:"img",image:n.url,sx:{height:120},alt:""})})},n.id))]}),_xt=({videos:e})=>C(Be,{container:!0,spacing:1,children:e.map(t=>C(Be,{size:6,children:C(Do,{children:C(Vc,{component:"video",src:t.url,sx:{height:120},controls:!0,muted:!0,preload:"metadata"})})},t.id))});function Mz(){var r,o;const e=Jc(),t=fy(yh.EDIT_EXERCISE),n={canContribute:!1,anonymous:!0,emailVerified:!1,admin:!1};if(e.isSuccess&&t.isSuccess){if(e.data===null)return n;n.anonymous=!1,(r=e.data)!=null&&r.emailVerified&&(n.emailVerified=!0),t.data&&(n.admin=!0),(n.admin||(o=e.data)!=null&&o.isTrustworthy)&&(n.canContribute=!0)}return n}const Dxt=({setEditMode:e})=>{const[t]=Ue();return Q(Rn,{mb:2,paddingY:2,sx:{width:"100%",backgroundColor:"#ebebeb",textAlign:"center"},children:[C(ct,{variant:"h5",children:t("exercises.exerciseNotTranslated")}),C(ct,{gutterBottom:!0,variant:"body1",component:"div",children:t("exercises.exerciseNotTranslatedBody")}),C(gt,{variant:"contained",onClick:()=>e(!0),children:t("exercises.translateExerciseNow")})]})},Nxt=({exercise:e,variations:t,language:n,setEditMode:r})=>{var l;const[o]=Ue(),i=Mz(),a=e.getTranslation(n),s=n&&n.id!==a.language;return Q(Be,{container:!0,children:[s&&i.canContribute&&C(Be,{order:{xs:2,sm:1},size:{xs:12,sm:7,md:12},children:C(Dxt,{setEditMode:r})}),Q(Be,{order:{xs:2,sm:1},size:{xs:12,sm:7,md:8},children:[(a==null?void 0:a.aliases.length)>0&&Q(Mt,{children:[Q("p",{children:[o("exercises.alsoKnownAs"),"  ",(l=a==null?void 0:a.aliases)==null?void 0:l.map(c=>c.alias).join(", ")]}),C(ni,{})]}),C(ct,{variant:"h5",children:o("exercises.description")}),C("div",{dangerouslySetInnerHTML:{__html:a==null?void 0:a.description}}),C(ni,{}),(a==null?void 0:a.notes.length)>0&&C(ct,{variant:"h5",children:o("exercises.notes")}),C("ul",{children:a==null?void 0:a.notes.map(c=>C("li",{children:c.note},c.id))}),C(ni,{}),C(ct,{variant:"h5",children:o("exercises.muscles")}),Q(Be,{container:!0,children:[C(Be,{order:{xs:1},size:{xs:6,md:3},children:C(Fh,{primaryMuscles:e.muscles,secondaryMuscles:e.musclesSecondary,isFront:!0})}),Q(Be,{order:{xs:2,md:3},size:{xs:6,md:3},children:[C("h3",{children:o("exercises.primaryMuscles")}),C("ul",{children:e.muscles.map(c=>C("li",{children:c.getName(o)},c.id))})]}),C(Be,{order:{xs:3,md:2},size:{xs:6,md:3},children:C(Fh,{primaryMuscles:e.muscles,secondaryMuscles:e.musclesSecondary,isFront:!1})}),Q(Be,{order:{xs:4},size:{xs:6,md:3},children:[C("h3",{children:o("exercises.secondaryMuscles")}),C("ul",{children:e.musclesSecondary.map(c=>C("li",{children:c.getName(o)},c.id))})]})]}),C(ni,{})]}),Q(Be,{order:{xs:1,sm:2},size:{xs:12,sm:5,md:4},children:[C(Rxt,{mainImage:e.mainImage,sideImages:e.sideImages}),C(ni,{}),C(_xt,{videos:e.videos})]}),Q(Be,{order:{xs:3},size:12,children:[C(ss,{}),C(ni,{}),t.length>0&&C(ct,{variant:"h5",children:o("exercises.variations")}),C(Be,{container:!0,spacing:2,children:t.map(c=>C(Be,{size:{xs:6,md:2},children:C(Ple,{exercise:c,language:n},c.id)},c.id))})]}),C(Be,{order:{xs:4},size:12,children:Q(ct,{variant:"caption",display:"block",mt:2,children:["The text on this page is available under the ",C("a",{href:"https://creativecommons.org/licenses/by-sa/4.0/deed",children:"CC BY-SA 4 License"}),"."]})})]})};var mO={exports:{}};/** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */mO.exports;(function(e,t){(function(){var n,r="4.17.21",o=200,i="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",a="Expected a function",s="Invalid `variable` option passed into `_.template`",l="__lodash_hash_undefined__",c=500,u="__lodash_placeholder__",d=1,f=2,p=4,m=1,g=2,v=1,w=2,x=4,S=8,P=16,T=32,E=64,O=128,k=256,A=512,I=30,R="...",N=800,L=16,j=1,_=2,D=3,z=1/0,F=9007199254740991,H=17976931348623157e292,U=NaN,q=4294967295,X=q-1,ae=q>>>1,Z=[["ary",O],["bind",v],["bindKey",w],["curry",S],["curryRight",P],["flip",A],["partial",T],["partialRight",E],["rearg",k]],K="[object Arguments]",te="[object Array]",pe="[object AsyncFunction]",ie="[object Boolean]",le="[object Date]",re="[object DOMException]",fe="[object Error]",ee="[object Function]",ce="[object GeneratorFunction]",me="[object Map]",we="[object Number]",ge="[object Null]",Se="[object Object]",xe="[object Promise]",Ie="[object Proxy]",Re="[object RegExp]",_e="[object Set]",ye="[object String]",Te="[object Symbol]",Oe="[object Undefined]",Me="[object WeakMap]",We="[object WeakSet]",Ve="[object ArrayBuffer]",Qe="[object DataView]",ut="[object Float32Array]",nt="[object Float64Array]",et="[object Int8Array]",yt="[object Int16Array]",wn="[object Int32Array]",Ke="[object Uint8Array]",$e="[object Uint8ClampedArray]",Xe="[object Uint16Array]",bt="[object Uint32Array]",Vt=/\b__p \+= '';/g,Ot=/\b(__p \+=) '' \+/g,un=/(__e\(.*?\)|\b__t\)) \+\n'';/g,jn=/&(?:amp|lt|gt|quot|#39);/g,Wn=/[&<>"']/g,Eo=RegExp(jn.source),Kr=RegExp(Wn.source),Ii=/<%-([\s\S]+?)%>/g,ys=/<%([\s\S]+?)%>/g,Wt=/<%=([\s\S]+?)%>/g,Xo=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ym=/^\w*$/,pd=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,tu=/[\\^$.*+?()[\]{}|]/g,lp=RegExp(tu.source),cp=/^\s+/,$b=/\s/,vm=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,w1=/\{\n\/\* \[wrapped with (.+)\] \*/,up=/,? & /,Fo=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Yr=/[()=,{}\[\]\/\s]/,Sl=/\\(\\)?/g,He=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Ne=/\w*$/,wt=/^[-+]0x[0-9a-f]+$/i,en=/^0b[01]+$/i,sn=/^\[object .+?Constructor\]$/,Rr=/^0o[0-7]+$/i,Gn=/^(?:0|[1-9]\d*)$/,Oa=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,nu=/($^)/,rV=/['\n\r\u2028\u2029\\]/g,bm="\\ud800-\\udfff",x1="\\u0300-\\u036f",wm="\\ufe20-\\ufe2f",xm="\\u20d0-\\u20ff",Sm=x1+wm+xm,dp="\\u2700-\\u27bf",On="a-z\\xdf-\\xf6\\xf8-\\xff",vs="\\xac\\xb1\\xd7\\xf7",uc="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",fp="\\u2000-\\u206f",TM=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",oV="A-Z\\xc0-\\xd6\\xd8-\\xde",iV="\\ufe0e\\ufe0f",aV=vs+uc+fp+TM,EM="['’]",hue="["+bm+"]",sV="["+aV+"]",S1="["+Sm+"]",lV="\\d+",mue="["+dp+"]",cV="["+On+"]",uV="[^"+bm+aV+lV+dp+On+oV+"]",OM="\\ud83c[\\udffb-\\udfff]",gue="(?:"+S1+"|"+OM+")",dV="[^"+bm+"]",IM="(?:\\ud83c[\\udde6-\\uddff]){2}",kM="[\\ud800-\\udbff][\\udc00-\\udfff]",Cm="["+oV+"]",fV="\\u200d",pV="(?:"+cV+"|"+uV+")",yue="(?:"+Cm+"|"+uV+")",hV="(?:"+EM+"(?:d|ll|m|re|s|t|ve))?",mV="(?:"+EM+"(?:D|LL|M|RE|S|T|VE))?",gV=gue+"?",yV="["+iV+"]?",vue="(?:"+fV+"(?:"+[dV,IM,kM].join("|")+")"+yV+gV+")*",bue="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",wue="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",vV=yV+gV+vue,xue="(?:"+[mue,IM,kM].join("|")+")"+vV,Sue="(?:"+[dV+S1+"?",S1,IM,kM,hue].join("|")+")",Cue=RegExp(EM,"g"),Pue=RegExp(S1,"g"),MM=RegExp(OM+"(?="+OM+")|"+Sue+vV,"g"),Tue=RegExp([Cm+"?"+cV+"+"+hV+"(?="+[sV,Cm,"$"].join("|")+")",yue+"+"+mV+"(?="+[sV,Cm+pV,"$"].join("|")+")",Cm+"?"+pV+"+"+hV,Cm+"+"+mV,wue,bue,lV,xue].join("|"),"g"),Eue=RegExp("["+fV+bm+Sm+iV+"]"),Oue=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Iue=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],kue=-1,Pr={};Pr[ut]=Pr[nt]=Pr[et]=Pr[yt]=Pr[wn]=Pr[Ke]=Pr[$e]=Pr[Xe]=Pr[bt]=!0,Pr[K]=Pr[te]=Pr[Ve]=Pr[ie]=Pr[Qe]=Pr[le]=Pr[fe]=Pr[ee]=Pr[me]=Pr[we]=Pr[Se]=Pr[Re]=Pr[_e]=Pr[ye]=Pr[Me]=!1;var gr={};gr[K]=gr[te]=gr[Ve]=gr[Qe]=gr[ie]=gr[le]=gr[ut]=gr[nt]=gr[et]=gr[yt]=gr[wn]=gr[me]=gr[we]=gr[Se]=gr[Re]=gr[_e]=gr[ye]=gr[Te]=gr[Ke]=gr[$e]=gr[Xe]=gr[bt]=!0,gr[fe]=gr[ee]=gr[Me]=!1;var Mue={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Aue={"&":"&","<":"<",">":">",'"':""","'":"'"},$ue={"&":"&","<":"<",">":">",""":'"',"'":"'"},Rue={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},_ue=parseFloat,Due=parseInt,bV=typeof Bi=="object"&&Bi&&Bi.Object===Object&&Bi,Nue=typeof self=="object"&&self&&self.Object===Object&&self,Qo=bV||Nue||Function("return this")(),AM=t&&!t.nodeType&&t,pp=AM&&!0&&e&&!e.nodeType&&e,wV=pp&&pp.exports===AM,$M=wV&&bV.process,bs=function(){try{var Pe=pp&&pp.require&&pp.require("util").types;return Pe||$M&&$M.binding&&$M.binding("util")}catch{}}(),xV=bs&&bs.isArrayBuffer,SV=bs&&bs.isDate,CV=bs&&bs.isMap,PV=bs&&bs.isRegExp,TV=bs&&bs.isSet,EV=bs&&bs.isTypedArray;function Ia(Pe,je,Ae){switch(Ae.length){case 0:return Pe.call(je);case 1:return Pe.call(je,Ae[0]);case 2:return Pe.call(je,Ae[0],Ae[1]);case 3:return Pe.call(je,Ae[0],Ae[1],Ae[2])}return Pe.apply(je,Ae)}function Lue(Pe,je,Ae,St){for(var Xt=-1,qn=Pe==null?0:Pe.length;++Xt-1}function RM(Pe,je,Ae){for(var St=-1,Xt=Pe==null?0:Pe.length;++St-1;);return Ae}function _V(Pe,je){for(var Ae=Pe.length;Ae--&&Pm(je,Pe[Ae],0)>-1;);return Ae}function Gue(Pe,je){for(var Ae=Pe.length,St=0;Ae--;)Pe[Ae]===je&&++St;return St}var que=LM(Mue),Kue=LM(Aue);function Yue(Pe){return"\\"+Rue[Pe]}function Xue(Pe,je){return Pe==null?n:Pe[je]}function Tm(Pe){return Eue.test(Pe)}function Que(Pe){return Oue.test(Pe)}function Jue(Pe){for(var je,Ae=[];!(je=Pe.next()).done;)Ae.push(je.value);return Ae}function zM(Pe){var je=-1,Ae=Array(Pe.size);return Pe.forEach(function(St,Xt){Ae[++je]=[Xt,St]}),Ae}function DV(Pe,je){return function(Ae){return Pe(je(Ae))}}function gd(Pe,je){for(var Ae=-1,St=Pe.length,Xt=0,qn=[];++Ae-1}function jde(h,b){var M=this.__data__,V=B1(M,h);return V<0?(++this.size,M.push([h,b])):M[V][1]=b,this}ru.prototype.clear=Dde,ru.prototype.delete=Nde,ru.prototype.get=Lde,ru.prototype.has=Fde,ru.prototype.set=jde;function ou(h){var b=-1,M=h==null?0:h.length;for(this.clear();++b=b?h:b)),h}function Cs(h,b,M,V,G,ne){var he,ve=b&d,Ee=b&f,Ge=b&p;if(M&&(he=G?M(h,V,G,ne):M(h)),he!==n)return he;if(!Br(h))return h;var qe=tn(h);if(qe){if(he=Hfe(h),!ve)return na(h,he)}else{var Je=di(h),ft=Je==ee||Je==ce;if(Sd(h))return y5(h,ve);if(Je==Se||Je==K||ft&&!G){if(he=Ee||ft?{}:N5(h),!ve)return Ee?$fe(h,tfe(he,h)):Afe(h,qV(he,h))}else{if(!gr[Je])return G?h:{};he=Ufe(h,Je,ve)}}ne||(ne=new Pl);var Rt=ne.get(h);if(Rt)return Rt;ne.set(h,he),dH(h)?h.forEach(function(zt){he.add(Cs(zt,b,M,zt,h,ne))}):cH(h)&&h.forEach(function(zt,Cn){he.set(Cn,Cs(zt,b,M,Cn,h,ne))});var Bt=Ge?Ee?pA:fA:Ee?oa:jo,dn=qe?n:Bt(h);return ws(dn||h,function(zt,Cn){dn&&(Cn=zt,zt=h[Cn]),jb(he,Cn,Cs(zt,b,M,Cn,h,ne))}),he}function nfe(h){var b=jo(h);return function(M){return KV(M,h,b)}}function KV(h,b,M){var V=M.length;if(h==null)return!V;for(h=dr(h);V--;){var G=M[V],ne=b[G],he=h[G];if(he===n&&!(G in h)||!ne(he))return!1}return!0}function YV(h,b,M){if(typeof h!="function")throw new xs(a);return Gb(function(){h.apply(n,M)},b)}function Bb(h,b,M,V){var G=-1,ne=C1,he=!0,ve=h.length,Ee=[],Ge=b.length;if(!ve)return Ee;M&&(b=_r(b,ka(M))),V?(ne=RM,he=!1):b.length>=o&&(ne=Rb,he=!1,b=new gp(b));e:for(;++GG?0:G+M),V=V===n||V>G?G:ln(V),V<0&&(V+=G),V=M>V?0:pH(V);M0&&M(ve)?b>1?Jo(ve,b-1,M,V,G):md(G,ve):V||(G[G.length]=ve)}return G}var KM=C5(),JV=C5(!0);function dc(h,b){return h&&KM(h,b,jo)}function YM(h,b){return h&&JV(h,b,jo)}function V1(h,b){return hd(b,function(M){return cu(h[M])})}function vp(h,b){b=wd(b,h);for(var M=0,V=b.length;h!=null&&Mb}function ife(h,b){return h!=null&&rr.call(h,b)}function afe(h,b){return h!=null&&b in dr(h)}function sfe(h,b,M){return h>=ui(b,M)&&h=120&&qe.length>=120)?new gp(he&&qe):n}qe=h[0];var Je=-1,ft=ve[0];e:for(;++Je-1;)ve!==h&&R1.call(ve,Ee,1),R1.call(h,Ee,1);return h}function c5(h,b){for(var M=h?b.length:0,V=M-1;M--;){var G=b[M];if(M==V||G!==ne){var ne=G;lu(G)?R1.call(h,G,1):iA(h,G)}}return h}function nA(h,b){return h+N1(HV()*(b-h+1))}function wfe(h,b,M,V){for(var G=-1,ne=Io(D1((b-h)/(M||1)),0),he=Ae(ne);ne--;)he[V?ne:++G]=h,h+=M;return he}function rA(h,b){var M="";if(!h||b<1||b>F)return M;do b%2&&(M+=h),b=N1(b/2),b&&(h+=h);while(b);return M}function gn(h,b){return wA(j5(h,b,ia),h+"")}function xfe(h){return GV(Nm(h))}function Sfe(h,b){var M=Nm(h);return Z1(M,yp(b,0,M.length))}function Hb(h,b,M,V){if(!Br(h))return h;b=wd(b,h);for(var G=-1,ne=b.length,he=ne-1,ve=h;ve!=null&&++GG?0:G+b),M=M>G?G:M,M<0&&(M+=G),G=b>M?0:M-b>>>0,b>>>=0;for(var ne=Ae(G);++V>>1,he=h[ne];he!==null&&!Aa(he)&&(M?he<=b:he=o){var Ge=b?null:Nfe(h);if(Ge)return T1(Ge);he=!1,G=Rb,Ee=new gp}else Ee=b?[]:ve;e:for(;++V=V?h:Ps(h,b,M)}var g5=pde||function(h){return Qo.clearTimeout(h)};function y5(h,b){if(b)return h.slice();var M=h.length,V=FV?FV(M):new h.constructor(M);return h.copy(V),V}function cA(h){var b=new h.constructor(h.byteLength);return new A1(b).set(new A1(h)),b}function Ofe(h,b){var M=b?cA(h.buffer):h.buffer;return new h.constructor(M,h.byteOffset,h.byteLength)}function Ife(h){var b=new h.constructor(h.source,Ne.exec(h));return b.lastIndex=h.lastIndex,b}function kfe(h){return Fb?dr(Fb.call(h)):{}}function v5(h,b){var M=b?cA(h.buffer):h.buffer;return new h.constructor(M,h.byteOffset,h.length)}function b5(h,b){if(h!==b){var M=h!==n,V=h===null,G=h===h,ne=Aa(h),he=b!==n,ve=b===null,Ee=b===b,Ge=Aa(b);if(!ve&&!Ge&&!ne&&h>b||ne&&he&&Ee&&!ve&&!Ge||V&&he&&Ee||!M&&Ee||!G)return 1;if(!V&&!ne&&!Ge&&h=ve)return Ee;var Ge=M[V];return Ee*(Ge=="desc"?-1:1)}}return h.index-b.index}function w5(h,b,M,V){for(var G=-1,ne=h.length,he=M.length,ve=-1,Ee=b.length,Ge=Io(ne-he,0),qe=Ae(Ee+Ge),Je=!V;++ve1?M[G-1]:n,he=G>2?M[2]:n;for(ne=h.length>3&&typeof ne=="function"?(G--,ne):n,he&&Mi(M[0],M[1],he)&&(ne=G<3?n:ne,G=1),b=dr(b);++V-1?G[ne?b[he]:he]:n}}function E5(h){return su(function(b){var M=b.length,V=M,G=Ss.prototype.thru;for(h&&b.reverse();V--;){var ne=b[V];if(typeof ne!="function")throw new xs(a);if(G&&!he&&Q1(ne)=="wrapper")var he=new Ss([],!0)}for(V=he?V:M;++V1&&Mn.reverse(),qe&&Eeve))return!1;var Ge=ne.get(h),qe=ne.get(b);if(Ge&&qe)return Ge==b&&qe==h;var Je=-1,ft=!0,Rt=M&g?new gp:n;for(ne.set(h,b),ne.set(b,h);++Je1?"& ":"")+b[V],b=b.join(M>2?", ":" "),h.replace(vm,`{ +/* [wrapped with `+b+`] */ +`)}function Gfe(h){return tn(h)||xp(h)||!!(zV&&h&&h[zV])}function lu(h,b){var M=typeof h;return b=b??F,!!b&&(M=="number"||M!="symbol"&&Gn.test(h))&&h>-1&&h%1==0&&h0){if(++b>=N)return arguments[0]}else b=0;return h.apply(n,arguments)}}function Z1(h,b){var M=-1,V=h.length,G=V-1;for(b=b===n?V:b;++M1?h[b-1]:n;return M=typeof M=="function"?(h.pop(),M):n,Q5(h,M)});function J5(h){var b=J(h);return b.__chain__=!0,b}function rhe(h,b){return b(h),h}function eC(h,b){return b(h)}var ohe=su(function(h){var b=h.length,M=b?h[0]:0,V=this.__wrapped__,G=function(ne){return qM(ne,h)};return b>1||this.__actions__.length||!(V instanceof In)||!lu(M)?this.thru(G):(V=V.slice(M,+M+(b?1:0)),V.__actions__.push({func:eC,args:[G],thisArg:n}),new Ss(V,this.__chain__).thru(function(ne){return b&&!ne.length&&ne.push(n),ne}))});function ihe(){return J5(this)}function ahe(){return new Ss(this.value(),this.__chain__)}function she(){this.__values__===n&&(this.__values__=fH(this.value()));var h=this.__index__>=this.__values__.length,b=h?n:this.__values__[this.__index__++];return{done:h,value:b}}function lhe(){return this}function che(h){for(var b,M=this;M instanceof j1;){var V=W5(M);V.__index__=0,V.__values__=n,b?G.__wrapped__=V:b=V;var G=V;M=M.__wrapped__}return G.__wrapped__=h,b}function uhe(){var h=this.__wrapped__;if(h instanceof In){var b=h;return this.__actions__.length&&(b=new In(this)),b=b.reverse(),b.__actions__.push({func:eC,args:[xA],thisArg:n}),new Ss(b,this.__chain__)}return this.thru(xA)}function dhe(){return h5(this.__wrapped__,this.__actions__)}var fhe=G1(function(h,b,M){rr.call(h,M)?++h[M]:iu(h,M,1)});function phe(h,b,M){var V=tn(h)?OV:rfe;return M&&Mi(h,b,M)&&(b=n),V(h,Lt(b,3))}function hhe(h,b){var M=tn(h)?hd:QV;return M(h,Lt(b,3))}var mhe=T5(G5),ghe=T5(q5);function yhe(h,b){return Jo(tC(h,b),1)}function vhe(h,b){return Jo(tC(h,b),z)}function bhe(h,b,M){return M=M===n?1:ln(M),Jo(tC(h,b),M)}function Z5(h,b){var M=tn(h)?ws:vd;return M(h,Lt(b,3))}function eH(h,b){var M=tn(h)?Fue:XV;return M(h,Lt(b,3))}var whe=G1(function(h,b,M){rr.call(h,M)?h[M].push(b):iu(h,M,[b])});function xhe(h,b,M,V){h=ra(h)?h:Nm(h),M=M&&!V?ln(M):0;var G=h.length;return M<0&&(M=Io(G+M,0)),aC(h)?M<=G&&h.indexOf(b,M)>-1:!!G&&Pm(h,b,M)>-1}var She=gn(function(h,b,M){var V=-1,G=typeof b=="function",ne=ra(h)?Ae(h.length):[];return vd(h,function(he){ne[++V]=G?Ia(b,he,M):zb(he,b,M)}),ne}),Che=G1(function(h,b,M){iu(h,M,b)});function tC(h,b){var M=tn(h)?_r:r5;return M(h,Lt(b,3))}function Phe(h,b,M,V){return h==null?[]:(tn(b)||(b=b==null?[]:[b]),M=V?n:M,tn(M)||(M=M==null?[]:[M]),s5(h,b,M))}var The=G1(function(h,b,M){h[M?0:1].push(b)},function(){return[[],[]]});function Ehe(h,b,M){var V=tn(h)?_M:AV,G=arguments.length<3;return V(h,Lt(b,4),M,G,vd)}function Ohe(h,b,M){var V=tn(h)?jue:AV,G=arguments.length<3;return V(h,Lt(b,4),M,G,XV)}function Ihe(h,b){var M=tn(h)?hd:QV;return M(h,oC(Lt(b,3)))}function khe(h){var b=tn(h)?GV:xfe;return b(h)}function Mhe(h,b,M){(M?Mi(h,b,M):b===n)?b=1:b=ln(b);var V=tn(h)?Jde:Sfe;return V(h,b)}function Ahe(h){var b=tn(h)?Zde:Pfe;return b(h)}function $he(h){if(h==null)return 0;if(ra(h))return aC(h)?Em(h):h.length;var b=di(h);return b==me||b==_e?h.size:ZM(h).length}function Rhe(h,b,M){var V=tn(h)?DM:Tfe;return M&&Mi(h,b,M)&&(b=n),V(h,Lt(b,3))}var _he=gn(function(h,b){if(h==null)return[];var M=b.length;return M>1&&Mi(h,b[0],b[1])?b=[]:M>2&&Mi(b[0],b[1],b[2])&&(b=[b[0]]),s5(h,Jo(b,1),[])}),nC=hde||function(){return Qo.Date.now()};function Dhe(h,b){if(typeof b!="function")throw new xs(a);return h=ln(h),function(){if(--h<1)return b.apply(this,arguments)}}function tH(h,b,M){return b=M?n:b,b=h&&b==null?h.length:b,au(h,O,n,n,n,n,b)}function nH(h,b){var M;if(typeof b!="function")throw new xs(a);return h=ln(h),function(){return--h>0&&(M=b.apply(this,arguments)),h<=1&&(b=n),M}}var CA=gn(function(h,b,M){var V=v;if(M.length){var G=gd(M,_m(CA));V|=T}return au(h,V,b,M,G)}),rH=gn(function(h,b,M){var V=v|w;if(M.length){var G=gd(M,_m(rH));V|=T}return au(b,V,h,M,G)});function oH(h,b,M){b=M?n:b;var V=au(h,S,n,n,n,n,n,b);return V.placeholder=oH.placeholder,V}function iH(h,b,M){b=M?n:b;var V=au(h,P,n,n,n,n,n,b);return V.placeholder=iH.placeholder,V}function aH(h,b,M){var V,G,ne,he,ve,Ee,Ge=0,qe=!1,Je=!1,ft=!0;if(typeof h!="function")throw new xs(a);b=Es(b)||0,Br(M)&&(qe=!!M.leading,Je="maxWait"in M,ne=Je?Io(Es(M.maxWait)||0,b):ne,ft="trailing"in M?!!M.trailing:ft);function Rt(io){var El=V,du=G;return V=G=n,Ge=io,he=h.apply(du,El),he}function Bt(io){return Ge=io,ve=Gb(Cn,b),qe?Rt(io):he}function dn(io){var El=io-Ee,du=io-Ge,TH=b-El;return Je?ui(TH,ne-du):TH}function zt(io){var El=io-Ee,du=io-Ge;return Ee===n||El>=b||El<0||Je&&du>=ne}function Cn(){var io=nC();if(zt(io))return Mn(io);ve=Gb(Cn,dn(io))}function Mn(io){return ve=n,ft&&V?Rt(io):(V=G=n,he)}function $a(){ve!==n&&g5(ve),Ge=0,V=Ee=G=ve=n}function Ai(){return ve===n?he:Mn(nC())}function Ra(){var io=nC(),El=zt(io);if(V=arguments,G=this,Ee=io,El){if(ve===n)return Bt(Ee);if(Je)return g5(ve),ve=Gb(Cn,b),Rt(Ee)}return ve===n&&(ve=Gb(Cn,b)),he}return Ra.cancel=$a,Ra.flush=Ai,Ra}var Nhe=gn(function(h,b){return YV(h,1,b)}),Lhe=gn(function(h,b,M){return YV(h,Es(b)||0,M)});function Fhe(h){return au(h,A)}function rC(h,b){if(typeof h!="function"||b!=null&&typeof b!="function")throw new xs(a);var M=function(){var V=arguments,G=b?b.apply(this,V):V[0],ne=M.cache;if(ne.has(G))return ne.get(G);var he=h.apply(this,V);return M.cache=ne.set(G,he)||ne,he};return M.cache=new(rC.Cache||ou),M}rC.Cache=ou;function oC(h){if(typeof h!="function")throw new xs(a);return function(){var b=arguments;switch(b.length){case 0:return!h.call(this);case 1:return!h.call(this,b[0]);case 2:return!h.call(this,b[0],b[1]);case 3:return!h.call(this,b[0],b[1],b[2])}return!h.apply(this,b)}}function jhe(h){return nH(2,h)}var Bhe=Efe(function(h,b){b=b.length==1&&tn(b[0])?_r(b[0],ka(Lt())):_r(Jo(b,1),ka(Lt()));var M=b.length;return gn(function(V){for(var G=-1,ne=ui(V.length,M);++G=b}),xp=e5(function(){return arguments}())?e5:function(h){return Xr(h)&&rr.call(h,"callee")&&!BV.call(h,"callee")},tn=Ae.isArray,tme=xV?ka(xV):cfe;function ra(h){return h!=null&&iC(h.length)&&!cu(h)}function oo(h){return Xr(h)&&ra(h)}function nme(h){return h===!0||h===!1||Xr(h)&&ki(h)==ie}var Sd=gde||DA,rme=SV?ka(SV):ufe;function ome(h){return Xr(h)&&h.nodeType===1&&!qb(h)}function ime(h){if(h==null)return!0;if(ra(h)&&(tn(h)||typeof h=="string"||typeof h.splice=="function"||Sd(h)||Dm(h)||xp(h)))return!h.length;var b=di(h);if(b==me||b==_e)return!h.size;if(Wb(h))return!ZM(h).length;for(var M in h)if(rr.call(h,M))return!1;return!0}function ame(h,b){return Vb(h,b)}function sme(h,b,M){M=typeof M=="function"?M:n;var V=M?M(h,b):n;return V===n?Vb(h,b,n,M):!!V}function TA(h){if(!Xr(h))return!1;var b=ki(h);return b==fe||b==re||typeof h.message=="string"&&typeof h.name=="string"&&!qb(h)}function lme(h){return typeof h=="number"&&VV(h)}function cu(h){if(!Br(h))return!1;var b=ki(h);return b==ee||b==ce||b==pe||b==Ie}function lH(h){return typeof h=="number"&&h==ln(h)}function iC(h){return typeof h=="number"&&h>-1&&h%1==0&&h<=F}function Br(h){var b=typeof h;return h!=null&&(b=="object"||b=="function")}function Xr(h){return h!=null&&typeof h=="object"}var cH=CV?ka(CV):ffe;function cme(h,b){return h===b||JM(h,b,mA(b))}function ume(h,b,M){return M=typeof M=="function"?M:n,JM(h,b,mA(b),M)}function dme(h){return uH(h)&&h!=+h}function fme(h){if(Yfe(h))throw new Xt(i);return t5(h)}function pme(h){return h===null}function hme(h){return h==null}function uH(h){return typeof h=="number"||Xr(h)&&ki(h)==we}function qb(h){if(!Xr(h)||ki(h)!=Se)return!1;var b=$1(h);if(b===null)return!0;var M=rr.call(b,"constructor")&&b.constructor;return typeof M=="function"&&M instanceof M&&I1.call(M)==ude}var EA=PV?ka(PV):pfe;function mme(h){return lH(h)&&h>=-F&&h<=F}var dH=TV?ka(TV):hfe;function aC(h){return typeof h=="string"||!tn(h)&&Xr(h)&&ki(h)==ye}function Aa(h){return typeof h=="symbol"||Xr(h)&&ki(h)==Te}var Dm=EV?ka(EV):mfe;function gme(h){return h===n}function yme(h){return Xr(h)&&di(h)==Me}function vme(h){return Xr(h)&&ki(h)==We}var bme=X1(eA),wme=X1(function(h,b){return h<=b});function fH(h){if(!h)return[];if(ra(h))return aC(h)?Cl(h):na(h);if(_b&&h[_b])return Jue(h[_b]());var b=di(h),M=b==me?zM:b==_e?T1:Nm;return M(h)}function uu(h){if(!h)return h===0?h:0;if(h=Es(h),h===z||h===-z){var b=h<0?-1:1;return b*H}return h===h?h:0}function ln(h){var b=uu(h),M=b%1;return b===b?M?b-M:b:0}function pH(h){return h?yp(ln(h),0,q):0}function Es(h){if(typeof h=="number")return h;if(Aa(h))return U;if(Br(h)){var b=typeof h.valueOf=="function"?h.valueOf():h;h=Br(b)?b+"":b}if(typeof h!="string")return h===0?h:+h;h=$V(h);var M=en.test(h);return M||Rr.test(h)?Due(h.slice(2),M?2:8):wt.test(h)?U:+h}function hH(h){return fc(h,oa(h))}function xme(h){return h?yp(ln(h),-F,F):h===0?h:0}function Jn(h){return h==null?"":Ma(h)}var Sme=$m(function(h,b){if(Wb(b)||ra(b)){fc(b,jo(b),h);return}for(var M in b)rr.call(b,M)&&jb(h,M,b[M])}),mH=$m(function(h,b){fc(b,oa(b),h)}),sC=$m(function(h,b,M,V){fc(b,oa(b),h,V)}),Cme=$m(function(h,b,M,V){fc(b,jo(b),h,V)}),Pme=su(qM);function Tme(h,b){var M=Am(h);return b==null?M:qV(M,b)}var Eme=gn(function(h,b){h=dr(h);var M=-1,V=b.length,G=V>2?b[2]:n;for(G&&Mi(b[0],b[1],G)&&(V=1);++M1),ne}),fc(h,pA(h),M),V&&(M=Cs(M,d|f|p,Lfe));for(var G=b.length;G--;)iA(M,b[G]);return M});function Ume(h,b){return yH(h,oC(Lt(b)))}var Wme=su(function(h,b){return h==null?{}:vfe(h,b)});function yH(h,b){if(h==null)return{};var M=_r(pA(h),function(V){return[V]});return b=Lt(b),l5(h,M,function(V,G){return b(V,G[0])})}function Gme(h,b,M){b=wd(b,h);var V=-1,G=b.length;for(G||(G=1,h=n);++Vb){var V=h;h=b,b=V}if(M||h%1||b%1){var G=HV();return ui(h+G*(b-h+_ue("1e-"+((G+"").length-1))),b)}return nA(h,b)}var rge=Rm(function(h,b,M){return b=b.toLowerCase(),h+(M?wH(b):b)});function wH(h){return kA(Jn(h).toLowerCase())}function xH(h){return h=Jn(h),h&&h.replace(Oa,que).replace(Pue,"")}function oge(h,b,M){h=Jn(h),b=Ma(b);var V=h.length;M=M===n?V:yp(ln(M),0,V);var G=M;return M-=b.length,M>=0&&h.slice(M,G)==b}function ige(h){return h=Jn(h),h&&Kr.test(h)?h.replace(Wn,Kue):h}function age(h){return h=Jn(h),h&&lp.test(h)?h.replace(tu,"\\$&"):h}var sge=Rm(function(h,b,M){return h+(M?"-":"")+b.toLowerCase()}),lge=Rm(function(h,b,M){return h+(M?" ":"")+b.toLowerCase()}),cge=P5("toLowerCase");function uge(h,b,M){h=Jn(h),b=ln(b);var V=b?Em(h):0;if(!b||V>=b)return h;var G=(b-V)/2;return Y1(N1(G),M)+h+Y1(D1(G),M)}function dge(h,b,M){h=Jn(h),b=ln(b);var V=b?Em(h):0;return b&&V>>0,M?(h=Jn(h),h&&(typeof b=="string"||b!=null&&!EA(b))&&(b=Ma(b),!b&&Tm(h))?xd(Cl(h),0,M):h.split(b,M)):[]}var vge=Rm(function(h,b,M){return h+(M?" ":"")+kA(b)});function bge(h,b,M){return h=Jn(h),M=M==null?0:yp(ln(M),0,h.length),b=Ma(b),h.slice(M,M+b.length)==b}function wge(h,b,M){var V=J.templateSettings;M&&Mi(h,b,M)&&(b=n),h=Jn(h),b=sC({},b,V,A5);var G=sC({},b.imports,V.imports,A5),ne=jo(G),he=BM(G,ne),ve,Ee,Ge=0,qe=b.interpolate||nu,Je="__p += '",ft=VM((b.escape||nu).source+"|"+qe.source+"|"+(qe===Wt?He:nu).source+"|"+(b.evaluate||nu).source+"|$","g"),Rt="//# sourceURL="+(rr.call(b,"sourceURL")?(b.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++kue+"]")+` +`;h.replace(ft,function(zt,Cn,Mn,$a,Ai,Ra){return Mn||(Mn=$a),Je+=h.slice(Ge,Ra).replace(rV,Yue),Cn&&(ve=!0,Je+=`' + +__e(`+Cn+`) + +'`),Ai&&(Ee=!0,Je+=`'; +`+Ai+`; +__p += '`),Mn&&(Je+=`' + +((__t = (`+Mn+`)) == null ? '' : __t) + +'`),Ge=Ra+zt.length,zt}),Je+=`'; +`;var Bt=rr.call(b,"variable")&&b.variable;if(!Bt)Je=`with (obj) { +`+Je+` +} +`;else if(Yr.test(Bt))throw new Xt(s);Je=(Ee?Je.replace(Vt,""):Je).replace(Ot,"$1").replace(un,"$1;"),Je="function("+(Bt||"obj")+`) { +`+(Bt?"":`obj || (obj = {}); +`)+"var __t, __p = ''"+(ve?", __e = _.escape":"")+(Ee?`, __j = Array.prototype.join; +function print() { __p += __j.call(arguments, '') } +`:`; +`)+Je+`return __p +}`;var dn=CH(function(){return qn(ne,Rt+"return "+Je).apply(n,he)});if(dn.source=Je,TA(dn))throw dn;return dn}function xge(h){return Jn(h).toLowerCase()}function Sge(h){return Jn(h).toUpperCase()}function Cge(h,b,M){if(h=Jn(h),h&&(M||b===n))return $V(h);if(!h||!(b=Ma(b)))return h;var V=Cl(h),G=Cl(b),ne=RV(V,G),he=_V(V,G)+1;return xd(V,ne,he).join("")}function Pge(h,b,M){if(h=Jn(h),h&&(M||b===n))return h.slice(0,NV(h)+1);if(!h||!(b=Ma(b)))return h;var V=Cl(h),G=_V(V,Cl(b))+1;return xd(V,0,G).join("")}function Tge(h,b,M){if(h=Jn(h),h&&(M||b===n))return h.replace(cp,"");if(!h||!(b=Ma(b)))return h;var V=Cl(h),G=RV(V,Cl(b));return xd(V,G).join("")}function Ege(h,b){var M=I,V=R;if(Br(b)){var G="separator"in b?b.separator:G;M="length"in b?ln(b.length):M,V="omission"in b?Ma(b.omission):V}h=Jn(h);var ne=h.length;if(Tm(h)){var he=Cl(h);ne=he.length}if(M>=ne)return h;var ve=M-Em(V);if(ve<1)return V;var Ee=he?xd(he,0,ve).join(""):h.slice(0,ve);if(G===n)return Ee+V;if(he&&(ve+=Ee.length-ve),EA(G)){if(h.slice(ve).search(G)){var Ge,qe=Ee;for(G.global||(G=VM(G.source,Jn(Ne.exec(G))+"g")),G.lastIndex=0;Ge=G.exec(qe);)var Je=Ge.index;Ee=Ee.slice(0,Je===n?ve:Je)}}else if(h.indexOf(Ma(G),ve)!=ve){var ft=Ee.lastIndexOf(G);ft>-1&&(Ee=Ee.slice(0,ft))}return Ee+V}function Oge(h){return h=Jn(h),h&&Eo.test(h)?h.replace(jn,nde):h}var Ige=Rm(function(h,b,M){return h+(M?" ":"")+b.toUpperCase()}),kA=P5("toUpperCase");function SH(h,b,M){return h=Jn(h),b=M?n:b,b===n?Que(h)?ide(h):Vue(h):h.match(b)||[]}var CH=gn(function(h,b){try{return Ia(h,n,b)}catch(M){return TA(M)?M:new Xt(M)}}),kge=su(function(h,b){return ws(b,function(M){M=pc(M),iu(h,M,CA(h[M],h))}),h});function Mge(h){var b=h==null?0:h.length,M=Lt();return h=b?_r(h,function(V){if(typeof V[1]!="function")throw new xs(a);return[M(V[0]),V[1]]}):[],gn(function(V){for(var G=-1;++GF)return[];var M=q,V=ui(h,q);b=Lt(b),h-=q;for(var G=jM(V,b);++M0||b<0)?new In(M):(h<0?M=M.takeRight(-h):h&&(M=M.drop(h)),b!==n&&(b=ln(b),M=b<0?M.dropRight(-b):M.take(b-h)),M)},In.prototype.takeRightWhile=function(h){return this.reverse().takeWhile(h).reverse()},In.prototype.toArray=function(){return this.take(q)},dc(In.prototype,function(h,b){var M=/^(?:filter|find|map|reject)|While$/.test(b),V=/^(?:head|last)$/.test(b),G=J[V?"take"+(b=="last"?"Right":""):b],ne=V||/^find/.test(b);G&&(J.prototype[b]=function(){var he=this.__wrapped__,ve=V?[1]:arguments,Ee=he instanceof In,Ge=ve[0],qe=Ee||tn(he),Je=function(Cn){var Mn=G.apply(J,md([Cn],ve));return V&&ft?Mn[0]:Mn};qe&&M&&typeof Ge=="function"&&Ge.length!=1&&(Ee=qe=!1);var ft=this.__chain__,Rt=!!this.__actions__.length,Bt=ne&&!ft,dn=Ee&&!Rt;if(!ne&&qe){he=dn?he:new In(this);var zt=h.apply(he,ve);return zt.__actions__.push({func:eC,args:[Je],thisArg:n}),new Ss(zt,ft)}return Bt&&dn?h.apply(this,ve):(zt=this.thru(Je),Bt?V?zt.value()[0]:zt.value():zt)})}),ws(["pop","push","shift","sort","splice","unshift"],function(h){var b=E1[h],M=/^(?:push|sort|unshift)$/.test(h)?"tap":"thru",V=/^(?:pop|shift)$/.test(h);J.prototype[h]=function(){var G=arguments;if(V&&!this.__chain__){var ne=this.value();return b.apply(tn(ne)?ne:[],G)}return this[M](function(he){return b.apply(tn(he)?he:[],G)})}}),dc(In.prototype,function(h,b){var M=J[b];if(M){var V=M.name+"";rr.call(Mm,V)||(Mm[V]=[]),Mm[V].push({name:b,func:M})}}),Mm[q1(n,w).name]=[{name:"wrapper",func:n}],In.prototype.clone=Ode,In.prototype.reverse=Ide,In.prototype.value=kde,J.prototype.at=ohe,J.prototype.chain=ihe,J.prototype.commit=ahe,J.prototype.next=she,J.prototype.plant=che,J.prototype.reverse=uhe,J.prototype.toJSON=J.prototype.valueOf=J.prototype.value=dhe,J.prototype.first=J.prototype.head,_b&&(J.prototype[_b]=lhe),J},Om=ade();pp?((pp.exports=Om)._=Om,AM._=Om):Qo._=Om}).call(Bi)})(mO,mO.exports);var Lxt=mO.exports;function XN({callback:e}){const[t,n]=y.useState(null),[r,o]=y.useState(""),[i,a]=y.useState(!0),[s,l]=y.useState([]),[c,u]=Ue(),d=y.useMemo(()=>dk(f=>FDe(f,u.language,i).then(p=>l(p)),200),[u.language,i]);return y.useEffect(()=>{if(r===""){l(t?[t]:[]);return}return d(r),()=>{}},[t,r,d]),Q(Mt,{children:[C(oc,{id:"exercise-name-autocomplete",getOptionLabel:f=>f.value,"data-testid":"autocomplete",filterOptions:f=>f,options:s,autoComplete:!0,includeInputInList:!0,filterSelectedOptions:!0,value:t,noOptionsText:c("noResults"),isOptionEqualToValue:(f,p)=>f.value===p.value,onChange:(f,p)=>{l(p?[p,...s]:s),n(p),e(p)},onInputChange:(f,p)=>{o(p)},renderInput:f=>C(yn,{...f,label:c("exercises.searchExerciseName"),fullWidth:!0,InputProps:{...f.InputProps,startAdornment:Q(Mt,{children:[C(po,{position:"start",children:C(XB,{})}),f.InputProps.startAdornment]})}}),renderOption:(f,p)=>UY("li",{...f,key:`exercise${p.data.id}`,"data-testid":`autocompleter-result-${p.data.id}`},Q(ls,{disablePadding:!0,component:"div",children:[C(Gi,{children:p.data.image?C(ic,{alt:"",src:`${lj}${p.data.image}`,variant:"rounded"}):C(id,{fontSize:"large"})}),C(wo,{primary:p.value,primaryTypographyProps:{style:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},secondary:p.data.category})]}))}),u.language!==Gy&&C(LI,{children:C(Uy,{control:C(qf,{checked:i,onChange:(f,p)=>a(p)}),label:c("alsoSearchEnglish")})})]})}function Fxt(e){var d,f;const[t,n]=Y.useState(null),[r,o]=Y.useState(null),[i]=Ue(),a=dm(),s=()=>{o(null),n(null)},l=async()=>{var p;await BDe((p=e.currentExercise.getTranslation(e.currentLanguage))==null?void 0:p.id),e.onClose(),e.onChangeLanguage()},c=async(p=!1)=>{p?await GU(e.currentExercise.id,r==null?void 0:r.uuid):await GU(e.currentExercise.id),e.onClose(),a("../overview")},u=async p=>{const m=p!==void 0?p:t;if(m!==null)try{const g=await YI(m);o(g)}catch{o(null)}};return Q(Mt,{children:[C(rIe,{id:"alert-dialog-title",children:i("delete")}),Q(bZ,{children:[C("p",{children:i("exercises.deleteExerciseBody",{name:(d=e.currentExercise.getTranslation(e.currentLanguage))==null?void 0:d.name,language:(f=e.currentLanguage)==null?void 0:f.nameLong})}),C("p",{children:i("cannotBeUndone")}),C("p",{children:C("b",{children:i("exercises.replacements")})}),C("p",{children:i("exercises.replacementsInfoText")}),C("p",{children:i("exercises.replacementsSearch")}),C(XN,{callback:p=>{p!==null&&(n(p.data.base_id),u(p.data.base_id))}}),C(yn,{"data-testid":"exercise-id-field",id:"foo",label:"Exercise ID",onBlur:()=>u(),onChange:async p=>{n(p.target.value!==""?parseInt(p.target.value):null)},value:t??"",InputProps:{endAdornment:C(po,{position:"start",children:C(kn,{onClick:()=>u(),children:C(Gyt,{})})})},fullWidth:!0,variant:"standard"}),r===null&&C(Mt,{children:C("p",{children:C("i",{children:i("exercises.noReplacementSelected")})})}),r!==null&&Q(Mt,{children:[Q("p",{children:["Selected exercise for replacement:",C(ac,{title:i("copyToClipboard"),children:C(kn,{onClick:()=>navigator.clipboard.writeText(r.id.toString()),children:C(Xyt,{})})})]}),Q(ls,{disablePadding:!0,children:[C(XF,{children:C(ic,{children:r.mainImage?C(ic,{alt:"",src:`${lj}${r.mainImage.url}`,variant:"rounded"}):C(id,{})})}),C(wo,{primary:r.getTranslation().name,secondary:`${r.id} (${r.uuid})`}),C(kn,{onClick:s,children:C(Kyt,{})})]})]})]}),Q(vZ,{children:[C(gt,{onClick:()=>e.onClose(),children:i("cancel")}),C(gt,{"data-testid":"button-delete-translation",size:"small",onClick:l,variant:"contained",children:i("exercises.deleteTranslation")}),C(gt,{"data-testid":"button-delete-all",size:"small",onClick:()=>c(),variant:"contained",children:i("exercises.deleteExerciseFull")}),C(gt,{"data-testid":"button-delete-and-replace",size:"small",disabled:r===null,onClick:()=>c(!0),variant:"contained",children:i("exercises.deleteExerciseReplace")})]})]})}const jxt="_root_l288f_1",Bxt="_detail_language_l288f_4",zxt="_detail_l288f_4",Vxt="_detail_arrow_l288f_18",Hxt="_languages_l288f_28",Uxt="_language_l288f_28",Wxt="_language_menu_l288f_40",Gxt="_header_l288f_52",qxt="_toolbar_l288f_55",Kxt="_dots_l288f_68",Mp={root:jxt,detail_language:Bxt,detail:zxt,detail_arrow:Vxt,languages:Hxt,language:Uxt,language_menu:Wxt,header:Gxt,toolbar:qxt,dots:Kxt},Yxt=({exercise:e,languages:t,changeLanguage:n,language:r,setEditMode:o,editMode:i})=>{var T,E,O;const[a,s]=y.useState(null),[l,c]=Y.useState(!1),u=!!a,[d]=Ue(),f=fy(yh.DELETE_EXERCISE),p=fy(yh.EDIT_EXERCISE),m=Jc(),g=m.isSuccess&&m.data===null;let v=!1;m.isSuccess&&p.isSuccess&&(v=p.data||m.data!==null&&m.data.isTrustworthy);const w=k=>{s(k.currentTarget)},x=()=>{s(null)},S=k=>{n(k),x()},P=t.map(k=>Q(Yt,{onClick:()=>S(k),selected:(r==null?void 0:r.id)===k.id,children:[C(wo,{children:k.nameLong}),C(Gi,{children:e.availableLanguages.includes(k.id)?C(avt,{}):C(Ji,{})})]},k.nameShort));return C(Be,{container:!0,children:C(Be,{size:12,children:Q("div",{className:Mp.root,children:[C(yZ,{open:l,onClose:()=>c(!1),children:C(Fxt,{onClose:()=>c(!1),onChangeLanguage:()=>n(t[0]),currentExercise:e,currentLanguage:r})}),Q("div",{className:Mp.detail_language,children:[Q("div",{className:Mp.detail,children:[C(Zl,{to:"../overview",children:d("exercises.exercises")})," > ",(T=e.getTranslation(r))==null?void 0:T.name]}),C("div",{className:Mp.languages,children:Q("div",{className:Mp.language,children:[C(gt,{size:"small",id:"basic-button",onClick:w,startIcon:C(l1,{}),children:r==null?void 0:r.nameLong}),Q(ms,{id:"basic-menu",anchorEl:a,open:u,onClose:x,MenuListProps:{"aria-labelledby":"basic-button"},sx:{padding:20},children:[C(Yt,{disabled:!0,children:d("exercises.changeExerciseLanguage")}),C(ss,{}),P]})]})})]}),Q("div",{className:Mp.header,children:[C(ct,{gutterBottom:!0,variant:"h2",margin:0,sx:{mt:2},children:(E=e.getTranslation(r))==null?void 0:E.name}),!g&&Q("nav",{className:Mp.toolbar,children:[f.isSuccess&&f.data&&(r==null?void 0:r.id)===((O=e.getTranslation(r))==null?void 0:O.language)&&C(gt,{onClick:()=>c(!0),children:d("delete")}),v&&C(gt,{onClick:()=>o(!0),disabled:i,children:"EDIT"}),C(gt,{onClick:()=>o(!1),disabled:!i,children:"VIEW"})]})]}),Q(Gt,{direction:"row",spacing:1,mt:2,children:[C(kh,{label:d(Xi(e.category.name)),size:"small"}),e.equipment.map(k=>C(kh,{label:d(Xi(k.name)),variant:"outlined",size:"small"},k.id))]})]})})})},ni=()=>C(Rn,{sx:{height:40}}),Xxt=()=>{var g;const[e,t]=y.useState(),[n,r]=y.useState(),[o,i]=y.useState(!1),a=fm(),s=a.baseID?Lxt.parseInt(a.baseID):0;Ue();const l=dm(),c=lM(),u=Co({queryKey:[y_e,s],queryFn:()=>YI(s),enabled:c.isSuccess}),d=Co({queryKey:[g_e,(g=u.data)==null?void 0:g.variationId],queryFn:()=>{var v;return DDe((v=u.data)==null?void 0:v.variationId)},enabled:u.isSuccess});if(u.isError||c.isError||d.isError)return l("/not-found"),null;const f=v=>{var x;const w=Lee(v.nameShort,c.data);t(w),r((x=u.data)==null?void 0:x.getTranslation(v))},p=d.isSuccess?d.data.filter(v=>v.id!==s):[];let m;return u.isSuccess&&c.isSuccess&&(m=o?C(Axt,{exercise:u.data,language:e}):C(Nxt,{exercise:u.data,language:e,variations:p,setEditMode:i})),Q(Mt,{children:[u.isSuccess&&c.isSuccess&&C(Yu,{children:C(Yxt,{exercise:u.data,languages:c.data,changeLanguage:f,language:e,setEditMode:i,editMode:o})}),C(ni,{}),Q(Yu,{maxWidth:"lg",children:[u.isLoading&&c.isLoading&&C(Za,{}),m]})]})};function Tle(e){const[t]=Ue(),[n,r,o]=vl(e.fieldName),[i,a]=y.useState(""),s=u=>{o.setValue(n.value.filter((d,f)=>f!==u))},l=(u,d)=>{n.value[u]=d,o.setValue(n.value)},c=()=>{n.value.push(i),o.setValue(n.value),a("")};return Q(Mt,{children:[C(Be,{size:12,children:C(yn,{fullWidth:!0,label:t("exercises.newNote"),sx:{mb:3},variant:"standard",value:i,onChange:u=>a(u.target.value),error:r.touched&&!!r.error,helperText:r.touched&&r.error?r.error:t("exercises.notesHelpText"),InputProps:{endAdornment:C(po,{position:"end",children:C(kn,{onClick:c,children:C(Ji,{})})})}})}),n.value.map((u,d)=>C(yn,{fullWidth:!0,value:u,onChange:f=>l(d,f.target.value),sx:{mt:2},variant:"standard",error:r.touched&&!!r.error,InputProps:{endAdornment:C(po,{position:"end",children:C(kn,{onClick:()=>s(d),children:C(hz,{})})})}},d))]})}const Qxt=({onContinue:e,onBack:t})=>{const[n]=Ue(),[r,o]=Pb(),i=bl({description:Ez(n),notes:ble(n)});return C(yl,{initialValues:{description:r.descriptionEn,notes:r.notesEn},validationSchema:i,onSubmit:a=>{o(_wt(a.description)),o(Dwt(a.notes)),e()},children:C(gs,{children:Q(Gt,{children:[C(kz,{fieldName:"description"}),C(ni,{}),C(Tle,{fieldName:"notes"}),C(Be,{container:!0,children:C(Be,{display:"flex",justifyContent:"end",size:12,children:C(Rn,{sx:{mb:2},children:Q("div",{children:[C(gt,{onClick:t,sx:{mt:1,mr:1},children:n("goBack")}),C(gt,{variant:"contained",type:"submit",sx:{mt:1,mr:1},children:n("continue")})]})})})})]})})})},Jxt=({onContinue:e,onBack:t})=>{const[n]=Ue(),r=lM(),[o,i]=Pb(),[a,s]=y.useState(o.languageId!==null),l=bl(a?{description:Ez(n),name:Pz(n),alternativeNames:Tz(n),notes:ble(n),language:pa().required()}:{});return C(yl,{initialValues:{name:o.nameI18n,alternativeNames:o.alternativeNamesI18n,description:o.descriptionI18n,language:o.languageId===null?"":o.languageId,notes:o.notesI18n},validationSchema:l,onSubmit:c=>{i(Lwt(c.name)),i(Fwt(c.description)),i(Bwt(c.alternativeNames)),i(qwt(c.language===""?null:c.language)),i(jwt(c.notes)),e()},children:c=>Q(gs,{children:[Q(Gt,{spacing:2,children:[C(LI,{children:C(Uy,{checked:a,onClick:()=>s(!a),control:C(qf,{}),label:n("exercises.translateExerciseNow")})}),a&&Q(Mt,{children:[r.isLoading?C(Rn,{children:C(Za,{})}):Q(qh,{fullWidth:!0,children:[C(Kh,{id:"label-language",children:n("language")}),C(Gf,{labelId:"label-language",id:"language",value:c.getFieldProps("language").value,onChange:u=>{c.setFieldValue(c.getFieldProps("language").name,u.target.value)},label:n("language"),error:!!(c.touched.language&&c.errors.language),children:r.data.filter(u=>u.id!==Wy).map(u=>Q(Yt,{value:u.id,children:[u.nameShort," - ",u.nameLong]},u.id))})]}),C(Cz,{fieldName:"name"}),C(Sz,{fieldName:"alternativeNames"}),C(kz,{fieldName:"description"}),C(ni,{}),C(Tle,{fieldName:"notes"})]})]}),C(Be,{container:!0,children:C(Be,{display:"flex",justifyContent:"end",size:12,children:C(Rn,{sx:{mb:2},children:Q("div",{children:[C(gt,{onClick:t,sx:{mt:1,mr:1},children:n("goBack")}),C(gt,{variant:"contained",type:"submit",sx:{mt:1,mr:1},children:n("continue")})]})})})})]})})};function Zxt(e){const[t]=Ue(),[n,r]=vl(e.fieldName);return C(yn,{fullWidth:!0,id:e.fieldName,label:t("licenses.authors"),variant:"standard",error:r.touched&&!!r.error,helperText:r.touched&&r.error,...n})}function eSt(e){const[t]=Ue(),[n,r]=vl(e.fieldName);return C(yn,{fullWidth:!0,id:e.fieldName,label:t("licenses.authorProfile"),variant:"standard",placeholder:"https://",error:r.touched&&!!r.error,helperText:r.touched&&r.error,...n})}function tSt(e){const[t]=Ue(),[n,r]=vl(e.fieldName);return C(yn,{fullWidth:!0,id:e.fieldName,label:t("licenses.derivativeSourceUrl"),variant:"standard",placeholder:"https://",error:r.touched&&!!r.error,helperText:t("licenses.derivativeSourceUrlHelper")||r.touched&&r.error,...n})}function nSt(e){const[t]=Ue(),[n,r]=vl(e.fieldName);return C(yn,{fullWidth:!0,id:e.fieldName,label:t("licenses.originalObjectUrl"),variant:"standard",placeholder:"https://",error:r.touched&&!!r.error,helperText:r.touched&&r.error,...n})}function rSt(e){const[t]=Ue(),[n,r]=vl(e.fieldName);return C(yn,{fullWidth:!0,id:e.fieldName,label:t("licenses.originalTitle"),variant:"standard",error:r.touched&&!!r.error,helperText:r.touched&&r.error,...n})}function oSt(e){const[t]=Ue(),[n,r]=y.useState(xu.PHOTO),[o,i,a]=vl(e.fieldName);return Q(iRe,{value:n,exclusive:!0,fullWidth:!0,onChange:(l,c)=>{r(c),a.setValue(c)},"aria-label":"text alignment",children:[C(c0,{value:xu.PHOTO,children:Q(Gt,{justifyContent:"center",alignItems:"center",children:[C(ivt,{}),C(ct,{variant:"caption",children:t("exercises.imageStylePhoto")})]})}),C(c0,{value:xu.THREE_D,children:Q(Gt,{justifyContent:"center",alignItems:"center",children:[C(evt,{}),C(ct,{variant:"caption",children:t("exercises.imageStyle3D")})]})}),C(c0,{value:xu.LINE_ART,children:Q(Gt,{justifyContent:"center",alignItems:"center",children:[C(tvt,{}),C(ct,{variant:"caption",children:t("exercises.imageStyleLine")})]})}),C(c0,{value:xu.LOW_POLY,children:Q(Gt,{justifyContent:"center",alignItems:"center",children:[C(nvt,{}),C(ct,{variant:"caption",children:t("exercises.imageStyleLowPoly")})]})}),C(c0,{value:xu.OTHER,children:Q(Gt,{justifyContent:"center",alignItems:"center",children:[C(rvt,{}),C(ct,{variant:"caption",children:t("exercises.imageStyleOther")})]})})]})}const iSt=({onContinue:e,onBack:t})=>{const[n]=Ue(),r=Jc(),[o,i]=Pb(),[a,s]=y.useState(o.images),[l,c]=y.useState(void 0),[u,d]=Y.useState(!1),f=()=>d(!1);y.useEffect(()=>{i(Kwt(a))},[i,a]);const p=x=>{var T;if(!((T=x.target.files)!=null&&T.length))return;const[S]=x.target.files,P=URL.createObjectURL(S);d(!0),c({url:P,file:S,author:"",authorUrl:"",title:"",derivativeSourceUrl:"",objectUrl:"",style:xu.PHOTO.toString()})},m=x=>{s(a.concat({url:l==null?void 0:l.url,file:l==null?void 0:l.file,author:x.author,authorUrl:x.authorUrl,title:x.title,derivativeSourceUrl:x.derivativeSourceUrl,objectUrl:x.objectUrl,style:x.imageStyle.toString()})),f()},g=x=>{const S=a.filter(P=>P.url!==x);s(S)},v=()=>{e()};return Q("div",{children:[C(Bv,{open:u,onClose:f,"aria-labelledby":"modal-modal-title","aria-describedby":"modal-modal-description",children:Q(Rn,{sx:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:600,bgcolor:"background.paper",boxShadow:24,p:4},children:[C(ct,{id:"modal-modal-title",variant:"h6",component:"h2",children:n("exercises.imageDetails")}),Q(Be,{container:!0,spacing:2,children:[C(Be,{size:4,children:l&&C("img",{style:{width:"100%"},src:l.url,alt:"",loading:"lazy"})}),C(Be,{size:8,children:C(yl,{initialValues:{title:"",objectUrl:"",author:r.isSuccess?r.data.username:"",authorUrl:"",derivativeSourceUrl:"",imageStyle:xu.PHOTO},onSubmit:x=>{console.log(x),m(x)},children:x=>Q(gs,{children:[Q(Gt,{spacing:2,children:[C(rSt,{fieldName:"title"}),C(nSt,{fieldName:"objectUrl"}),C(Zxt,{fieldName:"author"}),C(eSt,{fieldName:"authorUrl"}),C(tSt,{fieldName:"derivativeSourceUrl"}),C(oSt,{fieldName:"imageStyle"}),Q(qu,{icon:C(Dse,{fontSize:"inherit"}),severity:"info",children:["By submitting this image, you agree to release it under the ",C("a",{href:"https://creativecommons.org/licenses/by-sa/4.0/",target:"_blank",rel:"noreferrer",children:"CC BY-SA 4.0"})," license. The image must be either your own work or the author must have released in under a license compatible with CC BY-SA 4.0."]})]}),C(Gt,{direction:"row",justifyContent:"end",sx:{mt:2},children:C(gt,{color:"primary",variant:"contained",type:"submit",sx:{mt:2},children:n("add")})})]})})})]})]})}),C(ct,{children:n("exercises.compatibleImagesCC")}),Q(Gt,{direction:"row",justifyContent:"center",children:[Q("div",{children:[C("label",{htmlFor:"camera-input",children:C(qyt,{fontSize:"large",sx:{m:2}})}),C("input",{style:{display:"none"},id:"camera-input",type:"file",accept:"image/*",capture:"environment",onChange:p})]}),Q("div",{children:[C("label",{htmlFor:"image-input",children:C(Yyt,{fontSize:"large",sx:{m:2}})}),C("input",{type:"file",accept:"image/*",name:"image-file",id:"image-input",style:{display:"none"},onChange:p})]})]}),C(CZ,{cols:3,style:{maxHeight:"400px"},children:a.map(x=>Q(PZ,{children:[C("img",{style:{maxHeight:"400px",maxWidth:"400px"},src:x.url,alt:"",loading:"lazy"}),C(nke,{title:x.title,subtitle:x.author,actionIcon:C(kn,{onClick:()=>g(x.url),sx:{color:"white"},children:C(Qyt,{})})})]},x.url))}),C(ct,{children:n("forms.supportedImageFormats")}),C(Be,{container:!0,children:C(Be,{display:"flex",justifyContent:"end",size:12,children:C(Rn,{sx:{mb:2},children:Q(Mt,{children:[C(gt,{onClick:t,sx:{mt:1,mr:1},children:n("goBack")}),C(gt,{variant:"contained",onClick:v,sx:{mt:1,mr:1},children:n("continue")})]})})})})]})},aSt="exercisecomment",cq=async e=>{const t=new Aee,n=Pt(aSt),r=await dt.post(n,t.toJson(e),{headers:kt()});return t.fromJson(r.data)},sSt="variation",lSt=async()=>{const e=Pt(sSt);return(await dt.post(e,{},{headers:kt()})).data.id},cSt=({onBack:e})=>{const[t,n]=Ue(),[r]=Pb(),o=dm(),i=aM(),a=lM(),s=d1(),l=sM(),c=Jc(),[u,d]=y.useState("initial"),f=async()=>{d("loading");let m;r.newVariationBaseId!==null?m=await lSt():m=r.variationId;const g=await NDe(r.category,r.equipment,r.muscles,r.musclesSecondary,m,c.data.username),v=await D_(g,Wy,r.nameEn,r.descriptionEn,c.data.username);for(const w of r.alternativeNamesEn)await N_(v.id,w);for(const w of r.images)await jee({exerciseId:g,image:w.file,imageData:w});for(const w of r.notesEn)await cq(new __(null,v.id,w));if(r.languageId!==null){const w=await D_(g,r.languageId,r.nameI18n,r.descriptionI18n,c.data.username);for(const x of r.alternativeNamesI18n)await N_(w.id,x);for(const x of r.notesI18n)await cq(new __(null,w.id,x))}console.log("Exercise created"),d("done")},p=()=>{o(Tn(Sn.EXERCISE_OVERVIEW,n.language))};return l.isLoading||a.isLoading||s.isLoading||i.isLoading?C(Po,{}):Q(Mt,{children:[C(ct,{variant:"h6",children:t("exercises.step1HeaderBasics")}),C(Ju,{children:C(Xu,{children:Q(Qu,{children:[Q(Qt,{children:[C(ke,{children:t("name")}),C(ke,{children:r.nameEn})]}),Q(Qt,{children:[C(ke,{children:t("exercises.alternativeNames")}),C(ke,{children:r.alternativeNamesEn.join(", ")})]}),Q(Qt,{children:[C(ke,{children:t("description")}),C(ke,{children:r.descriptionEn})]}),Q(Qt,{children:[C(ke,{children:t("exercises.notes")}),C(ke,{children:r.notesEn.map(m=>Q(Mt,{children:[m,C("br",{})]}))})]}),Q(Qt,{children:[C(ke,{children:t("category")}),C(ke,{children:t(Xi(i.data.find(m=>m.id===r.category).name))})]}),Q(Qt,{children:[C(ke,{children:t("exercises.equipment")}),C(ke,{children:r.equipment.map(m=>t(Xi(l.data.find(g=>g.id===m).name))).join(", ")})]}),Q(Qt,{children:[C(ke,{children:t("exercises.muscles")}),C(ke,{children:r.muscles.map(m=>s.data.find(g=>g.id===m).getName(t)).join(", ")})]}),Q(Qt,{children:[C(ke,{children:t("exercises.secondaryMuscles")}),C(ke,{children:r.musclesSecondary.map(m=>s.data.find(g=>g.id===m).getName(t)).join(", ")})]}),Q(Qt,{children:[C(ke,{children:t("exercises.variations")}),Q(ke,{children:[r.variationId," / ",r.newVariationBaseId]})]})]})})}),r.images.length>0&&C(CZ,{cols:3,style:{maxHeight:"200px"},children:r.images.map(m=>C(PZ,{children:C("img",{style:{maxHeight:"200px",maxWidth:"200px"},src:m.url,alt:"",loading:"lazy"})},m.url))}),r.languageId!==null&&Q(Mt,{children:[C(ct,{variant:"h6",sx:{mt:3},children:a.data.find(m=>m.id===r.languageId).nameLong}),C(Ju,{children:C(Xu,{children:Q(Qu,{children:[Q(Qt,{children:[C(ke,{children:t("name")}),C(ke,{children:r.nameI18n})]}),Q(Qt,{children:[C(ke,{children:t("exercises.alternativeNames")}),C(ke,{children:r.alternativeNamesI18n.join(", ")})]}),Q(Qt,{children:[C(ke,{children:t("description")}),C(ke,{children:r.descriptionI18n})]}),Q(Qt,{children:[C(ke,{children:t("exercises.notes")}),C(ke,{children:r.notesI18n.map(m=>Q(Mt,{children:[m,C("br",{})]}))})]})]})})})]}),u!=="done"?C(qu,{severity:"info",sx:{mt:2},children:t("exercises.checkInformationBeforeSubmitting")}):Q(qu,{severity:"success",sx:{mt:2},children:[C(BT,{children:t("success")}),t("exercises.cacheWarning")]}),C(Be,{container:!0,children:C(Be,{display:"flex",justifyContent:"end",size:12,children:C(Rn,{sx:{mb:2},children:Q("div",{children:[u!=="done"&&C(gt,{onClick:e,sx:{mt:1,mr:1},children:t("goBack")}),u!=="done"&&C(gt,{variant:"contained",disabled:u!=="initial",onClick:f,sx:{mt:1,mr:1},color:"info",children:t("exercises.submitExercise")}),u==="done"&&Q(gt,{variant:"contained",onClick:p,sx:{mt:1,mr:1},color:"success",children:[t("overview"),C(ovt,{})]})]})})})})]})},uSt=()=>{const[e]=Ue(),[t,n]=Y.useState(0),r=()=>{n(i=>i+1)},o=()=>{n(i=>i-1)};return C(Xwt,{children:Q(Yu,{maxWidth:"md",children:[C(Gt,{direction:"row",children:C(ct,{gutterBottom:!0,variant:"h3",component:"div",children:e("exercises.contributeExercise")})}),C(Rn,{children:Q(jAe,{activeStep:t,orientation:"vertical",children:[Q(Wm,{children:[C(Nd,{children:e("exercises.step1HeaderBasics")}),C(Gm,{children:C(Qwt,{onContinue:r,onBack:o})})]},1),Q(Wm,{children:[C(Nd,{children:e("exercises.variations")}),C(Gm,{children:C(Zwt,{onContinue:r,onBack:o})})]},2),Q(Wm,{children:[C(Nd,{children:e("description")}),C(Gm,{children:C(Qxt,{onContinue:r,onBack:o})})]},3),Q(Wm,{children:[C(Nd,{children:e("translation")}),C(Gm,{children:C(Jxt,{onContinue:r,onBack:o})})]},4),Q(Wm,{children:[C(Nd,{children:e("images")}),C(Gm,{children:C(iSt,{onContinue:r,onBack:o})})]},5),Q(Wm,{children:[C(Nd,{children:e("overview")}),C(Gm,{children:C(cSt,{onBack:o})})]},6)]})})]})})},dSt=()=>{const[e]=Ue(),t=Mz();return Q(Yu,{maxWidth:"md",children:[C(ct,{variant:"h3",children:e("exercises.notEnoughRightsHeader")}),Q(Rn,{marginTop:4,padding:4,sx:{width:"100%",backgroundColor:"#ebebeb",textAlign:"center"},children:[C(ct,{mb:2,children:e("exercises.notEnoughRights",{days:d_e})}),!t.anonymous&&!t.emailVerified&&C(gt,{variant:"contained",href:"/user/preferences",endIcon:C(Wyt,{}),children:e("preferences")})]})]})},fSt=()=>{const e=Mz();return C(Mt,{children:e.canContribute?C(uSt,{}):C(dSt,{})})},pSt=()=>C("div",{children:"Add Weight Page"}),hSt=()=>C("div",{children:"Calendar Page"}),mSt=()=>C("div",{children:"Calories Calculator Page"}),gSt=()=>C("div",{children:"Equipments Page"}),ySt=()=>C("div",{children:"Gallery Page"}),vSt=()=>C("div",{children:"Ingredients Page"}),bSt=()=>C("div",{children:"Login Page"}),wSt=()=>C("div",{children:"Preferences Page"}),xSt=()=>C("div",{children:"Public Template"}),SSt=()=>C("div",{children:"RestApi Page"}),CSt=()=>C("div",{children:"Your Template"}),PSt=({weight:e})=>{const t=mbt(),[n]=Ue(),[r,o]=Y.useState(null),[i,a]=Y.useState(!1),s=!!r,l=m=>{o(m.currentTarget)},c=()=>{u(),f()},u=()=>{o(null)},d=()=>{t.mutate(e.id),o(null)},f=()=>a(!0),p=()=>a(!1);return Q("div",{children:[C(gt,{onClick:l,children:C(Uyt,{})}),Q(ms,{anchorEl:r,open:s,onClose:u,MenuListProps:{"aria-labelledby":"basic-button"},children:[C(Yt,{onClick:c,children:n("edit")}),C(Yt,{onClick:d,children:n("delete")})]}),C(ta,{title:n("edit"),isOpen:i,closeFn:p,children:C(Sb,{weightEntry:e,closeFn:p})})]})},TSt=()=>{const[e]=Ue(),[t,n]=Y.useState(!1),r=()=>n(!0),o=()=>n(!1);return Q("div",{children:[C(Gh,{color:"primary","aria-label":"add",onClick:r,sx:{position:"fixed",bottom:"5rem",right:i=>i.spacing(2),zIndex:9},children:C(Ji,{})}),C(ta,{title:e("add"),isOpen:t,closeFn:o,children:C(Sb,{closeFn:o})})]})},ESt=e=>e.map((t,n)=>n===0?{entry:t,change:0,days:Math.abs(t.date.getTime()-t.date.getTime())/(1e3*60*60*24)}:{entry:t,change:e[n].weight-e[n-1].weight,days:Math.abs(t.date.getTime()-e[n-1].date.getTime())/(1e3*60*60*24)}),OSt=hle(e=>({table:{"& .MuiPaper-root":{border:"1px solid #bababa"}}})),ISt=({weights:e})=>{const t=[10,50,100],[n]=Ue(),r=OSt(),o=ESt(e),[i,a]=y.useState(t[0]),[s,l]=y.useState(0),c=(d,f)=>{l(f)},u=d=>{a(parseInt(d.target.value,10)),l(0)};return Q("div",{className:r.table,children:[Q(Ju,{children:[Q(Xu,{sx:{minWidth:650},"aria-label":"simple table",children:[C(Yh,{children:Q(Qt,{children:[C(ke,{align:"center",children:n("date")}),C(ke,{align:"center",children:n("weight")}),C(ke,{align:"center",children:n("difference")}),C(ke,{align:"center",children:n("days")}),C(ke,{align:"center"})]})}),C(Qu,{children:o.slice(s*i,s*i+i).map(d=>Q(Qt,{sx:{"&:last-child td, &:last-child th":{border:0}},children:[C(ke,{component:"th",scope:"row",align:"center",children:d.entry.date.toLocaleDateString()}),C(ke,{align:"center",children:d.entry.weight}),C(ke,{align:"center",children:+d.change.toFixed(2)}),C(ke,{align:"center",children:d.days}),C(ke,{align:"center",children:C(PSt,{weight:d.entry})})]},d.entry.date.toLocaleDateString()))})]}),C(ZF,{rowsPerPageOptions:t,component:"div",count:o.length,rowsPerPage:i,page:s,onPageChange:c,onRowsPerPageChange:u})]}),C(TSt,{})]})},kSt=()=>{const[e]=Ue(),[t,n]=y.useState(!1),r=()=>n(!0),o=()=>n(!1);return Q("div",{children:[C(Gh,{color:"secondary","aria-label":"add",onClick:r,sx:{position:"fixed",bottom:"5rem",right:i=>i.spacing(2),zIndex:9},children:C(Ji,{})}),C(ta,{title:e("add"),isOpen:t,closeFn:o,children:C(Sb,{closeFn:o})})]})},MSt=({currentFilter:e,onFilterChange:t})=>{const[n]=Ue(),r=Ei(),o=i=>{e!==i&&t(i)};return Q(kEe,{variant:"outlined",sx:{mb:2},children:[C(gt,{onClick:()=>o(""),color:e===""?"primary":"inherit",variant:e===""?"contained":"outlined",sx:{fontFamily:r.typography.fontFamily},children:n("all")}),C(gt,{onClick:()=>o("lastYear"),color:e==="lastYear"?"primary":"inherit",variant:e==="lastYear"?"contained":"outlined",sx:{fontFamily:r.typography.fontFamily},children:n("lastYear")}),C(gt,{onClick:()=>o("lastHalfYear"),color:e==="lastHalfYear"?"primary":"inherit",variant:e==="lastHalfYear"?"contained":"outlined",sx:{fontFamily:r.typography.fontFamily},children:n("lastHalfYear")}),C(gt,{onClick:()=>o("lastMonth"),color:e==="lastMonth"?"primary":"inherit",variant:e==="lastMonth"?"contained":"outlined",sx:{fontFamily:r.typography.fontFamily},children:n("lastMonth")}),C(gt,{onClick:()=>o("lastWeek"),color:e==="lastWeek"?"primary":"inherit",variant:e==="lastWeek"?"contained":"outlined",sx:{fontFamily:r.typography.fontFamily},children:n("lastWeek")})]})},pm=e=>Q(Yu,{maxWidth:"lg",children:[Q(Be,{container:!0,spacing:2,children:[C(Be,{sx:{mb:2},size:8,children:Q(Gt,{direction:"row",justifyContent:"space-between",alignItems:"center",children:[C(ct,{gutterBottom:!0,variant:"h3",children:e.title}),e.optionsMenu]})}),C(Be,{size:{xs:12,sm:8},children:e.mainContent}),C(Be,{size:{xs:12,sm:4},children:e.sideBar})]}),e.fab]}),ASt=()=>{const[e]=Ue(),[t,n]=y.useState("lastYear"),r=oM(t),o=i=>{n(i)};return r.isLoading?C(Po,{}):C(pm,{title:e("weight"),mainContent:Q(Gt,{spacing:2,children:[C(MSt,{currentFilter:t,onFilterChange:o}),r.data.length===0&&C(zI,{}),r.data.length!==0&&Q(Mt,{children:[C(mle,{weights:r.data}),C(Rn,{sx:{mt:4}}),C(ISt,{weights:r.data})]})]}),fab:C(kSt,{})})},$St=()=>{const{i18n:e}=Ue(),[t,n]=Y.useState(null);return Q(Mt,{children:[C(gt,{color:"inherit",onClick:r=>n(r.currentTarget),children:"Routines"}),Q(ms,{anchorEl:t,open:!!t,onClose:()=>n(null),children:[C(Yt,{component:Zl,to:Tn(Sn.ROUTINE_OVERVIEW,e.language),children:"Routine overview"}),C(Yt,{component:Zl,to:Tn(Sn.EXERCISE_OVERVIEW,e.language),children:"Exercise overview"}),C(Yt,{component:Zl,to:Tn(Sn.EXERCISE_CONTRIBUTE,e.language),children:"Contribute exercise"})]})]})},RSt=()=>{const{i18n:e}=Ue(),[t,n]=Y.useState(null);return Q(Mt,{children:[C(gt,{color:"inherit",onClick:r=>n(r.currentTarget),children:"Weight"}),Q(ms,{anchorEl:t,open:!!t,onClose:()=>n(null),children:[C(Yt,{component:Zl,to:Tn(Sn.WEIGHT_OVERVIEW,e.language),children:"Weight overview"}),C(Yt,{component:Zl,to:Tn(Sn.WEIGHT_ADD,e.language),children:"Add weight entry"})]})]})},_St=()=>{const{i18n:e}=Ue(),[t,n]=Y.useState(null);return Q(Mt,{children:[C(gt,{color:"inherit",onClick:r=>n(r.currentTarget),children:"Measurements"}),C(ms,{anchorEl:t,open:!!t,onClose:()=>n(null),children:C(Yt,{component:Zl,to:Tn(Sn.MEASUREMENT_OVERVIEW,e.language),children:"Overview"})})]})},DSt=()=>{const{i18n:e}=Ue(),[t,n]=Y.useState(null);return Q(Mt,{children:[C(gt,{color:"inherit",onClick:r=>n(r.currentTarget),children:"Nutrition"}),C(ms,{anchorEl:t,open:!!t,onClose:()=>n(null),children:C(Yt,{component:Zl,to:Tn(Sn.NUTRITION_OVERVIEW,e.language),children:"Overview"})})]})},NSt=()=>C(JCe,{position:"static",children:Q(NZ,{children:[C(ct,{variant:"h6",component:"div",mr:3,children:"wger"}),C($St,{}),C(RSt,{}),C(_St,{}),C(DSt,{})]})}),Ele=()=>C(ASt,{}),LSt=()=>C("div",{children:"Workout Page"}),FSt=()=>C("div",{children:"Workout Schedule"});var ud,uq=MI;ud=uq.createRoot,uq.hydrateRoot;const jSt=()=>Q(Be,{container:!0,spacing:2,children:[C(Be,{size:4,children:C(Qse,{})}),C(Be,{size:4,children:C(Ase,{})}),C(Be,{size:4,children:C(gle,{})})]}),f1=y.createContext({}),Ole=()=>{const{data:e,isLoading:t}=aM(),{selectedCategories:n,setSelectedCategories:r}=y.useContext(f1),[o]=Ue(),i=a=>()=>{const s=n.indexOf(a),l=[...n];s===-1?l.push(a):l.splice(s,1),r(l)};return t?C(Po,{}):C(pl,{children:e.map(a=>{const s=`checkbox-list-label-${a.id}`;return C(ls,{disablePadding:!0,children:Q(Wf,{role:void 0,onClick:i(a),dense:!0,children:[C(Gi,{children:C(qf,{edge:"start",checked:n.indexOf(a)!==-1,tabIndex:-1,disableRipple:!0,inputProps:{"aria-labelledby":s}},`category-${a.id}`)}),C(wo,{id:s,primary:o(Xi(a.name))})]})},a.id)})})},BSt=()=>{const[e]=Ue();return Q(LF,{children:[C(jF,{expandIcon:C(zv,{}),children:e("category")}),C(FF,{children:C(Ole,{})})]})},zSt=()=>{const[e]=Ue();return C("div",{"data-testid":"categories",children:Q(uo,{children:[C(ct,{gutterBottom:!0,variant:"h6",m:2,children:e("category")}),C(Ole,{})]})})},Ile=()=>{const{data:e,isLoading:t}=sM(),{selectedEquipment:n,setSelectedEquipment:r}=y.useContext(f1),[o]=Ue(),i=a=>()=>{const s=n.indexOf(a),l=[...n];s===-1?l.push(a):l.splice(s,1),r(l)};return t?C(Po,{}):C(pl,{sx:{maxHeight:"500px",overflowY:"auto"},children:e.map(a=>{const s=`checkbox-list-label-${a.id}`;return C(ls,{disablePadding:!0,children:Q(Wf,{role:void 0,onClick:i(a),dense:!0,children:[C(Gi,{children:C(qf,{edge:"start",checked:n.indexOf(a)!==-1,tabIndex:-1,disableRipple:!0,inputProps:{"aria-labelledby":s}},`muscle-${a.id}`)}),C(wo,{id:s,primary:o(Xi(a.name))})]})},a.id)})})},VSt=()=>{const[e]=Ue();return Q(LF,{children:[C(jF,{expandIcon:C(zv,{}),children:e("exercises.equipment")}),C(FF,{children:C(Ile,{})})]})},HSt=()=>{const[e]=Ue();return C("div",{"data-testid":"equipment",children:Q(uo,{sx:{mt:2},children:[C(ct,{gutterBottom:!0,variant:"h6",m:2,children:e("exercises.equipment")}),C(Ile,{})]})})},USt=oe(({className:e,...t})=>C(ac,{...t,classes:{popper:e}}))(({theme:e})=>({[`& .${zr.tooltip}`]:{backgroundColor:"rgb(245, 245, 245)",color:"rgba(0, 0, 0, 0.87)",boxShadow:e.shadows[1],fontSize:11}})),kle=()=>{const{data:e,isLoading:t}=d1(),{selectedMuscles:n,setSelectedMuscles:r}=y.useContext(f1),[o]=Ue(),i=a=>()=>{const s=n.indexOf(a),l=[...n];s===-1?l.push(a):l.splice(s,1),r(l)};return t?C(Po,{}):C(pl,{sx:{maxHeight:"500px",overflowY:"auto"},children:e.map(a=>{const s=`checkbox-list-label-${a.id}`;return C(ls,{disablePadding:!0,secondaryAction:C(USt,{title:C(Fh,{primaryMuscles:[a],secondaryMuscles:[],isFront:a.isFront}),placement:"right",arrow:!0,children:C(kn,{edge:"end","aria-label":"comments",children:C(Nse,{})})}),children:Q(Wf,{role:void 0,onClick:i(a),dense:!0,children:[C(Gi,{children:C(qf,{edge:"start",checked:n.indexOf(a)!==-1,tabIndex:-1,disableRipple:!0,inputProps:{"aria-labelledby":s}},`muscle-${a.id}`)}),C(wo,{id:s,primary:a.name,secondary:a.nameEn!==""?o(Xi(a.nameEn)):""})]})},a.id)})})},WSt=()=>{const[e]=Ue();return Q(LF,{children:[C(jF,{expandIcon:C(zv,{}),children:e("exercises.muscles")}),C(FF,{children:C(kle,{})})]})},GSt=()=>{const[e]=Ue();return C("div",{"data-testid":"muscles",children:Q(uo,{sx:{mt:2},children:[C(ct,{gutterBottom:!0,variant:"h6",m:2,children:e("exercises.muscles")}),C(kle,{})]})})},qSt=({exercises:e})=>{const t=lM(),[n,r]=Ue();let o;return t.isSuccess&&(o=Lee(r.language,t.data)),C(Be,{container:!0,spacing:1,children:e.map(i=>C(Be,{sx:{display:"flex"},size:{xs:6,md:4},children:C(Ple,{exercise:i,language:o})},i.id))})},KSt=()=>C(Be,{container:!0,spacing:1,children:Array.apply(null,Array(21)).map((e,t)=>C(Be,{sx:{display:"flex"},size:4,children:Q(Do,{children:[C(Vc,{children:C(BP,{variant:"rectangular",width:250,height:150})}),C(xa,{children:Q(Rn,{sx:{pt:.5},children:[C(BP,{width:"60%"}),C(BP,{})]})})]})},t))}),YSt=({children:e})=>{const[t]=Ue(),[n,r]=y.useState(!1),o=i=>()=>{r(i)};return Q(Mt,{children:[C(gt,{onClick:o(!0),children:C(Zyt,{})}),Q(yIe,{open:n,onClose:o(!1),anchor:"right",children:[Q(Gt,{direction:"row",justifyContent:"space-between",alignItems:"center",children:[C(ct,{gutterBottom:!0,variant:"h6",m:2,children:t("filters")}),C(gt,{onClick:o(!1),children:C($S,{})})]}),C(ss,{}),e]})]})},XSt=()=>{const[e,t]=Ue();return Q(Rn,{marginTop:4,padding:4,sx:{width:"100%",backgroundColor:"#ebebeb",textAlign:"center"},children:[C(ct,{gutterBottom:!0,variant:"h4",component:"div",children:e("exercises.missingExercise")}),C(ct,{gutterBottom:!0,variant:"body1",component:"div",children:e("exercises.missingExerciseDescription")}),C(Zl,{to:Tn(Sn.EXERCISE_CONTRIBUTE,t.language),children:e("exercises.contributeExercise")})]})},QSt=()=>{const e=wle(),[t,n]=Ue(),r=dm(),{selectedCategories:o,selectedEquipment:i,selectedMuscles:a}=y.useContext(f1),s=yS("(max-width:600px)"),[l,c]=Y.useState(1),u=(v,w)=>{c(w),window.scrollTo({top:0,behavior:"smooth"})};let d=y.useMemo(()=>{let v=e.data||[];return o.length>0&&(v=v.filter(w=>o.some(x=>w.category.id===x.id))),i.length>0&&(v=v.filter(w=>w.equipment.some(x=>i.some(S=>S.id===x.id)))),a.length>0&&(v=v.filter(w=>w.muscles.some(x=>a.some(S=>S.id===x.id)))),v},[e.data,o,i,a]);const f=21,p=Math.ceil(d.length/f),m=d.slice((l-1)*f,l*f),g=v=>{r(Tn(Sn.EXERCISE_DETAIL,n.language,{id:v.data.base_id}))};return C(Yu,{maxWidth:"lg",children:Q(Be,{container:!0,spacing:2,mt:2,children:[C(Be,{size:{xs:10,sm:6},children:C(ct,{gutterBottom:!0,variant:"h3",component:"div",children:t("exercises.exercises")})}),s?Q(Mt,{children:[C(Be,{size:{xs:2,sm:6},children:C(gt,{variant:"contained",onClick:()=>r(Tn(Sn.EXERCISE_CONTRIBUTE,n.language)),children:C(Ji,{})})}),C(Be,{flexGrow:1,size:{sm:6},children:C(XN,{callback:g})}),C(Be,{display:"flex",justifyContent:"center",alignItems:"center",size:{xs:2,sm:6},children:Q(YSt,{children:[C(BSt,{}),C(VSt,{}),C(WSt,{})]})})]}):Q(Mt,{children:[C(Be,{size:{xs:12,sm:3},children:C(XN,{callback:g})}),C(Be,{size:{xs:12,sm:3},children:C(gt,{variant:"contained",startIcon:C(Ji,{}),onClick:()=>r(Tn(Sn.EXERCISE_CONTRIBUTE,n.language)),children:t("exercises.contributeExercise")})})]}),!s&&C(Be,{size:{xs:12,sm:3},children:Q(Be,{container:!0,spacing:1,children:[C(Be,{size:{xs:6,sm:12},children:C(zSt,{})}),C(Be,{size:{xs:6,sm:12},children:C(HSt,{})}),C(Be,{size:12,children:C(GSt,{})})]})}),Q(Be,{size:{xs:12,sm:9},children:[e.isLoading?C(KSt,{}):Q(Mt,{children:[C(qSt,{exercises:m}),C(Gt,{spacing:2,alignItems:"center",sx:{mt:2},children:C(RMe,{count:p,color:"primary",page:l,onChange:u})})]}),C(XSt,{})]})]})})},dq=()=>{const[e,t]=y.useState([]),[n,r]=y.useState([]),[o,i]=Y.useState([]);return C(f1.Provider,{value:{selectedEquipment:e,setSelectedEquipment:t,selectedMuscles:n,setSelectedMuscles:r,selectedCategories:o,setSelectedCategories:i},children:C(QSt,{})})};function JSt(){return Co({queryKey:[Wv],queryFn:xNe})}const ZSt=()=>{const e=qr();return co({mutationFn:t=>CNe(t),onSuccess:()=>e.invalidateQueries({queryKey:[Wv]})})},e1t=e=>{const t=qr();return co({mutationFn:n=>PNe(n),onSuccess:()=>{t.invalidateQueries({queryKey:[Uv,e]}),t.invalidateQueries({queryKey:[Wv]})}})},t1t=e=>{const t=qr();return co({mutationFn:n=>TNe(n),onSuccess:()=>{t.invalidateQueries({queryKey:[Uv,e]}),t.invalidateQueries({queryKey:[Wv]})}})};function Mle(e){return Co({queryKey:[Uv,e],queryFn:()=>SNe(e)})}const n1t=()=>{const e=qr();return co({mutationFn:t=>INe(t),onError:t=>{console.log(t)},onSuccess:()=>{e.invalidateQueries({queryKey:[Uv]}),e.invalidateQueries({queryKey:[Wv]})}})},Ale=()=>{const e=qr();return co({mutationFn:t=>ONe(t),onSuccess:()=>{e.invalidateQueries({queryKey:[Uv]}),e.invalidateQueries({queryKey:[Wv]})}})},r1t=()=>{const e=qr();return co({mutationFn:t=>ENe(t),onSuccess:()=>e.invalidateQueries({queryKey:[Uv]})})},fP=['"Open Sans Bold"',"sans-serif"].join(","),o1t=['"Open Sans Light"',"sans-serif"].join(","),$le={spacing:8,typography:{h3:{fontFamily:fP},h4:{fontFamily:fP},h5:{fontFamily:fP},h6:{fontFamily:fP},fontFamily:o1t},palette:{primary:{main:"#2A4C7D"},secondary:{main:"#e63946"},warning:{main:"#cba328"},info:{main:"#457b9d"},success:{main:"#307916"}}},rp=wS($le),i1t=e=>wS({...$le,components:{MuiPopover:{defaultProps:{container:e}},MuiPopper:{defaultProps:{container:e}},MuiModal:{defaultProps:{container:e}}}}),Rle=e=>{const{i18n:t}=Ue(),n=30,r=[...e.category.entries].sort((o,i)=>o.date.getTime()-i.date.getTime()).map(o=>({date:o.date.getTime(),value:o.value,entry:o}));return C(Rn,{alignItems:"center",display:"flex",flexDirection:"column",children:C(Xf,{width:"90%",height:200,children:Q(Noe,{data:r,children:[C(cb,{type:"monotone",dataKey:"value",stroke:rp.palette.secondary.main,strokeWidth:2,dot:r.length>n?!1:{strokeWidth:1,r:4},activeDot:{stroke:"black",strokeWidth:1,r:6}}),C(Zh,{stroke:"#ccc",strokeDasharray:"5 5"}),C(ml,{dataKey:"date",type:"number",domain:["dataMin","dataMax"],tickFormatter:o=>new Date(o).toLocaleDateString(t.language),tickCount:10}),C(gl,{domain:["auto","auto"],unit:e.category.unit})]})})})},_le=({category:e,closeFn:t})=>{const[n]=Ue(),r=ZSt(),o=e1t(e==null?void 0:e.id),i=bl({name:Wc().required(n("forms.fieldRequired")).max(20,n("forms.maxLength",{chars:"20"})).min(3,n("forms.minLength",{chars:"3"})),unit:Wc().required(n("forms.fieldRequired")).max(5,n("forms.maxLength",{chars:"5"}))});return C(yl,{initialValues:{name:e?e.name:"",unit:e?e.unit:""},validationSchema:i,onSubmit:async a=>{e?o.mutate({...a,id:e.id}):r.mutate(a),t&&t()},children:a=>C(gs,{children:Q(Gt,{spacing:2,children:[C(yn,{fullWidth:!0,id:"name",label:n("name"),error:a.touched.name&&!!a.touched.name,helperText:a.touched.name&&a.errors.name,...a.getFieldProps("name")}),C(yn,{fullWidth:!0,id:"unit",label:n("unit"),error:a.touched.unit&&!!a.errors.unit,helperText:a.touched.unit&&a.errors.unit?a.errors.unit:n("measurements.unitFormHelpText"),...a.getFieldProps("unit")}),C(Gt,{direction:"row",justifyContent:"end",sx:{mt:2},children:C(gt,{color:"primary",variant:"contained",type:"submit",sx:{mt:2},children:n("submit")})})]})})})};Vr.defaultZone=A_e;const Dle=({entry:e,closeFn:t,categoryId:n})=>{const[r,o]=Ue(),i=n1t(),a=Ale(),s=Mle(n),[l,c]=Y.useState(e?It.fromJSDate(e.date):It.now()),u=bl({value:pa().required(r("forms.fieldRequired")).min(0,r("forms.minValue",{value:"0"})).max(1e3,r("forms.maxValue",{value:"1000"})),date:a1().required(r("forms.fieldRequired")),notes:Wc().max(500,r("forms.maxLength",{value:"500"}))});return C(yl,{initialValues:{value:e?e.value:0,date:e?e.date:new Date,notes:e?e.notes:""},validationSchema:u,onSubmit:async d=>{e?a.mutate({...d,id:e.id}):i.mutate({...d,categoryId:n}),t&&t()},children:d=>C(gs,{children:Q(Gt,{spacing:2,children:[C(yn,{fullWidth:!0,id:"value",type:"number",label:r("value"),error:d.touched.value&&!!d.errors.value,helperText:d.touched.value&&d.errors.value,...d.getFieldProps("value")}),s.isLoading?C(Po,{}):C(YS,{dateAdapter:Kk,adapterLocale:o.language,children:C(kie,{format:"yyyy-MM-dd",label:r("date"),value:l,disableFuture:!0,onChange:f=>{f&&d.setFieldValue("date",f.toJSDate()),c(f)},shouldDisableDate:f=>e&&Si(e.date)===Si(f.toJSDate())?!1:f?s.data.entries.some(p=>Si(p.date)===Si(f.toJSDate())):!1})}),C(yn,{fullWidth:!0,id:"notes",label:r("notes"),multiline:!0,error:d.touched.notes&&!!d.errors.notes,helperText:d.touched.notes&&d.errors.notes,...d.getFieldProps("notes")}),C(Gt,{direction:"row",justifyContent:"end",sx:{mt:2},children:C(gt,{color:"primary",variant:"contained",type:"submit",sx:{mt:2},children:r("submit")})})]})})})},a1t=()=>{const[e]=Ue(),[t,n]=Y.useState(!1),r=()=>n(!0),o=()=>n(!1);return Q("div",{children:[C(Gh,{color:"secondary","aria-label":"add",onClick:r,sx:{position:"fixed",bottom:"5rem",right:i=>i.spacing(2),zIndex:9},children:C(Ji,{})}),C(ta,{title:e("add"),isOpen:t,closeFn:o,children:C(_le,{closeFn:o})})]})},s1t=()=>{const[e]=Ue(),[t,n]=Y.useState(!1),r=()=>n(!0),o=()=>n(!1),i=fm(),a=parseInt(i.categoryId);return Q(Mt,{children:[C(Gh,{color:"secondary","aria-label":"add",onClick:r,sx:{position:"fixed",bottom:"5rem",right:s=>s.spacing(2),zIndex:9},children:C(Ji,{})}),C(ta,{title:e("add"),isOpen:t,closeFn:o,children:C(Dle,{closeFn:o,categoryId:a})})]})},Nle=y.createContext(void 0);function mn(){const e=y.useContext(Nle);if(e===void 0)throw new Error(["MUI X: Could not find the Data Grid context.","It looks like you rendered your component outside of a DataGrid, DataGridPro or DataGridPremium parent component.","This can also happen if you are bundling multiple versions of the Data Grid."].join(` +`));return e}const Lle=y.createContext(void 0),xt=()=>{const e=y.useContext(Lle);if(!e)throw new Error("MUI X: useGridRootProps should only be used inside the DataGrid, DataGridPro or DataGridPremium component.");return e};function W(){return W=Object.assign?Object.assign.bind():function(e){for(var t=1;tn.searchParams.append("args[]",r)),`Minified MUI error #${e}; visit ${n} for the full message.`}function p1(e){if(typeof e!="string")throw new Error(l1t(7));return e.charAt(0).toUpperCase()+e.slice(1)}function Pf(e){return e&&e.ownerDocument||document}function c1t(e){return Pf(e).defaultView||window}function u1t(e,t){typeof e=="function"?e(t):e&&(e.current=t)}const _o=typeof window<"u"?y.useLayoutEffect:y.useEffect;let fq=0;function d1t(e){const[t,n]=y.useState(e),r=t;return y.useEffect(()=>{t==null&&(fq+=1,n(`mui-${fq}`))},[t]),r}const f1t={...vh},pq=f1t.useId;function yo(e){return pq!==void 0?pq():d1t(e)}function wr(e){const t=y.useRef(e);return _o(()=>{t.current=e}),y.useRef((...n)=>(0,t.current)(...n)).current}function hm(...e){return y.useMemo(()=>e.every(t=>t==null)?null:t=>{e.forEach(n=>{u1t(n,t)})},e)}const hq={};function eu(e,t){const n=y.useRef(hq);return n.current===hq&&(n.current=e(t)),n}const p1t=[];function cM(e){y.useEffect(e,p1t)}class Az{constructor(){nn(this,"currentId",null);nn(this,"clear",()=>{this.currentId!==null&&(clearTimeout(this.currentId),this.currentId=null)});nn(this,"disposeEffect",()=>this.clear)}static create(){return new Az}start(t,n){this.clear(),this.currentId=setTimeout(()=>{this.currentId=null,n()},t)}}function Tb(){const e=eu(Az.create).current;return cM(e.disposeEffect),e}function Fle(e,t){const n={...t};for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)){const o=r;if(o==="components"||o==="slots")n[o]={...e[o],...n[o]};else if(o==="componentsProps"||o==="slotProps"){const i=e[o],a=t[o];if(!a)n[o]=i||{};else if(!i)n[o]=a;else{n[o]={...a};for(const s in i)if(Object.prototype.hasOwnProperty.call(i,s)){const l=s;n[o][l]=Fle(i[l],a[l])}}}else n[o]===void 0&&(n[o]=e[o])}return n}const mq=e=>e,h1t=()=>{let e=mq;return{configure(t){e=t},generate(t){return e(t)},reset(){e=mq}}},m1t=h1t(),g1t={active:"active",checked:"checked",completed:"completed",disabled:"disabled",error:"error",expanded:"expanded",focused:"focused",focusVisible:"focusVisible",open:"open",readOnly:"readOnly",required:"required",selected:"selected"};function jle(e,t,n="Mui"){const r=g1t[t];return r?`${n}-${r}`:`${m1t.generate(e)}-${t}`}function Ble(e,t,n="Mui"){const r={};return t.forEach(o=>{r[o]=jle(e,o,n)}),r}const y1t=Object.is;function zle(e,t){if(e===t)return!0;if(!(e instanceof Object)||!(t instanceof Object))return!1;let n=0,r=0;for(const o in e)if(n+=1,!y1t(e[o],t[o])||!(o in t))return!1;for(const o in t)r+=1;return n===r}function op(e){return y.memo(e,zle)}const v1t={noRowsLabel:"No rows",noResultsOverlayLabel:"No results found.",toolbarDensity:"Density",toolbarDensityLabel:"Density",toolbarDensityCompact:"Compact",toolbarDensityStandard:"Standard",toolbarDensityComfortable:"Comfortable",toolbarColumns:"Columns",toolbarColumnsLabel:"Select columns",toolbarFilters:"Filters",toolbarFiltersLabel:"Show filters",toolbarFiltersTooltipHide:"Hide filters",toolbarFiltersTooltipShow:"Show filters",toolbarFiltersTooltipActive:e=>e!==1?`${e} active filters`:`${e} active filter`,toolbarQuickFilterPlaceholder:"Search…",toolbarQuickFilterLabel:"Search",toolbarQuickFilterDeleteIconLabel:"Clear",toolbarExport:"Export",toolbarExportLabel:"Export",toolbarExportCSV:"Download as CSV",toolbarExportPrint:"Print",toolbarExportExcel:"Download as Excel",columnsManagementSearchTitle:"Search",columnsManagementNoColumns:"No columns",columnsManagementShowHideAllText:"Show/Hide All",columnsManagementReset:"Reset",filterPanelAddFilter:"Add filter",filterPanelRemoveAll:"Remove all",filterPanelDeleteIconLabel:"Delete",filterPanelLogicOperator:"Logic operator",filterPanelOperator:"Operator",filterPanelOperatorAnd:"And",filterPanelOperatorOr:"Or",filterPanelColumns:"Columns",filterPanelInputLabel:"Value",filterPanelInputPlaceholder:"Filter value",filterOperatorContains:"contains",filterOperatorDoesNotContain:"does not contain",filterOperatorEquals:"equals",filterOperatorDoesNotEqual:"does not equal",filterOperatorStartsWith:"starts with",filterOperatorEndsWith:"ends with",filterOperatorIs:"is",filterOperatorNot:"is not",filterOperatorAfter:"is after",filterOperatorOnOrAfter:"is on or after",filterOperatorBefore:"is before",filterOperatorOnOrBefore:"is on or before",filterOperatorIsEmpty:"is empty",filterOperatorIsNotEmpty:"is not empty",filterOperatorIsAnyOf:"is any of","filterOperator=":"=","filterOperator!=":"!=","filterOperator>":">","filterOperator>=":">=","filterOperator<":"<","filterOperator<=":"<=",headerFilterOperatorContains:"Contains",headerFilterOperatorDoesNotContain:"Does not contain",headerFilterOperatorEquals:"Equals",headerFilterOperatorDoesNotEqual:"Does not equal",headerFilterOperatorStartsWith:"Starts with",headerFilterOperatorEndsWith:"Ends with",headerFilterOperatorIs:"Is",headerFilterOperatorNot:"Is not",headerFilterOperatorAfter:"Is after",headerFilterOperatorOnOrAfter:"Is on or after",headerFilterOperatorBefore:"Is before",headerFilterOperatorOnOrBefore:"Is on or before",headerFilterOperatorIsEmpty:"Is empty",headerFilterOperatorIsNotEmpty:"Is not empty",headerFilterOperatorIsAnyOf:"Is any of","headerFilterOperator=":"Equals","headerFilterOperator!=":"Not equals","headerFilterOperator>":"Greater than","headerFilterOperator>=":"Greater than or equal to","headerFilterOperator<":"Less than","headerFilterOperator<=":"Less than or equal to",filterValueAny:"any",filterValueTrue:"true",filterValueFalse:"false",columnMenuLabel:"Menu",columnMenuShowColumns:"Show columns",columnMenuManageColumns:"Manage columns",columnMenuFilter:"Filter",columnMenuHideColumn:"Hide column",columnMenuUnsort:"Unsort",columnMenuSortAsc:"Sort by ASC",columnMenuSortDesc:"Sort by DESC",columnHeaderFiltersTooltipActive:e=>e!==1?`${e} active filters`:`${e} active filter`,columnHeaderFiltersLabel:"Show filters",columnHeaderSortIconLabel:"Sort",footerRowSelected:e=>e!==1?`${e.toLocaleString()} rows selected`:`${e.toLocaleString()} row selected`,footerTotalRows:"Total Rows:",footerTotalVisibleRows:(e,t)=>`${e.toLocaleString()} of ${t.toLocaleString()}`,checkboxSelectionHeaderName:"Checkbox selection",checkboxSelectionSelectAllRows:"Select all rows",checkboxSelectionUnselectAllRows:"Unselect all rows",checkboxSelectionSelectRow:"Select row",checkboxSelectionUnselectRow:"Unselect row",booleanCellTrueLabel:"yes",booleanCellFalseLabel:"no",actionsCellMore:"more",pinToLeft:"Pin to left",pinToRight:"Pin to right",unpin:"Unpin",treeDataGroupingHeaderName:"Group",treeDataExpand:"see children",treeDataCollapse:"hide children",groupingColumnHeaderName:"Group",groupColumn:e=>`Group by ${e}`,unGroupColumn:e=>`Stop grouping by ${e}`,detailPanelToggle:"Detail panel toggle",expandDetailPanel:"Expand",collapseDetailPanel:"Collapse",MuiTablePagination:{},rowReorderingHeaderName:"Row reordering",aggregationMenuItemHeader:"Aggregation",aggregationFunctionLabelSum:"sum",aggregationFunctionLabelAvg:"avg",aggregationFunctionLabelMin:"min",aggregationFunctionLabelMax:"max",aggregationFunctionLabelSize:"size"};function bn(e){return jle("MuiDataGrid",e)}const se=Ble("MuiDataGrid",["actionsCell","aggregationColumnHeader","aggregationColumnHeader--alignLeft","aggregationColumnHeader--alignCenter","aggregationColumnHeader--alignRight","aggregationColumnHeaderLabel","autoHeight","autosizing","booleanCell","cell--editable","cell--editing","cell--flex","cell--textCenter","cell--textLeft","cell--textRight","cell--rangeTop","cell--rangeBottom","cell--rangeLeft","cell--rangeRight","cell--pinnedLeft","cell--pinnedRight","cell--selectionMode","cell","cellCheckbox","cellEmpty","cellSkeleton","cellOffsetLeft","checkboxInput","columnHeader","columnHeader--alignCenter","columnHeader--alignLeft","columnHeader--alignRight","columnHeader--dragging","columnHeader--moving","columnHeader--numeric","columnHeader--sortable","columnHeader--sorted","columnHeader--filtered","columnHeader--pinnedLeft","columnHeader--pinnedRight","columnHeader--last","columnHeader--lastUnpinned","columnHeader--siblingFocused","columnHeaderCheckbox","columnHeaderDraggableContainer","columnHeaderTitle","columnHeaderTitleContainer","columnHeaderTitleContainerContent","columnHeader--filledGroup","columnHeader--emptyGroup","columnHeaders","columnSeparator--resizable","columnSeparator--resizing","columnSeparator--sideLeft","columnSeparator--sideRight","columnSeparator","columnsManagement","columnsManagementRow","columnsManagementHeader","columnsManagementFooter","container--top","container--bottom","detailPanel","detailPanels","detailPanelToggleCell","detailPanelToggleCell--expanded","footerCell","panel","panelHeader","panelWrapper","panelContent","panelFooter","paper","editBooleanCell","editInputCell","filler","filler--borderBottom","filler--pinnedLeft","filler--pinnedRight","filterForm","filterFormDeleteIcon","filterFormLogicOperatorInput","filterFormColumnInput","filterFormOperatorInput","filterFormValueInput","filterIcon","footerContainer","headerFilterRow","iconButtonContainer","iconSeparator","main","main--hasPinnedRight","main--hasSkeletonLoadingOverlay","menu","menuIcon","menuIconButton","menuOpen","menuList","overlay","overlayWrapper","overlayWrapperInner","root","root--densityStandard","root--densityComfortable","root--densityCompact","root--disableUserSelection","root--noToolbar","row","row--editable","row--editing","row--firstVisible","row--lastVisible","row--dragging","row--dynamicHeight","row--detailPanelExpanded","row--borderBottom","rowReorderCellPlaceholder","rowCount","rowReorderCellContainer","rowReorderCell","rowReorderCell--draggable","rowSkeleton","scrollArea--left","scrollArea--right","scrollArea","scrollbar","scrollbar--vertical","scrollbar--horizontal","scrollbarFiller","scrollbarFiller--header","scrollbarFiller--borderTop","scrollbarFiller--borderBottom","scrollbarFiller--pinnedRight","selectedRowCount","sortIcon","toolbarContainer","toolbarFilterList","virtualScroller","virtualScroller--hasScrollX","virtualScrollerContent","virtualScrollerContent--overflowed","virtualScrollerRenderZone","pinnedColumns","withVerticalBorder","withBorderColor","cell--withRightBorder","cell--withLeftBorder","columnHeader--withRightBorder","columnHeader--withLeftBorder","treeDataGroupingCell","treeDataGroupingCellToggle","treeDataGroupingCellLoadingContainer","groupingCriteriaCell","groupingCriteriaCellToggle","groupingCriteriaCellLoadingContainer","pinnedRows","pinnedRows--top","pinnedRows--bottom","pinnedRowsRenderZone"]),gq=1e3;class b1t{constructor(t=gq){this.timeouts=new Map,this.cleanupTimeout=gq,this.cleanupTimeout=t}register(t,n,r){this.timeouts||(this.timeouts=new Map);const o=setTimeout(()=>{typeof n=="function"&&n(),this.timeouts.delete(r.cleanupToken)},this.cleanupTimeout);this.timeouts.set(r.cleanupToken,o)}unregister(t){const n=this.timeouts.get(t.cleanupToken);n&&(this.timeouts.delete(t.cleanupToken),clearTimeout(n))}reset(){this.timeouts&&(this.timeouts.forEach((t,n)=>{this.unregister({cleanupToken:n})}),this.timeouts=void 0)}}class w1t{constructor(){this.registry=new FinalizationRegistry(t=>{typeof t=="function"&&t()})}register(t,n,r){this.registry.register(t,n,r)}unregister(t){this.registry.unregister(t)}reset(){}}var ol=function(e){return e.DataGrid="DataGrid",e.DataGridPro="DataGridPro",e.DataGridPremium="DataGridPremium",e}(ol||{});class x1t{}function S1t(e){let t=0;return function(r,o,i,a){e.registry===null&&(e.registry=typeof FinalizationRegistry<"u"?new w1t:new b1t);const[s]=y.useState(new x1t),l=y.useRef(null),c=y.useRef();c.current=i;const u=y.useRef(null);if(!l.current&&c.current){const d=(f,p,m)=>{var g;p.defaultMuiPrevented||(g=c.current)==null||g.call(c,f,p,m)};l.current=r.current.subscribeEvent(o,d,a),t+=1,u.current={cleanupToken:t},e.registry.register(s,()=>{var f;(f=l.current)==null||f.call(l),l.current=null,u.current=null},u.current)}else!c.current&&l.current&&(l.current(),l.current=null,u.current&&(e.registry.unregister(u.current),u.current=null));y.useEffect(()=>{if(!l.current&&c.current){const d=(f,p,m)=>{var g;p.defaultMuiPrevented||(g=c.current)==null||g.call(c,f,p,m)};l.current=r.current.subscribeEvent(o,d,a)}return u.current&&e.registry&&(e.registry.unregister(u.current),u.current=null),()=>{var d;(d=l.current)==null||d.call(l),l.current=null}},[r,o,a])}}const C1t={registry:null},ht=S1t(C1t),P1t={isFirst:!0};function lr(e,t,n){ht(e,t,n,P1t)}function T1t(e){return e.acceptsApiRef}function yq(e,t){return T1t(t)?t(e):t(e.current.state)}const E1t=Object.is,Vle=zle,O1t=()=>({state:null,equals:null,selector:null}),Ye=(e,t,n=E1t)=>{const r=eu(O1t),o=r.current.selector!==null,[i,a]=y.useState(o?null:yq(e,t));return r.current.state=i,r.current.equals=n,r.current.selector=t,cM(()=>e.current.store.subscribe(()=>{const s=yq(e,r.current.selector);r.current.equals(r.current.state,s)||(r.current.state=s,a(s))})),i},li=e=>e.dimensions;var gO=Symbol("NOT_FOUND");function I1t(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!="function")throw new TypeError(t)}function k1t(e,t=`expected an object, instead received ${typeof e}`){if(typeof e!="object")throw new TypeError(t)}function M1t(e,t="expected all items to be functions, instead received the following types: "){if(!e.every(n=>typeof n=="function")){const n=e.map(r=>typeof r=="function"?`function ${r.name||"unnamed"}()`:typeof r).join(", ");throw new TypeError(`${t}[${n}]`)}}var vq=e=>Array.isArray(e)?e:[e];function A1t(e){const t=Array.isArray(e[0])?e[0]:e;return M1t(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function $1t(e,t){const n=[],{length:r}=e;for(let o=0;ot(s,c.key));if(l>-1){const c=n[l];return l>0&&(n.splice(l,1),n.unshift(c)),c.value}return gO}function o(s,l){r(s)===gO&&(n.unshift({key:s,value:l}),n.length>e&&n.pop())}function i(){return n}function a(){n=[]}return{get:r,put:o,getEntries:i,clear:a}}var D1t=(e,t)=>e===t;function N1t(e){return function(n,r){if(n===null||r===null||n.length!==r.length)return!1;const{length:o}=n;for(let i=0;ii(p.value,u));f&&(u=f.value,s!==0&&s--)}l.put(arguments,u)}return u}return c.clearCache=()=>{l.clear(),c.resetResultsCount()},c.resultsCount=()=>s,c.resetResultsCount=()=>{s=0},c}var L1t=class{constructor(e){this.value=e}deref(){return this.value}},F1t=typeof WeakRef<"u"?WeakRef:L1t,j1t=0,bq=1;function pP(){return{s:j1t,v:void 0,o:null,p:null}}function Ule(e,t={}){let n=pP();const{resultEqualityCheck:r}=t;let o,i=0;function a(){var d;let s=n;const{length:l}=arguments;for(let f=0,p=l;f{n=pP(),a.resetResultsCount()},a.resultsCount=()=>i,a.resetResultsCount=()=>{i=0},a}function Wle(e,...t){const n=typeof e=="function"?{memoize:e,memoizeOptions:t}:e,r=(...o)=>{let i=0,a=0,s,l={},c=o.pop();typeof c=="object"&&(l=c,c=o.pop()),I1t(c,`createSelector expects an output function after the inputs, but received: [${typeof c}]`);const u={...n,...l},{memoize:d,memoizeOptions:f=[],argsMemoize:p=Ule,argsMemoizeOptions:m=[],devModeChecks:g={}}=u,v=vq(f),w=vq(m),x=A1t(o),S=d(function(){return i++,c.apply(null,arguments)},...v),P=p(function(){a++;const E=$1t(x,arguments);return s=S.apply(null,E),s},...w);return Object.assign(P,{resultFunc:c,memoizedResultFunc:S,dependencies:x,dependencyRecomputations:()=>a,resetDependencyRecomputations:()=>{a=0},lastResult:()=>s,recomputations:()=>i,resetRecomputations:()=>{i=0},memoize:d,argsMemoize:p})};return Object.assign(r,{withTypes:()=>r}),r}var B1t=Wle(Ule),z1t=Object.assign((e,t=B1t)=>{k1t(e,`createStructuredSelector expects first argument to be an object where each property is a selector, instead received a ${typeof e}`);const n=Object.keys(e),r=n.map(i=>e[i]);return t(r,(...i)=>i.reduce((a,s,l)=>(a[n[l]]=s,a),{}))},{withTypes:()=>z1t});const V1t=Wle({memoize:Hle,memoizeOptions:{maxSize:1,equalityCheck:Object.is}}),wq=new WeakMap;function mg(e){return"current"in e&&"instanceId"in e.current}const gg={id:"default"},Dt=(e,t,n,r,o,i,...a)=>{if(a.length>0)throw new Error("Unsupported number of selectors");let s;if(e&&t&&n&&r&&o&&i)s=(l,c)=>{const u=mg(l),d=c??(u?l.current.instanceId:gg),f=u?l.current.state:l,p=e(f,d),m=t(f,d),g=n(f,d),v=r(f,d),w=o(f,d);return i(p,m,g,v,w)};else if(e&&t&&n&&r&&o)s=(l,c)=>{const u=mg(l),d=c??(u?l.current.instanceId:gg),f=u?l.current.state:l,p=e(f,d),m=t(f,d),g=n(f,d),v=r(f,d);return o(p,m,g,v)};else if(e&&t&&n&&r)s=(l,c)=>{const u=mg(l),d=c??(u?l.current.instanceId:gg),f=u?l.current.state:l,p=e(f,d),m=t(f,d),g=n(f,d);return r(p,m,g)};else if(e&&t&&n)s=(l,c)=>{const u=mg(l),d=c??(u?l.current.instanceId:gg),f=u?l.current.state:l,p=e(f,d),m=t(f,d);return n(p,m)};else if(e&&t)s=(l,c)=>{const u=mg(l),d=c??(u?l.current.instanceId:gg),f=u?l.current.state:l,p=e(f,d);return t(p)};else throw new Error("Missing arguments");return s.acceptsApiRef=!0,s},sr=(...e)=>{const t=(n,r)=>{const o=mg(n),i=o?n.current.instanceId:r??gg,a=o?n.current.state:n,s=wq.get(i),l=s??new Map,c=l==null?void 0:l.get(e);if(l&&c)return c(a,i);const u=V1t(...e);return s||wq.set(i,l),l.set(e,u),u(a,i)};return t.acceptsApiRef=!0,t},H1t=.7,U1t=1.3,W1t={compact:H1t,comfortable:U1t,standard:1},Hg=e=>e.density,h1=Dt(Hg,e=>W1t[e]);let ur=function(e){return e.LEFT="left",e.RIGHT="right",e}({});const QN={left:[],right:[]},G1t=e=>e.isRtl,Lc=e=>e.columns,Nu=Dt(Lc,e=>e.orderedFields),dd=Dt(Lc,e=>e.lookup),ec=sr(Nu,dd,(e,t)=>e.map(n=>t[n])),Qs=Dt(Lc,e=>e.columnVisibilityModel),vo=sr(ec,Qs,(e,t)=>e.filter(n=>t[n.field]!==!1)),Eb=sr(vo,e=>e.map(t=>t.field)),q1t=e=>e.pinnedColumns,m1=sr(Lc,q1t,Eb,G1t,(e,t,n,r)=>{const o=K1t(t,n,r);return{left:o.left.map(a=>e.lookup[a]),right:o.right.map(a=>e.lookup[a])}});function K1t(e,t,n){var s,l;if(!Array.isArray(e.left)&&!Array.isArray(e.right)||((s=e.left)==null?void 0:s.length)===0&&((l=e.right)==null?void 0:l.length)===0)return QN;const r=(c,u)=>Array.isArray(c)?c.filter(d=>u.includes(d)):[],o=r(e.left,t),i=t.filter(c=>!o.includes(c)),a=r(e.right,i);return n?{left:a,right:o}:{left:o,right:a}}const ip=sr(vo,e=>{const t=[];let n=0;for(let r=0;r{const n=e.length;return n===0?0:t[n-1]+e[n-1].computedWidth}),Gle=sr(ec,e=>e.filter(t=>t.filterable)),Y1t=sr(ec,e=>e.reduce((t,n)=>(n.filterable&&(t[n.field]=n),t),{})),X1t=sr(ec,e=>e.some(t=>t.colSpan!==void 0));function At(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.includes(r))continue;n[r]=e[r]}return n}const Q1t=["id","value","formattedValue","api","field","row","rowNode","colDef","cellMode","isEditable","tabIndex","hasFocus","isValidating","debounceMs","isProcessingProps","onValueChange"],J1t=e=>{const{classes:t}=e;return vn({root:["editInputCell"]},bn,t)},Z1t=oe(Fv,{name:"MuiDataGrid",slot:"EditInputCell",overridesResolver:(e,t)=>t.editInputCell})(({theme:e})=>W({},e.typography.body2,{padding:"1px 0","& input":{padding:"0 16px",height:"100%"}})),eCt=y.forwardRef((e,t)=>{const n=xt(),{id:r,value:o,field:i,colDef:a,hasFocus:s,debounceMs:l=200,isProcessingProps:c,onValueChange:u}=e,d=At(e,Q1t),f=mn(),p=y.useRef(),[m,g]=y.useState(o),v=J1t(n),w=y.useCallback(async S=>{const P=S.target.value;u&&await u(S,P);const T=f.current.getColumn(i);let E=P;T.valueParser&&(E=T.valueParser(P,f.current.getRow(r),T,f)),g(E),f.current.setEditCellValue({id:r,field:i,value:E,debounceMs:l,unstable_skipValueParser:!0},S)},[f,l,i,r,u]),x=f.current.unstable_getEditCellMeta(r,i);return y.useEffect(()=>{(x==null?void 0:x.changeReason)!=="debouncedSetEditCellValue"&&g(o)},[x,o]),_o(()=>{s&&p.current.focus()},[s]),$.jsx(Z1t,W({ref:t,inputRef:p,className:v.root,ownerState:n,fullWidth:!0,type:a.type==="number"?a.type:"text",value:m??"",onChange:w,endAdornment:c?$.jsx(n.slots.loadIcon,{fontSize:"small",color:"action"}):void 0},d))}),tCt=e=>$.jsx(eCt,W({},e)),qle=(e,t)=>t&&e.length>1?[e[0]]:e,xq=(e,t)=>n=>W({},n,{sorting:W({},n.sorting,{sortModel:qle(e,t)})}),nCt=e=>e==="desc",rCt=(e,t)=>{const n=t.current.getColumn(e.field);if(!n||e.sort===null)return null;let r;return n.getSortComparator?r=n.getSortComparator(e.sort):r=nCt(e.sort)?(...i)=>-1*n.sortComparator(...i):n.sortComparator,r?{getSortCellParams:i=>({id:i,field:n.field,rowNode:t.current.getRowNode(i),value:t.current.getCellValue(i,n.field),api:t.current}),comparator:r}:null},oCt=(e,t,n)=>e.reduce((r,o,i)=>{if(r!==0)return r;const a=t.params[i],s=n.params[i];return r=o.comparator(a.value,s.value,a,s),r},0),iCt=(e,t)=>{const n=e.map(r=>rCt(r,t)).filter(r=>!!r);return n.length===0?null:r=>r.map(o=>({node:o,params:n.map(i=>i.getSortCellParams(o.id))})).sort((o,i)=>oCt(n,o,i)).map(o=>o.node.id)},Sq=(e,t)=>{const n=e.indexOf(t);return!t||n===-1||n+1===e.length?e[0]:e[n+1]},Rz=(e,t)=>e==null&&t!=null?-1:t==null&&e!=null?1:e==null&&t==null?0:null,aCt=new Intl.Collator,sCt=(e,t)=>{const n=Rz(e,t);return n!==null?n:typeof e=="string"?aCt.compare(e.toString(),t.toString()):e-t},Kle=(e,t)=>{const n=Rz(e,t);return n!==null?n:Number(e)-Number(t)},Yle=(e,t)=>{const n=Rz(e,t);return n!==null?n:e>t?1:e{const{value:E}=T.target;m(String(E)),v(!0),f.start(x.filterDebounceMs,()=>{const O=W({},t,{value:r==="number"?Number(E):E,fromInput:w});n(O),v(!1)})},[f,x.filterDebounceMs,t,r,w,n]);return y.useEffect(()=>{(t.fromInput!==w||t.value===void 0)&&m(String(t.value??""))},[w,t]),$.jsx(x.slots.baseTextField,W({id:w,label:o.current.getLocaleText("filterPanelInputLabel"),placeholder:o.current.getLocaleText("filterPanelInputPlaceholder"),value:p,onChange:S,variant:u,type:r||"text",InputProps:W({},g||l?{endAdornment:g?$.jsx(x.slots.loadIcon,{fontSize:"small",color:"action"}):l}:{},{disabled:s},c,{inputProps:W({tabIndex:a},c==null?void 0:c.inputProps)}),InputLabelProps:{shrink:!0},inputRef:i},d,(P=x.slotProps)==null?void 0:P.baseTextField))}function cCt(e){return typeof e=="number"&&!Number.isNaN(e)}function Xle(e){return typeof e=="function"}function _z(e){return typeof e=="object"&&e!==null}function uCt(){try{const e="__some_random_key_you_are_not_going_to_use__";return window.localStorage.setItem(e,e),window.localStorage.removeItem(e),!0}catch{return!1}}function yO(e){return e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}const Fc=(e,t,n)=>Math.max(t,Math.min(n,e));function Cq(e,t){return Array.from({length:t-e}).map((n,r)=>e+r)}function py(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;if(Array.isArray(e)){const o=e.length;if(o!==t.length)return!1;for(let i=0;i{let t=e+=1831565813;return t=Math.imul(t^t>>>15,t|1),t^=t+Math.imul(t^t>>>7,t|61),((t^t>>>14)>>>0)/4294967296}}function fCt(e){const t=dCt(e);return(n,r)=>n+(r-n)*t()}function Qle(e){return typeof structuredClone=="function"?structuredClone(e):JSON.parse(JSON.stringify(e))}const pCt=["item","applyValue","type","apiRef","focusElementRef","color","error","helperText","size","variant"],hCt=["key"];function Jle(e){const{item:t,applyValue:n,type:r,apiRef:o,focusElementRef:i,color:a,error:s,helperText:l,size:c,variant:u="standard"}=e,d=At(e,pCt),f={color:a,error:s,helperText:l,size:c,variant:u},[p,m]=y.useState(t.value||[]),g=yo(),v=xt();y.useEffect(()=>{const x=t.value??[];m(x.map(String))},[t.value]);const w=y.useCallback((x,S)=>{m(S.map(String)),n(W({},t,{value:[...S.map(P=>r==="number"?Number(P):P)]}))},[n,t,r]);return $.jsx(oc,W({multiple:!0,freeSolo:!0,options:[],filterOptions:(x,S)=>{const{inputValue:P}=S;return P==null||P===""?[]:[P]},id:g,value:p,onChange:w,renderTags:(x,S)=>x.map((P,T)=>{const E=S({index:T}),{key:O}=E,k=At(E,hCt);return $.jsx(v.slots.baseChip,W({variant:"outlined",size:"small",label:P},k),O)}),renderInput:x=>{var S;return $.jsx(v.slots.baseTextField,W({},x,{label:o.current.getLocaleText("filterPanelInputLabel"),placeholder:o.current.getLocaleText("filterPanelInputPlaceholder"),InputLabelProps:W({},x.InputLabelProps,{shrink:!0}),inputRef:i,type:r||"text"},f,(S=v.slotProps)==null?void 0:S.baseTextField))}},d))}var Gc=function(e){return e.Cell="cell",e.Row="row",e}(Gc||{}),Zn=function(e){return e.Edit="edit",e.View="view",e}(Zn||{}),Bn=function(e){return e.Edit="edit",e.View="view",e}(Bn||{}),ji=function(e){return e.And="and",e.Or="or",e}(ji||{}),gu=function(e){return e.enterKeyDown="enterKeyDown",e.cellDoubleClick="cellDoubleClick",e.printableKeyDown="printableKeyDown",e.deleteKeyDown="deleteKeyDown",e.pasteKeyDown="pasteKeyDown",e}(gu||{}),_l=function(e){return e.cellFocusOut="cellFocusOut",e.escapeKeyDown="escapeKeyDown",e.enterKeyDown="enterKeyDown",e.tabKeyDown="tabKeyDown",e.shiftTabKeyDown="shiftTabKeyDown",e}(_l||{}),Rd=function(e){return e.enterKeyDown="enterKeyDown",e.cellDoubleClick="cellDoubleClick",e.printableKeyDown="printableKeyDown",e.deleteKeyDown="deleteKeyDown",e}(Rd||{}),$l=function(e){return e.rowFocusOut="rowFocusOut",e.escapeKeyDown="escapeKeyDown",e.enterKeyDown="enterKeyDown",e.tabKeyDown="tabKeyDown",e.shiftTabKeyDown="shiftTabKeyDown",e}($l||{});function Zle(e){return e.field!==void 0}const Zx=()=>({items:[],logicOperator:ji.And,quickFilterValues:[],quickFilterLogicOperator:ji.And});function ece(e){return{current:e.current.getPublicApi()}}let k0;function mCt(){if(k0!==void 0)return k0;try{k0=new Function("return true")()}catch{k0=!1}return k0}const JN=(e,t)=>{const n=W({},e);if(n.id==null&&(n.id=Math.round(Math.random()*1e5)),n.operator==null){const r=dd(t)[n.field];n.operator=r&&r.filterOperators[0].value}return n},Dz=(e,t,n)=>{const r=e.items.length>1;let o;r&&t?o=[e.items[0]]:o=e.items;const i=r&&o.some(s=>s.id==null);return o.some(s=>s.operator==null)||i?W({},e,{items:o.map(s=>JN(s,n))}):e.items!==o?W({},e,{items:o}):e},Pq=(e,t,n)=>r=>W({},r,{filterModel:Dz(e,t,n)}),eS=e=>typeof e=="string"?e.normalize("NFD").replace(/[\u0300-\u036f]/g,""):e,tce=(e,t)=>{var u;if(!e.field||!e.operator)return null;const n=t.current.getColumn(e.field);if(!n)return null;let r;if(n.valueParser){const d=n.valueParser;r=Array.isArray(e.value)?(u=e.value)==null?void 0:u.map(f=>d(f,void 0,n,t)):d(e.value,void 0,n,t)}else r=e.value;const{ignoreDiacritics:o}=t.current.rootProps;o&&(r=eS(r));const i=W({},e,{value:r}),a=n.filterOperators;if(!(a!=null&&a.length))throw new Error(`MUI X: No filter operators found for column '${n.field}'.`);const s=a.find(d=>d.value===i.operator);if(!s)throw new Error(`MUI X: No filter operator found for column '${n.field}' and operator value '${i.operator}'.`);const l=ece(t),c=s.getApplyFilterFn(i,n);return typeof c!="function"?null:{item:i,fn:d=>{let f=t.current.getRowValue(d,n);return o&&(f=eS(f)),c(f,d,n,l)}}};let Tq=1;const gCt=(e,t,n)=>{const{items:r}=e,o=r.map(s=>tce(s,t)).filter(s=>!!s);if(o.length===0)return null;if(n||!mCt())return(s,l)=>{const c={};for(let u=0;u`const shouldApply${l} = !shouldApplyFilter || shouldApplyFilter(${JSON.stringify(s.item.field)});`).join(` `)} const result$$ = { -${o.map((s,l)=>` ${JSON.stringify(String(s.item.id))}: !shouldApply${l} - ? false - : ${s.v7?`appliers[${l}].fn(row)`:`appliers[${l}].fn(getRowId(row))`},`).join(` +${o.map((s,l)=>` ${JSON.stringify(String(s.item.id))}: !shouldApply${l} ? false : appliers[${l}].fn(row),`).join(` `)} }; -return result$$;`.replaceAll("$$",String(aV)));return aV+=1,(s,l)=>i(t.current.getRowId,o,s,l)},hft=(e,t)=>{var n,r,o;const i=(n=(r=e.quickFilterValues)==null?void 0:r.filter(Boolean))!=null?n:[];if(i.length===0)return null;const s=((o=e.quickFilterExcludeHiddenColumns)!=null?o:!1)?rP(t):rl(t),l=[],{ignoreDiacritics:c}=t.current.rootProps,u=qJ(t);return s.forEach(d=>{const f=t.current.getColumn(d),p=f==null?void 0:f.getApplyQuickFilterFn,h=f==null?void 0:f.getApplyQuickFilterFnV7,m=!p1(p),v=!p1(h);h&&!(m&&!v)?l.push({column:f,appliers:i.map(b=>{const y=c?fc(b):b;return{v7:!0,fn:h(y,f,u)}})}):p&&l.push({column:f,appliers:i.map(b=>{const y=c?fc(b):b;return{v7:!1,fn:p(y,f,u)}})})}),function(f,p){const h={},m={};e:for(let b=0;b{const r=pft(e,t,n),o=hft(e,t);return function(a,s,l){var c,u;l.passingFilterItems=(c=r==null?void 0:r(a,s))!=null?c:null,l.passingQuickFilterValues=(u=o==null?void 0:o(a,s))!=null?u:null}},sV=e=>e!=null,gft=(e,t,n)=>(e.cleanedFilterItems||(e.cleanedFilterItems=n.filter(r=>YJ(r,t)!==null)),e.cleanedFilterItems),vft=(e,t,n,r,o)=>{const i=gft(o,r,n.items),a=e.filter(sV),s=t.filter(sV);if(a.length>0){var l;const u=f=>a.some(p=>p[f.id]);if(((l=n.logicOperator)!=null?l:ly().logicOperator)===Po.And){if(!i.every(u))return!1}else if(!i.some(u))return!1}if(s.length>0&&n.quickFilterValues!=null){var c;const u=f=>s.some(p=>p[f]);if(((c=n.quickFilterLogicOperator)!=null?c:ly().quickFilterLogicOperator)===Po.And){if(!n.quickFilterValues.every(u))return!1}else if(!n.quickFilterValues.some(u))return!1}return!0},lV=pb(e=>{if(!e)return null;const t=new RegExp(tx(e),"i");return(n,r,o,i)=>{let a=i.current.getRowFormattedValue(r,o);return i.current.ignoreDiacritics&&(a=fc(a)),a!=null?t.test(a.toString()):!1}}),yft=(e=!1)=>hb([{value:"contains",getApplyFilterFnV7:t=>{if(!t.value)return null;const n=e?t.value:t.value.trim(),r=new RegExp(tx(n),"i");return o=>o!=null?r.test(String(o)):!1},InputComponent:ts},{value:"equals",getApplyFilterFnV7:t=>{if(!t.value)return null;const n=e?t.value:t.value.trim(),r=new Intl.Collator(void 0,{sensitivity:"base",usage:"search"});return o=>o!=null?r.compare(n,o.toString())===0:!1},InputComponent:ts},{value:"startsWith",getApplyFilterFnV7:t=>{if(!t.value)return null;const n=e?t.value:t.value.trim(),r=new RegExp(`^${tx(n)}.*$`,"i");return o=>o!=null?r.test(o.toString()):!1},InputComponent:ts},{value:"endsWith",getApplyFilterFnV7:t=>{if(!t.value)return null;const n=e?t.value:t.value.trim(),r=new RegExp(`.*${tx(n)}$`,"i");return o=>o!=null?r.test(o.toString()):!1},InputComponent:ts},{value:"isEmpty",getApplyFilterFnV7:()=>t=>t===""||t==null,requiresFilterValue:!1},{value:"isNotEmpty",getApplyFilterFnV7:()=>t=>t!==""&&t!=null,requiresFilterValue:!1},{value:"isAnyOf",getApplyFilterFnV7:t=>{if(!Array.isArray(t.value)||t.value.length===0)return null;const n=e?t.value:t.value.map(o=>o.trim()),r=new Intl.Collator(void 0,{sensitivity:"base",usage:"search"});return o=>o!=null?n.some(i=>r.compare(i,o.toString()||"")===0):!1},InputComponent:WJ}]),Ra={width:100,minWidth:50,maxWidth:1/0,hideable:!0,sortable:!0,resizable:!0,filterable:!0,groupable:!0,pinnable:!0,aggregable:!0,editable:!1,sortComparator:Jct,type:"string",align:"left",filterOperators:yft(),renderEditCell:Clt,getApplyQuickFilterFn:GJ(lV),getApplyQuickFilterFnV7:lV},bft=()=>hb([{value:"is",getApplyFilterFnV7:e=>{if(!e.value)return null;const t=e.value==="true";return n=>!!n===t},InputComponent:Ldt}]);function xft({value:e,api:t}){return e?t.getLocaleText("booleanCellTrueLabel"):t.getLocaleText("booleanCellFalseLabel")}const wft=e=>{switch(e.toLowerCase().trim()){case"true":case"yes":case"1":return!0;case"false":case"no":case"0":case"null":case"undefined":return!1;default:return}},QJ=S({},Ra,{type:"boolean",align:"center",headerAlign:"center",renderCell:clt,renderEditCell:plt,sortComparator:LJ,valueFormatter:xft,filterOperators:bft(),getApplyQuickFilterFn:void 0,getApplyQuickFilterFnV7:void 0,aggregable:!1,pastedValueParser:e=>wft(e)}),Gl="__check__",om=S({},QJ,{field:Gl,type:"checkboxSelection",width:50,resizable:!1,sortable:!1,filterable:!1,aggregable:!1,disableColumnMenu:!0,disableReorder:!0,disableExport:!0,getApplyQuickFilterFn:void 0,getApplyQuickFilterFnV7:void 0,valueGetter:e=>d1(e.api.state,e.api.instanceId)[e.id]!==void 0,renderHeader:e=>k.jsx(fut,S({},e)),renderCell:e=>k.jsx(cut,S({},e))}),uP="actions",Cft=S({},Ra,{sortable:!1,filterable:!1,aggregable:!1,width:100,align:"center",headerAlign:"center",headerName:"",disableColumnMenu:!0,disableExport:!0,renderCell:zlt,getApplyQuickFilterFn:void 0,getApplyQuickFilterFnV7:void 0}),D2="__detail_panel_toggle__",ro=e=>e.editRows,Sft=["selected","hovered","rowId","row","index","style","position","rowHeight","className","visibleColumns","renderedColumns","containerWidth","firstColumnToRender","lastColumnToRender","isLastVisible","focusedCellColumnIndexNotInRange","isNotVisible","focusedCell","tabbableCell","onClick","onDoubleClick","onMouseEnter","onMouseLeave","onMouseOut","onMouseOver"],Pft=e=>{const{editable:t,editing:n,selected:r,isLastVisible:o,rowHeight:i,classes:a}=e;return de({root:["row",r&&"selected",t&&"row--editable",n&&"row--editing",o&&"row--lastVisible",i==="auto"&&"row--dynamicHeight"]},Lt,a)};function Eft({width:e}){if(!e)return null;const t={width:e};return k.jsx("div",{className:`${X.cell} ${X.withBorderColor}`,style:t})}const Oft=g.forwardRef(function(t,n){const{selected:r,hovered:o,rowId:i,row:a,index:s,style:l,position:c,rowHeight:u,className:d,visibleColumns:f,renderedColumns:p,containerWidth:h,firstColumnToRender:m,isLastVisible:v=!1,focusedCellColumnIndexNotInRange:b,isNotVisible:y,focusedCell:w,onClick:C,onDoubleClick:O,onMouseEnter:P,onMouseLeave:E,onMouseOut:T,onMouseOver:$}=t,M=q(t,Sft),D=Nt(),L=g.useRef(null),N=Ze(),R=Dd(D,N),I=Ue(D,w2),A=Ue(D,Mi),F=Ue(D,aP),_=Ue(D,ub),j=Ue(D,ro),B=Ot(L,n),U=s+_+2,H={selected:r,hovered:o,isLastVisible:v,classes:N.classes,editing:D.current.getRowMode(i)===nn.Edit,editable:N.editMode===Cs.Row,rowHeight:u},K=Pft(H);g.useLayoutEffect(()=>{u==="auto"&&L.current&&typeof ResizeObserver>"u"&&D.current.unstable_storeRowHeightMeasurement(i,L.current.clientHeight,c)},[D,u,i,c]),g.useLayoutEffect(()=>{if(R.range){const Ae=D.current.getRowIndexRelativeToVisibleRows(i);Ae!=null&&D.current.unstable_setLastMeasuredRowIndex(Ae)}const ne=L.current;if(!ne||u!=="auto"||typeof ResizeObserver>"u")return;const ge=new ResizeObserver(Ae=>{const[Ve]=Ae,ze=Ve.borderBoxSize&&Ve.borderBoxSize.length>0?Ve.borderBoxSize[0].blockSize:Ve.contentRect.height;D.current.unstable_storeRowHeightMeasurement(i,ze,c)});return ge.observe(ne),()=>ge.disconnect()},[D,R.range,s,u,i,c]);const J=g.useCallback((ne,se)=>ge=>{db(ge)||D.current.getRow(i)&&(D.current.publishEvent(ne,D.current.getRowParams(i),ge),se&&se(ge))},[D,i]),oe=g.useCallback(ne=>{const se=qst(ne.target,X.cell),ge=se==null?void 0:se.getAttribute("data-field");if(ge){if(ge===om.field||ge===D2||ge==="__reorder__"||D.current.getCellMode(i,ge)===ln.Edit)return;const Ae=D.current.getColumn(ge);if((Ae==null?void 0:Ae.type)===uP)return}J("rowClick",C)(ne)},[D,C,J,i]),{slots:ae,slotProps:Z,disableColumnReorder:ue}=N,re=ae.cell===e$?e$:rlt,pe=N.rowReordering,le=(ne,se)=>{var ge,Ae;const Ve=ue&&ne.disableReorder||!pe&&!!A.length&&F>1&&Object.keys(j).length>0,ze=(ge=(Ae=j[i])==null?void 0:Ae[ne.field])!=null?ge:null;let Ie=!1;return b!==void 0&&f[b].field===ne.field&&(Ie=!0),k.jsx(re,S({column:ne,width:se.width,rowId:i,height:u,showRightBorder:se.showRightBorder,align:ne.align||"left",colIndex:se.indexRelativeToAllColumns,colSpan:se.colSpan,disableDragEvents:Ve,editCellState:ze,isNotVisible:Ie},Z==null?void 0:Z.cell),ne.field)},G=Ue(D,()=>S({},D.current.unstable_getRowInternalSizes(i)),x2);let te=u;if(te==="auto"&&G){let ne=0;const se=Object.entries(G).reduce((ge,[Ae,Ve])=>/^base[A-Z]/.test(Ae)?(ne+=1,Ve>ge?Ve:ge):ge,0);se>0&&ne>1&&(te=se)}const fe=g.useMemo(()=>{if(y)return{opacity:0,width:0,height:0};const ne=S({},l,{maxHeight:u==="auto"?"none":u,minHeight:te});if(G!=null&&G.spacingTop){const se=N.rowSpacingType==="border"?"borderTopWidth":"marginTop";ne[se]=G.spacingTop}if(G!=null&&G.spacingBottom){const se=N.rowSpacingType==="border"?"borderBottomWidth":"marginBottom";let ge=ne[se];typeof ge!="number"&&(ge=parseInt(ge||"0",10)),ge+=G.spacingBottom,ne[se]=ge}return ne},[y,u,l,te,G,N.rowSpacingType]),he=D.current.unstable_applyPipeProcessors("rowClassName",[],i);if(typeof N.getRowClassName=="function"){var ce;const ne=s-(((ce=R.range)==null?void 0:ce.firstRowIndex)||0),se=S({},D.current.getRowParams(i),{isFirstVisible:ne===0,isLastVisible:ne===R.rows.length-1,indexRelativeToCurrentPage:ne});he.push(N.getRowClassName(se))}const be=Nct(1e4,20,80),ye=D.current.getRowNode(i);if(!ye)return null;const Me=ye.type,Re=[];for(let ne=0;ne0&&k.jsx(Eft,{width:_e})]}))}),Tft=cP(Oft);function kft({privateApiRef:e,props:t,children:n}){const r=g.useRef(e.current.getPublicApi());return k.jsx(nJ.Provider,{value:t,children:k.jsx(rJ.Provider,{value:e,children:k.jsx(tJ.Provider,{value:r,children:n})})})}const Ift=_ct()&&window.localStorage.getItem("DEBUG")!=null,ig=()=>{},$ft={debug:ig,info:ig,warn:ig,error:ig},cV=["debug","info","warn","error"];function uV(e,t,n=console){const r=cV.indexOf(t);if(r===-1)throw new Error(`MUI: Log level ${t} not recognized.`);return cV.reduce((i,a,s)=>(s>=r?i[a]=(...l)=>{const[c,...u]=l;n[a](`MUI: ${e} - ${c}`,...u)}:i[a]=ig,i),{})}const Mft=(e,t)=>{const n=g.useCallback(r=>Ift?uV(r,"debug",t.logger):t.logLevel?uV(r,t.logLevel.toString(),t.logger):$ft,[t.logLevel,t.logger]);St(e,{getLogger:n},"private")};class N2{static create(t){return new N2(t)}constructor(t){this.value=void 0,this.listeners=void 0,this.subscribe=n=>(this.listeners.add(n),()=>{this.listeners.delete(n)}),this.getSnapshot=()=>this.value,this.update=n=>{this.value=n,this.listeners.forEach(r=>r(n))},this.value=t,this.listeners=new Set}}class Aft{constructor(){this.maxListeners=20,this.warnOnce=!1,this.events={}}on(t,n,r={}){let o=this.events[t];o||(o={highPriority:new Map,regular:new Map},this.events[t]=o),r.isFirst?o.highPriority.set(n,!0):o.regular.set(n,!0)}removeListener(t,n){this.events[t]&&(this.events[t].regular.delete(n),this.events[t].highPriority.delete(n))}removeAllListeners(){this.events={}}emit(t,...n){const r=this.events[t];if(!r)return;const o=Array.from(r.highPriority.keys()),i=Array.from(r.regular.keys());for(let a=o.length-1;a>=0;a-=1){const s=o[a];r.highPriority.has(s)&&s.apply(this,n)}for(let a=0;ae.isPropagationStopped!==void 0;let dV=0;function _ft(e){var t;const n=(t=e.current)==null?void 0:t[XJ];if(n)return n;const r={},o={state:r,store:N2.create(r),instanceId:{id:dV}};return dV+=1,o.getPublicApi=()=>e.current,o.register=(i,a)=>{Object.keys(a).forEach(s=>{const l=a[s],c=o[s];if((c==null?void 0:c.spying)===!0?c.target=l:o[s]=l,i==="public"){const u=e.current,d=u[s];(d==null?void 0:d.spying)===!0?d.target=l:u[s]=l}})},o.register("private",{caches:{},eventManager:new Aft}),o}function Dft(e){return{get state(){return e.current.state},get store(){return e.current.store},get instanceId(){return e.current.instanceId},[XJ]:e.current}}function Nft(e,t){const n=g.useRef(),r=g.useRef();r.current||(r.current=_ft(n)),n.current||(n.current=Dft(r));const o=g.useCallback((...a)=>{const[s,l,c={}]=a;if(c.defaultMuiPrevented=!1,Rft(c)&&c.isPropagationStopped())return;const u=t.signature===gs.DataGridPro?{api:r.current.getPublicApi()}:{};r.current.eventManager.emit(s,l,c,u)},[r,t.signature]),i=g.useCallback((a,s,l)=>{r.current.eventManager.on(a,s,l);const c=r.current;return()=>{c.eventManager.removeListener(a,s)}},[r]);return St(r,{subscribeEvent:i,publishEvent:o},"public"),g.useImperativeHandle(e,()=>n.current,[n]),g.useEffect(()=>{const a=r.current;return()=>{a.publishEvent("unmount")}},[r]),r}const Lft=(e,t)=>{const n=g.useCallback(r=>{if(t.localeText[r]==null)throw new Error(`Missing translation for key ${r}.`);return t.localeText[r]},[t.localeText]);e.current.register("public",{getLocaleText:n})},jft=e=>{const t=g.useRef({}),n=g.useRef(!1),r=g.useCallback(u=>{n.current||!u||(n.current=!0,Object.values(u.appliers).forEach(d=>{d()}),n.current=!1)},[]),o=g.useCallback((u,d,f)=>{t.current[u]||(t.current[u]={processors:new Map,appliers:{}});const p=t.current[u];return p.processors.get(d)!==f&&(p.processors.set(d,f),r(p)),()=>{t.current[u].processors.set(d,null)}},[r]),i=g.useCallback((u,d,f)=>(t.current[u]||(t.current[u]={processors:new Map,appliers:{}}),t.current[u].appliers[d]=f,()=>{const p=t.current[u].appliers,h=q(p,[d].map(cp));t.current[u].appliers=h}),[]),a=g.useCallback(u=>{const d=t.current[u];r(d)},[r]),s=g.useCallback((...u)=>{const[d,f,p]=u;return t.current[d]?Array.from(t.current[d].processors.values()).reduce((m,v)=>v?v(m,p):m,f):f},[]),l={registerPipeProcessor:o,registerPipeApplier:i,requestPipeProcessorsApplication:a},c={unstable_applyPipeProcessors:s};St(e,l,"private"),St(e,c,"public")},Qn=(e,t,n)=>{const r=g.useRef(),o=g.useRef(`mui-${Math.round(Math.random()*1e9)}`),i=g.useCallback(()=>{r.current=e.current.registerPipeProcessor(t,o.current,n)},[e,n,t]);fb(()=>{i()});const a=g.useRef(!0);g.useEffect(()=>(a.current?a.current=!1:i(),()=>{r.current&&(r.current(),r.current=null)}),[i])},L2=(e,t,n)=>{const r=g.useRef(),o=g.useRef(`mui-${Math.round(Math.random()*1e9)}`),i=g.useCallback(()=>{r.current=e.current.registerPipeApplier(t,o.current,n)},[e,n,t]);fb(()=>{i()});const a=g.useRef(!0);g.useEffect(()=>(a.current?a.current=!1:i(),()=>{r.current&&(r.current(),r.current=null)}),[i])},h1=(e,t,n,r)=>{const o=g.useCallback(()=>{e.current.registerStrategyProcessor(t,n,r)},[e,r,n,t]);fb(()=>{o()});const i=g.useRef(!0);g.useEffect(()=>{i.current?i.current=!1:o()},[o])},dd="none",fV={rowTreeCreation:"rowTree",filtering:"rowTree",sorting:"rowTree",visibleRowsLookupCreation:"rowTree"},Fft=e=>{const t=g.useRef(new Map),n=g.useRef({}),r=g.useCallback((l,c,u)=>{const d=()=>{const h=n.current[c],m=q(h,[l].map(cp));n.current[c]=m};n.current[c]||(n.current[c]={});const f=n.current[c],p=f[l];return f[l]=u,!p||p===u||l===e.current.getActiveStrategy(fV[c])&&e.current.publishEvent("activeStrategyProcessorChange",c),d},[e]),o=g.useCallback((l,c)=>{const u=e.current.getActiveStrategy(fV[l]);if(u==null)throw new Error("Can't apply a strategy processor before defining an active strategy");const d=n.current[l];if(!d||!d[u])throw new Error(`No processor found for processor "${l}" on strategy "${u}"`);const f=d[u];return f(c)},[e]),i=g.useCallback(l=>{var c;const d=Array.from(t.current.entries()).find(([,f])=>f.group!==l?!1:f.isAvailable());return(c=d==null?void 0:d[0])!=null?c:dd},[]),a=g.useCallback((l,c,u)=>{t.current.set(c,{group:l,isAvailable:u}),e.current.publishEvent("strategyAvailabilityChange")},[e]);St(e,{registerStrategyProcessor:r,applyStrategyProcessor:o,getActiveStrategy:i,setStrategyAvailability:a},"private")},Bft=(e,t)=>{const n=g.useRef({}),[,r]=g.useState(),o=g.useCallback(u=>{n.current[u.stateId]=u},[]),i=g.useCallback((u,d)=>{let f;if(IJ(u)?f=u(e.current.state):f=u,e.current.state===f)return!1;let p=!1;const h=[];if(Object.keys(n.current).forEach(m=>{const v=n.current[m],b=v.stateSelector(e.current.state,e.current.instanceId),y=v.stateSelector(f,e.current.instanceId);y!==b&&(h.push({stateId:v.stateId,hasPropChanged:y!==v.propModel}),v.propModel!==void 0&&y!==v.propModel&&(p=!0))}),h.length>1)throw new Error(`You're not allowed to update several sub-state in one transaction. You already updated ${h[0].stateId}, therefore, you're not allowed to update ${h.map(m=>m.stateId).join(", ")} in the same transaction.`);if(p||(e.current.state=f,e.current.publishEvent&&e.current.publishEvent("stateChange",f),e.current.store.update(f)),h.length===1){const{stateId:m,hasPropChanged:v}=h[0],b=n.current[m],y=b.stateSelector(f,e.current.instanceId);if(b.propOnChange&&v){const w=t.signature===gs.DataGridPro?{api:e.current,reason:d}:{reason:d};b.propOnChange(y,w)}p||e.current.publishEvent(b.changeEvent,y,{reason:d})}return!p},[e,t.signature]),a=g.useCallback((u,d,f)=>e.current.setState(p=>S({},p,{[u]:d(p[u])}),f),[e]),s=g.useCallback(()=>r(()=>e.current.state),[e]),l={setState:i,forceUpdate:s},c={updateControlState:a,registerControlState:o};St(e,l,"public"),St(e,c,"private")},zft=(e,t)=>{const n=Nft(e,t);return Mft(n,t),Bft(n,t),jft(n),Fft(n),Lft(n,t),n.current.register("private",{rootProps:t}),n},bo=(e,t,n)=>{const r=g.useRef(!1);r.current||(t.current.state=e(t.current.state,n,t),r.current=!0)},Vft=/(\d+)-(\d+)-(\d+)/,Hft=/(\d+)-(\d+)-(\d+)T(\d+):(\d+)/;function af(e,t,n,r){if(!e.value)return null;const[o,i,a,s,l]=e.value.match(n?Hft:Vft).slice(1).map(Number),c=new Date(o,i-1,a,s||0,l||0).getTime();return u=>{if(!u)return!1;if(r)return t(u.getTime(),c);const f=new Date(u).setHours(n?u.getHours():0,n?u.getMinutes():0,0,0);return t(f,c)}}const JJ=e=>hb([{value:"is",getApplyFilterFnV7:t=>af(t,(n,r)=>n===r,e),InputComponent:of,InputComponentProps:{type:e?"datetime-local":"date"}},{value:"not",getApplyFilterFnV7:t=>af(t,(n,r)=>n!==r,e),InputComponent:of,InputComponentProps:{type:e?"datetime-local":"date"}},{value:"after",getApplyFilterFnV7:t=>af(t,(n,r)=>n>r,e),InputComponent:of,InputComponentProps:{type:e?"datetime-local":"date"}},{value:"onOrAfter",getApplyFilterFnV7:t=>af(t,(n,r)=>n>=r,e),InputComponent:of,InputComponentProps:{type:e?"datetime-local":"date"}},{value:"before",getApplyFilterFnV7:t=>af(t,(n,r)=>naf(t,(n,r)=>n<=r,e),InputComponent:of,InputComponentProps:{type:e?"datetime-local":"date"}},{value:"isEmpty",getApplyFilterFnV7:()=>t=>t==null,requiresFilterValue:!1},{value:"isNotEmpty",getApplyFilterFnV7:()=>t=>t!=null,requiresFilterValue:!1}]);function ZJ({value:e,columnType:t,rowId:n,field:r}){if(!(e instanceof Date))throw new Error([`MUI: \`${t}\` column type only accepts \`Date\` objects as values.`,"Use `valueGetter` to transform the value into a `Date` object.",`Row ID: ${n}, field: "${r}".`].join(` -`))}function Uft({value:e,field:t,id:n}){return e?(ZJ({value:e,columnType:"date",rowId:n,field:t}),e.toLocaleDateString()):""}function Wft({value:e,field:t,id:n}){return e?(ZJ({value:e,columnType:"dateTime",rowId:n,field:t}),e.toLocaleString()):""}const Gft=S({},Ra,{type:"date",sortComparator:jJ,valueFormatter:Uft,filterOperators:JJ(),renderEditCell:wJ,pastedValueParser:e=>new Date(e)}),qft=S({},Ra,{type:"dateTime",sortComparator:jJ,valueFormatter:Wft,filterOperators:JJ(!0),renderEditCell:wJ,pastedValueParser:e=>new Date(e)}),Jl=e=>e==null?null:Number(e),pV=pb(e=>e==null||Number.isNaN(e)||e===""?null:t=>Jl(t)===Jl(e)),Kft=()=>hb([{value:"=",getApplyFilterFnV7:e=>e.value==null||Number.isNaN(e.value)?null:t=>Jl(t)===e.value,InputComponent:ts,InputComponentProps:{type:"number"}},{value:"!=",getApplyFilterFnV7:e=>e.value==null||Number.isNaN(e.value)?null:t=>Jl(t)!==e.value,InputComponent:ts,InputComponentProps:{type:"number"}},{value:">",getApplyFilterFnV7:e=>e.value==null||Number.isNaN(e.value)?null:t=>t==null?!1:Jl(t)>e.value,InputComponent:ts,InputComponentProps:{type:"number"}},{value:">=",getApplyFilterFnV7:e=>e.value==null||Number.isNaN(e.value)?null:t=>t==null?!1:Jl(t)>=e.value,InputComponent:ts,InputComponentProps:{type:"number"}},{value:"<",getApplyFilterFnV7:e=>e.value==null||Number.isNaN(e.value)?null:t=>t==null?!1:Jl(t)e.value==null||Number.isNaN(e.value)?null:t=>t==null?!1:Jl(t)<=e.value,InputComponent:ts,InputComponentProps:{type:"number"}},{value:"isEmpty",getApplyFilterFnV7:()=>e=>e==null,requiresFilterValue:!1},{value:"isNotEmpty",getApplyFilterFnV7:()=>e=>e!=null,requiresFilterValue:!1},{value:"isAnyOf",getApplyFilterFnV7:e=>!Array.isArray(e.value)||e.value.length===0?null:t=>t!=null&&e.value.includes(Number(t)),InputComponent:WJ,InputComponentProps:{type:"number"}}]),Yft=S({},Ra,{type:"number",align:"right",headerAlign:"right",sortComparator:LJ,valueParser:e=>e===""?null:Number(e),valueFormatter:({value:e})=>Rct(e)?e.toLocaleString():e||"",filterOperators:Kft(),getApplyQuickFilterFn:GJ(pV),getApplyQuickFilterFnV7:pV}),sf=e=>e==null||!I2(e)?e:e.value,Qft=()=>hb([{value:"is",getApplyFilterFnV7:e=>e.value==null||e.value===""?null:t=>sf(t)===sf(e.value),InputComponent:rV},{value:"not",getApplyFilterFnV7:e=>e.value==null||e.value===""?null:t=>sf(t)!==sf(e.value),InputComponent:rV},{value:"isAnyOf",getApplyFilterFnV7:e=>{if(!Array.isArray(e.value)||e.value.length===0)return null;const t=e.value.map(sf);return n=>t.includes(sf(n))},InputComponent:Hdt}]),Xft=e=>typeof e[0]=="object",Jft=e=>I2(e)?e.value:e,Zft=e=>I2(e)?e.label:String(e),ept=S({},Ra,{type:"singleSelect",getOptionLabel:Zft,getOptionValue:Jft,valueFormatter(e){const{id:t,field:n,value:r,api:o}=e,i=e.api.getColumn(n);if(!Wu(i))return"";let a;if(typeof i.valueOptions=="function"?a=i.valueOptions({id:t,row:t?o.getRow(t):null,field:n}):a=i.valueOptions,r==null)return"";if(!a)return r;if(!Xft(a))return i.getOptionLabel(r);const s=a.find(l=>i.getOptionValue(l)===r);return s?i.getOptionLabel(s):""},renderEditCell:Rlt,filterOperators:Qft(),pastedValueParser:(e,t)=>{const n=t.colDef,r=n.valueOptions,o=typeof r=="function"?r({field:n.field}):r||[],i=n.getOptionValue;if(o.find(s=>i(s)===e))return e}}),eZ="__default__",tpt=()=>({string:Ra,number:Yft,date:Gft,dateTime:qft,boolean:QJ,singleSelect:ept,[uP]:Cft,[eZ]:Ra});function o$(e,t){if(typeof e=="string"){if(t.shouldAppendQuotes||t.escapeFormulas){const n=e.replace(/"/g,'""');return[t.delimiter,` -`,"\r",'"'].some(r=>e.includes(r))?`"${n}"`:t.escapeFormulas&&["=","+","-","@"," ","\r"].includes(n[0])?`'${n}`:n}return e}return e}const tZ=(e,t)=>{const{csvOptions:n,ignoreValueFormatter:r}=t;let o;if(r){var i;const s=e.colDef.type;if(s==="number")o=String(e.value);else if(s==="date"||s==="dateTime"){var a;o=(a=e.value)==null?void 0:a.toISOString()}else typeof((i=e.value)==null?void 0:i.toString)=="function"?o=e.value.toString():o=e.value}else o=e.formattedValue;return o$(o,n)};Rs(["MUI: When the value of a field is an object or a `renderCell` is provided, the CSV export might not display the value correctly.","You can provide a `valueFormatter` with a string representation to be used."]);class i${constructor(t){this.options=void 0,this.rowString="",this.isEmpty=!0,this.options=t}addValue(t){this.isEmpty||(this.rowString+=this.options.csvOptions.delimiter),t==null?this.rowString+="":typeof this.options.sanitizeCellValue=="function"?this.rowString+=this.options.sanitizeCellValue(t,this.options.csvOptions):this.rowString+=t,this.isEmpty=!1}getRowString(){return this.rowString}}const npt=({id:e,columns:t,getCellParams:n,csvOptions:r,ignoreValueFormatter:o})=>{const i=new i$({csvOptions:r});return t.forEach(a=>{const s=n(e,a.field);i.addValue(tZ(s,{ignoreValueFormatter:o,csvOptions:r}))}),i.getRowString()};function rpt(e){const{columns:t,rowIds:n,csvOptions:r,ignoreValueFormatter:o,apiRef:i}=e,a=n.reduce((d,f)=>`${d}${npt({id:f,columns:t,getCellParams:i.current.getCellParams,ignoreValueFormatter:o,csvOptions:r})}\r -`,"").trim();if(!r.includeHeaders)return a;const s=t.filter(d=>d.field!==om.field),l=[];if(r.includeColumnGroupsHeaders){const d=i.current.unstable_getAllGroupDetails();let f=0;const p=s.reduce((h,m)=>{const v=i.current.unstable_getColumnGroupPath(m.field);return h[m.field]=v,f=Math.max(f,v.length),h},{});for(let h=0;h{const b=(p[v.field]||[])[h],y=d[b];m.addValue(y?y.headerName||y.groupId:"")})}}const c=new i$({csvOptions:r,sanitizeCellValue:o$});return s.forEach(d=>{c.addValue(d.headerName||d.field)}),l.push(c),`${`${l.map(d=>d.getRowString()).join(`\r +return result$$;`.replaceAll("$$",String(Tq)));return Tq+=1,(s,l)=>i(o,s,l)},nce=e=>e.quickFilterExcludeHiddenColumns??!0,yCt=(e,t)=>{var s;const n=((s=e.quickFilterValues)==null?void 0:s.filter(Boolean))??[];if(n.length===0)return null;const r=nce(e)?Eb(t):Nu(t),o=[],{ignoreDiacritics:i}=t.current.rootProps,a=ece(t);return r.forEach(l=>{const c=t.current.getColumn(l),u=c==null?void 0:c.getApplyQuickFilterFn;u&&o.push({column:c,appliers:n.map(d=>{const f=i?eS(d):d;return{fn:u(f,c,a)}})})}),function(c,u){const d={};e:for(let f=0;f{const r=gCt(e,t,n),o=yCt(e,t);return function(a,s,l){l.passingFilterItems=(r==null?void 0:r(a,s))??null,l.passingQuickFilterValues=(o==null?void 0:o(a,s))??null}},Eq=e=>e!=null,bCt=(e,t,n)=>(e.cleanedFilterItems||(e.cleanedFilterItems=n.filter(r=>tce(r,t)!==null)),e.cleanedFilterItems),wCt=(e,t,n,r,o)=>{const i=bCt(o,r,n.items),a=e.filter(Eq),s=t.filter(Eq);if(a.length>0){const l=u=>a.some(d=>d[u.id]);if((n.logicOperator??Zx().logicOperator)===ji.And){if(!i.every(l))return!1}else if(!i.some(l))return!1}if(s.length>0&&n.quickFilterValues!=null){const l=u=>s.some(d=>d[u]);if((n.quickFilterLogicOperator??Zx().quickFilterLogicOperator)===ji.And){if(!n.quickFilterValues.every(l))return!1}else if(!n.quickFilterValues.some(l))return!1}return!0},xCt=e=>{if(!e)return null;const t=new RegExp(yO(e),"i");return(n,r,o,i)=>{let a=i.current.getRowFormattedValue(r,o);return i.current.ignoreDiacritics&&(a=eS(a)),a!=null?t.test(a.toString()):!1}},Oq=(e,t)=>n=>{if(!n.value)return null;const r=e?n.value:n.value.trim(),o=new RegExp(yO(r),"i");return i=>{if(i==null)return t;const a=o.test(String(i));return t?!a:a}},Iq=(e,t)=>n=>{if(!n.value)return null;const r=e?n.value:n.value.trim(),o=new Intl.Collator(void 0,{sensitivity:"base",usage:"search"});return i=>{if(i==null)return t;const a=o.compare(r,i.toString())===0;return t?!a:a}},kq=e=>()=>t=>{const n=t===""||t==null;return e?!n:n},SCt=(e=!1)=>[{value:"contains",getApplyFilterFn:Oq(e,!1),InputComponent:Ws},{value:"doesNotContain",getApplyFilterFn:Oq(e,!0),InputComponent:Ws},{value:"equals",getApplyFilterFn:Iq(e,!1),InputComponent:Ws},{value:"doesNotEqual",getApplyFilterFn:Iq(e,!0),InputComponent:Ws},{value:"startsWith",getApplyFilterFn:t=>{if(!t.value)return null;const n=e?t.value:t.value.trim(),r=new RegExp(`^${yO(n)}.*$`,"i");return o=>o!=null?r.test(o.toString()):!1},InputComponent:Ws},{value:"endsWith",getApplyFilterFn:t=>{if(!t.value)return null;const n=e?t.value:t.value.trim(),r=new RegExp(`.*${yO(n)}$`,"i");return o=>o!=null?r.test(o.toString()):!1},InputComponent:Ws},{value:"isEmpty",getApplyFilterFn:kq(!1),requiresFilterValue:!1},{value:"isNotEmpty",getApplyFilterFn:kq(!0),requiresFilterValue:!1},{value:"isAnyOf",getApplyFilterFn:t=>{if(!Array.isArray(t.value)||t.value.length===0)return null;const n=e?t.value:t.value.map(o=>o.trim()),r=new Intl.Collator(void 0,{sensitivity:"base",usage:"search"});return o=>o!=null?n.some(i=>r.compare(i,o.toString()||"")===0):!1},InputComponent:Jle}],tc={width:100,minWidth:50,maxWidth:1/0,hideable:!0,sortable:!0,resizable:!0,filterable:!0,groupable:!0,pinnable:!0,aggregable:!0,editable:!1,sortComparator:sCt,type:"string",align:"left",filterOperators:SCt(),renderEditCell:tCt,getApplyQuickFilterFn:xCt},CCt=["open","target","onClose","children","position","className","onExited"],PCt=e=>{const{classes:t}=e;return vn({root:["menu"]},bn,t)},TCt=oe(Hf,{name:"MuiDataGrid",slot:"Menu",overridesResolver:(e,t)=>t.menu})(({theme:e})=>({zIndex:e.zIndex.modal,[`& .${se.menuList}`]:{outline:0}})),ECt={"bottom-start":"top left","bottom-end":"top right"};function rce(e){var g;const{open:t,target:n,onClose:r,children:o,position:i,className:a,onExited:s}=e,l=At(e,CCt),c=mn(),u=xt(),d=PCt(u),f=y.useRef(null);_o(()=>{var v,w;t?f.current=document.activeElement instanceof HTMLElement?document.activeElement:null:((w=(v=f.current)==null?void 0:v.focus)==null||w.call(v),f.current=null)},[t]),y.useEffect(()=>{const v=t?"menuOpen":"menuClose";c.current.publishEvent(v,{target:n})},[c,t,n]);const p=v=>w=>{v&&v(),s&&s(w)},m=v=>{v.target&&(n===v.target||n!=null&&n.contains(v.target))||r(v)};return $.jsx(TCt,W({as:u.slots.basePopper,className:de(d.root,a),ownerState:u,open:t,anchorEl:n,transition:!0,placement:i},l,(g=u.slotProps)==null?void 0:g.basePopper,{children:({TransitionProps:v,placement:w})=>$.jsx(qF,{onClickAway:m,mouseEvent:"onMouseDown",children:$.jsx(kf,W({},v,{style:{transformOrigin:ECt[w]},onExited:p(v==null?void 0:v.onExited),children:$.jsx(uo,{children:o})}))})}))}const OCt=["api","colDef","id","hasFocus","isEditable","field","value","formattedValue","row","rowNode","cellMode","tabIndex","position","focusElementRef"],ICt=e=>typeof e.getActions=="function";function kCt(e){var _;const{colDef:t,id:n,hasFocus:r,tabIndex:o,position:i="bottom-end",focusElementRef:a}=e,s=At(e,OCt),[l,c]=y.useState(-1),[u,d]=y.useState(!1),f=mn(),p=y.useRef(null),m=y.useRef(null),g=y.useRef(!1),v=y.useRef({}),w=nr(),x=yo(),S=yo(),P=xt();if(!ICt(t))throw new Error("MUI X: Missing the `getActions` property in the `GridColDef`.");const T=t.getActions(f.current.getRowParams(n)),E=T.filter(D=>!D.props.showInMenu),O=T.filter(D=>D.props.showInMenu),k=E.length+(O.length?1:0);y.useLayoutEffect(()=>{r||Object.entries(v.current).forEach(([D,z])=>{z==null||z.stop({},()=>{delete v.current[D]})})},[r]),y.useEffect(()=>{if(l<0||!p.current||l>=p.current.children.length)return;p.current.children[l].focus({preventScroll:!0})},[l]),y.useEffect(()=>{r||(c(-1),g.current=!1)},[r]),y.useImperativeHandle(a,()=>({focus(){if(!g.current){const D=T.findIndex(z=>!z.props.disabled);c(D)}}}),[T]),y.useEffect(()=>{l>=k&&c(k-1)},[l,k]);const A=()=>{d(!0),c(k-1),g.current=!0},I=()=>{d(!1)},R=D=>z=>{v.current[D]=z},N=(D,z)=>F=>{c(D),g.current=!0,z&&z(F)},L=D=>{if(k<=1)return;const z=(H,U)=>{var ae;if(H<0||H>T.length)return H;const X=(U==="left"?-1:1)*(w?-1:1);return(ae=T[H+X])!=null&&ae.props.disabled?z(H+X,U):H+X};let F=l;D.key==="ArrowRight"?F=z(l,"right"):D.key==="ArrowLeft"&&(F=z(l,"left")),!(F<0||F>=k)&&F!==l&&(D.preventDefault(),D.stopPropagation(),c(F))},j=D=>{D.key==="Tab"&&D.preventDefault(),["Tab","Escape"].includes(D.key)&&I()};return $.jsxs("div",W({role:"menu",ref:p,tabIndex:-1,className:se.actionsCell,onKeyDown:L},s,{children:[E.map((D,z)=>y.cloneElement(D,{key:z,touchRippleRef:R(z),onClick:N(z,D.props.onClick),tabIndex:l===z?o:-1})),O.length>0&&S&&$.jsx(P.slots.baseIconButton,W({ref:m,id:S,"aria-label":f.current.getLocaleText("actionsCellMore"),"aria-haspopup":"menu","aria-expanded":u,"aria-controls":u?x:void 0,role:"menuitem",size:"small",onClick:A,touchRippleRef:R(S),tabIndex:l===E.length?o:-1},(_=P.slotProps)==null?void 0:_.baseIconButton,{children:$.jsx(P.slots.moreActionsIcon,{fontSize:"small"})})),O.length>0&&$.jsx(rce,{open:u,target:m.current,position:i,onClose:I,children:$.jsx(kS,{id:x,className:se.menuList,onKeyDown:j,"aria-labelledby":S,variant:"menu",autoFocusItem:!0,children:O.map((D,z)=>y.cloneElement(D,{key:z,closeMenu:I}))})})]}))}const MCt=e=>$.jsx(kCt,W({},e)),uM="actions",ACt=W({},tc,{sortable:!1,filterable:!1,aggregable:!1,width:100,display:"flex",align:"center",headerAlign:"center",headerName:"",disableColumnMenu:!0,disableExport:!0,renderCell:MCt,getApplyQuickFilterFn:void 0}),wl=e=>e.rows,dM=Dt(wl,e=>e.totalRowCount),$Ct=Dt(wl,e=>e.loading),RCt=Dt(wl,e=>e.totalTopLevelRowCount),uf=Dt(wl,e=>e.dataRowIdToModelLookup),vO=Dt(wl,e=>e.dataRowIdToIdLookup),xi=Dt(wl,e=>e.tree),_Ct=Dt(wl,e=>e.groupsToFetch),DCt=Dt(wl,e=>e.groupingName),Mq=Dt(wl,e=>e.treeDepths),Ob=sr(wl,e=>{const t=Object.entries(e.treeDepths);return t.length===0?1:t.filter(([,n])=>n>0).map(([n])=>Number(n)).sort((n,r)=>r-n)[0]+1}),hP=Dt(wl,e=>e.dataRowIds),NCt=Dt(wl,e=>e==null?void 0:e.additionalRowGroups),mm=sr(NCt,e=>{var n,r;const t=e==null?void 0:e.pinnedRows;return{bottom:((n=t==null?void 0:t.bottom)==null?void 0:n.map(o=>({id:o.id,model:o.model??{}})))??[],top:((r=t==null?void 0:t.top)==null?void 0:r.map(o=>({id:o.id,model:o.model??{}})))??[]}}),LCt=Dt(mm,e=>{var t,n;return(((t=e==null?void 0:e.top)==null?void 0:t.length)||0)+(((n=e==null?void 0:e.bottom)==null?void 0:n.length)||0)}),oi="auto-generated-group-node-root",hy=Symbol("mui.id_autogenerated"),FCt=()=>({type:"group",id:oi,depth:-1,groupingField:null,groupingKey:null,isAutoGenerated:!0,children:[],childrenFromPath:{},childrenExpanded:!0,parent:null});function jCt(e,t,n="A row was provided without id in the rows prop:"){if(e==null)throw new Error(["MUI X: The Data Grid component requires all rows to have a unique `id` property.","Alternatively, you can use the `getRowId` prop to specify a custom id for each row.",n,JSON.stringify(t)].join(` +`))}const fM=(e,t,n)=>{const r=t?t(e):e.id;return jCt(r,e,n),r},JP=({rows:e,getRowId:t,loading:n,rowCount:r})=>{const o={type:"full",rows:[]},i={},a={};for(let s=0;s{const n=e[oi];return Math.max(t,n.children.length+(n.footerId==null?0:1))},ice=({apiRef:e,rowCountProp:t=0,loadingProp:n,previousTree:r,previousTreeDepths:o,previousGroupsToFetch:i})=>{const a=e.current.caches.rows,{tree:s,treeDepths:l,dataRowIds:c,groupingName:u,groupsToFetch:d=[]}=e.current.applyStrategyProcessor("rowTreeCreation",{previousTree:r,previousTreeDepths:o,updates:a.updates,dataRowIdToIdLookup:a.dataRowIdToIdLookup,dataRowIdToModelLookup:a.dataRowIdToModelLookup,previousGroupsToFetch:i}),f=e.current.unstable_applyPipeProcessors("hydrateRows",{tree:s,treeDepths:l,dataRowIdToIdLookup:a.dataRowIdToIdLookup,dataRowIds:c,dataRowIdToModelLookup:a.dataRowIdToModelLookup});return e.current.caches.rows.updates={type:"partial",actions:{insert:[],modify:[],remove:[]},idToActionLookup:{}},W({},f,{totalRowCount:Math.max(t,f.dataRowIds.length),totalTopLevelRowCount:oce({tree:f.tree,rowCountProp:t}),groupingName:u,loading:n,groupsToFetch:d})},Ov=e=>e.type==="skeletonRow"||e.type==="footer"||e.type==="group"&&e.isAutoGenerated||e.type==="pinnedRow"&&e.isAutoGenerated,Nz=(e,t,n)=>{const r=e[t];if(r.type!=="group")return[];const o=[];for(let i=0;i{if(e.updates.type==="full")throw new Error("MUI X: Unable to prepare a partial update if a full update is not applied yet.");const o=new Map;n.forEach(u=>{const d=fM(u,t,"A row was provided without id when calling updateRows():");o.has(d)?o.set(d,W({},o.get(d),u)):o.set(d,u)});const i={type:"partial",actions:{insert:[...e.updates.actions.insert??[]],modify:[...e.updates.actions.modify??[]],remove:[...e.updates.actions.remove??[]]},idToActionLookup:W({},e.updates.idToActionLookup),groupKeys:r},a=W({},e.dataRowIdToModelLookup),s=W({},e.dataRowIdToIdLookup),l={insert:{},modify:{},remove:{}};o.forEach((u,d)=>{const f=i.idToActionLookup[d];if(u._action==="delete"){if(f==="remove"||!a[d])return;f!=null&&(l[f][d]=!0),i.actions.remove.push(d),delete a[d],delete s[d];return}const p=a[d];if(p){f==="remove"?(l.remove[d]=!0,i.actions.modify.push(d)):f==null&&i.actions.modify.push(d),a[d]=W({},p,u);return}f==="remove"?(l.remove[d]=!0,i.actions.insert.push(d)):f==null&&i.actions.insert.push(d),a[d]=u,s[d]=d});const c=Object.keys(l);for(let u=0;u0&&(i.actions[d]=i.actions[d].filter(p=>!f[p]))}return{dataRowIdToModelLookup:a,dataRowIdToIdLookup:s,updates:i,rowsBeforePartialUpdates:e.rowsBeforePartialUpdates,loadingPropBeforePartialUpdates:e.loadingPropBeforePartialUpdates,rowCountPropBeforePartialUpdates:e.rowCountPropBeforePartialUpdates}};function BCt(e){var o,i;const t=mm(e),n=((o=t==null?void 0:t.top)==null?void 0:o.reduce((a,s)=>(a+=e.current.unstable_getRowHeight(s.id),a),0))||0,r=((i=t==null?void 0:t.bottom)==null?void 0:i.reduce((a,s)=>(a+=e.current.unstable_getRowHeight(s.id),a),0))||0;return{top:n,bottom:r}}function ace(e){return`var(--DataGrid-overlayHeight, ${2*li(e.current.state).rowHeight}px)`}function $q(e,t,n){const r=[];return t.forEach(o=>{const i=fM(o,n,"A row was provided without id when calling updateRows():"),a=e.current.getRowNode(i);if((a==null?void 0:a.type)==="pinnedRow"){const s=e.current.caches.pinnedRows,l=s.idLookup[i];l&&(s.idLookup[i]=W({},l,o))}else r.push(o)}),r}const sce=(e,t,n)=>typeof e=="number"&&e>0?e:t,zCt="__tree_data_group__",lce="__row_group_by_columns_group__",pM="__detail_panel_toggle__",VCt=["id","value","formattedValue","api","field","row","rowNode","colDef","cellMode","isEditable","hasFocus","tabIndex","hideDescendantCount"],HCt=e=>{const{classes:t}=e;return vn({root:["booleanCell"]},bn,t)};function UCt(e){const{value:t,rowNode:n}=e,r=At(e,VCt),o=mn(),i=xt(),a={classes:i.classes},s=HCt(a),c=Ye(o,Ob)>0&&n.type==="group"&&i.treeData===!1,u=y.useMemo(()=>t?i.slots.booleanCellTrueIcon:i.slots.booleanCellFalseIcon,[i.slots.booleanCellFalseIcon,i.slots.booleanCellTrueIcon,t]);return c&&t===void 0?null:$.jsx(u,W({fontSize:"small",className:s.root,titleAccess:o.current.getLocaleText(t?"booleanCellTrueLabel":"booleanCellFalseLabel"),"data-value":!!t},r))}const WCt=y.memo(UCt),GCt=e=>e.field!==lce&&Ov(e.rowNode)?"":$.jsx(WCt,W({},e)),qCt=["id","value","formattedValue","api","field","row","rowNode","colDef","cellMode","isEditable","tabIndex","className","hasFocus","isValidating","isProcessingProps","error","onValueChange"],KCt=e=>{const{classes:t}=e;return vn({root:["editBooleanCell"]},bn,t)};function YCt(e){var w;const{id:t,value:n,field:r,className:o,hasFocus:i,onValueChange:a}=e,s=At(e,qCt),l=mn(),c=y.useRef(null),u=yo(),[d,f]=y.useState(n),p=xt(),m={classes:p.classes},g=KCt(m),v=y.useCallback(async x=>{const S=x.target.checked;a&&await a(x,S),f(S),await l.current.setEditCellValue({id:t,field:r,value:S},x)},[l,r,t,a]);return y.useEffect(()=>{f(n)},[n]),_o(()=>{i&&c.current.focus()},[i]),$.jsx("label",W({htmlFor:u,className:de(g.root,o)},s,{children:$.jsx(p.slots.baseCheckbox,W({id:u,inputRef:c,checked:!!d,onChange:v,size:"small"},(w=p.slotProps)==null?void 0:w.baseCheckbox))}))}const XCt=e=>$.jsx(YCt,W({},e)),QCt=["item","applyValue","apiRef","focusElementRef","isFilterActive","clearButton","tabIndex","label","variant","InputLabelProps"],ZP=e=>{if(String(e).toLowerCase()==="true")return!0;if(String(e).toLowerCase()==="false")return!1},JCt=oe("div")({display:"flex",alignItems:"center",width:"100%","& button":{margin:"auto 0px 5px 5px"}});function ZCt(e){var P,T,E;const{item:t,applyValue:n,apiRef:r,focusElementRef:o,clearButton:i,tabIndex:a,label:s,variant:l="standard"}=e,c=At(e,QCt),[u,d]=y.useState(ZP(t.value)),f=xt(),p=yo(),m=yo(),g=((P=f.slotProps)==null?void 0:P.baseSelect)||{},v=g.native??!1,w=((T=f.slotProps)==null?void 0:T.baseSelectOption)||{},x=y.useCallback(O=>{const k=ZP(O.target.value);d(k),n(W({},t,{value:k}))},[n,t]);y.useEffect(()=>{d(ZP(t.value))},[t.value]);const S=s??r.current.getLocaleText("filterPanelInputLabel");return $.jsxs(JCt,{children:[$.jsxs(f.slots.baseFormControl,{fullWidth:!0,children:[$.jsx(f.slots.baseInputLabel,W({},(E=f.slotProps)==null?void 0:E.baseInputLabel,{id:p,shrink:!0,variant:l,children:S})),$.jsxs(f.slots.baseSelect,W({labelId:p,id:m,label:S,value:u===void 0?"":String(u),onChange:x,variant:l,notched:l==="outlined"?!0:void 0,native:v,displayEmpty:!0,inputProps:{ref:o,tabIndex:a}},c,g,{children:[$.jsx(f.slots.baseSelectOption,W({},w,{native:v,value:"",children:r.current.getLocaleText("filterValueAny")})),$.jsx(f.slots.baseSelectOption,W({},w,{native:v,value:"true",children:r.current.getLocaleText("filterValueTrue")})),$.jsx(f.slots.baseSelectOption,W({},w,{native:v,value:"false",children:r.current.getLocaleText("filterValueFalse")}))]}))]}),i]})}const ePt=()=>[{value:"is",getApplyFilterFn:e=>{const t=ZP(e.value);return t===void 0?null:n=>!!n===t},InputComponent:ZCt}],tPt=(e,t,n,r)=>e?r.current.getLocaleText("booleanCellTrueLabel"):r.current.getLocaleText("booleanCellFalseLabel"),nPt=e=>{switch(e.toLowerCase().trim()){case"true":case"yes":case"1":return!0;case"false":case"no":case"0":case"null":case"undefined":return!1;default:return}},cce=W({},tc,{type:"boolean",display:"flex",align:"center",headerAlign:"center",renderCell:GCt,renderEditCell:XCt,sortComparator:Kle,valueFormatter:tPt,filterOperators:ePt(),getApplyQuickFilterFn:void 0,aggregable:!1,pastedValueParser:e=>nPt(e)}),uce=e=>e.sorting,g1=Dt(uce,e=>e.sortedRows),Lz=sr(g1,uf,xi,(e,t,n)=>e.reduce((r,o)=>{const i=t[o];i&&r.push({id:o,model:i});const a=n[o];return a&&Ov(a)&&r.push({id:o,model:{[hy]:o}}),r},[])),js=Dt(uce,e=>e.sortModel),rPt=sr(js,e=>e.reduce((n,r,o)=>(n[r.field]={sortDirection:r.sort,sortIndex:e.length>1?o+1:void 0},n),{})),hM=e=>e.filter,ti=Dt(hM,e=>e.filterModel);Dt(ti,e=>e.quickFilterValues);const oPt=e=>e.visibleRowsLookup,Ib=Dt(hM,e=>e.filteredRowsLookup);Dt(hM,e=>e.filteredChildrenCountLookup);Dt(hM,e=>e.filteredDescendantCountLookup);const ap=sr(oPt,Lz,(e,t)=>t.filter(n=>e[n.id]!==!1)),my=sr(ap,e=>e.map(t=>t.id)),dce=sr(Ib,Lz,(e,t)=>t.filter(n=>e[n.id]!==!1)),fce=sr(dce,e=>e.map(t=>t.id));sr(my,xi,(e,t)=>{const n={};let r=0;return e.reduce((o,i)=>{const a=t[i];return n[a.depth]||(n[a.depth]=0),a.depth>r&&(n[a.depth]=0),r=a.depth,n[a.depth]+=1,o[i]=n[a.depth],o},{})});const pce=sr(ap,xi,Ob,(e,t,n)=>n<2?e:e.filter(r=>{var o;return((o=t[r.id])==null?void 0:o.depth)===0})),Fz=Dt(ap,e=>e.length),jz=Dt(pce,e=>e.length),iPt=Dt(dce,e=>e.length);Dt(iPt,jz,(e,t)=>e-t);const aPt=sr(ti,dd,(e,t)=>{var n;return(n=e.items)==null?void 0:n.filter(r=>{var a,s;if(!r.field)return!1;const o=t[r.field];if(!(o!=null&&o.filterOperators)||((a=o==null?void 0:o.filterOperators)==null?void 0:a.length)===0)return!1;const i=o.filterOperators.find(l=>l.value===r.operator);return i?!i.InputComponent||r.value!=null&&((s=r.value)==null?void 0:s.toString())!=="":!1})}),sPt=sr(aPt,e=>e.reduce((n,r)=>(n[r.field]?n[r.field].push(r):n[r.field]=[r],n),{})),Bs=e=>e.rowSelection,lPt=Dt(Bs,e=>e.length),cPt=sr(Bs,uf,(e,t)=>new Map(e.map(n=>[n,t[n]]))),Lu=sr(Bs,e=>e.reduce((t,n)=>(t[n]=n,t),{}));function hce(e,t){var l;const n=xi(e),r=g1(e),o=Ib(e),i=n[t];if(!i||i.type!=="group")return[];const a=[],s=r.findIndex(c=>c===t)+1;for(let c=s;ci.depth;c+=1){const u=r[c];o[u]!==!1&&e.current.isRowSelectable(u)&&a.push(u)}return a}function uPt(e,t){return Dt(xi,g1,Ib,Lu,(n,r,o,i)=>{var u;const a=n[e];if(!a||a.type!=="group")return{isIndeterminate:!1,isChecked:i[e]===e};if(i[e]===e)return{isIndeterminate:!1,isChecked:!0};let s=0,l=0;const c=r.findIndex(d=>d===e)+1;for(let d=c;da.depth;d+=1){const f=r[d];o[f]!==!1&&(s+=1,i[f]!==void 0&&(l+=1))}return{isIndeterminate:l>0&&(l0:i[e]===e}})}function Bz(e){return e.signature===ol.DataGrid?e.checkboxSelection&&e.disableMultipleRowSelection!==!0:!e.disableMultipleRowSelection}const dPt=(e,t)=>{const n=[];let r=t;for(;r!=null&&r!==oi;){const o=e[r];if(!o)return n;n.push(r),r=o.parent}return n},fPt=(e,t,n)=>{const r=e[n];if(!r)return[];const o=r.parent;return o==null?[]:e[o].children.filter(a=>a!==n&&t[a])},mP=(e,t,n,r,o,i)=>{const a=Ib(e),s=Lu(e),l=new Set([]);if(!(!r&&!o)){if(r){const c=t[n];(c==null?void 0:c.type)==="group"&&hce(e,n).forEach(d=>{i(d),l.add(d)})}if(o){const c=d=>{if(s[d]!==d&&!l.has(d))return!1;const f=t[d];return(f==null?void 0:f.type)!=="group"?!0:f.children.every(c)},u=d=>{const f=fPt(t,a,d);if(f.length===0||f.every(c)){const m=t[d].parent;m!=null&&m!==oi&&e.current.isRowSelectable(m)&&(i(m),l.add(m),u(m))}};u(n)}}},Rq=(e,t,n,r,o,i)=>{const a=Lu(e);if(!(!o&&!r)&&(o&&dPt(t,n).forEach(l=>{a[l]===l&&i(l)}),r)){const s=t[n];(s==null?void 0:s.type)==="group"&&hce(e,n).forEach(c=>{i(c)})}},pPt=["field","id","formattedValue","row","rowNode","colDef","isEditable","cellMode","hasFocus","tabIndex","api"],hPt=e=>{const{classes:t}=e;return vn({root:["checkboxInput"]},bn,t)},mPt=y.forwardRef(function(t,n){var k,A;const{field:r,id:o,rowNode:i,hasFocus:a,tabIndex:s}=t,l=At(t,pPt),c=mn(),u=xt(),d={classes:u.classes},f=hPt(d),p=y.useRef(null),m=y.useRef(null),g=hm(p,n),v=I=>{const R={value:I.target.checked,id:o};c.current.publishEvent("rowSelectionCheckboxChange",R,I)};y.useLayoutEffect(()=>{if(s===0){const I=c.current.getCellElement(o,r);I&&(I.tabIndex=-1)}},[c,s,o,r]),y.useEffect(()=>{var I;if(a){const R=(I=p.current)==null?void 0:I.querySelector("input");R==null||R.focus({preventScroll:!0})}else m.current&&m.current.stop({})},[a]);const w=y.useCallback(I=>{I.key===" "&&I.stopPropagation()},[]),x=c.current.isRowSelectable(o),S=uPt(o,((k=u.rowSelectionPropagation)==null?void 0:k.parents)??!1),{isIndeterminate:P,isChecked:T}=Ye(c,S);if(i.type==="footer"||i.type==="pinnedRow")return null;const E=c.current.getLocaleText(T?"checkboxSelectionUnselectRow":"checkboxSelectionSelectRow"),O=u.indeterminateCheckboxAction==="select"?T&&!P:T;return $.jsx(u.slots.baseCheckbox,W({ref:g,tabIndex:s,checked:O,onChange:v,className:f.root,inputProps:{"aria-label":E},onKeyDown:w,indeterminate:P,disabled:!x,touchRippleRef:m},(A=u.slotProps)==null?void 0:A.baseCheckbox,l))}),gPt=mPt,mM=e=>e.focus,Fa=Dt(mM,e=>e.cell),yPt=Dt(mM,e=>e.columnHeader);Dt(mM,e=>e.columnHeaderFilter);const bO=Dt(mM,e=>e.columnGroupHeader),gM=e=>e.tabIndex,zz=Dt(gM,e=>e.cell),mce=Dt(gM,e=>e.columnHeader);Dt(gM,e=>e.columnHeaderFilter);const vPt=Dt(gM,e=>e.columnGroupHeader);function Jt(e,t,n){const r=y.useRef(!0);_o(()=>{r.current=!1,e.current.register(n,t)},[e,n,t]),r.current&&e.current.register(n,t)}function Lo(e,t){const n=y.useRef(null);if(n.current)return n.current;const r=e.current.getLogger(t);return n.current=r,r}const gce=(e,t,n,r,o)=>{const i=Lo(e,"useNativeEventListener"),[a,s]=y.useState(!1),l=y.useRef(r),c=Xle(t)?t():(t==null?void 0:t.current)??null,u=y.useCallback(d=>l.current&&l.current(d),[]);y.useEffect(()=>{l.current=r},[r]),y.useEffect(()=>{if(c&&n&&!a){i.debug(`Binding native ${n} event`),c.addEventListener(n,u,o),s(!0);const d=()=>{i.debug(`Clearing native ${n} event`),c.removeEventListener(n,u,o)};e.current.subscribeEvent("unmount",d)}},[c,u,n,a,i,o,e])},y1=e=>{const t=y.useRef(!0);t.current&&(t.current=!1,e())},bPt=()=>{},wPt=(e,t)=>{const n=y.useRef(!1);_o(()=>n.current||!e?bPt:(n.current=!0,t()),[n.current||e])},xPt=100,SPt=e=>e?0:100,yce=(e,t,n)=>t>0&&e>0?Math.ceil(e/t):e===-1?n+2:0,vce=e=>({page:0,pageSize:e?0:100}),CPt=(e,t=0)=>t===0?e:Math.max(Math.min(e,t-1),0),bce=(e,t)=>{if(t===ol.DataGrid&&e>xPt)throw new Error(["MUI X: `pageSize` cannot exceed 100 in the MIT version of the DataGrid.","You need to upgrade to DataGridPro or DataGridPremium component to unlock this feature."].join(` +`))},PPt=-1,yM=e=>e.pagination,Fi=Dt(yM,e=>e.paginationModel),Ug=Dt(yM,e=>e.rowCount),Z0=Dt(yM,e=>e.meta),TPt=Dt(Fi,e=>e.page),EPt=Dt(Fi,e=>e.pageSize),wce=Dt(Fi,Ug,(e,t)=>yce(t,e.pageSize,e.page)),Vz=sr(Fi,xi,Ob,ap,pce,(e,t,n,r,o)=>{var p;const i=o.length,a=Math.min(e.pageSize*e.page,i-1),s=e.pageSize===PPt?i-1:Math.min(a+e.pageSize-1,i-1);if(a===-1||s===-1)return null;if(n<2)return{firstRowIndex:a,lastRowIndex:s};const l=o[a],c=s-a+1,u=r.findIndex(m=>m.id===l.id);let d=u,f=0;for(;d0)&&(d+=1),g===0&&(f+=1))}return{firstRowIndex:u,lastRowIndex:d-1}}),OPt=sr(ap,Vz,(e,t)=>t?e.slice(t.firstRowIndex,t.lastRowIndex+1):[]),xce=sr(my,Vz,(e,t)=>t?e.slice(t.firstRowIndex,t.lastRowIndex+1):[]),IPt=["field","colDef"],kPt=e=>{const{classes:t}=e;return vn({root:["checkboxInput"]},bn,t)},MPt=y.forwardRef(function(t,n){var k;const r=At(t,IPt),[,o]=y.useState(!1),i=mn(),a=xt(),s={classes:a.classes},l=kPt(s),c=Ye(i,mce),u=Ye(i,Bs),d=Ye(i,my),f=Ye(i,xce),p=y.useMemo(()=>typeof a.isRowSelectable!="function"?u:u.filter(A=>i.current.getRow(A)?a.isRowSelectable(i.current.getRowParams(A)):!1),[i,a.isRowSelectable,u]),m=y.useMemo(()=>(!a.pagination||!a.checkboxSelectionVisibleOnly?d:f).reduce((I,R)=>(I[R]=!0,I),{}),[a.pagination,a.checkboxSelectionVisibleOnly,f,d]),g=y.useMemo(()=>p.filter(A=>m[A]).length,[p,m]),v=g>0&&g0,x=A=>{const I={value:A.target.checked};i.current.publishEvent("headerSelectionCheckboxChange",I)},S=c!==null&&c.field===t.field?0:-1;y.useLayoutEffect(()=>{const A=i.current.getColumnHeaderElement(t.field);S===0&&A&&(A.tabIndex=-1)},[S,i,t.field]);const P=y.useCallback(A=>{A.key===" "&&i.current.publishEvent("headerSelectionCheckboxChange",{value:!w})},[i,w]),T=y.useCallback(()=>{o(A=>!A)},[]);y.useEffect(()=>i.current.subscribeEvent("rowSelectionChange",T),[i,T]);const E=i.current.getLocaleText(w?"checkboxSelectionUnselectAllRows":"checkboxSelectionSelectAllRows"),O=a.indeterminateCheckboxAction==="select"?w&&!v:w;return $.jsx(a.slots.baseCheckbox,W({ref:n,indeterminate:v,checked:O,onChange:x,className:l.root,inputProps:{"aria-label":E},tabIndex:S,onKeyDown:P,disabled:!Bz(a)},(k=a.slotProps)==null?void 0:k.baseCheckbox,r))}),bu="__check__",kb=W({},cce,{type:"custom",field:bu,width:50,resizable:!1,sortable:!1,filterable:!1,aggregable:!1,disableColumnMenu:!0,disableReorder:!0,disableExport:!0,getApplyQuickFilterFn:void 0,display:"flex",valueGetter:(e,t,n,r)=>{const o=Lu(r),i=r.current.getRowId(t);return o[i]!==void 0},renderHeader:e=>$.jsx(MPt,W({},e)),renderCell:e=>$.jsx(gPt,W({},e))}),APt=["item","applyValue","type","apiRef","focusElementRef","InputProps","isFilterActive","clearButton","tabIndex","disabled"];function _q(e,t){if(e==null)return"";const n=new Date(e);return Number.isNaN(n.getTime())?"":t==="date"?n.toISOString().substring(0,10):t==="datetime-local"?(n.setMinutes(n.getMinutes()-n.getTimezoneOffset()),n.toISOString().substring(0,19)):n.toISOString().substring(0,10)}function og(e){var S;const{item:t,applyValue:n,type:r,apiRef:o,focusElementRef:i,InputProps:a,clearButton:s,tabIndex:l,disabled:c}=e,u=At(e,APt),d=Tb(),[f,p]=y.useState(()=>_q(t.value,r)),[m,g]=y.useState(!1),v=yo(),w=xt(),x=y.useCallback(P=>{d.clear();const T=P.target.value;p(T),g(!0),d.start(w.filterDebounceMs,()=>{const E=new Date(T);n(W({},t,{value:Number.isNaN(E.getTime())?void 0:E})),g(!1)})},[n,t,w.filterDebounceMs,d]);return y.useEffect(()=>{const P=_q(t.value,r);p(P)},[t.value,r]),$.jsx(w.slots.baseTextField,W({fullWidth:!0,id:v,label:o.current.getLocaleText("filterPanelInputLabel"),placeholder:o.current.getLocaleText("filterPanelInputPlaceholder"),value:f,onChange:x,variant:"standard",type:r||"text",InputLabelProps:{shrink:!0},inputRef:i,InputProps:W({},m||s?{endAdornment:m?$.jsx(w.slots.loadIcon,{fontSize:"small",color:"action"}):s}:{},{disabled:c},a,{inputProps:W({max:r==="datetime-local"?"9999-12-31T23:59":"9999-12-31",tabIndex:l},a==null?void 0:a.inputProps)})},u,(S=w.slotProps)==null?void 0:S.baseTextField))}function ig(e,t,n,r){if(!e.value)return null;const o=new Date(e.value);n?o.setSeconds(0,0):(o.setMinutes(o.getMinutes()+o.getTimezoneOffset()),o.setHours(0,0,0,0));const i=o.getTime();return a=>{if(!a)return!1;if(r)return t(a.getTime(),i);const s=new Date(a);return n?s.setSeconds(0,0):s.setHours(0,0,0,0),t(s.getTime(),i)}}const Sce=e=>[{value:"is",getApplyFilterFn:t=>ig(t,(n,r)=>n===r,e),InputComponent:og,InputComponentProps:{type:e?"datetime-local":"date"}},{value:"not",getApplyFilterFn:t=>ig(t,(n,r)=>n!==r,e),InputComponent:og,InputComponentProps:{type:e?"datetime-local":"date"}},{value:"after",getApplyFilterFn:t=>ig(t,(n,r)=>n>r,e),InputComponent:og,InputComponentProps:{type:e?"datetime-local":"date"}},{value:"onOrAfter",getApplyFilterFn:t=>ig(t,(n,r)=>n>=r,e),InputComponent:og,InputComponentProps:{type:e?"datetime-local":"date"}},{value:"before",getApplyFilterFn:t=>ig(t,(n,r)=>nig(t,(n,r)=>n<=r,e),InputComponent:og,InputComponentProps:{type:e?"datetime-local":"date"}},{value:"isEmpty",getApplyFilterFn:()=>t=>t==null,requiresFilterValue:!1},{value:"isNotEmpty",getApplyFilterFn:()=>t=>t!=null,requiresFilterValue:!1}],$Pt=["id","value","formattedValue","api","field","row","rowNode","colDef","cellMode","isEditable","tabIndex","hasFocus","inputProps","isValidating","isProcessingProps","onValueChange"],RPt=oe(Fv)({fontSize:"inherit"}),_Pt=e=>{const{classes:t}=e;return vn({root:["editInputCell"]},bn,t)};function DPt(e){const{id:t,value:n,field:r,colDef:o,hasFocus:i,inputProps:a,onValueChange:s}=e,l=At(e,$Pt),c=o.type==="dateTime",u=mn(),d=y.useRef(),f=y.useMemo(()=>{let P;n==null?P=null:n instanceof Date?P=n:P=new Date((n??"").toString());let T;return P==null||Number.isNaN(P.getTime())?T="":T=new Date(P.getTime()-P.getTimezoneOffset()*60*1e3).toISOString().substr(0,c?16:10),{parsed:P,formatted:T}},[n,c]),[p,m]=y.useState(f),v={classes:xt().classes},w=_Pt(v),x=y.useCallback(P=>{if(P==="")return null;const[T,E]=P.split("T"),[O,k,A]=T.split("-"),I=new Date;if(I.setFullYear(Number(O),Number(k)-1,Number(A)),I.setHours(0,0,0,0),E){const[R,N]=E.split(":");I.setHours(Number(R),Number(N),0,0)}return I},[]),S=y.useCallback(async P=>{const T=P.target.value,E=x(T);s&&await s(P,E),m({parsed:E,formatted:T}),u.current.setEditCellValue({id:t,field:r,value:E},P)},[u,r,t,s,x]);return y.useEffect(()=>{m(P=>{var T,E;return f.parsed!==P.parsed&&((T=f.parsed)==null?void 0:T.getTime())!==((E=P.parsed)==null?void 0:E.getTime())?f:P})},[f]),_o(()=>{i&&d.current.focus()},[i]),$.jsx(RPt,W({inputRef:d,fullWidth:!0,className:w.root,type:c?"datetime-local":"date",inputProps:W({max:c?"9999-12-31T23:59":"9999-12-31"},a),value:p.formatted,onChange:S},l))}const Cce=e=>$.jsx(DPt,W({},e));function Pce({value:e,columnType:t,rowId:n,field:r}){if(!(e instanceof Date))throw new Error([`MUI X: \`${t}\` column type only accepts \`Date\` objects as values.`,"Use `valueGetter` to transform the value into a `Date` object.",`Row ID: ${n}, field: "${r}".`].join(` +`))}const NPt=(e,t,n,r)=>{if(!e)return"";const o=r.current.getRowId(t);return Pce({value:e,columnType:"date",rowId:o,field:n.field}),e.toLocaleDateString()},LPt=(e,t,n,r)=>{if(!e)return"";const o=r.current.getRowId(t);return Pce({value:e,columnType:"dateTime",rowId:o,field:n.field}),e.toLocaleString()},FPt=W({},tc,{type:"date",sortComparator:Yle,valueFormatter:NPt,filterOperators:Sce(),renderEditCell:Cce,pastedValueParser:e=>new Date(e)}),jPt=W({},tc,{type:"dateTime",sortComparator:Yle,valueFormatter:LPt,filterOperators:Sce(!0),renderEditCell:Cce,pastedValueParser:e=>new Date(e)}),jd=e=>e==null?null:Number(e),BPt=e=>e==null||Number.isNaN(e)||e===""?null:t=>jd(t)===jd(e),zPt=()=>[{value:"=",getApplyFilterFn:e=>e.value==null||Number.isNaN(e.value)?null:t=>jd(t)===e.value,InputComponent:Ws,InputComponentProps:{type:"number"}},{value:"!=",getApplyFilterFn:e=>e.value==null||Number.isNaN(e.value)?null:t=>jd(t)!==e.value,InputComponent:Ws,InputComponentProps:{type:"number"}},{value:">",getApplyFilterFn:e=>e.value==null||Number.isNaN(e.value)?null:t=>t==null?!1:jd(t)>e.value,InputComponent:Ws,InputComponentProps:{type:"number"}},{value:">=",getApplyFilterFn:e=>e.value==null||Number.isNaN(e.value)?null:t=>t==null?!1:jd(t)>=e.value,InputComponent:Ws,InputComponentProps:{type:"number"}},{value:"<",getApplyFilterFn:e=>e.value==null||Number.isNaN(e.value)?null:t=>t==null?!1:jd(t)e.value==null||Number.isNaN(e.value)?null:t=>t==null?!1:jd(t)<=e.value,InputComponent:Ws,InputComponentProps:{type:"number"}},{value:"isEmpty",getApplyFilterFn:()=>e=>e==null,requiresFilterValue:!1},{value:"isNotEmpty",getApplyFilterFn:()=>e=>e!=null,requiresFilterValue:!1},{value:"isAnyOf",getApplyFilterFn:e=>!Array.isArray(e.value)||e.value.length===0?null:t=>t!=null&&e.value.includes(Number(t)),InputComponent:Jle,InputComponentProps:{type:"number"}}],VPt=W({},tc,{type:"number",align:"right",headerAlign:"right",sortComparator:Kle,valueParser:e=>e===""?null:Number(e),valueFormatter:e=>cCt(e)?e.toLocaleString():e||"",filterOperators:zPt(),getApplyQuickFilterFn:BPt});function Iv(e){return(e==null?void 0:e.type)==="singleSelect"}function jh(e,t){if(e)return typeof e.valueOptions=="function"?e.valueOptions(W({field:e.field},t)):e.valueOptions}function wO(e,t,n){if(t===void 0)return;const r=t.find(o=>{const i=n(o);return String(i)===String(e)});return n(r)}const HPt=["id","value","formattedValue","api","field","row","rowNode","colDef","cellMode","isEditable","tabIndex","className","hasFocus","isValidating","isProcessingProps","error","onValueChange","initialOpen"],UPt=["MenuProps"];function WPt(e){return!!e.key}function GPt(e){var N,L;const t=xt(),{id:n,value:r,field:o,row:i,colDef:a,hasFocus:s,error:l,onValueChange:c,initialOpen:u=t.editMode===Gc.Cell}=e,d=At(e,HPt),f=mn(),p=y.useRef(),m=y.useRef(),[g,v]=y.useState(u),x=(((N=t.slotProps)==null?void 0:N.baseSelect)||{}).native??!1,S=((L=t.slotProps)==null?void 0:L.baseSelect)||{},{MenuProps:P}=S,T=At(S,UPt);if(_o(()=>{var j;s&&((j=m.current)==null||j.focus())},[s]),!Iv(a))return null;const E=jh(a,{id:n,row:i});if(!E)return null;const O=a.getOptionValue,k=a.getOptionLabel,A=async j=>{if(!Iv(a)||!E)return;v(!1);const _=j.target,D=wO(_.value,E,O);c&&await c(j,D),await f.current.setEditCellValue({id:n,field:o,value:D},j)},I=(j,_)=>{if(t.editMode===Gc.Row){v(!1);return}if(_==="backdropClick"||j.key==="Escape"){const D=f.current.getCellParams(n,o);f.current.publishEvent("cellEditStop",W({},D,{reason:j.key==="Escape"?_l.escapeKeyDown:_l.cellFocusOut}))}},R=j=>{WPt(j)&&j.key==="Enter"||v(!0)};return!E||!a?null:$.jsx(t.slots.baseSelect,W({ref:p,inputRef:m,value:r,onChange:A,open:g,onOpen:R,MenuProps:W({onClose:I},P),error:l,native:x,fullWidth:!0},d,T,{children:E.map(j=>{var D;const _=O(j);return y.createElement(t.slots.baseSelectOption,W({},((D=t.slotProps)==null?void 0:D.baseSelectOption)||{},{native:x,key:_,value:_}),k(j))})}))}const qPt=e=>$.jsx(GPt,W({},e)),KPt=["item","applyValue","type","apiRef","focusElementRef","placeholder","tabIndex","label","variant","isFilterActive","clearButton","InputLabelProps"],YPt=({column:e,OptionComponent:t,getOptionLabel:n,getOptionValue:r,isSelectNative:o,baseSelectOptionProps:i})=>["",...jh(e)||[]].map(s=>{const l=r(s);let c=n(s);return c===""&&(c=" "),y.createElement(t,W({},i,{native:o,key:l,value:l}),c)}),XPt=oe("div")({display:"flex",alignItems:"flex-end",width:"100%","& button":{margin:"auto 0px 5px 5px"}});function Dq(e){var O,k,A,I,R;const{item:t,applyValue:n,type:r,apiRef:o,focusElementRef:i,placeholder:a,tabIndex:s,label:l,variant:c="standard",clearButton:u}=e,d=At(e,KPt),f=t.value??"",p=yo(),m=yo(),g=xt(),v=((k=(O=g.slotProps)==null?void 0:O.baseSelect)==null?void 0:k.native)??!1;let w=null;if(t.field){const N=o.current.getColumn(t.field);Iv(N)&&(w=N)}const x=w==null?void 0:w.getOptionValue,S=w==null?void 0:w.getOptionLabel,P=y.useMemo(()=>jh(w),[w]),T=y.useCallback(N=>{let L=N.target.value;L=wO(L,P,x),n(W({},t,{value:L}))},[P,x,n,t]);if(!Iv(w))return null;const E=l??o.current.getLocaleText("filterPanelInputLabel");return $.jsxs(XPt,{children:[$.jsxs(g.slots.baseFormControl,{fullWidth:!0,children:[$.jsx(g.slots.baseInputLabel,W({},(A=g.slotProps)==null?void 0:A.baseInputLabel,{id:m,htmlFor:p,shrink:!0,variant:c,children:E})),$.jsx(g.slots.baseSelect,W({id:p,label:E,labelId:m,value:f,onChange:T,variant:c,type:r||"text",inputProps:{tabIndex:s,ref:i,placeholder:a??o.current.getLocaleText("filterPanelInputPlaceholder")},native:v,notched:c==="outlined"?!0:void 0},d,(I=g.slotProps)==null?void 0:I.baseSelect,{children:YPt({column:w,OptionComponent:g.slots.baseSelectOption,getOptionLabel:S,getOptionValue:x,isSelectNative:v,baseSelectOptionProps:(R=g.slotProps)==null?void 0:R.baseSelectOption})}))]}),u]})}const QPt=["item","applyValue","type","apiRef","focusElementRef","color","error","helperText","size","variant"],JPt=["key"],ZPt=JJ();function eTt(e){const{item:t,applyValue:n,apiRef:r,focusElementRef:o,color:i,error:a,helperText:s,size:l,variant:c="standard"}=e,u=At(e,QPt),d={color:i,error:a,helperText:s,size:l,variant:c},f=yo(),p=xt();let m=null;if(t.field){const T=r.current.getColumn(t.field);Iv(T)&&(m=T)}const g=m==null?void 0:m.getOptionValue,v=m==null?void 0:m.getOptionLabel,w=y.useCallback((T,E)=>g(T)===g(E),[g]),x=y.useMemo(()=>jh(m)||[],[m]),S=y.useMemo(()=>Array.isArray(t.value)?t.value.reduce((T,E)=>{const O=x.find(k=>g(k)===E);return O!=null&&T.push(O),T},[]):[],[g,t.value,x]),P=y.useCallback((T,E)=>{n(W({},t,{value:E.map(g)}))},[n,t,g]);return $.jsx(oc,W({multiple:!0,options:x,isOptionEqualToValue:w,filterOptions:ZPt,id:f,value:S,onChange:P,getOptionLabel:v,renderTags:(T,E)=>T.map((O,k)=>{const A=E({index:k}),{key:I}=A,R=At(A,JPt);return $.jsx(p.slots.baseChip,W({variant:"outlined",size:"small",label:v(O)},R),I)}),renderInput:T=>{var E;return $.jsx(p.slots.baseTextField,W({},T,{label:r.current.getLocaleText("filterPanelInputLabel"),placeholder:r.current.getLocaleText("filterPanelInputPlaceholder"),InputLabelProps:W({},T.InputLabelProps,{shrink:!0}),inputRef:o,type:"singleSelect"},d,(E=p.slotProps)==null?void 0:E.baseTextField))}},u))}const ag=e=>e==null||!_z(e)?e:e.value,tTt=()=>[{value:"is",getApplyFilterFn:e=>e.value==null||e.value===""?null:t=>ag(t)===ag(e.value),InputComponent:Dq},{value:"not",getApplyFilterFn:e=>e.value==null||e.value===""?null:t=>ag(t)!==ag(e.value),InputComponent:Dq},{value:"isAnyOf",getApplyFilterFn:e=>{if(!Array.isArray(e.value)||e.value.length===0)return null;const t=e.value.map(ag);return n=>t.includes(ag(n))},InputComponent:eTt}],nTt=e=>typeof e[0]=="object",rTt=e=>_z(e)?e.value:e,oTt=e=>_z(e)?e.label:String(e),iTt=W({},tc,{type:"singleSelect",getOptionLabel:oTt,getOptionValue:rTt,valueFormatter(e,t,n,r){const o=r.current.getRowId(t);if(!Iv(n))return"";const i=jh(n,{id:o,row:t});if(e==null)return"";if(!i)return e;if(!nTt(i))return n.getOptionLabel(e);const a=i.find(s=>n.getOptionValue(s)===e);return a?n.getOptionLabel(a):""},renderEditCell:qPt,filterOperators:tTt(),pastedValueParser:(e,t,n)=>{const r=n,o=jh(r)||[],i=r.getOptionValue;if(o.find(s=>i(s)===e))return e}}),aTt="string",sTt=()=>({string:tc,number:VPt,date:FPt,dateTime:jPt,boolean:cce,singleSelect:iTt,[uM]:ACt,custom:tc}),Hz=e=>e.headerFiltering,lTt=Dt(Hz,e=>(e==null?void 0:e.enabled)??!1),cTt=Dt(Hz,e=>e.editing),uTt=Dt(Hz,e=>e.menuOpen),vM=e=>e.columnGrouping,Tce=sr(vM,e=>(e==null?void 0:e.unwrappedGroupingModel)??{}),Ece=sr(vM,e=>(e==null?void 0:e.lookup)??{}),dTt=sr(vM,e=>(e==null?void 0:e.headerStructure)??[]),v1=Dt(vM,e=>(e==null?void 0:e.maxDepth)??0),Oce=["maxWidth","minWidth","width","flex"],_R=sTt();function fTt({initialFreeSpace:e,totalFlexUnits:t,flexColumns:n}){const r=new Set(n.map(a=>a.field)),o={all:{},frozenFields:[],freeze:a=>{const s=o.all[a];s&&s.frozen!==!0&&(o.all[a].frozen=!0,o.frozenFields.push(a))}};function i(){if(o.frozenFields.length===r.size)return;const a={min:{},max:{}};let s=e,l=t,c=0;o.frozenFields.forEach(u=>{s-=o.all[u].computedWidth,l-=o.all[u].flex});for(let u=0;ud.maxWidth&&(c+=d.maxWidth-p,p=d.maxWidth,a.max[d.field]=!0),o.all[d.field]={frozen:!1,computedWidth:p,flex:d.flex}}c<0?Object.keys(a.max).forEach(u=>{o.freeze(u)}):c>0?Object.keys(a.min).forEach(u=>{o.freeze(u)}):n.forEach(({field:u})=>{o.freeze(u)}),i()}return i(),o.all}const ZN=(e,t)=>{const n={};let r=0,o=0;const i=[];e.orderedFields.forEach(l=>{let c=e.lookup[l],u=0,d=!1;e.columnVisibilityModel[l]!==!1&&(c.flex&&c.flex>0?(r+=c.flex,d=!0):u=Fc(c.width||tc.width,c.minWidth||tc.minWidth,c.maxWidth||tc.maxWidth),o+=u),c.computedWidth!==u&&(c=W({},c,{computedWidth:u})),d&&i.push(c),n[l]=c});const a=t===void 0?0:t.viewportOuterSize.width-(t.hasScrollY?t.scrollbarSize:0),s=Math.max(a-o,0);if(r>0&&a>0){const l=fTt({initialFreeSpace:s,totalFlexUnits:r,flexColumns:i});Object.keys(l).forEach(c=>{n[c].computedWidth=l[c].computedWidth})}return W({},e,{lookup:n})},pTt=(e,t)=>{if(!t)return e;const{orderedFields:n=[],dimensions:r={}}=t,o=Object.keys(r);if(o.length===0&&n.length===0)return e;const i={},a=[];for(let u=0;u!i[u])],l=W({},e.lookup);for(let u=0;u{f[p]=m===-1?1/0:m}),l[d]=f}return W({},e,{orderedFields:s,lookup:l})};function Nq(e){let t=_R[aTt];return e&&_R[e]&&(t=_R[e]),t}const yg=({apiRef:e,columnsToUpsert:t,initialState:n,columnVisibilityModel:r=Qs(e),keepOnlyColumnsToUpsert:o=!1})=>{var u,d;const i=!e.current.state.columns;let a;if(i)a={orderedFields:[],lookup:{},columnVisibilityModel:r};else{const f=Lc(e.current.state);a={orderedFields:o?[]:[...f.orderedFields],lookup:W({},f.lookup),columnVisibilityModel:r}}let s={};o&&!i&&(s=Object.keys(a.lookup).reduce((f,p)=>W({},f,{[p]:!1}),{})),t.forEach(f=>{const{field:p}=f;s[p]=!0;let m=a.lookup[p];m==null?(m=W({},Nq(f.type),{field:p,hasBeenResized:!1}),a.orderedFields.push(p)):o&&a.orderedFields.push(p),m&&m.type!==f.type&&(m=W({},Nq(f.type),{field:p}));let g=m.hasBeenResized;Oce.forEach(v=>{f[v]!==void 0&&(g=!0,f[v]===-1&&(f[v]=1/0))}),a.lookup[p]=Fle(m,W({},f,{hasBeenResized:g}))}),o&&!i&&Object.keys(a.lookup).forEach(f=>{s[f]||delete a.lookup[f]});const l=e.current.unstable_applyPipeProcessors("hydrateColumns",a),c=pTt(l,n);return ZN(c,((d=(u=e.current).getRootDimensions)==null?void 0:d.call(u))??void 0)};function hTt({firstColumnToRender:e,apiRef:t,firstRowToRender:n,lastRowToRender:r,visibleRows:o}){let i=e;for(let a=n;a{const{scrollDirection:t,classes:n}=e,r={root:["scrollArea",`scrollArea--${t}`]};return vn(r,bn,n)},yTt=Qn("div",{name:"MuiDataGrid",slot:"ScrollArea",overridesResolver:(e,t)=>[{[`&.${se["scrollArea--left"]}`]:t["scrollArea--left"]},{[`&.${se["scrollArea--right"]}`]:t["scrollArea--right"]},t.scrollArea]})(()=>({position:"absolute",top:0,zIndex:101,width:20,bottom:0,[`&.${se["scrollArea--left"]}`]:{left:0},[`&.${se["scrollArea--right"]}`]:{right:0}}));function vTt(e){const{scrollDirection:t}=e,n=y.useRef(null),r=mn(),o=Tb(),i=Ye(r,h1),a=Ye(r,$z),s=Ye(r,li),l=y.useRef({left:0,top:0}),c=()=>{if(t==="left")return l.current.left>0;if(t==="right"){const k=a-s.viewportInnerSize.width;return l.current.left{l.current=k,p(c)},T=wr(k=>{let A;if(k.preventDefault(),t==="left")A=k.clientX-n.current.getBoundingClientRect().right;else if(t==="right")A=Math.max(1,k.clientX-n.current.getBoundingClientRect().left);else throw new Error("MUI X: Wrong drag direction");A=(A-Lq)*mTt+Lq,o.start(0,()=>{r.current.scroll({left:l.current.left+A,top:l.current.top})})}),E=wr(()=>{d(!0)}),O=wr(()=>{d(!1)});return ht(r,"scrollPositionChange",P),ht(r,"columnHeaderDragStart",E),ht(r,"columnHeaderDragEnd",O),!u||!f?null:$.jsx(yTt,{ref:n,className:de(v.root),ownerState:g,onDragOver:T,style:S})}const Fq=op(vTt),bTt=typeof window<"u"?y.useLayoutEffect:y.useEffect,wTt=()=>{};function xTt(e,t,n){const r=y.useRef(null);r.current=t,bTt(()=>{if(typeof ResizeObserver>"u")return wTt;const o=e.current,i=new ResizeObserver(a=>{r.current(a)});return o&&i.observe(o),()=>{i.disconnect()}},[e,n])}const Ice=y.createContext(void 0);function xl(){const e=y.useContext(Ice);if(e===void 0)throw new Error(["MUI X: Could not find the Data Grid private context.","It looks like you rendered your component outside of a DataGrid, DataGridPro or DataGridPremium parent component.","This can also happen if you are bundling multiple versions of the Data Grid."].join(` +`));return e}const gy=(e,t)=>{let n,r;return t.pagination&&t.paginationMode==="client"?(r=Vz(e),n=OPt(e)):(n=ap(e),n.length===0?r=null:r={firstRowIndex:0,lastRowIndex:n.length-1}),{rows:n,range:r}},sp=(e,t)=>{const n=gy(e,t);return y.useMemo(()=>({rows:n.rows,range:n.range}),[n.rows,n.range])},STt=typeof navigator<"u"?navigator.userAgent.toLowerCase():"empty",CTt=STt.includes("firefox"),Mb=e=>e.rowsMeta,bM=e=>e.virtualization;Dt(bM,e=>e.enabled);const Wz=Dt(bM,e=>e.enabledForColumns),PTt=Dt(bM,e=>e.enabledForRows),wM=Dt(bM,e=>e.renderContext),TTt=sr(e=>e.virtualization.renderContext.firstColumnIndex,e=>e.virtualization.renderContext.lastColumnIndex,(e,t)=>({firstColumnIndex:e,lastColumnIndex:t})),kce={firstRowIndex:0,lastRowIndex:0,firstColumnIndex:0,lastColumnIndex:0},ETt=(e,t)=>{const{disableVirtualization:n,autoHeight:r}=t;return W({},e,{virtualization:{enabled:!n,enabledForColumns:!n,enabledForRows:!n&&!r,renderContext:kce}})};function OTt(e,t){const n=i=>{e.current.setState(a=>W({},a,{virtualization:W({},a.virtualization,{enabled:i,enabledForColumns:i,enabledForRows:i&&!t.autoHeight})}))};Jt(e,{unstable_setVirtualization:n,unstable_setColumnVirtualization:i=>{e.current.setState(a=>W({},a,{virtualization:W({},a.virtualization,{enabledForColumns:i})}))}},"public"),y.useEffect(()=>{n(!t.disableVirtualization)},[t.disableVirtualization,t.autoHeight])}const Gz=e=>e.rowSpanning,Mce=Dt(Gz,e=>e.hiddenCells),ITt=Dt(Gz,e=>e.spannedCells),kTt=Dt(Gz,e=>e.hiddenCellOriginMap),kv=e=>e.listViewColumn,DR=50;var ao=function(e){return e[e.NONE=0]="NONE",e[e.UP=1]="UP",e[e.DOWN=2]="DOWN",e[e.LEFT=3]="LEFT",e[e.RIGHT=4]="RIGHT",e}(ao||{});const jq={top:0,left:0},MTt=Object.freeze(new Map),ATt=(e,t,n,r,o)=>({direction:ao.NONE,buffer:$ce(e,ao.NONE,t,n,r,o)});let eL=!1;try{typeof window<"u"&&(eL=/jsdom/.test(window.navigator.userAgent))}catch{}const $Tt=()=>{const e=xl(),t=xt(),{unstable_listView:n}=t,r=Ye(e,()=>n?[kv(e.current.state)]:vo(e)),o=Ye(e,PTt)&&!eL,i=Ye(e,Wz)&&!eL,a=Ye(e,li),s=a.viewportOuterSize,l=Ye(e,mm),c=Ye(e,m1),u=n?{left:[],right:[]}:c,d=l.bottom.length>0,[f,p]=y.useState(MTt),m=nr(),g=Ye(e,Fa),v=Ye(e,zz),w=Ye(e,Mb),x=Ye(e,Lu),S=sp(e,t),P=e.current.rootElementRef,T=e.current.mainElementRef,E=e.current.virtualScrollerRef,O=e.current.virtualScrollbarVerticalRef,k=e.current.virtualScrollbarHorizontalRef,A=a.contentSize.height,I=a.columnsTotalWidth,R=Ye(e,X1t);xTt(T,()=>e.current.resize());const N=y.useRef(jq),L=y.useRef(jq),j=y.useRef(kce),_=Ye(e,wM),D=Tb(),z=y.useRef(void 0),F=eu(()=>ATt(m,t.rowBufferPx,t.columnBufferPx,a.rowHeight*15,DR*6)).current,H={rowIndex:y.useMemo(()=>g?S.rows.findIndex(re=>re.id===g.id):-1,[g,S.rows]),columnIndex:y.useMemo(()=>g?r.findIndex(re=>re.field===g.field):-1,[g,r])},U=y.useCallback(re=>{if(DTt(re,e.current.state.virtualization.renderContext))return;const fe=re.firstRowIndex!==j.current.firstRowIndex||re.lastRowIndex!==j.current.lastRowIndex;e.current.setState(ee=>W({},ee,{virtualization:W({},ee.virtualization,{renderContext:re})})),a.isReady&&fe&&(j.current=re,e.current.publishEvent("renderedRowsIntervalChange",re)),L.current=N.current},[e,a.isReady]),q=wr(()=>{const re={top:E.current.scrollTop,left:E.current.scrollLeft},fe=re.left-N.current.left,ee=re.top-N.current.top,ce=fe!==0||ee!==0;N.current=re;const me=ce?NTt(fe,ee):ao.NONE,we=Math.abs(N.current.top-L.current.top),ge=Math.abs(N.current.left-L.current.left),Se=we>=a.rowHeight||ge>=DR,xe=F.direction!==me;if(!(Se||xe))return _;if(xe)switch(me){case ao.NONE:case ao.LEFT:case ao.RIGHT:z.current=void 0;break;default:z.current=_;break}F.direction=me,F.buffer=$ce(m,me,t.rowBufferPx,t.columnBufferPx,a.rowHeight*15,DR*6);const Re=NR(e,t,o,i),_e=LR(Re,N.current,F);return MI.flushSync(()=>{U(_e)}),D.start(1e3,q),_e}),X=()=>{const re=NR(e,t,o,i),fe=LR(re,N.current,F);z.current=void 0,U(fe)},ae=wr(re=>{const{scrollTop:fe,scrollLeft:ee}=re.currentTarget;if(fe<0||!m&&ee<0||m&&ee>0)return;const ce=q();e.current.publishEvent("scrollPositionChange",{top:fe,left:ee,renderContext:ce})}),Z=wr(re=>{e.current.publishEvent("virtualScrollerWheel",{},re)}),K=wr(re=>{e.current.publishEvent("virtualScrollerTouchMove",{},re)}),te=(re={})=>{var Te;if(!re.rows&&!S.range)return[];const fe=re.renderContext??_,ee=!d&&re.position===void 0||d&&re.position==="bottom",ce=re.position!==void 0;let me;switch(re.position){case"top":me=0;break;case"bottom":me=l.top.length+S.rows.length;break;case void 0:me=l.top.length;break}const we=re.rows??S.rows,ge=fe.firstRowIndex,Se=Math.min(fe.lastRowIndex,we.length),xe=re.rows?Cq(0,re.rows.length):Cq(ge,Se);let Ie=-1;!ce&&H.rowIndex!==-1&&(H.rowIndex=Se&&(Ie=H.rowIndex,xe.push(Ie)));const Re=[],_e=(Te=t.slotProps)==null?void 0:Te.row,ye=ip(e);return xe.forEach(Oe=>{var jn,Wn,Eo;const{id:Me,model:We}=we[Oe],Ve=(((jn=S==null?void 0:S.range)==null?void 0:jn.firstRowIndex)||0)+me+Oe;if(R){const Kr=u.left.length,Ii=r.length-u.right.length;e.current.calculateColSpan({rowId:Me,minFirstColumn:Kr,maxLastColumn:Ii,columns:r}),u.left.length>0&&e.current.calculateColSpan({rowId:Me,minFirstColumn:0,maxLastColumn:u.left.length,columns:r}),u.right.length>0&&e.current.calculateColSpan({rowId:Me,minFirstColumn:r.length-u.right.length,maxLastColumn:r.length,columns:r})}const Qe=(g==null?void 0:g.id)===Me,ut=e.current.rowHasAutoHeight(Me)?"auto":e.current.unstable_getRowHeight(Me);let nt;x[Me]==null?nt=!1:nt=e.current.isRowSelectable(Me);let et=!1;re.position===void 0&&(et=Oe===0);let yt=!1;const wn=Oe===we.length-1;if(ee)if(ce)yt=wn;else{const Kr=S.rows.length-1;Oe===Kr&&(yt=!0)}const $e=Oe===Ie;let Xe=null;v!==null&&v.id===Me&&(Xe=e.current.getCellParams(Me,v.field).cellMode==="view"?v.field:null);let bt=fe;!ce&&z.current&&Oe>=z.current.firstRowIndex&&Oes.width,ie=y.useMemo(()=>({overflowX:!pe||n?"hidden":void 0,overflowY:t.autoHeight?"hidden":void 0}),[pe,t.autoHeight,n]),le=y.useMemo(()=>{const re={width:pe?I:"auto",flexBasis:A,flexShrink:0};return t.autoHeight&&S.rows.length===0&&(re.flexBasis=ace(e)),re},[e,I,A,pe,t.autoHeight,S.rows.length]);return y.useEffect(()=>{e.current.publishEvent("virtualScrollerContentSizeChange")},[e,le]),_o(()=>{e.current.resize()},[e,w.currentPageTotalHeight]),_o(()=>{i&&(E.current.scrollLeft=0),o&&(E.current.scrollTop=0)},[i,o,P,E]),_o(()=>{n&&(E.current.scrollLeft=0)},[n,E]),wPt(s.width!==0,()=>{const re=NR(e,t,o,i),fe=LR(re,N.current,F);U(fe),e.current.publishEvent("scrollPositionChange",{top:N.current.top,left:N.current.left,renderContext:fe})}),e.current.register("private",{updateRenderContext:X}),ht(e,"columnsChange",X),ht(e,"filteredRowsSet",X),ht(e,"rowExpansionChange",X),{renderContext:_,setPanels:p,getRows:te,getContainerProps:()=>({ref:T}),getScrollerProps:()=>({ref:E,onScroll:ae,onWheel:Z,onTouchMove:K,style:ie,role:"presentation",tabIndex:CTt?-1:void 0}),getContentProps:()=>({style:le,role:"presentation"}),getRenderZoneProps:()=>({role:"rowgroup"}),getScrollbarVerticalProps:()=>({ref:O,role:"presentation"}),getScrollbarHorizontalProps:()=>({ref:k,role:"presentation"})}};function NR(e,t,n,r){const o=li(e.current.state),i=gy(e,t),a=t.unstable_listView?[kv(e.current.state)]:vo(e),s=kTt(e),l=e.current.state.rows.dataRowIds.at(-1),c=a.at(-1);return{enabledForRows:n,enabledForColumns:r,apiRef:e,autoHeight:t.autoHeight,rowBufferPx:t.rowBufferPx,columnBufferPx:t.columnBufferPx,leftPinnedWidth:o.leftPinnedWidth,columnsTotalWidth:o.columnsTotalWidth,viewportInnerWidth:o.viewportInnerSize.width,viewportInnerHeight:o.viewportInnerSize.height,lastRowHeight:l!==void 0?e.current.unstable_getRowHeight(l):0,lastColumnWidth:(c==null?void 0:c.computedWidth)??0,rowsMeta:Mb(e.current.state),columnPositions:ip(e),rows:i.rows,range:i.range,pinnedColumns:m1(e),visibleColumns:a,hiddenCellsOriginMap:s,listView:t.unstable_listView??!1}}function LR(e,t,n){const r={firstRowIndex:0,lastRowIndex:e.rows.length,firstColumnIndex:0,lastColumnIndex:e.visibleColumns.length},{top:o,left:i}=t,a=Math.abs(i)+e.leftPinnedWidth;if(e.enabledForRows){let l=Math.min(Bq(e,o,{atStart:!0,lastPosition:e.rowsMeta.positions[e.rowsMeta.positions.length-1]+e.lastRowHeight}),e.rowsMeta.positions.length-1);const c=e.hiddenCellsOriginMap[l];if(c){const d=Math.min(...Object.values(c));l=Math.min(l,d)}const u=e.autoHeight?l+e.rows.length:Bq(e,o+e.viewportInnerHeight);r.firstRowIndex=l,r.lastRowIndex=u}if(e.enabledForColumns){let l=0,c=e.columnPositions.length,u=!1;const[d,f]=tL({firstIndex:r.firstRowIndex,lastIndex:r.lastRowIndex,minFirstIndex:0,maxLastIndex:e.rows.length,bufferBefore:n.buffer.rowBefore,bufferAfter:n.buffer.rowAfter,positions:e.rowsMeta.positions,lastSize:e.lastRowHeight});for(let p=d;p=e.range.lastRowIndex);const i=Fc(r-(((s=e.range)==null?void 0:s.firstRowIndex)||0),0,e.rowsMeta.positions.length);return o||e.rowsMeta.positions[i]>=t?Df(t,e.rowsMeta.positions,n):_Tt(t,e.rowsMeta.positions,i,n)}function RTt(e,t,n){const[r,o]=tL({firstIndex:t.firstRowIndex,lastIndex:t.lastRowIndex,minFirstIndex:0,maxLastIndex:e.rows.length,bufferBefore:n.buffer.rowBefore,bufferAfter:n.buffer.rowAfter,positions:e.rowsMeta.positions,lastSize:e.lastRowHeight}),[i,a]=tL({firstIndex:t.firstColumnIndex,lastIndex:t.lastColumnIndex,minFirstIndex:e.pinnedColumns.left.length,maxLastIndex:e.visibleColumns.length-e.pinnedColumns.right.length,bufferBefore:n.buffer.columnBefore,bufferAfter:n.buffer.columnAfter,positions:e.columnPositions,lastSize:e.lastColumnWidth}),s=hTt({firstColumnToRender:i,apiRef:e.apiRef,firstRowToRender:r,lastRowToRender:o,visibleRows:e.rows});return{firstRowIndex:r,lastRowIndex:o,firstColumnIndex:s,lastColumnIndex:a}}function Df(e,t,n=void 0,r=0,o=t.length){if(t.length<=0)return-1;if(r>=o)return r;const i=r+Math.floor((o-r)/2),a=t[i];let s;if(n!=null&&n.atStart){const l=(i===t.length-1?n.lastPosition:t[i+1])-a;s=e-l=Math.abs(e)?t>0?ao.DOWN:ao.UP:e>0?ao.RIGHT:ao.LEFT}function $ce(e,t,n,r,o,i){if(e)switch(t){case ao.LEFT:t=ao.RIGHT;break;case ao.RIGHT:t=ao.LEFT;break}switch(t){case ao.NONE:return{rowAfter:n,rowBefore:n,columnAfter:r,columnBefore:r};case ao.LEFT:return{rowAfter:0,rowBefore:0,columnAfter:0,columnBefore:i};case ao.RIGHT:return{rowAfter:0,rowBefore:0,columnAfter:i,columnBefore:0};case ao.UP:return{rowAfter:0,rowBefore:o,columnAfter:0,columnBefore:0};case ao.DOWN:return{rowAfter:o,rowBefore:0,columnAfter:0,columnBefore:0};default:throw new Error("unreachable")}}const LTt=()=>{var u,d;const e=mn(),t=xt(),n=Ye(e,dM),r=Ye(e,Fz),o=n===0,i=Ye(e,$Ct),a=!i&&o,s=!i&&n>0&&r===0;let l=null,c=null;return a&&(l="noRowsOverlay"),s&&(l="noResultsOverlay"),i&&(l="loadingOverlay",c=((d=(u=t.slotProps)==null?void 0:u.loadingOverlay)==null?void 0:d[o?"noRowsVariant":"variant"])||null),{overlayType:l,loadingOverlayVariant:c}},FTt=Qn("div",{name:"MuiDataGrid",slot:"OverlayWrapper",shouldForwardProp:e=>e!=="overlayType"&&e!=="loadingOverlayVariant",overridesResolver:(e,t)=>t.overlayWrapper})(({overlayType:e,loadingOverlayVariant:t})=>t!=="skeleton"?{position:"sticky",top:"var(--DataGrid-headersTotalHeight)",left:0,width:0,height:0,zIndex:e==="loadingOverlay"?5:4}:{}),jTt=Qn("div",{name:"MuiDataGrid",slot:"OverlayWrapperInner",shouldForwardProp:e=>e!=="overlayType"&&e!=="loadingOverlayVariant",overridesResolver:(e,t)=>t.overlayWrapperInner})({}),BTt=e=>{const{classes:t}=e;return vn({root:["overlayWrapper"],inner:["overlayWrapperInner"]},bn,t)};function zTt(e){const t=mn(),n=xt(),r=sp(t,n),o=Ye(t,li);let i=o.viewportOuterSize.height-o.topContainerHeight-o.bottomContainerHeight-(o.hasScrollX?o.scrollbarSize:0);(n.autoHeight&&r.rows.length===0||i===0)&&(i=ace(t));const a=BTt(W({},e,{classes:n.classes}));return $.jsx(FTt,W({className:de(a.root)},e,{children:$.jsx(jTt,W({className:de(a.inner),style:{height:i,width:o.viewportOuterSize.width}},e))}))}function VTt(e){var i,a;const{overlayType:t}=e,n=xt();if(!t)return null;const r=(i=n.slots)==null?void 0:i[t],o=(a=n.slotProps)==null?void 0:a[t];return $.jsx(zTt,W({},e,{children:$.jsx(r,W({},o))}))}const eT=e=>e.columnMenu;function HTt(){var v;const e=xl(),t=xt(),n=Ye(e,vo),r=Ye(e,sPt),o=Ye(e,rPt),i=Ye(e,mce),a=Ye(e,zz),s=Ye(e,vPt),l=Ye(e,yPt),c=Ye(e,bO),u=Ye(e,v1),d=Ye(e,eT),f=Ye(e,Qs),p=Ye(e,dTt),m=!(s===null&&i===null&&a===null),g=e.current.columnHeadersContainerRef;return $.jsx(t.slots.columnHeaders,W({ref:g,visibleColumns:n,filterColumnLookup:r,sortColumnLookup:o,columnHeaderTabIndexState:i,columnGroupHeaderTabIndexState:s,columnHeaderFocus:l,columnGroupHeaderFocus:c,headerGroupingMaxDepth:u,columnMenuState:d,columnVisibility:f,columnGroupsHeaderStructure:p,hasOtherElementInTabSequence:m},(v=t.slotProps)==null?void 0:v.columnHeaders))}const UTt=op(HTt),Rce=y.createContext(void 0),_ce=()=>{const e=y.useContext(Rce);if(e===void 0)throw new Error(["MUI X: Could not find the Data Grid configuration context.","It looks like you rendered your component outside of a DataGrid, DataGridPro or DataGridPremium parent component.","This can also happen if you are bundling multiple versions of the Data Grid."].join(` +`));return e},WTt=Qn("div")({position:"absolute",top:"var(--DataGrid-headersTotalHeight)",left:0,width:"calc(100% - (var(--DataGrid-hasScrollY) * var(--DataGrid-scrollbarSize)))"}),GTt=Qn("div",{name:"MuiDataGrid",slot:"Main",overridesResolver:(e,t)=>t.main})({flexGrow:1,position:"relative",overflow:"hidden",display:"flex",flexDirection:"column"}),qTt=y.forwardRef((e,t)=>{const n=xt(),o=_ce().hooks.useGridAriaAttributes();return $.jsxs(GTt,W({ref:t,ownerState:n,className:e.className,tabIndex:-1},o,{children:[$.jsx(WTt,{role:"presentation","data-id":"gridPanelAnchor"}),e.children]}))}),KTt=()=>vn({root:["topContainer"]},bn,{}),YTt=Qn("div")({position:"sticky",zIndex:4,top:0});function XTt(e){const t=KTt();return $.jsx(YTt,W({},e,{className:de(t.root,se["container--top"]),role:"presentation"}))}const QTt=()=>vn({root:["bottomContainer"]},bn,{}),JTt=Qn("div")({position:"sticky",zIndex:4,bottom:"calc(var(--DataGrid-hasScrollX) * var(--DataGrid-scrollbarSize))"});function ZTt(e){const t=QTt();return $.jsx(JTt,W({},e,{className:de(t.root,se["container--bottom"]),role:"presentation"}))}const eEt=(e,t)=>{const{classes:n}=e;return vn({root:["virtualScrollerContent",t&&"virtualScrollerContent--overflowed"]},bn,n)},tEt=Qn("div",{name:"MuiDataGrid",slot:"VirtualScrollerContent",overridesResolver:(e,t)=>t.virtualScrollerContent})({}),nEt=y.forwardRef(function(t,n){var a;const r=xt(),o=!r.autoHeight&&((a=t.style)==null?void 0:a.minHeight)==="auto",i=eEt(r,o);return $.jsx(tEt,W({ref:n},t,{ownerState:r,className:de(i.root,t.className)}))}),rEt=Qn("div")({display:"flex",flexDirection:"row",width:"var(--DataGrid-rowWidth)",boxSizing:"border-box"}),Dce=Qn("div")({position:"sticky",height:"100%",boxSizing:"border-box",borderTop:"1px solid var(--rowBorderColor)",backgroundColor:"var(--DataGrid-pinnedBackground)"}),oEt=Qn(Dce)({left:0,borderRight:"1px solid var(--rowBorderColor)"}),iEt=Qn(Dce)({right:0,borderLeft:"1px solid var(--rowBorderColor)"}),aEt=Qn("div")({flexGrow:1,borderTop:"1px solid var(--rowBorderColor)"});function sEt({rowsLength:e}){const t=mn(),{viewportOuterSize:n,minimumSize:r,hasScrollX:o,hasScrollY:i,scrollbarSize:a,leftPinnedWidth:s,rightPinnedWidth:l}=Ye(t,li),c=o?a:0,u=n.height-r.height>0;return c===0&&!u?null:$.jsxs(rEt,{className:se.filler,role:"presentation",style:{height:c,"--rowBorderColor":e===0?"transparent":"var(--DataGrid-rowBorderColor)"},children:[s>0&&$.jsx(oEt,{className:se["filler--pinnedLeft"],style:{width:s}}),$.jsx(aEt,{}),l>0&&$.jsx(iEt,{className:se["filler--pinnedRight"],style:{width:l+(i?a:0)}})]})}const lEt=op(sEt),cEt=["className"],uEt=e=>{const{classes:t}=e;return vn({root:["virtualScrollerRenderZone"]},bn,t)},dEt=Qn("div",{name:"MuiDataGrid",slot:"VirtualScrollerRenderZone",overridesResolver:(e,t)=>t.virtualScrollerRenderZone})({position:"absolute",display:"flex",flexDirection:"column"}),fEt=y.forwardRef(function(t,n){const{className:r}=t,o=At(t,cEt),i=mn(),a=xt(),s=uEt(a),l=Ye(i,()=>{const c=wM(i);return Mb(i.current.state).positions[c.firstRowIndex]??0});return $.jsx(dEt,W({ref:n,className:de(s.root,r),ownerState:a,style:{transform:`translate3d(0, ${l}px, 0)`}},o))}),pEt={includeHeaders:!0,includeOutliers:!1,outliersFactor:1.5,expand:!1},Ho=e=>e.editRows,tS=e=>e.preferencePanel;var Bh=function(e){return e.filters="filters",e.columns="columns",e}(Bh||{});const hEt=(e,t)=>{const{classes:n}=e,r={root:["scrollbar",`scrollbar--${t}`],content:["scrollbarContent"]};return vn(r,bn,n)},Nce=Qn("div")({position:"absolute",display:"inline-block",zIndex:6,"--size":"calc(max(var(--DataGrid-scrollbarSize), 14px))"}),mEt=Qn(Nce)({width:"var(--size)",height:"calc(var(--DataGrid-hasScrollY) * (100% - var(--DataGrid-topContainerHeight) - var(--DataGrid-bottomContainerHeight) - var(--DataGrid-hasScrollX) * var(--DataGrid-scrollbarSize)))",overflowY:"auto",overflowX:"hidden",outline:0,"& > div":{width:"var(--size)"},top:"var(--DataGrid-topContainerHeight)",right:"0px"}),gEt=Qn(Nce)({width:"100%",height:"var(--size)",overflowY:"hidden",overflowX:"auto",outline:0,"& > div":{height:"var(--size)"},bottom:"0px"}),zq=y.forwardRef(function(t,n){const r=xl(),o=xt(),i=y.useRef(!1),a=y.useRef(0),s=y.useRef(null),l=y.useRef(null),c=hEt(o,t.position),u=Ye(r,li),d=t.position==="vertical"?"height":"width",f=t.position==="vertical"?"scrollTop":"scrollLeft",p=t.position==="vertical"?u.hasScrollX:u.hasScrollY,m=u.minimumSize[d]+(p?u.scrollbarSize:0),v=(t.position==="vertical"?u.viewportInnerSize.height:u.viewportOuterSize.width)*(m/u.viewportOuterSize[d]),w=wr(()=>{const P=r.current.virtualScrollerRef.current,T=s.current;if(!T||P[f]===a.current)return;if(a.current=P[f],i.current){i.current=!1;return}i.current=!0;const E=P[f]/m;T[f]=E*v}),x=wr(()=>{const P=r.current.virtualScrollerRef.current,T=s.current;if(!T)return;if(i.current){i.current=!1;return}i.current=!0;const E=T[f]/v;P[f]=E*m});cM(()=>{const P=r.current.virtualScrollerRef.current,T=s.current;return P.addEventListener("scroll",w,{capture:!0}),T.addEventListener("scroll",x,{capture:!0}),()=>{P.removeEventListener("scroll",w,{capture:!0}),T.removeEventListener("scroll",x,{capture:!0})}}),y.useEffect(()=>{l.current.style.setProperty(d,`${v}px`)},[v,d]);const S=t.position==="vertical"?mEt:gEt;return $.jsx(S,{ref:hm(n,s),className:c.root,style:t.position==="vertical"&&o.unstable_listView?{height:"100%",top:0}:void 0,tabIndex:-1,"aria-hidden":"true",children:$.jsx("div",{ref:l,className:c.content})})}),yEt=(e,t,n)=>{const{classes:r}=e,o={root:["main",t.rightPinnedWidth>0&&"main--hasPinnedRight",n==="skeleton"&&"main--hasSkeletonLoadingOverlay"],scroller:["virtualScroller",t.hasScrollX&&"virtualScroller--hasScrollX"]};return vn(o,bn,r)},vEt=Qn("div",{name:"MuiDataGrid",slot:"VirtualScroller",overridesResolver:(e,t)=>t.virtualScroller})({position:"relative",height:"100%",flexGrow:1,overflow:"scroll",scrollbarWidth:"none",display:"flex",flexDirection:"column","&::-webkit-scrollbar":{display:"none"},"@media print":{overflow:"hidden"},zIndex:0});function bEt(e){const t=mn(),n=xt(),r=Ye(t,li),o=LTt(),i=yEt(n,r,o.loadingOverlayVariant),a=$Tt(),{getContainerProps:s,getScrollerProps:l,getContentProps:c,getRenderZoneProps:u,getScrollbarVerticalProps:d,getScrollbarHorizontalProps:f,getRows:p}=a,m=p();return $.jsxs(qTt,W({className:i.root},s(),{children:[$.jsx(Fq,{scrollDirection:"left"}),$.jsx(Fq,{scrollDirection:"right"}),$.jsxs(vEt,W({className:i.scroller},l(),{ownerState:n,children:[$.jsxs(XTt,{children:[!n.unstable_listView&&$.jsx(UTt,{}),$.jsx(n.slots.pinnedRows,{position:"top",virtualScroller:a})]}),$.jsx(VTt,W({},o)),$.jsx(nEt,W({},c(),{children:$.jsxs(fEt,W({},u(),{children:[m,$.jsx(n.slots.detailPanels,{virtualScroller:a})]}))})),$.jsx(lEt,{rowsLength:m.length}),$.jsx(ZTt,{children:$.jsx(n.slots.pinnedRows,{position:"bottom",virtualScroller:a})})]})),r.hasScrollY&&$.jsx(zq,W({position:"vertical"},d())),r.hasScrollX&&!n.unstable_listView&&$.jsx(zq,W({position:"horizontal"},f())),e.children]}))}function wEt(){var t;const e=xt();return e.hideFooter?null:$.jsx(e.slots.footer,W({},(t=e.slotProps)==null?void 0:t.footer))}let FR;function xEt(){return FR===void 0&&document.createElement("div").focus({get preventScroll(){return FR=!0,!1}}),FR}function SEt(e){return e.scrollHeight>e.clientHeight||e.scrollWidth>e.clientWidth}function xO(e,t){return e.closest(`.${t}`)}function fd(e){return e.replace(/["\\]/g,"\\$&")}function CEt(e,t){return e.querySelector(`[role="columnheader"][data-field="${fd(t)}"]`)}function Lce(e){return`.${se.row}[data-id="${fd(String(e))}"]`}function PEt(e,t){return e.querySelector(Lce(t))}function TEt(e,{id:t,field:n}){const r=Lce(t),o=`.${se.cell}[data-field="${fd(n)}"]`,i=`${r} ${o}`;return e.querySelector(i)}function b1(e){return e.target.nodeType===1&&!e.currentTarget.contains(e.target)}function EEt(e){return e.getAttribute("data-field")}function OEt(e,t){return e.querySelector(`[data-field="${fd(t)}"]`)}function IEt(e){return e.getAttribute("data-fields").slice(2,-2).split("-|-")}function kEt(e,t){return Array.from(e.querySelectorAll(`[data-fields*="|-${fd(t)}-|"]`)??[])}function MEt(e,t){var a;if(!xO(e,se.root))throw new Error("MUI X: The root element is not found.");const r=e.getAttribute("aria-colindex");if(!r)return[];const o=Number(r)-1,i=[];return(a=t.virtualScrollerRef)!=null&&a.current?(Bce(t).forEach(s=>{const l=s.getAttribute("data-id");if(!l)return;let c=o;const u=t.unstable_getCellColSpanInfo(l,o);u&&u.spannedByColSpan&&(c=u.leftVisibleCellIndex);const d=s.querySelector(`[data-colindex="${c}"]`);d&&i.push(d)}),i):[]}function Vq(e,t){return e.rootElementRef.current.querySelector(`.${se[t]}`)}const Fce=({api:e,colIndex:t,position:n,filterFn:r})=>{if(t===null)return[];const o=[];return Bce(e).forEach(i=>{i.getAttribute("data-id")&&i.querySelectorAll(`.${se[n==="left"?"cell--pinnedLeft":"cell--pinnedRight"]}`).forEach(s=>{const l=Ab(s);l!==null&&r(l)&&o.push(s)})}),o};function AEt(e,t,n){const r=Ab(t);return Fce({api:e,colIndex:r,position:n?"right":"left",filterFn:o=>n?or})}function $Et(e,t,n){const r=Ab(t);return Fce({api:e,colIndex:r,position:n?"left":"right",filterFn:o=>n?o>r:o{var i;if(!((i=e.columnHeadersContainerRef)!=null&&i.current))return[];if(t===null)return[];const o=[];return e.columnHeadersContainerRef.current.querySelectorAll(`.${se[n==="left"?"columnHeader--pinnedLeft":"columnHeader--pinnedRight"]}`).forEach(a=>{const s=Ab(a);s!==null&&r(s)&&o.push(a)}),o};function REt(e,t,n){const r=Ab(t);return jce({api:e,position:n?"right":"left",colIndex:r,filterFn:o=>n?or})}function _Et(e,t,n){const r=Ab(t);return jce({api:e,position:n?"left":"right",colIndex:r,filterFn:o=>n?o>r:o div > [data-field="${fd(t)}"][role="columnheader"]`)}function NEt(e,t){const n=e.virtualScrollerRef.current;return Array.from(n.querySelectorAll(`:scope > div > div > div > [data-field="${fd(t)}"][role="gridcell"]`))}function Bce(e){return e.virtualScrollerRef.current.querySelectorAll(`:scope > div > div > .${se.row}`)}function Ab(e){const t=e.getAttribute("aria-colindex");return t?Number(t)-1:null}class tT extends Error{}function LEt(e,t){const n=y.useCallback(f=>({field:f,colDef:e.current.getColumn(f)}),[e]),r=y.useCallback(f=>{const p=e.current.getRow(f);if(!p)throw new tT(`No row with id #${f} found`);return{id:f,columns:e.current.getAllColumns(),row:p}},[e]),o=y.useCallback((f,p)=>{const m=t.unstable_listView?kv(e.current.state):e.current.getColumn(p),g=e.current.getRow(f),v=e.current.getRowNode(f);if(!g||!v)throw new tT(`No row with id #${f} found`);const w=g[p],x=m!=null&&m.valueGetter?m.valueGetter(w,g,m,e):w,S=Fa(e),P=zz(e),T={id:f,field:p,row:g,rowNode:v,colDef:m,cellMode:e.current.getCellMode(f,p),hasFocus:S!==null&&S.field===p&&S.id===f,tabIndex:P&&P.field===p&&P.id===f?0:-1,value:x,formattedValue:x,isEditable:!1,api:{}};return m&&m.valueFormatter&&(T.formattedValue=m.valueFormatter(x,g,m,e)),T.isEditable=m&&e.current.isCellEditable(T),T},[e,t.unstable_listView]),i=y.useCallback((f,p)=>{const m=e.current.getColumn(p),g=e.current.getRow(f);if(!g)throw new tT(`No row with id #${f} found`);return!m||!m.valueGetter?g[p]:m.valueGetter(g[m.field],g,m,e)},[e]),a=y.useCallback((f,p)=>{const m=p.field;if(!p||!p.valueGetter)return f[m];const g=f[p.field];return p.valueGetter(g,f,p,e)},[e]),s=y.useCallback((f,p)=>{const m=a(f,p);return!p||!p.valueFormatter?m:p.valueFormatter(m,f,p,e)},[e,a]),l=y.useCallback(f=>e.current.rootElementRef.current?CEt(e.current.rootElementRef.current,f):null,[e]),c=y.useCallback(f=>e.current.rootElementRef.current?PEt(e.current.rootElementRef.current,f):null,[e]),u=y.useCallback((f,p)=>e.current.rootElementRef.current?TEt(e.current.rootElementRef.current,{id:f,field:p}):null,[e]);Jt(e,{getCellValue:i,getCellParams:o,getCellElement:u,getRowValue:a,getRowFormattedValue:s,getRowParams:r,getRowElement:c,getColumnHeaderParams:n,getColumnHeaderElement:l},"public")}const xM=(e,t,n,r,o)=>{const i=t===n-1;return e===ur.LEFT&&i?!0:r?e===ur.LEFT?!0:e===ur.RIGHT?!i:!i||o:!1},SM=(e,t)=>e===ur.RIGHT&&t===0,FEt=["column","rowId","editCellState","align","children","colIndex","width","className","style","gridHasScrollX","colSpan","disableDragEvents","isNotVisible","pinnedOffset","pinnedPosition","sectionIndex","sectionLength","gridHasFiller","onClick","onDoubleClick","onMouseDown","onMouseUp","onMouseOver","onKeyDown","onKeyUp","onDragEnter","onDragOver"],jEt=["changeReason","unstable_updateValueOnRender"];let fa=function(e){return e[e.NONE=0]="NONE",e[e.LEFT=1]="LEFT",e[e.RIGHT=2]="RIGHT",e[e.VIRTUAL=3]="VIRTUAL",e}({});const zce={[fa.LEFT]:ur.LEFT,[fa.RIGHT]:ur.RIGHT,[fa.NONE]:void 0,[fa.VIRTUAL]:void 0},Hq={id:-1,field:"__unset__",row:{},rowNode:{id:-1,depth:0,type:"leaf",parent:-1,groupingKey:null},colDef:{type:"string",field:"__unset__",computedWidth:0},cellMode:Zn.View,hasFocus:!1,tabIndex:-1,value:null,formattedValue:"__unset__",isEditable:!1,api:{}},BEt=e=>{const{align:t,showLeftBorder:n,showRightBorder:r,pinnedPosition:o,isEditable:i,isSelected:a,isSelectionMode:s,classes:l}=e,c={root:["cell",`cell--text${p1(t)}`,a&&"selected",i&&"cell--editable",n&&"cell--withLeftBorder",r&&"cell--withRightBorder",o===fa.LEFT&&"cell--pinnedLeft",o===fa.RIGHT&&"cell--pinnedRight",s&&!i&&"cell--selectionMode"]};return vn(c,bn,l)},zEt=y.forwardRef(function(t,n){var et,yt,wn;const{column:r,rowId:o,editCellState:i,align:a,colIndex:s,width:l,className:c,style:u,colSpan:d,disableDragEvents:f,isNotVisible:p,pinnedOffset:m,pinnedPosition:g,sectionIndex:v,sectionLength:w,gridHasFiller:x,onClick:S,onDoubleClick:P,onMouseDown:T,onMouseUp:E,onMouseOver:O,onKeyDown:k,onKeyUp:A,onDragEnter:I,onDragOver:R}=t,N=At(t,FEt),L=mn(),j=xt(),_=nr(),D=r.field,z=Ye(L,()=>{try{const Ke=L.current.getCellParams(o,D);return Ke.api=L.current,Ke}catch(Ke){if(Ke instanceof tT)return Hq;throw Ke}},Vle),F=Ye(L,()=>L.current.unstable_applyPipeProcessors("isCellSelected",!1,{id:o,field:D})),H=Ye(L,Mce),U=Ye(L,ITt),{cellMode:q,hasFocus:X,isEditable:ae=!1,value:Z}=z,K=r.type==="actions"&&((et=r.getActions)==null?void 0:et.call(r,L.current.getRowParams(o)).some(Ke=>!Ke.props.disabled)),te=(q==="view"||!ae)&&!K?z.tabIndex:-1,{classes:pe,getCellClassName:ie}=j,re=[Ye(L,()=>L.current.unstable_applyPipeProcessors("cellClassName",[],{id:o,field:D}).filter(Boolean).join(" "))];r.cellClassName&&re.push(typeof r.cellClassName=="function"?r.cellClassName(z):r.cellClassName),r.display==="flex"&&re.push(se["cell--flex"]),ie&&re.push(ie(z));const fe=z.formattedValue??Z,ee=y.useRef(null),ce=hm(n,ee),me=y.useRef(null),we=j.cellSelection??!1,ge=zce[g],Se=SM(ge,v),xe=xM(ge,v,w,j.showCellVerticalBorder,x),Ie={align:a,showLeftBorder:Se,showRightBorder:xe,isEditable:ae,classes:j.classes,pinnedPosition:g,isSelected:F,isSelectionMode:we},Re=BEt(Ie),_e=y.useCallback(Ke=>$e=>{const Xe=L.current.getCellParams(o,D||"");L.current.publishEvent(Ke,Xe,$e),E&&E($e)},[L,D,E,o]),ye=y.useCallback(Ke=>$e=>{const Xe=L.current.getCellParams(o,D||"");L.current.publishEvent(Ke,Xe,$e),T&&T($e)},[L,D,T,o]),Te=y.useCallback((Ke,$e)=>Xe=>{if(!L.current.getRow(o))return;const bt=L.current.getCellParams(o,D||"");L.current.publishEvent(Ke,bt,Xe),$e&&$e(Xe)},[L,D,o]),Oe=((yt=H[o])==null?void 0:yt[D])??!1,Me=((wn=U[o])==null?void 0:wn[D])??1,We=y.useMemo(()=>{if(p)return{padding:0,opacity:0,width:0,border:0};const Ke=W({"--width":`${l}px`},u),$e=g===fa.LEFT,Xe=g===fa.RIGHT;if($e||Xe){let bt=$e?"left":"right";_&&(bt=$e?"right":"left"),Ke[bt]=m}return Me>1&&(Ke.height=`calc(var(--height) * ${Me})`,Ke.zIndex=5),Ke},[l,p,u,m,g,_,Me]);if(y.useEffect(()=>{if(!X||q===Zn.Edit)return;const Ke=Pf(L.current.rootElementRef.current);if(ee.current&&!ee.current.contains(Ke.activeElement)){const $e=ee.current.querySelector('[tabindex="0"]'),Xe=me.current||$e||ee.current;if(xEt())Xe.focus({preventScroll:!0});else{const bt=L.current.getScrollPosition();Xe.focus(),L.current.scroll(bt)}}},[X,q,L]),Oe)return $.jsx("div",{"data-colindex":s,role:"presentation",style:W({width:"var(--width)"},We)});if(z===Hq)return null;let Ve=N.onFocus,Qe,ut;if(i===null&&r.renderCell&&(Qe=r.renderCell(z)),i!==null&&r.renderEditCell){const Ke=L.current.getRowWithUpdatedValues(o,r.field),$e=At(i,jEt),Xe=r.valueFormatter?r.valueFormatter(i.value,Ke,r,L):z.formattedValue,bt=W({},z,{row:Ke,formattedValue:Xe},$e);Qe=r.renderEditCell(bt),re.push(se["cell--editing"]),re.push(pe==null?void 0:pe["cell--editing"])}if(Qe===void 0){const Ke=fe==null?void 0:fe.toString();Qe=Ke,ut=Ke}y.isValidElement(Qe)&&K&&(Qe=y.cloneElement(Qe,{focusElementRef:me}));const nt=f?null:{onDragEnter:Te("cellDragEnter",I),onDragOver:Te("cellDragOver",R)};return $.jsx("div",W({ref:ce,className:de(Re.root,re,c),role:"gridcell","data-field":D,"data-colindex":s,"aria-colindex":s+1,"aria-colspan":d,"aria-rowspan":Me,style:We,title:ut,tabIndex:te,onClick:Te("cellClick",S),onDoubleClick:Te("cellDoubleClick",P),onMouseOver:Te("cellMouseOver",O),onMouseDown:ye("cellMouseDown"),onMouseUp:_e("cellMouseUp"),onKeyDown:Te("cellKeyDown",k),onKeyUp:Te("cellKeyUp",A)},nt,N,{onFocus:Ve,children:Qe}))}),VEt=op(zEt),HEt=["label","icon","showInMenu","onClick"],UEt=["label","icon","showInMenu","onClick","closeMenuOnClick","closeMenu"],gP=y.forwardRef((e,t)=>{var u;const n=xt();if(!e.showInMenu){const{label:d,icon:f,onClick:p}=e,m=At(e,HEt),g=v=>{p==null||p(v)};return $.jsx(n.slots.baseIconButton,W({ref:t,size:"small",role:"menuitem","aria-label":d},m,{onClick:g},(u=n.slotProps)==null?void 0:u.baseIconButton,{children:y.cloneElement(f,{fontSize:"small"})}))}const{label:r,icon:o,onClick:i,closeMenuOnClick:a=!0,closeMenu:s}=e,l=At(e,UEt),c=d=>{i==null||i(d),a&&(s==null||s())};return $.jsxs(Yt,W({ref:t},l,{onClick:c,children:[o&&$.jsx(Gi,{children:o}),r]}))}),WEt=["field","type","align","width","height","empty","style","className"],Uq="1.3em",GEt="1.2em",Wq=[40,80],qEt={number:[40,60],string:[40,80],date:[40,60],dateTime:[60,80],singleSelect:[40,80]},KEt=e=>{const{align:t,classes:n,empty:r}=e,o={root:["cell","cellSkeleton",`cell--text${t?p1(t):"Left"}`,r&&"cellEmpty"]};return vn(o,bn,n)},YEt=fCt(12345);function XEt(e){const{field:t,type:n,align:r,width:o,height:i,empty:a=!1,style:s,className:l}=e,c=At(e,WEt),d={classes:xt().classes,align:r,empty:a},f=KEt(d),p=y.useMemo(()=>{if(n==="boolean"||n==="actions")return{variant:"circular",width:Uq,height:Uq};const[g,v]=n?qEt[n]??Wq:Wq;return{variant:"text",width:`${Math.round(YEt(g,v))}%`,height:GEt}},[n]);return $.jsx("div",W({"data-field":t,className:de(f.root,l),style:W({height:i,maxWidth:o,minWidth:o},s)},c,{children:!a&&$.jsx(BP,W({},p))}))}const QEt=op(XEt);function JEt(e){return e.vars?e.vars.palette.TableCell.border:e.palette.mode==="light"?Vu(mt(e.palette.divider,1),.88):zu(mt(e.palette.divider,1),.68)}const Gq={[`& .${se.iconButtonContainer}`]:{visibility:"visible",width:"auto"},[`& .${se.menuIcon}`]:{width:"auto",visibility:"visible"}},ZEt=10,yP=-5,sg=1,qq={width:3,rx:1.5,x:10.5},eOt="/* emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason */",tOt=oe("div",{name:"MuiDataGrid",slot:"Root",overridesResolver:(e,t)=>[{[`&.${se.autoHeight}`]:t.autoHeight},{[`&.${se.aggregationColumnHeader}`]:t.aggregationColumnHeader},{[`&.${se["aggregationColumnHeader--alignLeft"]}`]:t["aggregationColumnHeader--alignLeft"]},{[`&.${se["aggregationColumnHeader--alignCenter"]}`]:t["aggregationColumnHeader--alignCenter"]},{[`&.${se["aggregationColumnHeader--alignRight"]}`]:t["aggregationColumnHeader--alignRight"]},{[`&.${se.aggregationColumnHeaderLabel}`]:t.aggregationColumnHeaderLabel},{[`&.${se["root--disableUserSelection"]} .${se.cell}`]:t["root--disableUserSelection"]},{[`&.${se.autosizing}`]:t.autosizing},{[`& .${se.editBooleanCell}`]:t.editBooleanCell},{[`& .${se.cell}`]:t.cell},{[`& .${se["cell--editing"]}`]:t["cell--editing"]},{[`& .${se["cell--textCenter"]}`]:t["cell--textCenter"]},{[`& .${se["cell--textLeft"]}`]:t["cell--textLeft"]},{[`& .${se["cell--textRight"]}`]:t["cell--textRight"]},{[`& .${se["cell--rangeTop"]}`]:t["cell--rangeTop"]},{[`& .${se["cell--rangeBottom"]}`]:t["cell--rangeBottom"]},{[`& .${se["cell--rangeLeft"]}`]:t["cell--rangeLeft"]},{[`& .${se["cell--rangeRight"]}`]:t["cell--rangeRight"]},{[`& .${se["cell--withRightBorder"]}`]:t["cell--withRightBorder"]},{[`& .${se.cellCheckbox}`]:t.cellCheckbox},{[`& .${se.cellSkeleton}`]:t.cellSkeleton},{[`& .${se.checkboxInput}`]:t.checkboxInput},{[`& .${se["columnHeader--alignCenter"]}`]:t["columnHeader--alignCenter"]},{[`& .${se["columnHeader--alignLeft"]}`]:t["columnHeader--alignLeft"]},{[`& .${se["columnHeader--alignRight"]}`]:t["columnHeader--alignRight"]},{[`& .${se["columnHeader--dragging"]}`]:t["columnHeader--dragging"]},{[`& .${se["columnHeader--moving"]}`]:t["columnHeader--moving"]},{[`& .${se["columnHeader--numeric"]}`]:t["columnHeader--numeric"]},{[`& .${se["columnHeader--sortable"]}`]:t["columnHeader--sortable"]},{[`& .${se["columnHeader--sorted"]}`]:t["columnHeader--sorted"]},{[`& .${se["columnHeader--withRightBorder"]}`]:t["columnHeader--withRightBorder"]},{[`& .${se.columnHeader}`]:t.columnHeader},{[`& .${se.headerFilterRow}`]:t.headerFilterRow},{[`& .${se.columnHeaderCheckbox}`]:t.columnHeaderCheckbox},{[`& .${se.columnHeaderDraggableContainer}`]:t.columnHeaderDraggableContainer},{[`& .${se.columnHeaderTitleContainer}`]:t.columnHeaderTitleContainer},{[`& .${se["columnSeparator--resizable"]}`]:t["columnSeparator--resizable"]},{[`& .${se["columnSeparator--resizing"]}`]:t["columnSeparator--resizing"]},{[`& .${se.columnSeparator}`]:t.columnSeparator},{[`& .${se.filterIcon}`]:t.filterIcon},{[`& .${se.iconSeparator}`]:t.iconSeparator},{[`& .${se.menuIcon}`]:t.menuIcon},{[`& .${se.menuIconButton}`]:t.menuIconButton},{[`& .${se.menuOpen}`]:t.menuOpen},{[`& .${se.menuList}`]:t.menuList},{[`& .${se["row--editable"]}`]:t["row--editable"]},{[`& .${se["row--editing"]}`]:t["row--editing"]},{[`& .${se["row--dragging"]}`]:t["row--dragging"]},{[`& .${se.row}`]:t.row},{[`& .${se.rowReorderCellPlaceholder}`]:t.rowReorderCellPlaceholder},{[`& .${se.rowReorderCell}`]:t.rowReorderCell},{[`& .${se["rowReorderCell--draggable"]}`]:t["rowReorderCell--draggable"]},{[`& .${se.sortIcon}`]:t.sortIcon},{[`& .${se.withBorderColor}`]:t.withBorderColor},{[`& .${se.treeDataGroupingCell}`]:t.treeDataGroupingCell},{[`& .${se.treeDataGroupingCellToggle}`]:t.treeDataGroupingCellToggle},{[`& .${se.treeDataGroupingCellLoadingContainer}`]:t.treeDataGroupingCellLoadingContainer},{[`& .${se.groupingCriteriaCellLoadingContainer}`]:t.groupingCriteriaCellLoadingContainer},{[`& .${se.detailPanelToggleCell}`]:t.detailPanelToggleCell},{[`& .${se["detailPanelToggleCell--expanded"]}`]:t["detailPanelToggleCell--expanded"]},t.root]})(({theme:e})=>{var k,A;const t=xl(),n=Ye(t,li),r=JEt(e),o=e.shape.borderRadius,i=e.vars?e.vars.palette.background.default:((k=e.mixins.MuiDataGrid)==null?void 0:k.containerBackground)??e.palette.background.default,a=((A=e.mixins.MuiDataGrid)==null?void 0:A.pinnedBackground)??i,s=e.vars?`rgba(${e.vars.palette.background.defaultChannel} / ${e.vars.palette.action.disabledOpacity})`:mt(e.palette.background.default,e.palette.action.disabledOpacity),l=(e.vars||e).palette.action.hoverOpacity,c=(e.vars||e).palette.action.hover,u=(e.vars||e).palette.action.selectedOpacity,d=e.vars?`calc(${l} + ${u})`:l+u,f=e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${u})`:mt(e.palette.primary.main,u),p=e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${d})`:mt(e.palette.primary.main,d),m=e.vars?oOt:nOt,g=I=>({[`& .${se["cell--pinnedLeft"]}, & .${se["cell--pinnedRight"]}`]:{backgroundColor:I,"&.Mui-selected":{backgroundColor:m(I,f,u),"&:hover":{backgroundColor:m(I,f,d)}}}}),v=m(a,c,l),w=g(v),x=m(a,f,u),S=g(x),P=m(a,p,d),T=g(P),E={backgroundColor:f,"&:hover":{backgroundColor:p,"@media (hover: none)":{backgroundColor:f}}};return W({"--unstable_DataGrid-radius":typeof o=="number"?`${o}px`:o,"--unstable_DataGrid-headWeight":e.typography.fontWeightMedium,"--unstable_DataGrid-overlayBackground":s,"--DataGrid-containerBackground":i,"--DataGrid-pinnedBackground":a,"--DataGrid-rowBorderColor":r,"--DataGrid-cellOffsetMultiplier":2,"--DataGrid-width":"0px","--DataGrid-hasScrollX":"0","--DataGrid-hasScrollY":"0","--DataGrid-scrollbarSize":"10px","--DataGrid-rowWidth":"0px","--DataGrid-columnsTotalWidth":"0px","--DataGrid-leftPinnedWidth":"0px","--DataGrid-rightPinnedWidth":"0px","--DataGrid-headerHeight":"0px","--DataGrid-headersTotalHeight":"0px","--DataGrid-topContainerHeight":"0px","--DataGrid-bottomContainerHeight":"0px",flex:1,boxSizing:"border-box",position:"relative",borderWidth:"1px",borderStyle:"solid",borderColor:r,borderRadius:"var(--unstable_DataGrid-radius)",color:(e.vars||e).palette.text.primary},e.typography.body2,{outline:"none",height:"100%",display:"flex",minWidth:0,minHeight:0,flexDirection:"column",overflow:"hidden",overflowAnchor:"none",[`.${se.main} > *:first-child${eOt}`]:{borderTopLeftRadius:"var(--unstable_DataGrid-radius)",borderTopRightRadius:"var(--unstable_DataGrid-radius)"},[`&.${se.autoHeight}`]:{height:"auto"},[`&.${se.autosizing}`]:{[`& .${se.columnHeaderTitleContainerContent} > *`]:{overflow:"visible !important"},"@media (hover: hover)":{[`& .${se.iconButtonContainer}`]:{width:"0 !important",visibility:"hidden !important"},[`& .${se.menuIcon}`]:{width:"0 !important",visibility:"hidden !important"}},[`& .${se.cell}`]:{overflow:"visible !important",whiteSpace:"nowrap",minWidth:"max-content !important",maxWidth:"max-content !important"},[`& .${se.groupingCriteriaCell}`]:{width:"unset"},[`& .${se.treeDataGroupingCell}`]:{width:"unset"}},[`& .${se.columnHeader}, & .${se.cell}`]:{WebkitTapHighlightColor:"transparent",padding:"0 10px",boxSizing:"border-box"},[`& .${se.columnHeader}:focus-within, & .${se.cell}:focus-within`]:{outline:`solid ${e.vars?`rgba(${e.vars.palette.primary.mainChannel} / 0.5)`:mt(e.palette.primary.main,.5)} ${sg}px`,outlineOffset:sg*-1},[`& .${se.columnHeader}:focus, & .${se.cell}:focus`]:{outline:`solid ${e.palette.primary.main} ${sg}px`,outlineOffset:sg*-1},[`& .${se.columnHeader}:focus, + & .${se["columnHeader--withLeftBorder"]}, + & .${se["columnHeader--withRightBorder"]}, + & .${se["columnHeader--siblingFocused"]}, + & .${se["virtualScroller--hasScrollX"]} .${se["columnHeader--lastUnpinned"]}, + & .${se["virtualScroller--hasScrollX"]} .${se["columnHeader--last"]} + `]:{[`& .${se.columnSeparator}`]:{opacity:0},"@media (hover: none)":{[`& .${se["columnSeparator--resizable"]}`]:{opacity:1}},[`& .${se["columnSeparator--resizable"]}:hover`]:{opacity:1}},[`&.${se["root--noToolbar"]} [aria-rowindex="1"] [aria-colindex="1"]`]:{borderTopLeftRadius:"calc(var(--unstable_DataGrid-radius) - 1px)"},[`&.${se["root--noToolbar"]} [aria-rowindex="1"] .${se["columnHeader--last"]}`]:{borderTopRightRadius:n.hasScrollX&&(!n.hasScrollY||n.scrollbarSize===0)?"calc(var(--unstable_DataGrid-radius) - 1px)":void 0},[`& .${se.columnHeaderCheckbox}, & .${se.cellCheckbox}`]:{padding:0,justifyContent:"center",alignItems:"center"},[`& .${se.columnHeader}`]:{position:"relative",display:"flex",alignItems:"center"},[`& .${se["virtualScroller--hasScrollX"]} .${se["columnHeader--last"]}`]:{overflow:"hidden"},[`& .${se["columnHeader--sorted"]} .${se.iconButtonContainer}, & .${se["columnHeader--filtered"]} .${se.iconButtonContainer}`]:{visibility:"visible",width:"auto"},[`& .${se.columnHeader}:not(.${se["columnHeader--sorted"]}) .${se.sortIcon}`]:{opacity:0,transition:e.transitions.create(["opacity"],{duration:e.transitions.duration.shorter})},[`& .${se.columnHeaderTitleContainer}`]:{display:"flex",alignItems:"center",gap:e.spacing(.25),minWidth:0,flex:1,whiteSpace:"nowrap",overflow:"hidden"},[`& .${se.columnHeaderTitleContainerContent}`]:{overflow:"hidden",display:"flex",alignItems:"center"},[`& .${se["columnHeader--filledGroup"]} .${se.columnHeaderTitleContainer}`]:{borderBottomWidth:"1px",borderBottomStyle:"solid",boxSizing:"border-box"},[`& .${se.sortIcon}, & .${se.filterIcon}`]:{fontSize:"inherit"},[`& .${se["columnHeader--sortable"]}`]:{cursor:"pointer"},[`& .${se["columnHeader--alignCenter"]} .${se.columnHeaderTitleContainer}`]:{justifyContent:"center"},[`& .${se["columnHeader--alignRight"]} .${se.columnHeaderDraggableContainer}, & .${se["columnHeader--alignRight"]} .${se.columnHeaderTitleContainer}`]:{flexDirection:"row-reverse"},[`& .${se["columnHeader--alignCenter"]} .${se.menuIcon}`]:{marginLeft:"auto"},[`& .${se["columnHeader--alignRight"]} .${se.menuIcon}`]:{marginRight:"auto",marginLeft:-5},[`& .${se["columnHeader--moving"]}`]:{backgroundColor:(e.vars||e).palette.action.hover},[`& .${se["columnHeader--pinnedLeft"]}, & .${se["columnHeader--pinnedRight"]}`]:{position:"sticky",zIndex:4,background:"var(--DataGrid-pinnedBackground)"},[`& .${se.columnSeparator}`]:{position:"absolute",overflow:"hidden",zIndex:3,display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center",maxWidth:ZEt,color:r},[`& .${se.columnHeaders}`]:{width:"var(--DataGrid-rowWidth)"},"@media (hover: hover)":{[`& .${se.columnHeader}:hover`]:Gq,[`& .${se.columnHeader}:not(.${se["columnHeader--sorted"]}):hover .${se.sortIcon}`]:{opacity:.5}},"@media (hover: none)":{[`& .${se.columnHeader}`]:Gq,[`& .${se.columnHeader}:focus, + & .${se["columnHeader--siblingFocused"]}`]:{[`.${se["columnSeparator--resizable"]}`]:{color:(e.vars||e).palette.primary.main}}},[`& .${se["columnSeparator--sideLeft"]}`]:{left:yP},[`& .${se["columnSeparator--sideRight"]}`]:{right:yP},[`& .${se["columnHeader--withRightBorder"]} .${se["columnSeparator--sideLeft"]}`]:{left:yP-.5},[`& .${se["columnHeader--withRightBorder"]} .${se["columnSeparator--sideRight"]}`]:{right:yP-.5},[`& .${se["columnSeparator--resizable"]}`]:{cursor:"col-resize",touchAction:"none",[`&.${se["columnSeparator--resizing"]}`]:{color:(e.vars||e).palette.primary.main},"@media (hover: none)":{[`& .${se.iconSeparator} rect`]:qq},"@media (hover: hover)":{"&:hover":{color:(e.vars||e).palette.primary.main,[`& .${se.iconSeparator} rect`]:qq}},"& svg":{pointerEvents:"none"}},[`& .${se.iconSeparator}`]:{color:"inherit",transition:e.transitions.create(["color","width"],{duration:e.transitions.duration.shortest})},[`& .${se.menuIcon}`]:{width:0,visibility:"hidden",fontSize:20,marginRight:-5,display:"flex",alignItems:"center"},[`.${se.menuOpen}`]:{visibility:"visible",width:"auto"},[`& .${se.headerFilterRow}`]:{[`& .${se.columnHeader}`]:{boxSizing:"border-box",borderBottom:"1px solid var(--DataGrid-rowBorderColor)"}},[`& .${se["row--borderBottom"]} .${se.columnHeader}, + & .${se["row--borderBottom"]} .${se.filler}, + & .${se["row--borderBottom"]} .${se.scrollbarFiller}`]:{borderBottom:"1px solid var(--DataGrid-rowBorderColor)"},[`& .${se["row--borderBottom"]} .${se.cell}`]:{borderBottom:"1px solid var(--rowBorderColor)"},[`.${se.row}`]:{display:"flex",width:"var(--DataGrid-rowWidth)",breakInside:"avoid","--rowBorderColor":"var(--DataGrid-rowBorderColor)",[`&.${se["row--firstVisible"]}`]:{"--rowBorderColor":"transparent"},"&:hover":{backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${se.rowSkeleton}:hover`]:{backgroundColor:"transparent"},"&.Mui-selected":E},[`& .${se["container--top"]}, & .${se["container--bottom"]}`]:{"[role=row]":{background:"var(--DataGrid-containerBackground)"}},[`& .${se.cell}`]:{flex:"0 0 auto",height:"var(--height)",width:"var(--width)",lineHeight:"calc(var(--height) - 1px)",boxSizing:"border-box",borderTop:"1px solid var(--rowBorderColor)",overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis","&.Mui-selected":E},[`& .${se["virtualScrollerContent--overflowed"]} .${se["row--lastVisible"]} .${se.cell}`]:{borderTopColor:"transparent"},[`& .${se["pinnedRows--top"]} :first-of-type`]:{[`& .${se.cell}, .${se.scrollbarFiller}`]:{borderTop:"none"}},[`&.${se["root--disableUserSelection"]} .${se.cell}`]:{userSelect:"none"},[`& .${se["row--dynamicHeight"]} > .${se.cell}`]:{whiteSpace:"initial",lineHeight:"inherit"},[`& .${se.cellEmpty}`]:{padding:0,height:"unset"},[`& .${se.cell}.${se["cell--selectionMode"]}`]:{cursor:"default"},[`& .${se.cell}.${se["cell--editing"]}`]:{padding:1,display:"flex",boxShadow:e.shadows[2],backgroundColor:(e.vars||e).palette.background.paper,"&:focus-within":{outline:`${sg}px solid ${(e.vars||e).palette.primary.main}`,outlineOffset:sg*-1}},[`& .${se["row--editing"]}`]:{boxShadow:e.shadows[2]},[`& .${se["row--editing"]} .${se.cell}`]:{boxShadow:e.shadows[0],backgroundColor:(e.vars||e).palette.background.paper},[`& .${se.editBooleanCell}`]:{display:"flex",height:"100%",width:"100%",alignItems:"center",justifyContent:"center"},[`& .${se.booleanCell}[data-value="true"]`]:{color:(e.vars||e).palette.text.secondary},[`& .${se.booleanCell}[data-value="false"]`]:{color:(e.vars||e).palette.text.disabled},[`& .${se.actionsCell}`]:{display:"inline-flex",alignItems:"center",gridGap:e.spacing(1)},[`& .${se.rowReorderCell}`]:{display:"inline-flex",flex:1,alignItems:"center",justifyContent:"center",opacity:(e.vars||e).palette.action.disabledOpacity},[`& .${se["rowReorderCell--draggable"]}`]:{cursor:"move",opacity:1},[`& .${se.rowReorderCellContainer}`]:{padding:0,display:"flex",alignItems:"stretch"},[`.${se.withBorderColor}`]:{borderColor:r},[`& .${se["cell--withLeftBorder"]}, & .${se["columnHeader--withLeftBorder"]}`]:{borderLeftColor:"var(--DataGrid-rowBorderColor)",borderLeftWidth:"1px",borderLeftStyle:"solid"},[`& .${se["cell--withRightBorder"]}, & .${se["columnHeader--withRightBorder"]}`]:{borderRightColor:"var(--DataGrid-rowBorderColor)",borderRightWidth:"1px",borderRightStyle:"solid"},[`& .${se["cell--flex"]}`]:{display:"flex",alignItems:"center",lineHeight:"inherit"},[`& .${se["cell--textLeft"]}`]:{textAlign:"left",justifyContent:"flex-start"},[`& .${se["cell--textRight"]}`]:{textAlign:"right",justifyContent:"flex-end"},[`& .${se["cell--textCenter"]}`]:{textAlign:"center",justifyContent:"center"},[`& .${se["cell--pinnedLeft"]}, & .${se["cell--pinnedRight"]}`]:{position:"sticky",zIndex:3,background:"var(--DataGrid-pinnedBackground)","&.Mui-selected":{backgroundColor:x}},[`& .${se.virtualScrollerContent} .${se.row}`]:{"&:hover":w,"&.Mui-selected":S,"&.Mui-selected:hover":T},[`& .${se.cellOffsetLeft}`]:{flex:"0 0 auto",display:"inline-block"},[`& .${se.cellSkeleton}`]:{flex:"0 0 auto",height:"100%",display:"inline-flex",alignItems:"center"},[`& .${se.columnHeaderDraggableContainer}`]:{display:"flex",width:"100%",height:"100%"},[`& .${se.rowReorderCellPlaceholder}`]:{display:"none"},[`& .${se["columnHeader--dragging"]}, & .${se["row--dragging"]}`]:{background:(e.vars||e).palette.background.paper,padding:"0 12px",borderRadius:"var(--unstable_DataGrid-radius)",opacity:(e.vars||e).palette.action.disabledOpacity},[`& .${se["row--dragging"]}`]:{background:(e.vars||e).palette.background.paper,padding:"0 12px",borderRadius:"var(--unstable_DataGrid-radius)",opacity:(e.vars||e).palette.action.disabledOpacity,[`& .${se.rowReorderCellPlaceholder}`]:{display:"flex"}},[`& .${se.treeDataGroupingCell}`]:{display:"flex",alignItems:"center",width:"100%"},[`& .${se.treeDataGroupingCellToggle}`]:{flex:"0 0 28px",alignSelf:"stretch",marginRight:e.spacing(2)},[`& .${se.treeDataGroupingCellLoadingContainer}, .${se.groupingCriteriaCellLoadingContainer}`]:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%"},[`& .${se.groupingCriteriaCell}`]:{display:"flex",alignItems:"center",width:"100%"},[`& .${se.groupingCriteriaCellToggle}`]:{flex:"0 0 28px",alignSelf:"stretch",marginRight:e.spacing(2)},[`.${se.scrollbarFiller}`]:{minWidth:"calc(var(--DataGrid-hasScrollY) * var(--DataGrid-scrollbarSize))",alignSelf:"stretch",[`&.${se["scrollbarFiller--borderTop"]}`]:{borderTop:"1px solid var(--DataGrid-rowBorderColor)"},[`&.${se["scrollbarFiller--borderBottom"]}`]:{borderBottom:"1px solid var(--DataGrid-rowBorderColor)"},[`&.${se["scrollbarFiller--pinnedRight"]}`]:{backgroundColor:"var(--DataGrid-pinnedBackground)",position:"sticky",right:0}},[`& .${se.filler}`]:{flex:"1 0 auto"},[`& .${se["filler--borderBottom"]}`]:{borderBottom:"1px solid var(--DataGrid-rowBorderColor)"},[`& .${se["main--hasSkeletonLoadingOverlay"]}`]:{[`& .${se.virtualScrollerContent}`]:{position:"fixed",visibility:"hidden"},[`& .${se["scrollbar--vertical"]}, & .${se.pinnedRows}, & .${se.virtualScroller} > .${se.filler}`]:{display:"none"}}})});function nOt(e,t,n,r=1){const o=(l,c)=>Math.round((l**(1/r)*(1-n)+c**(1/r)*n)**r),i=jc(e),a=jc(t),s=[o(i.values[0],a.values[0]),o(i.values[1],a.values[1]),o(i.values[2],a.values[2])];return vS({type:"rgb",values:s})}const rOt=e=>`rgb(from ${e} r g b / 1)`;function oOt(e,t,n){return`color-mix(in srgb,${e}, ${rOt(t)} calc(${n} * 100%))`}const iOt=["className"],aOt=(e,t)=>{const{autoHeight:n,classes:r,showCellVerticalBorder:o}=e,i={root:["root",n&&"autoHeight",`root--density${p1(t)}`,e.slots.toolbar===null&&"root--noToolbar","withBorderColor",o&&"withVerticalBorder"]};return vn(i,bn,r)},sOt=y.forwardRef(function(t,n){const r=xt(),{className:o}=t,i=At(t,iOt),a=xl(),s=Ye(a,Hg),l=a.current.rootElementRef,c=hm(l,n),u=r,d=aOt(u,s),[f,p]=y.useState(!1);return _o(()=>{p(!0)},[]),f?$.jsx(tOt,W({ref:c,className:de(d.root,o),ownerState:u},i)):null}),lOt=["className"],cOt=e=>{const{classes:t}=e;return vn({root:["footerContainer","withBorderColor"]},bn,t)},uOt=Qn("div",{name:"MuiDataGrid",slot:"FooterContainer",overridesResolver:(e,t)=>t.footerContainer})({display:"flex",justifyContent:"space-between",alignItems:"center",minHeight:52,borderTop:"1px solid"}),dOt=y.forwardRef(function(t,n){const{className:r}=t,o=At(t,lOt),i=xt(),a=cOt(i);return $.jsx(uOt,W({ref:n,className:de(a.root,r),ownerState:i},o))}),fOt=["className"],pOt=e=>{const{classes:t}=e;return vn({root:["overlay"]},bn,t)},hOt=Qn("div",{name:"MuiDataGrid",slot:"Overlay",overridesResolver:(e,t)=>t.overlay})({width:"100%",height:"100%",display:"flex",alignSelf:"center",alignItems:"center",justifyContent:"center",backgroundColor:"var(--unstable_DataGrid-overlayBackground)"}),qz=y.forwardRef(function(t,n){const{className:r}=t,o=At(t,fOt),i=xt(),a=pOt(i);return $.jsx(hOt,W({ref:n,className:de(a.root,r),ownerState:i},o))}),mOt=e=>{const{classes:t,open:n}=e;return vn({root:["menuIcon",n&&"menuOpen"],button:["menuIconButton"]},bn,t)},gOt=y.memo(e=>{var d,f;const{colDef:t,open:n,columnMenuId:r,columnMenuButtonId:o,iconButtonRef:i}=e,a=mn(),s=xt(),l=W({},e,{classes:s.classes}),c=mOt(l),u=y.useCallback(p=>{p.preventDefault(),p.stopPropagation(),a.current.toggleColumnMenu(t.field)},[a,t.field]);return $.jsx("div",{className:c.root,children:$.jsx(s.slots.baseTooltip,W({title:a.current.getLocaleText("columnMenuLabel"),enterDelay:1e3},(d=s.slotProps)==null?void 0:d.baseTooltip,{children:$.jsx(s.slots.baseIconButton,W({ref:i,tabIndex:-1,className:c.button,"aria-label":a.current.getLocaleText("columnMenuLabel"),size:"small",onClick:u,"aria-haspopup":"menu","aria-expanded":n,"aria-controls":n?r:void 0,id:o},(f=s.slotProps)==null?void 0:f.baseIconButton,{children:$.jsx(s.slots.columnMenuIcon,{fontSize:"inherit"})}))}))})});function yOt({columnMenuId:e,columnMenuButtonId:t,ContentComponent:n,contentComponentProps:r,field:o,open:i,target:a,onExited:s}){const l=mn(),c=l.current.getColumn(o),u=wr(d=>{d&&(d.stopPropagation(),a!=null&&a.contains(d.target))||l.current.hideColumnMenu()});return!a||!c?null:$.jsx(rce,{placement:`bottom-${c.align==="right"?"start":"end"}`,open:i,target:a,onClose:u,onExited:s,children:$.jsx(n,W({colDef:c,hideMenu:u,open:i,id:e,labelledby:t},r))})}const vOt=["className","aria-label"],bOt=e=>{const{classes:t}=e;return vn({root:["columnHeaderTitle"]},bn,t)},wOt=Qn("div",{name:"MuiDataGrid",slot:"ColumnHeaderTitle",overridesResolver:(e,t)=>t.columnHeaderTitle})({textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap",fontWeight:"var(--unstable_DataGrid-headWeight)",lineHeight:"normal"}),xOt=y.forwardRef(function(t,n){const{className:r}=t,o=At(t,vOt),i=xt(),a=bOt(i);return $.jsx(wOt,W({ref:n,className:de(a.root,r),ownerState:i},o))});function SOt(e){var l;const{label:t,description:n}=e,r=xt(),o=y.useRef(null),[i,a]=y.useState(""),s=y.useCallback(()=>{if(!n&&(o!=null&&o.current)){const c=SEt(o.current);a(c?t:"")}},[n,t]);return $.jsx(r.slots.baseTooltip,W({title:n||i},(l=r.slotProps)==null?void 0:l.baseTooltip,{children:$.jsx(xOt,{onMouseOver:s,ref:o,children:t})}))}const COt=["resizable","resizing","height","side"];var Kz=function(e){return e.Left="left",e.Right="right",e}(Kz||{});const POt=e=>{const{resizable:t,resizing:n,classes:r,side:o}=e,i={root:["columnSeparator",t&&"columnSeparator--resizable",n&&"columnSeparator--resizing",o&&`columnSeparator--side${p1(o)}`],icon:["iconSeparator"]};return vn(i,bn,r)};function TOt(e){const{height:t,side:n=Kz.Right}=e,r=At(e,COt),o=xt(),i=W({},e,{side:n,classes:o.classes}),a=POt(i),s=y.useCallback(l=>{l.preventDefault(),l.stopPropagation()},[]);return $.jsx("div",W({className:a.root,style:{minHeight:t}},r,{onClick:s,children:$.jsx(o.slots.columnResizeIcon,{className:a.icon})}))}const EOt=y.memo(TOt),OOt=["classes","columnMenuOpen","colIndex","height","isResizing","sortDirection","hasFocus","tabIndex","separatorSide","isDraggable","headerComponent","description","elementId","width","columnMenuIconButton","columnMenu","columnTitleIconButtons","headerClassName","label","resizable","draggableContainerProps","columnHeaderSeparatorProps","style"],Vce=y.forwardRef(function(t,n){const{classes:r,colIndex:o,height:i,isResizing:a,sortDirection:s,hasFocus:l,tabIndex:c,separatorSide:u,isDraggable:d,headerComponent:f,description:p,width:m,columnMenuIconButton:g=null,columnMenu:v=null,columnTitleIconButtons:w=null,headerClassName:x,label:S,resizable:P,draggableContainerProps:T,columnHeaderSeparatorProps:E,style:O}=t,k=At(t,OOt),A=xl(),I=xt(),R=y.useRef(null),N=hm(R,n);let L="none";return s!=null&&(L=s==="asc"?"ascending":"descending"),y.useLayoutEffect(()=>{var _;const j=A.current.state.columnMenu;if(l&&!j.open){const z=R.current.querySelector('[tabindex="0"]')||R.current;z==null||z.focus(),(_=A.current.columnHeadersContainerRef)!=null&&_.current&&(A.current.columnHeadersContainerRef.current.scrollLeft=0)}},[A,l]),$.jsxs("div",W({ref:N,className:de(r.root,x),style:W({},O,{height:i,width:m}),role:"columnheader",tabIndex:c,"aria-colindex":o+1,"aria-sort":L},k,{children:[$.jsxs("div",W({className:r.draggableContainer,draggable:d,role:"presentation"},T,{children:[$.jsxs("div",{className:r.titleContainer,role:"presentation",children:[$.jsx("div",{className:r.titleContainerContent,children:f!==void 0?f:$.jsx(SOt,{label:S,description:p,columnWidth:m})}),w]}),g]})),$.jsx(EOt,W({resizable:!I.disableColumnResize&&!!P,resizing:a,height:i,side:u},E)),v]}))}),IOt=e=>{const{colDef:t,classes:n,isDragging:r,sortDirection:o,showRightBorder:i,showLeftBorder:a,filterItemsCounter:s,pinnedPosition:l,isLastUnpinned:c,isSiblingFocused:u}=e,d=o!=null,f=s!=null&&s>0,p=t.type==="number",m={root:["columnHeader",t.headerAlign==="left"&&"columnHeader--alignLeft",t.headerAlign==="center"&&"columnHeader--alignCenter",t.headerAlign==="right"&&"columnHeader--alignRight",t.sortable&&"columnHeader--sortable",r&&"columnHeader--moving",d&&"columnHeader--sorted",f&&"columnHeader--filtered",p&&"columnHeader--numeric","withBorderColor",i&&"columnHeader--withRightBorder",a&&"columnHeader--withLeftBorder",l==="left"&&"columnHeader--pinnedLeft",l==="right"&&"columnHeader--pinnedRight",c&&"columnHeader--lastUnpinned",u&&"columnHeader--siblingFocused"],draggableContainer:["columnHeaderDraggableContainer"],titleContainer:["columnHeaderTitleContainer"],titleContainerContent:["columnHeaderTitleContainerContent"]};return vn(m,bn,n)};function kOt(e){var le,re,fe;const{colDef:t,columnMenuOpen:n,colIndex:r,headerHeight:o,isResizing:i,isLast:a,sortDirection:s,sortIndex:l,filterItemsCounter:c,hasFocus:u,tabIndex:d,disableReorder:f,separatorSide:p,style:m,pinnedPosition:g,indexInSection:v,sectionLength:w,gridHasFiller:x}=e,S=xl(),P=xt(),T=y.useRef(null),E=yo(),O=yo(),k=y.useRef(null),[A,I]=y.useState(n),R=y.useMemo(()=>!P.disableColumnReorder&&!f&&!t.disableReorder,[P.disableColumnReorder,f,t.disableReorder]);let N;t.renderHeader&&(N=t.renderHeader(S.current.getColumnHeaderParams(t.field)));const L=SM(g,v),j=xM(g,v,w,P.showColumnVerticalBorder,x),_=W({},e,{classes:P.classes,showRightBorder:j,showLeftBorder:L}),D=IOt(_),z=y.useCallback(ee=>ce=>{b1(ce)||S.current.publishEvent(ee,S.current.getColumnHeaderParams(t.field),ce)},[S,t.field]),F=y.useMemo(()=>({onClick:z("columnHeaderClick"),onContextMenu:z("columnHeaderContextMenu"),onDoubleClick:z("columnHeaderDoubleClick"),onMouseOver:z("columnHeaderOver"),onMouseOut:z("columnHeaderOut"),onMouseEnter:z("columnHeaderEnter"),onMouseLeave:z("columnHeaderLeave"),onKeyDown:z("columnHeaderKeyDown"),onFocus:z("columnHeaderFocus"),onBlur:z("columnHeaderBlur")}),[z]),H=y.useMemo(()=>R?{onDragStart:z("columnHeaderDragStart"),onDragEnter:z("columnHeaderDragEnter"),onDragOver:z("columnHeaderDragOver"),onDragEnd:z("columnHeaderDragEnd")}:{},[R,z]),U=y.useMemo(()=>({onMouseDown:z("columnSeparatorMouseDown"),onDoubleClick:z("columnSeparatorDoubleClick")}),[z]);y.useEffect(()=>{A||I(n)},[A,n]);const q=y.useCallback(()=>{I(!1)},[]),X=!P.disableColumnMenu&&!t.disableColumnMenu&&$.jsx(gOt,{colDef:t,columnMenuId:E,columnMenuButtonId:O,open:A,iconButtonRef:k}),ae=$.jsx(yOt,{columnMenuId:E,columnMenuButtonId:O,field:t.field,open:n,target:k.current,ContentComponent:P.slots.columnMenu,contentComponentProps:(le=P.slotProps)==null?void 0:le.columnMenu,onExited:q}),Z=t.sortingOrder??P.sortingOrder,K=(t.sortable||s!=null)&&!t.hideSortIcons&&!P.disableColumnSorting,te=$.jsxs(y.Fragment,{children:[!P.disableColumnFilter&&$.jsx(P.slots.columnHeaderFilterIconButton,W({field:t.field,counter:c},(re=P.slotProps)==null?void 0:re.columnHeaderFilterIconButton)),K&&$.jsx(P.slots.columnHeaderSortIcon,W({field:t.field,direction:s,index:l,sortingOrder:Z,disabled:!t.sortable},(fe=P.slotProps)==null?void 0:fe.columnHeaderSortIcon))]});y.useLayoutEffect(()=>{var ce;const ee=S.current.state.columnMenu;if(u&&!ee.open){const we=T.current.querySelector('[tabindex="0"]')||T.current;we==null||we.focus(),(ce=S.current.columnHeadersContainerRef)!=null&&ce.current&&(S.current.columnHeadersContainerRef.current.scrollLeft=0)}},[S,u]);const pe=typeof t.headerClassName=="function"?t.headerClassName({field:t.field,colDef:t}):t.headerClassName,ie=t.headerName??t.field;return $.jsx(Vce,W({ref:T,classes:D,columnMenuOpen:n,colIndex:r,height:o,isResizing:i,sortDirection:s,hasFocus:u,tabIndex:d,separatorSide:p,isDraggable:R,headerComponent:N,description:t.description,elementId:t.field,width:t.computedWidth,columnMenuIconButton:X,columnTitleIconButtons:te,headerClassName:de(pe,a&&se["columnHeader--last"]),label:ie,resizable:!P.disableColumnResize&&!!t.resizable,"data-field":t.field,columnMenu:ae,draggableContainerProps:H,columnHeaderSeparatorProps:U,style:m},F))}const MOt=op(kOt),AOt=["className"],$Ot=e=>{const{classes:t}=e;return vn({root:["iconButtonContainer"]},bn,t)},ROt=Qn("div",{name:"MuiDataGrid",slot:"IconButtonContainer",overridesResolver:(e,t)=>t.iconButtonContainer})(()=>({display:"flex",visibility:"hidden",width:0})),Hce=y.forwardRef(function(t,n){const{className:r}=t,o=At(t,AOt),i=xt(),a=$Ot(i);return $.jsx(ROt,W({ref:n,className:de(a.root,r),ownerState:i},o))}),_Ot=["direction","index","sortingOrder","disabled"],DOt=e=>{const{classes:t}=e;return vn({icon:["sortIcon"]},bn,t)};function NOt(e,t,n,r){let o;const i={};return t==="asc"?o=e.columnSortedAscendingIcon:t==="desc"?o=e.columnSortedDescendingIcon:(o=e.columnUnsortedIcon,i.sortingOrder=r),o?$.jsx(o,W({fontSize:"small",className:n},i)):null}function LOt(e){var f;const{direction:t,index:n,sortingOrder:r,disabled:o}=e,i=At(e,_Ot),a=mn(),s=xt(),l=W({},e,{classes:s.classes}),c=DOt(l),u=NOt(s.slots,t,c.icon,r);if(!u)return null;const d=$.jsx(s.slots.baseIconButton,W({tabIndex:-1,"aria-label":a.current.getLocaleText("columnHeaderSortIconLabel"),title:a.current.getLocaleText("columnHeaderSortIconLabel"),size:"small",disabled:o},(f=s.slotProps)==null?void 0:f.baseIconButton,i,{children:u}));return $.jsxs(Hce,{children:[n!=null&&$.jsx(s.slots.baseBadge,{badgeContent:n,color:"default",overlap:"circular",children:d}),n==null&&d]})}const FOt=y.memo(LOt),jOt=e=>{const{classes:t}=e;return vn({icon:["filterIcon"]},bn,t)};function BOt(e){var m,g;const{counter:t,field:n,onClick:r}=e,o=mn(),i=xt(),a=W({},e,{classes:i.classes}),s=jOt(a),l=Ye(o,tS),c=yo(),u=yo(),d=y.useCallback(v=>{v.preventDefault(),v.stopPropagation();const{open:w,openedPanelValue:x}=tS(o.current.state);w&&x===Bh.filters?o.current.hideFilterPanel():o.current.showFilterPanel(void 0,u,c),r&&r(o.current.getColumnHeaderParams(n),v)},[o,n,r,u,c]);if(!t)return null;const f=l.open&&l.labelId===c,p=$.jsx(i.slots.baseIconButton,W({id:c,onClick:d,color:"default","aria-label":o.current.getLocaleText("columnHeaderFiltersLabel"),size:"small",tabIndex:-1,"aria-haspopup":"menu","aria-expanded":f,"aria-controls":f?u:void 0},(m=i.slotProps)==null?void 0:m.baseIconButton,{children:$.jsx(i.slots.columnFilteredIcon,{className:s.icon,fontSize:"small"})}));return $.jsx(i.slots.baseTooltip,W({title:o.current.getLocaleText("columnHeaderFiltersTooltipActive")(t),enterDelay:1e3},(g=i.slotProps)==null?void 0:g.baseTooltip,{children:$.jsxs(Hce,{children:[t>1&&$.jsx(i.slots.baseBadge,{badgeContent:t,color:"default",children:p}),t===1&&p]})}))}const Kq=lt($.jsx("path",{d:"M4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8-8 8z"}),"ArrowUpward"),Yq=lt($.jsx("path",{d:"M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"}),"ArrowDownward"),Xq=lt($.jsx("path",{d:"M8.59 16.59 13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z"}),"KeyboardArrowRight"),Qq=lt($.jsx("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"}),"ExpandMore"),zOt=lt($.jsx("path",{d:"M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"}),"FilterList"),Jq=lt($.jsx("path",{d:"M4.25 5.61C6.27 8.2 10 13 10 13v6c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-6s3.72-4.8 5.74-7.39c.51-.66.04-1.61-.79-1.61H5.04c-.83 0-1.3.95-.79 1.61z"}),"FilterAlt"),VOt=lt($.jsx("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"}),"Search");lt($.jsx("path",{d:"M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"}),"Menu");lt($.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckCircle");const HOt=lt($.jsx("path",{d:"M6 5H3c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h3c.55 0 1-.45 1-1V6c0-.55-.45-1-1-1zm14 0h-3c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h3c.55 0 1-.45 1-1V6c0-.55-.45-1-1-1zm-7 0h-3c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h3c.55 0 1-.45 1-1V6c0-.55-.45-1-1-1z"}),"ColumnIcon"),UOt=lt($.jsx("rect",{width:"1",height:"24",x:"11.5",rx:"0.5"}),"Separator"),WOt=lt($.jsx("path",{d:"M4 15h16v-2H4v2zm0 4h16v-2H4v2zm0-8h16V9H4v2zm0-6v2h16V5H4z"}),"ViewHeadline"),GOt=lt($.jsx("path",{d:"M21,8H3V4h18V8z M21,10H3v4h18V10z M21,16H3v4h18V16z"}),"TableRows"),qOt=lt($.jsx("path",{d:"M4 18h17v-6H4v6zM4 5v6h17V5H4z"}),"ViewStream"),KOt=lt($.jsx("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}),"TripleDotsVertical"),jR=lt($.jsx("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close"),Zq=lt($.jsx("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"}),"Add"),YOt=lt($.jsx("path",{d:"M19 13H5v-2h14v2z"}),"Remove"),XOt=lt($.jsx("path",{d:"M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01-.25 1.97-.7 2.8l1.46 1.46C19.54 15.03 20 13.57 20 12c0-4.42-3.58-8-8-8zm0 14c-3.31 0-6-2.69-6-6 0-1.01.25-1.97.7-2.8L5.24 7.74C4.46 8.97 4 10.43 4 12c0 4.42 3.58 8 8 8v3l4-4-4-4v3z"}),"Load"),eK=lt($.jsx("path",{d:"M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}),"Drag"),QOt=lt($.jsx("path",{d:"M19 12v7H5v-7H3v7c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-7h-2zm-6 .67l2.59-2.58L17 11.5l-5 5-5-5 1.41-1.41L11 12.67V3h2z"}),"SaveAlt"),JOt=lt($.jsx("path",{d:"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"}),"Check"),ZOt=lt($.jsx("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}),"MoreVert"),eIt=lt($.jsx("path",{d:"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78l3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z"}),"VisibilityOff"),tIt=lt($.jsx("g",{children:$.jsx("path",{d:"M14.67,5v14H9.33V5H14.67z M15.67,19H21V5h-5.33V19z M8.33,19V5H3v14H8.33z"})}),"ViewColumn"),nIt=lt($.jsx("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Clear");lt($.jsx("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"}),"Delete");const rIt=lt($.jsx("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zm2.46-7.12l1.41-1.41L12 12.59l2.12-2.12 1.41 1.41L13.41 14l2.12 2.12-1.41 1.41L12 15.41l-2.12 2.12-1.41-1.41L10.59 14l-2.13-2.12zM15.5 4l-1-1h-5l-1 1H5v2h14V4z"}),"Delete");function Uce(e){return e.key.length===1&&!e.ctrlKey&&!e.metaKey}const SO=e=>e.indexOf("Arrow")===0||e.indexOf("Page")===0||e===" "||e==="Home"||e==="End",oIt=e=>!!e.key,iIt=e=>e==="Tab"||e==="Escape";function Wce(e){return(e.ctrlKey||e.metaKey)&&String.fromCharCode(e.keyCode)==="V"&&!e.shiftKey&&!e.altKey}function aIt(e){return(e.ctrlKey||e.metaKey)&&String.fromCharCode(e.keyCode)==="C"&&!e.shiftKey&&!e.altKey}const sIt=["hideMenu","colDef","id","labelledby","className","children","open"],lIt=oe(kS)(()=>({minWidth:248})),cIt=y.forwardRef(function(t,n){const{hideMenu:r,id:o,labelledby:i,className:a,children:s,open:l}=t,c=At(t,sIt),u=y.useCallback(d=>{d.key==="Tab"&&d.preventDefault(),iIt(d.key)&&r(d)},[r]);return $.jsx(lIt,W({id:o,ref:n,className:de(se.menuList,a),"aria-labelledby":i,onKeyDown:u,autoFocus:l},c,{children:s}))}),uIt=["displayOrder"],dIt=e=>{const t=xl(),n=xt(),{defaultSlots:r,defaultSlotProps:o,slots:i={},slotProps:a={},hideMenu:s,colDef:l,addDividers:c=!0}=e,u=y.useMemo(()=>W({},r,i),[r,i]),d=y.useMemo(()=>{if(!a||Object.keys(a).length===0)return o;const m=W({},a);return Object.entries(o).forEach(([g,v])=>{m[g]=W({},v,a[g]||{})}),m},[o,a]),f=t.current.unstable_applyPipeProcessors("columnMenu",[],e.colDef),p=y.useMemo(()=>{const m=Object.keys(r);return Object.keys(i).filter(g=>!m.includes(g))},[i,r]);return y.useMemo(()=>{const v=Array.from(new Set([...f,...p])).filter(w=>u[w]!=null).sort((w,x)=>{const S=d[w],P=d[x],T=Number.isFinite(S==null?void 0:S.displayOrder)?S.displayOrder:100,E=Number.isFinite(P==null?void 0:P.displayOrder)?P.displayOrder:100;return T-E});return v.reduce((w,x,S)=>{let P={colDef:l,onClick:s};const T=d[x];if(T){const E=At(T,uIt);P=W({},P,E)}return c&&S!==v.length-1?[...w,[u[x],P],[n.slots.baseDivider,{}]]:[...w,[u[x],P]]},[])},[c,l,f,s,u,d,p,n.slots.baseDivider])};function fIt(e){const{colDef:t,onClick:n}=e,r=mn(),o=xt(),s=vo(r).filter(c=>c.disableColumnMenu!==!0).length===1,l=y.useCallback(c=>{s||(r.current.setColumnVisibility(t.field,!1),n(c))},[r,t.field,n,s]);return o.disableColumnSelector||t.hideable===!1?null:$.jsxs(Yt,{onClick:l,disabled:s,children:[$.jsx(Gi,{children:$.jsx(o.slots.columnMenuHideIcon,{fontSize:"small"})}),$.jsx(wo,{children:r.current.getLocaleText("columnMenuHideColumn")})]})}function pIt(e){const{onClick:t}=e,n=mn(),r=xt(),o=y.useCallback(i=>{t(i),n.current.showPreferences(Bh.columns)},[n,t]);return r.disableColumnSelector?null:$.jsxs(Yt,{onClick:o,children:[$.jsx(Gi,{children:$.jsx(r.slots.columnMenuManageColumnsIcon,{fontSize:"small"})}),$.jsx(wo,{children:n.current.getLocaleText("columnMenuManageColumns")})]})}function hIt(e){return $.jsxs(y.Fragment,{children:[$.jsx(fIt,W({},e)),$.jsx(pIt,W({},e))]})}function mIt(e){const{colDef:t,onClick:n}=e,r=mn(),o=xt(),i=y.useCallback(a=>{n(a),r.current.showFilterPanel(t.field)},[r,t.field,n]);return o.disableColumnFilter||!t.filterable?null:$.jsxs(Yt,{onClick:i,children:[$.jsx(Gi,{children:$.jsx(o.slots.columnMenuFilterIcon,{fontSize:"small"})}),$.jsx(wo,{children:r.current.getLocaleText("columnMenuFilter")})]})}function gIt(e){const{colDef:t,onClick:n}=e,r=mn(),o=Ye(r,js),i=xt(),a=y.useMemo(()=>{if(!t)return null;const u=o.find(d=>d.field===t.field);return u==null?void 0:u.sort},[t,o]),s=t.sortingOrder??i.sortingOrder,l=y.useCallback(u=>{n(u);const d=u.currentTarget.getAttribute("data-value")||null;r.current.sortColumn(t.field,d===a?null:d)},[r,t,n,a]);if(i.disableColumnSorting||!t||!t.sortable||!s.some(u=>!!u))return null;const c=u=>{const d=r.current.getLocaleText(u);return typeof d=="function"?d(t):d};return $.jsxs(y.Fragment,{children:[s.includes("asc")&&a!=="asc"?$.jsxs(Yt,{onClick:l,"data-value":"asc",children:[$.jsx(Gi,{children:$.jsx(i.slots.columnMenuSortAscendingIcon,{fontSize:"small"})}),$.jsx(wo,{children:c("columnMenuSortAsc")})]}):null,s.includes("desc")&&a!=="desc"?$.jsxs(Yt,{onClick:l,"data-value":"desc",children:[$.jsx(Gi,{children:$.jsx(i.slots.columnMenuSortDescendingIcon,{fontSize:"small"})}),$.jsx(wo,{children:c("columnMenuSortDesc")})]}):null,s.includes(null)&&a!=null?$.jsxs(Yt,{onClick:l,children:[$.jsx(Gi,{}),$.jsx(wo,{children:r.current.getLocaleText("columnMenuUnsort")})]}):null]})}const yIt=["defaultSlots","defaultSlotProps","slots","slotProps"],vIt={columnMenuSortItem:gIt,columnMenuFilterItem:mIt,columnMenuColumnsItem:hIt},bIt={columnMenuSortItem:{displayOrder:10},columnMenuFilterItem:{displayOrder:20},columnMenuColumnsItem:{displayOrder:30}},wIt=y.forwardRef(function(t,n){const{defaultSlots:r,defaultSlotProps:o,slots:i,slotProps:a}=t,s=At(t,yIt),l=dIt(W({},s,{defaultSlots:r,defaultSlotProps:o,slots:i,slotProps:a}));return $.jsx(cIt,W({ref:n},s,{children:l.map(([c,u],d)=>$.jsx(c,W({},u),d))}))}),xIt=y.forwardRef(function(t,n){return $.jsx(wIt,W({},t,{ref:n,defaultSlots:vIt,defaultSlotProps:bIt}))}),SIt=["className","slotProps"],CIt=e=>{const{classes:t}=e;return vn({root:["panelWrapper"]},bn,t)},PIt=oe("div",{name:"MuiDataGrid",slot:"PanelWrapper",overridesResolver:(e,t)=>t.panelWrapper})({display:"flex",flexDirection:"column",flex:1,"&:focus":{outline:0}}),TIt=()=>!0,Gce=y.forwardRef(function(t,n){const{className:r,slotProps:o={}}=t,i=At(t,SIt),a=xt(),s=CIt(a);return $.jsx(KF,W({open:!0,disableEnforceFocus:!0,isEnabled:TIt},o.TrapFocus,{children:$.jsx(PIt,W({ref:n,tabIndex:-1,className:de(s.root,r),ownerState:a},i))}))}),EIt=(e,t)=>{const n=new Set(Object.keys(e).filter(i=>e[i]===!1)),r=new Set(Object.keys(t).filter(i=>t[i]===!1));if(n.size!==r.size)return!1;let o=!0;return n.forEach(i=>{r.has(i)||(o=!1)}),o},OIt=(e,t)=>(e.headerName||e.field).toLowerCase().indexOf(t)>-1,IIt=e=>{const{classes:t}=e;return vn({root:["columnsManagement"],header:["columnsManagementHeader"],footer:["columnsManagementFooter"],row:["columnsManagementRow"]},bn,t)},tK=new Intl.Collator;function qce(e){var L,j,_;const t=mn(),n=y.useRef(null),r=Ye(t,ec),o=eu(()=>Qs(t)).current,i=Ye(t,Qs),a=xt(),[s,l]=y.useState(""),c=IIt(a),{sort:u,searchPredicate:d=OIt,autoFocusSearchField:f=!0,disableShowHideToggle:p=!1,disableResetButton:m=!1,toggleAllMode:g="all",getTogglableColumns:v}=e,w=y.useMemo(()=>EIt(i,o),[i,o]),x=y.useMemo(()=>{switch(u){case"asc":return[...r].sort((D,z)=>tK.compare(D.headerName||D.field,z.headerName||z.field));case"desc":return[...r].sort((D,z)=>-tK.compare(D.headerName||D.field,z.headerName||z.field));default:return r}},[r,u]),S=D=>{const{name:z}=D.target;t.current.setColumnVisibility(z,i[z]===!1)},P=y.useMemo(()=>{const D=v?v(x):null,z=D?x.filter(({field:F})=>D.includes(F)):x;return s?z.filter(F=>d(F,s.toLowerCase())):z},[x,s,d,v]),T=y.useCallback(D=>{const z=Qs(t),F=W({},z),H=v?v(r):null;return(g==="filteredOnly"?P:r).forEach(U=>{U.hideable&&(H==null||H.includes(U.field))&&(D?delete F[U.field]:F[U.field]=!1)}),t.current.setColumnVisibilityModel(F)},[t,r,v,g,P]),E=y.useCallback(D=>{l(D.target.value)},[]),O=y.useMemo(()=>P.filter(D=>D.hideable),[P]),k=y.useMemo(()=>O.every(D=>i[D.field]==null||i[D.field]!==!1),[i,O]),A=y.useMemo(()=>O.every(D=>i[D.field]===!1),[i,O]),I=y.useRef(null);y.useEffect(()=>{f?n.current.focus():I.current&&typeof I.current.focus=="function"&&I.current.focus()},[f]);let R=!1;const N=D=>R===!1&&D.hideable!==!1?(R=!0,!0):!1;return $.jsxs(y.Fragment,{children:[$.jsx(MIt,{className:c.header,ownerState:a,children:$.jsx(a.slots.baseTextField,W({placeholder:t.current.getLocaleText("columnsManagementSearchTitle"),inputRef:n,value:s,onChange:E,variant:"outlined",size:"small",InputProps:{startAdornment:$.jsx(a.slots.baseInputAdornment,{position:"start",children:$.jsx(a.slots.quickFilterIcon,{})}),sx:{pl:1.5}},fullWidth:!0},(L=a.slotProps)==null?void 0:L.baseTextField))}),$.jsxs(kIt,{className:c.root,ownerState:a,children:[P.map(D=>{var z;return $.jsx(Uy,{className:c.row,control:$.jsx(a.slots.baseCheckbox,W({disabled:D.hideable===!1,checked:i[D.field]!==!1,onClick:S,name:D.field,sx:{p:.5},inputRef:N(D)?I:void 0},(z=a.slotProps)==null?void 0:z.baseCheckbox)),label:D.headerName||D.field},D.field)}),P.length===0&&$.jsx($It,{ownerState:a,children:t.current.getLocaleText("columnsManagementNoColumns")})]}),(!p||!m)&&P.length>0?$.jsxs(AIt,{ownerState:a,className:c.footer,children:[p?$.jsx("span",{}):$.jsx(Uy,{control:$.jsx(a.slots.baseCheckbox,W({disabled:O.length===0,checked:k,indeterminate:!k&&!A,onClick:()=>T(!k),name:t.current.getLocaleText("columnsManagementShowHideAllText"),sx:{p:.5}},(j=a.slotProps)==null?void 0:j.baseCheckbox)),label:t.current.getLocaleText("columnsManagementShowHideAllText")}),m?null:$.jsx(a.slots.baseButton,W({onClick:()=>t.current.setColumnVisibilityModel(o),disabled:w},(_=a.slotProps)==null?void 0:_.baseButton,{children:t.current.getLocaleText("columnsManagementReset")}))]}):null]})}const kIt=oe("div",{name:"MuiDataGrid",slot:"ColumnsManagement",overridesResolver:(e,t)=>t.columnsManagement})(({theme:e})=>({padding:e.spacing(0,3,1.5),display:"flex",flexDirection:"column",overflow:"auto",flex:"1 1",maxHeight:400,alignItems:"flex-start"})),MIt=oe("div",{name:"MuiDataGrid",slot:"ColumnsManagementHeader",overridesResolver:(e,t)=>t.columnsManagementHeader})(({theme:e})=>({padding:e.spacing(1.5,3)})),AIt=oe("div",{name:"MuiDataGrid",slot:"ColumnsManagementFooter",overridesResolver:(e,t)=>t.columnsManagementFooter})(({theme:e})=>({padding:e.spacing(.5,1,.5,3),display:"flex",justifyContent:"space-between",borderTop:`1px solid ${e.palette.divider}`})),$It=oe("div")(({theme:e})=>({padding:e.spacing(.5,0),color:e.palette.grey[500]}));function RIt(e){var n;const t=xt();return $.jsx(Gce,W({},e,{children:$.jsx(qce,W({},(n=t.slotProps)==null?void 0:n.columnsManagement))}))}const _It=["children","className","classes"],DIt=Ble("MuiDataGrid",["panel","paper"]),NIt=oe(Hf,{name:"MuiDataGrid",slot:"Panel",overridesResolver:(e,t)=>t.panel})(({theme:e})=>({zIndex:e.zIndex.modal})),LIt=oe(uo,{name:"MuiDataGrid",slot:"Paper",overridesResolver:(e,t)=>t.paper})(({theme:e})=>({backgroundColor:(e.vars||e).palette.background.paper,minWidth:300,maxHeight:450,display:"flex",maxWidth:`calc(100vw - ${e.spacing(.5)})`,overflow:"auto"})),FIt=y.forwardRef((e,t)=>{const{children:n,className:r}=e,o=At(e,_It),i=mn(),a=xt(),s=DIt,[l,c]=y.useState(!1),u=y.useCallback(()=>{i.current.hidePreferences()},[i]),d=y.useCallback(g=>{g.key==="Escape"&&i.current.hidePreferences()},[i]),f=y.useMemo(()=>[{name:"flip",enabled:!0,options:{rootBoundary:"document"}},{name:"isPlaced",enabled:!0,phase:"main",fn:()=>{c(!0)},effect:()=>()=>{c(!1)}}],[]),[p,m]=y.useState(null);return y.useEffect(()=>{var v,w;const g=(w=(v=i.current.rootElementRef)==null?void 0:v.current)==null?void 0:w.querySelector('[data-id="gridPanelAnchor"]');g&&m(g)},[i]),p?$.jsx(NIt,W({ref:t,placement:"bottom-start",className:de(s.panel,r),ownerState:a,anchorEl:p,modifiers:f},o,{children:$.jsx(qF,{mouseEvent:"onMouseUp",onClickAway:u,children:$.jsx(LIt,{className:s.paper,ownerState:a,elevation:8,onKeyDown:d,children:l&&n})})})):null}),jIt=["className"],BIt=e=>{const{classes:t}=e;return vn({root:["panelContent"]},bn,t)},zIt=Qn("div",{name:"MuiDataGrid",slot:"PanelContent",overridesResolver:(e,t)=>t.panelContent})({display:"flex",flexDirection:"column",overflow:"auto",flex:"1 1",maxHeight:400});function VIt(e){const{className:t}=e,n=At(e,jIt),r=xt(),o=BIt(r);return $.jsx(zIt,W({className:de(o.root,t),ownerState:r},n))}const HIt=["className"],UIt=e=>{const{classes:t}=e;return vn({root:["panelFooter"]},bn,t)},WIt=Qn("div",{name:"MuiDataGrid",slot:"PanelFooter",overridesResolver:(e,t)=>t.panelFooter})(({theme:e})=>({padding:e.spacing(.5),display:"flex",justifyContent:"space-between"}));function GIt(e){const{className:t}=e,n=At(e,HIt),r=xt(),o=UIt(r);return $.jsx(WIt,W({className:de(o.root,t),ownerState:r},n))}const qIt=["item","hasMultipleFilters","deleteFilter","applyFilterChanges","showMultiFilterOperators","disableMultiFilterOperator","applyMultiFilterOperatorChanges","focusElementRef","logicOperators","columnsSort","filterColumns","deleteIconProps","logicOperatorInputProps","operatorInputProps","columnInputProps","valueInputProps","readOnly","children"],KIt=["InputComponentProps"],YIt=e=>{const{classes:t}=e;return vn({root:["filterForm"],deleteIcon:["filterFormDeleteIcon"],logicOperatorInput:["filterFormLogicOperatorInput"],columnInput:["filterFormColumnInput"],operatorInput:["filterFormOperatorInput"],valueInput:["filterFormValueInput"]},bn,t)},XIt=oe("div",{name:"MuiDataGrid",slot:"FilterForm",overridesResolver:(e,t)=>t.filterForm})(({theme:e})=>({display:"flex",padding:e.spacing(1)})),QIt=oe("div",{name:"MuiDataGrid",slot:"FilterFormDeleteIcon",overridesResolver:(e,t)=>t.filterFormDeleteIcon})(({theme:e})=>({flexShrink:0,justifyContent:"flex-end",marginRight:e.spacing(.5),marginBottom:e.spacing(.2)})),JIt=oe("div",{name:"MuiDataGrid",slot:"FilterFormLogicOperatorInput",overridesResolver:(e,t)=>t.filterFormLogicOperatorInput})({minWidth:55,marginRight:5,justifyContent:"end"}),ZIt=oe("div",{name:"MuiDataGrid",slot:"FilterFormColumnInput",overridesResolver:(e,t)=>t.filterFormColumnInput})({width:150}),ekt=oe("div",{name:"MuiDataGrid",slot:"FilterFormOperatorInput",overridesResolver:(e,t)=>t.filterFormOperatorInput})({width:150}),tkt=oe("div",{name:"MuiDataGrid",slot:"FilterFormValueInput",overridesResolver:(e,t)=>t.filterFormValueInput})({width:190}),nkt=e=>{switch(e){case ji.And:return"filterPanelOperatorAnd";case ji.Or:return"filterPanelOperatorOr";default:throw new Error("MUI X: Invalid `logicOperator` property in the `GridFilterPanel`.")}},M0=e=>e.headerName||e.field,nK=new Intl.Collator,rK=y.forwardRef(function(t,n){var we,ge,Se,xe,Ie,Re,_e,ye,Te;const{item:r,hasMultipleFilters:o,deleteFilter:i,applyFilterChanges:a,showMultiFilterOperators:s,disableMultiFilterOperator:l,applyMultiFilterOperatorChanges:c,focusElementRef:u,logicOperators:d=[ji.And,ji.Or],columnsSort:f,filterColumns:p,deleteIconProps:m={},logicOperatorInputProps:g={},operatorInputProps:v={},columnInputProps:w={},valueInputProps:x={},readOnly:S}=t,P=At(t,qIt),T=mn(),E=Ye(T,dd),O=Ye(T,Gle),k=Ye(T,ti),A=yo(),I=yo(),R=yo(),N=yo(),L=xt(),j=YIt(L),_=y.useRef(null),D=y.useRef(null),z=k.logicOperator??ji.And,F=o&&d.length>0,H=((we=L.slotProps)==null?void 0:we.baseFormControl)||{},q=(((ge=L.slotProps)==null?void 0:ge.baseSelect)||{}).native??!1,X=((Se=L.slotProps)==null?void 0:Se.baseInputLabel)||{},ae=((xe=L.slotProps)==null?void 0:xe.baseSelectOption)||{},{InputComponentProps:Z}=x,K=At(x,KIt),{filteredColumns:te,selectedField:pe}=y.useMemo(()=>{let Oe=r.field;const Me=E[r.field].filterable===!1?E[r.field]:null;if(Me)return{filteredColumns:[Me],selectedField:Oe};if(p===void 0||typeof p!="function")return{filteredColumns:O,selectedField:Oe};const We=p({field:r.field,columns:O,currentFilters:(k==null?void 0:k.items)||[]});return{filteredColumns:O.filter(Ve=>{const Qe=We.includes(Ve.field);return Ve.field===r.field&&!Qe&&(Oe=void 0),Qe}),selectedField:Oe}},[p,k==null?void 0:k.items,O,r.field,E]),ie=y.useMemo(()=>{switch(f){case"asc":return te.sort((Oe,Me)=>nK.compare(M0(Oe),M0(Me)));case"desc":return te.sort((Oe,Me)=>-nK.compare(M0(Oe),M0(Me)));default:return te}},[te,f]),le=r.field?T.current.getColumn(r.field):null,re=y.useMemo(()=>{var Oe;return!r.operator||!le?null:(Oe=le.filterOperators)==null?void 0:Oe.find(Me=>Me.value===r.operator)},[r,le]),fe=y.useCallback(Oe=>{const Me=Oe.target.value,We=T.current.getColumn(Me);if(We.field===le.field)return;const Ve=We.filterOperators.find(nt=>nt.value===r.operator)||We.filterOperators[0];let ut=!Ve.InputComponent||Ve.InputComponent!==(re==null?void 0:re.InputComponent)||We.type!==le.type?void 0:r.value;if(We.type==="singleSelect"&&ut!==void 0){const nt=We,et=jh(nt);Array.isArray(ut)?ut=ut.filter(yt=>wO(yt,et,nt==null?void 0:nt.getOptionValue)!==void 0):wO(r.value,et,nt==null?void 0:nt.getOptionValue)===void 0&&(ut=void 0)}a(W({},r,{field:Me,operator:Ve.value,value:ut}))},[T,a,r,le,re]),ee=y.useCallback(Oe=>{const Me=Oe.target.value,We=le==null?void 0:le.filterOperators.find(Qe=>Qe.value===Me),Ve=!(We!=null&&We.InputComponent)||(We==null?void 0:We.InputComponent)!==(re==null?void 0:re.InputComponent);a(W({},r,{operator:Me,value:Ve?void 0:r.value}))},[a,r,le,re]),ce=y.useCallback(Oe=>{const Me=Oe.target.value===ji.And.toString()?ji.And:ji.Or;c(Me)},[c]),me=()=>{i(r)};return y.useImperativeHandle(u,()=>({focus:()=>{var Oe;re!=null&&re.InputComponent?(Oe=_==null?void 0:_.current)==null||Oe.focus():D.current.focus()}}),[re]),$.jsxs(XIt,W({ref:n,className:j.root,"data-id":r.id,ownerState:L},P,{children:[$.jsx(QIt,W({variant:"standard",as:L.slots.baseFormControl},H,m,{className:de(j.deleteIcon,H.className,m.className),ownerState:L,children:$.jsx(L.slots.baseIconButton,W({"aria-label":T.current.getLocaleText("filterPanelDeleteIconLabel"),title:T.current.getLocaleText("filterPanelDeleteIconLabel"),onClick:me,size:"small",disabled:S},(Ie=L.slotProps)==null?void 0:Ie.baseIconButton,{children:$.jsx(L.slots.filterPanelDeleteIcon,{fontSize:"small"})}))})),$.jsx(JIt,W({variant:"standard",as:L.slots.baseFormControl},H,g,{sx:[F?{display:"flex"}:{display:"none"},s?{visibility:"visible"}:{visibility:"hidden"},H.sx,g.sx],className:de(j.logicOperatorInput,H.className,g.className),ownerState:L,children:$.jsx(L.slots.baseSelect,W({inputProps:{"aria-label":T.current.getLocaleText("filterPanelLogicOperator")},value:z??"",onChange:ce,disabled:!!l||d.length===1,native:q},(Re=L.slotProps)==null?void 0:Re.baseSelect,{children:d.map(Oe=>y.createElement(L.slots.baseSelectOption,W({},ae,{native:q,key:Oe.toString(),value:Oe.toString()}),T.current.getLocaleText(nkt(Oe))))}))})),$.jsxs(ZIt,W({variant:"standard",as:L.slots.baseFormControl},H,w,{className:de(j.columnInput,H.className,w.className),ownerState:L,children:[$.jsx(L.slots.baseInputLabel,W({},X,{htmlFor:A,id:I,children:T.current.getLocaleText("filterPanelColumns")})),$.jsx(L.slots.baseSelect,W({labelId:I,id:A,label:T.current.getLocaleText("filterPanelColumns"),value:pe??"",onChange:fe,native:q,disabled:S},(_e=L.slotProps)==null?void 0:_e.baseSelect,{children:ie.map(Oe=>y.createElement(L.slots.baseSelectOption,W({},ae,{native:q,key:Oe.field,value:Oe.field}),M0(Oe)))}))]})),$.jsxs(ekt,W({variant:"standard",as:L.slots.baseFormControl},H,v,{className:de(j.operatorInput,H.className,v.className),ownerState:L,children:[$.jsx(L.slots.baseInputLabel,W({},X,{htmlFor:R,id:N,children:T.current.getLocaleText("filterPanelOperator")})),$.jsx(L.slots.baseSelect,W({labelId:N,label:T.current.getLocaleText("filterPanelOperator"),id:R,value:r.operator,onChange:ee,native:q,inputRef:D,disabled:S},(ye=L.slotProps)==null?void 0:ye.baseSelect,{children:(Te=le==null?void 0:le.filterOperators)==null?void 0:Te.map(Oe=>y.createElement(L.slots.baseSelectOption,W({},ae,{native:q,key:Oe.value,value:Oe.value}),Oe.label||T.current.getLocaleText(`filterOperator${p1(Oe.value)}`)))}))]})),$.jsx(tkt,W({variant:"standard",as:L.slots.baseFormControl},H,K,{className:de(j.valueInput,H.className,K.className),ownerState:L,children:re!=null&&re.InputComponent?$.jsx(re.InputComponent,W({apiRef:T,item:r,applyValue:a,focusElementRef:_,disabled:S},re.InputComponentProps,Z),r.field):null}))]}))}),rkt=["logicOperators","columnsSort","filterFormProps","getColumnForNewFilter","children","disableAddFilterButton","disableRemoveAllButton"],oK=e=>({field:e.field,operator:e.filterOperators[0].value,id:Math.round(Math.random()*1e5)}),okt=y.forwardRef(function(t,n){var N,L;const r=mn(),o=xt(),i=Ye(r,ti),a=Ye(r,Gle),s=Ye(r,Y1t),l=y.useRef(null),c=y.useRef(null),{logicOperators:u=[ji.And,ji.Or],columnsSort:d,filterFormProps:f,getColumnForNewFilter:p,disableAddFilterButton:m=!1,disableRemoveAllButton:g=!1}=t,v=At(t,rkt),w=r.current.upsertFilterItem,x=y.useCallback(j=>{r.current.setFilterLogicOperator(j)},[r]),S=y.useCallback(()=>{let j;if(p&&typeof p=="function"){const _=p({currentFilters:(i==null?void 0:i.items)||[],columns:a});if(_===null)return null;j=a.find(({field:D})=>D===_)}else j=a.find(_=>{var D;return(D=_.filterOperators)==null?void 0:D.length});return j?oK(j):null},[i==null?void 0:i.items,a,p]),P=y.useCallback(()=>{if(p===void 0||typeof p!="function")return S();const j=i.items.length?i.items:[S()].filter(Boolean),_=p({currentFilters:j,columns:a});if(_===null)return null;const D=a.find(({field:z})=>z===_);return D?oK(D):null},[i.items,a,p,S]),T=y.useMemo(()=>i.items.length?i.items:(c.current||(c.current=S()),c.current?[c.current]:[]),[i.items,S]),E=T.length>1,{readOnlyFilters:O,validFilters:k}=y.useMemo(()=>T.reduce((j,_)=>(s[_.field]?j.validFilters.push(_):j.readOnlyFilters.push(_),j),{readOnlyFilters:[],validFilters:[]}),[T,s]),A=y.useCallback(()=>{const j=P();j&&r.current.upsertFilterItems([...T,j])},[r,P,T]),I=y.useCallback(j=>{const _=k.length===1;r.current.deleteFilterItem(j),_&&r.current.hideFilterPanel()},[r,k.length]),R=y.useCallback(()=>k.length===1&&k[0].value===void 0?(r.current.deleteFilterItem(k[0]),r.current.hideFilterPanel()):r.current.setFilterModel(W({},i,{items:O}),"removeAllFilterItems"),[r,O,i,k]);return y.useEffect(()=>{u.length>0&&i.logicOperator&&!u.includes(i.logicOperator)&&x(u[0])},[u,x,i.logicOperator]),y.useEffect(()=>{k.length>0&&l.current.focus()},[k.length]),$.jsxs(Gce,W({ref:n},v,{children:[$.jsxs(VIt,{children:[O.map((j,_)=>$.jsx(rK,W({item:j,applyFilterChanges:w,deleteFilter:I,hasMultipleFilters:E,showMultiFilterOperators:_>0,disableMultiFilterOperator:_!==1,applyMultiFilterOperatorChanges:x,focusElementRef:null,readOnly:!0,logicOperators:u,columnsSort:d},f),j.id==null?_:j.id)),k.map((j,_)=>$.jsx(rK,W({item:j,applyFilterChanges:w,deleteFilter:I,hasMultipleFilters:E,showMultiFilterOperators:O.length+_>0,disableMultiFilterOperator:O.length+_!==1,applyMultiFilterOperatorChanges:x,focusElementRef:_===k.length-1?l:null,logicOperators:u,columnsSort:d},f),j.id==null?_+O.length:j.id))]}),!o.disableMultipleColumnsFiltering&&!(m&&g)?$.jsxs(GIt,{children:[m?$.jsx("span",{}):$.jsx(o.slots.baseButton,W({onClick:A,startIcon:$.jsx(o.slots.filterPanelAddIcon,{})},(N=o.slotProps)==null?void 0:N.baseButton,{children:r.current.getLocaleText("filterPanelAddFilter")})),!g&&k.length>0?$.jsx(o.slots.baseButton,W({onClick:R,startIcon:$.jsx(o.slots.filterPanelRemoveAllIcon,{})},(L=o.slotProps)==null?void 0:L.baseButton,{children:r.current.getLocaleText("filterPanelRemoveAll")})):null]}):null]}))}),ikt=["hideMenu","options"],akt=["hideMenu","options"];function skt(e){const t=mn(),{hideMenu:n,options:r}=e,o=At(e,ikt);return $.jsx(Yt,W({onClick:()=>{t.current.exportDataAsCsv(r),n==null||n()}},o,{children:t.current.getLocaleText("toolbarExportCSV")}))}function lkt(e){const t=mn(),{hideMenu:n,options:r}=e,o=At(e,akt);return $.jsx(Yt,W({onClick:()=>{t.current.exportDataAsPrint(r),n==null||n()}},o,{children:t.current.getLocaleText("toolbarExportPrint")}))}const ckt=["className","selectedRowCount"],ukt=e=>{const{classes:t}=e;return vn({root:["selectedRowCount"]},bn,t)},dkt=Qn("div",{name:"MuiDataGrid",slot:"SelectedRowCount",overridesResolver:(e,t)=>t.selectedRowCount})(({theme:e})=>({alignItems:"center",display:"flex",margin:e.spacing(0,2),visibility:"hidden",width:0,height:0,[e.breakpoints.up("sm")]:{visibility:"visible",width:"auto",height:"auto"}})),fkt=y.forwardRef(function(t,n){const{className:r,selectedRowCount:o}=t,i=At(t,ckt),a=mn(),s=xt(),l=ukt(s),c=a.current.getLocaleText("footerRowSelected")(o);return $.jsx(dkt,W({ref:n,className:de(l.root,r),ownerState:s},i,{children:c}))}),pkt=y.forwardRef(function(t,n){var d,f;const r=mn(),o=xt(),i=Ye(r,RCt),a=Ye(r,lPt),s=Ye(r,jz),l=!o.hideFooterSelectedRowCount&&a>0?$.jsx(fkt,{selectedRowCount:a}):$.jsx("div",{}),c=!o.hideFooterRowCount&&!o.pagination?$.jsx(o.slots.footerRowCount,W({},(d=o.slotProps)==null?void 0:d.footerRowCount,{rowCount:i,visibleRowCount:s})):null,u=o.pagination&&!o.hideFooterPagination&&o.slots.pagination&&$.jsx(o.slots.pagination,W({},(f=o.slotProps)==null?void 0:f.pagination));return $.jsxs(dOt,W({ref:n},t,{children:[l,c,u]}))});function hkt(){var i,a;const e=mn(),t=Ye(e,ec),n=xt(),r=Ye(e,tS),o=e.current.unstable_applyPipeProcessors("preferencePanel",null,r.openedPanelValue??Bh.filters);return $.jsx(n.slots.panel,W({as:n.slots.basePopper,open:t.length>0&&r.open,id:r.panelId,"aria-labelledby":r.labelId},(i=n.slotProps)==null?void 0:i.panel,(a=n.slotProps)==null?void 0:a.basePopper,{children:o}))}function mkt(){var t;const e=xt();return $.jsxs(y.Fragment,{children:[$.jsx(hkt,{}),e.slots.toolbar&&$.jsx(e.slots.toolbar,W({},(t=e.slotProps)==null?void 0:t.toolbar))]})}const Yz=(e,t,n,r,o)=>{const i=o.hasScrollY?o.scrollbarSize:0;let a;switch(e){case ur.LEFT:a=r[n];break;case ur.RIGHT:a=o.columnsTotalWidth-r[n]-t+i;break;default:a=0;break}return a},A0={root:se.scrollbarFiller,header:se["scrollbarFiller--header"],borderTop:se["scrollbarFiller--borderTop"],borderBottom:se["scrollbarFiller--borderBottom"],pinnedRight:se["scrollbarFiller--pinnedRight"]};function Xz({header:e,borderTop:t=!0,borderBottom:n,pinnedRight:r}){return $.jsx("div",{role:"presentation",className:de(A0.root,e&&A0.header,t&&A0.borderTop,n&&A0.borderBottom,r&&A0.pinnedRight)})}const gkt=Qn("div",{name:"MuiDataGrid",slot:"SkeletonLoadingOverlay",overridesResolver:(e,t)=>t.skeletonLoadingOverlay})({minWidth:"100%",width:"max-content",height:"100%",overflow:"clip"}),ykt=e=>{const{classes:t}=e;return vn({root:["skeletonLoadingOverlay"]},bn,t)},iK=e=>parseInt(e.getAttribute("data-colindex"),10),vkt=y.forwardRef(function(t,n){const r=xt(),{slots:o}=r,i=ykt({classes:r.classes}),a=y.useRef(null),s=hm(a,n),l=mn(),c=Ye(l,li),u=(c==null?void 0:c.viewportInnerSize.height)??0,d=Math.ceil(u/c.rowHeight),f=Ye(l,$z),p=Ye(l,ip),m=y.useMemo(()=>p.filter(E=>E<=f).length,[f,p]),g=Ye(l,vo),v=y.useMemo(()=>g.slice(0,m),[g,m]),w=Ye(l,m1),x=y.useCallback((E,O,k)=>{const A=Yz(k,E,O,p,c);return{[k]:A}},[c,p]),S=y.useCallback(E=>{if(w.left.findIndex(O=>O.field===E)!==-1)return ur.LEFT;if(w.right.findIndex(O=>O.field===E)!==-1)return ur.RIGHT},[w.left,w.right]),P=y.useMemo(()=>{const E=[];for(let O=0;Ole.field===I.field):A-w.left.length,D=R&&x(I.computedWidth,A,R),z=c.columnsTotalWidth0},`skeleton-scrollbar-filler-${O}`))}E.push($.jsx("div",{className:de(se.row,se.rowSkeleton,O===0&&se["row--firstVisible"]),children:k},`skeleton-row-${O}`))}return E},[o,v,w,d,r.showCellVerticalBorder,c.columnsTotalWidth,c.viewportOuterSize.width,c.rowHeight,c.hasScrollY,c.scrollbarSize,S,x]);return ht(l,"columnResize",E=>{var D,z,F;const{colDef:O,width:k}=E,A=(D=a.current)==null?void 0:D.querySelectorAll(`[data-field="${fd(O.field)}"]`);if(!A)throw new Error("MUI X: Expected skeleton cells to be defined with `data-field` attribute.");const I=v.findIndex(H=>H.field===O.field),R=S(O.field),N=R===ur.LEFT,L=R===ur.RIGHT,j=getComputedStyle(A[0]).getPropertyValue("--width"),_=parseInt(j,10)-k;if(A&&A.forEach(H=>{H.style.setProperty("--width",`${k}px`)}),N){const H=(z=a.current)==null?void 0:z.querySelectorAll(`.${se["cell--pinnedLeft"]}`);H==null||H.forEach(U=>{iK(U)>I&&(U.style.left=`${parseInt(getComputedStyle(U).left,10)-_}px`)})}if(L){const H=(F=a.current)==null?void 0:F.querySelectorAll(`.${se["cell--pinnedRight"]}`);H==null||H.forEach(U=>{iK(U)({maxHeight:"calc(100% + 1px)",flexGrow:1,[`& .${ch.selectLabel}`]:{display:"none",[e.breakpoints.up("sm")]:{display:"block"}},[`& .${ch.input}`]:{display:"none",[e.breakpoints.up("sm")]:{display:"inline-flex"}}})),Pkt=(e,t)=>({from:n,to:r,count:o,page:i})=>e({from:n,to:r,count:o,page:i,estimated:t}),Tkt=({from:e,to:t,count:n,estimated:r})=>r?`${e}–${t} of ${n!==-1?n:`more than ${r>t?r:t}`}`:`${e}–${t} of ${n!==-1?n:`more than ${t}`}`,Ekt=y.forwardRef(function(t,n){const r=mn(),o=xt(),i=Ye(r,Fi),a=Ye(r,Ug),s=Ye(r,wce),{paginationMode:l,loading:c,estimatedRowCount:u}=o,d=y.useMemo(()=>a===-1&&l==="server"&&c?{backIconButtonProps:{disabled:!0},nextIconButtonProps:{disabled:!0}}:{},[c,l,a]),f=y.useMemo(()=>Math.max(0,s-1),[s]),p=y.useMemo(()=>a===-1||i.page<=f?i.page:f,[f,i.page,a]),m=y.useCallback(P=>{const T=Number(P.target.value);r.current.setPageSize(T)},[r]),g=y.useCallback((P,T)=>{r.current.setPage(T)},[r]),w=(P=>{for(let T=0;T{const{classes:t}=e;return vn({root:["rowCount"]},bn,t)},kkt=Qn("div",{name:"MuiDataGrid",slot:"RowCount",overridesResolver:(e,t)=>t.rowCount})(({theme:e})=>({alignItems:"center",display:"flex",margin:e.spacing(0,2)})),Mkt=y.forwardRef(function(t,n){const{className:r,rowCount:o,visibleRowCount:i}=t,a=At(t,Okt),s=mn(),l=xt(),c=Ikt(l);if(o===0)return null;const u=i=d.left.length&&g=m.lastColumnIndex,le=Akt(j.classes,{root:["row",r&&"selected",K&&"row--editable",Z&&"row--editing",v&&"row--firstVisible",w&&"row--lastVisible",S&&"row--borderBottom",l==="auto"&&"row--dynamicHeight"]}),re=N.hooks.useGridRowAriaAttributes();y.useLayoutEffect(()=>{if(_.range){const nt=R.current.getRowIndexRelativeToVisibleRows(o);nt!==void 0&&R.current.unstable_setLastMeasuredRowIndex(nt)}if(L.current&&l==="auto")return R.current.observeRowHeight(L.current,o)},[R,_.range,l,o]);const fe=y.useCallback((nt,et)=>yt=>{b1(yt)||R.current.getRow(o)&&(R.current.publishEvent(nt,R.current.getRowParams(o),yt),et&&et(yt))},[R,o]),ee=y.useCallback(nt=>{const et=xO(nt.target,se.cell),yt=et==null?void 0:et.getAttribute("data-field");if(yt){if(yt===kb.field||yt===pM||yt==="__reorder__"||R.current.getCellMode(o,yt)===Zn.Edit)return;const wn=R.current.getColumn(yt);if((wn==null?void 0:wn.type)===uM)return}fe("rowClick",P)(nt)},[R,P,fe,o]),{slots:ce,slotProps:me,disableColumnReorder:we}=j,ge=j.rowReordering,Se=Ye(R,()=>W({},R.current.getRowHeightEntry(o)),Vle),xe=y.useMemo(()=>{if(x)return{opacity:0,width:0,height:0};const nt=W({},s,{maxHeight:l==="auto"?"none":l,minHeight:l,"--height":typeof l=="number"?`${l}px`:l});if(Se.spacingTop){const et=j.rowSpacingType==="border"?"borderTopWidth":"marginTop";nt[et]=Se.spacingTop}if(Se.spacingBottom){const et=j.rowSpacingType==="border"?"borderBottomWidth":"marginBottom";let yt=nt[et];typeof yt!="number"&&(yt=parseInt(yt||"0",10)),yt+=Se.spacingBottom,nt[et]=yt}return nt},[x,l,s,Se,j.rowSpacingType]),Ie=R.current.unstable_applyPipeProcessors("rowClassName",[],o),Re=q?re(q,a):void 0;if(typeof j.getRowClassName=="function"){const nt=a-(((ut=_.range)==null?void 0:ut.firstRowIndex)||0),et=W({},R.current.getRowParams(o),{isFirstVisible:nt===0,isLastVisible:nt===_.rows.length-1,indexRelativeToCurrentPage:nt});Ie.push(j.getRowClassName(et))}const _e=(nt,et,yt,wn,Ke=fa.NONE)=>{var ys;const $e=R.current.unstable_getCellColSpanInfo(o,yt);if($e!=null&&$e.spannedByColSpan)return null;const Xe=($e==null?void 0:$e.cellProps.width)??nt.computedWidth,bt=($e==null?void 0:$e.cellProps.colSpan)??1,Vt=Yz(zce[Ke],nt.computedWidth,yt,F,p);if((q==null?void 0:q.type)==="skeletonRow")return $.jsx(ce.skeletonCell,{type:nt.type,width:Xe,height:l,field:nt.field,align:nt.align},nt.field);const Ot=((ys=H[o])==null?void 0:ys[nt.field])??null,un=nt.field==="__reorder__",jn=Object.keys(H).length>0,Wn=!(we||nt.disableReorder),Eo=ge&&!D.length&&z<=1&&!jn,Kr=!(Wn||un&&Eo),Ii=Ke===fa.VIRTUAL;return $.jsx(ce.cell,W({column:nt,width:Xe,rowId:o,align:nt.align||"left",colIndex:yt,colSpan:bt,disableDragEvents:Kr,editCellState:Ot,isNotVisible:Ii,pinnedOffset:Vt,pinnedPosition:Ke,sectionIndex:et,sectionLength:wn,gridHasFiller:ae},me==null?void 0:me.cell),nt.field)};if(!q)return null;const ye=d.left.map((nt,et)=>_e(nt,et,et,d.left.length,fa.LEFT)),Te=d.right.map((nt,et)=>{const yt=u.length-d.right.length+et;return _e(nt,et,yt,d.right.length,fa.RIGHT)}),Oe=u.length-d.left.length-d.right.length,Me=[];pe&&Me.push(_e(u[g],g-d.left.length,g,Oe,fa.VIRTUAL));for(let nt=m.firstColumnIndex;nt0&&$.jsx(Rkt,{width:Qe}),Te.length>0&&$.jsx("div",{role:"presentation",className:se.filler}),Te,X!==0&&$.jsx(Xz,{pinnedRight:d.right.length>0})]}))}),Dkt=op(_kt),Nkt=()=>{const e=xl(),t=xt(),n=Ye(e,vo),r=Ye(e,Fz),o=Ye(e,v1),i=Ye(e,LCt);return{role:"grid","aria-colcount":n.length,"aria-rowcount":o+1+i+r,"aria-multiselectable":Bz(t)}},Lkt=()=>{const e=xl(),t=Ye(e,Lu),n=Ye(e,v1);return y.useCallback((r,o)=>{const i={},a=o+n+2;return i["aria-rowindex"]=a,e.current.isRowSelectable(r.id)&&(i["aria-selected"]=t[r.id]!==void 0),i},[e,t,n])};function Fkt({privateApiRef:e,configuration:t,props:n,children:r}){const o=y.useRef(e.current.getPublicApi());return $.jsx(Rce.Provider,{value:t,children:$.jsx(Lle.Provider,{value:n,children:$.jsx(Ice.Provider,{value:e,children:$.jsx(Nle.Provider,{value:o,children:r})})})})}const jkt=e=>{const t=y.useRef(null),n=y.useRef(null),r=y.useRef(null),o=y.useRef(null),i=y.useRef(null),a=y.useRef(null);e.current.register("public",{rootElementRef:t}),e.current.register("private",{mainElementRef:n,virtualScrollerRef:r,virtualScrollbarVerticalRef:o,virtualScrollbarHorizontalRef:i,columnHeadersContainerRef:a})},Bkt=e=>{const t=nr();e.current.state.isRtl===void 0&&(e.current.state.isRtl=t);const n=y.useRef(!0);y.useEffect(()=>{n.current?n.current=!1:e.current.setState(r=>W({},r,{isRtl:t}))},[e,t])},zkt=uCt()&&window.localStorage.getItem("DEBUG")!=null,ew=()=>{},Vkt={debug:ew,info:ew,warn:ew,error:ew},aK=["debug","info","warn","error"];function sK(e,t,n=console){const r=aK.indexOf(t);if(r===-1)throw new Error(`MUI X: Log level ${t} not recognized.`);return aK.reduce((i,a,s)=>(s>=r?i[a]=(...l)=>{const[c,...u]=l;n[a](`MUI X: ${e} - ${c}`,...u)}:i[a]=ew,i),{})}const Hkt=(e,t)=>{const n=y.useCallback(r=>zkt?sK(r,"debug",t.logger):t.logLevel?sK(r,t.logLevel.toString(),t.logger):Vkt,[t.logLevel,t.logger]);Jt(e,{getLogger:n},"private")};class Ukt{constructor(){this.maxListeners=20,this.warnOnce=!1,this.events={}}on(t,n,r={}){let o=this.events[t];o||(o={highPriority:new Map,regular:new Map},this.events[t]=o),r.isFirst?o.highPriority.set(n,!0):o.regular.set(n,!0)}removeListener(t,n){this.events[t]&&(this.events[t].regular.delete(n),this.events[t].highPriority.delete(n))}removeAllListeners(){this.events={}}emit(t,...n){const r=this.events[t];if(!r)return;const o=Array.from(r.highPriority.keys()),i=Array.from(r.regular.keys());for(let a=o.length-1;a>=0;a-=1){const s=o[a];r.highPriority.has(s)&&s.apply(this,n)}for(let a=0;a(this.listeners.add(n),()=>{this.listeners.delete(n)}),this.getSnapshot=()=>this.value,this.update=n=>{this.value=n,this.listeners.forEach(r=>r(n))},this.value=t,this.listeners=new Set}}const Kce=Symbol("mui.api_private"),Wkt=e=>e.isPropagationStopped!==void 0;let lK=0;function Gkt(e){var o;const t=(o=e.current)==null?void 0:o[Kce];if(t)return t;const n={},r={state:n,store:Qz.create(n),instanceId:{id:lK}};return lK+=1,r.getPublicApi=()=>e.current,r.register=(i,a)=>{Object.keys(a).forEach(s=>{const l=a[s],c=r[s];if((c==null?void 0:c.spying)===!0?c.target=l:r[s]=l,i==="public"){const u=e.current,d=u[s];(d==null?void 0:d.spying)===!0?d.target=l:u[s]=l}})},r.register("private",{caches:{},eventManager:new Ukt}),r}function qkt(e){return{get state(){return e.current.state},get store(){return e.current.store},get instanceId(){return e.current.instanceId},[Kce]:e.current}}function Kkt(e,t){var a;const n=y.useRef(),r=y.useRef();r.current||(r.current=Gkt(n)),n.current||(n.current=qkt(r));const o=y.useCallback((...s)=>{const[l,c,u={}]=s;if(u.defaultMuiPrevented=!1,Wkt(u)&&u.isPropagationStopped())return;const d=t.signature===ol.DataGridPro||t.signature===ol.DataGridPremium?{api:r.current.getPublicApi()}:{};r.current.eventManager.emit(l,c,u,d)},[r,t.signature]),i=y.useCallback((s,l,c)=>{r.current.eventManager.on(s,l,c);const u=r.current;return()=>{u.eventManager.removeListener(s,l)}},[r]);return Jt(r,{subscribeEvent:i,publishEvent:o},"public"),e&&!((a=e.current)!=null&&a.state)&&(e.current=n.current),y.useImperativeHandle(e,()=>n.current,[n]),y.useEffect(()=>{const s=r.current;return()=>{s.publishEvent("unmount")}},[r]),r}const Ykt=(e,t)=>{const n=y.useCallback(r=>{if(t.localeText[r]==null)throw new Error(`Missing translation for key ${r}.`);return t.localeText[r]},[t.localeText]);e.current.register("public",{getLocaleText:n})};function nS(e){"@babel/helpers - typeof";return nS=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},nS(e)}function Xkt(e,t){if(nS(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(nS(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function rS(e){var t=Xkt(e,"string");return nS(t)=="symbol"?t:t+""}const Qkt=e=>{const t=y.useRef({}),n=y.useRef(!1),r=y.useCallback(u=>{n.current||!u||(n.current=!0,Object.values(u.appliers).forEach(d=>{d()}),n.current=!1)},[]),o=y.useCallback((u,d,f)=>{t.current[u]||(t.current[u]={processors:new Map,processorsAsArray:[],appliers:{}});const p=t.current[u];return p.processors.get(d)!==f&&(p.processors.set(d,f),p.processorsAsArray=Array.from(t.current[u].processors.values()),r(p)),()=>{t.current[u].processors.delete(d),t.current[u].processorsAsArray=Array.from(t.current[u].processors.values())}},[r]),i=y.useCallback((u,d,f)=>(t.current[u]||(t.current[u]={processors:new Map,processorsAsArray:[],appliers:{}}),t.current[u].appliers[d]=f,()=>{const p=t.current[u].appliers,m=At(p,[d].map(rS));t.current[u].appliers=m}),[]),a=y.useCallback(u=>{r(t.current[u])},[r]),s=y.useCallback((...u)=>{const[d,f,p]=u;if(!t.current[d])return f;const m=t.current[d].processorsAsArray;let g=f;for(let v=0;v{const r=y.useRef(),o=y.useRef(`mui-${Math.round(Math.random()*1e9)}`),i=y.useCallback(()=>{r.current=e.current.registerPipeProcessor(t,o.current,n)},[e,n,t]);y1(()=>{i()});const a=y.useRef(!0);y.useEffect(()=>(a.current?a.current=!1:i(),()=>{r.current&&(r.current(),r.current=null)}),[i])},Jz=(e,t,n)=>{const r=y.useRef(),o=y.useRef(`mui-${Math.round(Math.random()*1e9)}`),i=y.useCallback(()=>{r.current=e.current.registerPipeApplier(t,o.current,n)},[e,n,t]);y1(()=>{i()});const a=y.useRef(!0);y.useEffect(()=>(a.current?a.current=!1:i(),()=>{r.current&&(r.current(),r.current=null)}),[i])},CO=(e,t,n,r)=>{const o=y.useCallback(()=>{e.current.registerStrategyProcessor(t,n,r)},[e,r,n,t]);y1(()=>{o()});const i=y.useRef(!0);y.useEffect(()=>{i.current?i.current=!1:o()},[o])},zh="none",cK={rowTreeCreation:"rowTree",filtering:"rowTree",sorting:"rowTree",visibleRowsLookupCreation:"rowTree"},Jkt=e=>{const t=y.useRef(new Map),n=y.useRef({}),r=y.useCallback((l,c,u)=>{const d=()=>{const m=n.current[c],g=At(m,[l].map(rS));n.current[c]=g};n.current[c]||(n.current[c]={});const f=n.current[c],p=f[l];return f[l]=u,!p||p===u||l===e.current.getActiveStrategy(cK[c])&&e.current.publishEvent("activeStrategyProcessorChange",c),d},[e]),o=y.useCallback((l,c)=>{const u=e.current.getActiveStrategy(cK[l]);if(u==null)throw new Error("Can't apply a strategy processor before defining an active strategy");const d=n.current[l];if(!d||!d[u])throw new Error(`No processor found for processor "${l}" on strategy "${u}"`);const f=d[u];return f(c)},[e]),i=y.useCallback(l=>{const u=Array.from(t.current.entries()).find(([,d])=>d.group!==l?!1:d.isAvailable());return(u==null?void 0:u[0])??zh},[]),a=y.useCallback((l,c,u)=>{t.current.set(c,{group:l,isAvailable:u}),e.current.publishEvent("strategyAvailabilityChange")},[e]);Jt(e,{registerStrategyProcessor:r,applyStrategyProcessor:o,getActiveStrategy:i,setStrategyAvailability:a},"private")},Zkt=e=>{const t=y.useRef({}),[,n]=y.useState(),r=y.useCallback(c=>{t.current[c.stateId]=c},[]),o=y.useCallback((c,u)=>{let d;if(Xle(c)?d=c(e.current.state):d=c,e.current.state===d)return!1;let f=!1;const p=[];if(Object.keys(t.current).forEach(m=>{const g=t.current[m],v=g.stateSelector(e.current.state,e.current.instanceId),w=g.stateSelector(d,e.current.instanceId);w!==v&&(p.push({stateId:g.stateId,hasPropChanged:w!==g.propModel}),g.propModel!==void 0&&w!==g.propModel&&(f=!0))}),p.length>1)throw new Error(`You're not allowed to update several sub-state in one transaction. You already updated ${p[0].stateId}, therefore, you're not allowed to update ${p.map(m=>m.stateId).join(", ")} in the same transaction.`);if(f||(e.current.state=d,e.current.publishEvent("stateChange",d),e.current.store.update(d)),p.length===1){const{stateId:m,hasPropChanged:g}=p[0],v=t.current[m],w=v.stateSelector(d,e.current.instanceId);v.propOnChange&&g&&v.propOnChange(w,{reason:u,api:e.current}),f||e.current.publishEvent(v.changeEvent,w,{reason:u})}return!f},[e]),i=y.useCallback((c,u,d)=>e.current.setState(f=>W({},f,{[c]:u(f[c])}),d),[e]),a=y.useCallback(()=>n(()=>e.current.state),[e]),s={setState:o,forceUpdate:a},l={updateControlState:i,registerControlState:r};Jt(e,s,"public"),Jt(e,l,"private")},eMt=(e,t)=>{const n=Kkt(e,t);return jkt(n),Bkt(n),Hkt(n,t),Zkt(n),Qkt(n),Jkt(n),Ykt(n,t),n.current.register("private",{rootProps:t}),n},Bo=(e,t,n)=>{const r=y.useRef(!1);r.current||(t.current.state=e(t.current.state,n,t),r.current=!0)};function nL(e,t){if(e==null)return"";const n=typeof e=="string"?e:`${e}`;if(t.shouldAppendQuotes||t.escapeFormulas){const r=n.replace(/"/g,'""');return t.escapeFormulas&&["=","+","-","@"," ","\r"].includes(r[0])?`"'${r}"`:[t.delimiter,` +`,"\r",'"'].some(o=>n.includes(o))?`"${r}"`:r}return n}const Yce=(e,t)=>{var i,a;const{csvOptions:n,ignoreValueFormatter:r}=t;let o;if(r){const s=e.colDef.type;s==="number"?o=String(e.value):s==="date"||s==="dateTime"?o=(i=e.value)==null?void 0:i.toISOString():typeof((a=e.value)==null?void 0:a.toString)=="function"?o=e.value.toString():o=e.value}else o=e.formattedValue;return nL(o,n)};class rL{constructor(t){this.options=void 0,this.rowString="",this.isEmpty=!0,this.options=t}addValue(t){this.isEmpty||(this.rowString+=this.options.csvOptions.delimiter),typeof this.options.sanitizeCellValue=="function"?this.rowString+=this.options.sanitizeCellValue(t,this.options.csvOptions):this.rowString+=t,this.isEmpty=!1}getRowString(){return this.rowString}}const tMt=({id:e,columns:t,getCellParams:n,csvOptions:r,ignoreValueFormatter:o})=>{const i=new rL({csvOptions:r});return t.forEach(a=>{const s=n(e,a.field);i.addValue(Yce(s,{ignoreValueFormatter:o,csvOptions:r}))}),i.getRowString()};function nMt(e){const{columns:t,rowIds:n,csvOptions:r,ignoreValueFormatter:o,apiRef:i}=e,a=n.reduce((d,f)=>`${d}${tMt({id:f,columns:t,getCellParams:i.current.getCellParams,ignoreValueFormatter:o,csvOptions:r})}\r +`,"").trim();if(!r.includeHeaders)return a;const s=t.filter(d=>d.field!==kb.field),l=[];if(r.includeColumnGroupsHeaders){const d=i.current.getAllGroupDetails();let f=0;const p=s.reduce((m,g)=>{const v=i.current.getColumnGroupPath(g.field);return m[g.field]=v,f=Math.max(f,v.length),m},{});for(let m=0;m{const w=(p[v.field]||[])[m],x=d[w];g.addValue(x?x.headerName||x.groupId:"")})}}const c=new rL({csvOptions:r,sanitizeCellValue:nL});return s.forEach(d=>{c.addValue(d.headerName||d.field)}),l.push(c),`${`${l.map(d=>d.getRowString()).join(`\r `)}\r -`}${a}`.trim()}function hV(e){const t=document.createElement("span");t.style.whiteSpace="pre",t.style.userSelect="all",t.style.opacity="0px",t.textContent=e,document.body.appendChild(t);const n=document.createRange();n.selectNode(t);const r=window.getSelection();r.removeAllRanges(),r.addRange(n);try{document.execCommand("copy")}finally{document.body.removeChild(t)}}function opt(e){navigator.clipboard?navigator.clipboard.writeText(e).catch(()=>{hV(e)}):hV(e)}function ipt(e){var t;return!!((t=window.getSelection())!=null&&t.toString()||e&&(e.selectionEnd||0)-(e.selectionStart||0)>0)}const apt=(e,t)=>{const n=t.unstable_ignoreValueFormatterDuringExport,r=(typeof n=="object"?n==null?void 0:n.clipboardExport:n)||!1,o=t.clipboardCopyCellDelimiter,i=g.useCallback(a=>{if(!((a.ctrlKey||a.metaKey)&&a.key==="c")||ipt(a.target))return;let s="";if(e.current.getSelectedRows().size>0)s=e.current.getDataAsCsv({includeHeaders:!1,delimiter:o,shouldAppendQuotes:!1,escapeFormulas:!1});else{const c=Go(e);if(c){const u=e.current.getCellParams(c.id,c.field);s=tZ(u,{csvOptions:{delimiter:o,shouldAppendQuotes:!1,escapeFormulas:!1},ignoreValueFormatter:r})}}s=e.current.unstable_applyPipeProcessors("clipboardCopy",s),s&&(opt(s),e.current.publishEvent("clipboardCopy",s))},[e,r,o]);Lct(e,e.current.rootElementRef,"keydown",i),Sn(e,"clipboardCopy",t.onClipboardCopy)},spt=e=>S({},e,{columnMenu:{open:!1}}),lpt=e=>{const t=Fr(e,"useGridColumnMenu"),n=g.useCallback(a=>{e.current.setState(l=>l.columnMenu.open&&l.columnMenu.field===a?l:(t.debug("Opening Column Menu"),S({},l,{columnMenu:{open:!0,field:a}})))&&(e.current.hidePreferences(),e.current.forceUpdate())},[e,t]),r=g.useCallback(()=>{const a=ZI(e.current.state);if(a.field){const l=tm(e),c=Ea(e),u=rl(e);let d=a.field;if(l[d]||(d=u[0]),c[d]===!1){const f=u.filter(h=>h===d?!0:c[h]!==!1),p=f.indexOf(d);d=f[p+1]||f[p-1]}e.current.setColumnHeaderFocus(d)}e.current.setState(l=>!l.columnMenu.open&&l.columnMenu.field===void 0?l:(t.debug("Hiding Column Menu"),S({},l,{columnMenu:S({},l.columnMenu,{open:!1,field:void 0})})))&&e.current.forceUpdate()},[e,t]),o=g.useCallback(a=>{t.debug("Toggle Column Menu");const s=ZI(e.current.state);!s.open||s.field!==a?n(a):r()},[e,t,n,r]);St(e,{showColumnMenu:n,hideColumnMenu:r,toggleColumnMenu:o},"public"),et(e,"columnResizeStart",r),et(e,"virtualScrollerWheel",e.current.hideColumnMenu),et(e,"virtualScrollerTouchMove",e.current.hideColumnMenu)},nZ=["maxWidth","minWidth","width","flex"];function cpt({initialFreeSpace:e,totalFlexUnits:t,flexColumns:n}){const r=new Set(n.map(a=>a.field)),o={all:{},frozenFields:[],freeze:a=>{const s=o.all[a];s&&s.frozen!==!0&&(o.all[a].frozen=!0,o.frozenFields.push(a))}};function i(){if(o.frozenFields.length===r.size)return;const a={min:{},max:{}};let s=e,l=t,c=0;o.frozenFields.forEach(u=>{s-=o.all[u].computedWidth,l-=o.all[u].flex});for(let u=0;ud.maxWidth&&(c+=d.maxWidth-p,p=d.maxWidth,a.max[d.field]=!0),o.all[d.field]={frozen:!1,computedWidth:p,flex:d.flex}}c<0?Object.keys(a.max).forEach(u=>{o.freeze(u)}):c>0?Object.keys(a.min).forEach(u=>{o.freeze(u)}):n.forEach(({field:u})=>{o.freeze(u)}),i()}return i(),o.all}const a$=(e,t)=>{const n={};let r=0,o=0;const i=[];e.orderedFields.forEach(s=>{const l=S({},e.lookup[s]);if(e.columnVisibilityModel[s]===!1)l.computedWidth=0;else{let c;l.flex&&l.flex>0?(r+=l.flex,c=0,i.push(l)):c=Xp(l.width||Ra.width,l.minWidth||Ra.minWidth,l.maxWidth||Ra.maxWidth),o+=c,l.computedWidth=c}n[s]=l});const a=Math.max(t-o,0);if(r>0&&t>0){const s=cpt({initialFreeSpace:a,totalFlexUnits:r,flexColumns:i});Object.keys(s).forEach(l=>{n[l].computedWidth=s[l].computedWidth})}return S({},e,{lookup:n})},upt=(e,t)=>{if(!t)return e;const{orderedFields:n=[],dimensions:r={}}=t,o=Object.keys(r);if(o.length===0&&n.length===0)return e;const i={},a=[];for(let u=0;u!i[u])],l=S({},e.lookup);for(let u=0;u{f[p]=h===-1?1/0:h}),l[d]=f}return S({},e,{orderedFields:s,lookup:l})};function mV(e,t){let n=e[eZ];return t&&e[t]&&(n=e[t]),n}const vf=({apiRef:e,columnsToUpsert:t,initialState:n,columnTypes:r,columnVisibilityModel:o=Ea(e),keepOnlyColumnsToUpsert:i=!1})=>{var a,s,l;const c=!e.current.state.columns;let u;if(c)u={orderedFields:[],lookup:{},columnVisibilityModel:o};else{const h=Uu(e.current.state);u={orderedFields:i?[]:[...h.orderedFields],lookup:S({},h.lookup),columnVisibilityModel:o}}let d={};i&&!c&&(d=Object.keys(u.lookup).reduce((h,m)=>S({},h,{[m]:!1}),{})),t.forEach(h=>{const{field:m}=h;d[m]=!0;let v=u.lookup[m];v==null?(v=S({},mV(r,h.type),{field:m,hasBeenResized:!1}),u.orderedFields.push(m)):i&&u.orderedFields.push(m),v&&v.type!==h.type&&(v=S({},mV(r,h.type),{field:m}));let b=v.hasBeenResized;nZ.forEach(y=>{h[y]!==void 0&&(b=!0,h[y]===-1&&(h[y]=1/0))}),u.lookup[m]=S({},v,h,{hasBeenResized:b})}),i&&!c&&Object.keys(u.lookup).forEach(h=>{d[h]||delete u.lookup[h]});const f=e.current.unstable_applyPipeProcessors("hydrateColumns",u),p=upt(f,n);return a$(p,(a=(s=(l=e.current).getRootDimensions)==null||(s=s.call(l))==null?void 0:s.viewportInnerSize.width)!=null?a:0)},gV=e=>t=>S({},t,{columns:e});function s$({firstColumnToRender:e,apiRef:t,firstRowToRender:n,lastRowToRender:r,visibleRows:o}){let i=e;for(let a=n;a{var r,o,i,a;const s=vf({apiRef:n,columnTypes:rZ,columnsToUpsert:t.columns,initialState:(r=t.initialState)==null?void 0:r.columns,columnVisibilityModel:(o=(i=t.columnVisibilityModel)!=null?i:(a=t.initialState)==null||(a=a.columns)==null?void 0:a.columnVisibilityModel)!=null?o:{},keepOnlyColumnsToUpsert:!0});return S({},e,{columns:s})};function ppt(e,t){var n,r;const o=Fr(e,"useGridColumns"),i=rZ,a=g.useRef(t.columns),s=g.useRef(i);e.current.registerControlState({stateId:"visibleColumns",propModel:t.columnVisibilityModel,propOnChange:t.onColumnVisibilityModelChange,stateSelector:Ea,changeEvent:"columnVisibilityModelChange"});const l=g.useCallback(R=>{o.debug("Updating columns state."),e.current.setState(gV(R)),e.current.forceUpdate(),e.current.publishEvent("columnsChange",R.orderedFields)},[o,e]),c=g.useCallback(R=>tm(e)[R],[e]),u=g.useCallback(()=>ms(e),[e]),d=g.useCallback(()=>_r(e),[e]),f=g.useCallback((R,I=!0)=>(I?_r(e):ms(e)).findIndex(F=>F.field===R),[e]),p=g.useCallback(R=>{const I=f(R);return Qp(e)[I]},[e,f]),h=g.useCallback(R=>{Ea(e)!==R&&(e.current.setState(A=>S({},A,{columns:vf({apiRef:e,columnTypes:i,columnsToUpsert:[],initialState:void 0,columnVisibilityModel:R,keepOnlyColumnsToUpsert:!1})})),e.current.forceUpdate())},[e,i]),m=g.useCallback(R=>{const I=vf({apiRef:e,columnTypes:i,columnsToUpsert:R,initialState:void 0,keepOnlyColumnsToUpsert:!1});l(I)},[e,l,i]),v=g.useCallback((R,I)=>{var A;const F=Ea(e),_=(A=F[R])!=null?A:!0;if(I!==_){const j=S({},F,{[R]:I});e.current.setColumnVisibilityModel(j)}},[e]),b=g.useCallback(R=>rl(e).findIndex(A=>A===R),[e]),y=g.useCallback((R,I)=>{const A=rl(e),F=b(R);if(F===I)return;o.debug(`Moving column ${R} to index ${I}`);const _=[...A],j=_.splice(F,1)[0];_.splice(I,0,j),l(S({},Uu(e.current.state),{orderedFields:_}));const B={column:e.current.getColumn(R),targetIndex:e.current.getColumnIndexRelativeToVisibleColumns(R),oldIndex:F};e.current.publishEvent("columnIndexChange",B)},[e,o,l,b]),w=g.useCallback((R,I)=>{var A,F;o.debug(`Updating column ${R} width to ${I}`);const _=Uu(e.current.state),j=_.lookup[R],B=S({},j,{width:I,hasBeenResized:!0});l(a$(S({},_,{lookup:S({},_.lookup,{[R]:B})}),(A=(F=e.current.getRootDimensions())==null?void 0:F.viewportInnerSize.width)!=null?A:0)),e.current.publishEvent("columnWidthChange",{element:e.current.getColumnHeaderElement(R),colDef:B,width:I})},[e,o,l]),C={getColumn:c,getAllColumns:u,getColumnIndex:f,getColumnPosition:p,getVisibleColumns:d,getColumnIndexRelativeToVisibleColumns:b,updateColumns:m,setColumnVisibilityModel:h,setColumnVisibility:v,setColumnWidth:w},O={setColumnIndex:y};St(e,C,"public"),St(e,O,t.signature===gs.DataGrid?"private":"public");const P=g.useCallback((R,I)=>{var A,F;const _={},j=Ea(e);(!I.exportOnlyDirtyModels||t.columnVisibilityModel!=null||Object.keys((A=(F=t.initialState)==null||(F=F.columns)==null?void 0:F.columnVisibilityModel)!=null?A:{}).length>0||Object.keys(j).length>0)&&(_.columnVisibilityModel=j),_.orderedFields=rl(e);const U=ms(e),H={};return U.forEach(K=>{if(K.hasBeenResized){const J={};nZ.forEach(oe=>{let ae=K[oe];ae===1/0&&(ae=-1),J[oe]=ae}),H[K.field]=J}}),Object.keys(H).length>0&&(_.dimensions=H),S({},R,{columns:_})},[e,t.columnVisibilityModel,(n=t.initialState)==null?void 0:n.columns]),E=g.useCallback((R,I)=>{var A;const F=(A=I.stateToRestore.columns)==null?void 0:A.columnVisibilityModel,_=I.stateToRestore.columns;if(F==null&&_==null)return R;const j=vf({apiRef:e,columnTypes:i,columnsToUpsert:[],initialState:_,columnVisibilityModel:F,keepOnlyColumnsToUpsert:!1});return e.current.setState(gV(j)),_!=null&&e.current.publishEvent("columnsChange",j.orderedFields),R},[e,i]),T=g.useCallback((R,I)=>{if(I===ud.columns){var A;const F=t.slots.columnsPanel;return k.jsx(F,S({},(A=t.slotProps)==null?void 0:A.columnsPanel))}return R},[t.slots.columnsPanel,(r=t.slotProps)==null?void 0:r.columnsPanel]),$=g.useCallback(R=>t.disableColumnSelector?R:[...R,"columnMenuColumnsItem"],[t.disableColumnSelector]);Qn(e,"columnMenu",$),Qn(e,"exportState",P),Qn(e,"restoreState",E),Qn(e,"preferencePanel",T);const M=g.useRef(null);et(e,"viewportInnerSizeChange",R=>{M.current!==R.width&&(M.current=R.width,l(a$(Uu(e.current.state),R.width)))});const L=g.useCallback(()=>{o.info("Columns pipe processing have changed, regenerating the columns");const R=vf({apiRef:e,columnTypes:i,columnsToUpsert:[],initialState:void 0,keepOnlyColumnsToUpsert:!1});l(R)},[e,o,l,i]);L2(e,"hydrateColumns",L);const N=g.useRef(!0);g.useEffect(()=>{if(N.current){N.current=!1;return}if(o.info(`GridColumns have changed, new length ${t.columns.length}`),a.current===t.columns&&s.current===i)return;const R=vf({apiRef:e,columnTypes:i,initialState:void 0,columnsToUpsert:t.columns,keepOnlyColumnsToUpsert:!0});a.current=t.columns,s.current=i,l(R)},[o,e,l,t.columns,i]),g.useEffect(()=>{t.columnVisibilityModel!==void 0&&e.current.setColumnVisibilityModel(t.columnVisibilityModel)},[e,o,t.columnVisibilityModel])}const hpt=.7,mpt=1.3,oZ={compact:hpt,comfortable:mpt,standard:1},gpt=(e,t)=>S({},e,{density:{value:t.density,factor:oZ[t.density]}}),vpt=(e,t)=>{const n=Fr(e,"useDensity"),r=g.useCallback(i=>{n.debug(`Set grid density to ${i}`),e.current.setState(a=>{const s=E2(a),l={value:i,factor:oZ[i]};return Gu(s,l)?a:S({},a,{density:l})}),e.current.forceUpdate()},[n,e]);g.useEffect(()=>{e.current.setDensity(t.density)},[e,t.density]),St(e,{setDensity:r},"public")};function ypt(e,t="csv",n=document.title||"untitled"){const r=`${n}.${t}`;if("download"in HTMLAnchorElement.prototype){const o=URL.createObjectURL(e),i=document.createElement("a");i.href=o,i.download=r,i.click(),setTimeout(()=>{URL.revokeObjectURL(o)});return}throw new Error("MUI: exportAs not supported")}const iZ=({apiRef:e,options:t})=>{const n=ms(e);return t.fields?t.fields.reduce((o,i)=>{const a=n.find(s=>s.field===i);return a&&o.push(a),o},[]):(t.allColumns?n:_r(e)).filter(o=>!o.disableExport)},bpt=({apiRef:e})=>{var t,n;const r=Ist(e),o=xa(e),i=e.current.getSelectedRows(),a=r.filter(u=>o[u].type!=="footer"),s=nm(e),l=(s==null||(t=s.top)==null?void 0:t.map(u=>u.id))||[],c=(s==null||(n=s.bottom)==null?void 0:n.map(u=>u.id))||[];return a.unshift(...l),a.push(...c),i.size>0?a.filter(u=>i.has(u)):a},xpt=(e,t)=>{const n=Fr(e,"useGridCsvExport"),r=t.unstable_ignoreValueFormatterDuringExport,o=(typeof r=="object"?r==null?void 0:r.csvExport:r)||!1,i=g.useCallback((c={})=>{var u,d,f,p,h;n.debug("Get data as CSV");const m=iZ({apiRef:e,options:c}),b=((u=c.getRowsToExport)!=null?u:bpt)({apiRef:e});return rpt({columns:m,rowIds:b,csvOptions:{delimiter:c.delimiter||",",shouldAppendQuotes:(d=c.shouldAppendQuotes)!=null?d:!0,includeHeaders:(f=c.includeHeaders)!=null?f:!0,includeColumnGroupsHeaders:(p=c.includeColumnGroupsHeaders)!=null?p:!0,escapeFormulas:(h=c.escapeFormulas)!=null?h:!0},ignoreValueFormatter:o,apiRef:e})},[n,e,o]),a=g.useCallback(c=>{n.debug("Export data as CSV");const u=i(c),d=new Blob([c!=null&&c.utf8WithBom?new Uint8Array([239,187,191]):"",u],{type:"text/csv"});ypt(d,"csv",c==null?void 0:c.fileName)},[n,i]);St(e,{getDataAsCsv:i,exportDataAsCsv:a},"public");const l=g.useCallback((c,u)=>{var d;return(d=u.csvOptions)!=null&&d.disableToolbarButton?c:[...c,{component:k.jsx(Gdt,{options:u.csvOptions}),componentName:"csvExport"}]},[]);Qn(e,"exportMenu",l)},nx=(e,t,n)=>{var r;let o=e.paginationModel;const i=e.rowCount,a=(r=n==null?void 0:n.pageSize)!=null?r:o.pageSize,s=MJ(i,a);n&&((n==null?void 0:n.page)!==o.page||(n==null?void 0:n.pageSize)!==o.pageSize)&&(o=n);const l=Bct(o.page,s);return l!==o.page&&(o=S({},o,{page:l})),RJ(o.pageSize,t),o},wpt=(e,t)=>{var n;const r=Fr(e,"useGridPaginationModel"),o=Ue(e,rm),i=Math.floor(t.rowHeight*o);e.current.registerControlState({stateId:"paginationModel",propModel:t.paginationModel,propOnChange:t.onPaginationModelChange,stateSelector:Ai,changeEvent:"paginationModelChange"});const a=g.useCallback(m=>{const v=Ai(e);m!==v.page&&(r.debug(`Setting page to ${m}`),e.current.setPaginationModel({page:m,pageSize:v.pageSize}))},[e,r]),s=g.useCallback(m=>{const v=Ai(e);m!==v.pageSize&&(r.debug(`Setting page size to ${m}`),e.current.setPaginationModel({pageSize:m,page:v.page}))},[e,r]),l=g.useCallback(m=>{const v=Ai(e);m!==v&&(r.debug("Setting 'paginationModel' to",m),e.current.setState(b=>S({},b,{pagination:S({},b.pagination,{paginationModel:nx(b.pagination,t.signature,m)})})))},[e,r,t.signature]);St(e,{setPage:a,setPageSize:s,setPaginationModel:l},"public");const u=g.useCallback((m,v)=>{var b;const y=Ai(e);return!v.exportOnlyDirtyModels||t.paginationModel!=null||((b=t.initialState)==null||(b=b.pagination)==null?void 0:b.paginationModel)!=null||y.page!==0&&y.pageSize!==Fct(t.autoPageSize)?S({},m,{pagination:S({},m.pagination,{paginationModel:y})}):m},[e,t.paginationModel,(n=t.initialState)==null||(n=n.pagination)==null?void 0:n.paginationModel,t.autoPageSize]),d=g.useCallback((m,v)=>{var b,y;const w=(b=v.stateToRestore.pagination)!=null&&b.paginationModel?S({},AJ(t.autoPageSize),(y=v.stateToRestore.pagination)==null?void 0:y.paginationModel):Ai(e);return e.current.setState(C=>S({},C,{pagination:S({},C.pagination,{paginationModel:nx(C.pagination,t.signature,w)})})),m},[e,t.autoPageSize,t.signature]);Qn(e,"exportState",u),Qn(e,"restoreState",d);const f=()=>{var m;const v=Ai(e);(m=e.current.virtualScrollerRef)!=null&&m.current&&e.current.scrollToIndexes({rowIndex:v.page*v.pageSize})},p=g.useCallback(()=>{if(!t.autoPageSize)return;const m=e.current.getRootDimensions()||{viewportInnerSize:{height:0}},v=vJ(e),b=Math.floor((m.viewportInnerSize.height-v.top-v.bottom)/i);e.current.setPageSize(b)},[e,t.autoPageSize,i]),h=g.useCallback(m=>{if(m==null)return;const v=Ai(e),b=Vct(e);v.page>b-1&&e.current.setPage(Math.max(0,b-1))},[e]);et(e,"viewportInnerSizeChange",p),et(e,"paginationModelChange",f),et(e,"rowCountChange",h),g.useEffect(()=>{e.current.setState(m=>S({},m,{pagination:S({},m.pagination,{paginationModel:nx(m.pagination,t.signature,t.paginationModel)})}))},[e,t.paginationModel,t.paginationMode,t.signature]),g.useEffect(p,[p])};function Cpt(){return new Promise(e=>{requestAnimationFrame(()=>{e()})})}function Spt(e){const t=document.createElement("iframe");return t.style.position="absolute",t.style.width="0px",t.style.height="0px",t.title=e||document.title,t}const Ppt=(e,t)=>{const n=Fr(e,"useGridPrintExport"),r=g.useRef(null),o=g.useRef(null),i=g.useRef({}),a=g.useRef([]);g.useEffect(()=>{r.current=gn(e.current.rootElementRef.current)},[e]);const s=g.useCallback((h,m,v)=>new Promise(b=>{const y=iZ({apiRef:e,options:{fields:h,allColumns:m}}).map(O=>O.field),w=ms(e),C={};w.forEach(O=>{C[O.field]=y.includes(O.field)}),v&&(C[om.field]=!0),e.current.setColumnVisibilityModel(C),b()}),[e]),l=g.useCallback(h=>{const v=h({apiRef:e}).map(b=>e.current.getRow(b));e.current.setRows(v)},[e]),c=g.useCallback((h,m)=>{var v,b;const y=S({copyStyles:!0,hideToolbar:!1,hideFooter:!1,includeCheckboxes:!1},m),w=h.contentDocument;if(!w)return;const C=uy(e.current.state),O=e.current.rootElementRef.current,P=O.cloneNode(!0),E=P.querySelector(`.${X.main}`);E.style.overflow="visible",P.style.contain="size";const $=P.querySelector(`.${X.columnHeaders}`).querySelector(`.${X.columnHeadersInner}`);$.style.width="100%";let M=((v=O.querySelector(`.${X.toolbarContainer}`))==null?void 0:v.offsetHeight)||0,D=((b=O.querySelector(`.${X.footerContainer}`))==null?void 0:b.offsetHeight)||0;if(y.hideToolbar){var L;(L=P.querySelector(`.${X.toolbarContainer}`))==null||L.remove(),M=0}if(y.hideFooter){var N;(N=P.querySelector(`.${X.footerContainer}`))==null||N.remove(),D=0}const R=C.currentPageTotalHeight+j2(e,t.columnHeaderHeight)+M+D;if(P.style.height=`${R}px`,P.style.boxSizing="content-box",m!=null&&m.getRowsToExport){const _=P.querySelector(`.${X.footerContainer}`);_.style.position="absolute",_.style.width="100%",_.style.top=`${R-D}px`}const I=document.createElement("div");I.appendChild(P),w.body.innerHTML=I.innerHTML;const A=typeof y.pageStyle=="function"?y.pageStyle():y.pageStyle;if(typeof A=="string"){const _=w.createElement("style");_.appendChild(w.createTextNode(A)),w.head.appendChild(_)}y.bodyClassName&&w.body.classList.add(...y.bodyClassName.split(" "));const F=[];if(y.copyStyles){const _=O.getRootNode(),B=(_.constructor.name==="ShadowRoot"?_:r.current).querySelectorAll("style, link[rel='stylesheet']");for(let U=0;U{K.addEventListener("load",()=>J())})),w.head.appendChild(K)}}}Promise.all(F).then(()=>{h.contentWindow.print()})},[e,r,t.columnHeaderHeight]),u=g.useCallback(h=>{var m;r.current.body.removeChild(h),e.current.restoreState(o.current||{}),(m=o.current)!=null&&(m=m.columns)!=null&&m.columnVisibilityModel||e.current.setColumnVisibilityModel(i.current),e.current.unstable_setVirtualization(!0),e.current.setRows(a.current),o.current=null,i.current={},a.current=[]},[e]),f={exportDataAsPrint:g.useCallback(async h=>{if(n.debug("Export data as Print"),!e.current.rootElementRef.current)throw new Error("MUI: No grid root element available.");o.current=e.current.exportState(),i.current=Ea(e);const m=Js(e);if(a.current=og(e).map(b=>m[b]),t.pagination){const y={page:0,pageSize:fJ(e)};e.current.setState(w=>S({},w,{pagination:S({},w.pagination,{paginationModel:nx(w.pagination,"DataGridPro",y)})})),e.current.forceUpdate()}await s(h==null?void 0:h.fields,h==null?void 0:h.allColumns,h==null?void 0:h.includeCheckboxes),h!=null&&h.getRowsToExport&&l(h.getRowsToExport),e.current.unstable_setVirtualization(!1),await Cpt();const v=Spt(h==null?void 0:h.fileName);v.onload=()=>{c(v,h),v.contentWindow.matchMedia("print").addEventListener("change",y=>{y.matches===!1&&u(v)})},r.current.body.appendChild(v)},[t,n,e,c,u,s,l])};St(e,f,"public");const p=g.useCallback((h,m)=>{var v;return(v=m.printOptions)!=null&&v.disableToolbarButton?h:[...h,{component:k.jsx(qdt,{options:m.printOptions}),componentName:"printExport"}]},[]);Qn(e,"exportMenu",p)},Ept=(e,t,n)=>{var r,o,i;const a=(r=(o=t.filterModel)!=null?o:(i=t.initialState)==null||(i=i.filter)==null?void 0:i.filterModel)!=null?r:ly();return S({},e,{filter:{filterModel:KJ(a,t.disableMultipleColumnsFiltering,n),filteredRowsLookup:{},filteredDescendantCountLookup:{}},visibleRowsLookup:{}})},Opt=e=>e.filteredRowsLookup;function vV(e,t){return e.current.applyStrategyProcessor("visibleRowsLookupCreation",{tree:t.rows.tree,filteredRowsLookup:t.filter.filteredRowsLookup})}function Tpt(){return nP(Object.values)}const kpt=(e,t)=>{var n,r;const o=Fr(e,"useGridFilter");e.current.registerControlState({stateId:"filter",propModel:t.filterModel,propOnChange:t.onFilterModelChange,stateSelector:wr,changeEvent:"filterModelChange"});const i=g.useCallback(()=>{e.current.setState(M=>{const D=wr(M,e.current.instanceId),L=t.filterMode==="client"?mft(D,e,t.disableEval):null,N=e.current.applyStrategyProcessor("filtering",{isRowMatchingFilters:L,filterModel:D??ly()}),R=S({},M,{filter:S({},M.filter,N)}),I=vV(e,R);return S({},R,{visibleRowsLookup:I})}),e.current.publishEvent("filteredRowsSet")},[e,t.filterMode,t.disableEval]),a=g.useCallback((M,D)=>D==null||D.filterable===!1||t.disableColumnFilter?M:[...M,"columnMenuFilterItem"],[t.disableColumnFilter]),s=g.useCallback(()=>{i(),e.current.forceUpdate()},[e,i]),l=g.useCallback(M=>{const D=wr(e),L=[...D.items],N=L.findIndex(R=>R.id===M.id);N===-1?L.push(M):L[N]=M,e.current.setFilterModel(S({},D,{items:L}),"upsertFilterItem")},[e]),c=g.useCallback(M=>{const D=wr(e),L=[...D.items];M.forEach(N=>{const R=M.findIndex(I=>I.id===N.id);R===-1?L.push(N):L[R]=N}),e.current.setFilterModel(S({},D,{items:M}),"upsertFilterItems")},[e]),u=g.useCallback(M=>{const D=wr(e),L=D.items.filter(N=>N.id!==M.id);L.length!==D.items.length&&e.current.setFilterModel(S({},D,{items:L}),"deleteFilterItem")},[e]),d=g.useCallback((M,D,L)=>{if(o.debug("Displaying filter panel"),M){const N=wr(e),R=N.items.filter(_=>{var j;if(_.value!==void 0)return!(Array.isArray(_.value)&&_.value.length===0);const U=(j=e.current.getColumn(_.field).filterOperators)==null?void 0:j.find(K=>K.value===_.operator);return!(typeof(U==null?void 0:U.requiresFilterValue)>"u"?!0:U==null?void 0:U.requiresFilterValue)});let I;const A=R.find(_=>_.field===M),F=e.current.getColumn(M);A?I=R:t.disableMultipleColumnsFiltering?I=[r$({field:M,operator:F.filterOperators[0].value},e)]:I=[...R,r$({field:M,operator:F.filterOperators[0].value},e)],e.current.setFilterModel(S({},N,{items:I}))}e.current.showPreferences(ud.filters,D,L)},[e,o,t.disableMultipleColumnsFiltering]),f=g.useCallback(()=>{o.debug("Hiding filter panel"),e.current.hidePreferences()},[e,o]),p=g.useCallback(M=>{const D=wr(e);D.logicOperator!==M&&e.current.setFilterModel(S({},D,{logicOperator:M}),"changeLogicOperator")},[e]),h=g.useCallback(M=>{const D=wr(e);Gu(D.quickFilterValues,M)||e.current.setFilterModel(S({},D,{quickFilterValues:[...M]}))},[e]),m=g.useCallback((M,D)=>{wr(e)!==M&&(o.debug("Setting filter model"),e.current.updateControlState("filter",iV(M,t.disableMultipleColumnsFiltering,e),D),e.current.unstable_applyFilters())},[e,o,t.disableMultipleColumnsFiltering]),v={setFilterLogicOperator:p,unstable_applyFilters:s,deleteFilterItem:u,upsertFilterItem:l,upsertFilterItems:c,setFilterModel:m,showFilterPanel:d,hideFilterPanel:f,setQuickFilterValues:h,ignoreDiacritics:t.ignoreDiacritics};St(e,v,"public");const b=g.useCallback((M,D)=>{var L;const N=wr(e);return!D.exportOnlyDirtyModels||t.filterModel!=null||((L=t.initialState)==null||(L=L.filter)==null?void 0:L.filterModel)!=null||!Gu(N,ly())?S({},M,{filter:{filterModel:N}}):M},[e,t.filterModel,(n=t.initialState)==null||(n=n.filter)==null?void 0:n.filterModel]),y=g.useCallback((M,D)=>{var L;const N=(L=D.stateToRestore.filter)==null?void 0:L.filterModel;return N==null?M:(e.current.updateControlState("filter",iV(N,t.disableMultipleColumnsFiltering,e),"restoreState"),S({},M,{callbacks:[...M.callbacks,e.current.unstable_applyFilters]}))},[e,t.disableMultipleColumnsFiltering]),w=g.useCallback((M,D)=>{if(D===ud.filters){var L;const N=t.slots.filterPanel;return k.jsx(N,S({},(L=t.slotProps)==null?void 0:L.filterPanel))}return M},[t.slots.filterPanel,(r=t.slotProps)==null?void 0:r.filterPanel]),{getRowId:C}=t,O=b2(Tpt),P=g.useCallback(M=>{if(t.filterMode!=="client"||!M.isRowMatchingFilters)return{filteredRowsLookup:{},filteredDescendantCountLookup:{}};const D=Js(e),L={},{isRowMatchingFilters:N}=M,R={},I={passingFilterItems:null,passingQuickFilterValues:null},A=O.current(e.current.state.rows.dataRowIdToModelLookup);for(let j=0;j{o.debug("onColUpdated - GridColumns changed, applying filters");const M=wr(e),D=mst(e),L=M.items.filter(N=>N.field&&D[N.field]);L.length{M==="filtering"&&e.current.unstable_applyFilters()},[e]),$=g.useCallback(()=>{e.current.setState(M=>S({},M,{visibleRowsLookup:vV(e,M)})),e.current.forceUpdate()},[e]);et(e,"rowsSet",i),et(e,"columnsChange",E),et(e,"activeStrategyProcessorChange",T),et(e,"rowExpansionChange",$),et(e,"columnVisibilityModelChange",()=>{const M=wr(e);M.quickFilterValues&&M.quickFilterExcludeHiddenColumns&&e.current.unstable_applyFilters()}),fb(()=>{e.current.unstable_applyFilters()}),Ft(()=>{t.filterModel!==void 0&&e.current.setFilterModel(t.filterModel)},[e,o,t.filterModel])},Ipt=e=>S({},e,{focus:{cell:null,columnHeader:null,columnHeaderFilter:null,columnGroupHeader:null},tabIndex:{cell:null,columnHeader:null,columnHeaderFilter:null,columnGroupHeader:null}}),$pt=(e,t)=>{const n=Fr(e,"useGridFocus"),r=g.useRef(null),o=g.useCallback((E,T)=>{E&&e.current.getRow(E.id)&&e.current.publishEvent("cellFocusOut",e.current.getCellParams(E.id,E.field),T)},[e]),i=g.useCallback((E,T)=>{const $=Go(e);($==null?void 0:$.id)===E&&($==null?void 0:$.field)===T||(e.current.setState(M=>(n.debug(`Focusing on cell with id=${E} and field=${T}`),S({},M,{tabIndex:{cell:{id:E,field:T},columnHeader:null,columnHeaderFilter:null,columnGroupHeader:null},focus:{cell:{id:E,field:T},columnHeader:null,columnHeaderFilter:null,columnGroupHeader:null}}))),e.current.forceUpdate(),e.current.getRow(E)&&($&&o($,{}),e.current.publishEvent("cellFocusIn",e.current.getCellParams(E,T))))},[e,n,o]),a=g.useCallback((E,T={})=>{const $=Go(e);o($,T),e.current.setState(M=>(n.debug(`Focusing on column header with colIndex=${E}`),S({},M,{tabIndex:{columnHeader:{field:E},columnHeaderFilter:null,cell:null,columnGroupHeader:null},focus:{columnHeader:{field:E},columnHeaderFilter:null,cell:null,columnGroupHeader:null}}))),e.current.forceUpdate()},[e,n,o]),s=g.useCallback((E,T={})=>{const $=Go(e);o($,T),e.current.setState(M=>(n.debug(`Focusing on column header filter with colIndex=${E}`),S({},M,{tabIndex:{columnHeader:null,columnHeaderFilter:{field:E},cell:null,columnGroupHeader:null},focus:{columnHeader:null,columnHeaderFilter:{field:E},cell:null,columnGroupHeader:null}}))),e.current.forceUpdate()},[e,n,o]),l=g.useCallback((E,T,$={})=>{const M=Go(e);M&&e.current.publishEvent("cellFocusOut",e.current.getCellParams(M.id,M.field),$),e.current.setState(D=>S({},D,{tabIndex:{columnGroupHeader:{field:E,depth:T},columnHeader:null,columnHeaderFilter:null,cell:null},focus:{columnGroupHeader:{field:E,depth:T},columnHeader:null,columnHeaderFilter:null,cell:null}})),e.current.forceUpdate()},[e]),c=g.useCallback(()=>i1(e),[e]),u=g.useCallback((E,T,$)=>{let M=e.current.getColumnIndex(T);const D=_r(e),L=f1(e,{pagination:t.pagination,paginationMode:t.paginationMode}),N=nm(e),R=[].concat(N.top||[],L.rows,N.bottom||[]);let I=R.findIndex(j=>j.id===E);$==="right"?M+=1:$==="left"?M-=1:I+=1,M>=D.length?(I+=1,I=0&&(M=D.length-1)),I=Xp(I,0,R.length-1);const A=R[I];if(!A)return;const F=e.current.unstable_getCellColSpanInfo(A.id,M);F&&F.spannedByColSpan&&($==="left"||$==="below"?M=F.leftVisibleCellIndex:$==="right"&&(M=F.rightVisibleCellIndex)),M=Xp(M,0,D.length-1);const _=D[M];e.current.setCellFocus(A.id,_.field)},[e,t.pagination,t.paginationMode]),d=g.useCallback(({id:E,field:T})=>{e.current.setCellFocus(E,T)},[e]),f=g.useCallback((E,T)=>{T.key==="Enter"||T.key==="Tab"||T.key==="Shift"||u1(T.key)||e.current.setCellFocus(E.id,E.field)},[e]),p=g.useCallback(({field:E},T)=>{T.target===T.currentTarget&&e.current.setColumnHeaderFocus(E,T)},[e]),h=g.useCallback(({fields:E,depth:T},$)=>{if($.target!==$.currentTarget)return;const M=i1(e);M!==null&&M.depth===T&&E.includes(M.field)||e.current.setColumnGroupHeaderFocus(E[0],T,$)},[e]),m=g.useCallback((E,T)=>{var $;($=T.relatedTarget)!=null&&$.className.includes(X.columnHeader)||(n.debug("Clearing focus"),e.current.setState(M=>S({},M,{focus:{cell:null,columnHeader:null,columnHeaderFilter:null,columnGroupHeader:null}})))},[n,e]),v=g.useCallback(E=>{r.current=E},[]),b=g.useCallback(E=>{const T=r.current;r.current=null;const $=Go(e);if(!e.current.unstable_applyPipeProcessors("canUpdateFocus",!0,{event:E,cell:T}))return;if(!$){T&&e.current.setCellFocus(T.id,T.field);return}if((T==null?void 0:T.id)===$.id&&(T==null?void 0:T.field)===$.field)return;const D=e.current.getCellElement($.id,$.field);D!=null&&D.contains(E.target)||(T?e.current.setCellFocus(T.id,T.field):(e.current.setState(L=>S({},L,{focus:{cell:null,columnHeader:null,columnHeaderFilter:null,columnGroupHeader:null}})),e.current.forceUpdate(),o($,E)))},[e,o]),y=g.useCallback(E=>{if(E.cellMode==="view")return;const T=Go(e);((T==null?void 0:T.id)!==E.id||(T==null?void 0:T.field)!==E.field)&&e.current.setCellFocus(E.id,E.field)},[e]),w=g.useCallback(()=>{const E=Go(e);E&&!e.current.getRow(E.id)&&e.current.setState(T=>S({},T,{focus:{cell:null,columnHeader:null,columnHeaderFilter:null,columnGroupHeader:null}}))},[e]),C=Vt(()=>{const E=Go(e);if(!E)return;const T=f1(e,{pagination:t.pagination,paginationMode:t.paginationMode});if(T.rows.find(D=>D.id===E.id))return;const M=_r(e);e.current.setState(D=>S({},D,{tabIndex:{cell:{id:T.rows[0].id,field:M[0].field},columnGroupHeader:null,columnHeader:null,columnHeaderFilter:null}}))}),O={setCellFocus:i,setColumnHeaderFocus:a,setColumnHeaderFilterFocus:s},P={moveFocusToRelativeCell:u,setColumnGroupHeaderFocus:l,getColumnGroupHeaderFocus:c};St(e,O,"public"),St(e,P,"private"),g.useEffect(()=>{const E=gn(e.current.rootElementRef.current);return E.addEventListener("mouseup",b),()=>{E.removeEventListener("mouseup",b)}},[e,b]),et(e,"columnHeaderBlur",m),et(e,"cellDoubleClick",d),et(e,"cellMouseDown",v),et(e,"cellKeyDown",f),et(e,"cellModeChange",y),et(e,"columnHeaderFocus",p),et(e,"columnGroupHeaderFocus",h),et(e,"rowsSet",w),et(e,"paginationModelChange",C)};function Mpt(e,t){const n=nm(e)||{};return[...n.top||[],...t,...n.bottom||[]]}const pO=({currentColIndex:e,firstColIndex:t,lastColIndex:n,direction:r})=>{if(r==="rtl"){if(et)return e-1;return null},hO=({currentColIndex:e,firstColIndex:t,lastColIndex:n,direction:r})=>{if(r==="rtl"){if(e>t)return e-1}else if(r==="ltr"&&e{const n=Fr(e,"useGridKeyboardNavigation"),r=Dd(e,t).rows,o=qn(),i=g.useMemo(()=>Mpt(e,r),[e,r]),a=t.signature!=="DataGrid"&&t.unstable_headerFilters,s=g.useCallback((b,y,w="left")=>{const C=Zc(e),O=e.current.unstable_getCellColSpanInfo(y,b);O&&O.spannedByColSpan&&(w==="left"?b=O.leftVisibleCellIndex:w==="right"&&(b=O.rightVisibleCellIndex));const P=C.findIndex(T=>T.id===y);n.debug(`Navigating to cell row ${P}, col ${b}`),e.current.scrollToIndexes({colIndex:b,rowIndex:P});const E=e.current.getVisibleColumns()[b].field;e.current.setCellFocus(y,E)},[e,n]),l=g.useCallback((b,y)=>{n.debug(`Navigating to header col ${b}`),e.current.scrollToIndexes({colIndex:b});const w=e.current.getVisibleColumns()[b].field;e.current.setColumnHeaderFocus(w,y)},[e,n]),c=g.useCallback((b,y)=>{n.debug(`Navigating to header filter col ${b}`),e.current.scrollToIndexes({colIndex:b});const w=e.current.getVisibleColumns()[b].field;e.current.setColumnHeaderFilterFocus(w,y)},[e,n]),u=g.useCallback((b,y,w)=>{n.debug(`Navigating to header col ${b}`),e.current.scrollToIndexes({colIndex:b});const{field:C}=e.current.getVisibleColumns()[b];e.current.setColumnGroupHeaderFocus(C,y,w)},[e,n]),d=g.useCallback(b=>{var y;return(y=i[b])==null?void 0:y.id},[i]),f=g.useCallback((b,y)=>{const w=y.currentTarget.querySelector(`.${X.columnHeaderTitleContainerContent}`);if(!!w&&w.contains(y.target)&&b.field!==om.field||!e.current.getRootDimensions())return;const P=e.current.getViewportPageSize(),E=b.field?e.current.getColumnIndex(b.field):0,T=i.length>0?0:null,$=i.length-1,M=0,D=_r(e).length-1,L=ub(e);let N=!0;switch(y.key){case"ArrowDown":{T!==null&&(a?c(E,y):s(E,d(T)));break}case"ArrowRight":{const R=hO({currentColIndex:E,firstColIndex:M,lastColIndex:D,direction:o.direction});R!==null&&l(R,y);break}case"ArrowLeft":{const R=pO({currentColIndex:E,firstColIndex:M,lastColIndex:D,direction:o.direction});R!==null&&l(R,y);break}case"ArrowUp":{L>0&&u(E,L-1,y);break}case"PageDown":{T!==null&&$!==null&&s(E,d(Math.min(T+P,$)));break}case"Home":{l(M,y);break}case"End":{l(D,y);break}case"Enter":{(y.ctrlKey||y.metaKey)&&e.current.toggleColumnMenu(b.field);break}case" ":break;default:N=!1}N&&y.preventDefault()},[e,i.length,a,c,s,d,o.direction,l,u]),p=g.useCallback((b,y)=>{if(!e.current.getRootDimensions())return;const C=Zct(e)===b.field,O=eut(e)===b.field;if(C||O||!u1(y.key))return;const P=e.current.getViewportPageSize(),E=b.field?e.current.getColumnIndex(b.field):0,T=0,$=i.length-1,M=0,D=_r(e).length-1;let L=!0;switch(y.key){case"ArrowDown":{const N=d(T);N!=null&&s(E,N);break}case"ArrowRight":{const N=hO({currentColIndex:E,firstColIndex:M,lastColIndex:D,direction:o.direction});N!==null&&c(N,y);break}case"ArrowLeft":{const N=pO({currentColIndex:E,firstColIndex:M,lastColIndex:D,direction:o.direction});N!==null?c(N,y):e.current.setColumnHeaderFilterFocus(b.field,y);break}case"ArrowUp":{l(E,y);break}case"PageDown":{$!==null&&s(E,d(Math.min(T+P,$)));break}case"Home":{c(M,y);break}case"End":{c(D,y);break}case" ":break;default:L=!1}L&&y.preventDefault()},[e,i.length,c,o.direction,l,s,d]),h=g.useCallback((b,y)=>{if(!e.current.getRootDimensions())return;const C=i1(e);if(C===null)return;const{field:O,depth:P}=C,{fields:E,depth:T,maxDepth:$}=b,M=e.current.getViewportPageSize(),D=e.current.getColumnIndex(O),L=O?e.current.getColumnIndex(O):0,N=0,R=i.length-1,I=0,A=_r(e).length-1;let F=!0;switch(y.key){case"ArrowDown":{T===$-1?l(D,y):u(D,P+1,y);break}case"ArrowUp":{T>0&&u(D,P-1,y);break}case"ArrowRight":{const _=E.length-E.indexOf(O)-1;D+_+1<=A&&u(D+_+1,P,y);break}case"ArrowLeft":{const _=E.indexOf(O);D-_-1>=I&&u(D-_-1,P,y);break}case"PageDown":{R!==null&&s(L,d(Math.min(N+M,R)));break}case"Home":{u(I,P,y);break}case"End":{u(A,P,y);break}case" ":break;default:F=!1}F&&y.preventDefault()},[e,i.length,l,u,s,d]),m=g.useCallback((b,y)=>{if(db(y))return;const w=e.current.getCellParams(b.id,b.field);if(w.cellMode===ln.Edit||!u1(y.key)||!e.current.unstable_applyPipeProcessors("canUpdateFocus",!0,{event:y,cell:w}))return;const O=e.current.getRootDimensions();if(i.length===0||!O)return;const P=o.direction,E=e.current.getViewportPageSize(),T=b.field?e.current.getColumnIndex(b.field):0,$=i.findIndex(I=>I.id===b.id),M=0,D=i.length-1,L=0,N=_r(e).length-1;let R=!0;switch(y.key){case"ArrowDown":{$M?s(T,d($-1)):a?c(T,y):l(T,y);break}case"ArrowRight":{const I=hO({currentColIndex:T,firstColIndex:L,lastColIndex:N,direction:P});I!==null&&s(I,d($),P==="rtl"?"left":"right");break}case"ArrowLeft":{const I=pO({currentColIndex:T,firstColIndex:L,lastColIndex:N,direction:P});I!==null&&s(I,d($),P==="rtl"?"right":"left");break}case"Tab":{y.shiftKey&&T>L?s(T-1,d($),"left"):!y.shiftKey&&T=M?s(T,d(I)):l(T,y);break}case"Home":{y.ctrlKey||y.metaKey||y.shiftKey?s(L,d(M)):s(L,d($));break}case"End":{y.ctrlKey||y.metaKey||y.shiftKey?s(N,d(D)):s(N,d($));break}default:R=!1}R&&y.preventDefault()},[e,i,o.direction,s,d,a,c,l]),v=g.useCallback((b,{event:y})=>y.key===" "?!1:b,[]);Qn(e,"canStartEditing",v),et(e,"columnHeaderKeyDown",f),et(e,"headerFilterKeyDown",p),et(e,"columnGroupHeaderKeyDown",h),et(e,"cellKeyDown",m)},Rpt=(e,t)=>{var n;const r=Fr(e,"useGridRowCount"),o=Ue(e,pJ),i=Ue(e,Hf);e.current.registerControlState({stateId:"paginationRowCount",propModel:t.rowCount,propOnChange:t.onRowCountChange,stateSelector:Hf,changeEvent:"rowCountChange"});const s={setRowCount:g.useCallback(u=>{i!==u&&(r.debug("Setting 'rowCount' to",u),e.current.setState(d=>S({},d,{pagination:S({},d.pagination,{rowCount:u})})))},[e,r,i])};St(e,s,"public");const l=g.useCallback((u,d)=>{var f;const p=Hf(e);return!d.exportOnlyDirtyModels||t.rowCount!=null||((f=t.initialState)==null||(f=f.pagination)==null?void 0:f.rowCount)!=null?S({},u,{pagination:S({},u.pagination,{rowCount:p})}):u},[e,t.rowCount,(n=t.initialState)==null||(n=n.pagination)==null?void 0:n.rowCount]),c=g.useCallback((u,d)=>{var f;const p=(f=d.stateToRestore.pagination)!=null&&f.rowCount?d.stateToRestore.pagination.rowCount:Hf(e);return e.current.setState(h=>S({},h,{pagination:S({},h.pagination,{rowCount:p})})),u},[e]);Qn(e,"exportState",l),Qn(e,"restoreState",c),g.useEffect(()=>{},[t.rowCount,t.paginationMode]),g.useEffect(()=>{t.paginationMode==="client"?e.current.setRowCount(o):t.rowCount!=null&&e.current.setRowCount(t.rowCount)},[e,o,t.paginationMode,t.rowCount])},_pt=(e,t)=>{var n,r,o,i,a;const s=S({},AJ(t.autoPageSize),(n=t.paginationModel)!=null?n:(r=t.initialState)==null||(r=r.pagination)==null?void 0:r.paginationModel);RJ(s.pageSize,t.signature);const l=(o=(i=t.rowCount)!=null?i:(a=t.initialState)==null||(a=a.pagination)==null?void 0:a.rowCount)!=null?o:0;return S({},e,{pagination:{paginationModel:s,rowCount:l}})},Dpt=(e,t)=>{wpt(e,t),Rpt(e,t)},Npt=(e,t)=>{var n,r;return S({},e,{preferencePanel:(n=(r=t.initialState)==null?void 0:r.preferencePanel)!=null?n:{open:!1}})},Lpt=(e,t)=>{var n;const r=Fr(e,"useGridPreferencesPanel"),o=g.useRef(),i=g.useRef(),a=g.useCallback(()=>{r.debug("Hiding Preferences Panel");const f=cy(e.current.state);f.openedPanelValue&&e.current.publishEvent("preferencePanelClose",{openedPanelValue:f.openedPanelValue}),e.current.setState(p=>S({},p,{preferencePanel:{open:!1}})),e.current.forceUpdate()},[e,r]),s=g.useCallback(()=>{i.current=setTimeout(()=>clearTimeout(o.current),0)},[]),l=g.useCallback(()=>{o.current=setTimeout(a,100)},[a]),c=g.useCallback((f,p,h)=>{r.debug("Opening Preferences Panel"),s(),e.current.setState(m=>S({},m,{preferencePanel:S({},m.preferencePanel,{open:!0,openedPanelValue:f,panelId:p,labelId:h})})),e.current.publishEvent("preferencePanelOpen",{openedPanelValue:f}),e.current.forceUpdate()},[r,s,e]);St(e,{showPreferences:c,hidePreferences:l},"public");const u=g.useCallback((f,p)=>{var h;const m=cy(e.current.state);return!p.exportOnlyDirtyModels||((h=t.initialState)==null?void 0:h.preferencePanel)!=null||m.open?S({},f,{preferencePanel:m}):f},[e,(n=t.initialState)==null?void 0:n.preferencePanel]),d=g.useCallback((f,p)=>{const h=p.stateToRestore.preferencePanel;return h!=null&&e.current.setState(m=>S({},m,{preferencePanel:h})),f},[e]);Qn(e,"exportState",u),Qn(e,"restoreState",d),g.useEffect(()=>()=>{clearTimeout(o.current),clearTimeout(i.current)},[])},jpt=["id","field"],Fpt=["id","field"],Bpt=Rs(["MUI: A call to `processRowUpdate` threw an error which was not handled because `onProcessRowUpdateError` is missing.","To handle the error pass a callback to the `onProcessRowUpdateError` prop, e.g. ` ...} />`.","For more detail, see http://mui.com/components/data-grid/editing/#server-side-persistence."],"error"),zpt=(e,t)=>{const[n,r]=g.useState({}),o=g.useRef(n),i=g.useRef({}),{processRowUpdate:a,onProcessRowUpdateError:s,cellModesModel:l,onCellModesModelChange:c}=t,u=R=>(...I)=>{t.editMode===Cs.Cell&&R(...I)},d=g.useCallback((R,I)=>{const A=e.current.getCellParams(R,I);if(!e.current.isCellEditable(A))throw new Error(`MUI: The cell with id=${R} and field=${I} is not editable.`)},[e]),f=g.useCallback((R,I,A)=>{if(e.current.getCellMode(R,I)!==A)throw new Error(`MUI: The cell with id=${R} and field=${I} is not in ${A} mode.`)},[e]),p=g.useCallback((R,I)=>{if(!R.isEditable||R.cellMode===ln.Edit)return;const A=S({},R,{reason:Fs.cellDoubleClick});e.current.publishEvent("cellEditStart",A,I)},[e]),h=g.useCallback((R,I)=>{if(R.cellMode===ln.View||e.current.getCellMode(R.id,R.field)===ln.View)return;const A=S({},R,{reason:ma.cellFocusOut});e.current.publishEvent("cellEditStop",A,I)},[e]),m=g.useCallback((R,I)=>{if(R.cellMode===ln.Edit){if(I.which===229)return;let A;if(I.key==="Escape"?A=ma.escapeKeyDown:I.key==="Enter"?A=ma.enterKeyDown:I.key==="Tab"&&(A=I.shiftKey?ma.shiftTabKeyDown:ma.tabKeyDown,I.preventDefault()),A){const F=S({},R,{reason:A});e.current.publishEvent("cellEditStop",F,I)}}else if(R.isEditable){let A;if(!e.current.unstable_applyPipeProcessors("canStartEditing",!0,{event:I,cellParams:R,editMode:"cell"}))return;if(PJ(I)?A=Fs.printableKeyDown:(I.ctrlKey||I.metaKey)&&I.key==="v"?A=Fs.pasteKeyDown:I.key==="Enter"?A=Fs.enterKeyDown:(I.key==="Delete"||I.key==="Backspace")&&(A=Fs.deleteKeyDown),A){const _=S({},R,{reason:A,key:I.key});e.current.publishEvent("cellEditStart",_,I)}}},[e]),v=g.useCallback(R=>{const{id:I,field:A,reason:F}=R,_={id:I,field:A};(F===Fs.printableKeyDown||F===Fs.deleteKeyDown||F===Fs.pasteKeyDown)&&(_.deleteValue=!0),e.current.startCellEditMode(_)},[e]),b=g.useCallback(R=>{const{id:I,field:A,reason:F}=R;e.current.runPendingEditCellValueMutation(I,A);let _;F===ma.enterKeyDown?_="below":F===ma.tabKeyDown?_="right":F===ma.shiftTabKeyDown&&(_="left");const j=F==="escapeKeyDown";e.current.stopCellEditMode({id:I,field:A,ignoreModifications:j,cellToFocusAfter:_})},[e]);et(e,"cellDoubleClick",u(p)),et(e,"cellFocusOut",u(h)),et(e,"cellKeyDown",u(m)),et(e,"cellEditStart",u(v)),et(e,"cellEditStop",u(b)),Sn(e,"cellEditStart",t.onCellEditStart),Sn(e,"cellEditStop",t.onCellEditStop);const y=g.useCallback((R,I)=>{const A=ro(e.current.state);return A[R]&&A[R][I]?ln.Edit:ln.View},[e]),w=Vt(R=>{const I=R!==t.cellModesModel;c&&I&&c(R,{}),!(t.cellModesModel&&I)&&(r(R),o.current=R,e.current.publishEvent("cellModesModelChange",R))}),C=g.useCallback((R,I,A)=>{const F=S({},o.current);if(A!==null)F[R]=S({},F[R],{[I]:S({},A)});else{const _=F[R],j=q(_,[I].map(cp));F[R]=j,Object.keys(F[R]).length===0&&delete F[R]}w(F)},[w]),O=g.useCallback((R,I,A)=>{e.current.setState(F=>{const _=S({},F.editRows);return A!==null?_[R]=S({},_[R],{[I]:S({},A)}):(delete _[R][I],Object.keys(_[R]).length===0&&delete _[R]),S({},F,{editRows:_})}),e.current.forceUpdate()},[e]),P=g.useCallback(R=>{const{id:I,field:A}=R,F=q(R,jpt);d(I,A),f(I,A,ln.View),C(I,A,S({mode:ln.Edit},F))},[d,f,C]),E=Vt(R=>{const{id:I,field:A,deleteValue:F,initialValue:_}=R;let j=e.current.getCellValue(I,A);(F||_)&&(j=F?"":_),O(I,A,{value:j,error:!1,isProcessingProps:!1}),e.current.setCellFocus(I,A)}),T=g.useCallback(R=>{const{id:I,field:A}=R,F=q(R,Fpt);f(I,A,ln.Edit),C(I,A,S({mode:ln.View},F))},[f,C]),$=Vt(async R=>{const{id:I,field:A,ignoreModifications:F,cellToFocusAfter:_="none"}=R;f(I,A,ln.Edit),e.current.runPendingEditCellValueMutation(I,A);const j=()=>{O(I,A,null),C(I,A,null),_!=="none"&&e.current.moveFocusToRelativeCell(I,A,_)};if(F){j();return}const B=ro(e.current.state),{error:U,isProcessingProps:H}=B[I][A];if(U||H){i.current[I][A].mode=ln.Edit,C(I,A,{mode:ln.Edit});return}const K=e.current.getRowWithUpdatedValuesFromCellEditing(I,A);if(a){const J=oe=>{i.current[I][A].mode=ln.Edit,C(I,A,{mode:ln.Edit}),s?s(oe):Bpt()};try{const oe=e.current.getRow(I);Promise.resolve(a(K,oe)).then(ae=>{e.current.updateRows([ae]),j()}).catch(J)}catch(oe){J(oe)}}else e.current.updateRows([K]),j()}),M=g.useCallback(async R=>{var I;const{id:A,field:F,value:_,debounceMs:j,unstable_skipValueParser:B}=R;d(A,F),f(A,F,ln.Edit);const U=e.current.getColumn(F),H=e.current.getRow(A);let K=_;U.valueParser&&!B&&(K=U.valueParser(_,e.current.getCellParams(A,F)));let J=ro(e.current.state),oe=S({},J[A][F],{value:K,changeReason:j?"debouncedSetEditCellValue":"setEditCellValue"});if(U.preProcessEditCellProps){const ae=_!==J[A][F].value;oe=S({},oe,{isProcessingProps:!0}),O(A,F,oe),oe=await Promise.resolve(U.preProcessEditCellProps({id:A,row:H,props:oe,hasChanged:ae}))}return e.current.getCellMode(A,F)===ln.View?!1:(J=ro(e.current.state),oe=S({},oe,{isProcessingProps:!1}),oe.value=U.preProcessEditCellProps?J[A][F].value:K,O(A,F,oe),J=ro(e.current.state),!((I=J[A])!=null&&(I=I[F])!=null&&I.error))},[e,d,f,O]),D=g.useCallback((R,I)=>{const A=e.current.getColumn(I),F=ro(e.current.state),_=e.current.getRow(R);if(!F[R]||!F[R][I])return e.current.getRow(R);const{value:j}=F[R][I];return A.valueSetter?A.valueSetter({value:j,row:_}):S({},_,{[I]:j})},[e]),L={getCellMode:y,startCellEditMode:P,stopCellEditMode:T},N={setCellEditingEditCellValue:M,getRowWithUpdatedValuesFromCellEditing:D};St(e,L,"public"),St(e,N,"private"),g.useEffect(()=>{l&&w(l)},[l,w]),Ft(()=>{const R=o1(e),I=i.current;i.current=$J(n),Object.entries(n).forEach(([A,F])=>{Object.entries(F).forEach(([_,j])=>{var B,U;const H=((B=I[A])==null||(B=B[_])==null?void 0:B.mode)||ln.View,K=(U=R[A])!=null?U:A;j.mode===ln.Edit&&H===ln.View?E(S({id:K,field:_},j)):j.mode===ln.View&&H===ln.Edit&&$(S({id:K,field:_},j))})})},[e,n,E,$])},Vpt=["id"],Hpt=["id"],Upt=Rs(["MUI: A call to `processRowUpdate` threw an error which was not handled because `onProcessRowUpdateError` is missing.","To handle the error pass a callback to the `onProcessRowUpdateError` prop, e.g. ` ...} />`.","For more detail, see http://mui.com/components/data-grid/editing/#server-side-persistence."],"error"),Wpt=(e,t)=>{const[n,r]=g.useState({}),o=g.useRef(n),i=g.useRef({}),a=g.useRef(null),s=g.useRef(null),{processRowUpdate:l,onProcessRowUpdateError:c,rowModesModel:u,onRowModesModelChange:d}=t,f=_=>(...j)=>{t.editMode===Cs.Row&&_(...j)},p=g.useCallback((_,j)=>{const B=e.current.getCellParams(_,j);if(!e.current.isCellEditable(B))throw new Error(`MUI: The cell with id=${_} and field=${j} is not editable.`)},[e]),h=g.useCallback((_,j)=>{if(e.current.getRowMode(_)!==j)throw new Error(`MUI: The row with id=${_} is not in ${j} mode.`)},[e]),m=g.useCallback((_,j)=>{if(!_.isEditable||e.current.getRowMode(_.id)===nn.Edit)return;const B=e.current.getRowParams(_.id),U=S({},B,{field:_.field,reason:Wl.cellDoubleClick});e.current.publishEvent("rowEditStart",U,j)},[e]),v=g.useCallback(_=>{s.current=_},[]),b=g.useCallback((_,j)=>{_.isEditable&&e.current.getRowMode(_.id)!==nn.View&&(s.current=null,a.current=setTimeout(()=>{var B;if(a.current=null,((B=s.current)==null?void 0:B.id)!==_.id){if(!e.current.getRow(_.id)||e.current.getRowMode(_.id)===nn.View)return;const U=e.current.getRowParams(_.id),H=S({},U,{field:_.field,reason:Xa.rowFocusOut});e.current.publishEvent("rowEditStop",H,j)}}))},[e]);g.useEffect(()=>()=>{clearTimeout(a.current)},[]);const y=g.useCallback((_,j)=>{if(_.cellMode===nn.Edit){if(j.which===229)return;let B;if(j.key==="Escape")B=Xa.escapeKeyDown;else if(j.key==="Enter")B=Xa.enterKeyDown;else if(j.key==="Tab"){const U=rP(e).filter(H=>e.current.getColumn(H).type===uP?!0:e.current.isCellEditable(e.current.getCellParams(_.id,H)));if(j.shiftKey?_.field===U[0]&&(B=Xa.shiftTabKeyDown):_.field===U[U.length-1]&&(B=Xa.tabKeyDown),j.preventDefault(),!B){const H=U.findIndex(J=>J===_.field),K=U[j.shiftKey?H-1:H+1];e.current.setCellFocus(_.id,K)}}if(B){const U=S({},e.current.getRowParams(_.id),{reason:B,field:_.field});e.current.publishEvent("rowEditStop",U,j)}}else if(_.isEditable){let B;if(!e.current.unstable_applyPipeProcessors("canStartEditing",!0,{event:j,cellParams:_,editMode:"row"}))return;if(PJ(j)||(j.ctrlKey||j.metaKey)&&j.key==="v"?B=Wl.printableKeyDown:j.key==="Enter"?B=Wl.enterKeyDown:(j.key==="Delete"||j.key==="Backspace")&&(B=Wl.deleteKeyDown),B){const H=e.current.getRowParams(_.id),K=S({},H,{field:_.field,reason:B});e.current.publishEvent("rowEditStart",K,j)}}},[e]),w=g.useCallback(_=>{const{id:j,field:B,reason:U}=_,H={id:j,fieldToFocus:B};(U===Wl.printableKeyDown||U===Wl.deleteKeyDown)&&(H.deleteValue=!!B),e.current.startRowEditMode(H)},[e]),C=g.useCallback(_=>{const{id:j,reason:B,field:U}=_;e.current.runPendingEditCellValueMutation(j);let H;B===Xa.enterKeyDown?H="below":B===Xa.tabKeyDown?H="right":B===Xa.shiftTabKeyDown&&(H="left");const K=B==="escapeKeyDown";e.current.stopRowEditMode({id:j,ignoreModifications:K,field:U,cellToFocusAfter:H})},[e]);et(e,"cellDoubleClick",f(m)),et(e,"cellFocusIn",f(v)),et(e,"cellFocusOut",f(b)),et(e,"cellKeyDown",f(y)),et(e,"rowEditStart",f(w)),et(e,"rowEditStop",f(C)),Sn(e,"rowEditStart",t.onRowEditStart),Sn(e,"rowEditStop",t.onRowEditStop);const O=g.useCallback(_=>{if(t.editMode===Cs.Cell)return nn.View;const j=ro(e.current.state);return j[_]&&Object.keys(j[_]).length>0?nn.Edit:nn.View},[e,t.editMode]),P=Vt(_=>{const j=_!==t.rowModesModel;d&&j&&d(_,{}),!(t.rowModesModel&&j)&&(r(_),o.current=_,e.current.publishEvent("rowModesModelChange",_))}),E=g.useCallback((_,j)=>{const B=S({},o.current);j!==null?B[_]=S({},j):delete B[_],P(B)},[P]),T=g.useCallback((_,j)=>{e.current.setState(B=>{const U=S({},B.editRows);return j!==null?U[_]=j:delete U[_],S({},B,{editRows:U})}),e.current.forceUpdate()},[e]),$=g.useCallback((_,j,B)=>{e.current.setState(U=>{const H=S({},U.editRows);return B!==null?H[_]=S({},H[_],{[j]:S({},B)}):(delete H[_][j],Object.keys(H[_]).length===0&&delete H[_]),S({},U,{editRows:H})}),e.current.forceUpdate()},[e]),M=g.useCallback(_=>{const{id:j}=_,B=q(_,Vpt);h(j,nn.View),E(j,S({mode:nn.Edit},B))},[h,E]),D=Vt(_=>{const{id:j,fieldToFocus:B,deleteValue:U,initialValue:H}=_,J=rl(e).reduce((oe,ae)=>{if(!e.current.getCellParams(j,ae).isEditable)return oe;let ue=e.current.getCellValue(j,ae);return B===ae&&(U||H)&&(ue=U?"":H),oe[ae]={value:ue,error:!1,isProcessingProps:!1},oe},{});T(j,J),B&&e.current.setCellFocus(j,B)}),L=g.useCallback(_=>{const{id:j}=_,B=q(_,Hpt);h(j,nn.Edit),E(j,S({mode:nn.View},B))},[h,E]),N=Vt(_=>{const{id:j,ignoreModifications:B,field:U,cellToFocusAfter:H="none"}=_;e.current.runPendingEditCellValueMutation(j);const K=()=>{H!=="none"&&U&&e.current.moveFocusToRelativeCell(j,U,H),T(j,null),E(j,null)};if(B){K();return}const J=ro(e.current.state),oe=e.current.getRow(j);if(Object.values(J[j]).some(re=>re.isProcessingProps)){i.current[j].mode=nn.Edit;return}if(Object.values(J[j]).some(re=>re.error)){i.current[j].mode=nn.Edit,E(j,{mode:nn.Edit});return}const ue=e.current.getRowWithUpdatedValuesFromRowEditing(j);if(l){const re=pe=>{i.current[j].mode=nn.Edit,E(j,{mode:nn.Edit}),c?c(pe):Upt()};try{Promise.resolve(l(ue,oe)).then(pe=>{e.current.updateRows([pe]),K()}).catch(re)}catch(pe){re(pe)}}else e.current.updateRows([ue]),K()}),R=g.useCallback(_=>{const{id:j,field:B,value:U,debounceMs:H,unstable_skipValueParser:K}=_;p(j,B);const J=e.current.getColumn(B),oe=e.current.getRow(j);let ae=U;J.valueParser&&!K&&(ae=J.valueParser(U,e.current.getCellParams(j,B)));let Z=ro(e.current.state),ue=S({},Z[j][B],{value:ae,changeReason:H?"debouncedSetEditCellValue":"setEditCellValue"});return J.preProcessEditCellProps||$(j,B,ue),new Promise(re=>{const pe=[];if(J.preProcessEditCellProps){const le=ue.value!==Z[j][B].value;ue=S({},ue,{isProcessingProps:!0}),$(j,B,ue);const G=Z[j],te=q(G,[B].map(cp)),fe=Promise.resolve(J.preProcessEditCellProps({id:j,row:oe,props:ue,hasChanged:le,otherFieldsProps:te})).then(he=>{if(e.current.getRowMode(j)===nn.View){re(!1);return}Z=ro(e.current.state),he=S({},he,{isProcessingProps:!1}),he.value=J.preProcessEditCellProps?Z[j][B].value:ae,$(j,B,he)});pe.push(fe)}Object.entries(Z[j]).forEach(([le,G])=>{if(le===B)return;const te=e.current.getColumn(le);if(!te.preProcessEditCellProps)return;G=S({},G,{isProcessingProps:!0}),$(j,le,G),Z=ro(e.current.state);const fe=Z[j],he=q(fe,[le].map(cp)),ce=Promise.resolve(te.preProcessEditCellProps({id:j,row:oe,props:G,hasChanged:!1,otherFieldsProps:he})).then(be=>{if(e.current.getRowMode(j)===nn.View){re(!1);return}be=S({},be,{isProcessingProps:!1}),$(j,le,be)});pe.push(ce)}),Promise.all(pe).then(()=>{e.current.getRowMode(j)===nn.Edit?(Z=ro(e.current.state),re(!Z[j][B].error)):re(!1)})})},[e,p,$]),I=g.useCallback(_=>{const j=ro(e.current.state),B=e.current.getRow(_);if(!j[_])return e.current.getRow(_);let U=S({},B);return Object.entries(j[_]).forEach(([H,K])=>{const J=e.current.getColumn(H);J.valueSetter?U=J.valueSetter({value:K.value,row:U}):U[H]=K.value}),U},[e]),A={getRowMode:O,startRowEditMode:M,stopRowEditMode:L},F={setRowEditingEditCellValue:R,getRowWithUpdatedValuesFromRowEditing:I};St(e,A,"public"),St(e,F,"private"),g.useEffect(()=>{u&&P(u)},[u,P]),Ft(()=>{const _=o1(e),j=i.current;i.current=$J(n),Object.entries(n).forEach(([B,U])=>{var H,K;const J=((H=j[B])==null?void 0:H.mode)||nn.View,oe=(K=_[B])!=null?K:B;U.mode===nn.Edit&&J===nn.View?D(S({id:oe},U)):U.mode===nn.View&&J===nn.Edit&&N(S({id:oe},U))})},[e,n,D,N])},Gpt=e=>S({},e,{editRows:{}}),qpt=(e,t)=>{zpt(e,t),Wpt(e,t);const n=g.useRef({}),{isCellEditable:r}=t,o=g.useCallback(f=>sy(f.rowNode)||!f.colDef.editable||!f.colDef.renderEditCell?!1:r?r(f):!0,[r]),i=(f,p,h,m)=>{if(!h){m();return}if(n.current[f]||(n.current[f]={}),n.current[f][p]){const[y]=n.current[f][p];clearTimeout(y)}const v=()=>{const[y]=n.current[f][p];clearTimeout(y),m(),delete n.current[f][p]},b=setTimeout(()=>{m(),delete n.current[f][p]},h);n.current[f][p]=[b,v]};g.useEffect(()=>{const f=n.current;return()=>{Object.entries(f).forEach(([p,h])=>{Object.keys(h).forEach(m=>{const[v]=f[p][m];clearTimeout(v),delete f[p][m]})})}},[]);const a=g.useCallback((f,p)=>{if(n.current[f]){if(!p)Object.keys(n.current[f]).forEach(h=>{const[,m]=n.current[f][h];m()});else if(n.current[f][p]){const[,h]=n.current[f][p];h()}}},[]),s=g.useCallback(f=>{const{id:p,field:h,debounceMs:m}=f;return new Promise(v=>{i(p,h,m,async()=>{const b=t.editMode===Cs.Row?e.current.setRowEditingEditCellValue:e.current.setCellEditingEditCellValue;if(e.current.getCellMode(p,h)===ln.Edit){const y=await b(f);v(y)}})})},[e,t.editMode]),l=g.useCallback((f,p)=>t.editMode===Cs.Cell?e.current.getRowWithUpdatedValuesFromCellEditing(f,p):e.current.getRowWithUpdatedValuesFromRowEditing(f),[e,t.editMode]),c=g.useCallback((f,p)=>{var h,m;return(h=(m=ro(e.current.state)[f])==null?void 0:m[p])!=null?h:null},[e]),u={isCellEditable:o,setEditCellValue:s,getRowWithUpdatedValues:l,unstable_getEditCellMeta:c},d={runPendingEditCellValueMutation:a};St(e,u,"public"),St(e,d,"private")},Kpt=(e,t,n)=>(n.current.caches.rows=ex({rows:t.rows,getRowId:t.getRowId,loading:t.loading,rowCount:t.rowCount}),S({},e,{rows:gJ({apiRef:n,rowCountProp:t.rowCount,loadingProp:t.loading,previousTree:null,previousTreeDepths:null})})),Ypt=(e,t)=>{const n=Fr(e,"useGridRows"),r=Dd(e,t),o=g.useRef(Date.now()),i=_2(),a=g.useCallback(N=>{const R=Js(e)[N];if(R)return R;const I=e.current.getRowNode(N);return I&&sy(I)?{[sp]:N}:null},[e]),s=t.getRowId,l=g.useCallback(N=>sp in N?N[sp]:s?s(N):N.id,[s]),c=g.useMemo(()=>r.rows.reduce((N,{id:R},I)=>(N[R]=I,N),{}),[r.rows]),u=g.useCallback(({cache:N,throttle:R})=>{const I=()=>{o.current=Date.now(),e.current.setState(F=>S({},F,{rows:gJ({apiRef:e,rowCountProp:t.rowCount,loadingProp:t.loading,previousTree:xa(e),previousTreeDepths:V4(e)})})),e.current.publishEvent("rowsSet"),e.current.forceUpdate()};if(i.clear(),e.current.caches.rows=N,!R){I();return}const A=t.throttleRowsMs-(Date.now()-o.current);if(A>0){i.start(A,I);return}I()},[t.throttleRowsMs,t.rowCount,t.loading,e,i]),d=g.useCallback(N=>{n.debug(`Updating all rows, new length ${N.length}`);const R=ex({rows:N,getRowId:t.getRowId,loading:t.loading,rowCount:t.rowCount}),I=e.current.caches.rows;R.rowsBeforePartialUpdates=I.rowsBeforePartialUpdates,u({cache:R,throttle:!0})},[n,t.getRowId,t.loading,t.rowCount,u,e]),f=g.useCallback(N=>{if(t.signature===gs.DataGrid&&N.length>1)throw new Error(["MUI: You can't update several rows at once in `apiRef.current.updateRows` on the DataGrid.","You need to upgrade to DataGridPro or DataGridPremium component to unlock this feature."].join(` -`));const R=[];N.forEach(A=>{const F=s1(A,t.getRowId,"A row was provided without id when calling updateRows():"),_=e.current.getRowNode(F);if((_==null?void 0:_.type)==="pinnedRow"){const j=e.current.caches.pinnedRows,B=j.idLookup[F];B&&(j.idLookup[F]=S({},B,A))}else R.push(A)});const I=Fst({updates:R,getRowId:t.getRowId,previousCache:e.current.caches.rows});u({cache:I,throttle:!0})},[t.signature,t.getRowId,u,e]),p=g.useCallback(()=>{const N=og(e),R=Js(e);return new Map(N.map(I=>{var A;return[I,(A=R[I])!=null?A:{}]}))},[e]),h=g.useCallback(()=>iP(e),[e]),m=g.useCallback(()=>og(e),[e]),v=g.useCallback(N=>c[N],[c]),b=g.useCallback((N,R)=>{const I=e.current.getRowNode(N);if(!I)throw new Error(`MUI: No row with id #${N} found`);if(I.type!=="group")throw new Error("MUI: Only group nodes can be expanded or collapsed");const A=S({},I,{childrenExpanded:R});e.current.setState(F=>S({},F,{rows:S({},F.rows,{tree:S({},F.rows.tree,{[N]:A})})})),e.current.forceUpdate(),e.current.publishEvent("rowExpansionChange",A)},[e]),y=g.useCallback(N=>{var R;return(R=xa(e)[N])!=null?R:null},[e]),w=g.useCallback(({skipAutoGeneratedRows:N=!0,groupId:R,applySorting:I,applyFiltering:A})=>{const F=xa(e);let _;if(I){const j=F[R];if(!j)return[];const B=C2(e);_=[];const U=B.findIndex(H=>H===R)+1;for(let H=U;Hj.depth;H+=1){const K=B[H];(!N||!sy(F[K]))&&_.push(K)}}else _=O2(F,R,N);if(A){const j=uJ(e);_=_.filter(B=>j[B]!==!1)}return _},[e]),C=g.useCallback((N,R)=>{const I=e.current.getRowNode(N);if(!I)throw new Error(`MUI: No row with id #${N} found`);if(I.parent!==oo)throw new Error("MUI: The row reordering do not support reordering of grouped rows yet");if(I.type!=="leaf")throw new Error("MUI: The row reordering do not support reordering of footer or grouping rows");e.current.setState(A=>{const F=xa(A,e.current.instanceId)[oo],_=F.children,j=_.findIndex(U=>U===N);if(j===-1||j===R)return A;n.debug(`Moving row ${N} to index ${R}`);const B=[..._];return B.splice(R,0,B.splice(j,1)[0]),S({},A,{rows:S({},A.rows,{tree:S({},A.rows.tree,{[oo]:S({},F,{children:B})})})})}),e.current.publishEvent("rowsSet")},[e,n]),O=g.useCallback((N,R)=>{if(t.signature===gs.DataGrid&&R.length>1)throw new Error(["MUI: You can't replace rows using `apiRef.current.unstable_replaceRows` on the DataGrid.","You need to upgrade to DataGridPro or DataGridPremium component to unlock this feature."].join(` -`));if(R.length===0)return;if(aP(e)>1)throw new Error("`apiRef.current.unstable_replaceRows` is not compatible with tree data and row grouping");const A=S({},xa(e)),F=S({},Js(e)),_=S({},o1(e)),j=A[oo],B=[...j.children],U=new Set;for(let K=0;KA[K].type==="leaf");e.current.caches.rows.dataRowIdToModelLookup=F,e.current.caches.rows.dataRowIdToIdLookup=_,e.current.setState(K=>S({},K,{rows:S({},K.rows,{dataRowIdToModelLookup:F,dataRowIdToIdLookup:_,dataRowIds:H,tree:A})})),e.current.publishEvent("rowsSet")},[e,t.signature,t.getRowId]),P={getRow:a,getRowId:l,getRowModels:p,getRowsCount:h,getAllRowIds:m,setRows:d,updateRows:f,getRowNode:y,getRowIndexRelativeToVisibleRows:v,unstable_replaceRows:O},E={setRowIndex:C,setRowChildrenExpansion:b,getRowGroupChildren:w},T=g.useCallback(()=>{n.info("Row grouping pre-processing have changed, regenerating the row tree");let N;e.current.caches.rows.rowsBeforePartialUpdates===t.rows?N=S({},e.current.caches.rows,{updates:{type:"full",rows:og(e)}}):N=ex({rows:t.rows,getRowId:t.getRowId,loading:t.loading,rowCount:t.rowCount}),u({cache:N,throttle:!1})},[n,e,t.rows,t.getRowId,t.loading,t.rowCount,u]),$=g.useCallback(N=>{N==="rowTreeCreation"&&T()},[T]),M=g.useCallback(()=>{e.current.getActiveStrategy("rowTree")!==xst(e)&&T()},[e,T]);et(e,"activeStrategyProcessorChange",$),et(e,"strategyAvailabilityChange",M);const D=g.useCallback(()=>{e.current.setState(N=>{const R=e.current.unstable_applyPipeProcessors("hydrateRows",{tree:xa(N,e.current.instanceId),treeDepths:V4(N,e.current.instanceId),dataRowIds:og(N,e.current.instanceId),dataRowIdToModelLookup:Js(N,e.current.instanceId),dataRowIdToIdLookup:o1(N,e.current.instanceId)});return S({},N,{rows:S({},N.rows,R,{totalTopLevelRowCount:mJ({tree:R.tree,rowCountProp:t.rowCount})})})}),e.current.publishEvent("rowsSet"),e.current.forceUpdate()},[e,t.rowCount]);L2(e,"hydrateRows",D),St(e,P,"public"),St(e,E,t.signature===gs.DataGrid?"private":"public");const L=g.useRef(!0);g.useEffect(()=>{if(L.current){L.current=!1;return}const N=e.current.caches.rows.rowsBeforePartialUpdates===t.rows,R=e.current.caches.rows.loadingPropBeforePartialUpdates===t.loading,I=e.current.caches.rows.rowCountPropBeforePartialUpdates===t.rowCount;if(N){R||(e.current.setState(A=>S({},A,{rows:S({},A.rows,{loading:t.loading})})),e.current.caches.rows.loadingPropBeforePartialUpdates=t.loading,e.current.forceUpdate()),I||(e.current.setState(A=>S({},A,{rows:S({},A.rows,{totalRowCount:Math.max(t.rowCount||0,A.rows.totalRowCount),totalTopLevelRowCount:Math.max(t.rowCount||0,A.rows.totalTopLevelRowCount)})})),e.current.caches.rows.rowCountPropBeforePartialUpdates=t.rowCount,e.current.forceUpdate());return}n.debug(`Updating all rows, new length ${t.rows.length}`),u({cache:ex({rows:t.rows,getRowId:t.getRowId,loading:t.loading,rowCount:t.rowCount}),throttle:!1})},[t.rows,t.rowCount,t.getRowId,t.loading,n,u,e])},Qpt=e=>{const t={[oo]:S({},Lst(),{children:e})};for(let n=0;n{const n=S({},e),r={};for(let a=0;a!r[a])),n[oo]=S({},o,{children:i}),{groupingName:dd,tree:n,treeDepths:{0:i.length},dataRowIds:i}},Jpt=e=>e.updates.type==="full"?Qpt(e.updates.rows):Xpt({previousTree:e.previousTree,actions:e.updates.actions}),Zpt=e=>{h1(e,dd,"rowTreeCreation",Jpt)},aZ=(e,t)=>e==null||Array.isArray(e)?e:t&&t[0]===e?t:[e],eht=(e,t)=>{var n;return S({},e,{rowSelection:t.rowSelection?(n=aZ(t.rowSelectionModel))!=null?n:[]:[]})},tht=(e,t)=>{const n=Fr(e,"useGridSelection"),r=R=>(...I)=>{t.rowSelection&&R(...I)},o=g.useMemo(()=>aZ(t.rowSelectionModel,Ri(e.current.state)),[e,t.rowSelectionModel]),i=g.useRef(null);e.current.registerControlState({stateId:"rowSelection",propModel:o,propOnChange:t.onRowSelectionModelChange,stateSelector:Ri,changeEvent:"rowSelectionChange"});const{checkboxSelection:a,disableMultipleRowSelection:s,disableRowSelectionOnClick:l,isRowSelectable:c}=t,u=!s||a,d=Dd(e,t),f=g.useCallback(R=>{var I;let A=R;const F=(I=i.current)!=null?I:R,_=e.current.isRowSelected(R);if(_){const j=jg(e),B=j.findIndex(H=>H===F),U=j.findIndex(H=>H===A);if(B===U)return;B>U?A=j[U+1]:A=j[U-1]}i.current=R,e.current.selectRowRange({startId:F,endId:A},!_)},[e]),p=g.useCallback(R=>{if(t.signature===gs.DataGrid&&!t.checkboxSelection&&Array.isArray(R)&&R.length>1)throw new Error(["MUI: `rowSelectionModel` can only contain 1 item in DataGrid.","You need to upgrade to DataGridPro or DataGridPremium component to unlock multiple selection."].join(` -`));Ri(e.current.state)!==R&&(n.debug("Setting selection model"),e.current.setState(A=>S({},A,{rowSelection:t.rowSelection?R:[]})),e.current.forceUpdate())},[e,n,t.rowSelection,t.signature,t.checkboxSelection]),h=g.useCallback(R=>Ri(e.current.state).includes(R),[e]),m=g.useCallback(R=>{if(c&&!c(e.current.getRowParams(R)))return!1;const I=e.current.getRowNode(R);return!((I==null?void 0:I.type)==="footer"||(I==null?void 0:I.type)==="pinnedRow")},[e,c]),v=g.useCallback(()=>Wct(e),[e]),b=g.useCallback((R,I=!0,A=!1)=>{if(e.current.isRowSelectable(R))if(i.current=R,A)n.debug(`Setting selection for row ${R}`),e.current.setRowSelectionModel(I?[R]:[]);else{n.debug(`Toggling selection for row ${R}`);const _=Ri(e.current.state).filter(B=>B!==R);I&&_.push(R),(_.length<2||u)&&e.current.setRowSelectionModel(_)}},[e,n,u]),y=g.useCallback((R,I=!0,A=!1)=>{n.debug("Setting selection for several rows");const F=R.filter(B=>e.current.isRowSelectable(B));let _;if(A)_=I?F:[];else{const B=S({},d1(e));F.forEach(U=>{I?B[U]=U:delete B[U]}),_=Object.values(B)}(_.length<2||u)&&e.current.setRowSelectionModel(_)},[e,n,u]),w=g.useCallback(({startId:R,endId:I},A=!0,F=!1)=>{if(!e.current.getRow(R)||!e.current.getRow(I))return;n.debug(`Expanding selection from row ${R} to row ${I}`);const _=jg(e),j=_.indexOf(R),B=_.indexOf(I),[U,H]=j>B?[B,j]:[j,B],K=_.slice(U,H+1);e.current.selectRows(K,A,F)},[e,n]),C={selectRow:b,setRowSelectionModel:p,getSelectedRows:v,isRowSelected:h,isRowSelectable:m},O={selectRows:y,selectRowRange:w};St(e,C,"public"),St(e,O,t.signature===gs.DataGrid?"private":"public");const P=g.useCallback(()=>{if(t.keepNonExistentRowsSelected)return;const R=Ri(e.current.state),I=Js(e),A=S({},d1(e));let F=!1;R.forEach(_=>{I[_]||(delete A[_],F=!0)}),F&&e.current.setRowSelectionModel(Object.values(A))},[e,t.keepNonExistentRowsSelected]),E=g.useCallback((R,I)=>{const A=I.metaKey||I.ctrlKey,F=!a&&!A&&!Tlt(I),_=!u||F,j=e.current.isRowSelected(R);_?e.current.selectRow(R,F?!0:!j,!0):e.current.selectRow(R,!j,!1)},[e,u,a]),T=g.useCallback((R,I)=>{var A;if(l)return;const F=(A=I.target.closest(`.${X.cell}`))==null?void 0:A.getAttribute("data-field");if(F===om.field||F===D2)return;if(F){const j=e.current.getColumn(F);if((j==null?void 0:j.type)===uP)return}e.current.getRowNode(R.id).type!=="pinnedRow"&&(I.shiftKey&&(u||a)?f(R.id):E(R.id,I))},[l,u,a,e,f,E]),$=g.useCallback((R,I)=>{if(u&&I.shiftKey){var A;(A=window.getSelection())==null||A.removeAllRanges()}},[u]),M=g.useCallback((R,I)=>{I.nativeEvent.shiftKey?f(R.id):e.current.selectRow(R.id,R.value)},[e,f]),D=g.useCallback(R=>{const A=t.checkboxSelectionVisibleOnly&&t.pagination?DJ(e):jg(e),F=wr(e);e.current.selectRows(A,R.value,(F==null?void 0:F.items.length)>0)},[e,t.checkboxSelectionVisibleOnly,t.pagination]),L=g.useCallback((R,I)=>{if(e.current.getCellMode(R.id,R.field)!==ln.Edit&&!db(I)){if(u1(I.key)&&I.shiftKey){const A=Go(e);if(A&&A.id!==R.id){I.preventDefault();const F=e.current.isRowSelected(A.id);if(!u){e.current.selectRow(A.id,!F,!0);return}const _=e.current.getRowIndexRelativeToVisibleRows(A.id),j=e.current.getRowIndexRelativeToVisibleRows(R.id);let B,U;_>j?F?(B=j,U=_-1):(B=j,U=_):F?(B=_+1,U=j):(B=_,U=j);const H=d.rows.slice(B,U+1).map(K=>K.id);e.current.selectRows(H,!F);return}}if(I.key===" "&&I.shiftKey){I.preventDefault(),E(R.id,I);return}I.key==="a"&&(I.ctrlKey||I.metaKey)&&(I.preventDefault(),y(e.current.getAllRowIds(),!0))}},[e,E,y,d.rows,u]);et(e,"sortedRowsSet",r(P)),et(e,"rowClick",r(T)),et(e,"rowSelectionCheckboxChange",r(M)),et(e,"headerSelectionCheckboxChange",D),et(e,"cellMouseDown",r($)),et(e,"cellKeyDown",r(L)),g.useEffect(()=>{o!==void 0&&e.current.setRowSelectionModel(o)},[e,o,t.rowSelection]),g.useEffect(()=>{t.rowSelection||e.current.setRowSelectionModel([])},[e,t.rowSelection]);const N=o!=null;g.useEffect(()=>{if(N||!t.rowSelection)return;const R=Ri(e.current.state);if(m){const I=R.filter(A=>m(A));I.length{if(!t.rowSelection||N)return;const R=Ri(e.current.state);!u&&R.length>1&&e.current.setRowSelectionModel([])},[e,u,a,N,t.rowSelection])},nht={noRowsLabel:"No rows",noResultsOverlayLabel:"No results found.",toolbarDensity:"Density",toolbarDensityLabel:"Density",toolbarDensityCompact:"Compact",toolbarDensityStandard:"Standard",toolbarDensityComfortable:"Comfortable",toolbarColumns:"Columns",toolbarColumnsLabel:"Select columns",toolbarFilters:"Filters",toolbarFiltersLabel:"Show filters",toolbarFiltersTooltipHide:"Hide filters",toolbarFiltersTooltipShow:"Show filters",toolbarFiltersTooltipActive:e=>e!==1?`${e} active filters`:`${e} active filter`,toolbarQuickFilterPlaceholder:"Search…",toolbarQuickFilterLabel:"Search",toolbarQuickFilterDeleteIconLabel:"Clear",toolbarExport:"Export",toolbarExportLabel:"Export",toolbarExportCSV:"Download as CSV",toolbarExportPrint:"Print",toolbarExportExcel:"Download as Excel",columnsPanelTextFieldLabel:"Find column",columnsPanelTextFieldPlaceholder:"Column title",columnsPanelDragIconLabel:"Reorder column",columnsPanelShowAllButton:"Show all",columnsPanelHideAllButton:"Hide all",filterPanelAddFilter:"Add filter",filterPanelRemoveAll:"Remove all",filterPanelDeleteIconLabel:"Delete",filterPanelLogicOperator:"Logic operator",filterPanelOperator:"Operator",filterPanelOperatorAnd:"And",filterPanelOperatorOr:"Or",filterPanelColumns:"Columns",filterPanelInputLabel:"Value",filterPanelInputPlaceholder:"Filter value",filterOperatorContains:"contains",filterOperatorEquals:"equals",filterOperatorStartsWith:"starts with",filterOperatorEndsWith:"ends with",filterOperatorIs:"is",filterOperatorNot:"is not",filterOperatorAfter:"is after",filterOperatorOnOrAfter:"is on or after",filterOperatorBefore:"is before",filterOperatorOnOrBefore:"is on or before",filterOperatorIsEmpty:"is empty",filterOperatorIsNotEmpty:"is not empty",filterOperatorIsAnyOf:"is any of","filterOperator=":"=","filterOperator!=":"!=","filterOperator>":">","filterOperator>=":">=","filterOperator<":"<","filterOperator<=":"<=",headerFilterOperatorContains:"Contains",headerFilterOperatorEquals:"Equals",headerFilterOperatorStartsWith:"Starts with",headerFilterOperatorEndsWith:"Ends with",headerFilterOperatorIs:"Is",headerFilterOperatorNot:"Is not",headerFilterOperatorAfter:"Is after",headerFilterOperatorOnOrAfter:"Is on or after",headerFilterOperatorBefore:"Is before",headerFilterOperatorOnOrBefore:"Is on or before",headerFilterOperatorIsEmpty:"Is empty",headerFilterOperatorIsNotEmpty:"Is not empty",headerFilterOperatorIsAnyOf:"Is any of","headerFilterOperator=":"Equals","headerFilterOperator!=":"Not equals","headerFilterOperator>":"Greater than","headerFilterOperator>=":"Greater than or equal to","headerFilterOperator<":"Less than","headerFilterOperator<=":"Less than or equal to",filterValueAny:"any",filterValueTrue:"true",filterValueFalse:"false",columnMenuLabel:"Menu",columnMenuShowColumns:"Show columns",columnMenuManageColumns:"Manage columns",columnMenuFilter:"Filter",columnMenuHideColumn:"Hide column",columnMenuUnsort:"Unsort",columnMenuSortAsc:"Sort by ASC",columnMenuSortDesc:"Sort by DESC",columnHeaderFiltersTooltipActive:e=>e!==1?`${e} active filters`:`${e} active filter`,columnHeaderFiltersLabel:"Show filters",columnHeaderSortIconLabel:"Sort",footerRowSelected:e=>e!==1?`${e.toLocaleString()} rows selected`:`${e.toLocaleString()} row selected`,footerTotalRows:"Total Rows:",footerTotalVisibleRows:(e,t)=>`${e.toLocaleString()} of ${t.toLocaleString()}`,checkboxSelectionHeaderName:"Checkbox selection",checkboxSelectionSelectAllRows:"Select all rows",checkboxSelectionUnselectAllRows:"Unselect all rows",checkboxSelectionSelectRow:"Select row",checkboxSelectionUnselectRow:"Unselect row",booleanCellTrueLabel:"yes",booleanCellFalseLabel:"no",actionsCellMore:"more",pinToLeft:"Pin to left",pinToRight:"Pin to right",unpin:"Unpin",treeDataGroupingHeaderName:"Group",treeDataExpand:"see children",treeDataCollapse:"hide children",groupingColumnHeaderName:"Group",groupColumn:e=>`Group by ${e}`,unGroupColumn:e=>`Stop grouping by ${e}`,detailPanelToggle:"Detail panel toggle",expandDetailPanel:"Expand",collapseDetailPanel:"Collapse",MuiTablePagination:{},rowReorderingHeaderName:"Row reordering",aggregationMenuItemHeader:"Aggregation",aggregationFunctionLabelSum:"sum",aggregationFunctionLabelAvg:"avg",aggregationFunctionLabelMin:"min",aggregationFunctionLabelMax:"max",aggregationFunctionLabelSize:"size"},rht=e=>{const{classes:t}=e;return g.useMemo(()=>de({cellCheckbox:["cellCheckbox"],columnHeaderCheckbox:["columnHeaderCheckbox"]},Lt,t),[t])},oht=(e,t)=>{const n={classes:t.classes},r=rht(n),o=g.useCallback(i=>{const a=S({},om,{cellClassName:r.cellCheckbox,headerClassName:r.columnHeaderCheckbox,headerName:e.current.getLocaleText("checkboxSelectionHeaderName")}),s=t.checkboxSelection,l=i.lookup[Gl]!=null;return s&&!l?(i.lookup[Gl]=a,i.orderedFields=[Gl,...i.orderedFields]):!s&&l?(delete i.lookup[Gl],i.orderedFields=i.orderedFields.filter(c=>c!==Gl)):s&&l&&(i.lookup[Gl]=S({},a,i.lookup[Gl])),i},[e,r,t.checkboxSelection]);Qn(e,"hydrateColumns",o)},iht=(e,t)=>{var n,r,o;const i=(n=(r=t.sortModel)!=null?r:(o=t.initialState)==null||(o=o.sorting)==null?void 0:o.sortModel)!=null?n:[];return S({},e,{sorting:{sortModel:NJ(i,t.disableMultipleColumnsSorting),sortedRows:[]}})},aht=(e,t)=>{var n;const r=Fr(e,"useGridSorting");e.current.registerControlState({stateId:"sortModel",propModel:t.sortModel,propOnChange:t.onSortModelChange,stateSelector:Mi,changeEvent:"sortModelChange"});const o=g.useCallback((P,E)=>{const T=Mi(e),$=T.findIndex(D=>D.field===P);let M=[...T];return $>-1?E?M.splice($,1,E):M.splice($,1):M=[...T,E],M},[e]),i=g.useCallback((P,E)=>{var T;const M=Mi(e).find(L=>L.field===P.field);if(M){var D;const L=E===void 0?q4((D=P.sortingOrder)!=null?D:t.sortingOrder,M.sort):E;return L==null?void 0:S({},M,{sort:L})}return{field:P.field,sort:E===void 0?q4((T=P.sortingOrder)!=null?T:t.sortingOrder):E}},[e,t.sortingOrder]),a=g.useCallback((P,E)=>E==null||E.sortable===!1?P:(E.sortingOrder||t.sortingOrder).some($=>!!$)?[...P,"columnMenuSortItem"]:P,[t.sortingOrder]),s=g.useCallback(()=>{e.current.setState(P=>{if(t.sortingMode==="server")return r.debug("Skipping sorting rows as sortingMode = server"),S({},P,{sorting:S({},P.sorting,{sortedRows:O2(xa(e),oo,!1)})});const E=Mi(P,e.current.instanceId),T=Qct(E,e),$=e.current.applyStrategyProcessor("sorting",{sortRowList:T});return S({},P,{sorting:S({},P.sorting,{sortedRows:$})})}),e.current.publishEvent("sortedRowsSet"),e.current.forceUpdate()},[e,r,t.sortingMode]),l=g.useCallback(P=>{Mi(e)!==P&&(r.debug("Setting sort model"),e.current.setState(G4(P,t.disableMultipleColumnsSorting)),e.current.forceUpdate(),e.current.applySorting())},[e,r,t.disableMultipleColumnsSorting]),c=g.useCallback((P,E,T)=>{if(!P.sortable)return;const $=i(P,E);let M;!T||t.disableMultipleColumnsSorting?M=$?[$]:[]:M=o(P.field,$),e.current.setSortModel(M)},[e,o,i,t.disableMultipleColumnsSorting]),u=g.useCallback(()=>Mi(e),[e]),d=g.useCallback(()=>S2(e).map(E=>E.model),[e]),f=g.useCallback(()=>C2(e),[e]),p=g.useCallback(P=>e.current.getSortedRowIds()[P],[e]);St(e,{getSortModel:u,getSortedRows:d,getSortedRowIds:f,getRowIdFromRowIndex:p,setSortModel:l,sortColumn:c,applySorting:s},"public");const m=g.useCallback((P,E)=>{var T;const $=Mi(e);return!E.exportOnlyDirtyModels||t.sortModel!=null||((T=t.initialState)==null||(T=T.sorting)==null?void 0:T.sortModel)!=null||$.length>0?S({},P,{sorting:{sortModel:$}}):P},[e,t.sortModel,(n=t.initialState)==null||(n=n.sorting)==null?void 0:n.sortModel]),v=g.useCallback((P,E)=>{var T;const $=(T=E.stateToRestore.sorting)==null?void 0:T.sortModel;return $==null?P:(e.current.setState(G4($,t.disableMultipleColumnsSorting)),S({},P,{callbacks:[...P.callbacks,e.current.applySorting]}))},[e,t.disableMultipleColumnsSorting]),b=g.useCallback(P=>{const E=xa(e),T=E[oo],$=P.sortRowList?P.sortRowList(T.children.map(M=>E[M])):[...T.children];return T.footerId!=null&&$.push(T.footerId),$},[e]);Qn(e,"exportState",m),Qn(e,"restoreState",v),h1(e,dd,"sorting",b);const y=g.useCallback(({colDef:P},E)=>{const T=E.shiftKey||E.metaKey||E.ctrlKey;c(P,void 0,T)},[c]),w=g.useCallback(({colDef:P},E)=>{Slt(E.key)&&!E.ctrlKey&&!E.metaKey&&c(P,void 0,E.shiftKey)},[c]),C=g.useCallback(()=>{const P=Mi(e),E=tm(e);if(P.length>0){const T=P.filter($=>E[$.field]);T.length{P==="sorting"&&e.current.applySorting()},[e]);Qn(e,"columnMenu",a),et(e,"columnHeaderClick",y),et(e,"columnHeaderKeyDown",w),et(e,"rowsSet",e.current.applySorting),et(e,"columnsChange",C),et(e,"activeStrategyProcessorChange",O),fb(()=>{e.current.applySorting()}),Ft(()=>{t.sortModel!==void 0&&e.current.setSortModel(t.sortModel)},[e,t.sortModel])};function yV(e){const{clientHeight:t,scrollTop:n,offsetHeight:r,offsetTop:o}=e,i=o+r;if(r>t)return o;if(i-t>n)return i-t;if(o{const n=qn(),r=Fr(e,"useGridScroll"),o=e.current.columnHeadersElementRef,i=e.current.virtualScrollerRef,a=Ue(e,Zc),s=g.useCallback(d=>{const f=iP(e),p=_r(e);if(!(d.rowIndex==null)&&f===0||p.length===0)return!1;r.debug(`Scrolling to cell at row ${d.rowIndex}, col: ${d.colIndex} `);let m={};if(d.colIndex!=null){const w=Qp(e);let C;if(typeof d.rowIndex<"u"){var v;const O=(v=a[d.rowIndex])==null?void 0:v.id,P=e.current.unstable_getCellColSpanInfo(O,d.colIndex);P&&!P.spannedByColSpan&&(C=P.cellProps.width)}typeof C>"u"&&(C=p[d.colIndex].computedWidth),m.left=yV({clientHeight:i.current.clientWidth,scrollTop:Math.abs(i.current.scrollLeft),offsetHeight:C,offsetTop:w[d.colIndex]})}if(d.rowIndex!=null){var b,y;const w=uy(e.current.state),C=zct(e),O=_J(e),P=t.pagination?d.rowIndex-C*O:d.rowIndex,E=w.positions[P+1]?w.positions[P+1]-w.positions[P]:w.currentPageTotalHeight-w.positions[P],T=((b=i.current.querySelector(`.${X["pinnedRows--top"]}`))==null?void 0:b.clientHeight)||0,$=((y=i.current.querySelector(`.${X["pinnedRows--bottom"]}`))==null?void 0:y.clientHeight)||0;m.top=yV({clientHeight:i.current.clientHeight-T-$,scrollTop:i.current.scrollTop,offsetHeight:E,offsetTop:w.positions[P]})}return m=e.current.unstable_applyPipeProcessors("scrollToIndexes",m,d),typeof m.left!==void 0||typeof m.top!==void 0?(e.current.scroll(m),!0):!1},[r,e,i,t.pagination,a]),l=g.useCallback(d=>{if(i.current&&d.left!=null&&o.current){const f=n.direction==="rtl"?-1:1;o.current.scrollLeft=d.left,i.current.scrollLeft=f*d.left,r.debug(`Scrolling left: ${d.left}`)}i.current&&d.top!=null&&(i.current.scrollTop=d.top,r.debug(`Scrolling top: ${d.top}`)),r.debug("Scrolling, updating container, and viewport")},[i,n.direction,o,r]),c=g.useCallback(()=>i!=null&&i.current?{top:i.current.scrollTop,left:i.current.scrollLeft}:{top:0,left:0},[i]);St(e,{scroll:l,scrollToIndexes:s,getScrollPosition:c},"public")};function lht(e,t){Sn(e,"columnHeaderClick",t.onColumnHeaderClick),Sn(e,"columnHeaderDoubleClick",t.onColumnHeaderDoubleClick),Sn(e,"columnHeaderOver",t.onColumnHeaderOver),Sn(e,"columnHeaderOut",t.onColumnHeaderOut),Sn(e,"columnHeaderEnter",t.onColumnHeaderEnter),Sn(e,"columnHeaderLeave",t.onColumnHeaderLeave),Sn(e,"cellClick",t.onCellClick),Sn(e,"cellDoubleClick",t.onCellDoubleClick),Sn(e,"cellKeyDown",t.onCellKeyDown),Sn(e,"preferencePanelClose",t.onPreferencePanelClose),Sn(e,"preferencePanelOpen",t.onPreferencePanelOpen),Sn(e,"menuOpen",t.onMenuOpen),Sn(e,"menuClose",t.onMenuClose),Sn(e,"rowDoubleClick",t.onRowDoubleClick),Sn(e,"rowClick",t.onRowClick),Sn(e,"stateChange",t.onStateChange)}const cht=({content:e,container:t,scrollBarSize:n})=>{const r=e.width>t.width,o=e.height>t.height;let i=!1,a=!1;return(r||o)&&(i=r,a=e.height+(i?n:0)>t.height,a&&(i=e.width+n>t.width)),{hasScrollX:i,hasScrollY:a}};function uht(e,t){const n=Fr(e,"useResizeContainer"),r=g.useRef(!1),o=g.useRef(null),i=g.useRef(null),a=Ue(e,uy),s=Ue(e,rm),l=Math.floor(t.rowHeight*s),c=j2(e,t.columnHeaderHeight),u=g.useCallback(()=>{var E;const T=(E=e.current.rootElementRef)==null?void 0:E.current,$=w2(e),M=vJ(e);if(!o.current)return;let D;if(t.scrollbarSize!=null)D=t.scrollbarSize;else if(!$||!T)D=0;else{const j=gn(T).createElement("div");j.style.width="99px",j.style.height="99px",j.style.position="absolute",j.style.overflow="scroll",j.className="scrollDiv",T.appendChild(j),D=j.offsetWidth-j.clientWidth,T.removeChild(j)}let L,N,R;if(t.autoHeight)R=!1,N=Math.round($)>Math.round(o.current.width),L={width:o.current.width,height:a.currentPageTotalHeight+(N?D:0)};else{L={width:o.current.width,height:Math.max(o.current.height-c,0)};const _=cht({content:{width:Math.round($),height:a.currentPageTotalHeight},container:{width:Math.round(L.width),height:L.height-M.top-M.bottom},scrollBarSize:D});R=_.hasScrollY,N=_.hasScrollX}const I={width:L.width-(R?D:0),height:L.height-(N?D:0)},A={viewportOuterSize:L,viewportInnerSize:I,hasScrollX:N,hasScrollY:R,scrollBarSize:D},F=i.current;i.current=A,(A.viewportInnerSize.width!==(F==null?void 0:F.viewportInnerSize.width)||A.viewportInnerSize.height!==(F==null?void 0:F.viewportInnerSize.height))&&e.current.publishEvent("viewportInnerSizeChange",A.viewportInnerSize)},[e,t.scrollbarSize,t.autoHeight,a.currentPageTotalHeight,c]),[d,f]=g.useState(),p=g.useMemo(()=>Rc(f,60),[]),h=g.useRef();Ft(()=>{d&&(u(),e.current.publishEvent("debouncedResize",o.current))},[e,d,u]);const m=g.useCallback(()=>{e.current.computeSizeAndPublishResizeEvent()},[e]),v=g.useCallback(()=>i.current,[]),b=g.useCallback(()=>{const E=e.current.getRootDimensions();if(!E)return 0;const T=f1(e,{pagination:t.pagination,paginationMode:t.paginationMode});if(t.getRowHeight){const M=e.current.getRenderContext(),D=M.lastRowIndex-M.firstRowIndex;return Math.min(D-1,T.rows.length)}const $=Math.floor(E.viewportInnerSize.height/l);return Math.min($,T.rows.length)},[e,t.pagination,t.paginationMode,t.getRowHeight,l]),y=g.useCallback(()=>{var E,T,$;const M=(E=e.current.mainElementRef)==null?void 0:E.current;if(!M)return;const L=si(M).getComputedStyle(M),N=parseFloat(L.height)||0,R=parseFloat(L.width)||0,I=N!==((T=h.current)==null?void 0:T.height),A=R!==(($=h.current)==null?void 0:$.width);if(!h.current||I||A){const F={width:R,height:N};e.current.publishEvent("resize",F),h.current=F}},[e]),w={resize:m,getRootDimensions:v},C={getViewportPageSize:b,updateGridDimensionsRef:u,computeSizeAndPublishResizeEvent:y};St(e,w,"public"),St(e,C,"private");const O=g.useRef(!0),P=g.useCallback(E=>{o.current=E;const T=/jsdom/.test(window.navigator.userAgent);if(E.height===0&&!r.current&&!t.autoHeight&&!T&&(n.error(["The parent DOM element of the data grid has an empty height.","Please make sure that this element has an intrinsic height.","The grid displays with a height of 0px.","","More details: https://mui.com/r/x-data-grid-no-dimensions."].join(` -`)),r.current=!0),E.width===0&&!r.current&&!T&&(n.error(["The parent DOM element of the data grid has an empty width.","Please make sure that this element has an intrinsic width.","The grid displays with a width of 0px.","","More details: https://mui.com/r/x-data-grid-no-dimensions."].join(` -`)),r.current=!0),O.current){f(E),O.current=!1;return}p(E)},[t.autoHeight,p,n]);Ft(()=>u(),[u]),Sn(e,"sortedRowsSet",u),Sn(e,"paginationModelChange",u),Sn(e,"columnsChange",u),et(e,"resize",P),Sn(e,"debouncedResize",t.onResize)}const dht=["style"],fht=["style"];function Jp(e,t,n=0,r=t.length){if(t.length<=0)return-1;if(n>=r)return n;const o=n+Math.floor((r-n)/2),i=t[o];return e<=i?Jp(e,t,n,o):Jp(e,t,o+1,r)}function pht(e,t,n){let r=1;for(;n[Xp(e-n,r,o),Xp(t+n,r,o)],sZ=(e,t)=>e===t?!0:e.firstRowIndex===t.firstRowIndex&&e.lastRowIndex===t.lastRowIndex&&e.firstColumnIndex===t.firstColumnIndex&&e.lastColumnIndex===t.lastColumnIndex,hht={maxSize:3},mht=e=>{const t=Jc(),n=Ze(),r=Ue(t,_r),o=Ue(t,rut),i=Ue(t,zJ),{ref:a,onRenderZonePositioning:s,renderZoneMinColumnIndex:l=0,renderZoneMaxColumnIndex:c=r.length,getRowProps:u}=e,d=qn(),f=Ue(t,Qp),p=Ue(t,w2),h=Ue(t,Go),m=Ue(t,a1),v=Ue(t,uy),b=Ue(t,d1),y=Dd(t,n),w=g.useRef(null),C=g.useRef(null),O=Ot(a,C),[P,E]=g.useState(null),T=g.useRef(P),$=g.useRef({top:0,left:0}),[M,D]=g.useState({width:null,height:null}),L=g.useRef(p),[N,R]=g.useState(null),I=g.useRef(Object.create(null)),A=g.useRef(),F=g.useRef(),_=g.useRef(nP((te,fe,he,ce,be,ye)=>{let Me;const Re=te.slice(fe,he);return ye>-1&&(fe>ye&&ye>=ce||heh!==null?r.findIndex(te=>te.field===h.field):-1,[h,r]),B=g.useCallback(()=>{if(!o)return{firstRowIndex:0,lastRowIndex:y.rows.length,firstColumnIndex:0,lastColumnIndex:r.length};const{top:te,left:fe}=$.current,he=Math.min(bV(t,y,v,te),v.positions.length-1),ce=n.autoHeight?he+y.rows.length:bV(t,y,v,te+M.height);let be=0,ye=f.length;if(i){let Me=!1;const[Re,_e]=Zl({firstIndex:he,lastIndex:ce,minFirstIndex:0,maxLastIndex:y.rows.length,buffer:n.rowBuffer});for(let Y=Re;Y<_e&&!Me;Y+=1){const ne=y.rows[Y];Me=t.current.rowHasAutoHeight(ne.id)}Me||(be=Jp(Math.abs(fe),f),ye=Jp(Math.abs(fe)+M.width,f))}return{firstRowIndex:he,lastRowIndex:ce,firstColumnIndex:be,lastColumnIndex:ye}},[o,i,v,n.autoHeight,n.rowBuffer,y,f,r.length,t,M]);Ft(()=>{o?(C.current.scrollLeft=0,C.current.scrollTop=0):w.current.style.transform="translate3d(0px, 0px, 0px)"},[o]),Ft(()=>{D({width:C.current.clientWidth,height:C.current.clientHeight})},[v.currentPageTotalHeight]);const U=g.useCallback(()=>{C.current&&D({width:C.current.clientWidth,height:C.current.clientHeight})},[]);et(t,"debouncedResize",U);const H=g.useCallback(te=>{const[fe,he]=Zl({firstIndex:te.firstRowIndex,lastIndex:te.lastRowIndex,minFirstIndex:0,maxLastIndex:y.rows.length,buffer:n.rowBuffer}),[ce]=Zl({firstIndex:te.firstColumnIndex,lastIndex:te.lastColumnIndex,minFirstIndex:l,maxLastIndex:c,buffer:n.columnBuffer}),be=s$({firstColumnToRender:ce,apiRef:t,firstRowToRender:fe,lastRowToRender:he,visibleRows:y.rows}),ye=d.direction==="ltr"?1:-1,Me=uy(t.current.state).positions[fe],Re=ye*Qp(t)[be];w.current.style.transform=`translate3d(${Re}px, ${Me}px, 0px)`,typeof s=="function"&&s({top:Me,left:Re})},[t,y.rows,s,l,c,n.columnBuffer,n.rowBuffer,d.direction]),K=g.useCallback(()=>T.current,[]),J=g.useCallback(te=>{if(T.current&&sZ(te,T.current)){H(te);return}E(te),H(te);const[fe,he]=Zl({firstIndex:te.firstRowIndex,lastIndex:te.lastRowIndex,minFirstIndex:0,maxLastIndex:y.rows.length,buffer:n.rowBuffer});t.current.publishEvent("renderedRowsIntervalChange",{firstRowToRender:fe,lastRowToRender:he}),T.current=te},[t,E,T,y.rows.length,n.rowBuffer,H]);Ft(()=>{if(M.width==null)return;const te=B();J(te);const{top:fe,left:he}=$.current,ce={top:fe,left:he,renderContext:te};t.current.publishEvent("scrollPositionChange",ce)},[t,B,M.width,J]);const oe=Vt(te=>{const{scrollTop:fe,scrollLeft:he}=te.currentTarget;if($.current.top=fe,$.current.left=he,!T.current||fe<0||d.direction==="ltr"&&he<0||d.direction==="rtl"&&he>0)return;const ce=o?B():T.current,be=Math.abs(ce.firstRowIndex-T.current.firstRowIndex),ye=Math.abs(ce.lastRowIndex-T.current.lastRowIndex),Me=Math.abs(ce.firstColumnIndex-T.current.firstColumnIndex),Re=Math.abs(ce.lastColumnIndex-T.current.lastColumnIndex),_e=be>=n.rowThreshold||ye>=n.rowThreshold||Me>=n.columnThreshold||Re>=n.columnThreshold||L.current!==p;t.current.publishEvent("scrollPositionChange",{top:fe,left:he,renderContext:_e?ce:T.current},te),_e&&(Ey.flushSync(()=>{J(ce)}),L.current=p)}),ae=Vt(te=>{t.current.publishEvent("virtualScrollerWheel",{},te)}),Z=Vt(te=>{t.current.publishEvent("virtualScrollerTouchMove",{},te)}),ue=g.useMemo(()=>h!==null?y.rows.findIndex(te=>te.id===h.id):-1,[h,y.rows]);et(t,"rowMouseOver",(te,fe)=>{var he;fe.currentTarget.contains(fe.relatedTarget)||R((he=te.id)!=null?he:null)}),et(t,"rowMouseOut",(te,fe)=>{fe.currentTarget.contains(fe.relatedTarget)||R(null)});const re=(te={renderContext:P})=>{var fe;const{onRowRender:he,renderContext:ce,minFirstColumn:be=l,maxLastColumn:ye=c,availableSpace:Me=M.width,rowIndexOffset:Re=0,position:_e="center"}=te;if(!ce||Me==null)return null;const Y=o?n.rowBuffer:0,ne=o?n.columnBuffer:0,[se,ge]=Zl({firstIndex:ce.firstRowIndex,lastIndex:ce.lastRowIndex,minFirstIndex:0,maxLastIndex:y.rows.length,buffer:Y}),Ae=[];if(te.rows)te.rows.forEach(Ct=>{Ae.push(Ct),t.current.calculateColSpan({rowId:Ct.id,minFirstColumn:be,maxLastColumn:ye,columns:r})});else{if(!y.range)return null;for(let Ct=se;Ct-1){const Ct=y.rows[ue];(se>ue||gese?Ae.push(Ct):Ae.unshift(Ct),t.current.calculateColSpan({rowId:Ct.id,minFirstColumn:be,maxLastColumn:ye,columns:r}))}const[ze,Ie]=Zl({firstIndex:ce.firstColumnIndex,lastIndex:ce.lastColumnIndex,minFirstIndex:be,maxLastIndex:ye,buffer:ne}),ht=s$({firstColumnToRender:ze,apiRef:t,firstRowToRender:se,lastRowToRender:ge,visibleRows:y.rows});let sn=!1;(ht>j||Ie=M.width,le=g.useMemo(()=>{const te=Math.max(v.currentPageTotalHeight,1);let fe=!1;C!=null&&C.current&&te<=(C==null?void 0:C.current.clientHeight)&&(fe=!0);const he={width:pe?p:"auto",height:te,minHeight:fe?"100%":"auto"};return n.autoHeight&&y.rows.length===0&&(he.height=yJ(t,n.rowHeight)),he},[t,C,p,v.currentPageTotalHeight,pe,n.autoHeight,n.rowHeight,y.rows.length]);g.useEffect(()=>{t.current.publishEvent("virtualScrollerContentSizeChange")},[t,le]);const G=g.useMemo(()=>{const te={};return pe||(te.overflowX="hidden"),n.autoHeight&&(te.overflowY="hidden"),te},[pe,n.autoHeight]);return t.current.register("private",{getRenderContext:K}),{renderContext:P,updateRenderZonePosition:H,getRows:re,getRootProps:(te={})=>S({ref:O,onScroll:oe,onWheel:ae,onTouchMove:Z},te,{style:te.style?S({},te.style,G):G,role:"presentation"}),getContentProps:({style:te}={})=>({style:te?S({},te,le):le,role:"presentation"}),getRenderZoneProps:()=>({ref:w,role:"rowgroup"})}};function bV(e,t,n,r){var o,i;const a=e.current.getLastMeasuredRowIndex();let s=a===1/0;(o=t.range)!=null&&o.lastRowIndex&&!s&&(s=a>=t.range.lastRowIndex);const l=Xp(a-(((i=t.range)==null?void 0:i.firstRowIndex)||0),0,n.positions.length);return s||n.positions[l]>=r?Jp(r,n.positions):pht(r,n.positions,l)}const ght=e=>{const{classes:t,headerAlign:n,isDragging:r,showColumnBorder:o,groupId:i}=e;return de({root:["columnHeader",n==="left"&&"columnHeader--alignLeft",n==="center"&&"columnHeader--alignCenter",n==="right"&&"columnHeader--alignRight",r&&"columnHeader--moving",o&&"columnHeader--showColumnBorder",o&&"columnHeader--withRightBorder","withBorderColor",i===null?"columnHeader--emptyGroup":"columnHeader--filledGroup"],draggableContainer:["columnHeaderDraggableContainer"],titleContainer:["columnHeaderTitleContainer","withBorderColor"],titleContainerContent:["columnHeaderTitleContainerContent"]},Lt,t)};function vht(e){var t;const{groupId:n,width:r,depth:o,maxDepth:i,fields:a,height:s,colIndex:l,hasFocus:c,tabIndex:u,isLastColumn:d}=e,f=Ze(),p=g.useRef(null),h=Nt(),m=Ue(h,sJ),v=n?m[n]:{},{headerName:b=n??"",description:y="",headerAlign:w=void 0}=v;let C;const O=n&&((t=m[n])==null?void 0:t.renderHeaderGroup),P=g.useMemo(()=>({groupId:n,headerName:b,description:y,depth:o,maxDepth:i,fields:a,colIndex:l,isLastColumn:d}),[n,b,y,o,i,a,l,d]);n&&O&&(C=O(P));const E=f.showColumnVerticalBorder,T=S({},e,{classes:f.classes,showColumnBorder:E,headerAlign:w,depth:o,isDragging:!1}),$=b??n,M=on(),D=n===null?`empty-group-cell-${M}`:n,L=ght(T);g.useLayoutEffect(()=>{if(c){const F=p.current.querySelector('[tabindex="0"]')||p.current;F==null||F.focus()}},[h,c]);const N=g.useCallback(A=>F=>{db(F)||h.current.publishEvent(A,P,F)},[h,P]),R=g.useMemo(()=>({onKeyDown:N("columnGroupHeaderKeyDown"),onFocus:N("columnGroupHeaderFocus"),onBlur:N("columnGroupHeaderBlur")}),[N]),I=typeof v.headerClassName=="function"?v.headerClassName(P):v.headerClassName;return k.jsx(kJ,S({ref:p,classes:L,columnMenuOpen:!1,colIndex:l,height:s,isResizing:!1,sortDirection:null,hasFocus:!1,tabIndex:u,isDraggable:!1,headerComponent:C,headerClassName:I,description:y,elementId:D,width:r,columnMenuIconButton:null,columnTitleIconButtons:null,resizable:!1,label:$,"aria-colspan":a.length,"data-fields":`|-${a.join("-|-")}-|`},R))}const xV=W("div",{name:"MuiDataGrid",slot:"ColumnHeaderRow",overridesResolver:(e,t)=>t.columnHeaderRow})(()=>({display:"flex"}));function yht(e){return!!e.target}const bht=e=>{const{innerRef:t,minColumnIndex:n=0,visibleColumns:r,sortColumnLookup:o,filterColumnLookup:i,columnPositions:a,columnHeaderTabIndexState:s,columnGroupHeaderTabIndexState:l,columnHeaderFocus:c,columnGroupHeaderFocus:u,densityFactor:d,headerGroupingMaxDepth:f,columnMenuState:p,columnVisibility:h,columnGroupsHeaderStructure:m,hasOtherElementInTabSequence:v}=e,b=qn(),[y,w]=g.useState(""),[C,O]=g.useState(""),P=Jc(),E=Ue(P,zJ),T=Ze(),$=g.useRef(null),M=Ot(t,$),[D,L]=g.useState(null),N=g.useRef(D),R=g.useRef(0),I=Dd(P,T),A=j2(P,T.columnHeaderHeight),F=Math.floor(T.columnHeaderHeight*d),_=g.useCallback(pe=>{D&&pe&&sZ(D,pe)||L(pe)},[D]);g.useEffect(()=>{var pe;(pe=P.current.columnHeadersContainerElementRef)!=null&&pe.current&&(P.current.columnHeadersContainerElementRef.current.scrollLeft=0)},[P]);const j=g.useRef(nP(dpt,{equalityCheck:(pe,le)=>["firstColumnIndex","minColumnIndex","columnBuffer"].every(G=>pe[G]===le[G])})),B=g.useCallback(pe=>{const[le,G]=Zl({firstIndex:pe.firstRowIndex,lastIndex:pe.lastRowIndex,minFirstIndex:0,maxLastIndex:I.rows.length,buffer:T.rowBuffer}),te=j.current({firstColumnIndex:pe.firstColumnIndex,minColumnIndex:n,columnBuffer:T.columnBuffer,firstRowToRender:le,lastRowToRender:G,apiRef:P,visibleRows:I.rows}),fe=b.direction==="ltr"?1:-1,he=te>0?R.current-fe*a[te]:R.current;$.current.style.transform=`translate3d(${-he}px, 0px, 0px)`},[a,n,T.columnBuffer,P,I.rows,T.rowBuffer,b.direction]);g.useLayoutEffect(()=>{D&&B(D)},[D,B]);const U=g.useCallback(({left:pe,renderContext:le=null},G)=>{var te,fe;if(!$.current||R.current===pe&&((te=N.current)==null?void 0:te.firstColumnIndex)===(le==null?void 0:le.firstColumnIndex)&&((fe=N.current)==null?void 0:fe.lastColumnIndex)===(le==null?void 0:le.lastColumnIndex))return;R.current=pe;let he=!1;le!==N.current||!N.current?(yht(G)?(Ey.flushSync(()=>{_(le)}),he=!0):_(le),N.current=le):he=!0,le&&he&&B(le)},[B,_]),H=g.useCallback(pe=>O(pe.field),[]),K=g.useCallback(()=>O(""),[]),J=g.useCallback(pe=>w(pe.field),[]),oe=g.useCallback(()=>w(""),[]);et(P,"columnResizeStart",H),et(P,"columnResizeStop",K),et(P,"columnHeaderDragStart",J),et(P,"columnHeaderDragEnd",oe),et(P,"scrollPositionChange",U);const ae=pe=>{const{renderContext:le=D,minFirstColumn:G=n,maxLastColumn:te=r.length}=pe||{};if(!le)return null;const[fe,he]=Zl({firstIndex:le.firstRowIndex,lastIndex:le.lastRowIndex,minFirstIndex:0,maxLastIndex:I.rows.length,buffer:T.rowBuffer}),ce=E?j.current({firstColumnIndex:le.firstColumnIndex,minColumnIndex:G,columnBuffer:T.columnBuffer,apiRef:P,firstRowToRender:fe,lastRowToRender:he,visibleRows:I.rows}):0,be=E?Math.min(le.lastColumnIndex+T.columnBuffer,te):te;return{renderedColumns:r.slice(ce,be),firstColumnToRender:ce,lastColumnToRender:be,minFirstColumn:G,maxLastColumn:te}},Z=(pe,le={})=>{const G=ae(pe);if(G==null)return null;const{renderedColumns:te,firstColumnToRender:fe}=G,he=[];for(let ce=0;ce{if(f===0)return null;const le=ae(pe);if(le==null||le.renderedColumns.length===0)return null;const{firstColumnToRender:G,lastColumnToRender:te}=le,fe=[],he=[];for(let ye=0;yeTt===_e&&Fe.includes(Re)),ne=r[te-1].field,se=(be=P.current.unstable_getColumnGroupPath(ne)[ye])!=null?be:null,ge=Me.findIndex(({groupId:Tt,columnFields:Fe})=>Tt===se&&Fe.includes(ne)),Ae=Me.slice(Y,ge+1).map(Tt=>S({},Tt,{columnFields:Tt.columnFields.filter(Fe=>h[Fe]!==!1)})).filter(Tt=>Tt.columnFields.length>0),Ve=Ae[0].columnFields.indexOf(Re),Ie=Ae[0].columnFields.slice(0,Ve).reduce((Tt,Fe)=>{var it;const $e=P.current.getColumn(Fe);return Tt+((it=$e.computedWidth)!=null?it:0)},0);let ht=G;const sn=Ae.map(({groupId:Tt,columnFields:Fe})=>{const it=u!==null&&u.depth===ye&&Fe.includes(u.field),$e=l!==null&&l.depth===ye&&Fe.includes(l.field)?0:-1,We={groupId:Tt,width:Fe.reduce((mt,yt)=>mt+P.current.getColumn(yt).computedWidth,0),fields:Fe,colIndex:ht,hasFocus:it,tabIndex:$e};return ht+=Fe.length,We});he.push({leftOverflow:Ie,elements:sn})}return he.forEach((ye,Me)=>{fe.push(k.jsx(xV,{style:{height:`${F}px`,transform:`translateX(-${ye.leftOverflow}px)`},role:"row","aria-rowindex":Me+1,ownerState:T,children:ye.elements.map(({groupId:Re,width:_e,fields:Y,colIndex:ne,hasFocus:se,tabIndex:ge},Ae)=>k.jsx(vht,{groupId:Re,width:_e,fields:Y,colIndex:ne,depth:Me,isLastColumn:ne===r.length-Y.length,maxDepth:he.length,height:F,hasFocus:se,tabIndex:ge},Ae))},Me))}),fe},re={minHeight:A,maxHeight:A,lineHeight:`${F}px`};return{renderContext:D,getColumnHeaders:Z,getColumnsToRender:ae,getColumnGroupHeaders:ue,isDragging:!!y,getRootProps:(pe={})=>S({style:re},pe),getInnerProps:()=>({ref:M,role:"rowgroup"}),headerHeight:F}},xht=["className"],wht=e=>{const{classes:t}=e;return de({root:["columnHeaders","withBorderColor"]},Lt,t)},Cht=cr("div",{name:"MuiDataGrid",slot:"ColumnHeaders",overridesResolver:(e,t)=>t.columnHeaders})({position:"relative",overflow:"hidden",display:"flex",alignItems:"center",boxSizing:"border-box",borderBottom:"1px solid",borderTopLeftRadius:"var(--unstable_DataGrid-radius)",borderTopRightRadius:"var(--unstable_DataGrid-radius)"}),Sht=g.forwardRef(function(t,n){const{className:r}=t,o=q(t,xht),i=Ze(),a=wht(i);return k.jsx(Cht,S({ref:n,className:Q(r,a.root),ownerState:i},o,{role:"presentation"}))}),Pht=["isDragging","className"],Eht=e=>{const{isDragging:t,hasScrollX:n,classes:r}=e;return de({root:["columnHeadersInner",t&&"columnHeaderDropZone",n&&"columnHeadersInner--scrollable"]},Lt,r)},Oht=cr("div",{name:"MuiDataGrid",slot:"columnHeadersInner",overridesResolver:(e,t)=>[{[`&.${X.columnHeaderDropZone}`]:t.columnHeaderDropZone},t.columnHeadersInner]})(()=>({display:"flex",alignItems:"flex-start",flexDirection:"column",[`&.${X.columnHeaderDropZone} .${X.columnHeaderDraggableContainer}`]:{cursor:"move"},[`&.${X["columnHeadersInner--scrollable"]} .${X.columnHeader}:last-child`]:{borderRight:"none"}})),Tht=g.forwardRef(function(t,n){var r,o;const{isDragging:i,className:a}=t,s=q(t,Pht),l=Nt(),c=Ze(),u=S({},c,{isDragging:i,hasScrollX:(r=(o=l.current.getRootDimensions())==null?void 0:o.hasScrollX)!=null?r:!1}),d=Eht(u);return k.jsx(Oht,S({ref:n,className:Q(a,d.root),ownerState:u},s))}),kht=["innerRef","className","visibleColumns","sortColumnLookup","filterColumnLookup","columnPositions","columnHeaderTabIndexState","columnGroupHeaderTabIndexState","columnHeaderFocus","columnGroupHeaderFocus","densityFactor","headerGroupingMaxDepth","columnMenuState","columnVisibility","columnGroupsHeaderStructure","hasOtherElementInTabSequence"],Iht=g.forwardRef(function(t,n){const{innerRef:r,visibleColumns:o,sortColumnLookup:i,filterColumnLookup:a,columnPositions:s,columnHeaderTabIndexState:l,columnGroupHeaderTabIndexState:c,columnHeaderFocus:u,columnGroupHeaderFocus:d,densityFactor:f,headerGroupingMaxDepth:p,columnMenuState:h,columnVisibility:m,columnGroupsHeaderStructure:v,hasOtherElementInTabSequence:b}=t,y=q(t,kht),{isDragging:w,getRootProps:C,getInnerProps:O,getColumnHeaders:P,getColumnGroupHeaders:E}=bht({innerRef:r,visibleColumns:o,sortColumnLookup:i,filterColumnLookup:a,columnPositions:s,columnHeaderTabIndexState:l,columnGroupHeaderTabIndexState:c,columnHeaderFocus:u,columnGroupHeaderFocus:d,densityFactor:f,headerGroupingMaxDepth:p,columnMenuState:h,columnVisibility:m,columnGroupsHeaderStructure:v,hasOtherElementInTabSequence:b});return k.jsx(Sht,S({ref:n},C(y),{children:k.jsxs(Tht,S({isDragging:w},O(),{children:[E(),P()]}))}))}),$ht=cP(Iht),Mht=g.forwardRef(function(t,n){const o=Nt().current.getLocaleText("noResultsOverlayLabel");return k.jsx(k2,S({ref:n},t,{children:o}))}),Aht=["sortingOrder"],Rht=g.memo(function(t){const{sortingOrder:n}=t,r=q(t,Aht),o=Ze(),[i]=n,a=i==="asc"?o.slots.columnSortedAscendingIcon:o.slots.columnSortedDescendingIcon;return a?k.jsx(a,S({},r)):null}),_ht=["native"];function Dht(e){let{native:t}=e,n=q(e,_ht);return t?k.jsx("option",S({},n)):k.jsx(bt,S({},n))}const Nht={BooleanCellTrueIcon:Put,BooleanCellFalseIcon:fO,ColumnMenuIcon:xut,OpenFilterButtonIcon:put,FilterPanelDeleteIcon:fO,ColumnFilteredIcon:J4,ColumnSelectorIcon:mut,ColumnUnsortedIcon:Rht,ColumnSortedAscendingIcon:K4,ColumnSortedDescendingIcon:Y4,ColumnResizeIcon:gut,DensityCompactIcon:vut,DensityStandardIcon:yut,DensityComfortableIcon:but,ExportIcon:Sut,MoreActionsIcon:Eut,TreeDataCollapseIcon:X4,TreeDataExpandIcon:Q4,GroupingCriteriaCollapseIcon:X4,GroupingCriteriaExpandIcon:Q4,DetailPanelExpandIcon:Z4,DetailPanelCollapseIcon:wut,RowReorderIcon:eV,QuickFilterIcon:hut,QuickFilterClearIcon:fO,ColumnMenuHideIcon:Out,ColumnMenuSortAscendingIcon:K4,ColumnMenuSortDescendingIcon:Y4,ColumnMenuFilterIcon:J4,ColumnMenuManageColumnsIcon:Tut,ColumnMenuClearIcon:kut,LoadIcon:Cut,FilterPanelAddIcon:Z4,FilterPanelRemoveAllIcon:Iut,ColumnReorderIcon:eV},Lht=S({},Nht,{BaseCheckbox:Ope,BaseTextField:$t,BaseFormControl:hh,BaseSelect:Hc,BaseSwitch:El,BaseButton:qe,BaseIconButton:Rt,BaseInputAdornment:dr,BaseTooltip:La,BasePopper:Bc,BaseInputLabel:mh,BaseSelectOption:Dht,BaseChip:Pp}),jht=S({},Lht,{Cell:e$,SkeletonCell:Glt,ColumnHeaderFilterIconButton:iut,ColumnMenu:Uut,ColumnHeaders:$ht,Footer:Jdt,FooterRowCount:sft,Toolbar:null,PreferencesPanel:ydt,LoadingOverlay:eft,NoResultsOverlay:Mht,NoRowsOverlay:tft,Pagination:rft,FilterPanel:Fdt,ColumnsPanel:fdt,Panel:vdt,Row:Tft}),lZ=e=>{if(e!==void 0)return Object.keys(e).reduce((t,n)=>S({},t,{[`${n.charAt(0).toLowerCase()}${n.slice(1)}`]:e[n]}),{})};function Fht({defaultSlots:e,slots:t,components:n}){const r=t??(n?lZ(n):null);if(!r||Object.keys(r).length===0)return e;const o=S({},e);return Object.keys(r).forEach(i=>{const a=i;r[a]!==void 0&&(o[a]=r[a])}),o}const Bht=["components","componentsProps"];function zht(e){var t;const n=Object.keys(e);if(!n.some(i=>i.startsWith("aria-")||i.startsWith("data-")))return e;const r={},o=(t=e.forwardedProps)!=null?t:{};for(let i=0;i{const{components:t,componentsProps:n}=e,r=q(e,Bht);return[t,n,zht(r)]},[e])}const Hht={disableMultipleColumnsFiltering:!0,disableMultipleColumnsSorting:!0,disableMultipleRowSelection:!0,throttleRowsMs:void 0,hideFooterRowCount:!1,pagination:!0,checkboxSelectionVisibleOnly:!1,disableColumnReorder:!0,disableColumnResize:!0,keepColumnPositionIfDraggedOutside:!1,signature:"DataGrid"},dP={autoHeight:!1,autoPageSize:!1,checkboxSelection:!1,checkboxSelectionVisibleOnly:!1,columnBuffer:3,rowBuffer:3,columnThreshold:3,rowThreshold:3,rowSelection:!0,density:"standard",disableColumnFilter:!1,disableColumnMenu:!1,disableColumnSelector:!1,disableDensitySelector:!1,disableEval:!1,disableMultipleColumnsFiltering:!1,disableMultipleRowSelection:!1,disableMultipleColumnsSorting:!1,disableRowSelectionOnClick:!1,disableVirtualization:!1,editMode:Cs.Cell,filterMode:"client",filterDebounceMs:150,columnHeaderHeight:56,hideFooter:!1,hideFooterPagination:!1,hideFooterRowCount:!1,hideFooterSelectedRowCount:!1,ignoreDiacritics:!1,logger:console,logLevel:"error",pagination:!1,paginationMode:"client",rowHeight:52,pageSizeOptions:[25,50,100],rowSpacingType:"margin",showCellVerticalBorder:!1,showColumnVerticalBorder:!1,sortingOrder:["asc","desc",null],sortingMode:"client",throttleRowsMs:0,disableColumnReorder:!1,disableColumnResize:!1,keepNonExistentRowsSelected:!1,keepColumnPositionIfDraggedOutside:!1,unstable_ignoreValueFormatterDuringExport:!1,clipboardCopyCellDelimiter:" ",rowPositionsDebounceMs:166},Uht=lZ(jht),Wht=e=>{const[t,n,r]=Vht(Ee({props:e,name:"MuiDataGrid"})),o=g.useMemo(()=>S({},nht,r.localeText),[r.localeText]),i=g.useMemo(()=>Fht({defaultSlots:Uht,slots:r.slots,components:t}),[t,r.slots]);return g.useMemo(()=>{var a;return S({},dP,r,{localeText:o,slots:i,slotProps:(a=r.slotProps)!=null?a:n},Hht)},[r,o,i,n])},Ght=e=>S({},e,{rowsMeta:{currentPageTotalHeight:0,positions:[]}}),wV=(e,t,n)=>typeof e=="number"&&e>0?e:t,qht=(e,t)=>{const{getRowHeight:n,getRowSpacing:r,getEstimatedRowHeight:o}=t,i=g.useRef(Object.create(null)),a=g.useRef(-1),s=g.useRef(!1),l=Ue(e,rm),c=Ue(e,wr),u=Ue(e,$2),d=Ue(e,Mi),f=Dd(e,t),p=Ue(e,nm),h=wV(t.rowHeight,dP.rowHeight),m=Math.floor(h*l),v=g.useCallback(()=>{var L,N;s.current=!1;const R=F=>{i.current[F.id]||(i.current[F.id]={sizes:{baseCenter:m},isResized:!1,autoHeight:!1,needsFirstMeasurement:!0});const{isResized:_,needsFirstMeasurement:j,sizes:B}=i.current[F.id];let U=typeof m=="number"&&m>0?m:52;const H=B.baseCenter;if(_)U=H;else if(n){const Z=n(S({},F,{densityFactor:l}));if(Z==="auto"){if(j){const ue=o?o(S({},F,{densityFactor:l})):m;U=ue??m}else U=H;s.current=!0,i.current[F.id].autoHeight=!0}else U=wV(Z,m),i.current[F.id].needsFirstMeasurement=!1,i.current[F.id].autoHeight=!1}else i.current[F.id].needsFirstMeasurement=!1;const K={};for(const Z in B)/^base[A-Z]/.test(Z)&&(K[Z]=B[Z]);if(K.baseCenter=U,r){var J,oe;const Z=e.current.getRowIndexRelativeToVisibleRows(F.id),ue=r(S({},F,{isFirstVisible:Z===0,isLastVisible:Z===f.rows.length-1,indexRelativeToCurrentPage:Z}));K.spacingTop=(J=ue.top)!=null?J:0,K.spacingBottom=(oe=ue.bottom)!=null?oe:0}const ae=e.current.unstable_applyPipeProcessors("rowHeight",K,F);return i.current[F.id].sizes=ae,ae},I=[],A=f.rows.reduce((F,_)=>{I.push(F);let j=0,B=0;const U=R(_);for(const H in U){const K=U[H];/^base[A-Z]/.test(H)?j=K>j?K:j:B+=K}return F+j+B},0);p==null||(L=p.top)==null||L.forEach(F=>{R(F)}),p==null||(N=p.bottom)==null||N.forEach(F=>{R(F)}),e.current.setState(F=>S({},F,{rowsMeta:{currentPageTotalHeight:A,positions:I}})),s.current||(a.current=1/0),e.current.forceUpdate()},[e,f.rows,m,n,r,o,p,l]),b=g.useCallback(L=>{const N=i.current[L];return N?N.sizes.baseCenter:m},[m]),y=L=>{var N;return(N=i.current[L])==null?void 0:N.sizes},w=g.useCallback((L,N)=>{i.current[L].sizes.baseCenter=N,i.current[L].isResized=!0,i.current[L].needsFirstMeasurement=!1,v()},[v]),C=g.useMemo(()=>Rc(v,t.rowPositionsDebounceMs),[v,t.rowPositionsDebounceMs]),O=g.useCallback((L,N,R)=>{if(!i.current[L]||!i.current[L].autoHeight)return;const I=i.current[L].sizes[`base${ie(R)}`]!==N;i.current[L].needsFirstMeasurement=!1,i.current[L].sizes[`base${ie(R)}`]=N,I&&C()},[C]),P=g.useCallback(L=>{var N;return((N=i.current[L])==null?void 0:N.autoHeight)||!1},[]),E=g.useCallback(()=>a.current,[]),T=g.useCallback(L=>{s.current&&L>a.current&&(a.current=L)},[]),$=g.useCallback(()=>{i.current={},v()},[v]);g.useEffect(()=>{v()},[m,c,u,d,v]),L2(e,"rowHeight",v);const M={unstable_setLastMeasuredRowIndex:T,unstable_getRowHeight:b,unstable_getRowInternalSizes:y,unstable_setRowHeight:w,unstable_storeRowHeightMeasurement:O,resetRowHeights:$},D={getLastMeasuredRowIndex:E,rowHasAutoHeight:P};St(e,M,"public"),St(e,D,"private")},Kht=e=>{const t=g.useCallback((o={})=>e.current.unstable_applyPipeProcessors("exportState",{},o),[e]),n=g.useCallback(o=>{e.current.unstable_applyPipeProcessors("restoreState",{callbacks:[]},{stateToRestore:o}).callbacks.forEach(a=>{a()}),e.current.forceUpdate()},[e]);St(e,{exportState:t,restoreState:n},"public")},Yht=e=>{const t=g.useRef({}),n=g.useCallback((c,u,d)=>{const f=t.current;f[c]||(f[c]={}),f[c][u]=d},[]),r=g.useCallback((c,u)=>{var d;return(d=t.current[c])==null?void 0:d[u]},[]),o=g.useCallback(c=>{const{columnIndex:u,rowId:d,minFirstColumnIndex:f,maxLastColumnIndex:p,columns:h}=c,m=h.length,v=h[u],b=typeof v.colSpan=="function"?v.colSpan(e.current.getCellParams(d,v.field)):v.colSpan;if(!b||b===1)return n(d,u,{spannedByColSpan:!1,cellProps:{colSpan:1,width:v.computedWidth}}),{colSpan:1};let y=v.computedWidth;for(let w=1;w=f&&C{for(let p=u;p1&&(p+=h.colSpan-1)}},[o]),a={unstable_getCellColSpanInfo:r},s={calculateColSpan:i};St(e,a,"public"),St(e,s,"private");const l=g.useCallback(()=>{t.current={}},[]);et(e,"columnOrderChange",l)},cZ=(e,t,n)=>{if(bJ(e)){if(n[e.field]!==void 0)throw new Error(["MUI: columnGroupingModel contains duplicated field",`column field ${e.field} occurs two times in the grouping model:`,`- ${n[e.field].join(" > ")}`,`- ${t.join(" > ")}`].join(` -`));n[e.field]=t;return}const{groupId:r,children:o}=e;o.forEach(i=>{cZ(i,[...t,r],n)})},l$=e=>{if(!e)return{};const t={};return e.forEach(n=>{cZ(n,[],t)}),t},c$=(e,t,n)=>{const r=l=>{var c;return(c=t[l])!=null?c:[]},o=[],i=Math.max(...e.map(l=>r(l).length)),a=(l,c,u)=>Gu(r(l).slice(0,u+1),r(c).slice(0,u+1)),s=(l,c)=>!!(n!=null&&n.left&&n.left.includes(l)&&!n.left.includes(c)||n!=null&&n.right&&!n.right.includes(l)&&n.right.includes(c));for(let l=0;l{var f;const p=(f=r(d)[l])!=null?f:null;if(u.length===0)return[{columnFields:[d],groupId:p}];const h=u[u.length-1],m=h.columnFields[h.columnFields.length-1];return h.groupId!==p||!a(m,d,l)||s(m,d)?[...u,{columnFields:[d],groupId:p}]:[...u.slice(0,u.length-1),{columnFields:[...h.columnFields,d],groupId:p}]},[]);o.push(c)}return o},Qht=["groupId","children"],F2=e=>{let t={};return e.forEach(n=>{if(bJ(n))return;const{groupId:r,children:o}=n,i=q(n,Qht);if(!r)throw new Error("MUI: An element of the columnGroupingModel does not have either `field` or `groupId`.");o||console.warn(`MUI: group groupId=${r} has no children.`);const a=S({},i,{groupId:r}),s=F2(o);if(s[r]!==void 0||t[r]!==void 0)throw new Error(`MUI: The groupId ${r} is used multiple times in the columnGroupingModel.`);t=S({},t,s,{[r]:a})}),S({},t)},Xht=(e,t,n)=>{var r,o,i,a;if(!((r=t.experimentalFeatures)!=null&&r.columnGrouping))return e;const s=rl(n),l=rP(n),c=F2((o=t.columnGroupingModel)!=null?o:[]),u=l$((i=t.columnGroupingModel)!=null?i:[]),d=c$(s,u,(a=n.current.state.pinnedColumns)!=null?a:{}),f=l.length===0?0:Math.max(...l.map(p=>{var h,m;return(h=(m=u[p])==null?void 0:m.length)!=null?h:0}));return S({},e,{columnGrouping:{lookup:c,unwrappedGroupingModel:u,headerStructure:d,maxDepth:f}})},Jht=(e,t)=>{var n;const r=g.useCallback(l=>{var c;return(c=gst(e)[l])!=null?c:[]},[e]),o=g.useCallback(()=>sJ(e),[e]);St(e,{unstable_getColumnGroupPath:r,unstable_getAllGroupDetails:o},"public");const a=g.useCallback(()=>{var l;const c=l$((l=t.columnGroupingModel)!=null?l:[]);e.current.setState(u=>{var d,f,p;const h=(d=(f=u.columns)==null?void 0:f.orderedFields)!=null?d:[],m=(p=u.pinnedColumns)!=null?p:{},v=c$(h,c,m);return S({},u,{columnGrouping:S({},u.columnGrouping,{headerStructure:v})})})},[e,t.columnGroupingModel]),s=g.useCallback(l=>{var c,u,d,f;if(!((c=t.experimentalFeatures)!=null&&c.columnGrouping))return;const p=(u=(d=(f=e.current).getPinnedColumns)==null?void 0:d.call(f))!=null?u:{},h=rl(e),m=rP(e),v=F2(l??[]),b=l$(l??[]),y=c$(h,b,p),w=m.length===0?0:Math.max(...m.map(C=>{var O,P;return(O=(P=b[C])==null?void 0:P.length)!=null?O:0}));e.current.setState(C=>S({},C,{columnGrouping:{lookup:v,unwrappedGroupingModel:b,headerStructure:y,maxDepth:w}}))},[e,(n=t.experimentalFeatures)==null?void 0:n.columnGrouping]);et(e,"columnIndexChange",a),et(e,"columnsChange",()=>{s(t.columnGroupingModel)}),et(e,"columnVisibilityModelChange",()=>{s(t.columnGroupingModel)}),g.useEffect(()=>{s(t.columnGroupingModel)},[s,t.columnGroupingModel])},Zht=(e,t)=>{const n=zft(e,t);return oht(n,t),Zpt(n),bo(eht,n,t),bo(fpt,n,t),bo(Kpt,n,t),bo(Gpt,n,t),bo(Ipt,n,t),bo(iht,n,t),bo(Npt,n,t),bo(Ept,n,t),bo(gpt,n,t),bo(_pt,n,t),bo(Ght,n,t),bo(spt,n,t),bo(Xht,n,t),bo(tut,n,t),Apt(n,t),tht(n,t),ppt(n,t),Ypt(n,t),Xst(n,t),Yht(n),Jht(n,t),qpt(n,t),$pt(n,t),Lpt(n,t),kpt(n,t),aht(n,t),vpt(n,t),Dpt(n,t),qht(n,t),sht(n,t),lpt(n),xpt(n,t),Ppt(n,t),apt(n,t),uht(n,t),lht(n,t),Kht(n),nut(n,t),n},emt=e=>{const{classes:t}=e;return de({root:["virtualScroller"]},Lt,t)},tmt=cr("div",{name:"MuiDataGrid",slot:"VirtualScroller",overridesResolver:(e,t)=>t.virtualScroller})({overflow:"auto",height:"100%",position:"relative","@media print":{overflow:"hidden"},zIndex:0}),nmt=g.forwardRef(function(t,n){const r=Ze(),o=emt(r);return k.jsx(tmt,S({ref:n},t,{className:Q(o.root,t.className),ownerState:r}))}),rmt=(e,t)=>{const{classes:n}=e;return de({root:["virtualScrollerContent",t&&"virtualScrollerContent--overflowed"]},Lt,n)},omt=cr("div",{name:"MuiDataGrid",slot:"VirtualScrollerContent",overridesResolver:(e,t)=>t.virtualScrollerContent})({}),imt=g.forwardRef(function(t,n){var r;const o=Ze(),i=!o.autoHeight&&((r=t.style)==null?void 0:r.minHeight)==="auto",a=rmt(o,i);return k.jsx(omt,S({ref:n},t,{ownerState:o,className:Q(a.root,t.className)}))}),amt=["className"],smt=e=>{const{classes:t}=e;return de({root:["virtualScrollerRenderZone"]},Lt,t)},lmt=cr("div",{name:"MuiDataGrid",slot:"VirtualScrollerRenderZone",overridesResolver:(e,t)=>t.virtualScrollerRenderZone})({position:"absolute",display:"flex",flexDirection:"column"}),cmt=g.forwardRef(function(t,n){const{className:r}=t,o=q(t,amt),i=Ze(),a=smt(i);return k.jsx(lmt,S({ref:n,className:Q(a.root,r),ownerState:i},o))}),umt=["className"],dmt=g.forwardRef(function(t,n){const{className:r}=t,o=q(t,umt),{getRootProps:i,getContentProps:a,getRenderZoneProps:s,getRows:l}=mht({ref:n});return k.jsxs(nmt,S({className:r},i(o),{children:[k.jsx(Ust,{}),k.jsx(imt,S({},a(),{children:k.jsx(cmt,S({},s(),{children:l()}))}))]}))}),uZ=g.forwardRef(function(t,n){const r=Wht(t),o=Zht(r.apiRef,r);return k.jsx(kft,{privateApiRef:o,props:r,children:k.jsxs(Xlt,S({className:r.className,style:r.style,sx:r.sx,ref:n},r.forwardedProps,{children:[k.jsx(Zdt,{}),k.jsx(Dst,{VirtualScrollerComponent:dmt}),k.jsx(Nst,{})]}))})}),fmt=g.memo(uZ);dP.filterDebounceMs;dP.filterDebounceMs;uZ.propTypes={apiRef:ee.shape({current:ee.object.isRequired}),"aria-label":ee.string,"aria-labelledby":ee.string,autoHeight:ee.bool,autoPageSize:ee.bool,cellModesModel:ee.object,checkboxSelection:ee.bool,classes:ee.object,clipboardCopyCellDelimiter:ee.string,columnBuffer:ee.number,columnGroupingModel:ee.arrayOf(ee.object),columnHeaderHeight:ee.number,columns:Tne(ee.array.isRequired),columnThreshold:ee.number,columnVisibilityModel:ee.object,components:ee.object,componentsProps:ee.object,density:ee.oneOf(["comfortable","compact","standard"]),disableColumnFilter:ee.bool,disableColumnMenu:ee.bool,disableColumnSelector:ee.bool,disableDensitySelector:ee.bool,disableEval:ee.bool,disableRowSelectionOnClick:ee.bool,disableVirtualization:ee.bool,editMode:ee.oneOf(["cell","row"]),experimentalFeatures:ee.shape({ariaV7:ee.bool,columnGrouping:ee.bool,warnIfFocusStateIsNotSynced:ee.bool}),filterDebounceMs:ee.number,filterMode:ee.oneOf(["client","server"]),filterModel:ee.shape({items:ee.arrayOf(ee.shape({field:ee.string.isRequired,id:ee.oneOfType([ee.number,ee.string]),operator:ee.string.isRequired,value:ee.any})).isRequired,logicOperator:ee.oneOf(["and","or"]),quickFilterExcludeHiddenColumns:ee.bool,quickFilterLogicOperator:ee.oneOf(["and","or"]),quickFilterValues:ee.array}),forwardedProps:ee.object,getCellClassName:ee.func,getDetailPanelContent:ee.func,getEstimatedRowHeight:ee.func,getRowClassName:ee.func,getRowHeight:ee.func,getRowId:ee.func,getRowSpacing:ee.func,hideFooter:ee.bool,hideFooterPagination:ee.bool,hideFooterSelectedRowCount:ee.bool,ignoreDiacritics:ee.bool,initialState:ee.object,isCellEditable:ee.func,isRowSelectable:ee.func,keepNonExistentRowsSelected:ee.bool,loading:ee.bool,localeText:ee.object,logger:ee.shape({debug:ee.func.isRequired,error:ee.func.isRequired,info:ee.func.isRequired,warn:ee.func.isRequired}),logLevel:ee.oneOf(["debug","error","info","warn",!1]),nonce:ee.string,onCellClick:ee.func,onCellDoubleClick:ee.func,onCellEditStart:ee.func,onCellEditStop:ee.func,onCellKeyDown:ee.func,onCellModesModelChange:ee.func,onClipboardCopy:ee.func,onColumnHeaderClick:ee.func,onColumnHeaderDoubleClick:ee.func,onColumnHeaderEnter:ee.func,onColumnHeaderLeave:ee.func,onColumnHeaderOut:ee.func,onColumnHeaderOver:ee.func,onColumnOrderChange:ee.func,onColumnVisibilityModelChange:ee.func,onFilterModelChange:ee.func,onMenuClose:ee.func,onMenuOpen:ee.func,onPaginationModelChange:ee.func,onPreferencePanelClose:ee.func,onPreferencePanelOpen:ee.func,onProcessRowUpdateError:ee.func,onResize:ee.func,onRowClick:ee.func,onRowCountChange:ee.func,onRowDoubleClick:ee.func,onRowEditStart:ee.func,onRowEditStop:ee.func,onRowModesModelChange:ee.func,onRowSelectionModelChange:ee.func,onSortModelChange:ee.func,onStateChange:ee.func,pageSizeOptions:ee.arrayOf(ee.oneOfType([ee.number,ee.shape({label:ee.string.isRequired,value:ee.number.isRequired})]).isRequired),pagination:e=>e.pagination===!1?new Error(["MUI: `` is not a valid prop.","Infinite scrolling is not available in the MIT version.","","You need to upgrade to DataGridPro or DataGridPremium component to disable the pagination."].join(` -`)):null,paginationMode:ee.oneOf(["client","server"]),paginationModel:ee.shape({page:ee.number.isRequired,pageSize:ee.number.isRequired}),processRowUpdate:ee.func,rowBuffer:ee.number,rowCount:ee.number,rowHeight:ee.number,rowModesModel:ee.object,rowPositionsDebounceMs:ee.number,rows:ee.arrayOf(ee.object).isRequired,rowSelection:ee.bool,rowSelectionModel:ee.oneOfType([ee.arrayOf(ee.oneOfType([ee.number,ee.string]).isRequired),ee.number,ee.string]),rowSpacingType:ee.oneOf(["border","margin"]),rowThreshold:ee.number,scrollbarSize:ee.number,showCellVerticalBorder:ee.bool,showColumnVerticalBorder:ee.bool,slotProps:ee.object,slots:ee.object,sortingMode:ee.oneOf(["client","server"]),sortingOrder:ee.arrayOf(ee.oneOf(["asc","desc"])),sortModel:ee.arrayOf(ee.shape({field:ee.string.isRequired,sort:ee.oneOf(["asc","desc"])})),sx:ee.oneOfType([ee.arrayOf(ee.oneOfType([ee.func,ee.object,ee.bool])),ee.func,ee.object]),unstable_ignoreValueFormatterDuringExport:ee.oneOfType([ee.shape({clipboardExport:ee.bool,csvExport:ee.bool}),ee.bool])};var B2={},pmt=Ut;Object.defineProperty(B2,"__esModule",{value:!0});var dZ=B2.default=void 0,hmt=pmt(Xt()),mmt=Kt();dZ=B2.default=(0,hmt.default)((0,mmt.jsx)("path",{d:"M17 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V7zm-5 16c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3m3-10H5V5h10z"}),"Save");var z2={},gmt=Ut;Object.defineProperty(z2,"__esModule",{value:!0});var fZ=z2.default=void 0,vmt=gmt(Xt()),ymt=Kt();fZ=z2.default=(0,vmt.default)((0,ymt.jsx)("path",{d:"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 0 0-1.41 0l-1.83 1.83 3.75 3.75z"}),"Edit");var V2={},bmt=Ut;Object.defineProperty(V2,"__esModule",{value:!0});var pZ=V2.default=void 0,xmt=bmt(Xt()),wmt=Kt();pZ=V2.default=(0,xmt.default)((0,wmt.jsx)("path",{d:"M16 9v10H8V9zm-1.5-6h-5l-1 1H5v2h14V4h-3.5zM18 7H6v12c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2z"}),"DeleteOutlined");const Cmt=e=>e.map(t=>({id:t.id,category:t.category,date:t.date,value:t.value,notes:t.notes})),Smt=e=>{const[t]=Oe(),n=Cmt(e.category.entries),r=QX(),o=Xat(),[i,a]=V.useState(n),[s,l]=V.useState({}),c=(y,w)=>{y.reason===Xa.rowFocusOut&&(w.defaultMuiPrevented=!0)},u=y=>()=>{l({...s,[y]:{mode:nn.Edit}})},d=y=>()=>{l({...s,[y]:{mode:nn.View}})},f=y=>async()=>{console.log("deleting entry",y),o.mutate(parseInt(y.toString())),a(i.filter(w=>w.id!==y))},p=y=>()=>{l({...s,[y]:{mode:nn.View,ignoreModifications:!0}});const w=i.find(C=>C.id===y);(w==null?void 0:w.id)===null&&a(i.filter(C=>C.id!==y))},h=async y=>{r.mutate({id:y.id,categoryId:y.category,date:y.date,value:y.value,notes:y.notes});const w={...y,isNew:!1};return a(i.map(C=>C.id===y.id?w:C)),w},m=y=>{console.log(y)},v=y=>{l(y)},b=[{field:"value",headerName:t("value"),width:80,editable:!0,valueFormatter:y=>y.value==null?"":y.value+e.category.unit},{field:"date",headerName:t("date"),type:"date",width:120,editable:!0,valueFormatter:y=>y.value==null?"":nt.fromJSDate(y.value).toLocaleString(nt.DATE_MED)},{field:"notes",headerName:t("notes"),type:"string",flex:1,editable:!0},{field:"actions",type:"actions",headerName:t("actions"),width:100,cellClassName:"actions",getActions:({id:y})=>{var C;return((C=s[y])==null?void 0:C.mode)===nn.Edit?[x(b0,{icon:x(dZ,{}),label:"Save",sx:{color:"primary.main"},onClick:d(y)}),x(b0,{icon:x(yh,{}),label:"Cancel",className:"textPrimary",onClick:p(y),color:"inherit"})]:[x(b0,{icon:x(fZ,{}),label:"Edit",className:"textPrimary",onClick:u(y),color:"inherit"}),x(b0,{icon:x(pZ,{}),label:"Delete",onClick:f(y),color:"inherit"})]}}];return x(an,{sx:{width:"100%"},children:x(fmt,{editMode:"row",rows:n,columns:b,initialState:{pagination:{paginationModel:{pageSize:Mj.pageSize}}},pageSizeOptions:Mj.pageSizeOptions,disableRowSelectionOnClick:!0,rowModesModel:s,onRowModesModelChange:v,onRowEditStop:c,processRowUpdate:h,onProcessRowUpdateError:m,slotProps:{toolbar:{setRows:a,setRowModesModel:l}}})})};var H2={},Pmt=Ut;Object.defineProperty(H2,"__esModule",{value:!0});var U2=H2.default=void 0,Emt=Pmt(Xt()),Omt=Kt();U2=H2.default=(0,Emt.default)((0,Omt.jsx)("path",{d:"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6"}),"Settings");const W2=({title:e,subtitle:t,isOpen:n,message:r,deleteFn:o,closeFn:i})=>{const[a]=Oe();return x(ph,{open:n,onClose:i,"aria-labelledby":"modal-modal-title","aria-describedby":"modal-modal-description",children:z(gr,{sx:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",p:2,minWidth:"400px"},children:[x(Pl,{title:e,titleTypographyProps:{variant:"h6"},subheader:t,action:x(yh,{onClick:i})}),x(Ro,{children:x(Be,{variant:"body1",children:r})}),z(gi,{children:[x(qe,{color:"error",variant:"contained",onClick:()=>{o(),i()},children:a("delete")}),x(qe,{color:"primary",onClick:i,children:a("cancel")})]})]})})},Tmt=e=>{const t=Yat(e.category.id),n=Rd(),[r]=Oe(),[o,i]=V.useState(null),[a,s]=V.useState(!1),[l,c]=V.useState(!1),u=!!o,d=C=>{i(C.currentTarget)},f=()=>{p(),v()},p=()=>{i(null)},h=()=>{y(),i(null)},m=()=>{t.mutate(e.category.id),n(_t(Mt.MEASUREMENT_OVERVIEW))},v=()=>s(!0),b=()=>s(!1),y=()=>c(!0),w=()=>c(!1);return z("div",{children:[x(qe,{onClick:d,children:x(U2,{})}),z(vi,{anchorEl:o,open:u,onClose:p,MenuListProps:{"aria-labelledby":"basic-button"},children:[x(bt,{onClick:f,children:r("edit")}),x(bt,{onClick:h,children:r("delete")})]}),x(yo,{title:r("edit"),isOpen:a,closeFn:b,children:x(ZX,{category:e.category,closeFn:b})}),x(W2,{title:r("deleteConfirmation",{name:e.category.name}),message:r("measurements.deleteInfo"),isOpen:l,closeFn:w,deleteFn:m})]})},kmt=()=>{const e=_d(),t=parseInt(e.categoryId),n=YX(t);return n.isLoading?x(Tr,{}):x(em,{title:n.data.name,optionsMenu:x(Tmt,{category:n.data}),mainContent:z(pt,{spacing:2,children:[x(JX,{category:n.data}),x(Smt,{category:n.data})]}),fab:x(tst,{})})},Imt=e=>{const[t,n]=Oe(),[r,o]=V.useState(!1),i=()=>o(!0),a=()=>o(!1);return z(tt,{children:[z(gr,{children:[x(Pl,{title:e.category.name,subheader:e.category.unit}),x(Ro,{children:x(JX,{category:e.category})}),z(gi,{disableSpacing:!0,sx:{justifyContent:"space-between"},children:[x(qe,{size:"small",children:x(Aa,{to:_t(Mt.MEASUREMENT_DETAIL,n.language,{id:e.category.id}),children:t("seeDetails")})}),x(Rt,{onClick:i,children:x(di,{})})]})]}),x(yo,{title:t("add"),isOpen:r,closeFn:a,children:x(eJ,{closeFn:a,categoryId:e.category.id})})]})},CV=()=>{const e=Gat(),[t]=Oe();return e.isLoading?x(Tr,{}):x(em,{title:t("measurements.measurements"),mainContent:z(pt,{spacing:2,children:[e.data.length===0&&x(zC,{}),e.data.map(n=>x(Imt,{category:n},n.id))]}),fab:x(est,{})})},$mt=e=>{var r,o,i,a;const[t,n]=Oe();return z(gt,{children:[x(me,{sx:{paddingX:1},children:x(Na,{alt:(r=e.item.ingredient)==null?void 0:r.name,src:(i=(o=e.item.ingredient)==null?void 0:o.image)==null?void 0:i.url,sx:{width:45,height:45},children:x(Es,{})})}),z(me,{sx:{paddingX:1},children:[e.item.amountString," ",(a=e.item.ingredient)==null?void 0:a.name]}),x(me,{align:"right",sx:{paddingX:1},children:t("nutrition.valueEnergyKcalKj",{kcal:Yr(e.item.nutritionalValues.energy,n.language),kj:Yr(e.item.nutritionalValues.energyKj,n.language)})}),x(me,{align:"right",sx:{paddingX:1},children:It(e.item.nutritionalValues.protein,n.language)}),x(me,{align:"right",sx:{paddingX:1},children:It(e.item.nutritionalValues.carbohydrates,n.language)}),x(me,{align:"right",sx:{paddingX:1},children:It(e.item.nutritionalValues.fat,n.language)})]},e.item.id)},u$=e=>{const[t,n]=Oe();return x(vl,{children:z(ml,{children:[x(yd,{children:z(gt,{children:[x(me,{}),x(me,{}),x(me,{align:"right",sx:{paddingX:1},children:t("nutrition.energy")}),x(me,{align:"right",sx:{paddingX:1},children:t("nutrition.protein")}),x(me,{align:"right",sx:{paddingX:1},children:t("nutrition.carbohydrates")}),x(me,{align:"right",sx:{paddingX:1},children:t("nutrition.fat")})]})}),z(gl,{children:[e.items.map(r=>x($mt,{item:r},r.id)),e.showSum&&z(gt,{children:[x(me,{sx:{paddingX:1},children:" "}),x(me,{sx:{paddingX:1},children:t("total")}),x(me,{align:"right",sx:{paddingX:1},children:t("nutrition.valueEnergyKcalKj",{kcal:Yr(e.values.energy,n.language),kj:Yr(e.values.energyKj,n.language)})}),x(me,{align:"right",sx:{paddingX:1},children:It(e.values.protein,n.language)}),x(me,{align:"right",sx:{paddingX:1},children:It(e.values.carbohydrates,n.language)}),x(me,{align:"right",sx:{paddingX:1},children:It(e.values.fat,n.language)})]})]})]})})},Mmt=e=>{const[t,n]=Oe();return x(vl,{children:z(ml,{size:"small",children:[x(yd,{children:z(gt,{children:[x(me,{children:t("nutrition.macronutrient")}),x(me,{align:"right",children:t("nutrition.planned")}),x(me,{align:"right",children:t("nutrition.logged")}),x(me,{align:"right",children:t("nutrition.difference")})]})}),z(gl,{children:[z(gt,{children:[x(me,{children:t("nutrition.energy")}),x(me,{align:"right",children:t("nutrition.valueEnergyKcalKj",{kcal:Yr(e.planned.energy,n.language),kj:Yr(e.planned.energyKj,n.language)})}),x(me,{align:"right",children:t("nutrition.valueEnergyKcalKj",{kcal:Yr(e.logged.energy,n.language),kj:Yr(e.logged.energyKj,n.language)})}),x(me,{align:"right",children:t("nutrition.valueEnergyKcalKj",{kcal:Yr(e.logged.energy-e.planned.energy,n.language),kj:Yr(e.logged.energyKj-e.planned.energyKj,n.language)})})]}),z(gt,{children:[x(me,{children:t("nutrition.protein")}),x(me,{align:"right",children:It(e.planned.protein,n.language)}),x(me,{align:"right",children:It(e.logged.protein,n.language)}),x(me,{align:"right",children:It(e.logged.protein-e.planned.protein,n.language)})]}),z(gt,{children:[x(me,{children:t("nutrition.carbohydrates")}),x(me,{align:"right",children:It(e.planned.carbohydrates,n.language)}),x(me,{align:"right",children:It(e.logged.carbohydrates,n.language)}),x(me,{align:"right",children:It(e.logged.carbohydrates-e.planned.carbohydrates,n.language)})]}),z(gt,{children:[x(me,{sx:{pl:5},children:t("nutrition.ofWhichSugars")}),x(me,{align:"right",children:It(e.planned.carbohydratesSugar,n.language)}),x(me,{align:"right",children:It(e.logged.carbohydratesSugar,n.language)}),x(me,{align:"right",children:It(e.logged.carbohydratesSugar-e.planned.carbohydratesSugar,n.language)})]}),z(gt,{children:[x(me,{children:t("nutrition.fat")}),x(me,{align:"right",children:It(e.planned.fat,n.language)}),x(me,{align:"right",children:It(e.logged.fat,n.language)}),x(me,{align:"right",children:It(e.logged.fat-e.planned.fat,n.language)})]}),z(gt,{children:[x(me,{sx:{paddingLeft:5},children:t("nutrition.ofWhichSaturated")}),x(me,{align:"right",children:It(e.planned.fatSaturated,n.language)}),x(me,{align:"right",children:It(e.logged.fatSaturated,n.language)}),x(me,{align:"right",children:It(e.logged.fatSaturated-e.planned.fatSaturated,n.language)})]}),z(gt,{children:[x(me,{children:t("nutrition.others")}),x(me,{}),x(me,{}),x(me,{})]}),z(gt,{children:[x(me,{children:t("nutrition.fibres")}),x(me,{align:"right",children:It(e.planned.fiber,n.language)}),x(me,{align:"right",children:It(e.logged.fiber,n.language)}),x(me,{align:"right",children:It(e.logged.fiber-e.planned.fiber,n.language)})]}),z(gt,{children:[x(me,{children:t("nutrition.sodium")}),x(me,{align:"right",children:It(e.planned.sodium,n.language)}),x(me,{align:"right",children:It(e.logged.sodium,n.language)}),x(me,{align:"right",children:It(e.logged.sodium-e.planned.sodium,n.language)})]})]})]})})},SV=()=>{const[e]=Oe(),t=_d(),n=parseInt(t.planId),r=new Date(t.date),o=W1e(n,t.date);return o.isLoading?x(Tr,{}):x(em,{title:e("nutrition.nutritionalDiary"),mainContent:x(tt,{children:z(pt,{spacing:2,children:[x(Be,{gutterBottom:!0,variant:"h4",children:r.toLocaleDateString()}),x(Mmt,{logged:o.data.loggedNutritionalValuesDate(r),planned:o.data.plannedNutritionalValues}),x(u$,{values:o.data.loggedNutritionalValuesDate(r),items:o.data.loggedEntriesDate(r),showSum:!0})]})})})};function*fP(e){let t;e<=3?t=C1e:e<=5?t=w1e:t=x1e;for(const n of t)yield n}const Amt=e=>{const[t,n]=Oe(),r=fP(3),o=[{name:t("nutrition.carbohydrates"),value:e.data.carbohydrates},{name:t("nutrition.protein"),value:e.data.protein},{name:t("nutrition.fat"),value:e.data.fat}],i=Math.PI/180;return x(Cd,{width:"100%",height:300,children:z(oK,{children:[x(ks,{data:o,labelLine:!1,label:({cx:s,cy:l,midAngle:c,innerRadius:u,outerRadius:d,payload:f})=>{const p=u+(d-u)*.4,h=s+p*Math.cos(-c*i),m=l+p*Math.sin(-c*i);return x("text",{x:h,y:m,fill:"white",textAnchor:"middle",dominantBaseline:"central",children:It(f.value,n.language)})},fill:"#8884d8",dataKey:"value",children:o.map((s,l)=>x(Ah,{fill:r.next().value},`cell-${l}`))}),x($c,{})]})})},Rmt=({showPlanned:e,planned:t,today:n,avg7Days:r})=>{const[o,i]=Oe(),a=fP(3),s=[{name:o("nutrition.protein"),planned:t.protein,today:n.protein,avg7Days:r.protein},{name:o("nutrition.carbohydrates"),planned:t.carbohydrates,today:n.carbohydrates,avg7Days:r.carbohydrates},{name:o("nutrition.sugar"),planned:t.carbohydratesSugar,today:n.carbohydratesSugar,avg7Days:r.carbohydratesSugar},{name:o("nutrition.fat"),planned:t.fat,today:n.fat,avg7Days:r.fat},{name:o("nutrition.saturatedFat"),planned:t.fatSaturated,today:n.fatSaturated,avg7Days:r.fatSaturated}];return x(Cd,{width:"100%",height:300,children:z(rK,{data:s,margin:{top:20,right:30,left:20,bottom:5},children:[x(Bh,{strokeDasharray:"3 4"}),x(Is,{dataKey:"name"}),x($s,{type:"number",orientation:"left",unit:o("nutrition.gramShort")}),x(Di,{formatter:l=>Yr(l,i.language)}),x($c,{}),e&&x(hs,{dataKey:"planned",unit:o("nutrition.gramShort"),name:o("nutrition.planned"),fill:a.next().value}),x(hs,{dataKey:"today",unit:o("nutrition.gramShort"),name:o("nutrition.today"),fill:a.next().value}),x(hs,{dataKey:"avg7Days",unit:o("nutrition.gramShort"),name:o("nutrition.7dayAvg"),fill:a.next().value})]})})},_mt=e=>{const[t,n]=Oe();return x(vl,{children:z(ml,{size:"small",children:[x(yd,{children:z(gt,{children:[x(me,{children:t("date")}),x(me,{align:"right",children:t("nutrition.logged")}),x(me,{align:"right",children:t("nutrition.difference")})]})}),x(gl,{children:Array.from(e.logged).map(([r])=>{var o,i;return z(gt,{children:[x(me,{children:x(Aa,{to:_t(Mt.NUTRITION_DIARY,n.language,{id:e.planId,date:r}),children:new Date(r).toLocaleDateString(n.language)})}),x(me,{align:"right",children:t("nutrition.valueEnergyKcal",{value:Yr((o=e.logged.get(r))==null?void 0:o.nutritionalValues.energy,n.language)})}),x(me,{align:"right",children:Yr(((i=e.logged.get(r))==null?void 0:i.nutritionalValues.energy)-e.planned.energy,n.language)})]},r)})})]})})},Dmt=()=>{const[e]=Oe(),[t,n]=V.useState(!1),r=()=>n(!0),o=()=>n(!1);return z("div",{children:[x(vd,{color:"secondary","aria-label":"add",onClick:r,sx:{position:"fixed",bottom:"5rem",right:i=>i.spacing(2),zIndex:9},children:x(di,{})}),x(yo,{title:e("add"),isOpen:t,closeFn:o,children:x($_,{closeFn:o})})]})},Nmt=e=>{const[t]=Oe(),[n,r]=V.useState(!1),o=()=>r(!0),i=()=>r(!1);return z("div",{children:[x(vd,{color:"secondary","aria-label":"add",onClick:o,sx:{position:"fixed",bottom:"5rem",right:a=>a.spacing(2),zIndex:9},children:x(vh,{})}),x(yo,{title:t("nutrition.addNutritionalDiary"),isOpen:n,closeFn:i,children:x(I_,{closeFn:i,planId:e.plan.id,meals:e.plan.meals})})]})},hZ=({meal:e,planId:t,closeFn:n})=>{const[r,o]=Oe(),i=X1e(t),a=Z1e(t),s=la({name:ws().required().max(25,r("forms.maxLength",{chars:"25"})).min(3,r("forms.minLength",{chars:"3"})),time:ob().required()});return x(aa,{initialValues:{name:e?e.name:"",time:e?e.time:new Date},validationSchema:s,onSubmit:async l=>{l.time instanceof Date||(l.time=l.time.toJSDate());const c={...l,time:Uwe(l.time)};e?a.mutate({...c,plan:t,id:e.id}):i.mutate({...c,plan:t}),n&&n()},children:l=>x(yi,{children:z(pt,{spacing:2,children:[x($t,{fullWidth:!0,id:"name",label:r("description"),error:l.touched.name&&!!l.errors.name,helperText:l.touched.name&&l.errors.name,...l.getFieldProps("name")}),x(_S,{dateAdapter:zS,adapterLocale:o.language,children:x(N7e,{label:r("timeOfDay"),value:l.values.time,onChange:c=>l.setFieldValue("time",c),renderInput:c=>x($t,{...c,...l.getFieldProps("time"),type:"text"})})}),z(pt,{direction:"row",justifyContent:"end",spacing:2,children:[n!==void 0&&x(qe,{color:"primary",variant:"outlined",onClick:()=>n(),children:r("close")}),x(qe,{disabled:i.isLoading||a.isLoading,color:"primary",variant:"contained",type:"submit",children:r("submit")})]})]})})})},Lmt=e=>{const[t]=Oe(),n=fP(3),r=[{name:t("nutrition.energy"),value:e.logged.energy/e.planned.energy*100},{name:t("nutrition.protein"),value:e.logged.protein/e.planned.protein*100},{name:t("nutrition.carbohydrates"),value:e.logged.carbohydrates/e.planned.carbohydrates*100},{name:t("nutrition.fat"),value:e.logged.fat/e.planned.fat*100}];return x(Cd,{width:"100%",height:150,children:z(rK,{data:r,layout:"vertical",margin:{left:60},children:[x(Bh,{strokeDasharray:"3 4"}),x(Is,{type:"number",unit:"%"}),x($s,{type:"category",dataKey:"name"}),x(hs,{dataKey:"value",unit:"%",fill:n.next().value})]})})},mZ=({planId:e,item:t,mealId:n,closeFn:r})=>{const[o]=Oe(),i=rCe(e),a=oCe(e),s=iCe(e),l=()=>{t&&s.mutate(t.id),r&&r()},c=la({amount:So().required(o("forms.fieldRequired")).max(1e3,o("forms.maxValue",{value:"1000"})).min(1,o("forms.minValue",{value:"1"})),ingredient:So().required(o("forms.fieldRequired"))});return x(aa,{initialValues:{amount:t?t.amount:0,ingredient:t?t.ingredientId:0},validationSchema:c,onSubmit:async u=>{const d={...u,meal:n,weight_unit:null};t?a.mutate({...d,id:t.id}):i.mutate(d),r&&r()},children:u=>{var d;return x(yi,{children:z(pt,{spacing:2,children:[x(h_,{callback:f=>u.setFieldValue("ingredient",f?f.data.id:null),initialIngredient:t?(d=t.ingredient)==null?void 0:d.name:null}),x($t,{fullWidth:!0,id:"amount",label:"amount",InputProps:{endAdornment:x(dr,{position:"end",children:o("nutrition.gramShort")})},error:u.touched.amount&&!!u.errors.amount,helperText:u.touched.amount&&u.errors.amount,...u.getFieldProps("amount")}),z(pt,{direction:"row",justifyContent:"end",spacing:2,children:[r!==void 0&&t!==void 0&&x(qe,{color:"error",variant:"outlined",onClick:l,children:o("delete")}),r!==void 0&&x(qe,{color:"primary",variant:"outlined",onClick:()=>r(),children:o("close")}),x(qe,{color:"primary",variant:"contained",type:"submit",children:o("submit")})]})]})})}})},jmt=e=>{const t=fG(e.planId),n=J1e(e.planId),[r]=Oe(),[o,i]=V.useState(!1),[a,s]=g.useState(null),[l,c]=g.useState(!1),[u,d]=g.useState(!1),f=!!a,p=T=>{s(T.currentTarget)},h=()=>{m(),y()},m=()=>{s(null)},v=()=>{C(),s(null)},b=()=>{n.mutate(e.meal.id)},y=()=>c(!0),w=()=>c(!1),C=()=>d(!0),O=()=>d(!1),P=(T,$)=>{$!=="clickaway"&&i(!1)},E=()=>{const T=e.meal.items.map($=>({plan:e.planId,meal:e.meal.id,mealItem:$.id,ingredient:$.ingredientId,weight_unit:$.weightUnitId,datetime:new Date().toISOString(),amount:$.amount}));t.mutate(T),i(!0)};return z(tt,{children:[!e.onlyLogging&&x(La,{title:r("nutrition.logThisMeal"),children:x(Rt,{"aria-label":"settings",onClick:E,children:x(vh,{})})}),x(Rt,{"aria-label":"settings",onClick:p,children:x(Yh,{})}),x(Rt,{"aria-label":"settings",onClick:e.handleExpanded,children:e.isExpanded?x(s2,{}):x(v2,{})}),z(vi,{anchorEl:a,open:f,onClose:m,MenuListProps:{"aria-labelledby":"basic-button"},children:[x(bt,{onClick:h,children:r("edit")}),x(bt,{onClick:v,children:r("delete")})]}),x(yo,{title:r("edit"),isOpen:l,closeFn:w,children:x(hZ,{meal:e.meal,closeFn:w,planId:e.planId})}),x(W2,{title:r("deleteConfirmation",{name:e.meal.name}),message:r("nutrition.mealDeleteInfo"),isOpen:u,closeFn:O,deleteFn:b}),x(C8,{open:o,autoHideDuration:aG,onClose:P,children:x(fl,{onClose:P,severity:"success",sx:{width:"100%"},children:r("nutrition.diaryEntrySaved")})})]})},Fmt=e=>{var o,i,a,s;const[t,n]=g.useState(!1),r=()=>n(!t);return z(tt,{children:[z(Zi,{children:[x(pA,{onClick:r,sx:{"&:hover":{cursor:"pointer"}},children:x(Na,{alt:(o=e.mealItem.ingredient)==null?void 0:o.name,src:(a=(i=e.mealItem.ingredient)==null?void 0:i.image)==null?void 0:a.url,sx:{width:45,height:45},children:x(Es,{})})}),x(or,{primary:`${e.mealItem.amountString} ${(s=e.mealItem.ingredient)==null?void 0:s.name}`})]}),x(ka,{in:t,timeout:"auto",unmountOnExit:!0,sx:{width:"100%"},children:x(Zi,{children:x(or,{children:x(mZ,{planId:e.planId,mealId:e.mealId,item:e.mealItem,closeFn:r})})})})]})},PV=e=>{const t=qn(),n=e.meal.id!==G0,[r]=Oe(),[o,i]=g.useState(!1),a=()=>i(!o),[s,l]=g.useState(!1),c=()=>{l(!s),d(!1)},[u,d]=g.useState(!1),f=()=>{d(!u),l(!1)};return z(gr,{children:[x(Pl,{sx:{bgcolor:t.palette.grey[300]},action:e.meal.id!==G0&&x(jmt,{meal:e.meal,planId:e.planId,onlyLogging:e.onlyLogging,isExpanded:o,handleExpanded:a}),title:e.meal.name,subheader:e.meal.timeHHMMLocale}),z(Ro,{sx:{paddingY:0},children:[z(ka,{in:o,timeout:"auto",unmountOnExit:!0,children:[!e.onlyLogging&&x(u$,{showSum:n,items:e.meal.items,values:e.meal.plannedNutritionalValues}),x(Be,{gutterBottom:!0,variant:"h6",sx:{my:2},children:r("nutrition.loggedToday")}),!e.meal.plannedNutritionalValues.isEmpty&&x(Lmt,{logged:e.meal.loggedNutritionalValuesToday,planned:e.meal.plannedNutritionalValues}),x(u$,{showSum:n,items:e.meal.diaryEntriesToday,values:e.meal.loggedNutritionalValuesToday})]}),!o&&x(za,{children:e.meal.items.map(p=>x(Fmt,{mealItem:p,planId:e.planId,mealId:e.meal.id},p.id))})]}),z(gi,{children:[!e.onlyLogging&&x(La,{title:r("nutrition.addMealItem"),children:x(Rt,{onClick:c,children:x(M_,{})})}),x(La,{title:r("nutrition.addNutritionalDiary"),children:x(Rt,{onClick:f,children:x(vh,{})})})]}),x(ka,{in:s,timeout:"auto",unmountOnExit:!0,children:z(Ro,{sx:{paddingY:0},children:[x("p",{children:x("b",{children:r("nutrition.addMealItem")})}),x(mZ,{planId:e.planId,mealId:e.meal.id,closeFn:c})]})}),x(ka,{in:u,timeout:"auto",unmountOnExit:!0,children:z(Ro,{sx:{paddingY:0},children:[x("p",{children:x("b",{children:r("nutrition.addNutritionalDiary")})}),x(I_,{closeFn:f,planId:e.planId,mealId:e.meal.id!==G0?e.meal.id:null})]})})]})},EV=e=>{const[t,n]=Oe();return x(vl,{children:z(ml,{size:"small",children:[x(yd,{children:z(gt,{children:[x(me,{children:t("nutrition.macronutrient")}),x(me,{align:"right",children:t("total")}),x(me,{align:"right",children:t("nutrition.percentEnergy")})]})}),z(gl,{children:[z(gt,{children:[x(me,{children:t("nutrition.energy")}),x(me,{align:"right",children:t("nutrition.valueEnergyKcalKj",{kcal:Yr(e.values.energy,n.language),kj:Yr(e.values.energyKj,n.language)})}),x(me,{align:"right"})]}),z(gt,{children:[x(me,{children:t("nutrition.protein")}),x(me,{align:"right",children:It(e.values.protein,n.language)}),x(me,{align:"right",children:cE(e.values.percent.protein,n.language)})]}),z(gt,{children:[x(me,{children:t("nutrition.carbohydrates")}),x(me,{align:"right",children:It(e.values.carbohydrates,n.language)}),x(me,{align:"right",children:cE(e.values.percent.carbohydrates,n.language)})]}),z(gt,{children:[x(me,{sx:{pl:5},children:t("nutrition.ofWhichSugars")}),x(me,{align:"right",children:It(e.values.carbohydratesSugar,n.language)}),x(me,{align:"right"})]}),z(gt,{children:[x(me,{children:t("nutrition.fat")}),x(me,{align:"right",children:It(e.values.fat,n.language)}),x(me,{align:"right",children:cE(e.values.percent.fat,n.language)})]}),z(gt,{children:[x(me,{sx:{pl:5},children:t("nutrition.ofWhichSaturated")}),x(me,{align:"right",children:It(e.values.fatSaturated,n.language)}),x(me,{align:"right"})]}),z(gt,{children:[x(me,{children:t("nutrition.others")}),x(me,{children:" "}),x(me,{align:"right"})]}),z(gt,{children:[x(me,{children:t("nutrition.fibres")}),x(me,{align:"right",children:It(e.values.fiber,n.language)}),x(me,{align:"right"})]}),z(gt,{children:[x(me,{children:t("nutrition.sodium")}),x(me,{align:"right",children:It(e.values.sodium,n.language)}),x(me,{align:"right"})]})]})]})})},Bmt=e=>{const t=q1e(e.plan.id),n=Rd(),[r,o]=Oe(),[i,a]=V.useState(null),[s,l]=V.useState(!1),[c,u]=V.useState(!1),d=!!i,f=E=>{a(E.currentTarget)},p=()=>{h(),w()},h=()=>{a(null)},m=()=>{O(),a(null)},v=()=>{t.mutate(e.plan.id),n(_t(Mt.NUTRITION_OVERVIEW))},b=()=>window.location.href=_t(Mt.NUTRITION_PLAN_PDF,o.language,{id:e.plan.id}),y=()=>window.location.href=_t(Mt.NUTRITION_PLAN_COPY,o.language,{id:e.plan.id}),w=()=>l(!0),C=()=>l(!1),O=()=>u(!0),P=()=>u(!1);return z(tt,{children:[x(qe,{onClick:f,children:x(U2,{})}),z(vi,{anchorEl:i,open:d,onClose:h,MenuListProps:{"aria-labelledby":"basic-button"},children:[x(bt,{onClick:p,children:r("edit")}),x(bt,{onClick:b,children:r("downloadAsPdf")}),x(bt,{onClick:y,children:r("nutrition.copyPlan")}),x(bt,{onClick:m,children:r("delete")})]}),x(yo,{title:r("edit"),isOpen:s,closeFn:C,children:x($_,{plan:e.plan,closeFn:C})}),x(W2,{title:r("deleteConfirmation",{name:e.plan.description}),message:r("nutrition.planDeleteInfo"),isOpen:c,closeFn:P,deleteFn:v})]})},zmt=e=>{const[t]=Oe(),n=e.plan.plannedNutritionalValues,r=e.plan.loggedNutritionalValuesToday,o=e.plan.percentageValuesLoggedToday;return x(tt,{children:z(pt,{direction:"column",spacing:1,children:[x(Be,{gutterBottom:!0,variant:"h6",children:t("nutrition.goalsTitle")}),x(ep,{title:t("nutrition.protein"),percentage:o.protein,logged:r.protein,planned:n.protein}),x(ep,{title:t("nutrition.carbohydrates"),percentage:o.carbohydrates,logged:r.carbohydrates,planned:n.carbohydrates}),x(ep,{title:t("nutrition.fat"),percentage:o.fat,logged:r.fat,planned:n.fat})]})})},Vmt=()=>{const[e]=Oe(),t=_d(),n=parseInt(t.planId),r=U1e(n),[o,i]=g.useState(!1),a=()=>i(!o),s=r.data;return r.isLoading?x(Tr,{}):x(em,{title:s.description,optionsMenu:x(Bmt,{plan:s}),mainContent:x(tt,{children:z(pt,{spacing:2,children:[s.meals.map(l=>x(PV,{meal:l,planId:s.id,onlyLogging:s.onlyLogging},l.id)),x(PV,{meal:r.data.pseudoMealOthers(e("nutrition.pseudoMealTitle")),planId:s.id,onlyLogging:!0},-1),!s.onlyLogging&&z(tt,{children:[x(La,{title:e("nutrition.addMeal"),children:x(Rt,{onClick:a,children:x(M_,{})})}),z(ka,{in:o,timeout:"auto",unmountOnExit:!0,children:[x("p",{children:x("b",{children:e("nutrition.addMeal")})}),x(hZ,{planId:s.id,closeFn:a})]})]}),x(EV,{values:s.plannedNutritionalValues}),s.hasAnyPlanned&&x(Amt,{data:s.plannedNutritionalValues}),x(Be,{gutterBottom:!0,variant:"h4",children:e("nutrition.logged")}),x(Rmt,{showPlanned:s.hasAnyPlanned,planned:s.plannedNutritionalValues,today:s.loggedNutritionalValuesToday,avg7Days:s.loggedNutritionalValues7DayAvg}),x(EV,{values:s.loggedNutritionalValuesToday}),x(_mt,{planId:s.id,logged:s.groupDiaryEntries,planned:s.plannedNutritionalValues})]})}),sideBar:x(zmt,{plan:s}),fab:x(Nmt,{plan:s})})};var G2={},Hmt=Ut;Object.defineProperty(G2,"__esModule",{value:!0});var q2=G2.default=void 0,Umt=Hmt(Xt()),Wmt=Kt();q2=G2.default=(0,Umt.default)((0,Wmt.jsx)("path",{d:"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"ChevronRight");const Gmt=()=>{const e=V1e(),[t]=Oe();return e.isLoading?x(Tr,{}):x(em,{title:t("nutrition.plans"),mainContent:z(pt,{spacing:2,children:[e.data.length===0&&x(zC,{}),x(Kmt,{plans:e.data})]}),fab:x(Dmt,{})})},qmt=e=>{const[t,n]=Oe(),r=_t(Mt.NUTRITION_DETAIL,n.language,{id:e.plan.id});return z(tt,{children:[x(Zi,{sx:{p:0},children:z(Vc,{component:"a",href:r,children:[x(or,{primary:e.plan.description!==""?e.plan.description:t("routines.routine"),secondary:e.plan.creationDate.toLocaleDateString()}),x(q2,{})]})}),x(bs,{component:"li"})]})},Kmt=e=>x(Kn,{children:x(za,{sx:{py:0},children:e.plans.map(t=>x(qmt,{plan:t},t.id))},"abc")}),Ymt=e=>{var u;const[t,n]=Oe(),[r,o]=V.useState(null),i=!!r,a=d=>{o(d.currentTarget)},s=()=>{o(null)},l=()=>window.location.href=_t(Mt.ROUTINE_EDIT_LOG,n.language,{id:e.log.id}),c=()=>window.location.href=_t(Mt.ROUTINE_DELETE_LOG,n.language,{id:e.log.id});return z(gt,{children:[x(me,{component:"th",scope:"row",children:nt.fromJSDate(e.log.date).toLocaleString(nt.DATE_MED)}),x(me,{children:e.log.reps}),z(me,{children:[e.log.weight,(u=e.log.weightUnitObj)==null?void 0:u.name]}),x(me,{children:e.log.rirString}),z(me,{children:[x(Rt,{"aria-label":"settings",onClick:a,children:x(Yh,{fontSize:"small"})}),z(vi,{id:"basic-menu",anchorEl:r,open:i,onClose:s,MenuListProps:{"aria-labelledby":"basic-button"},children:[z(bt,{onClick:l,children:[x(QZe,{}),t("edit")]}),z(bt,{onClick:c,children:[x(BQ,{}),t("delete")]})]})]})]},e.log.id)},Qmt=e=>{let t=e.logEntries??[];const n=[5,10,20],[r,o]=V.useState(n[0]),[i,a]=V.useState(0),s=(c,u)=>{a(u)},l=c=>{o(parseInt(c.target.value,10)),a(0)};return z(tt,{children:[x(Be,{variant:"h6",sx:{mt:4},children:e.exerciseId.getTranslation().name}),z(Te,{container:!0,spacing:2,children:[x(Te,{item:!0,xs:12,md:5,children:z(vl,{children:[z(ml,{"aria-label":"simple table",size:"small",children:[x(yd,{children:z(gt,{children:[x(me,{children:"Date"}),x(me,{children:"Reps"}),x(me,{children:"Weight"}),x(me,{children:"RiR"}),x(me,{})]})}),x(gl,{children:t.slice(i*r,i*r+r).map(c=>x(Ymt,{log:c},c.id))})]}),x(yA,{rowsPerPageOptions:n,component:"div",count:t.length,rowsPerPage:r,page:i,onPageChange:s,onRowsPerPageChange:l})]})}),x(Te,{item:!0,xs:12,md:7,children:x(Zmt,{data:t},e.exerciseId.id)})]})]})},OV=()=>{const e=_d(),t=e.routineId?parseInt(e.routineId):0,[n,r]=Oe(),o=tet(t,!1),i=zQ(t),a=l=>window.location.href=_t(Mt.ROUTINE_ADD_LOG,r.language,{id:l});let s=new Map;return o.isSuccess&&(s=o.data.reduce(function(l,c){return l.set(c.exerciseId,l.get(c.exerciseId)||[]),[i1e,a1e].includes(c.weightUnit)&&c.repetitionUnit===oG&&l.get(c.exerciseId).push(c),l},new Map)),x(tt,{children:z(hl,{maxWidth:"lg",children:[x(Be,{variant:"h4",children:n("routines.logsHeader")}),x(Be,{variant:"body1",children:n("routines.logsFilterNote")}),o.isSuccess&&i.isSuccess?x(tt,{children:i.data.days.map(l=>z("div",{children:[z(pt,{direction:{xs:"column",sm:"row"},justifyContent:"space-between",alignItems:"center",sx:{mt:4},children:[x(Be,{variant:"h4",children:l.description}),x(qe,{variant:"contained",onClick:()=>a(l.id),children:n("routines.addLogToDay")})]}),l.sets.map(c=>c.exercises.map(u=>x(Qmt,{exerciseId:u,logEntries:s.get(u.id)},c.id+u.uuid)))]},l.id))}):x(Tr,{})]})})},Xmt=e=>e.map(t=>({id:t.id,value:t.weight,time:t.date.getTime(),entry:t})),Jmt=({active:e,payload:t,label:n})=>{var r,o,i;if(e){let a="";return(r=t==null?void 0:t[1].payload)!=null&&r.entry.rir&&(a=`, ${(o=t==null?void 0:t[1].payload)==null?void 0:o.entry.rir} RiR`),x(gr,{children:z(Ro,{children:[x(Be,{variant:"body1",children:nt.fromMillis(t==null?void 0:t[0].value).toLocaleString(nt.DATE_MED)}),z(Be,{variant:"body2",children:[(i=t==null?void 0:t[1].payload)==null?void 0:i.entry.reps," × ",t==null?void 0:t[1].value,t==null?void 0:t[1].unit,a]})]})})}return null},Zmt=e=>{let t;t=e.data.reduce(function(r,o){return r.set(o.reps,r.get(o.reps)||[]),r.get(o.reps).push(o),r},new Map);const n=fP(t.size);return x(an,{children:x(Cd,{width:"100%",height:250,children:z(qWe,{children:[x(Is,{dataKey:"time",domain:["auto","auto"],name:"Time",tickFormatter:r=>nt.fromMillis(r).toLocaleString(nt.DATE_MED),type:"number"}),x($s,{domain:["auto","auto"],dataKey:"value",name:"Value",unit:"kg"}),Array.from(t).map(([r,o])=>{const i=n.next().value,a=Xmt(o);return x(qy,{data:a,fill:i,line:{stroke:i},lineType:"joint",lineJointType:"monotoneX",name:r.toString()},r)}),x(Di,{content:x(Jmt,{})}),x(Bh,{strokeDasharray:"3 3"}),x($c,{})]})})})},egt=()=>x("div",{children:x(vd,{color:"secondary","aria-label":"add",onClick:()=>window.location.href=_t(Mt.ROUTINE_ADD),sx:{position:"fixed",bottom:"5rem",right:t=>t.spacing(2),zIndex:9},children:x(di,{})})}),tgt=e=>{const[t,n]=Oe(),r=_t(Mt.ROUTINE_DETAIL,n.language,{id:e.routine.id});return z(tt,{children:[x(Zi,{sx:{p:0},children:z(Vc,{component:"a",href:r,children:[x(or,{primary:e.routine.name!==""?e.routine.name:t("routines.routine"),secondary:e.routine.date.toLocaleDateString()}),x(q2,{})]})}),x(bs,{component:"li"})]})},TV=()=>{const e=net(),[t]=Oe();return z(hl,{maxWidth:"lg",children:[z(Te,{container:!0,children:[z(Te,{item:!0,xs:12,sm:8,children:[x(Be,{gutterBottom:!0,variant:"h3",component:"div",children:t("routines.routines")}),e.isLoading?x(Tr,{}):x(Kn,{children:x(za,{sx:{py:0},children:e.data.map(n=>x(tgt,{routine:n},n.id))},"abc")})]}),x(Te,{item:!0,xs:12,sm:4})]}),x(egt,{})]})},mO=()=>x(nit,{}),K2=()=>z(qet,{children:[z(at,{path:"/:lang",children:[z(at,{path:"workout",children:[x(at,{path:"overview",element:x(Eat,{})}),x(at,{path:"schedule",element:x(Oat,{})}),x(at,{path:"calendar",children:x(at,{path:"user",element:x(eat,{})})}),x(at,{path:"gallery",element:x(rat,{})}),z(at,{path:"template",children:[x(at,{path:"overview",element:x(cat,{})}),x(at,{path:"public",element:x(sat,{})})]})]}),z(at,{path:"routine",children:[x(at,{index:!0,element:x(TV,{})}),x(at,{path:"overview",element:x(TV,{})}),x(at,{path:":routineId",element:x(d4,{}),children:x(at,{path:"view",element:x(d4,{})})}),x(at,{path:"log",children:x(at,{path:":routineId",element:x(OV,{}),children:x(at,{path:"view",element:x(OV,{})})})})]}),z(at,{path:"measurement",children:[x(at,{index:!0,element:x(CV,{})}),x(at,{path:"overview",element:x(CV,{})}),x(at,{path:"category/:categoryId",element:x(kmt,{})})]}),z(at,{path:"exercise",children:[x(at,{index:!0,element:x(F4,{})}),x(at,{path:"overview",element:x(F4,{})}),x(at,{path:":baseID",element:x(mO,{}),children:x(at,{path:"view-base",element:x(mO,{}),children:x(at,{path:":slug",element:x(mO,{})})})}),x(at,{path:"contribute",element:x(Xit,{})})]}),z(at,{path:"weight",children:[x(at,{path:"overview",element:x(UX,{})}),x(at,{path:"add",element:x(Jit,{})})]}),z(at,{path:"nutrition",children:[x(at,{path:"overview",element:x(Gmt,{})}),z(at,{path:":planId",children:[x(at,{path:"view",element:x(Vmt,{})}),x(at,{path:":date",element:x(SV,{})}),x(at,{path:"diary",element:x(SV,{})})]}),z(at,{path:"calculator",children:[x(at,{path:"bmi",element:x(Zit,{})}),x(at,{path:"calories",element:x(tat,{})})]}),x(at,{path:"ingredient",children:x(at,{path:"overview",element:x(oat,{})})})]}),z(at,{path:"software",children:[x(at,{path:"about-us",element:x(Crt,{})}),x(at,{path:"api",element:x(lat,{})}),x(at,{path:"equipment",element:x(nat,{})})]}),x(at,{path:"login",element:x(iat,{})}),x(at,{path:"user",children:x(at,{path:"preferences",element:x(aat,{})})})]}),x(at,{path:"/",element:x(Tat,{})}),x(at,{path:"*",element:x("main",{style:{padding:"1rem"},children:x("p",{children:"404, Page NOT FOUND"})})})]}),ngt="_notification_bbb61_1",kV={notification:ngt},rgt=()=>{const[e,t]=Prt(),n=()=>{t(T4({notify:!1,message:"",severity:void 0,title:"",type:void 0}))},r=()=>{t(T4({notify:!1,message:"",severity:void 0,title:"",type:void 0,undo:!0}))};return e.notification.notify?e.notification.type==="delete"?z(fl,{className:kV.notification,severity:e.notification.severity,action:x(qe,{color:"inherit",size:"small",onClick:r,children:"UNDO"}),variant:"filled",children:[x(Bx,{children:e.notification.title}),x("strong",{children:e.notification.message})]}):z(fl,{className:kV.notification,severity:e.notification.severity,onClose:()=>n(),variant:"filled",children:[x(Bx,{children:e.notification.title}),x("strong",{children:e.notification.message})]}):null};function ogt(){return z(Te,{container:!0,children:[x(Te,{item:!0,xs:12,children:x(Pat,{})}),x(Te,{item:!0,xs:12,children:x(rgt,{})}),x(Te,{item:!0,xs:12,children:x(K2,{})})]})}const igt={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console&&console[e]&&console[e].apply(console,t)}};class m1{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(t,n)}init(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=n.prefix||"i18next:",this.logger=t||igt,this.options=n,this.debug=n.debug}log(){for(var t=arguments.length,n=new Array(t),r=0;r{this.observers[r]||(this.observers[r]=new Map);const o=this.observers[r].get(n)||0;this.observers[r].set(n,o+1)}),this}off(t,n){if(this.observers[t]){if(!n){delete this.observers[t];return}this.observers[t].delete(n)}}emit(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o{let[s,l]=a;for(let c=0;c{let[s,l]=a;for(let c=0;c{e=r,t=o});return n.resolve=e,n.reject=t,n}function IV(e){return e==null?"":""+e}function agt(e,t,n){e.forEach(r=>{t[r]&&(n[r]=t[r])})}const sgt=/###/g;function Fg(e,t,n){function r(s){return s&&s.indexOf("###")>-1?s.replace(sgt,"."):s}function o(){return!e||typeof e=="string"}const i=typeof t!="string"?t:t.split(".");let a=0;for(;a":">",'"':""","'":"'","/":"/"};function dgt(e){return typeof e=="string"?e.replace(/[&<>"'\/]/g,t=>ugt[t]):e}class fgt{constructor(t){this.capacity=t,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(t){const n=this.regExpMap.get(t);if(n!==void 0)return n;const r=new RegExp(t);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(t,r),this.regExpQueue.push(t),r}}const pgt=[" ",",","?","!",";"],hgt=new fgt(20);function mgt(e,t,n){t=t||"",n=n||"";const r=pgt.filter(a=>t.indexOf(a)<0&&n.indexOf(a)<0);if(r.length===0)return!0;const o=hgt.getRegExp(`(${r.map(a=>a==="?"?"\\?":a).join("|")})`);let i=!o.test(e);if(!i){const a=e.indexOf(n);a>0&&!o.test(e.substring(0,a))&&(i=!0)}return i}function d$(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!e)return;if(e[t])return e[t];const r=t.split(n);let o=e;for(let i=0;i-1&&l0?e.replace("_","-"):e}class MV extends pP{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=t||{},this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(t){this.options.ns.indexOf(t)<0&&this.options.ns.push(t)}removeNamespaces(t){const n=this.options.ns.indexOf(t);n>-1&&this.options.ns.splice(n,1)}getResource(t,n,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const i=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator,a=o.ignoreJSONStructure!==void 0?o.ignoreJSONStructure:this.options.ignoreJSONStructure;let s;t.indexOf(".")>-1?s=t.split("."):(s=[t,n],r&&(Array.isArray(r)?s.push(...r):typeof r=="string"&&i?s.push(...r.split(i)):s.push(r)));const l=g1(this.data,s);return!l&&!n&&!r&&t.indexOf(".")>-1&&(t=s[0],n=s[1],r=s.slice(2).join(".")),l||!a||typeof r!="string"?l:d$(this.data&&this.data[t]&&this.data[t][n],r,i)}addResource(t,n,r,o){let i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const a=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator;let s=[t,n];r&&(s=s.concat(a?r.split(a):r)),t.indexOf(".")>-1&&(s=t.split("."),o=n,n=s[1]),this.addNamespaces(n),$V(this.data,s,o),i.silent||this.emit("added",t,n,r,o)}addResources(t,n,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const i in r)(typeof r[i]=="string"||Array.isArray(r[i]))&&this.addResource(t,n,i,r[i],{silent:!0});o.silent||this.emit("added",t,n,r)}addResourceBundle(t,n,r,o,i){let a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1,skipCopy:!1},s=[t,n];t.indexOf(".")>-1&&(s=t.split("."),o=r,r=n,n=s[1]),this.addNamespaces(n);let l=g1(this.data,s)||{};a.skipCopy||(r=JSON.parse(JSON.stringify(r))),o?gZ(l,r,i):l={...l,...r},$V(this.data,s,l),a.silent||this.emit("added",t,n,r)}removeResourceBundle(t,n){this.hasResourceBundle(t,n)&&delete this.data[t][n],this.removeNamespaces(n),this.emit("removed",t,n)}hasResourceBundle(t,n){return this.getResource(t,n)!==void 0}getResourceBundle(t,n){return n||(n=this.options.defaultNS),this.options.compatibilityAPI==="v1"?{...this.getResource(t,n)}:this.getResource(t,n)}getDataByLanguage(t){return this.data[t]}hasLanguageSomeTranslations(t){const n=this.getDataByLanguage(t);return!!(n&&Object.keys(n)||[]).find(o=>n[o]&&Object.keys(n[o]).length>0)}toJSON(){return this.data}}var vZ={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,o){return e.forEach(i=>{this.processors[i]&&(t=this.processors[i].process(t,n,r,o))}),t}};const AV={};class y1 extends pP{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),agt(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],t,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=as.create("translator")}changeLanguage(t){t&&(this.language=t)}exists(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(t==null)return!1;const r=this.resolve(t,n);return r&&r.res!==void 0}extractFromKey(t,n){let r=n.nsSeparator!==void 0?n.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const o=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator;let i=n.ns||this.options.defaultNS||[];const a=r&&t.indexOf(r)>-1,s=!this.options.userDefinedKeySeparator&&!n.keySeparator&&!this.options.userDefinedNsSeparator&&!n.nsSeparator&&!mgt(t,r,o);if(a&&!s){const l=t.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:t,namespaces:i};const c=t.split(r);(r!==o||r===o&&this.options.ns.indexOf(c[0])>-1)&&(i=c.shift()),t=c.join(o)}return typeof i=="string"&&(i=[i]),{key:t,namespaces:i}}translate(t,n,r){if(typeof n!="object"&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),typeof n=="object"&&(n={...n}),n||(n={}),t==null)return"";Array.isArray(t)||(t=[String(t)]);const o=n.returnDetails!==void 0?n.returnDetails:this.options.returnDetails,i=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator,{key:a,namespaces:s}=this.extractFromKey(t[t.length-1],n),l=s[s.length-1],c=n.lng||this.language,u=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(c&&c.toLowerCase()==="cimode"){if(u){const C=n.nsSeparator||this.options.nsSeparator;return o?{res:`${l}${C}${a}`,usedKey:a,exactUsedKey:a,usedLng:c,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:`${l}${C}${a}`}return o?{res:a,usedKey:a,exactUsedKey:a,usedLng:c,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:a}const d=this.resolve(t,n);let f=d&&d.res;const p=d&&d.usedKey||a,h=d&&d.exactUsedKey||a,m=Object.prototype.toString.apply(f),v=["[object Number]","[object Function]","[object RegExp]"],b=n.joinArrays!==void 0?n.joinArrays:this.options.joinArrays,y=!this.i18nFormat||this.i18nFormat.handleAsObject;if(y&&f&&(typeof f!="string"&&typeof f!="boolean"&&typeof f!="number")&&v.indexOf(m)<0&&!(typeof b=="string"&&Array.isArray(f))){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const C=this.options.returnedObjectHandler?this.options.returnedObjectHandler(p,f,{...n,ns:s}):`key '${a} (${this.language})' returned an object instead of string.`;return o?(d.res=C,d.usedParams=this.getUsedParamsDetails(n),d):C}if(i){const C=Array.isArray(f),O=C?[]:{},P=C?h:p;for(const E in f)if(Object.prototype.hasOwnProperty.call(f,E)){const T=`${P}${i}${E}`;O[E]=this.translate(T,{...n,joinArrays:!1,ns:s}),O[E]===T&&(O[E]=f[E])}f=O}}else if(y&&typeof b=="string"&&Array.isArray(f))f=f.join(b),f&&(f=this.extendTranslation(f,t,n,r));else{let C=!1,O=!1;const P=n.count!==void 0&&typeof n.count!="string",E=y1.hasDefaultValue(n),T=P?this.pluralResolver.getSuffix(c,n.count,n):"",$=n.ordinal&&P?this.pluralResolver.getSuffix(c,n.count,{ordinal:!1}):"",M=P&&!n.ordinal&&n.count===0&&this.pluralResolver.shouldUseIntlApi(),D=M&&n[`defaultValue${this.options.pluralSeparator}zero`]||n[`defaultValue${T}`]||n[`defaultValue${$}`]||n.defaultValue;!this.isValidLookup(f)&&E&&(C=!0,f=D),this.isValidLookup(f)||(O=!0,f=a);const N=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&O?void 0:f,R=E&&D!==f&&this.options.updateMissing;if(O||C||R){if(this.logger.log(R?"updateKey":"missingKey",c,l,a,R?D:f),i){const _=this.resolve(a,{...n,keySeparator:!1});_&&_.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let I=[];const A=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if(this.options.saveMissingTo==="fallback"&&A&&A[0])for(let _=0;_{const U=E&&B!==f?B:N;this.options.missingKeyHandler?this.options.missingKeyHandler(_,l,j,U,R,n):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(_,l,j,U,R,n),this.emit("missingKey",_,l,j,f)};this.options.saveMissing&&(this.options.saveMissingPlurals&&P?I.forEach(_=>{const j=this.pluralResolver.getSuffixes(_,n);M&&n[`defaultValue${this.options.pluralSeparator}zero`]&&j.indexOf(`${this.options.pluralSeparator}zero`)<0&&j.push(`${this.options.pluralSeparator}zero`),j.forEach(B=>{F([_],a+B,n[`defaultValue${B}`]||D)})}):F(I,a,D))}f=this.extendTranslation(f,t,n,d,r),O&&f===a&&this.options.appendNamespaceToMissingKey&&(f=`${l}:${a}`),(O||C)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?f=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${a}`:a,C?f:void 0):f=this.options.parseMissingKeyHandler(f))}return o?(d.res=f,d.usedParams=this.getUsedParamsDetails(n),d):f}extendTranslation(t,n,r,o,i){var a=this;if(this.i18nFormat&&this.i18nFormat.parse)t=this.i18nFormat.parse(t,{...this.options.interpolation.defaultVariables,...r},r.lng||this.language||o.usedLng,o.usedNS,o.usedKey,{resolved:o});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const c=typeof t=="string"&&(r&&r.interpolation&&r.interpolation.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let u;if(c){const f=t.match(this.interpolator.nestingRegexp);u=f&&f.length}let d=r.replace&&typeof r.replace!="string"?r.replace:r;if(this.options.interpolation.defaultVariables&&(d={...this.options.interpolation.defaultVariables,...d}),t=this.interpolator.interpolate(t,d,r.lng||this.language||o.usedLng,r),c){const f=t.match(this.interpolator.nestingRegexp),p=f&&f.length;u1&&arguments[1]!==void 0?arguments[1]:{},r,o,i,a,s;return typeof t=="string"&&(t=[t]),t.forEach(l=>{if(this.isValidLookup(r))return;const c=this.extractFromKey(l,n),u=c.key;o=u;let d=c.namespaces;this.options.fallbackNS&&(d=d.concat(this.options.fallbackNS));const f=n.count!==void 0&&typeof n.count!="string",p=f&&!n.ordinal&&n.count===0&&this.pluralResolver.shouldUseIntlApi(),h=n.context!==void 0&&(typeof n.context=="string"||typeof n.context=="number")&&n.context!=="",m=n.lngs?n.lngs:this.languageUtils.toResolveHierarchy(n.lng||this.language,n.fallbackLng);d.forEach(v=>{this.isValidLookup(r)||(s=v,!AV[`${m[0]}-${v}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(s)&&(AV[`${m[0]}-${v}`]=!0,this.logger.warn(`key "${o}" for languages "${m.join(", ")}" won't get resolved as namespace "${s}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),m.forEach(b=>{if(this.isValidLookup(r))return;a=b;const y=[u];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(y,u,b,v,n);else{let C;f&&(C=this.pluralResolver.getSuffix(b,n.count,n));const O=`${this.options.pluralSeparator}zero`,P=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(f&&(y.push(u+C),n.ordinal&&C.indexOf(P)===0&&y.push(u+C.replace(P,this.options.pluralSeparator)),p&&y.push(u+O)),h){const E=`${u}${this.options.contextSeparator}${n.context}`;y.push(E),f&&(y.push(E+C),n.ordinal&&C.indexOf(P)===0&&y.push(E+C.replace(P,this.options.pluralSeparator)),p&&y.push(E+O))}}let w;for(;w=y.pop();)this.isValidLookup(r)||(i=w,r=this.getResource(b,v,w,n))}))})}),{res:r,usedKey:o,exactUsedKey:i,usedLng:a,usedNS:s}}isValidLookup(t){return t!==void 0&&!(!this.options.returnNull&&t===null)&&!(!this.options.returnEmptyString&&t==="")}getResource(t,n,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(t,n,r,o):this.resourceStore.getResource(t,n,r,o)}getUsedParamsDetails(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const n=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],r=t.replace&&typeof t.replace!="string";let o=r?t.replace:t;if(r&&typeof t.count<"u"&&(o.count=t.count),this.options.interpolation.defaultVariables&&(o={...this.options.interpolation.defaultVariables,...o}),!r){o={...o};for(const i of n)delete o[i]}return o}static hasDefaultValue(t){const n="defaultValue";for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)&&n===r.substring(0,n.length)&&t[r]!==void 0)return!0;return!1}}function gO(e){return e.charAt(0).toUpperCase()+e.slice(1)}class RV{constructor(t){this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=as.create("languageUtils")}getScriptPartFromCode(t){if(t=v1(t),!t||t.indexOf("-")<0)return null;const n=t.split("-");return n.length===2||(n.pop(),n[n.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(n.join("-"))}getLanguagePartFromCode(t){if(t=v1(t),!t||t.indexOf("-")<0)return t;const n=t.split("-");return this.formatLanguageCode(n[0])}formatLanguageCode(t){if(typeof t=="string"&&t.indexOf("-")>-1){const n=["hans","hant","latn","cyrl","cans","mong","arab"];let r=t.split("-");return this.options.lowerCaseLng?r=r.map(o=>o.toLowerCase()):r.length===2?(r[0]=r[0].toLowerCase(),r[1]=r[1].toUpperCase(),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=gO(r[1].toLowerCase()))):r.length===3&&(r[0]=r[0].toLowerCase(),r[1].length===2&&(r[1]=r[1].toUpperCase()),r[0]!=="sgn"&&r[2].length===2&&(r[2]=r[2].toUpperCase()),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=gO(r[1].toLowerCase())),n.indexOf(r[2].toLowerCase())>-1&&(r[2]=gO(r[2].toLowerCase()))),r.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}isSupportedCode(t){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(t=this.getLanguagePartFromCode(t)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(t)>-1}getBestMatchFromCodes(t){if(!t)return null;let n;return t.forEach(r=>{if(n)return;const o=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(o))&&(n=o)}),!n&&this.options.supportedLngs&&t.forEach(r=>{if(n)return;const o=this.getLanguagePartFromCode(r);if(this.isSupportedCode(o))return n=o;n=this.options.supportedLngs.find(i=>{if(i===o)return i;if(!(i.indexOf("-")<0&&o.indexOf("-")<0)&&(i.indexOf("-")>0&&o.indexOf("-")<0&&i.substring(0,i.indexOf("-"))===o||i.indexOf(o)===0&&o.length>1))return i})}),n||(n=this.getFallbackCodes(this.options.fallbackLng)[0]),n}getFallbackCodes(t,n){if(!t)return[];if(typeof t=="function"&&(t=t(n)),typeof t=="string"&&(t=[t]),Array.isArray(t))return t;if(!n)return t.default||[];let r=t[n];return r||(r=t[this.getScriptPartFromCode(n)]),r||(r=t[this.formatLanguageCode(n)]),r||(r=t[this.getLanguagePartFromCode(n)]),r||(r=t.default),r||[]}toResolveHierarchy(t,n){const r=this.getFallbackCodes(n||this.options.fallbackLng||[],t),o=[],i=a=>{a&&(this.isSupportedCode(a)?o.push(a):this.logger.warn(`rejecting language code not found in supportedLngs: ${a}`))};return typeof t=="string"&&(t.indexOf("-")>-1||t.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&i(this.formatLanguageCode(t)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&i(this.getScriptPartFromCode(t)),this.options.load!=="currentOnly"&&i(this.getLanguagePartFromCode(t))):typeof t=="string"&&i(this.formatLanguageCode(t)),r.forEach(a=>{o.indexOf(a)<0&&i(this.formatLanguageCode(a))}),o}}let ggt=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],vgt={1:function(e){return+(e>1)},2:function(e){return+(e!=1)},3:function(e){return 0},4:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},5:function(e){return e==0?0:e==1?1:e==2?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},6:function(e){return e==1?0:e>=2&&e<=4?1:2},7:function(e){return e==1?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2},8:function(e){return e==1?0:e==2?1:e!=8&&e!=11?2:3},9:function(e){return+(e>=2)},10:function(e){return e==1?0:e==2?1:e<7?2:e<11?3:4},11:function(e){return e==1||e==11?0:e==2||e==12?1:e>2&&e<20?2:3},12:function(e){return+(e%10!=1||e%100==11)},13:function(e){return+(e!==0)},14:function(e){return e==1?0:e==2?1:e==3?2:3},15:function(e){return e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2},16:function(e){return e%10==1&&e%100!=11?0:e!==0?1:2},17:function(e){return e==1||e%10==1&&e%100!=11?0:1},18:function(e){return e==0?0:e==1?1:2},19:function(e){return e==1?0:e==0||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3},20:function(e){return e==1?0:e==0||e%100>0&&e%100<20?1:2},21:function(e){return e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0},22:function(e){return e==1?0:e==2?1:(e<0||e>10)&&e%10==0?2:3}};const ygt=["v1","v2","v3"],bgt=["v4"],_V={zero:0,one:1,two:2,few:3,many:4,other:5};function xgt(){const e={};return ggt.forEach(t=>{t.lngs.forEach(n=>{e[n]={numbers:t.nr,plurals:vgt[t.fc]}})}),e}class wgt{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=t,this.options=n,this.logger=as.create("pluralResolver"),(!this.options.compatibilityJSON||bgt.includes(this.options.compatibilityJSON))&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=xgt()}addRule(t,n){this.rules[t]=n}getRule(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(v1(t==="dev"?"en":t),{type:n.ordinal?"ordinal":"cardinal"})}catch{return}return this.rules[t]||this.rules[this.languageUtils.getLanguagePartFromCode(t)]}needsPlural(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return this.shouldUseIntlApi()?r&&r.resolvedOptions().pluralCategories.length>1:r&&r.numbers.length>1}getPluralFormsOfKey(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(t,r).map(o=>`${n}${o}`)}getSuffixes(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return r?this.shouldUseIntlApi()?r.resolvedOptions().pluralCategories.sort((o,i)=>_V[o]-_V[i]).map(o=>`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${o}`):r.numbers.map(o=>this.getSuffix(t,o,n)):[]}getSuffix(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const o=this.getRule(t,r);return o?this.shouldUseIntlApi()?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${o.select(n)}`:this.getSuffixRetroCompatible(o,n):(this.logger.warn(`no plural rule found for: ${t}`),"")}getSuffixRetroCompatible(t,n){const r=t.noAbs?t.plurals(n):t.plurals(Math.abs(n));let o=t.numbers[r];this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1&&(o===2?o="plural":o===1&&(o=""));const i=()=>this.options.prepend&&o.toString()?this.options.prepend+o.toString():o.toString();return this.options.compatibilityJSON==="v1"?o===1?"":typeof o=="number"?`_plural_${o.toString()}`:i():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1?i():this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString()}shouldUseIntlApi(){return!ygt.includes(this.options.compatibilityJSON)}}function DV(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=cgt(e,t,n);return!i&&o&&typeof n=="string"&&(i=d$(e,n,r),i===void 0&&(i=d$(t,n,r))),i}class Cgt{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=as.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||(n=>n),this.init(t)}init(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};t.interpolation||(t.interpolation={escapeValue:!0});const{escape:n,escapeValue:r,useRawValueToEscape:o,prefix:i,prefixEscaped:a,suffix:s,suffixEscaped:l,formatSeparator:c,unescapeSuffix:u,unescapePrefix:d,nestingPrefix:f,nestingPrefixEscaped:p,nestingSuffix:h,nestingSuffixEscaped:m,nestingOptionsSeparator:v,maxReplaces:b,alwaysFormat:y}=t.interpolation;this.escape=n!==void 0?n:dgt,this.escapeValue=r!==void 0?r:!0,this.useRawValueToEscape=o!==void 0?o:!1,this.prefix=i?lf(i):a||"{{",this.suffix=s?lf(s):l||"}}",this.formatSeparator=c||",",this.unescapePrefix=u?"":d||"-",this.unescapeSuffix=this.unescapePrefix?"":u||"",this.nestingPrefix=f?lf(f):p||lf("$t("),this.nestingSuffix=h?lf(h):m||lf(")"),this.nestingOptionsSeparator=v||",",this.maxReplaces=b||1e3,this.alwaysFormat=y!==void 0?y:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const t=(n,r)=>n&&n.source===r?(n.lastIndex=0,n):new RegExp(r,"g");this.regexp=t(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=t(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=t(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(t,n,r,o){let i,a,s;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function c(h){return h.replace(/\$/g,"$$$$")}const u=h=>{if(h.indexOf(this.formatSeparator)<0){const y=DV(n,l,h,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(y,void 0,r,{...o,...n,interpolationkey:h}):y}const m=h.split(this.formatSeparator),v=m.shift().trim(),b=m.join(this.formatSeparator).trim();return this.format(DV(n,l,v,this.options.keySeparator,this.options.ignoreJSONStructure),b,r,{...o,...n,interpolationkey:v})};this.resetRegExp();const d=o&&o.missingInterpolationHandler||this.options.missingInterpolationHandler,f=o&&o.interpolation&&o.interpolation.skipOnVariables!==void 0?o.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:h=>c(h)},{regex:this.regexp,safeValue:h=>this.escapeValue?c(this.escape(h)):c(h)}].forEach(h=>{for(s=0;i=h.regex.exec(t);){const m=i[1].trim();if(a=u(m),a===void 0)if(typeof d=="function"){const b=d(t,i,o);a=typeof b=="string"?b:""}else if(o&&Object.prototype.hasOwnProperty.call(o,m))a="";else if(f){a=i[0];continue}else this.logger.warn(`missed to pass in variable ${m} for interpolating ${t}`),a="";else typeof a!="string"&&!this.useRawValueToEscape&&(a=IV(a));const v=h.safeValue(a);if(t=t.replace(i[0],v),f?(h.regex.lastIndex+=a.length,h.regex.lastIndex-=i[0].length):h.regex.lastIndex=0,s++,s>=this.maxReplaces)break}}),t}nest(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o,i,a;function s(l,c){const u=this.nestingOptionsSeparator;if(l.indexOf(u)<0)return l;const d=l.split(new RegExp(`${u}[ ]*{`));let f=`{${d[1]}`;l=d[0],f=this.interpolate(f,a);const p=f.match(/'/g),h=f.match(/"/g);(p&&p.length%2===0&&!h||h.length%2!==0)&&(f=f.replace(/'/g,'"'));try{a=JSON.parse(f),c&&(a={...c,...a})}catch(m){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,m),`${l}${u}${f}`}return a.defaultValue&&a.defaultValue.indexOf(this.prefix)>-1&&delete a.defaultValue,l}for(;o=this.nestingRegexp.exec(t);){let l=[];a={...r},a=a.replace&&typeof a.replace!="string"?a.replace:a,a.applyPostProcessor=!1,delete a.defaultValue;let c=!1;if(o[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(o[1])){const u=o[1].split(this.formatSeparator).map(d=>d.trim());o[1]=u.shift(),l=u,c=!0}if(i=n(s.call(this,o[1].trim(),a),a),i&&o[0]===t&&typeof i!="string")return i;typeof i!="string"&&(i=IV(i)),i||(this.logger.warn(`missed to resolve ${o[1]} for nesting ${t}`),i=""),c&&(i=l.reduce((u,d)=>this.format(u,d,r.lng,{...r,interpolationkey:o[1].trim()}),i.trim())),t=t.replace(o[0],i),this.regexp.lastIndex=0}return t}}function Sgt(e){let t=e.toLowerCase().trim();const n={};if(e.indexOf("(")>-1){const r=e.split("(");t=r[0].toLowerCase().trim();const o=r[1].substring(0,r[1].length-1);t==="currency"&&o.indexOf(":")<0?n.currency||(n.currency=o.trim()):t==="relativetime"&&o.indexOf(":")<0?n.range||(n.range=o.trim()):o.split(";").forEach(a=>{if(a){const[s,...l]=a.split(":"),c=l.join(":").trim().replace(/^'+|'+$/g,""),u=s.trim();n[u]||(n[u]=c),c==="false"&&(n[u]=!1),c==="true"&&(n[u]=!0),isNaN(c)||(n[u]=parseInt(c,10))}})}return{formatName:t,formatOptions:n}}function cf(e){const t={};return function(r,o,i){const a=o+JSON.stringify(i);let s=t[a];return s||(s=e(v1(o),i),t[a]=s),s(r)}}class Pgt{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=as.create("formatter"),this.options=t,this.formats={number:cf((n,r)=>{const o=new Intl.NumberFormat(n,{...r});return i=>o.format(i)}),currency:cf((n,r)=>{const o=new Intl.NumberFormat(n,{...r,style:"currency"});return i=>o.format(i)}),datetime:cf((n,r)=>{const o=new Intl.DateTimeFormat(n,{...r});return i=>o.format(i)}),relativetime:cf((n,r)=>{const o=new Intl.RelativeTimeFormat(n,{...r});return i=>o.format(i,r.range||"day")}),list:cf((n,r)=>{const o=new Intl.ListFormat(n,{...r});return i=>o.format(i)})},this.init(t)}init(t){const r=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}}).interpolation;this.formatSeparator=r.formatSeparator?r.formatSeparator:r.formatSeparator||","}add(t,n){this.formats[t.toLowerCase().trim()]=n}addCached(t,n){this.formats[t.toLowerCase().trim()]=cf(n)}format(t,n,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return n.split(this.formatSeparator).reduce((s,l)=>{const{formatName:c,formatOptions:u}=Sgt(l);if(this.formats[c]){let d=s;try{const f=o&&o.formatParams&&o.formatParams[o.interpolationkey]||{},p=f.locale||f.lng||o.locale||o.lng||r;d=this.formats[c](s,p,{...u,...o,...f})}catch(f){this.logger.warn(f)}return d}else this.logger.warn(`there was no format function for ${c}`);return s},t)}}function Egt(e,t){e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)}class Ogt extends pP{constructor(t,n,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=t,this.store=n,this.services=r,this.languageUtils=r.languageUtils,this.options=o,this.logger=as.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=o.maxParallelReads||10,this.readingCalls=0,this.maxRetries=o.maxRetries>=0?o.maxRetries:5,this.retryTimeout=o.retryTimeout>=1?o.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(r,o.backend,o)}queueLoad(t,n,r,o){const i={},a={},s={},l={};return t.forEach(c=>{let u=!0;n.forEach(d=>{const f=`${c}|${d}`;!r.reload&&this.store.hasResourceBundle(c,d)?this.state[f]=2:this.state[f]<0||(this.state[f]===1?a[f]===void 0&&(a[f]=!0):(this.state[f]=1,u=!1,a[f]===void 0&&(a[f]=!0),i[f]===void 0&&(i[f]=!0),l[d]===void 0&&(l[d]=!0)))}),u||(s[c]=!0)}),(Object.keys(i).length||Object.keys(a).length)&&this.queue.push({pending:a,pendingCount:Object.keys(a).length,loaded:{},errors:[],callback:o}),{toLoad:Object.keys(i),pending:Object.keys(a),toLoadLanguages:Object.keys(s),toLoadNamespaces:Object.keys(l)}}loaded(t,n,r){const o=t.split("|"),i=o[0],a=o[1];n&&this.emit("failedLoading",i,a,n),r&&this.store.addResourceBundle(i,a,r,void 0,void 0,{skipCopy:!0}),this.state[t]=n?-1:2;const s={};this.queue.forEach(l=>{lgt(l.loaded,[i],a),Egt(l,t),n&&l.errors.push(n),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(c=>{s[c]||(s[c]={});const u=l.loaded[c];u.length&&u.forEach(d=>{s[c][d]===void 0&&(s[c][d]=!0)})}),l.done=!0,l.errors.length?l.callback(l.errors):l.callback())}),this.emit("loaded",s),this.queue=this.queue.filter(l=>!l.done)}read(t,n,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,a=arguments.length>5?arguments[5]:void 0;if(!t.length)return a(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:t,ns:n,fcName:r,tried:o,wait:i,callback:a});return}this.readingCalls++;const s=(c,u)=>{if(this.readingCalls--,this.waitingReads.length>0){const d=this.waitingReads.shift();this.read(d.lng,d.ns,d.fcName,d.tried,d.wait,d.callback)}if(c&&u&&o{this.read.call(this,t,n,r,o+1,i*2,a)},i);return}a(c,u)},l=this.backend[r].bind(this.backend);if(l.length===2){try{const c=l(t,n);c&&typeof c.then=="function"?c.then(u=>s(null,u)).catch(s):s(null,c)}catch(c){s(c)}return}return l(t,n,s)}prepareLoading(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),o&&o();typeof t=="string"&&(t=this.languageUtils.toResolveHierarchy(t)),typeof n=="string"&&(n=[n]);const i=this.queueLoad(t,n,r,o);if(!i.toLoad.length)return i.pending.length||o(),null;i.toLoad.forEach(a=>{this.loadOne(a)})}load(t,n,r){this.prepareLoading(t,n,{},r)}reload(t,n,r){this.prepareLoading(t,n,{reload:!0},r)}loadOne(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const r=t.split("|"),o=r[0],i=r[1];this.read(o,i,"read",void 0,void 0,(a,s)=>{a&&this.logger.warn(`${n}loading namespace ${i} for language ${o} failed`,a),!a&&s&&this.logger.log(`${n}loaded namespace ${i} for language ${o}`,s),this.loaded(t,a,s)})}saveMissing(t,n,r,o,i){let a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},s=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(n)){this.logger.warn(`did not save key "${r}" as the namespace "${n}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(r==null||r==="")){if(this.backend&&this.backend.create){const l={...a,isUpdate:i},c=this.backend.create.bind(this.backend);if(c.length<6)try{let u;c.length===5?u=c(t,n,r,o,l):u=c(t,n,r,o),u&&typeof u.then=="function"?u.then(d=>s(null,d)).catch(s):s(null,u)}catch(u){s(u)}else c(t,n,r,o,s,l)}!t||!t[0]||this.store.addResource(t[0],n,r,o)}}}function NV(){return{debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(t){let n={};if(typeof t[1]=="object"&&(n=t[1]),typeof t[1]=="string"&&(n.defaultValue=t[1]),typeof t[2]=="string"&&(n.tDescription=t[2]),typeof t[2]=="object"||typeof t[3]=="object"){const r=t[3]||t[2];Object.keys(r).forEach(o=>{n[o]=r[o]})}return n},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}}function LV(e){return typeof e.ns=="string"&&(e.ns=[e.ns]),typeof e.fallbackLng=="string"&&(e.fallbackLng=[e.fallbackLng]),typeof e.fallbackNS=="string"&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e}function x0(){}function Tgt(e){Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(n=>{typeof e[n]=="function"&&(e[n]=e[n].bind(e))})}class dy extends pP{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(super(),this.options=LV(t),this.services={},this.logger=as,this.modules={external:[]},Tgt(this),n&&!this.isInitialized&&!t.isClone){if(!this.options.initImmediate)return this.init(t,n),this;setTimeout(()=>{this.init(t,n)},0)}}init(){var t=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;this.isInitializing=!0,typeof n=="function"&&(r=n,n={}),!n.defaultNS&&n.defaultNS!==!1&&n.ns&&(typeof n.ns=="string"?n.defaultNS=n.ns:n.ns.indexOf("translation")<0&&(n.defaultNS=n.ns[0]));const o=NV();this.options={...o,...this.options,...LV(n)},this.options.compatibilityAPI!=="v1"&&(this.options.interpolation={...o.interpolation,...this.options.interpolation}),n.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=n.keySeparator),n.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=n.nsSeparator);function i(u){return u?typeof u=="function"?new u:u:null}if(!this.options.isClone){this.modules.logger?as.init(i(this.modules.logger),this.options):as.init(null,this.options);let u;this.modules.formatter?u=this.modules.formatter:typeof Intl<"u"&&(u=Pgt);const d=new RV(this.options);this.store=new MV(this.options.resources,this.options);const f=this.services;f.logger=as,f.resourceStore=this.store,f.languageUtils=d,f.pluralResolver=new wgt(d,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),u&&(!this.options.interpolation.format||this.options.interpolation.format===o.interpolation.format)&&(f.formatter=i(u),f.formatter.init(f,this.options),this.options.interpolation.format=f.formatter.format.bind(f.formatter)),f.interpolator=new Cgt(this.options),f.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},f.backendConnector=new Ogt(i(this.modules.backend),f.resourceStore,f,this.options),f.backendConnector.on("*",function(p){for(var h=arguments.length,m=new Array(h>1?h-1:0),v=1;v1?h-1:0),v=1;v{p.init&&p.init(this)})}if(this.format=this.options.interpolation.format,r||(r=x0),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const u=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);u.length>0&&u[0]!=="dev"&&(this.options.lng=u[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(u=>{this[u]=function(){return t.store[u](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(u=>{this[u]=function(){return t.store[u](...arguments),t}});const l=Bm(),c=()=>{const u=(d,f)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),l.resolve(f),r(d,f)};if(this.languages&&this.options.compatibilityAPI!=="v1"&&!this.isInitialized)return u(null,this.t.bind(this));this.changeLanguage(this.options.lng,u)};return this.options.resources||!this.options.initImmediate?c():setTimeout(c,0),l}loadResources(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:x0;const o=typeof t=="string"?t:this.language;if(typeof t=="function"&&(r=t),!this.options.resources||this.options.partialBundledLanguages){if(o&&o.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return r();const i=[],a=s=>{if(!s||s==="cimode")return;this.services.languageUtils.toResolveHierarchy(s).forEach(c=>{c!=="cimode"&&i.indexOf(c)<0&&i.push(c)})};o?a(o):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(l=>a(l)),this.options.preload&&this.options.preload.forEach(s=>a(s)),this.services.backendConnector.load(i,this.options.ns,s=>{!s&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(s)})}else r(null)}reloadResources(t,n,r){const o=Bm();return t||(t=this.languages),n||(n=this.options.ns),r||(r=x0),this.services.backendConnector.reload(t,n,i=>{o.resolve(),r(i)}),o}use(t){if(!t)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!t.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return t.type==="backend"&&(this.modules.backend=t),(t.type==="logger"||t.log&&t.warn&&t.error)&&(this.modules.logger=t),t.type==="languageDetector"&&(this.modules.languageDetector=t),t.type==="i18nFormat"&&(this.modules.i18nFormat=t),t.type==="postProcessor"&&vZ.addPostProcessor(t),t.type==="formatter"&&(this.modules.formatter=t),t.type==="3rdParty"&&this.modules.external.push(t),this}setResolvedLanguage(t){if(!(!t||!this.languages)&&!(["cimode","dev"].indexOf(t)>-1))for(let n=0;n-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}}changeLanguage(t,n){var r=this;this.isLanguageChangingTo=t;const o=Bm();this.emit("languageChanging",t);const i=l=>{this.language=l,this.languages=this.services.languageUtils.toResolveHierarchy(l),this.resolvedLanguage=void 0,this.setResolvedLanguage(l)},a=(l,c)=>{c?(i(c),this.translator.changeLanguage(c),this.isLanguageChangingTo=void 0,this.emit("languageChanged",c),this.logger.log("languageChanged",c)):this.isLanguageChangingTo=void 0,o.resolve(function(){return r.t(...arguments)}),n&&n(l,function(){return r.t(...arguments)})},s=l=>{!t&&!l&&this.services.languageDetector&&(l=[]);const c=typeof l=="string"?l:this.services.languageUtils.getBestMatchFromCodes(l);c&&(this.language||i(c),this.translator.language||this.translator.changeLanguage(c),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(c)),this.loadResources(c,u=>{a(u,c)})};return!t&&this.services.languageDetector&&!this.services.languageDetector.async?s(this.services.languageDetector.detect()):!t&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(s):this.services.languageDetector.detect(s):s(t),o}getFixedT(t,n,r){var o=this;const i=function(a,s){let l;if(typeof s!="object"){for(var c=arguments.length,u=new Array(c>2?c-2:0),d=2;d`${l.keyPrefix}${f}${h}`):p=l.keyPrefix?`${l.keyPrefix}${f}${a}`:a,o.t(p,l)};return typeof t=="string"?i.lng=t:i.lngs=t,i.ns=n,i.keyPrefix=r,i}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(t){this.options.defaultNS=t}hasLoadedNamespace(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=n.lng||this.resolvedLanguage||this.languages[0],o=this.options?this.options.fallbackLng:!1,i=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const a=(s,l)=>{const c=this.services.backendConnector.state[`${s}|${l}`];return c===-1||c===2};if(n.precheck){const s=n.precheck(this,a);if(s!==void 0)return s}return!!(this.hasResourceBundle(r,t)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||a(r,t)&&(!o||a(i,t)))}loadNamespaces(t,n){const r=Bm();return this.options.ns?(typeof t=="string"&&(t=[t]),t.forEach(o=>{this.options.ns.indexOf(o)<0&&this.options.ns.push(o)}),this.loadResources(o=>{r.resolve(),n&&n(o)}),r):(n&&n(),Promise.resolve())}loadLanguages(t,n){const r=Bm();typeof t=="string"&&(t=[t]);const o=this.options.preload||[],i=t.filter(a=>o.indexOf(a)<0&&this.services.languageUtils.isSupportedCode(a));return i.length?(this.options.preload=o.concat(i),this.loadResources(a=>{r.resolve(),n&&n(a)}),r):(n&&n(),Promise.resolve())}dir(t){if(t||(t=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!t)return"rtl";const n=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],r=this.services&&this.services.languageUtils||new RV(NV());return n.indexOf(r.getLanguagePartFromCode(t))>-1||t.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;return new dy(t,n)}cloneInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:x0;const r=t.forkResourceStore;r&&delete t.forkResourceStore;const o={...this.options,...t,isClone:!0},i=new dy(o);return(t.debug!==void 0||t.prefix!==void 0)&&(i.logger=i.logger.clone(t)),["store","services","language"].forEach(s=>{i[s]=this[s]}),i.services={...this.services},i.services.utils={hasLoadedNamespace:i.hasLoadedNamespace.bind(i)},r&&(i.store=new MV(this.store.data,o),i.services.resourceStore=i.store),i.translator=new y1(i.services,o),i.translator.on("*",function(s){for(var l=arguments.length,c=new Array(l>1?l-1:0),u=1;u{if(t)for(const n in t)e[n]===void 0&&(e[n]=t[n])}),e}const jV=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,Mgt=(e,t,n)=>{const r=n||{};r.path=r.path||"/";const o=encodeURIComponent(t);let i=`${e}=${o}`;if(r.maxAge>0){const a=r.maxAge-0;if(Number.isNaN(a))throw new Error("maxAge should be a Number");i+=`; Max-Age=${Math.floor(a)}`}if(r.domain){if(!jV.test(r.domain))throw new TypeError("option domain is invalid");i+=`; Domain=${r.domain}`}if(r.path){if(!jV.test(r.path))throw new TypeError("option path is invalid");i+=`; Path=${r.path}`}if(r.expires){if(typeof r.expires.toUTCString!="function")throw new TypeError("option expires is invalid");i+=`; Expires=${r.expires.toUTCString()}`}if(r.httpOnly&&(i+="; HttpOnly"),r.secure&&(i+="; Secure"),r.sameSite)switch(typeof r.sameSite=="string"?r.sameSite.toLowerCase():r.sameSite){case!0:i+="; SameSite=Strict";break;case"lax":i+="; SameSite=Lax";break;case"strict":i+="; SameSite=Strict";break;case"none":i+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return i},FV={create(e,t,n,r){let o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{path:"/",sameSite:"strict"};n&&(o.expires=new Date,o.expires.setTime(o.expires.getTime()+n*60*1e3)),r&&(o.domain=r),document.cookie=Mgt(e,encodeURIComponent(t),o)},read(e){const t=`${e}=`,n=document.cookie.split(";");for(let r=0;r-1&&(o=window.location.hash.substring(window.location.hash.indexOf("?")));const a=o.substring(1).split("&");for(let s=0;s0&&a[s].substring(0,l)===t&&(n=a[s].substring(l+1))}}return n}};let zm=null;const BV=()=>{if(zm!==null)return zm;try{zm=window!=="undefined"&&window.localStorage!==null;const e="i18next.translate.boo";window.localStorage.setItem(e,"foo"),window.localStorage.removeItem(e)}catch{zm=!1}return zm};var _gt={name:"localStorage",lookup(e){let{lookupLocalStorage:t}=e;if(t&&BV())return window.localStorage.getItem(t)||void 0},cacheUserLanguage(e,t){let{lookupLocalStorage:n}=t;n&&BV()&&window.localStorage.setItem(n,e)}};let Vm=null;const zV=()=>{if(Vm!==null)return Vm;try{Vm=window!=="undefined"&&window.sessionStorage!==null;const e="i18next.translate.boo";window.sessionStorage.setItem(e,"foo"),window.sessionStorage.removeItem(e)}catch{Vm=!1}return Vm};var Dgt={name:"sessionStorage",lookup(e){let{lookupSessionStorage:t}=e;if(t&&zV())return window.sessionStorage.getItem(t)||void 0},cacheUserLanguage(e,t){let{lookupSessionStorage:n}=t;n&&zV()&&window.sessionStorage.setItem(n,e)}},Ngt={name:"navigator",lookup(e){const t=[];if(typeof navigator<"u"){const{languages:n,userLanguage:r,language:o}=navigator;if(n)for(let i=0;i0?t:void 0}},Lgt={name:"htmlTag",lookup(e){let{htmlTag:t}=e,n;const r=t||(typeof document<"u"?document.documentElement:null);return r&&typeof r.getAttribute=="function"&&(n=r.getAttribute("lang")),n}},jgt={name:"path",lookup(e){var o;let{lookupFromPathIndex:t}=e;if(typeof window>"u")return;const n=window.location.pathname.match(/\/([a-zA-Z-]*)/g);return Array.isArray(n)?(o=n[typeof t=="number"?t:0])==null?void 0:o.replace("/",""):void 0}},Fgt={name:"subdomain",lookup(e){var o,i;let{lookupFromSubdomainIndex:t}=e;const n=typeof t=="number"?t+1:1,r=typeof window<"u"&&((i=(o=window.location)==null?void 0:o.hostname)==null?void 0:i.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i));if(r)return r[n]}};function Bgt(){return{order:["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"],lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"],convertDetectedLanguage:e=>e}}class yZ{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.type="languageDetector",this.detectors={},this.init(t,n)}init(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=t||{languageUtils:{}},this.options=$gt(n,this.options||{},Bgt()),typeof this.options.convertDetectedLanguage=="string"&&this.options.convertDetectedLanguage.indexOf("15897")>-1&&(this.options.convertDetectedLanguage=o=>o.replace("-","_")),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=r,this.addDetector(Agt),this.addDetector(Rgt),this.addDetector(_gt),this.addDetector(Dgt),this.addDetector(Ngt),this.addDetector(Lgt),this.addDetector(jgt),this.addDetector(Fgt)}addDetector(t){return this.detectors[t.name]=t,this}detect(t){t||(t=this.options.order);let n=[];return t.forEach(r=>{if(this.detectors[r]){let o=this.detectors[r].lookup(this.options);o&&typeof o=="string"&&(o=[o]),o&&(n=n.concat(o))}}),n=n.map(r=>this.options.convertDetectedLanguage(r)),this.services.languageUtils.getBestMatchFromCodes?n:n.length>0?n[0]:null}cacheUserLanguage(t,n){n||(n=this.options.caches),n&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(t)>-1||n.forEach(r=>{this.detectors[r]&&this.detectors[r].cacheUserLanguage(t,this.options)}))}}yZ.type="languageDetector";function f$(e){"@babel/helpers - typeof";return f$=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},f$(e)}function bZ(){return typeof XMLHttpRequest=="function"||(typeof XMLHttpRequest>"u"?"undefined":f$(XMLHttpRequest))==="object"}function zgt(e){return!!e&&typeof e.then=="function"}function Vgt(e){return zgt(e)?e:Promise.resolve(e)}function Hgt(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var p$={exports:{}},w0={exports:{}},VV;function Ugt(){return VV||(VV=1,function(e,t){var n=typeof globalThis<"u"&&globalThis||typeof self<"u"&&self||typeof os<"u"&&os,r=function(){function i(){this.fetch=!1,this.DOMException=n.DOMException}return i.prototype=n,new i}();(function(i){(function(a){var s=typeof i<"u"&&i||typeof self<"u"&&self||typeof s<"u"&&s,l={searchParams:"URLSearchParams"in s,iterable:"Symbol"in s&&"iterator"in Symbol,blob:"FileReader"in s&&"Blob"in s&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in s,arrayBuffer:"ArrayBuffer"in s};function c(I){return I&&DataView.prototype.isPrototypeOf(I)}if(l.arrayBuffer)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],d=ArrayBuffer.isView||function(I){return I&&u.indexOf(Object.prototype.toString.call(I))>-1};function f(I){if(typeof I!="string"&&(I=String(I)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(I)||I==="")throw new TypeError('Invalid character in header field name: "'+I+'"');return I.toLowerCase()}function p(I){return typeof I!="string"&&(I=String(I)),I}function h(I){var A={next:function(){var F=I.shift();return{done:F===void 0,value:F}}};return l.iterable&&(A[Symbol.iterator]=function(){return A}),A}function m(I){this.map={},I instanceof m?I.forEach(function(A,F){this.append(F,A)},this):Array.isArray(I)?I.forEach(function(A){this.append(A[0],A[1])},this):I&&Object.getOwnPropertyNames(I).forEach(function(A){this.append(A,I[A])},this)}m.prototype.append=function(I,A){I=f(I),A=p(A);var F=this.map[I];this.map[I]=F?F+", "+A:A},m.prototype.delete=function(I){delete this.map[f(I)]},m.prototype.get=function(I){return I=f(I),this.has(I)?this.map[I]:null},m.prototype.has=function(I){return this.map.hasOwnProperty(f(I))},m.prototype.set=function(I,A){this.map[f(I)]=p(A)},m.prototype.forEach=function(I,A){for(var F in this.map)this.map.hasOwnProperty(F)&&I.call(A,this.map[F],F,this)},m.prototype.keys=function(){var I=[];return this.forEach(function(A,F){I.push(F)}),h(I)},m.prototype.values=function(){var I=[];return this.forEach(function(A){I.push(A)}),h(I)},m.prototype.entries=function(){var I=[];return this.forEach(function(A,F){I.push([F,A])}),h(I)},l.iterable&&(m.prototype[Symbol.iterator]=m.prototype.entries);function v(I){if(I.bodyUsed)return Promise.reject(new TypeError("Already read"));I.bodyUsed=!0}function b(I){return new Promise(function(A,F){I.onload=function(){A(I.result)},I.onerror=function(){F(I.error)}})}function y(I){var A=new FileReader,F=b(A);return A.readAsArrayBuffer(I),F}function w(I){var A=new FileReader,F=b(A);return A.readAsText(I),F}function C(I){for(var A=new Uint8Array(I),F=new Array(A.length),_=0;_-1?A:I}function $(I,A){if(!(this instanceof $))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');A=A||{};var F=A.body;if(I instanceof $){if(I.bodyUsed)throw new TypeError("Already read");this.url=I.url,this.credentials=I.credentials,A.headers||(this.headers=new m(I.headers)),this.method=I.method,this.mode=I.mode,this.signal=I.signal,!F&&I._bodyInit!=null&&(F=I._bodyInit,I.bodyUsed=!0)}else this.url=String(I);if(this.credentials=A.credentials||this.credentials||"same-origin",(A.headers||!this.headers)&&(this.headers=new m(A.headers)),this.method=T(A.method||this.method||"GET"),this.mode=A.mode||this.mode||null,this.signal=A.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&F)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(F),(this.method==="GET"||this.method==="HEAD")&&(A.cache==="no-store"||A.cache==="no-cache")){var _=/([?&])_=[^&]*/;if(_.test(this.url))this.url=this.url.replace(_,"$1_="+new Date().getTime());else{var j=/\?/;this.url+=(j.test(this.url)?"&":"?")+"_="+new Date().getTime()}}}$.prototype.clone=function(){return new $(this,{body:this._bodyInit})};function M(I){var A=new FormData;return I.trim().split("&").forEach(function(F){if(F){var _=F.split("="),j=_.shift().replace(/\+/g," "),B=_.join("=").replace(/\+/g," ");A.append(decodeURIComponent(j),decodeURIComponent(B))}}),A}function D(I){var A=new m,F=I.replace(/\r?\n[\t ]+/g," ");return F.split("\r").map(function(_){return _.indexOf(` -`)===0?_.substr(1,_.length):_}).forEach(function(_){var j=_.split(":"),B=j.shift().trim();if(B){var U=j.join(":").trim();A.append(B,U)}}),A}P.call($.prototype);function L(I,A){if(!(this instanceof L))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');A||(A={}),this.type="default",this.status=A.status===void 0?200:A.status,this.ok=this.status>=200&&this.status<300,this.statusText=A.statusText===void 0?"":""+A.statusText,this.headers=new m(A.headers),this.url=A.url||"",this._initBody(I)}P.call(L.prototype),L.prototype.clone=function(){return new L(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new m(this.headers),url:this.url})},L.error=function(){var I=new L(null,{status:0,statusText:""});return I.type="error",I};var N=[301,302,303,307,308];L.redirect=function(I,A){if(N.indexOf(A)===-1)throw new RangeError("Invalid status code");return new L(null,{status:A,headers:{location:I}})},a.DOMException=s.DOMException;try{new a.DOMException}catch{a.DOMException=function(A,F){this.message=A,this.name=F;var _=Error(A);this.stack=_.stack},a.DOMException.prototype=Object.create(Error.prototype),a.DOMException.prototype.constructor=a.DOMException}function R(I,A){return new Promise(function(F,_){var j=new $(I,A);if(j.signal&&j.signal.aborted)return _(new a.DOMException("Aborted","AbortError"));var B=new XMLHttpRequest;function U(){B.abort()}B.onload=function(){var K={status:B.status,statusText:B.statusText,headers:D(B.getAllResponseHeaders()||"")};K.url="responseURL"in B?B.responseURL:K.headers.get("X-Request-URL");var J="response"in B?B.response:B.responseText;setTimeout(function(){F(new L(J,K))},0)},B.onerror=function(){setTimeout(function(){_(new TypeError("Network request failed"))},0)},B.ontimeout=function(){setTimeout(function(){_(new TypeError("Network request failed"))},0)},B.onabort=function(){setTimeout(function(){_(new a.DOMException("Aborted","AbortError"))},0)};function H(K){try{return K===""&&s.location.href?s.location.href:K}catch{return K}}B.open(j.method,H(j.url),!0),j.credentials==="include"?B.withCredentials=!0:j.credentials==="omit"&&(B.withCredentials=!1),"responseType"in B&&(l.blob?B.responseType="blob":l.arrayBuffer&&j.headers.get("Content-Type")&&j.headers.get("Content-Type").indexOf("application/octet-stream")!==-1&&(B.responseType="arraybuffer")),A&&typeof A.headers=="object"&&!(A.headers instanceof m)?Object.getOwnPropertyNames(A.headers).forEach(function(K){B.setRequestHeader(K,p(A.headers[K]))}):j.headers.forEach(function(K,J){B.setRequestHeader(J,K)}),j.signal&&(j.signal.addEventListener("abort",U),B.onreadystatechange=function(){B.readyState===4&&j.signal.removeEventListener("abort",U)}),B.send(typeof j._bodyInit>"u"?null:j._bodyInit)})}return R.polyfill=!0,s.fetch||(s.fetch=R,s.Headers=m,s.Request=$,s.Response=L),a.Headers=m,a.Request=$,a.Response=L,a.fetch=R,a})({})})(r),r.fetch.ponyfill=!0,delete r.fetch.polyfill;var o=n.fetch?n:r;t=o.fetch,t.default=o.fetch,t.fetch=o.fetch,t.Headers=o.Headers,t.Request=o.Request,t.Response=o.Response,e.exports=t}(w0,w0.exports)),w0.exports}(function(e,t){var n;if(typeof fetch=="function"&&(typeof os<"u"&&os.fetch?n=os.fetch:typeof window<"u"&&window.fetch?n=window.fetch:n=fetch),typeof Hgt<"u"&&typeof window>"u"){var r=n||Ugt();r.default&&(r=r.default),t.default=r,e.exports=t.default}})(p$,p$.exports);var xZ=p$.exports;const wZ=Ht(xZ),HV=nH({__proto__:null,default:wZ},[xZ]);function UV(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function WV(e){for(var t=1;t"u"&&typeof global<"u"&&typeof global.process<"u"&&global.process.versions&&global.process.versions.node&&(i["User-Agent"]="i18next-http-backend (node/".concat(global.process.version,"; ").concat(global.process.platform," ").concat(global.process.arch,")")),r&&(i["Content-Type"]="application/json");var a=typeof t.requestOptions=="function"?t.requestOptions(r):t.requestOptions,s=WV({method:r?"POST":"GET",body:r?t.stringify(r):void 0,headers:i},qV?{}:a),l=typeof t.alternateFetch=="function"&&t.alternateFetch.length>=1?t.alternateFetch:void 0;try{GV(n,s,o,l)}catch(c){if(!a||Object.keys(a).length===0||!c.message||c.message.indexOf("not implemented")<0)return o(c);try{Object.keys(a).forEach(function(u){delete s[u]}),GV(n,s,o,l),qV=!0}catch(u){o(u)}}},Ygt=function(t,n,r,o){r&&fd(r)==="object"&&(r=h$("",r).slice(1)),t.queryStringParams&&(n=h$(n,t.queryStringParams));try{var i;fy?i=new fy:i=new b1("MSXML2.XMLHTTP.3.0"),i.open(r?"POST":"GET",n,1),t.crossDomain||i.setRequestHeader("X-Requested-With","XMLHttpRequest"),i.withCredentials=!!t.withCredentials,r&&i.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),i.overrideMimeType&&i.overrideMimeType("application/json");var a=t.customHeaders;if(a=typeof a=="function"?a():a,a)for(var s in a)i.setRequestHeader(s,a[s]);i.onreadystatechange=function(){i.readyState>3&&o(i.status>=400?i.statusText:null,{status:i.status,data:i.responseText})},i.send(r)}catch(l){console&&console.log(l)}},Qgt=function(t,n,r,o){if(typeof r=="function"&&(o=r,r=void 0),o=o||function(){},ol&&n.indexOf("file:")!==0)return Kgt(t,n,r,o);if(bZ()||typeof ActiveXObject=="function")return Ygt(t,n,r,o);o(new Error("No fetch and no xhr implementation found!"))};function Zp(e){"@babel/helpers - typeof";return Zp=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Zp(e)}function KV(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function vO(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};Xgt(this,e),this.services=t,this.options=n,this.allOptions=r,this.type="backend",this.init(t,n,r)}return Zgt(e,[{key:"init",value:function(n){var r=this,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(this.services=n,this.options=vO(vO(vO({},tvt()),this.options||{}),o),this.allOptions=i,this.services&&this.options.reloadInterval){var a=setInterval(function(){return r.reload()},this.options.reloadInterval);Zp(a)==="object"&&typeof a.unref=="function"&&a.unref()}}},{key:"readMulti",value:function(n,r,o){this._readAny(n,n,r,r,o)}},{key:"read",value:function(n,r,o){this._readAny([n],n,[r],r,o)}},{key:"_readAny",value:function(n,r,o,i,a){var s=this,l=this.options.loadPath;typeof this.options.loadPath=="function"&&(l=this.options.loadPath(n,o)),l=Vgt(l),l.then(function(c){if(!c)return a(null,{});var u=s.services.interpolator.interpolate(c,{lng:n.join("+"),ns:o.join("+")});s.loadUrl(u,a,r,i)})}},{key:"loadUrl",value:function(n,r,o,i){var a=this,s=typeof o=="string"?[o]:o,l=typeof i=="string"?[i]:i,c=this.options.parseLoadPayload(s,l);this.options.request(this.options,n,c,function(u,d){if(d&&(d.status>=500&&d.status<600||!d.status))return r("failed loading "+n+"; status code: "+d.status,!0);if(d&&d.status>=400&&d.status<500)return r("failed loading "+n+"; status code: "+d.status,!1);if(!d&&u&&u.message&&u.message.indexOf("Failed to fetch")>-1)return r("failed loading "+n+": "+u.message,!0);if(u)return r(u,!1);var f,p;try{typeof d.data=="string"?f=a.options.parse(d.data,o,i):f=d.data}catch{p="failed parsing "+n+" to json"}if(p)return r(p,!1);r(null,f)})}},{key:"create",value:function(n,r,o,i,a){var s=this;if(this.options.addPath){typeof n=="string"&&(n=[n]);var l=this.options.parsePayload(r,o,i),c=0,u=[],d=[];n.forEach(function(f){var p=s.options.addPath;typeof s.options.addPath=="function"&&(p=s.options.addPath(f,r));var h=s.services.interpolator.interpolate(p,{lng:f,ns:r});s.options.request(s.options,h,l,function(m,v){c+=1,u.push(m),d.push(v),c===n.length&&typeof a=="function"&&a(u,d)})})}}},{key:"reload",value:function(){var n=this,r=this.services,o=r.backendConnector,i=r.languageUtils,a=r.logger,s=o.language;if(!(s&&s.toLowerCase()==="cimode")){var l=[],c=function(d){var f=i.toResolveHierarchy(d);f.forEach(function(p){l.indexOf(p)<0&&l.push(p)})};c(s),this.allOptions.preload&&this.allOptions.preload.forEach(function(u){return c(u)}),l.forEach(function(u){n.allOptions.ns.forEach(function(d){o.read(u,d,"read",null,null,function(f,p){f&&a.warn("loading namespace ".concat(d," for language ").concat(u," failed"),f),!f&&p&&a.log("loaded namespace ".concat(d," for language ").concat(u),p),o.loaded("".concat(u,"|").concat(d),f,p)})})})}}}])}();PZ.type="backend";eo.use(PZ).use(yZ).use(Q0e).init({load:"languageOnly",detection:{order:["path","navigator","htmlTag"]},fallbackLng:"en",interpolation:{escapeValue:!1},backend:{loadPath:"/static/react/locales/{{lng}}/{{ns}}.json"}});const Nd=new Koe({defaultOptions:{queries:{retry:3,staleTime:1e3*60*5,cacheTime:1e3*60*5,refetchOnMount:!0,refetchOnWindowFocus:!0,refetchOnReconnect:"always"}}}),Y2=e=>{const t=document.getElementById(e);if(t===null)return;const n=t.attachShadow({mode:"open"}),r=document.createElement("div"),o=document.createElement("style"),i=document.getElementById("react-css");if(i){const l=document.createElement("link");l.setAttribute("rel","stylesheet"),l.setAttribute("href",i.href),n.appendChild(i)}n.appendChild(r),n.appendChild(o);const a=C$({key:"css",prepend:!0,container:o});Ml(r).render(x(kH,{value:a,children:x(g.Suspense,{fallback:x(ri,{}),children:x(D_,{children:x(Dc,{theme:Zat(r),children:x(gd,{client:Nd,children:x(K2,{})})})})})}))},YV=document.getElementById("root");YV&&Ml(YV).render(x(V.StrictMode,{children:x(g.Suspense,{fallback:x(ri,{}),children:x(D_,{children:x(Dc,{theme:Xc,children:z(gd,{client:Nd,children:[x(ogt,{}),x(Ose,{})]})})})})}));const QV=document.getElementById("react-weight-overview");QV&&Ml(QV).render(x(g.Suspense,{fallback:x(ri,{}),children:x(Dc,{theme:Xc,children:x(gd,{client:Nd,children:x(UX,{})})})}));const XV=document.getElementById("react-weight-dashboard");XV&&Ml(XV).render(x(g.Suspense,{fallback:x(ri,{}),children:x(Dc,{theme:Xc,children:x(gd,{client:Nd,children:x(bX,{})})})}));const JV=document.getElementById("react-nutrition-dashboard");JV&&Ml(JV).render(x(g.Suspense,{fallback:x(ri,{}),children:x(Dc,{theme:Xc,children:x(gd,{client:Nd,children:x(FQ,{})})})}));const ZV=document.getElementById("react-routine-dashboard");ZV&&Ml(ZV).render(x(g.Suspense,{fallback:x(ri,{}),children:x(Dc,{theme:Xc,children:x(gd,{client:Nd,children:x(eX,{})})})}));Y2("react-exercise-overview");Y2("react-exercise-contribute");const eH=document.getElementById("react-exercise-detail");eH&&Ml(eH).render(x(g.Suspense,{fallback:x(ri,{}),children:x(D_,{children:x(Dc,{theme:Xc,children:x(gd,{client:Nd,children:x(K2,{})})})})}));Y2("react-page");const tH=document.getElementById("react-ingredient-search");tH&&Ml(tH).render(x(g.Suspense,{fallback:x(ri,{}),children:x(Dc,{theme:Xc,children:x(wrt,{})})}))});export default nvt(); +`}${a}`.trim()}function uK(e){const t=document.createElement("span");t.style.whiteSpace="pre",t.style.userSelect="all",t.style.opacity="0px",t.textContent=e,document.body.appendChild(t);const n=document.createRange();n.selectNode(t);const r=window.getSelection();r.removeAllRanges(),r.addRange(n);try{document.execCommand("copy")}finally{document.body.removeChild(t)}}function rMt(e){navigator.clipboard?navigator.clipboard.writeText(e).catch(()=>{uK(e)}):uK(e)}function oMt(e){var t;return!!((t=window.getSelection())!=null&&t.toString()||e&&(e.selectionEnd||0)-(e.selectionStart||0)>0)}const iMt=(e,t)=>{const n=t.ignoreValueFormatterDuringExport,r=(typeof n=="object"?n==null?void 0:n.clipboardExport:n)||!1,o=t.clipboardCopyCellDelimiter,i=y.useCallback(a=>{if(!aIt(a)||oMt(a.target))return;let s="";if(e.current.getSelectedRows().size>0)s=e.current.getDataAsCsv({includeHeaders:!1,delimiter:o,shouldAppendQuotes:!1,escapeFormulas:!1});else{const c=Fa(e);if(c){const u=e.current.getCellParams(c.id,c.field);s=Yce(u,{csvOptions:{delimiter:o,shouldAppendQuotes:!1,escapeFormulas:!1},ignoreValueFormatter:r})}}s=e.current.unstable_applyPipeProcessors("clipboardCopy",s),s&&(rMt(s),e.current.publishEvent("clipboardCopy",s))},[e,r,o]);gce(e,e.current.rootElementRef,"keydown",i),lr(e,"clipboardCopy",t.onClipboardCopy)},aMt=e=>W({},e,{columnMenu:{open:!1}}),sMt=e=>{const t=Lo(e,"useGridColumnMenu"),n=y.useCallback(a=>{const s=eT(e.current.state),l={open:!0,field:a};(l.open!==s.open||l.field!==s.field)&&(e.current.setState(u=>u.columnMenu.open&&u.columnMenu.field===a?u:(t.debug("Opening Column Menu"),W({},u,{columnMenu:{open:!0,field:a}}))),e.current.hidePreferences(),e.current.forceUpdate())},[e,t]),r=y.useCallback(()=>{const a=eT(e.current.state);if(a.field){const c=dd(e),u=Qs(e),d=Nu(e);let f=a.field;if(c[f]||(f=d[0]),u[f]===!1){const p=d.filter(g=>g===f?!0:u[g]!==!1),m=p.indexOf(f);f=p[m+1]||p[m-1]}e.current.setColumnHeaderFocus(f)}const s={open:!1,field:void 0};(s.open!==a.open||s.field!==a.field)&&(e.current.setState(c=>(t.debug("Hiding Column Menu"),W({},c,{columnMenu:s}))),e.current.forceUpdate())},[e,t]),o=y.useCallback(a=>{t.debug("Toggle Column Menu");const s=eT(e.current.state);!s.open||s.field!==a?n(a):r()},[e,t,n,r]);Jt(e,{showColumnMenu:n,hideColumnMenu:r,toggleColumnMenu:o},"public"),ht(e,"columnResizeStart",r),ht(e,"virtualScrollerWheel",e.current.hideColumnMenu),ht(e,"virtualScrollerTouchMove",e.current.hideColumnMenu)},lMt=(e,t,n)=>{var o,i,a;const r=yg({apiRef:n,columnsToUpsert:t.columns,initialState:(o=t.initialState)==null?void 0:o.columns,columnVisibilityModel:t.columnVisibilityModel??((a=(i=t.initialState)==null?void 0:i.columns)==null?void 0:a.columnVisibilityModel)??{},keepOnlyColumnsToUpsert:!0});return W({},e,{columns:r,pinnedColumns:e.pinnedColumns??QN})};function cMt(e,t){var I,R;const n=Lo(e,"useGridColumns"),r=y.useRef(t.columns);e.current.registerControlState({stateId:"visibleColumns",propModel:t.columnVisibilityModel,propOnChange:t.onColumnVisibilityModelChange,stateSelector:Qs,changeEvent:"columnVisibilityModelChange"});const o=y.useCallback(N=>{var L,j;n.debug("Updating columns state."),e.current.setState(dK(N)),e.current.publishEvent("columnsChange",N.orderedFields),(j=(L=e.current).updateRenderContext)==null||j.call(L),e.current.forceUpdate()},[n,e]),i=y.useCallback(N=>dd(e)[N],[e]),a=y.useCallback(()=>ec(e),[e]),s=y.useCallback(()=>vo(e),[e]),l=y.useCallback((N,L=!0)=>(L?vo(e):ec(e)).findIndex(_=>_.field===N),[e]),c=y.useCallback(N=>{const L=l(N);return ip(e)[L]},[e,l]),u=y.useCallback(N=>{var j,_;Qs(e)!==N&&(e.current.setState(D=>W({},D,{columns:yg({apiRef:e,columnsToUpsert:[],initialState:void 0,columnVisibilityModel:N,keepOnlyColumnsToUpsert:!1})})),(_=(j=e.current).updateRenderContext)==null||_.call(j),e.current.forceUpdate())},[e]),d=y.useCallback(N=>{const L=yg({apiRef:e,columnsToUpsert:N,initialState:void 0,keepOnlyColumnsToUpsert:!1});o(L)},[e,o]),f=y.useCallback((N,L)=>{const j=Qs(e),_=j[N]??!0;if(L!==_){const D=W({},j,{[N]:L});e.current.setColumnVisibilityModel(D)}},[e]),p=y.useCallback(N=>Nu(e).findIndex(j=>j===N),[e]),m=y.useCallback((N,L)=>{const j=Nu(e),_=p(N);if(_===L)return;n.debug(`Moving column ${N} to index ${L}`);const D=[...j],z=D.splice(_,1)[0];D.splice(L,0,z),o(W({},Lc(e.current.state),{orderedFields:D}));const F={column:e.current.getColumn(N),targetIndex:e.current.getColumnIndexRelativeToVisibleColumns(N),oldIndex:_};e.current.publishEvent("columnIndexChange",F)},[e,n,o,p]),g=y.useCallback((N,L)=>{n.debug(`Updating column ${N} width to ${L}`);const j=Lc(e.current.state),_=j.lookup[N],D=W({},_,{width:L,hasBeenResized:!0});o(ZN(W({},j,{lookup:W({},j.lookup,{[N]:D})}),e.current.getRootDimensions())),e.current.publishEvent("columnWidthChange",{element:e.current.getColumnHeaderElement(N),colDef:D,width:L})},[e,n,o]),v={getColumn:i,getAllColumns:a,getColumnIndex:l,getColumnPosition:c,getVisibleColumns:s,getColumnIndexRelativeToVisibleColumns:p,updateColumns:d,setColumnVisibilityModel:u,setColumnVisibility:f,setColumnWidth:g},w={setColumnIndex:m};Jt(e,v,"public"),Jt(e,w,t.signature===ol.DataGrid?"private":"public");const x=y.useCallback((N,L)=>{var H,U;const j={},_=Qs(e);(!L.exportOnlyDirtyModels||t.columnVisibilityModel!=null||Object.keys(((U=(H=t.initialState)==null?void 0:H.columns)==null?void 0:U.columnVisibilityModel)??{}).length>0||Object.keys(_).length>0)&&(j.columnVisibilityModel=_),j.orderedFields=Nu(e);const z=ec(e),F={};return z.forEach(q=>{if(q.hasBeenResized){const X={};Oce.forEach(ae=>{let Z=q[ae];Z===1/0&&(Z=-1),X[ae]=Z}),F[q.field]=X}}),Object.keys(F).length>0&&(j.dimensions=F),W({},N,{columns:j})},[e,t.columnVisibilityModel,(I=t.initialState)==null?void 0:I.columns]),S=y.useCallback((N,L)=>{var z;const j=(z=L.stateToRestore.columns)==null?void 0:z.columnVisibilityModel,_=L.stateToRestore.columns;if(j==null&&_==null)return N;const D=yg({apiRef:e,columnsToUpsert:[],initialState:_,columnVisibilityModel:j,keepOnlyColumnsToUpsert:!1});return e.current.setState(dK(D)),_!=null&&e.current.publishEvent("columnsChange",D.orderedFields),N},[e]),P=y.useCallback((N,L)=>{var j;if(L===Bh.columns){const _=t.slots.columnsPanel;return $.jsx(_,W({},(j=t.slotProps)==null?void 0:j.columnsPanel))}return N},[t.slots.columnsPanel,(R=t.slotProps)==null?void 0:R.columnsPanel]),T=y.useCallback(N=>t.disableColumnSelector?N:[...N,"columnMenuColumnsItem"],[t.disableColumnSelector]);$r(e,"columnMenu",T),$r(e,"exportState",x),$r(e,"restoreState",S),$r(e,"preferencePanel",P);const E=y.useRef(null);ht(e,"viewportInnerSizeChange",N=>{E.current!==N.width&&(E.current=N.width,o(ZN(Lc(e.current.state),e.current.getRootDimensions())))});const k=y.useCallback(()=>{n.info("Columns pipe processing have changed, regenerating the columns");const N=yg({apiRef:e,columnsToUpsert:[],initialState:void 0,keepOnlyColumnsToUpsert:!1});o(N)},[e,n,o]);Jz(e,"hydrateColumns",k);const A=y.useRef(!0);y.useEffect(()=>{if(A.current){A.current=!1;return}if(n.info(`GridColumns have changed, new length ${t.columns.length}`),r.current===t.columns)return;const N=yg({apiRef:e,initialState:void 0,columnsToUpsert:t.columns,keepOnlyColumnsToUpsert:!0});r.current=t.columns,o(N)},[n,e,o,t.columns]),y.useEffect(()=>{t.columnVisibilityModel!==void 0&&e.current.setColumnVisibilityModel(t.columnVisibilityModel)},[e,n,t.columnVisibilityModel])}function dK(e){return t=>W({},t,{columns:e})}const uMt=(e,t)=>{var n;return W({},e,{density:((n=t.initialState)==null?void 0:n.density)??t.density??"standard"})},dMt=(e,t)=>{var s;const n=Lo(e,"useDensity");e.current.registerControlState({stateId:"density",propModel:t.density,propOnChange:t.onDensityChange,stateSelector:Hg,changeEvent:"densityChange"});const o={setDensity:wr(l=>{Hg(e.current.state)!==l&&(n.debug(`Set grid density to ${l}`),e.current.setState(u=>W({},u,{density:l})))})};Jt(e,o,"public");const i=y.useCallback((l,c)=>{var f;const u=Hg(e.current.state);return!c.exportOnlyDirtyModels||t.density!=null||((f=t.initialState)==null?void 0:f.density)!=null?W({},l,{density:u}):l},[e,t.density,(s=t.initialState)==null?void 0:s.density]),a=y.useCallback((l,c)=>{var d;const u=(d=c.stateToRestore)!=null&&d.density?c.stateToRestore.density:Hg(e.current.state);return e.current.setState(f=>W({},f,{density:u})),l},[e]);$r(e,"exportState",i),$r(e,"restoreState",a),y.useEffect(()=>{t.density&&e.current.setDensity(t.density)},[e,t.density])};function fMt(e,t="csv",n=document.title||"untitled"){const r=`${n}.${t}`;if("download"in HTMLAnchorElement.prototype){const o=URL.createObjectURL(e),i=document.createElement("a");i.href=o,i.download=r,i.click(),setTimeout(()=>{URL.revokeObjectURL(o)});return}throw new Error("MUI X: exportAs not supported.")}const Xce=({apiRef:e,options:t})=>{const n=ec(e);return t.fields?t.fields.reduce((o,i)=>{const a=n.find(s=>s.field===i);return a&&o.push(a),o},[]):(t.allColumns?n:vo(e)).filter(o=>!o.disableExport)},Qce=({apiRef:e})=>{var l,c;const t=fce(e),n=xi(e),r=e.current.getSelectedRows(),o=t.filter(u=>n[u].type!=="footer"),i=mm(e),a=((l=i==null?void 0:i.top)==null?void 0:l.map(u=>u.id))||[],s=((c=i==null?void 0:i.bottom)==null?void 0:c.map(u=>u.id))||[];return o.unshift(...a),o.push(...s),r.size>0?o.filter(u=>r.has(u)):o},pMt=(e,t)=>{const n=Lo(e,"useGridCsvExport"),r=t.ignoreValueFormatterDuringExport,o=(typeof r=="object"?r==null?void 0:r.csvExport:r)||!1,i=y.useCallback((c={})=>{n.debug("Get data as CSV");const u=Xce({apiRef:e,options:c}),f=(c.getRowsToExport??Qce)({apiRef:e});return nMt({columns:u,rowIds:f,csvOptions:{delimiter:c.delimiter||",",shouldAppendQuotes:c.shouldAppendQuotes??!0,includeHeaders:c.includeHeaders??!0,includeColumnGroupsHeaders:c.includeColumnGroupsHeaders??!0,escapeFormulas:c.escapeFormulas??!0},ignoreValueFormatter:o,apiRef:e})},[n,e,o]),a=y.useCallback(c=>{n.debug("Export data as CSV");const u=i(c),d=new Blob([c!=null&&c.utf8WithBom?new Uint8Array([239,187,191]):"",u],{type:"text/csv"});fMt(d,"csv",c==null?void 0:c.fileName)},[n,i]);Jt(e,{getDataAsCsv:i,exportDataAsCsv:a},"public");const l=y.useCallback((c,u)=>{var d;return(d=u.csvOptions)!=null&&d.disableToolbarButton?c:[...c,{component:$.jsx(skt,{options:u.csvOptions}),componentName:"csvExport"}]},[]);$r(e,"exportMenu",l)},nT=(e,t,n)=>{let r=e.paginationModel;const o=e.rowCount,i=(n==null?void 0:n.pageSize)??r.pageSize,a=(n==null?void 0:n.page)??r.page,s=yce(o,i,a);n&&((n==null?void 0:n.page)!==r.page||(n==null?void 0:n.pageSize)!==r.pageSize)&&(r=n);const l=CPt(r.page,s);return l!==r.page&&(r=W({},r,{page:l})),bce(r.pageSize,t),r},hMt=(e,t)=>{var m,g;const n=Lo(e,"useGridPaginationModel"),r=Ye(e,h1),o=Math.floor(t.rowHeight*r);e.current.registerControlState({stateId:"paginationModel",propModel:t.paginationModel,propOnChange:t.onPaginationModelChange,stateSelector:Fi,changeEvent:"paginationModelChange"});const i=y.useCallback(v=>{const w=Fi(e);v!==w.page&&(n.debug(`Setting page to ${v}`),e.current.setPaginationModel({page:v,pageSize:w.pageSize}))},[e,n]),a=y.useCallback(v=>{const w=Fi(e);v!==w.pageSize&&(n.debug(`Setting page size to ${v}`),e.current.setPaginationModel({pageSize:v,page:w.page}))},[e,n]),s=y.useCallback(v=>{const w=Fi(e);v!==w&&(n.debug("Setting 'paginationModel' to",v),e.current.setState(x=>W({},x,{pagination:W({},x.pagination,{paginationModel:nT(x.pagination,t.signature,v)})})))},[e,n,t.signature]);Jt(e,{setPage:i,setPageSize:a,setPaginationModel:s},"public");const c=y.useCallback((v,w)=>{var P,T;const x=Fi(e);return!w.exportOnlyDirtyModels||t.paginationModel!=null||((T=(P=t.initialState)==null?void 0:P.pagination)==null?void 0:T.paginationModel)!=null||x.page!==0&&x.pageSize!==SPt(t.autoPageSize)?W({},v,{pagination:W({},v.pagination,{paginationModel:x})}):v},[e,t.paginationModel,(g=(m=t.initialState)==null?void 0:m.pagination)==null?void 0:g.paginationModel,t.autoPageSize]),u=y.useCallback((v,w)=>{var S,P;const x=(S=w.stateToRestore.pagination)!=null&&S.paginationModel?W({},vce(t.autoPageSize),(P=w.stateToRestore.pagination)==null?void 0:P.paginationModel):Fi(e);return e.current.setState(T=>W({},T,{pagination:W({},T.pagination,{paginationModel:nT(T.pagination,t.signature,x)})})),v},[e,t.autoPageSize,t.signature]);$r(e,"exportState",c),$r(e,"restoreState",u);const d=()=>{var w;const v=Fi(e);(w=e.current.virtualScrollerRef)!=null&&w.current&&e.current.scrollToIndexes({rowIndex:v.page*v.pageSize})},f=y.useCallback(()=>{if(!t.autoPageSize)return;const v=e.current.getRootDimensions(),w=Math.floor(v.viewportInnerSize.height/o);e.current.setPageSize(w)},[e,t.autoPageSize,o]),p=y.useCallback(v=>{if(v==null)return;const w=Fi(e),x=wce(e);w.page>x-1&&e.current.setPage(Math.max(0,x-1))},[e]);ht(e,"viewportInnerSizeChange",f),ht(e,"paginationModelChange",d),ht(e,"rowCountChange",p),y.useEffect(()=>{e.current.setState(v=>W({},v,{pagination:W({},v.pagination,{paginationModel:nT(v.pagination,t.signature,t.paginationModel)})}))},[e,t.paginationModel,t.paginationMode,t.signature]),y.useEffect(f,[f])};function mMt(){return new Promise(e=>{requestAnimationFrame(()=>{e()})})}function gMt(e){const t=document.createElement("iframe");return t.style.position="absolute",t.style.width="0px",t.style.height="0px",t.title=e||document.title,t}const yMt=(e,t)=>{const n=e.current.rootElementRef.current!==null,r=Lo(e,"useGridPrintExport"),o=y.useRef(null),i=y.useRef(null),a=y.useRef({}),s=y.useRef([]),l=y.useRef();y.useEffect(()=>{o.current=Pf(e.current.rootElementRef.current)},[e,n]);const c=y.useCallback((v,w,x)=>new Promise(S=>{const P=Xce({apiRef:e,options:{fields:v,allColumns:w}}).map(O=>O.field),T=ec(e),E={};T.forEach(O=>{E[O.field]=P.includes(O.field)}),x&&(E[kb.field]=!0),e.current.setColumnVisibilityModel(E),S()}),[e]),u=y.useCallback(v=>{const x=v({apiRef:e}).reduce((S,P)=>{const T=e.current.getRow(P);return T[hy]||S.push(T),S},[]);e.current.setRows(x)},[e]),d=y.useCallback((v,w)=>{var j,_,D,z;const x=W({copyStyles:!0,hideToolbar:!1,hideFooter:!1,includeCheckboxes:!1},w),S=v.contentDocument;if(!S)return;const P=Mb(e.current.state),T=e.current.rootElementRef.current,E=T.cloneNode(!0),O=E.querySelector(`.${se.main}`);O.style.overflow="visible",E.style.contain="size";let k=((j=T.querySelector(`.${se.toolbarContainer}`))==null?void 0:j.offsetHeight)||0,A=((_=T.querySelector(`.${se.footerContainer}`))==null?void 0:_.offsetHeight)||0;x.hideToolbar&&((D=E.querySelector(`.${se.toolbarContainer}`))==null||D.remove(),k=0),x.hideFooter&&((z=E.querySelector(`.${se.footerContainer}`))==null||z.remove(),A=0);const I=P.currentPageTotalHeight+Uz(e,t)+k+A;if(E.style.height=`${I}px`,E.style.boxSizing="content-box",!x.hideFooter){const F=E.querySelector(`.${se.footerContainer}`);F.style.position="absolute",F.style.width="100%",F.style.top=`${I-A}px`}const R=document.createElement("div");R.appendChild(E),S.body.style.marginTop="0px",S.body.innerHTML=R.innerHTML;const N=typeof x.pageStyle=="function"?x.pageStyle():x.pageStyle;if(typeof N=="string"){const F=S.createElement("style");F.appendChild(S.createTextNode(N)),S.head.appendChild(F)}x.bodyClassName&&S.body.classList.add(...x.bodyClassName.split(" "));const L=[];if(x.copyStyles){const F=T.getRootNode(),U=(F.constructor.name==="ShadowRoot"?F:o.current).querySelectorAll("style, link[rel='stylesheet']");for(let q=0;q{ae.addEventListener("load",()=>Z())})),S.head.appendChild(ae)}}}Promise.all(L).then(()=>{v.contentWindow.print()})},[e,o,t]),f=y.useCallback(v=>{var w,x;o.current.body.removeChild(v),e.current.restoreState(i.current||{}),(x=(w=i.current)==null?void 0:w.columns)!=null&&x.columnVisibilityModel||e.current.setColumnVisibilityModel(a.current),e.current.setState(S=>W({},S,{virtualization:l.current})),e.current.setRows(s.current),i.current=null,a.current={},s.current=[]},[e]),m={exportDataAsPrint:y.useCallback(async v=>{if(r.debug("Export data as Print"),!e.current.rootElementRef.current)throw new Error("MUI X: No grid root element available.");if(i.current=e.current.exportState(),a.current=Qs(e),s.current=e.current.getSortedRows().filter(x=>!x[hy]),t.pagination){const S={page:0,pageSize:Fz(e)};e.current.setState(P=>W({},P,{pagination:W({},P.pagination,{paginationModel:nT(P.pagination,"DataGridPro",S)})}))}l.current=e.current.state.virtualization,e.current.setState(x=>W({},x,{virtualization:W({},x.virtualization,{enabled:!1,enabledForColumns:!1})})),await c(v==null?void 0:v.fields,v==null?void 0:v.allColumns,v==null?void 0:v.includeCheckboxes),u((v==null?void 0:v.getRowsToExport)??Qce),await mMt();const w=gMt(v==null?void 0:v.fileName);w.onload=()=>{d(w,v),w.contentWindow.matchMedia("print").addEventListener("change",S=>{S.matches===!1&&f(w)})},o.current.body.appendChild(w)},[t,r,e,d,f,c,u])};Jt(e,m,"public");const g=y.useCallback((v,w)=>{var x;return(x=w.printOptions)!=null&&x.disableToolbarButton?v:[...v,{component:$.jsx(lkt,{options:w.printOptions}),componentName:"printExport"}]},[]);$r(e,"exportMenu",g)},vMt=(e,t,n)=>{var o,i;const r=t.filterModel??((i=(o=t.initialState)==null?void 0:o.filter)==null?void 0:i.filterModel)??Zx();return W({},e,{filter:{filterModel:Dz(r,t.disableMultipleColumnsFiltering,n),filteredRowsLookup:{},filteredChildrenCountLookup:{},filteredDescendantCountLookup:{}},visibleRowsLookup:{}})},bMt=e=>e.filteredRowsLookup;function fK(e,t){return e.current.applyStrategyProcessor("visibleRowsLookupCreation",{tree:t.rows.tree,filteredRowsLookup:t.filter.filteredRowsLookup})}function wMt(){return Hle(Object.values)}const xMt=(e,t)=>{var A,I,R;const n=Lo(e,"useGridFilter");e.current.registerControlState({stateId:"filter",propModel:t.filterModel,propOnChange:t.onFilterModelChange,stateSelector:ti,changeEvent:"filterModelChange"});const r=y.useCallback(()=>{e.current.setState(N=>{const L=ti(N,e.current.instanceId),j=e.current.getFilterState(L),_=W({},N,{filter:W({},N.filter,j)}),D=fK(e,_);return W({},_,{visibleRowsLookup:D})}),e.current.publishEvent("filteredRowsSet")},[e]),o=y.useCallback((N,L)=>L==null||L.filterable===!1||t.disableColumnFilter?N:[...N,"columnMenuFilterItem"],[t.disableColumnFilter]),i=y.useCallback(()=>{r(),e.current.forceUpdate()},[e,r]),a=y.useCallback(N=>{const L=ti(e),j=[...L.items],_=j.findIndex(D=>D.id===N.id);_===-1?j.push(N):j[_]=N,e.current.setFilterModel(W({},L,{items:j}),"upsertFilterItem")},[e]),s=y.useCallback(N=>{const L=ti(e),j=[...L.items];N.forEach(_=>{const D=j.findIndex(z=>z.id===_.id);D===-1?j.push(_):j[D]=_}),e.current.setFilterModel(W({},L,{items:j}),"upsertFilterItems")},[e]),l=y.useCallback(N=>{const L=ti(e),j=L.items.filter(_=>_.id!==N.id);j.length!==L.items.length&&e.current.setFilterModel(W({},L,{items:j}),"deleteFilterItem")},[e]),c=y.useCallback((N,L,j)=>{if(n.debug("Displaying filter panel"),N){const _=ti(e),D=_.items.filter(U=>{var Z;if(U.value!==void 0)return!(Array.isArray(U.value)&&U.value.length===0);const X=(Z=e.current.getColumn(U.field).filterOperators)==null?void 0:Z.find(K=>K.value===U.operator);return!(typeof(X==null?void 0:X.requiresFilterValue)>"u"?!0:X==null?void 0:X.requiresFilterValue)});let z;const F=D.find(U=>U.field===N),H=e.current.getColumn(N);F?z=D:t.disableMultipleColumnsFiltering?z=[JN({field:N,operator:H.filterOperators[0].value},e)]:z=[...D,JN({field:N,operator:H.filterOperators[0].value},e)],e.current.setFilterModel(W({},_,{items:z}))}e.current.showPreferences(Bh.filters,L,j)},[e,n,t.disableMultipleColumnsFiltering]),u=y.useCallback(()=>{n.debug("Hiding filter panel"),e.current.hidePreferences()},[e,n]),d=y.useCallback(N=>{const L=ti(e);L.logicOperator!==N&&e.current.setFilterModel(W({},L,{logicOperator:N}),"changeLogicOperator")},[e]),f=y.useCallback(N=>{const L=ti(e);py(L.quickFilterValues,N)||e.current.setFilterModel(W({},L,{quickFilterValues:[...N]}))},[e]),p=y.useCallback((N,L)=>{ti(e)!==N&&(n.debug("Setting filter model"),e.current.updateControlState("filter",Pq(N,t.disableMultipleColumnsFiltering,e),L),e.current.unstable_applyFilters())},[e,n,t.disableMultipleColumnsFiltering]),m=y.useCallback(N=>{const L=Dz(N,t.disableMultipleColumnsFiltering,e),j=t.filterMode==="client"?vCt(L,e,t.disableEval):null,_=e.current.applyStrategyProcessor("filtering",{isRowMatchingFilters:j,filterModel:L??Zx()});return W({},_,{filterModel:L})},[t.disableMultipleColumnsFiltering,t.filterMode,t.disableEval,e]),g={setFilterLogicOperator:d,unstable_applyFilters:i,deleteFilterItem:l,upsertFilterItem:a,upsertFilterItems:s,setFilterModel:p,showFilterPanel:c,hideFilterPanel:u,setQuickFilterValues:f,ignoreDiacritics:t.ignoreDiacritics,getFilterState:m};Jt(e,g,"public");const v=y.useCallback((N,L)=>{var D,z;const j=ti(e);return!L.exportOnlyDirtyModels||t.filterModel!=null||((z=(D=t.initialState)==null?void 0:D.filter)==null?void 0:z.filterModel)!=null||!py(j,Zx())?W({},N,{filter:{filterModel:j}}):N},[e,t.filterModel,(I=(A=t.initialState)==null?void 0:A.filter)==null?void 0:I.filterModel]),w=y.useCallback((N,L)=>{var _;const j=(_=L.stateToRestore.filter)==null?void 0:_.filterModel;return j==null?N:(e.current.updateControlState("filter",Pq(j,t.disableMultipleColumnsFiltering,e),"restoreState"),W({},N,{callbacks:[...N.callbacks,e.current.unstable_applyFilters]}))},[e,t.disableMultipleColumnsFiltering]),x=y.useCallback((N,L)=>{var j;if(L===Bh.filters){const _=t.slots.filterPanel;return $.jsx(_,W({},(j=t.slotProps)==null?void 0:j.filterPanel))}return N},[t.slots.filterPanel,(R=t.slotProps)==null?void 0:R.filterPanel]),{getRowId:S}=t,P=eu(wMt),T=y.useCallback(N=>{if(t.filterMode!=="client"||!N.isRowMatchingFilters)return{filteredRowsLookup:{},filteredChildrenCountLookup:{},filteredDescendantCountLookup:{}};const L=uf(e),j={},{isRowMatchingFilters:_}=N,D={},z={passingFilterItems:null,passingQuickFilterValues:null},F=P.current(e.current.state.rows.dataRowIdToModelLookup);for(let q=0;q{n.debug("onColUpdated - GridColumns changed, applying filters");const N=ti(e),L=dd(e),j=N.items.filter(_=>_.field&&L[_.field]);j.length{N==="filtering"&&e.current.unstable_applyFilters()},[e]),k=y.useCallback(()=>{e.current.setState(N=>W({},N,{visibleRowsLookup:fK(e,N)})),e.current.forceUpdate()},[e]);ht(e,"rowsSet",r),ht(e,"columnsChange",E),ht(e,"activeStrategyProcessorChange",O),ht(e,"rowExpansionChange",k),ht(e,"columnVisibilityModelChange",()=>{const N=ti(e);N.quickFilterValues&&nce(N)&&e.current.unstable_applyFilters()}),y1(()=>{e.current.unstable_applyFilters()}),_o(()=>{t.filterModel!==void 0&&e.current.setFilterModel(t.filterModel)},[e,n,t.filterModel])},SMt=e=>W({},e,{focus:{cell:null,columnHeader:null,columnHeaderFilter:null,columnGroupHeader:null},tabIndex:{cell:null,columnHeader:null,columnHeaderFilter:null,columnGroupHeader:null}}),CMt=(e,t)=>{const n=Lo(e,"useGridFocus"),r=y.useRef(null),o=e.current.rootElementRef.current!==null,i=y.useCallback((k,A)=>{k&&e.current.getRow(k.id)&&e.current.publishEvent("cellFocusOut",e.current.getCellParams(k.id,k.field),A)},[e]),a=y.useCallback((k,A)=>{const I=Fa(e);(I==null?void 0:I.id)===k&&(I==null?void 0:I.field)===A||(e.current.setState(R=>(n.debug(`Focusing on cell with id=${k} and field=${A}`),W({},R,{tabIndex:{cell:{id:k,field:A},columnHeader:null,columnHeaderFilter:null,columnGroupHeader:null},focus:{cell:{id:k,field:A},columnHeader:null,columnHeaderFilter:null,columnGroupHeader:null}}))),e.current.forceUpdate(),e.current.getRow(k)&&(I&&i(I,{}),e.current.publishEvent("cellFocusIn",e.current.getCellParams(k,A))))},[e,n,i]),s=y.useCallback((k,A={})=>{const I=Fa(e);i(I,A),e.current.setState(R=>(n.debug(`Focusing on column header with colIndex=${k}`),W({},R,{tabIndex:{columnHeader:{field:k},columnHeaderFilter:null,cell:null,columnGroupHeader:null},focus:{columnHeader:{field:k},columnHeaderFilter:null,cell:null,columnGroupHeader:null}}))),e.current.forceUpdate()},[e,n,i]),l=y.useCallback((k,A={})=>{const I=Fa(e);i(I,A),e.current.setState(R=>(n.debug(`Focusing on column header filter with colIndex=${k}`),W({},R,{tabIndex:{columnHeader:null,columnHeaderFilter:{field:k},cell:null,columnGroupHeader:null},focus:{columnHeader:null,columnHeaderFilter:{field:k},cell:null,columnGroupHeader:null}}))),e.current.forceUpdate()},[e,n,i]),c=y.useCallback((k,A,I={})=>{const R=Fa(e);R&&e.current.publishEvent("cellFocusOut",e.current.getCellParams(R.id,R.field),I),e.current.setState(N=>W({},N,{tabIndex:{columnGroupHeader:{field:k,depth:A},columnHeader:null,columnHeaderFilter:null,cell:null},focus:{columnGroupHeader:{field:k,depth:A},columnHeader:null,columnHeaderFilter:null,cell:null}})),e.current.forceUpdate()},[e]),u=y.useCallback(()=>bO(e),[e]),d=y.useCallback((k,A,I)=>{let R=e.current.getColumnIndex(A);const N=vo(e),L=gy(e,{pagination:t.pagination,paginationMode:t.paginationMode}),j=mm(e),_=[].concat(j.top||[],L.rows,j.bottom||[]);let D=_.findIndex(U=>U.id===k);I==="right"?R+=1:I==="left"?R-=1:D+=1,R>=N.length?(D+=1,D<_.length&&(R=0)):R<0&&(D-=1,D>=0&&(R=N.length-1)),D=Fc(D,0,_.length-1);const z=_[D];if(!z)return;const F=e.current.unstable_getCellColSpanInfo(z.id,R);F&&F.spannedByColSpan&&(I==="left"||I==="below"?R=F.leftVisibleCellIndex:I==="right"&&(R=F.rightVisibleCellIndex)),R=Fc(R,0,N.length-1);const H=N[R];e.current.setCellFocus(z.id,H.field)},[e,t.pagination,t.paginationMode]),f=y.useCallback(({id:k,field:A})=>{e.current.setCellFocus(k,A)},[e]),p=y.useCallback((k,A)=>{A.key==="Enter"||A.key==="Tab"||A.key==="Shift"||SO(A.key)||e.current.setCellFocus(k.id,k.field)},[e]),m=y.useCallback(({field:k},A)=>{A.target===A.currentTarget&&e.current.setColumnHeaderFocus(k,A)},[e]),g=y.useCallback(({fields:k,depth:A},I)=>{if(I.target!==I.currentTarget)return;const R=bO(e);R!==null&&R.depth===A&&k.includes(R.field)||e.current.setColumnGroupHeaderFocus(k[0],A,I)},[e]),v=y.useCallback((k,A)=>{var I,R;(R=(I=A.relatedTarget)==null?void 0:I.getAttribute("class"))!=null&&R.includes(se.columnHeader)||(n.debug("Clearing focus"),e.current.setState(N=>W({},N,{focus:{cell:null,columnHeader:null,columnHeaderFilter:null,columnGroupHeader:null}})))},[n,e]),w=y.useCallback(k=>{r.current=k},[]),x=y.useCallback(k=>{const A=r.current;r.current=null;const I=Fa(e);if(!e.current.unstable_applyPipeProcessors("canUpdateFocus",!0,{event:k,cell:A}))return;if(!I){A&&e.current.setCellFocus(A.id,A.field);return}if((A==null?void 0:A.id)===I.id&&(A==null?void 0:A.field)===I.field)return;const N=e.current.getCellElement(I.id,I.field);N!=null&&N.contains(k.target)||(A?e.current.setCellFocus(A.id,A.field):(e.current.setState(L=>W({},L,{focus:{cell:null,columnHeader:null,columnHeaderFilter:null,columnGroupHeader:null}})),e.current.forceUpdate(),i(I,k)))},[e,i]),S=y.useCallback(k=>{if(k.cellMode==="view")return;const A=Fa(e);((A==null?void 0:A.id)!==k.id||(A==null?void 0:A.field)!==k.field)&&e.current.setCellFocus(k.id,k.field)},[e]),P=y.useCallback(()=>{var A;const k=Fa(e);if(k&&!e.current.getRow(k.id)){const I=(A=Fa(e))==null?void 0:A.id;let R=null;if(typeof I<"u"){const N=e.current.getRowIndexRelativeToVisibleRows(I),L=gy(e,{pagination:t.pagination,paginationMode:t.paginationMode}),j=L.rows[Fc(N,0,L.rows.length-1)];R=(j==null?void 0:j.id)??null}e.current.setState(N=>W({},N,{focus:{cell:R===null?null:{id:R,field:k.field},columnHeader:null,columnHeaderFilter:null,columnGroupHeader:null}}))}},[e,t.pagination,t.paginationMode]),T=wr(()=>{const k=Fa(e);if(!k)return;const A=gy(e,{pagination:t.pagination,paginationMode:t.paginationMode});if(A.rows.find(N=>N.id===k.id))return;const R=vo(e);e.current.setState(N=>W({},N,{tabIndex:{cell:{id:A.rows[0].id,field:R[0].field},columnGroupHeader:null,columnHeader:null,columnHeaderFilter:null}}))}),E={setCellFocus:a,setColumnHeaderFocus:s,setColumnHeaderFilterFocus:l},O={moveFocusToRelativeCell:d,setColumnGroupHeaderFocus:c,getColumnGroupHeaderFocus:u};Jt(e,E,"public"),Jt(e,O,"private"),y.useEffect(()=>{const k=Pf(e.current.rootElementRef.current);return k.addEventListener("mouseup",x),()=>{k.removeEventListener("mouseup",x)}},[e,o,x]),ht(e,"columnHeaderBlur",v),ht(e,"cellDoubleClick",f),ht(e,"cellMouseDown",w),ht(e,"cellKeyDown",p),ht(e,"cellModeChange",S),ht(e,"columnHeaderFocus",m),ht(e,"columnGroupHeaderFocus",g),ht(e,"rowsSet",P),ht(e,"paginationModelChange",T)},PMt=e=>{const t=e.match(/^__row_group_by_columns_group_(.*)__$/);return t?t[1]:null},TMt=e=>e===lce||PMt(e)!==null;function EMt(e,t){const n=mm(e)||{};return[...n.top||[],...t,...n.bottom||[]]}const BR=({currentColIndex:e,firstColIndex:t,lastColIndex:n,isRtl:r})=>{if(r){if(et)return e-1;return null},zR=({currentColIndex:e,firstColIndex:t,lastColIndex:n,isRtl:r})=>{if(r){if(e>t)return e-1}else if(!r&&e=0&&a{const n=Lo(e,"useGridKeyboardNavigation"),r=sp(e,t).rows,o=nr(),i=t.unstable_listView,a=y.useMemo(()=>EMt(e,r),[e,r]),s=t.signature!=="DataGrid"&&t.headerFilters,l=y.useCallback((x,S,P="left",T="up")=>{const E=ap(e),O=e.current.unstable_getCellColSpanInfo(S,x);O&&O.spannedByColSpan&&(P==="left"?x=O.leftVisibleCellIndex:P==="right"&&(x=O.rightVisibleCellIndex));const k=i?kv(e.current.state).field:Eb(e)[x],A=OMt(e,S,k,T),I=E.findIndex(R=>R.id===A);n.debug(`Navigating to cell row ${I}, col ${x}`),e.current.scrollToIndexes({colIndex:x,rowIndex:I}),e.current.setCellFocus(A,k)},[e,n,i]),c=y.useCallback((x,S)=>{n.debug(`Navigating to header col ${x}`),e.current.scrollToIndexes({colIndex:x});const P=e.current.getVisibleColumns()[x].field;e.current.setColumnHeaderFocus(P,S)},[e,n]),u=y.useCallback((x,S)=>{n.debug(`Navigating to header filter col ${x}`),e.current.scrollToIndexes({colIndex:x});const P=e.current.getVisibleColumns()[x].field;e.current.setColumnHeaderFilterFocus(P,S)},[e,n]),d=y.useCallback((x,S,P)=>{n.debug(`Navigating to header col ${x}`),e.current.scrollToIndexes({colIndex:x});const{field:T}=e.current.getVisibleColumns()[x];e.current.setColumnGroupHeaderFocus(T,S,P)},[e,n]),f=y.useCallback(x=>{var S;return(S=a[x])==null?void 0:S.id},[a]),p=y.useCallback((x,S)=>{const P=S.currentTarget.querySelector(`.${se.columnHeaderTitleContainerContent}`);if(!!P&&P.contains(S.target)&&x.field!==kb.field)return;const E=e.current.getViewportPageSize(),O=x.field?e.current.getColumnIndex(x.field):0,k=a.length>0?0:null,A=a.length-1,I=0,R=vo(e).length-1,N=v1(e);let L=!0;switch(S.key){case"ArrowDown":{k!==null&&(s?u(O,S):l(O,f(k)));break}case"ArrowRight":{const j=zR({currentColIndex:O,firstColIndex:I,lastColIndex:R,isRtl:o});j!==null&&c(j,S);break}case"ArrowLeft":{const j=BR({currentColIndex:O,firstColIndex:I,lastColIndex:R,isRtl:o});j!==null&&c(j,S);break}case"ArrowUp":{N>0&&d(O,N-1,S);break}case"PageDown":{k!==null&&A!==null&&l(O,f(Math.min(k+E,A)));break}case"Home":{c(I,S);break}case"End":{c(R,S);break}case"Enter":{(S.ctrlKey||S.metaKey)&&e.current.toggleColumnMenu(x.field);break}case" ":break;default:L=!1}L&&S.preventDefault()},[e,a.length,s,u,l,f,o,c,d]),m=y.useCallback((x,S)=>{const P=cTt(e)===x.field,T=uTt(e)===x.field;if(P||T||!SO(S.key))return;const E=e.current.getViewportPageSize(),O=x.field?e.current.getColumnIndex(x.field):0,k=0,A=a.length-1,I=0,R=vo(e).length-1;let N=!0;switch(S.key){case"ArrowDown":{const L=f(k);L!=null&&l(O,L);break}case"ArrowRight":{const L=zR({currentColIndex:O,firstColIndex:I,lastColIndex:R,isRtl:o});L!==null&&u(L,S);break}case"ArrowLeft":{const L=BR({currentColIndex:O,firstColIndex:I,lastColIndex:R,isRtl:o});L!==null?u(L,S):e.current.setColumnHeaderFilterFocus(x.field,S);break}case"ArrowUp":{c(O,S);break}case"PageDown":{A!==null&&l(O,f(Math.min(k+E,A)));break}case"Home":{u(I,S);break}case"End":{u(R,S);break}case" ":break;default:N=!1}N&&S.preventDefault()},[e,a.length,u,o,c,l,f]),g=y.useCallback((x,S)=>{const P=bO(e);if(P===null)return;const{field:T,depth:E}=P,{fields:O,depth:k,maxDepth:A}=x,I=e.current.getViewportPageSize(),R=e.current.getColumnIndex(T),N=T?e.current.getColumnIndex(T):0,L=0,j=a.length-1,_=0,D=vo(e).length-1;let z=!0;switch(S.key){case"ArrowDown":{k===A-1?c(R,S):d(R,E+1,S);break}case"ArrowUp":{k>0&&d(R,E-1,S);break}case"ArrowRight":{const F=O.length-O.indexOf(T)-1;R+F+1<=D&&d(R+F+1,E,S);break}case"ArrowLeft":{const F=O.indexOf(T);R-F-1>=_&&d(R-F-1,E,S);break}case"PageDown":{j!==null&&l(N,f(Math.min(L+I,j)));break}case"Home":{d(_,E,S);break}case"End":{d(D,E,S);break}case" ":break;default:z=!1}z&&S.preventDefault()},[e,a.length,c,d,l,f]),v=y.useCallback((x,S)=>{if(b1(S))return;const P=e.current.getCellParams(x.id,x.field);if(P.cellMode===Zn.Edit||!SO(S.key)||!e.current.unstable_applyPipeProcessors("canUpdateFocus",!0,{event:S,cell:P})||a.length===0)return;const E=e.current.getViewportPageSize(),O=i?()=>0:e.current.getColumnIndex,k=x.field?O(x.field):0,A=a.findIndex(D=>D.id===x.id),I=0,R=a.length-1,N=0,j=(i?[kv(e.current.state)]:vo(e)).length-1;let _=!0;switch(S.key){case"ArrowDown":{AI?l(k,f(A-1)):s?u(k,S):c(k,S);break}case"ArrowRight":{const D=zR({currentColIndex:k,firstColIndex:N,lastColIndex:j,isRtl:o});D!==null&&l(D,f(A),o?"left":"right");break}case"ArrowLeft":{const D=BR({currentColIndex:k,firstColIndex:N,lastColIndex:j,isRtl:o});D!==null&&l(D,f(A),o?"right":"left");break}case"Tab":{S.shiftKey&&k>N?l(k-1,f(A),"left"):!S.shiftKey&&k=I?l(k,f(D)):c(k,S);break}case"Home":{S.ctrlKey||S.metaKey||S.shiftKey?l(N,f(I)):l(N,f(A));break}case"End":{S.ctrlKey||S.metaKey||S.shiftKey?l(j,f(R)):l(j,f(A));break}default:_=!1}_&&S.preventDefault()},[e,a,o,l,f,s,u,c,i]),w=y.useCallback((x,{event:S})=>S.key===" "?!1:x,[]);$r(e,"canStartEditing",w),ht(e,"columnHeaderKeyDown",p),ht(e,"headerFilterKeyDown",m),ht(e,"columnGroupHeaderKeyDown",g),ht(e,"cellKeyDown",v)},kMt=(e,t)=>{var m,g;const n=Lo(e,"useGridRowCount"),r=Ye(e,jz),o=Ye(e,Ug),i=Ye(e,Z0),a=Ye(e,Fi),s=eu(()=>Fi(e).pageSize);e.current.registerControlState({stateId:"paginationRowCount",propModel:t.rowCount,propOnChange:t.onRowCountChange,stateSelector:Ug,changeEvent:"rowCountChange"});const c={setRowCount:y.useCallback(v=>{o!==v&&(n.debug("Setting 'rowCount' to",v),e.current.setState(w=>W({},w,{pagination:W({},w.pagination,{rowCount:v})})))},[e,n,o])};Jt(e,c,"public");const u=y.useCallback((v,w)=>{var P,T;const x=Ug(e);return!w.exportOnlyDirtyModels||t.rowCount!=null||((T=(P=t.initialState)==null?void 0:P.pagination)==null?void 0:T.rowCount)!=null?W({},v,{pagination:W({},v.pagination,{rowCount:x})}):v},[e,t.rowCount,(g=(m=t.initialState)==null?void 0:m.pagination)==null?void 0:g.rowCount]),d=y.useCallback((v,w)=>{var S;const x=(S=w.stateToRestore.pagination)!=null&&S.rowCount?w.stateToRestore.pagination.rowCount:Ug(e);return e.current.setState(P=>W({},P,{pagination:W({},P.pagination,{rowCount:x})})),v},[e]);$r(e,"exportState",u),$r(e,"restoreState",d);const f=y.useCallback(v=>{t.paginationMode==="client"||!s.current||v.pageSize!==s.current&&(s.current=v.pageSize,o===-1&&e.current.setPage(0))},[t.paginationMode,s,o,e]);ht(e,"paginationModelChange",f),y.useEffect(()=>{t.paginationMode==="client"?e.current.setRowCount(r):t.rowCount!=null&&e.current.setRowCount(t.rowCount)},[e,t.paginationMode,r,t.rowCount]);const p=i.hasNextPage===!1;y.useEffect(()=>{p&&o===-1&&e.current.setRowCount(a.pageSize*a.page+r)},[e,r,p,o,a])},MMt=(e,t)=>{var l,c;const n=Lo(e,"useGridPaginationMeta"),r=Ye(e,Z0);e.current.registerControlState({stateId:"paginationMeta",propModel:t.paginationMeta,propOnChange:t.onPaginationMetaChange,stateSelector:Z0,changeEvent:"paginationMetaChange"});const i={setPaginationMeta:y.useCallback(u=>{r!==u&&(n.debug("Setting 'paginationMeta' to",u),e.current.setState(d=>W({},d,{pagination:W({},d.pagination,{meta:u})})))},[e,n,r])};Jt(e,i,"public");const a=y.useCallback((u,d)=>{var m,g;const f=Z0(e);return!d.exportOnlyDirtyModels||t.paginationMeta!=null||((g=(m=t.initialState)==null?void 0:m.pagination)==null?void 0:g.meta)!=null?W({},u,{pagination:W({},u.pagination,{meta:f})}):u},[e,t.paginationMeta,(c=(l=t.initialState)==null?void 0:l.pagination)==null?void 0:c.meta]),s=y.useCallback((u,d)=>{var p;const f=(p=d.stateToRestore.pagination)!=null&&p.meta?d.stateToRestore.pagination.meta:Z0(e);return e.current.setState(m=>W({},m,{pagination:W({},m.pagination,{meta:f})})),u},[e]);$r(e,"exportState",a),$r(e,"restoreState",s),y.useEffect(()=>{t.paginationMeta&&e.current.setPaginationMeta(t.paginationMeta)},[e,t.paginationMeta])},AMt=(e,t)=>{var i,a,s,l,c,u;const n=W({},vce(t.autoPageSize),t.paginationModel??((a=(i=t.initialState)==null?void 0:i.pagination)==null?void 0:a.paginationModel));bce(n.pageSize,t.signature);const r=t.rowCount??((l=(s=t.initialState)==null?void 0:s.pagination)==null?void 0:l.rowCount),o=t.paginationMeta??((u=(c=t.initialState)==null?void 0:c.pagination)==null?void 0:u.meta)??{};return W({},e,{pagination:{paginationModel:n,rowCount:r,meta:o}})},$Mt=(e,t)=>{MMt(e,t),hMt(e,t),kMt(e,t)},RMt=(e,t)=>{var n;return W({},e,{preferencePanel:((n=t.initialState)==null?void 0:n.preferencePanel)??{open:!1}})},_Mt=(e,t)=>{var d;const n=Lo(e,"useGridPreferencesPanel"),r=y.useRef(),o=y.useRef(),i=y.useCallback(()=>{n.debug("Hiding Preferences Panel");const f=tS(e.current.state);f.openedPanelValue&&e.current.publishEvent("preferencePanelClose",{openedPanelValue:f.openedPanelValue}),e.current.setState(p=>W({},p,{preferencePanel:{open:!1}})),e.current.forceUpdate()},[e,n]),a=y.useCallback(()=>{o.current=setTimeout(()=>clearTimeout(r.current),0)},[]),s=y.useCallback(()=>{r.current=setTimeout(i,100)},[i]),l=y.useCallback((f,p,m)=>{n.debug("Opening Preferences Panel"),a(),e.current.setState(g=>W({},g,{preferencePanel:W({},g.preferencePanel,{open:!0,openedPanelValue:f,panelId:p,labelId:m})})),e.current.publishEvent("preferencePanelOpen",{openedPanelValue:f}),e.current.forceUpdate()},[n,a,e]);Jt(e,{showPreferences:l,hidePreferences:s},"public");const c=y.useCallback((f,p)=>{var v;const m=tS(e.current.state);return!p.exportOnlyDirtyModels||((v=t.initialState)==null?void 0:v.preferencePanel)!=null||m.open?W({},f,{preferencePanel:m}):f},[e,(d=t.initialState)==null?void 0:d.preferencePanel]),u=y.useCallback((f,p)=>{const m=p.stateToRestore.preferencePanel;return m!=null&&e.current.setState(g=>W({},g,{preferencePanel:m})),f},[e]);$r(e,"exportState",c),$r(e,"restoreState",u),y.useEffect(()=>()=>{clearTimeout(r.current),clearTimeout(o.current)},[])},oL=e=>{switch(e.type){case"boolean":return!1;case"date":case"dateTime":case"number":return;case"singleSelect":return null;case"string":default:return""}},DMt=["id","field"],NMt=["id","field"],LMt=(e,t)=>{const[n,r]=y.useState({}),o=y.useRef(n),i=y.useRef({}),{processRowUpdate:a,onProcessRowUpdateError:s,cellModesModel:l,onCellModesModelChange:c}=t,u=_=>(...D)=>{t.editMode===Gc.Cell&&_(...D)},d=y.useCallback((_,D)=>{const z=e.current.getCellParams(_,D);if(!e.current.isCellEditable(z))throw new Error(`MUI X: The cell with id=${_} and field=${D} is not editable.`)},[e]),f=y.useCallback((_,D,z)=>{if(e.current.getCellMode(_,D)!==z)throw new Error(`MUI X: The cell with id=${_} and field=${D} is not in ${z} mode.`)},[e]),p=y.useCallback((_,D)=>{if(!_.isEditable||_.cellMode===Zn.Edit)return;const z=W({},_,{reason:gu.cellDoubleClick});e.current.publishEvent("cellEditStart",z,D)},[e]),m=y.useCallback((_,D)=>{if(_.cellMode===Zn.View||e.current.getCellMode(_.id,_.field)===Zn.View)return;const z=W({},_,{reason:_l.cellFocusOut});e.current.publishEvent("cellEditStop",z,D)},[e]),g=y.useCallback((_,D)=>{if(_.cellMode===Zn.Edit){if(D.which===229)return;let z;if(D.key==="Escape"?z=_l.escapeKeyDown:D.key==="Enter"?z=_l.enterKeyDown:D.key==="Tab"&&(z=D.shiftKey?_l.shiftTabKeyDown:_l.tabKeyDown,D.preventDefault()),z){const F=W({},_,{reason:z});e.current.publishEvent("cellEditStop",F,D)}}else if(_.isEditable){let z;if(!e.current.unstable_applyPipeProcessors("canStartEditing",!0,{event:D,cellParams:_,editMode:"cell"}))return;if(Uce(D)?z=gu.printableKeyDown:Wce(D)?z=gu.pasteKeyDown:D.key==="Enter"?z=gu.enterKeyDown:(D.key==="Backspace"||D.key==="Delete")&&(z=gu.deleteKeyDown),z){const H=W({},_,{reason:z,key:D.key});e.current.publishEvent("cellEditStart",H,D)}}},[e]),v=y.useCallback(_=>{const{id:D,field:z,reason:F}=_,H={id:D,field:z};(F===gu.printableKeyDown||F===gu.deleteKeyDown||F===gu.pasteKeyDown)&&(H.deleteValue=!0),e.current.startCellEditMode(H)},[e]),w=y.useCallback(_=>{const{id:D,field:z,reason:F}=_;e.current.runPendingEditCellValueMutation(D,z);let H;F===_l.enterKeyDown?H="below":F===_l.tabKeyDown?H="right":F===_l.shiftTabKeyDown&&(H="left");const U=F==="escapeKeyDown";e.current.stopCellEditMode({id:D,field:z,ignoreModifications:U,cellToFocusAfter:H})},[e]),x=_=>async(...D)=>{var z;if(_){const{id:F,field:H}=D[0];((z=e.current.state.editRows[F][H])==null?void 0:z.error)||_(...D)}};ht(e,"cellDoubleClick",u(p)),ht(e,"cellFocusOut",u(m)),ht(e,"cellKeyDown",u(g)),ht(e,"cellEditStart",u(v)),ht(e,"cellEditStop",u(w)),lr(e,"cellEditStart",t.onCellEditStart),lr(e,"cellEditStop",x(t.onCellEditStop));const S=y.useCallback((_,D)=>{const z=Ho(e.current.state);return z[_]&&z[_][D]?Zn.Edit:Zn.View},[e]),P=wr(_=>{const D=_!==t.cellModesModel;c&&D&&c(_,{api:e.current}),!(t.cellModesModel&&D)&&(r(_),o.current=_,e.current.publishEvent("cellModesModelChange",_))}),T=y.useCallback((_,D,z)=>{const F=W({},o.current);if(z!==null)F[_]=W({},F[_],{[D]:W({},z)});else{const H=F[_],U=At(H,[D].map(rS));F[_]=U,Object.keys(F[_]).length===0&&delete F[_]}P(F)},[P]),E=y.useCallback((_,D,z)=>{e.current.setState(F=>{const H=W({},F.editRows);return z!==null?H[_]=W({},H[_],{[D]:W({},z)}):(delete H[_][D],Object.keys(H[_]).length===0&&delete H[_]),W({},F,{editRows:H})}),e.current.forceUpdate()},[e]),O=y.useCallback(_=>{const{id:D,field:z}=_,F=At(_,DMt);d(D,z),f(D,z,Zn.View),T(D,z,W({mode:Zn.Edit},F))},[d,f,T]),k=wr(async _=>{const{id:D,field:z,deleteValue:F,initialValue:H}=_,U=e.current.getCellValue(D,z);let q=U;F?q=oL(e.current.getColumn(z)):H&&(q=H);const X=e.current.getColumn(z),ae=!!X.preProcessEditCellProps&&F;let Z={value:q,error:!1,isProcessingProps:ae};if(E(D,z,Z),e.current.setCellFocus(D,z),ae&&(Z=await Promise.resolve(X.preProcessEditCellProps({id:D,row:e.current.getRow(D),props:Z,hasChanged:q!==U})),e.current.getCellMode(D,z)===Zn.Edit)){const K=Ho(e.current.state);E(D,z,W({},Z,{value:K[D][z].value,isProcessingProps:!1}))}}),A=y.useCallback(_=>{const{id:D,field:z}=_,F=At(_,NMt);f(D,z,Zn.Edit),T(D,z,W({mode:Zn.View},F))},[f,T]),I=wr(async _=>{const{id:D,field:z,ignoreModifications:F,cellToFocusAfter:H="none"}=_;f(D,z,Zn.Edit),e.current.runPendingEditCellValueMutation(D,z);const U=()=>{E(D,z,null),T(D,z,null),H!=="none"&&e.current.moveFocusToRelativeCell(D,z,H)};if(F){U();return}const q=Ho(e.current.state),{error:X,isProcessingProps:ae}=q[D][z];if(X||ae){i.current[D][z].mode=Zn.Edit,T(D,z,{mode:Zn.Edit});return}const Z=e.current.getRowWithUpdatedValuesFromCellEditing(D,z);if(a){const K=te=>{i.current[D][z].mode=Zn.Edit,T(D,z,{mode:Zn.Edit}),s&&s(te)};try{const te=e.current.getRow(D);Promise.resolve(a(Z,te,{rowId:D})).then(pe=>{e.current.updateRows([pe]),U()}).catch(K)}catch(te){K(te)}}else e.current.updateRows([Z]),U()}),R=y.useCallback(async _=>{var te,pe;const{id:D,field:z,value:F,debounceMs:H,unstable_skipValueParser:U}=_;d(D,z),f(D,z,Zn.Edit);const q=e.current.getColumn(z),X=e.current.getRow(D);let ae=F;q.valueParser&&!U&&(ae=q.valueParser(F,X,q,e));let Z=Ho(e.current.state),K=W({},Z[D][z],{value:ae,changeReason:H?"debouncedSetEditCellValue":"setEditCellValue"});if(q.preProcessEditCellProps){const ie=F!==Z[D][z].value;K=W({},K,{isProcessingProps:!0}),E(D,z,K),K=await Promise.resolve(q.preProcessEditCellProps({id:D,row:X,props:K,hasChanged:ie}))}return e.current.getCellMode(D,z)===Zn.View?!1:(Z=Ho(e.current.state),K=W({},K,{isProcessingProps:!1}),K.value=q.preProcessEditCellProps?Z[D][z].value:ae,E(D,z,K),Z=Ho(e.current.state),!((pe=(te=Z[D])==null?void 0:te[z])!=null&&pe.error))},[e,d,f,E]),N=y.useCallback((_,D)=>{const z=e.current.getColumn(D),F=Ho(e.current.state),H=e.current.getRow(_);if(!F[_]||!F[_][D])return e.current.getRow(_);const{value:U}=F[_][D];return z.valueSetter?z.valueSetter(U,H,z,e):W({},H,{[D]:U})},[e]),L={getCellMode:S,startCellEditMode:O,stopCellEditMode:A},j={setCellEditingEditCellValue:R,getRowWithUpdatedValuesFromCellEditing:N};Jt(e,L,"public"),Jt(e,j,"private"),y.useEffect(()=>{l&&P(l)},[l,P]),_o(()=>{const _=vO(e),D=i.current;i.current=Qle(n),Object.entries(n).forEach(([z,F])=>{Object.entries(F).forEach(([H,U])=>{var ae,Z;const q=((Z=(ae=D[z])==null?void 0:ae[H])==null?void 0:Z.mode)||Zn.View,X=_[z]??z;U.mode===Zn.Edit&&q===Zn.View?k(W({id:X,field:H},U)):U.mode===Zn.View&&q===Zn.Edit&&I(W({id:X,field:H},U))})})},[e,n,k,I])},FMt=["id"],jMt=["id"],BMt=(e,t)=>{const[n,r]=y.useState({}),o=y.useRef(n),i=y.useRef({}),a=y.useRef(),s=y.useRef(null),{processRowUpdate:l,onProcessRowUpdateError:c,rowModesModel:u,onRowModesModelChange:d}=t,f=H=>(...U)=>{t.editMode===Gc.Row&&H(...U)},p=y.useCallback((H,U)=>{const q=e.current.getCellParams(H,U);if(!e.current.isCellEditable(q))throw new Error(`MUI X: The cell with id=${H} and field=${U} is not editable.`)},[e]),m=y.useCallback((H,U)=>{if(e.current.getRowMode(H)!==U)throw new Error(`MUI X: The row with id=${H} is not in ${U} mode.`)},[e]),g=y.useCallback(H=>{const U=Ho(e.current.state);return Object.values(U[H]).some(q=>q.error)},[e]),v=y.useCallback((H,U)=>{if(!H.isEditable||e.current.getRowMode(H.id)===Bn.Edit)return;const q=e.current.getRowParams(H.id),X=W({},q,{field:H.field,reason:Rd.cellDoubleClick});e.current.publishEvent("rowEditStart",X,U)},[e]),w=y.useCallback(H=>{s.current=H},[]),x=y.useCallback((H,U)=>{H.isEditable&&e.current.getRowMode(H.id)!==Bn.View&&(s.current=null,a.current=setTimeout(()=>{var q;if(((q=s.current)==null?void 0:q.id)!==H.id){if(!e.current.getRow(H.id)||e.current.getRowMode(H.id)===Bn.View||g(H.id))return;const X=e.current.getRowParams(H.id),ae=W({},X,{field:H.field,reason:$l.rowFocusOut});e.current.publishEvent("rowEditStop",ae,U)}}))},[e,g]);y.useEffect(()=>()=>{clearTimeout(a.current)},[]);const S=y.useCallback((H,U)=>{if(H.cellMode===Bn.Edit){if(U.which===229)return;let q;if(U.key==="Escape")q=$l.escapeKeyDown;else if(U.key==="Enter")q=$l.enterKeyDown;else if(U.key==="Tab"){const X=Eb(e).filter(ae=>e.current.getColumn(ae).type===uM?!0:e.current.isCellEditable(e.current.getCellParams(H.id,ae)));if(U.shiftKey?H.field===X[0]&&(q=$l.shiftTabKeyDown):H.field===X[X.length-1]&&(q=$l.tabKeyDown),U.preventDefault(),!q){const ae=X.findIndex(K=>K===H.field),Z=X[U.shiftKey?ae-1:ae+1];e.current.setCellFocus(H.id,Z)}}if(q){if(q!==$l.escapeKeyDown&&g(H.id))return;const X=W({},e.current.getRowParams(H.id),{reason:q,field:H.field});e.current.publishEvent("rowEditStop",X,U)}}else if(H.isEditable){let q;if(!e.current.unstable_applyPipeProcessors("canStartEditing",!0,{event:U,cellParams:H,editMode:"row"}))return;if(Uce(U)||Wce(U)?q=Rd.printableKeyDown:U.key==="Enter"?q=Rd.enterKeyDown:(U.key==="Backspace"||U.key==="Delete")&&(q=Rd.deleteKeyDown),q){const ae=e.current.getRowParams(H.id),Z=W({},ae,{field:H.field,reason:q});e.current.publishEvent("rowEditStart",Z,U)}}},[e,g]),P=y.useCallback(H=>{const{id:U,field:q,reason:X}=H,ae={id:U,fieldToFocus:q};(X===Rd.printableKeyDown||X===Rd.deleteKeyDown)&&(ae.deleteValue=!!q),e.current.startRowEditMode(ae)},[e]),T=y.useCallback(H=>{const{id:U,reason:q,field:X}=H;e.current.runPendingEditCellValueMutation(U);let ae;q===$l.enterKeyDown?ae="below":q===$l.tabKeyDown?ae="right":q===$l.shiftTabKeyDown&&(ae="left");const Z=q==="escapeKeyDown";e.current.stopRowEditMode({id:U,ignoreModifications:Z,field:X,cellToFocusAfter:ae})},[e]);ht(e,"cellDoubleClick",f(v)),ht(e,"cellFocusIn",f(w)),ht(e,"cellFocusOut",f(x)),ht(e,"cellKeyDown",f(S)),ht(e,"rowEditStart",f(P)),ht(e,"rowEditStop",f(T)),lr(e,"rowEditStart",t.onRowEditStart),lr(e,"rowEditStop",t.onRowEditStop);const E=y.useCallback(H=>{if(t.editMode===Gc.Cell)return Bn.View;const U=Ho(e.current.state);return U[H]&&Object.keys(U[H]).length>0?Bn.Edit:Bn.View},[e,t.editMode]),O=wr(H=>{const U=H!==t.rowModesModel;d&&U&&d(H,{api:e.current}),!(t.rowModesModel&&U)&&(r(H),o.current=H,e.current.publishEvent("rowModesModelChange",H))}),k=y.useCallback((H,U)=>{const q=W({},o.current);U!==null?q[H]=W({},U):delete q[H],O(q)},[O]),A=y.useCallback((H,U)=>{e.current.setState(q=>{const X=W({},q.editRows);return U!==null?X[H]=U:delete X[H],W({},q,{editRows:X})}),e.current.forceUpdate()},[e]),I=y.useCallback((H,U,q)=>{e.current.setState(X=>{const ae=W({},X.editRows);return q!==null?ae[H]=W({},ae[H],{[U]:W({},q)}):(delete ae[H][U],Object.keys(ae[H]).length===0&&delete ae[H]),W({},X,{editRows:ae})}),e.current.forceUpdate()},[e]),R=y.useCallback(H=>{const{id:U}=H,q=At(H,FMt);m(U,Bn.View),k(U,W({mode:Bn.Edit},q))},[m,k]),N=wr(H=>{const{id:U,fieldToFocus:q,deleteValue:X,initialValue:ae}=H,Z=Nu(e),K=Z.reduce((te,pe)=>{if(!e.current.getCellParams(U,pe).isEditable)return te;const le=e.current.getColumn(pe);let re=e.current.getCellValue(U,pe);return q===pe&&(X||ae)&&(X?re=oL(le):ae&&(re=ae)),te[pe]={value:re,error:!1,isProcessingProps:!!le.preProcessEditCellProps&&X},te},{});A(U,K),q&&e.current.setCellFocus(U,q),Z.filter(te=>!!e.current.getColumn(te).preProcessEditCellProps&&X).forEach(te=>{const pe=e.current.getColumn(te),ie=e.current.getCellValue(U,te),le=X?oL(pe):ae??ie;Promise.resolve(pe.preProcessEditCellProps({id:U,row:e.current.getRow(U),props:K[te],hasChanged:le!==ie})).then(re=>{if(e.current.getRowMode(U)===Bn.Edit){const fe=Ho(e.current.state);I(U,te,W({},re,{value:fe[U][te].value,isProcessingProps:!1}))}})})}),L=y.useCallback(H=>{const{id:U}=H,q=At(H,jMt);m(U,Bn.Edit),k(U,W({mode:Bn.View},q))},[m,k]),j=wr(H=>{const{id:U,ignoreModifications:q,field:X,cellToFocusAfter:ae="none"}=H;e.current.runPendingEditCellValueMutation(U);const Z=()=>{ae!=="none"&&X&&e.current.moveFocusToRelativeCell(U,X,ae),A(U,null),k(U,null)};if(q){Z();return}const K=Ho(e.current.state),te=e.current.getRow(U);if(Object.values(K[U]).some(le=>le.isProcessingProps)){i.current[U].mode=Bn.Edit;return}if(g(U)){i.current[U].mode=Bn.Edit,k(U,{mode:Bn.Edit});return}const ie=e.current.getRowWithUpdatedValuesFromRowEditing(U);if(l){const le=re=>{i.current[U].mode=Bn.Edit,k(U,{mode:Bn.Edit}),c&&c(re)};try{Promise.resolve(l(ie,te,{rowId:U})).then(re=>{e.current.updateRows([re]),Z()}).catch(le)}catch(re){le(re)}}else e.current.updateRows([ie]),Z()}),_=y.useCallback(H=>{const{id:U,field:q,value:X,debounceMs:ae,unstable_skipValueParser:Z}=H;p(U,q);const K=e.current.getColumn(q),te=e.current.getRow(U);let pe=X;K.valueParser&&!Z&&(pe=K.valueParser(X,te,K,e));let ie=Ho(e.current.state),le=W({},ie[U][q],{value:pe,changeReason:ae?"debouncedSetEditCellValue":"setEditCellValue"});return K.preProcessEditCellProps||I(U,q,le),new Promise(re=>{const fe=[];if(K.preProcessEditCellProps){const ee=le.value!==ie[U][q].value;le=W({},le,{isProcessingProps:!0}),I(U,q,le);const ce=ie[U],me=At(ce,[q].map(rS)),we=Promise.resolve(K.preProcessEditCellProps({id:U,row:te,props:le,hasChanged:ee,otherFieldsProps:me})).then(ge=>{if(e.current.getRowMode(U)===Bn.View){re(!1);return}ie=Ho(e.current.state),ge=W({},ge,{isProcessingProps:!1}),ge.value=K.preProcessEditCellProps?ie[U][q].value:pe,I(U,q,ge)});fe.push(we)}Object.entries(ie[U]).forEach(([ee,ce])=>{if(ee===q)return;const me=e.current.getColumn(ee);if(!me.preProcessEditCellProps)return;ce=W({},ce,{isProcessingProps:!0}),I(U,ee,ce),ie=Ho(e.current.state);const we=ie[U],ge=At(we,[ee].map(rS)),Se=Promise.resolve(me.preProcessEditCellProps({id:U,row:te,props:ce,hasChanged:!1,otherFieldsProps:ge})).then(xe=>{if(e.current.getRowMode(U)===Bn.View){re(!1);return}xe=W({},xe,{isProcessingProps:!1}),I(U,ee,xe)});fe.push(Se)}),Promise.all(fe).then(()=>{e.current.getRowMode(U)===Bn.Edit?(ie=Ho(e.current.state),re(!ie[U][q].error)):re(!1)})})},[e,p,I]),D=y.useCallback(H=>{const U=Ho(e.current.state),q=e.current.getRow(H);if(!U[H])return e.current.getRow(H);let X=W({},q);return Object.entries(U[H]).forEach(([ae,Z])=>{const K=e.current.getColumn(ae);K.valueSetter?X=K.valueSetter(Z.value,X,K,e):X[ae]=Z.value}),X},[e]),z={getRowMode:E,startRowEditMode:R,stopRowEditMode:L},F={setRowEditingEditCellValue:_,getRowWithUpdatedValuesFromRowEditing:D};Jt(e,z,"public"),Jt(e,F,"private"),y.useEffect(()=>{u&&O(u)},[u,O]),_o(()=>{const H=vO(e),U=i.current;i.current=Qle(n);const q=new Set([...Object.keys(n),...Object.keys(U)]);Array.from(q).forEach(X=>{var te;const ae=n[X]??{mode:Bn.View},Z=((te=U[X])==null?void 0:te.mode)||Bn.View,K=H[X]??X;ae.mode===Bn.Edit&&Z===Bn.View?N(W({id:K},ae)):ae.mode===Bn.View&&Z===Bn.Edit&&j(W({id:K},ae))})},[e,n,N,j])},zMt=e=>W({},e,{editRows:{}}),VMt=(e,t)=>{LMt(e,t),BMt(e,t);const n=y.useRef({}),{isCellEditable:r}=t,o=y.useCallback(f=>Ov(f.rowNode)||!f.colDef.editable||!f.colDef.renderEditCell?!1:r?r(f):!0,[r]),i=(f,p,m,g)=>{if(!m){g();return}if(n.current[f]||(n.current[f]={}),n.current[f][p]){const[x]=n.current[f][p];clearTimeout(x)}const v=()=>{const[x]=n.current[f][p];clearTimeout(x),g(),delete n.current[f][p]},w=setTimeout(()=>{g(),delete n.current[f][p]},m);n.current[f][p]=[w,v]};y.useEffect(()=>{const f=n.current;return()=>{Object.entries(f).forEach(([p,m])=>{Object.keys(m).forEach(g=>{const[v]=f[p][g];clearTimeout(v),delete f[p][g]})})}},[]);const a=y.useCallback((f,p)=>{if(n.current[f]){if(!p)Object.keys(n.current[f]).forEach(m=>{const[,g]=n.current[f][m];g()});else if(n.current[f][p]){const[,m]=n.current[f][p];m()}}},[]),s=y.useCallback(f=>{const{id:p,field:m,debounceMs:g}=f;return new Promise(v=>{i(p,m,g,async()=>{const w=t.editMode===Gc.Row?e.current.setRowEditingEditCellValue:e.current.setCellEditingEditCellValue;if(e.current.getCellMode(p,m)===Zn.Edit){const x=await w(f);v(x)}})})},[e,t.editMode]),l=y.useCallback((f,p)=>t.editMode===Gc.Cell?e.current.getRowWithUpdatedValuesFromCellEditing(f,p):e.current.getRowWithUpdatedValuesFromRowEditing(f),[e,t.editMode]),c=y.useCallback((f,p)=>{var g;return((g=Ho(e.current.state)[f])==null?void 0:g[p])??null},[e]),u={isCellEditable:o,setEditCellValue:s,getRowWithUpdatedValues:l,unstable_getEditCellMeta:c},d={runPendingEditCellValueMutation:a};Jt(e,u,"public"),Jt(e,d,"private")},HMt=(e,t,n)=>{const r=!!t.unstable_dataSource;return n.current.caches.rows=JP({rows:r?[]:t.rows,getRowId:t.getRowId,loading:t.loading,rowCount:t.rowCount}),W({},e,{rows:ice({apiRef:n,rowCountProp:t.rowCount,loadingProp:r?!0:t.loading,previousTree:null,previousTreeDepths:null})})},UMt=(e,t)=>{const n=Lo(e,"useGridRows"),r=sp(e,t),o=y.useRef(Date.now()),i=y.useRef(t.rowCount),a=Tb(),s=y.useCallback(F=>{const H=uf(e)[F];if(H)return H;const U=e.current.getRowNode(F);return U&&Ov(U)?{[hy]:F}:null},[e]),l=t.getRowId,c=y.useCallback(F=>hy in F?F[hy]:l?l(F):F.id,[l]),u=y.useMemo(()=>r.rows.reduce((F,{id:H},U)=>(F[H]=U,F),{}),[r.rows]),d=y.useCallback(({cache:F,throttle:H})=>{const U=()=>{o.current=Date.now(),e.current.setState(X=>W({},X,{rows:ice({apiRef:e,rowCountProp:t.rowCount,loadingProp:t.loading,previousTree:xi(e),previousTreeDepths:Mq(e),previousGroupsToFetch:_Ct(e)})})),e.current.publishEvent("rowsSet"),e.current.forceUpdate()};if(a.clear(),e.current.caches.rows=F,!H){U();return}const q=t.throttleRowsMs-(Date.now()-o.current);if(q>0){a.start(q,U);return}U()},[t.throttleRowsMs,t.rowCount,t.loading,e,a]),f=y.useCallback(F=>{n.debug(`Updating all rows, new length ${F.length}`);const H=JP({rows:F,getRowId:t.getRowId,loading:t.loading,rowCount:t.rowCount}),U=e.current.caches.rows;H.rowsBeforePartialUpdates=U.rowsBeforePartialUpdates,d({cache:H,throttle:!0})},[n,t.getRowId,t.loading,t.rowCount,d,e]),p=y.useCallback(F=>{if(t.signature===ol.DataGrid&&F.length>1)throw new Error(["MUI X: You cannot update several rows at once in `apiRef.current.updateRows` on the DataGrid.","You need to upgrade to DataGridPro or DataGridPremium component to unlock this feature."].join(` +`));const H=$q(e,F,t.getRowId),U=Aq({updates:H,getRowId:t.getRowId,previousCache:e.current.caches.rows});d({cache:U,throttle:!0})},[t.signature,t.getRowId,d,e]),m=y.useCallback((F,H)=>{const U=$q(e,F,t.getRowId),q=Aq({updates:U,getRowId:t.getRowId,previousCache:e.current.caches.rows,groupKeys:H??[]});d({cache:q,throttle:!1})},[t.getRowId,d,e]),g=y.useCallback(F=>{F!==t.loading&&(n.debug(`Setting loading to ${F}`),e.current.setState(H=>W({},H,{rows:W({},H.rows,{loading:F})})),e.current.caches.rows.loadingPropBeforePartialUpdates=F)},[t.loading,e,n]),v=y.useCallback(()=>{const F=hP(e),H=uf(e);return new Map(F.map(U=>[U,H[U]??{}]))},[e]),w=y.useCallback(()=>dM(e),[e]),x=y.useCallback(()=>hP(e),[e]),S=y.useCallback(F=>u[F],[u]),P=y.useCallback((F,H)=>{const U=e.current.getRowNode(F);if(!U)throw new Error(`MUI X: No row with id #${F} found.`);if(U.type!=="group")throw new Error("MUI X: Only group nodes can be expanded or collapsed.");const q=W({},U,{childrenExpanded:H});e.current.setState(X=>W({},X,{rows:W({},X.rows,{tree:W({},X.rows.tree,{[F]:q})})})),e.current.forceUpdate(),e.current.publishEvent("rowExpansionChange",q)},[e]),T=y.useCallback(F=>xi(e)[F]??null,[e]),E=y.useCallback(({skipAutoGeneratedRows:F=!0,groupId:H,applySorting:U,applyFiltering:q})=>{const X=xi(e);let ae;if(U){const Z=X[H];if(!Z)return[];const K=g1(e);ae=[];const te=K.findIndex(pe=>pe===H)+1;for(let pe=te;peZ.depth;pe+=1){const ie=K[pe];(!F||!Ov(X[ie]))&&ae.push(ie)}}else ae=Nz(X,H,F);if(q){const Z=Ib(e);ae=ae.filter(K=>Z[K]!==!1)}return ae},[e]),O=y.useCallback((F,H)=>{const U=e.current.getRowNode(F);if(!U)throw new Error(`MUI X: No row with id #${F} found.`);if(U.parent!==oi)throw new Error("MUI X: The row reordering do not support reordering of grouped rows yet.");if(U.type!=="leaf")throw new Error("MUI X: The row reordering do not support reordering of footer or grouping rows.");e.current.setState(q=>{const X=xi(q,e.current.instanceId)[oi],ae=X.children,Z=ae.findIndex(te=>te===F);if(Z===-1||Z===H)return q;n.debug(`Moving row ${F} to index ${H}`);const K=[...ae];return K.splice(H,0,K.splice(Z,1)[0]),W({},q,{rows:W({},q.rows,{tree:W({},q.rows.tree,{[oi]:W({},X,{children:K})})})})}),e.current.publishEvent("rowsSet")},[e,n]),k=y.useCallback((F,H)=>{if(t.signature===ol.DataGrid&&H.length>1)throw new Error(["MUI X: You cannot replace rows using `apiRef.current.unstable_replaceRows` on the DataGrid.","You need to upgrade to DataGridPro or DataGridPremium component to unlock this feature."].join(` +`));if(H.length===0)return;if(Ob(e)>1)throw new Error("`apiRef.current.unstable_replaceRows` is not compatible with tree data and row grouping");const q=W({},xi(e)),X=W({},uf(e)),ae=W({},vO(e)),Z=q[oi],K=[...Z.children],te=new Set;for(let ie=0;ie{var le;return((le=q[ie])==null?void 0:le.type)==="leaf"});e.current.caches.rows.dataRowIdToModelLookup=X,e.current.caches.rows.dataRowIdToIdLookup=ae,e.current.setState(ie=>W({},ie,{rows:W({},ie.rows,{dataRowIdToModelLookup:X,dataRowIdToIdLookup:ae,dataRowIds:pe,tree:q})})),e.current.publishEvent("rowsSet")},[e,t.signature,t.getRowId]),A={getRow:s,setLoading:g,getRowId:c,getRowModels:v,getRowsCount:w,getAllRowIds:x,setRows:f,updateRows:p,getRowNode:T,getRowIndexRelativeToVisibleRows:S,unstable_replaceRows:k},I={setRowIndex:O,setRowChildrenExpansion:P,getRowGroupChildren:E},R={updateServerRows:m},N=y.useCallback(()=>{n.info("Row grouping pre-processing have changed, regenerating the row tree");let F;e.current.caches.rows.rowsBeforePartialUpdates===t.rows?F=W({},e.current.caches.rows,{updates:{type:"full",rows:hP(e)}}):F=JP({rows:t.rows,getRowId:t.getRowId,loading:t.loading,rowCount:t.rowCount}),d({cache:F,throttle:!1})},[n,e,t.rows,t.getRowId,t.loading,t.rowCount,d]),L=eu(()=>t.unstable_dataSource),j=y.useCallback(F=>{if(t.unstable_dataSource&&t.unstable_dataSource!==L.current){L.current=t.unstable_dataSource;return}F==="rowTreeCreation"&&N()},[N,L,t.unstable_dataSource]),_=y.useCallback(()=>{e.current.getActiveStrategy("rowTree")!==DCt(e)&&N()},[e,N]);ht(e,"activeStrategyProcessorChange",j),ht(e,"strategyAvailabilityChange",_);const D=y.useCallback(()=>{e.current.setState(F=>{const H=e.current.unstable_applyPipeProcessors("hydrateRows",{tree:xi(F,e.current.instanceId),treeDepths:Mq(F,e.current.instanceId),dataRowIds:hP(F,e.current.instanceId),dataRowIdToModelLookup:uf(F,e.current.instanceId),dataRowIdToIdLookup:vO(F,e.current.instanceId)});return W({},F,{rows:W({},F.rows,H,{totalTopLevelRowCount:oce({tree:H.tree,rowCountProp:t.rowCount})})})}),e.current.publishEvent("rowsSet"),e.current.forceUpdate()},[e,t.rowCount]);Jz(e,"hydrateRows",D),Jt(e,A,"public"),Jt(e,I,t.signature===ol.DataGrid?"private":"public"),Jt(e,R,"private");const z=y.useRef(!0);y.useEffect(()=>{var X;if(z.current){z.current=!1;return}let F=!1;t.rowCount!==i.current&&(F=!0,i.current=t.rowCount);const H=e.current.caches.rows.rowsBeforePartialUpdates===t.rows,U=e.current.caches.rows.loadingPropBeforePartialUpdates===t.loading,q=e.current.caches.rows.rowCountPropBeforePartialUpdates===t.rowCount;H&&(U||(e.current.setState(ae=>W({},ae,{rows:W({},ae.rows,{loading:t.loading})})),e.current.caches.rows.loadingPropBeforePartialUpdates=t.loading,e.current.forceUpdate()),q||(e.current.setState(ae=>W({},ae,{rows:W({},ae.rows,{totalRowCount:Math.max(t.rowCount||0,ae.rows.totalRowCount),totalTopLevelRowCount:Math.max(t.rowCount||0,ae.rows.totalTopLevelRowCount)})})),e.current.caches.rows.rowCountPropBeforePartialUpdates=t.rowCount,e.current.forceUpdate()),!F)||(n.debug(`Updating all rows, new length ${(X=t.rows)==null?void 0:X.length}`),d({cache:JP({rows:t.rows,getRowId:t.getRowId,loading:t.loading,rowCount:t.rowCount}),throttle:!1}))},[t.rows,t.rowCount,t.getRowId,t.loading,n,d,e])},WMt=e=>{const t={[oi]:W({},FCt(),{children:e})};for(let n=0;n{const n=W({},e),r={};for(let a=0;a!r[a])),n[oi]=W({},o,{children:i}),{groupingName:zh,tree:n,treeDepths:{0:i.length},dataRowIds:i}},qMt=e=>e.updates.type==="full"?WMt(e.updates.rows):GMt({previousTree:e.previousTree,actions:e.updates.actions}),KMt=e=>{CO(e,zh,"rowTreeCreation",qMt)},Jce=(e,t)=>e==null||Array.isArray(e)?e:t&&t[0]===e?t:[e],YMt=(e,t)=>W({},e,{rowSelection:t.rowSelection?Jce(t.rowSelectionModel)??[]:[]}),XMt=(e,t)=>{var z,F,H,U,q,X,ae;const n=Lo(e,"useGridSelection"),r=y.useCallback(Z=>(...K)=>{t.rowSelection&&Z(...K)},[t.rowSelection]),o=t.signature!==ol.DataGrid&&(((z=t.rowSelectionPropagation)==null?void 0:z.parents)||((F=t.rowSelectionPropagation)==null?void 0:F.descendants)),i=y.useMemo(()=>Jce(t.rowSelectionModel,Bs(e.current.state)),[e,t.rowSelectionModel]),a=y.useRef(null);e.current.registerControlState({stateId:"rowSelection",propModel:i,propOnChange:t.onRowSelectionModelChange,stateSelector:Bs,changeEvent:"rowSelectionChange"});const{checkboxSelection:s,disableRowSelectionOnClick:l,isRowSelectable:c}=t,u=Bz(t),d=sp(e,t),f=Ye(e,xi),p=Ye(e,Ob)>1,m=y.useCallback(Z=>{let K=Z;const te=a.current??Z,pe=e.current.isRowSelected(Z);if(pe){const ie=my(e),le=ie.findIndex(fe=>fe===te),re=ie.findIndex(fe=>fe===K);if(le===re)return;le>re?K=ie[re+1]:K=ie[re-1]}a.current=Z,e.current.selectRowRange({startId:te,endId:K},!pe)},[e]),g=y.useCallback(Z=>{if(t.signature===ol.DataGrid&&!u&&Array.isArray(Z)&&Z.length>1)throw new Error(["MUI X: `rowSelectionModel` can only contain 1 item in DataGrid.","You need to upgrade to DataGridPro or DataGridPremium component to unlock multiple selection."].join(` +`));Bs(e.current.state)!==Z&&(n.debug("Setting selection model"),e.current.setState(te=>W({},te,{rowSelection:t.rowSelection?Z:[]})),e.current.forceUpdate())},[e,n,t.rowSelection,t.signature,u]),v=y.useCallback(Z=>Bs(e.current.state).includes(Z),[e]),w=y.useCallback(Z=>{if(t.rowSelection===!1||c&&!c(e.current.getRowParams(Z)))return!1;const K=e.current.getRowNode(Z);return!((K==null?void 0:K.type)==="footer"||(K==null?void 0:K.type)==="pinnedRow")},[e,t.rowSelection,c]),x=y.useCallback(()=>cPt(e),[e]),S=y.useCallback((Z,K=!0,te=!1)=>{var pe,ie,le,re,fe,ee;if(e.current.isRowSelectable(Z))if(a.current=Z,te){n.debug(`Setting selection for row ${Z}`);const ce=[],me=we=>{ce.push(we)};K&&(me(Z),o&&mP(e,f,Z,((pe=t.rowSelectionPropagation)==null?void 0:pe.descendants)??!1,((ie=t.rowSelectionPropagation)==null?void 0:ie.parents)??!1,me)),e.current.setRowSelectionModel(ce)}else{n.debug(`Toggling selection for row ${Z}`);const ce=Bs(e.current.state),me=new Set(ce);me.delete(Z);const we=xe=>{me.add(xe)},ge=xe=>{me.delete(xe)};K?(we(Z),o&&mP(e,f,Z,((le=t.rowSelectionPropagation)==null?void 0:le.descendants)??!1,((re=t.rowSelectionPropagation)==null?void 0:re.parents)??!1,we)):o&&Rq(e,f,Z,((fe=t.rowSelectionPropagation)==null?void 0:fe.descendants)??!1,((ee=t.rowSelectionPropagation)==null?void 0:ee.parents)??!1,ge),(me.size<2||u)&&e.current.setRowSelectionModel(Array.from(me))}},[e,n,o,f,(H=t.rowSelectionPropagation)==null?void 0:H.descendants,(U=t.rowSelectionPropagation)==null?void 0:U.parents,u]),P=y.useCallback((Z,K=!0,te=!1)=>{n.debug("Setting selection for several rows");const pe=Z.filter(re=>e.current.isRowSelectable(re));let ie;if(te){if(K){if(ie=new Set(pe),o){const fe=ee=>{ie.add(ee)};pe.forEach(ee=>{var ce,me;mP(e,f,ee,((ce=t.rowSelectionPropagation)==null?void 0:ce.descendants)??!1,((me=t.rowSelectionPropagation)==null?void 0:me.parents)??!1,fe)})}}else ie=new Set;const re=Lu(e);if(ie.size===Object.keys(re).length&&Array.from(ie).every(fe=>re[fe]===fe))return}else{ie=new Set(Object.values(Lu(e)));const re=ee=>{ie.add(ee)},fe=ee=>{ie.delete(ee)};pe.forEach(ee=>{var ce,me,we,ge;K?(ie.add(ee),o&&mP(e,f,ee,((ce=t.rowSelectionPropagation)==null?void 0:ce.descendants)??!1,((me=t.rowSelectionPropagation)==null?void 0:me.parents)??!1,re)):(fe(ee),o&&Rq(e,f,ee,((we=t.rowSelectionPropagation)==null?void 0:we.descendants)??!1,((ge=t.rowSelectionPropagation)==null?void 0:ge.parents)??!1,fe))})}(ie.size<2||u)&&e.current.setRowSelectionModel(Array.from(ie))},[n,o,u,e,f,(q=t.rowSelectionPropagation)==null?void 0:q.descendants,(X=t.rowSelectionPropagation)==null?void 0:X.parents]),T=y.useCallback(({startId:Z,endId:K},te=!0,pe=!1)=>{if(!e.current.getRow(Z)||!e.current.getRow(K))return;n.debug(`Expanding selection from row ${Z} to row ${K}`);const ie=my(e),le=ie.indexOf(Z),re=ie.indexOf(K),[fe,ee]=le>re?[re,le]:[le,re],ce=ie.slice(fe,ee+1);e.current.selectRows(ce,te,pe)},[e,n]),E={selectRow:S,setRowSelectionModel:g,getSelectedRows:x,isRowSelected:v,isRowSelectable:w},O={selectRows:P,selectRowRange:T};Jt(e,E,"public"),Jt(e,O,t.signature===ol.DataGrid?"private":"public");const k=y.useRef(!0),A=y.useCallback((Z=!1)=>{var ee;if(k.current)return;const K=Bs(e.current.state),te=uf(e),pe=Ib(e),ie=W({},Lu(e)),le=ce=>t.filterMode==="server"?!te[ce]:pe[ce]!==!0;let re=!1;K.forEach(ce=>{var we;if(le(ce)){if(t.keepNonExistentRowsSelected)return;delete ie[ce],re=!0;return}if(!((we=t.rowSelectionPropagation)!=null&&we.parents))return;const me=f[ce];if(me.type==="group"){if(me.isAutoGenerated){delete ie[ce],re=!0;return}me.children.every(Se=>pe[Se]===!1)||(delete ie[ce],re=!0)}});const fe=p&&((ee=t.rowSelectionPropagation)==null?void 0:ee.parents)&&Object.keys(ie).length>0;if(re||fe&&!Z){const ce=Object.values(ie);fe?e.current.selectRows(ce,!0,!0):e.current.setRowSelectionModel(ce)}},[e,p,(ae=t.rowSelectionPropagation)==null?void 0:ae.parents,t.keepNonExistentRowsSelected,t.filterMode,f]),I=y.useCallback((Z,K)=>{const te=K.metaKey||K.ctrlKey,pe=!s&&!te&&!oIt(K),ie=!u||pe,le=e.current.isRowSelected(Z);ie?e.current.selectRow(Z,pe?!0:!le,!0):e.current.selectRow(Z,!le,!1)},[e,u,s]),R=y.useCallback((Z,K)=>{var ie;if(l)return;const te=(ie=K.target.closest(`.${se.cell}`))==null?void 0:ie.getAttribute("data-field");if(te===kb.field||te===pM)return;if(te){const le=e.current.getColumn(te);if((le==null?void 0:le.type)===uM)return}e.current.getRowNode(Z.id).type!=="pinnedRow"&&(K.shiftKey&&u?m(Z.id):I(Z.id,K))},[l,u,e,m,I]),N=y.useCallback((Z,K)=>{var te;u&&K.shiftKey&&((te=window.getSelection())==null||te.removeAllRanges())},[u]),L=y.useCallback((Z,K)=>{u&&K.nativeEvent.shiftKey?m(Z.id):e.current.selectRow(Z.id,Z.value,!u)},[e,m,u]),j=y.useCallback(Z=>{const K=t.pagination&&t.checkboxSelectionVisibleOnly&&t.paginationMode==="client"?xce(e):my(e);e.current.selectRows(K,Z.value)},[e,t.checkboxSelectionVisibleOnly,t.pagination,t.paginationMode]),_=y.useCallback((Z,K)=>{if(e.current.getCellMode(Z.id,Z.field)!==Zn.Edit&&!b1(K)){if(SO(K.key)&&K.shiftKey){const te=Fa(e);if(te&&te.id!==Z.id){K.preventDefault();const pe=e.current.isRowSelected(te.id);if(!u){e.current.selectRow(te.id,!pe,!0);return}const ie=e.current.getRowIndexRelativeToVisibleRows(te.id),le=e.current.getRowIndexRelativeToVisibleRows(Z.id);let re,fe;ie>le?pe?(re=le,fe=ie-1):(re=le,fe=ie):pe?(re=ie+1,fe=le):(re=ie,fe=le);const ee=d.rows.slice(re,fe+1).map(ce=>ce.id);e.current.selectRows(ee,!pe);return}}if(K.key===" "&&K.shiftKey){K.preventDefault(),I(Z.id,K);return}String.fromCharCode(K.keyCode)==="A"&&(K.ctrlKey||K.metaKey)&&(K.preventDefault(),P(e.current.getAllRowIds(),!0))}},[e,I,P,d.rows,u]);ht(e,"sortedRowsSet",r(()=>A(!0))),ht(e,"filteredRowsSet",r(A)),ht(e,"rowClick",r(R)),ht(e,"rowSelectionCheckboxChange",r(L)),ht(e,"headerSelectionCheckboxChange",j),ht(e,"cellMouseDown",r(N)),ht(e,"cellKeyDown",r(_)),y.useEffect(()=>{i!==void 0&&e.current.setRowSelectionModel(i)},[e,i,t.rowSelection]),y.useEffect(()=>{t.rowSelection||e.current.setRowSelectionModel([])},[e,t.rowSelection]);const D=i!=null;y.useEffect(()=>{if(D||!t.rowSelection)return;const Z=Bs(e.current.state);if(w){const K=Z.filter(te=>w(te));K.length{if(!t.rowSelection||D)return;const Z=Bs(e.current.state);!u&&Z.length>1&&e.current.setRowSelectionModel([])},[e,u,s,D,t.rowSelection]),y.useEffect(()=>{r(A)},[A,r]),y.useEffect(()=>{k.current&&(k.current=!1)},[])},QMt=e=>{const{classes:t}=e;return y.useMemo(()=>vn({cellCheckbox:["cellCheckbox"],columnHeaderCheckbox:["columnHeaderCheckbox"]},bn,t),[t])},JMt=(e,t)=>{const n={classes:t.classes},r=QMt(n),o=y.useCallback(i=>{const a=W({},kb,{cellClassName:r.cellCheckbox,headerClassName:r.columnHeaderCheckbox,headerName:e.current.getLocaleText("checkboxSelectionHeaderName")}),s=t.checkboxSelection,l=i.lookup[bu]!=null;return s&&!l?(i.lookup[bu]=a,i.orderedFields=[bu,...i.orderedFields]):!s&&l?(delete i.lookup[bu],i.orderedFields=i.orderedFields.filter(c=>c!==bu)):s&&l&&(i.lookup[bu]=W({},a,i.lookup[bu])),i},[e,r,t.checkboxSelection]);$r(e,"hydrateColumns",o)},ZMt=(e,t)=>{var r,o;const n=t.sortModel??((o=(r=t.initialState)==null?void 0:r.sorting)==null?void 0:o.sortModel)??[];return W({},e,{sorting:{sortModel:qle(n,t.disableMultipleColumnsSorting),sortedRows:[]}})},eAt=(e,t)=>{var T,E;const n=Lo(e,"useGridSorting");e.current.registerControlState({stateId:"sortModel",propModel:t.sortModel,propOnChange:t.onSortModelChange,stateSelector:js,changeEvent:"sortModelChange"});const r=y.useCallback((O,k)=>{const A=js(e),I=A.findIndex(N=>N.field===O);let R=[...A];return I>-1?(k==null?void 0:k.sort)==null?R.splice(I,1):R.splice(I,1,k):R=[...A,k],R},[e]),o=y.useCallback((O,k)=>{const I=js(e).find(R=>R.field===O.field);if(I){const R=k===void 0?Sq(O.sortingOrder??t.sortingOrder,I.sort):k;return R===void 0?void 0:W({},I,{sort:R})}return{field:O.field,sort:k===void 0?Sq(O.sortingOrder??t.sortingOrder):k}},[e,t.sortingOrder]),i=y.useCallback((O,k)=>k==null||k.sortable===!1||t.disableColumnSorting?O:(k.sortingOrder||t.sortingOrder).some(I=>!!I)?[...O,"columnMenuSortItem"]:O,[t.sortingOrder,t.disableColumnSorting]),a=y.useCallback(()=>{e.current.setState(O=>{if(t.sortingMode==="server")return n.debug("Skipping sorting rows as sortingMode = server"),W({},O,{sorting:W({},O.sorting,{sortedRows:Nz(xi(e),oi,!1)})});const k=js(O,e.current.instanceId),A=iCt(k,e),I=e.current.applyStrategyProcessor("sorting",{sortRowList:A});return W({},O,{sorting:W({},O.sorting,{sortedRows:I})})}),e.current.publishEvent("sortedRowsSet"),e.current.forceUpdate()},[e,n,t.sortingMode]),s=y.useCallback(O=>{js(e)!==O&&(n.debug("Setting sort model"),e.current.setState(xq(O,t.disableMultipleColumnsSorting)),e.current.forceUpdate(),e.current.applySorting())},[e,n,t.disableMultipleColumnsSorting]),l=y.useCallback((O,k,A)=>{const I=e.current.getColumn(O),R=o(I,k);let N;!A||t.disableMultipleColumnsSorting?N=(R==null?void 0:R.sort)==null?[]:[R]:N=r(I.field,R),e.current.setSortModel(N)},[e,r,o,t.disableMultipleColumnsSorting]),c=y.useCallback(()=>js(e),[e]),u=y.useCallback(()=>Lz(e).map(k=>k.model),[e]),d=y.useCallback(()=>g1(e),[e]),f=y.useCallback(O=>e.current.getSortedRowIds()[O],[e]);Jt(e,{getSortModel:c,getSortedRows:u,getSortedRowIds:d,getRowIdFromRowIndex:f,setSortModel:s,sortColumn:l,applySorting:a},"public");const m=y.useCallback((O,k)=>{var R,N;const A=js(e);return!k.exportOnlyDirtyModels||t.sortModel!=null||((N=(R=t.initialState)==null?void 0:R.sorting)==null?void 0:N.sortModel)!=null||A.length>0?W({},O,{sorting:{sortModel:A}}):O},[e,t.sortModel,(E=(T=t.initialState)==null?void 0:T.sorting)==null?void 0:E.sortModel]),g=y.useCallback((O,k)=>{var I;const A=(I=k.stateToRestore.sorting)==null?void 0:I.sortModel;return A==null?O:(e.current.setState(xq(A,t.disableMultipleColumnsSorting)),W({},O,{callbacks:[...O.callbacks,e.current.applySorting]}))},[e,t.disableMultipleColumnsSorting]),v=y.useCallback(O=>{const k=xi(e),A=k[oi],I=O.sortRowList?O.sortRowList(A.children.map(R=>k[R])):[...A.children];return A.footerId!=null&&I.push(A.footerId),I},[e]);$r(e,"exportState",m),$r(e,"restoreState",g),CO(e,zh,"sorting",v);const w=y.useCallback(({field:O,colDef:k},A)=>{if(!k.sortable||t.disableColumnSorting)return;const I=A.shiftKey||A.metaKey||A.ctrlKey;l(O,void 0,I)},[l,t.disableColumnSorting]),x=y.useCallback(({field:O,colDef:k},A)=>{!k.sortable||t.disableColumnSorting||A.key==="Enter"&&!A.ctrlKey&&!A.metaKey&&l(O,void 0,A.shiftKey)},[l,t.disableColumnSorting]),S=y.useCallback(()=>{const O=js(e),k=dd(e);if(O.length>0){const A=O.filter(I=>k[I.field]);A.length{O==="sorting"&&e.current.applySorting()},[e]);$r(e,"columnMenu",i),ht(e,"columnHeaderClick",w),ht(e,"columnHeaderKeyDown",x),ht(e,"rowsSet",e.current.applySorting),ht(e,"columnsChange",S),ht(e,"activeStrategyProcessorChange",P),y1(()=>{e.current.applySorting()}),_o(()=>{t.sortModel!==void 0&&e.current.setSortModel(t.sortModel)},[e,t.sortModel])};function pK(e){const{containerSize:t,scrollPosition:n,elementSize:r,elementOffset:o}=e,i=o+r;if(r>t)return o;if(i-t>n)return i-t;if(o{const n=nr(),r=Lo(e,"useGridScroll"),o=e.current.columnHeadersContainerRef,i=e.current.virtualScrollerRef,a=Ye(e,ap),s=y.useCallback(d=>{var w;const f=li(e.current.state),p=dM(e),m=t.unstable_listView?[kv(e.current.state)]:vo(e);if(!(d.rowIndex==null)&&p===0||m.length===0)return!1;r.debug(`Scrolling to cell at row ${d.rowIndex}, col: ${d.colIndex} `);let v={};if(d.colIndex!==void 0){const x=ip(e);let S;if(typeof d.rowIndex<"u"){const P=(w=a[d.rowIndex])==null?void 0:w.id,T=e.current.unstable_getCellColSpanInfo(P,d.colIndex);T&&!T.spannedByColSpan&&(S=T.cellProps.width)}typeof S>"u"&&(S=m[d.colIndex].computedWidth),v.left=pK({containerSize:f.viewportOuterSize.width,scrollPosition:Math.abs(i.current.scrollLeft),elementSize:S,elementOffset:x[d.colIndex]})}if(d.rowIndex!==void 0){const x=Mb(e.current.state),S=TPt(e),P=EPt(e),T=t.pagination?d.rowIndex-S*P:d.rowIndex,E=x.positions[T+1]?x.positions[T+1]-x.positions[T]:x.currentPageTotalHeight-x.positions[T];v.top=pK({containerSize:f.viewportInnerSize.height,scrollPosition:i.current.scrollTop,elementSize:E,elementOffset:x.positions[T]})}return v=e.current.unstable_applyPipeProcessors("scrollToIndexes",v,d),typeof v.left!==void 0||typeof v.top!==void 0?(e.current.scroll(v),!0):!1},[r,e,i,t.pagination,a,t.unstable_listView]),l=y.useCallback(d=>{if(i.current&&d.left!==void 0&&o.current){const f=n?-1:1;o.current.scrollLeft=d.left,i.current.scrollLeft=f*d.left,r.debug(`Scrolling left: ${d.left}`)}i.current&&d.top!==void 0&&(i.current.scrollTop=d.top,r.debug(`Scrolling top: ${d.top}`)),r.debug("Scrolling, updating container, and viewport")},[i,n,o,r]),c=y.useCallback(()=>i!=null&&i.current?{top:i.current.scrollTop,left:i.current.scrollLeft}:{top:0,left:0},[i]);Jt(e,{scroll:l,scrollToIndexes:s,getScrollPosition:c},"public")};function nAt(e,t){lr(e,"columnHeaderClick",t.onColumnHeaderClick),lr(e,"columnHeaderContextMenu",t.onColumnHeaderContextMenu),lr(e,"columnHeaderDoubleClick",t.onColumnHeaderDoubleClick),lr(e,"columnHeaderOver",t.onColumnHeaderOver),lr(e,"columnHeaderOut",t.onColumnHeaderOut),lr(e,"columnHeaderEnter",t.onColumnHeaderEnter),lr(e,"columnHeaderLeave",t.onColumnHeaderLeave),lr(e,"cellClick",t.onCellClick),lr(e,"cellDoubleClick",t.onCellDoubleClick),lr(e,"cellKeyDown",t.onCellKeyDown),lr(e,"preferencePanelClose",t.onPreferencePanelClose),lr(e,"preferencePanelOpen",t.onPreferencePanelOpen),lr(e,"menuOpen",t.onMenuOpen),lr(e,"menuClose",t.onMenuClose),lr(e,"rowDoubleClick",t.onRowDoubleClick),lr(e,"rowClick",t.onRowClick),lr(e,"stateChange",t.onStateChange)}function rAt(e,t=166){let n,r;const o=()=>{n=void 0,e(...r)};function i(...a){r=a,n===void 0&&(n=setTimeout(o,t))}return i.clear=()=>{clearTimeout(n),n=void 0},i}const iL={autoHeight:!1,autoPageSize:!1,autosizeOnMount:!1,checkboxSelection:!1,checkboxSelectionVisibleOnly:!1,clipboardCopyCellDelimiter:" ",columnBufferPx:150,columnHeaderHeight:56,disableAutosize:!1,disableColumnFilter:!1,disableColumnMenu:!1,disableColumnReorder:!1,disableColumnResize:!1,disableColumnSelector:!1,disableColumnSorting:!1,disableDensitySelector:!1,disableEval:!1,disableMultipleColumnsFiltering:!1,disableMultipleColumnsSorting:!1,disableMultipleRowSelection:!1,disableRowSelectionOnClick:!1,disableVirtualization:!1,editMode:Gc.Cell,filterDebounceMs:150,filterMode:"client",hideFooter:!1,hideFooterPagination:!1,hideFooterRowCount:!1,hideFooterSelectedRowCount:!1,ignoreDiacritics:!1,ignoreValueFormatterDuringExport:!1,indeterminateCheckboxAction:"deselect",keepColumnPositionIfDraggedOutside:!1,keepNonExistentRowsSelected:!1,loading:!1,logger:console,logLevel:"error",pageSizeOptions:[25,50,100],pagination:!1,paginationMode:"client",resizeThrottleMs:60,rowBufferPx:150,rowHeight:52,rowPositionsDebounceMs:166,rows:[],rowSelection:!0,rowSpacingType:"margin",showCellVerticalBorder:!1,showColumnVerticalBorder:!1,sortingMode:"client",sortingOrder:["asc","desc",null],throttleRowsMs:0,unstable_rowSpanning:!1},vg={width:0,height:0},oAt={isReady:!1,root:vg,viewportOuterSize:vg,viewportInnerSize:vg,contentSize:vg,minimumSize:vg,hasScrollX:!1,hasScrollY:!1,scrollbarSize:0,headerHeight:0,groupHeaderHeight:0,headerFilterHeight:0,rowWidth:0,rowHeight:0,columnsTotalWidth:0,leftPinnedWidth:0,rightPinnedWidth:0,headersTotalHeight:0,topContainerHeight:0,bottomContainerHeight:0},iAt=e=>W({},e,{dimensions:oAt});function aAt(e,t){const n=Lo(e,"useResizeContainer"),r=y.useRef(!1),o=y.useRef(vg),i=Ye(e,li),a=Ye(e,Mb),s=Ye(e,m1),l=Ye(e,h1),c=y.useMemo(()=>sce(t.rowHeight,iL.rowHeight),[t.rowHeight]),u=Math.floor(c*l),d=Math.floor(t.columnHeaderHeight*l),f=Math.floor((t.columnGroupHeaderHeight??t.columnHeaderHeight)*l),p=Math.floor((t.headerFilterHeight??t.columnHeaderHeight)*l),m=lAt($z(e),6),g=Uz(e,t),v=s.left.reduce((D,z)=>D+z.computedWidth,0),w=s.right.reduce((D,z)=>D+z.computedWidth,0),[x,S]=y.useState(),P=y.useMemo(()=>rAt(S,t.resizeThrottleMs),[t.resizeThrottleMs]),T=y.useRef(),E=()=>e.current.state.dimensions,O=wr(D=>{e.current.setState(z=>W({},z,{dimensions:D}))}),k=y.useCallback(()=>{const D=e.current.mainElementRef.current;if(!D)return;const z=c1t(D).getComputedStyle(D),F={width:parseFloat(z.width)||0,height:parseFloat(z.height)||0};(!T.current||!hK(T.current,F))&&(e.current.publishEvent("resize",F),T.current=F)},[e]),A=y.useCallback(()=>{const D=li(e.current.state);if(!D.isReady)return 0;const z=gy(e,{pagination:t.pagination,paginationMode:t.paginationMode});if(t.getRowHeight){const H=wM(e),U=H.lastRowIndex-H.firstRowIndex;return Math.min(U-1,z.rows.length)}const F=Math.floor(D.viewportInnerSize.height/u);return Math.min(F,z.rows.length)},[e,t.pagination,t.paginationMode,t.getRowHeight,u]),I=y.useCallback(()=>{var fe,ee;const D=e.current.rootElementRef.current,z=BCt(e),F=sAt(D,m,t.scrollbarSize),H=g+z.top,U=z.bottom,X={width:m-v-w,height:a.currentPageTotalHeight};let ae,Z,K=!1,te=!1;if(t.autoHeight)te=!1,K=Math.round(m)>Math.round(o.current.width),ae={width:o.current.width,height:H+U+X.height},Z={width:Math.max(0,ae.width-(te?F:0)),height:Math.max(0,ae.height-(K?F:0))};else{ae={width:o.current.width,height:o.current.height},Z={width:Math.max(0,ae.width-v-w),height:Math.max(0,ae.height-H-U)};const ce=X,me=Z,we=ce.width>me.width,ge=ce.height>me.height;(we||ge)&&(te=ge,K=ce.width+(te?F:0)>me.width,K&&(te=ce.height+F>me.height)),te&&(Z.width-=F),K&&(Z.height-=F)}const pe=Math.max(ae.width,m+(te?F:0)),ie={width:m,height:H+X.height+U},le={isReady:!0,root:o.current,viewportOuterSize:ae,viewportInnerSize:Z,contentSize:X,minimumSize:ie,hasScrollX:K,hasScrollY:te,scrollbarSize:F,headerHeight:d,groupHeaderHeight:f,headerFilterHeight:p,rowWidth:pe,rowHeight:u,columnsTotalWidth:m,leftPinnedWidth:v,rightPinnedWidth:w,headersTotalHeight:g,topContainerHeight:H,bottomContainerHeight:U},re=e.current.state.dimensions;O(le),hK(le.viewportInnerSize,re.viewportInnerSize)||e.current.publishEvent("viewportInnerSizeChange",le.viewportInnerSize),(ee=(fe=e.current).updateRenderContext)==null||ee.call(fe)},[e,O,t.scrollbarSize,t.autoHeight,a.currentPageTotalHeight,u,d,f,p,m,g,v,w]),R={resize:k,getRootDimensions:E},N={updateDimensions:I,getViewportPageSize:A};Jt(e,R,"public"),Jt(e,N,"private"),_o(()=>{x&&(I(),e.current.publishEvent("debouncedResize",o.current))},[e,x,I]);const L=e.current.rootElementRef.current;_o(()=>{if(!L)return;const D=(z,F)=>L.style.setProperty(z,F);D("--DataGrid-width",`${i.viewportOuterSize.width}px`),D("--DataGrid-hasScrollX",`${Number(i.hasScrollX)}`),D("--DataGrid-hasScrollY",`${Number(i.hasScrollY)}`),D("--DataGrid-scrollbarSize",`${i.scrollbarSize}px`),D("--DataGrid-rowWidth",`${i.rowWidth}px`),D("--DataGrid-columnsTotalWidth",`${i.columnsTotalWidth}px`),D("--DataGrid-leftPinnedWidth",`${i.leftPinnedWidth}px`),D("--DataGrid-rightPinnedWidth",`${i.rightPinnedWidth}px`),D("--DataGrid-headerHeight",`${i.headerHeight}px`),D("--DataGrid-headersTotalHeight",`${i.headersTotalHeight}px`),D("--DataGrid-topContainerHeight",`${i.topContainerHeight}px`),D("--DataGrid-bottomContainerHeight",`${i.bottomContainerHeight}px`),D("--height",`${i.rowHeight}px`)},[L,i]);const j=y.useRef(!0),_=y.useCallback(D=>{o.current=D;const z=/jsdom/.test(window.navigator.userAgent);if(D.height===0&&!r.current&&!t.autoHeight&&!z&&(n.error(["The parent DOM element of the Data Grid has an empty height.","Please make sure that this element has an intrinsic height.","The grid displays with a height of 0px.","","More details: https://mui.com/r/x-data-grid-no-dimensions."].join(` +`)),r.current=!0),D.width===0&&!r.current&&!z&&(n.error(["The parent DOM element of the Data Grid has an empty width.","Please make sure that this element has an intrinsic width.","The grid displays with a width of 0px.","","More details: https://mui.com/r/x-data-grid-no-dimensions."].join(` +`)),r.current=!0),j.current){S(D),j.current=!1;return}P(D)},[t.autoHeight,P,n]);_o(I,[I]),lr(e,"sortedRowsSet",I),lr(e,"paginationModelChange",I),lr(e,"columnsChange",I),ht(e,"resize",_),lr(e,"debouncedResize",t.onResize)}function sAt(e,t,n){if(n!==void 0)return n;if(e===null||t===0)return 0;const o=Pf(e).createElement("div");o.style.width="99px",o.style.height="99px",o.style.position="absolute",o.style.overflow="scroll",o.className="scrollDiv",e.appendChild(o);const i=o.offsetWidth-o.clientWidth;return e.removeChild(o),i}function lAt(e,t){return Math.round(e*10**t)/10**t}function hK(e,t){return e.width===t.width&&e.height===t.height}const cAt=typeof globalThis.ResizeObserver<"u"?globalThis.ResizeObserver:class{observe(){}unobserve(){}disconnect(){}},uAt=(e,t,n)=>(n.current.caches.rowsMeta={heights:new Map},W({},e,{rowsMeta:{currentPageTotalHeight:0,positions:[]}})),dAt=(e,t)=>{const{getRowHeight:n,getRowSpacing:r,getEstimatedRowHeight:o}=t,i=e.current.caches.rowsMeta.heights,a=y.useRef(-1),s=y.useRef(!1),l=y.useRef(!1),c=Ye(e,h1),u=Ye(e,ti),d=Ye(e,yM),f=Ye(e,js),p=sp(e,t),m=Ye(e,mm),g=Ye(e,()=>li(e.current.state).rowHeight),v=L=>{let j=i.get(L);return j===void 0&&(j={content:g,spacingTop:0,spacingBottom:0,detail:0,autoHeight:!1,needsFirstMeasurement:!0},i.set(L,j)),j},w=y.useCallback(L=>{const j=li(e.current.state).rowHeight,_=e.current.getRowHeightEntry(L.id);if(!n)_.content=j,_.needsFirstMeasurement=!1;else{const D=n(W({},L,{densityFactor:c}));if(D==="auto"){if(_.needsFirstMeasurement){const z=o?o(W({},L,{densityFactor:c})):j;_.content=z??j}s.current=!0,_.autoHeight=!0}else _.content=sce(D,j),_.needsFirstMeasurement=!1,_.autoHeight=!1}if(r){const D=e.current.getRowIndexRelativeToVisibleRows(L.id),z=r(W({},L,{isFirstVisible:D===0,isLastVisible:D===p.rows.length-1,indexRelativeToCurrentPage:D}));_.spacingTop=z.top??0,_.spacingBottom=z.bottom??0}else _.spacingTop=0,_.spacingBottom=0;return e.current.unstable_applyPipeProcessors("rowHeight",_,L),_},[e,p.rows.length,n,o,g,r,c]),x=y.useCallback(()=>{s.current=!1,m.top.forEach(w),m.bottom.forEach(w);const L=[],j=p.rows.reduce((_,D)=>{L.push(_);const z=w(D),F=z.content+z.spacingTop+z.spacingBottom+z.detail;return _+F},0);s.current||(a.current=1/0),e.current.setState(_=>W({},_,{rowsMeta:{currentPageTotalHeight:j,positions:L}})),l.current=!0},[e,m,p.rows,w]),S=L=>{var j;return((j=i.get(L))==null?void 0:j.content)??g},P=(L,j)=>{const _=e.current.getRowHeightEntry(L),D=_.content!==j;_.needsFirstMeasurement=!1,_.content=j,l.current&&(l.current=!D)},T=L=>{var j;return((j=i.get(L))==null?void 0:j.autoHeight)??!1},E=()=>a.current,O=L=>{s.current&&L>a.current&&(a.current=L)},k=()=>{i.clear(),x()},A=eu(()=>new cAt(L=>{for(let j=0;j0?_.borderBoxSize[0].blockSize:_.contentRect.height,z=_.target.__mui_id;e.current.unstable_storeRowHeightMeasurement(z,D)}l.current||e.current.requestPipeProcessorsApplication("rowHeight")})).current,I=(L,j)=>(L.__mui_id=j,A.observe(L),()=>A.unobserve(L));Jz(e,"rowHeight",x),y.useEffect(()=>{x()},[u,d,f,x]);const R={unstable_getRowHeight:S,unstable_setLastMeasuredRowIndex:O,unstable_storeRowHeightMeasurement:P,resetRowHeights:k},N={hydrateRowsMeta:x,observeRowHeight:I,rowHasAutoHeight:T,getRowHeightEntry:v,getLastMeasuredRowIndex:E};Jt(e,R,"public"),Jt(e,N,"private")},fAt=e=>{const t=y.useCallback((o={})=>e.current.unstable_applyPipeProcessors("exportState",{},o),[e]),n=y.useCallback(o=>{e.current.unstable_applyPipeProcessors("restoreState",{callbacks:[]},{stateToRestore:o}).callbacks.forEach(a=>{a()}),e.current.forceUpdate()},[e]);Jt(e,{exportState:t,restoreState:n},"public")},pAt=e=>{const t=y.useRef({}),n=(s,l)=>{var c;return(c=t.current[s])==null?void 0:c[l]},r=()=>{t.current={}},o=y.useCallback(({rowId:s,minFirstColumn:l,maxLastColumn:c,columns:u})=>{for(let d=l;d1&&(d+=f.colSpan-1)}},[e]),i={unstable_getCellColSpanInfo:n},a={resetColSpan:r,calculateColSpan:o};Jt(e,i,"public"),Jt(e,a,"private"),ht(e,"columnOrderChange",r)};function hAt(e){const{apiRef:t,lookup:n,columnIndex:r,rowId:o,minFirstColumnIndex:i,maxLastColumnIndex:a,columns:s}=e,l=s.length,c=s[r],u=t.current.getRow(o),d=t.current.getRowValue(u,c),f=typeof c.colSpan=="function"?c.colSpan(d,u,c,t):c.colSpan;if(!f||f===1)return VR(n,o,r,{spannedByColSpan:!1,cellProps:{colSpan:1,width:c.computedWidth}}),{colSpan:1};let p=c.computedWidth;for(let m=1;m=i&&g{if(Zle(e)){if(n[e.field]!==void 0)throw new Error(["MUI X: columnGroupingModel contains duplicated field",`column field ${e.field} occurs two times in the grouping model:`,`- ${n[e.field].join(" > ")}`,`- ${t.join(" > ")}`].join(` +`));n[e.field]=t;return}const{groupId:r,children:o}=e;o.forEach(i=>{Zce(i,[...t,r],n)})},aL=e=>{if(!e)return{};const t={};return e.forEach(n=>{Zce(n,[],t)}),t},sL=(e,t,n)=>{const r=l=>t[l]??[],o=[],i=Math.max(...e.map(l=>r(l).length)),a=(l,c,u)=>py(r(l).slice(0,u+1),r(c).slice(0,u+1)),s=(l,c)=>!!(n!=null&&n.left&&n.left.includes(l)&&!n.left.includes(c)||n!=null&&n.right&&!n.right.includes(l)&&n.right.includes(c));for(let l=0;l{const f=r(d)[l]??null;if(u.length===0)return[{columnFields:[d],groupId:f}];const p=u[u.length-1],m=p.columnFields[p.columnFields.length-1];return p.groupId!==f||!a(m,d,l)||s(m,d)?[...u,{columnFields:[d],groupId:f}]:[...u.slice(0,u.length-1),{columnFields:[...p.columnFields,d],groupId:f}]},[]);o.push(c)}return o},mAt=["groupId","children"],Zz=e=>{let t={};return e.forEach(n=>{if(Zle(n))return;const{groupId:r,children:o}=n,i=At(n,mAt);if(!r)throw new Error("MUI X: An element of the columnGroupingModel does not have either `field` or `groupId`.");const a=W({},i,{groupId:r}),s=Zz(o);if(s[r]!==void 0||t[r]!==void 0)throw new Error(`MUI X: The groupId ${r} is used multiple times in the columnGroupingModel.`);t=W({},t,s,{[r]:a})}),W({},t)},gAt=(e,t,n)=>{if(!t.columnGroupingModel)return e;const r=Nu(n),o=Eb(n),i=Zz(t.columnGroupingModel??[]),a=aL(t.columnGroupingModel??[]),s=sL(r,a,n.current.state.pinnedColumns??{}),l=o.length===0?0:Math.max(...o.map(c=>{var u;return((u=a[c])==null?void 0:u.length)??0}));return W({},e,{columnGrouping:{lookup:i,unwrappedGroupingModel:a,headerStructure:s,maxDepth:l}})},yAt=(e,t)=>{const n=y.useCallback(s=>Tce(e)[s]??[],[e]),r=y.useCallback(()=>Ece(e),[e]);Jt(e,{getColumnGroupPath:n,getAllGroupDetails:r},"public");const i=y.useCallback(()=>{const s=aL(t.columnGroupingModel??[]);e.current.setState(l=>{var f;const c=((f=l.columns)==null?void 0:f.orderedFields)??[],u=l.pinnedColumns??{},d=sL(c,s,u);return W({},l,{columnGrouping:W({},l.columnGrouping,{headerStructure:d})})})},[e,t.columnGroupingModel]),a=y.useCallback(s=>{var g,v;const l=((v=(g=e.current).getPinnedColumns)==null?void 0:v.call(g))??{},c=Nu(e),u=Eb(e),d=Zz(s??[]),f=aL(s??[]),p=sL(c,f,l),m=u.length===0?0:Math.max(...u.map(w=>{var x;return((x=f[w])==null?void 0:x.length)??0}));e.current.setState(w=>W({},w,{columnGrouping:{lookup:d,unwrappedGroupingModel:f,headerStructure:p,maxDepth:m}}))},[e]);ht(e,"columnIndexChange",i),ht(e,"columnsChange",()=>{a(t.columnGroupingModel)}),ht(e,"columnVisibilityModelChange",()=>{a(t.columnGroupingModel)}),y.useEffect(()=>{a(t.columnGroupingModel)},[a,t.columnGroupingModel])};function vAt(){let e,t;const n=new Promise((r,o)=>{e=r,t=o});return n.resolve=e,n.reject=t,n}function mK(e,t){if(t!==void 0&&e.changedTouches){for(let n=0;nWz(e),r=Ye(e,n);return y.useEffect(()=>{t.current&&r===!1&&(t.current.resolve(),t.current=void 0)}),()=>{if(!t.current){if(n()===!1)return Promise.resolve();t.current=vAt()}return t.current}}function CAt(e,t){if(e.length<4)return e;const n=e.slice();n.sort((s,l)=>s-l);const r=n[Math.floor(n.length*.25)],o=n[Math.floor(n.length*.75)-1],i=o-r,a=i<5?5:i*t;return n.filter(s=>s>r-a&&s{const s=NEt(e.current,i.field).map(m=>m.getBoundingClientRect().width??0),l=t.includeOutliers?s:CAt(s,t.outliersFactor);if(t.includeHeaders){const m=DEt(e.current,i.field);if(m){const g=m.querySelector(`.${se.columnHeaderTitle}`),v=m.querySelector(`.${se.columnHeaderTitleContainerContent}`),w=m.querySelector(`.${se.iconButtonContainer}`),x=m.querySelector(`.${se.menuIcon}`),S=g??v,P=window.getComputedStyle(m,null),T=parseInt(P.paddingLeft,10)+parseInt(P.paddingRight,10),O=S.scrollWidth+1+T+((w==null?void 0:w.clientWidth)??0)+((x==null?void 0:x.clientWidth)??0);l.push(O)}}const c=i.minWidth!==-1/0&&i.minWidth!==void 0,u=i.maxWidth!==1/0&&i.maxWidth!==void 0,d=c?i.minWidth:0,f=u?i.maxWidth:1/0,p=l.length===0?0:Math.max(...l);r[i.field]=Fc(p,d,f)}),o.classList.remove(se.autosizing),r}const TAt=e=>W({},e,{columnResize:{resizingColumnField:""}});function EAt(){return{colDef:void 0,initialColWidth:0,initialTotalWidth:0,previousMouseClickEvent:void 0,columnHeaderElement:void 0,headerFilterElement:void 0,groupHeaderElements:[],cellElements:[],leftPinnedCellsAfter:[],rightPinnedCellsBefore:[],fillerLeft:void 0,fillerRight:void 0,leftPinnedHeadersAfter:[],rightPinnedHeadersBefore:[]}}const OAt=(e,t)=>{const n=nr(),r=Lo(e,"useGridColumnResize"),o=eu(EAt).current,i=y.useRef(),a=y.useRef(),s=Tb(),l=y.useRef(),c=A=>{var D,z;r.debug(`Updating width to ${A} for col ${o.colDef.field}`);const I=o.columnHeaderElement.offsetWidth,R=A-I,N=A-o.initialColWidth,L=o.initialTotalWidth+N;(z=(D=e.current.rootElementRef)==null?void 0:D.current)==null||z.style.setProperty("--DataGrid-rowWidth",`${L}px`),o.colDef.computedWidth=A,o.colDef.width=A,o.colDef.flex=0,o.columnHeaderElement.style.width=`${A}px`;const j=o.headerFilterElement;j&&(j.style.width=`${A}px`),o.groupHeaderElements.forEach(F=>{const H=F;let U;H.getAttribute("aria-colspan")==="1"?U=`${A}px`:U=`${H.offsetWidth+R}px`,H.style.width=U}),o.cellElements.forEach(F=>{const H=F;let U;H.getAttribute("aria-colspan")==="1"?U=`${A}px`:U=`${H.offsetWidth+R}px`,H.style.setProperty("--width",U)});const _=e.current.unstable_applyPipeProcessors("isColumnPinned",!1,o.colDef.field);_===ur.LEFT&&(lg(o.fillerLeft,"width",R),o.leftPinnedCellsAfter.forEach(F=>{lg(F,"left",R)}),o.leftPinnedHeadersAfter.forEach(F=>{lg(F,"left",R)})),_===ur.RIGHT&&(lg(o.fillerRight,"width",R),o.rightPinnedCellsBefore.forEach(F=>{lg(F,"right",R)}),o.rightPinnedHeadersBefore.forEach(F=>{lg(F,"right",R)}))},u=A=>{if(w(),o.previousMouseClickEvent){const I=o.previousMouseClickEvent,R=I.timeStamp,N=I.clientX,L=I.clientY;if(A.timeStamp-R<300&&A.clientX===N&&A.clientY===L){o.previousMouseClickEvent=void 0,e.current.publishEvent("columnResizeStop",null,A);return}}if(o.colDef){e.current.setColumnWidth(o.colDef.field,o.colDef.width),r.debug(`Updating col ${o.colDef.field} with new width: ${o.colDef.width}`);const I=Lc(e.current.state);o.groupHeaderElements.forEach(R=>{const N=IEt(R),L=R,_=`${N.reduce((D,z)=>I.columnVisibilityModel[z]!==!1?D+I.lookup[z].computedWidth:D,0)}px`;L.style.width=_})}s.start(0,()=>{e.current.publishEvent("columnResizeStop",null,A)})},d=(A,I,R)=>{var _;const N=e.current.rootElementRef.current;o.initialColWidth=A.computedWidth,o.initialTotalWidth=e.current.getRootDimensions().rowWidth,o.colDef=A,o.columnHeaderElement=OEt(e.current.columnHeadersContainerRef.current,A.field);const L=N.querySelector(`.${se.headerFilterRow} [data-field="${fd(A.field)}"]`);L&&(o.headerFilterElement=L),o.groupHeaderElements=kEt((_=e.current.columnHeadersContainerRef)==null?void 0:_.current,A.field),o.cellElements=MEt(o.columnHeaderElement,e.current),o.fillerLeft=Vq(e.current,n?"filler--pinnedRight":"filler--pinnedLeft"),o.fillerRight=Vq(e.current,n?"filler--pinnedLeft":"filler--pinnedRight");const j=e.current.unstable_applyPipeProcessors("isColumnPinned",!1,o.colDef.field);o.leftPinnedCellsAfter=j!==ur.LEFT?[]:AEt(e.current,o.columnHeaderElement,n),o.rightPinnedCellsBefore=j!==ur.RIGHT?[]:$Et(e.current,o.columnHeaderElement,n),o.leftPinnedHeadersAfter=j!==ur.LEFT?[]:REt(e.current,o.columnHeaderElement,n),o.rightPinnedHeadersBefore=j!==ur.RIGHT?[]:_Et(e.current,o.columnHeaderElement,n),a.current=xAt(I,n),i.current=bAt(R,o.columnHeaderElement.getBoundingClientRect(),a.current)},f=wr(u),p=wr(A=>{if(A.buttons===0){f(A);return}let I=gK(i.current,A.clientX,o.columnHeaderElement.getBoundingClientRect(),a.current);I=Fc(I,o.colDef.minWidth,o.colDef.maxWidth),c(I);const R={element:o.columnHeaderElement,colDef:o.colDef,width:I};e.current.publishEvent("columnResize",R,A)}),m=wr(A=>{mK(A,l.current)&&u(A)}),g=wr(A=>{const I=mK(A,l.current);if(!I)return;if(A.type==="mousemove"&&A.buttons===0){m(A);return}let R=gK(i.current,I.x,o.columnHeaderElement.getBoundingClientRect(),a.current);R=Fc(R,o.colDef.minWidth,o.colDef.maxWidth),c(R);const N={element:o.columnHeaderElement,colDef:o.colDef,width:R};e.current.publishEvent("columnResize",N,A)}),v=wr(A=>{const I=xO(A.target,se["columnSeparator--resizable"]);if(!I)return;const R=A.changedTouches[0];R!=null&&(l.current=R.identifier);const N=xO(A.target,se.columnHeader),L=EEt(N),j=e.current.getColumn(L);r.debug(`Start Resize on col ${j.field}`),e.current.publishEvent("columnResizeStart",{field:L},A),d(j,I,R.clientX);const _=Pf(A.currentTarget);_.addEventListener("touchmove",g),_.addEventListener("touchend",m)}),w=y.useCallback(()=>{const A=Pf(e.current.rootElementRef.current);A.body.style.removeProperty("cursor"),A.removeEventListener("mousemove",p),A.removeEventListener("mouseup",f),A.removeEventListener("touchmove",g),A.removeEventListener("touchend",m),setTimeout(()=>{A.removeEventListener("click",yK,!0)},100),o.columnHeaderElement&&(o.columnHeaderElement.style.pointerEvents="unset")},[e,o,p,f,g,m]),x=y.useCallback(({field:A})=>{e.current.setState(I=>W({},I,{columnResize:W({},I.columnResize,{resizingColumnField:A})})),e.current.forceUpdate()},[e]),S=y.useCallback(()=>{e.current.setState(A=>W({},A,{columnResize:W({},A.columnResize,{resizingColumnField:""})})),e.current.forceUpdate()},[e]),P=wr(({colDef:A},I)=>{if(I.button!==0||!I.currentTarget.classList.contains(se["columnSeparator--resizable"]))return;I.preventDefault(),r.debug(`Start Resize on col ${A.field}`),e.current.publishEvent("columnResizeStart",{field:A.field},I),d(A,I.currentTarget,I.clientX);const R=Pf(e.current.rootElementRef.current);R.body.style.cursor="col-resize",o.previousMouseClickEvent=I.nativeEvent,R.addEventListener("mousemove",p),R.addEventListener("mouseup",f),R.addEventListener("click",yK,!0)}),T=wr((A,I)=>{if(t.disableAutosize||I.button!==0)return;const R=e.current.state.columns.lookup[A.field];R.resizable!==!1&&e.current.autosizeColumns(W({},t.autosizeOptions,{columns:[R.field]}))}),E=SAt(e),O=y.useRef(!1),k=y.useCallback(async A=>{var j;if(!((j=e.current.rootElementRef)==null?void 0:j.current)||O.current)return;O.current=!0;const R=Lc(e.current.state),N=W({},pEt,A,{columns:(A==null?void 0:A.columns)??R.orderedFields});N.columns=N.columns.filter(_=>R.columnVisibilityModel[_]!==!1);const L=N.columns.map(_=>e.current.state.columns.lookup[_]);try{e.current.unstable_setColumnVirtualization(!1),await E();const _=PAt(e,N,L),D=L.map(z=>W({},z,{width:_[z.field],computedWidth:_[z.field]}));if(N.expand){const F=R.orderedFields.map(q=>R.lookup[q]).filter(q=>R.columnVisibilityModel[q.field]!==!1).reduce((q,X)=>q+(_[X.field]??X.computedWidth??X.width),0),U=e.current.getRootDimensions().viewportInnerSize.width-F;if(U>0){const q=U/(D.length||1);D.forEach(X=>{X.width+=q,X.computedWidth+=q})}}e.current.updateColumns(D),D.forEach((z,F)=>{if(z.width!==L[F].width){const H=z.width;e.current.publishEvent("columnWidthChange",{element:e.current.getColumnHeaderElement(z.field),colDef:z,width:H})}})}finally{e.current.unstable_setColumnVirtualization(!0),O.current=!1}},[e,E]);y.useEffect(()=>w,[w]),cM(()=>{t.autosizeOnMount&&Promise.resolve().then(()=>{e.current.autosizeColumns(t.autosizeOptions)})}),gce(e,()=>{var A;return(A=e.current.columnHeadersContainerRef)==null?void 0:A.current},"touchstart",v,{passive:!0}),Jt(e,{autosizeColumns:k},"public"),ht(e,"columnResizeStop",S),ht(e,"columnResizeStart",x),ht(e,"columnSeparatorMouseDown",P),ht(e,"columnSeparatorDoubleClick",T),lr(e,"columnResize",t.onColumnResize),lr(e,"columnWidthChange",t.onColumnWidthChange)};function lg(e,t,n){e&&(e.style[t]=`${parseInt(e.style[t],10)+n}px`)}function IAt(e,t){return e.firstRowIndex>=t.firstRowIndex&&e.lastRowIndex<=t.lastRowIndex?null:e.firstRowIndex>=t.firstRowIndex&&e.lastRowIndex>t.lastRowIndex?{firstRowIndex:t.lastRowIndex,lastRowIndex:e.lastRowIndex}:e.firstRowIndex{if(!e)return null;let r=e[t.field];const o=t.rowSpanValueGetter??t.valueGetter;return o&&(r=o(r,e,t,n)),r},PO={spannedCells:{},hiddenCells:{},hiddenCellOriginMap:{}},$w={firstRowIndex:0,lastRowIndex:0},MAt=new Set([bu,"__reorder__",pM]),eue=20,tue=(e,t,n,r,o,i,a)=>{const s=i?{}:W({},e.current.state.rowSpanning.spannedCells),l=i?{}:W({},e.current.state.rowSpanning.hiddenCells),c=i?{}:W({},e.current.state.rowSpanning.hiddenCellOriginMap);return i&&(a=$w),t.forEach(u=>{var d;if(!MAt.has(u.field)){for(let f=o.firstRowIndex;f<=o.lastRowIndex;f+=1){const p=n[f];if((d=l[p.id])!=null&&d[u.field])continue;const m=HR(p.model,u,e);if(m==null)continue;let g=p.id,v=f,w=0;const x=[];if(f===o.firstRowIndex){let P=f-1;const T=n[P];for(;P>=r.firstRowIndex&&HR(T.model,u,e)===m;){const E=n[P+1];l[E.id]?l[E.id][u.field]=!0:l[E.id]={[u.field]:!0},x.push(f),w+=1,g=T.id,v=P,P-=1}}x.forEach(P=>{c[P]?c[P][u.field]=v:c[P]={[u.field]:v}});let S=f+1;for(;S<=r.lastRowIndex&&n[S]&&HR(n[S].model,u,e)===m;){const P=n[S];l[P.id]?l[P.id][u.field]=!0:l[P.id]={[u.field]:!0},c[S]?c[S][u.field]=v:c[S]={[u.field]:v},S+=1,w+=1}w>0&&(s[g]?s[g][u.field]=w+1:s[g]={[u.field]:w+1})}a={firstRowIndex:Math.min(a.firstRowIndex,o.firstRowIndex),lastRowIndex:Math.max(a.lastRowIndex,o.lastRowIndex)}}}),{spannedCells:s,hiddenCells:l,hiddenCellOriginMap:c,processedRange:a}},AAt=(e,t,n)=>{var r;if(t.unstable_rowSpanning){const o=e.rows.dataRowIds||[],i=e.columns.orderedFields||[],a=e.rows.dataRowIdToModelLookup,s=e.columns.lookup,l=!!e.filter.filterModel.items.length||!!((r=e.filter.filterModel.quickFilterValues)!=null&&r.length);if(!o.length||!i.length||!a||!s||l)return W({},e,{rowSpanning:PO});const c={firstRowIndex:0,lastRowIndex:Math.min(eue-1,Math.max(o.length-1,0))},u=o.map(g=>({id:g,model:a[g]})),d=i.map(g=>s[g]),{spannedCells:f,hiddenCells:p,hiddenCellOriginMap:m}=tue(n,d,u,c,c,!0,$w);return W({},e,{rowSpanning:{spannedCells:f,hiddenCells:p,hiddenCellOriginMap:m}})}return W({},e,{rowSpanning:PO})},$At=(e,t)=>{const{range:n,rows:r}=sp(e,t),o=Ye(e,wM),i=Ye(e,vo),a=eu(()=>Object.keys(e.current.state.rowSpanning.spannedCells).length>0?{firstRowIndex:0,lastRowIndex:Math.min(eue-1,Math.max(e.current.state.rows.dataRowIds.length-1,0))}:$w),s=y.useRef($w),l=y.useCallback((f=!0)=>{if(!t.unstable_rowSpanning){e.current.state.rowSpanning!==PO&&e.current.setState(O=>W({},O,{rowSpanning:PO}));return}if(n===null||!kAt(o))return;f&&(a.current=$w);const p=IAt({firstRowIndex:o.firstRowIndex,lastRowIndex:Math.min(o.lastRowIndex-1,n.lastRowIndex)},a.current);if(p===null)return;const{spannedCells:m,hiddenCells:g,hiddenCellOriginMap:v,processedRange:w}=tue(e,i,r,n,p,f,a.current);a.current=w;const x=Object.keys(m).length,S=Object.keys(g).length,P=Object.keys(e.current.state.rowSpanning.spannedCells).length,T=Object.keys(e.current.state.rowSpanning.hiddenCells).length;(f||x!==P||S!==T)&&e.current.setState(O=>W({},O,{rowSpanning:{spannedCells:m,hiddenCells:g,hiddenCellOriginMap:v}}))},[e,t.unstable_rowSpanning,n,o,r,i,a]),c=y.useRef(o),u=y.useRef(!0),d=y.useRef(!1);y.useEffect(()=>{const f=u.current;if(u.current&&(u.current=!1),n&&s.current&&vK(n,s.current)&&(s.current=n,d.current=!0),!f&&c.current!==o){vK(c.current,o)&&(l(d.current),d.current=!1),c.current=o;return}l()},[l,o,n,s])},RAt=(e,t,n)=>W({},e,{listViewColumn:t.unstable_listColumn?W({},t.unstable_listColumn,{computedWidth:lL(n)}):void 0});function _At(e,t){const n=()=>{e.current.setState(i=>i.listViewColumn?W({},i,{listViewColumn:W({},i.listViewColumn,{computedWidth:lL(e)})}):i)},r=y.useRef(null);ht(e,"viewportInnerSizeChange",i=>{r.current!==i.width&&(r.current=i.width,n())}),ht(e,"columnVisibilityModelChange",n),y.useEffect(()=>{const i=t.unstable_listColumn;i&&e.current.setState(a=>W({},a,{listViewColumn:W({},i,{computedWidth:lL(e)})}))},[e,t.unstable_listColumn]),y.useEffect(()=>{t.unstable_listView&&t.unstable_listColumn},[t.unstable_listView,t.unstable_listColumn])}function lL(e){return li(e.current.state).viewportInnerSize.width}const DAt=(e,t)=>{const n=eMt(e,t);return JMt(n,t),KMt(n),Bo(iAt,n,t),Bo(YMt,n,t),Bo(lMt,n,t),Bo(HMt,n,t),Bo(zMt,n,t),Bo(SMt,n,t),Bo(ZMt,n,t),Bo(RMt,n,t),Bo(vMt,n,t),Bo(AAt,n,t),Bo(uMt,n,t),Bo(TAt,n,t),Bo(AMt,n,t),Bo(uAt,n,t),Bo(aMt,n,t),Bo(gAt,n,t),Bo(ETt,n,t),Bo(RAt,n,t),IMt(n,t),XMt(n,t),cMt(n,t),UMt(n,t),$At(n,t),LEt(n,t),pAt(n),yAt(n,t),VMt(n,t),CMt(n,t),_Mt(n,t),xMt(n,t),eAt(n,t),dMt(n,t),OAt(n,t),$Mt(n,t),dAt(n,t),tAt(n,t),sMt(n),pMt(n,t),yMt(n,t),iMt(n,t),aAt(n,t),nAt(n,t),fAt(n),OTt(n,t),_At(n,t),n},NAt=e=>{const{classes:t,headerAlign:n,isDragging:r,isLastColumn:o,showLeftBorder:i,showRightBorder:a,groupId:s,pinnedPosition:l}=e;return vn({root:["columnHeader",n==="left"&&"columnHeader--alignLeft",n==="center"&&"columnHeader--alignCenter",n==="right"&&"columnHeader--alignRight",r&&"columnHeader--moving",a&&"columnHeader--withRightBorder",i&&"columnHeader--withLeftBorder","withBorderColor",s===null?"columnHeader--emptyGroup":"columnHeader--filledGroup",l==="left"&&"columnHeader--pinnedLeft",l==="right"&&"columnHeader--pinnedRight",o&&"columnHeader--last"],draggableContainer:["columnHeaderDraggableContainer"],titleContainer:["columnHeaderTitleContainer","withBorderColor"],titleContainerContent:["columnHeaderTitleContainerContent"]},bn,t)};function LAt(e){var q;const{groupId:t,width:n,depth:r,maxDepth:o,fields:i,height:a,colIndex:s,hasFocus:l,tabIndex:c,isLastColumn:u,pinnedPosition:d,style:f,indexInSection:p,sectionLength:m,gridHasFiller:g}=e,v=xt(),w=y.useRef(null),x=mn(),S=Ye(x,Ece),P=t?S[t]:{},{headerName:T=t??"",description:E="",headerAlign:O=void 0}=P;let k;const A=t&&((q=S[t])==null?void 0:q.renderHeaderGroup),I=y.useMemo(()=>({groupId:t,headerName:T,description:E,depth:r,maxDepth:o,fields:i,colIndex:s,isLastColumn:u}),[t,T,E,r,o,i,s,u]);t&&A&&(k=A(I));const R=SM(d,p),N=xM(d,p,m,v.showColumnVerticalBorder,g),L=W({},e,{classes:v.classes,showLeftBorder:R,showRightBorder:N,headerAlign:O,depth:r,isDragging:!1}),j=T??t,_=yo(),D=t===null?`empty-group-cell-${_}`:t,z=NAt(L);y.useLayoutEffect(()=>{if(l){const ae=w.current.querySelector('[tabindex="0"]')||w.current;ae==null||ae.focus()}},[x,l]);const F=y.useCallback(X=>ae=>{b1(ae)||x.current.publishEvent(X,I,ae)},[x,I]),H=y.useMemo(()=>({onKeyDown:F("columnGroupHeaderKeyDown"),onFocus:F("columnGroupHeaderFocus"),onBlur:F("columnGroupHeaderBlur")}),[F]),U=typeof P.headerClassName=="function"?P.headerClassName(I):P.headerClassName;return $.jsx(Vce,W({ref:w,classes:z,columnMenuOpen:!1,colIndex:s,height:a,isResizing:!1,sortDirection:null,hasFocus:!1,tabIndex:c,isDraggable:!1,headerComponent:k,headerClassName:U,description:E,elementId:D,width:n,columnMenuIconButton:null,columnTitleIconButtons:null,resizable:!1,label:j,"aria-colspan":i.length,"data-fields":`|-${i.join("-|-")}-|`,style:f},H))}const bK=oe("div",{name:"MuiDataGrid",slot:"ColumnHeaderRow",overridesResolver:(e,t)=>t.columnHeaderRow})({display:"flex"}),FAt=e=>{const{visibleColumns:t,sortColumnLookup:n,filterColumnLookup:r,columnHeaderTabIndexState:o,columnGroupHeaderTabIndexState:i,columnHeaderFocus:a,columnGroupHeaderFocus:s,headerGroupingMaxDepth:l,columnMenuState:c,columnVisibility:u,columnGroupsHeaderStructure:d,hasOtherElementInTabSequence:f}=e,[p,m]=y.useState(""),[g,v]=y.useState(""),w=xl(),x=nr(),S=xt(),P=Ye(w,li),T=Ye(w,Wz),E=Ye(w,Tce),O=Ye(w,ip),k=Ye(w,TTt),A=Ye(w,m1),I=Ye(w,dd),R=Ace(O,k,A.left.length),N=P.columnsTotalWidth{w.current.columnHeadersContainerRef.current&&(w.current.columnHeadersContainerRef.current.scrollLeft=0)},[w]);const L=y.useCallback(te=>v(te.field),[]),j=y.useCallback(()=>v(""),[]),_=y.useCallback(te=>m(te.field),[]),D=y.useCallback(()=>m(""),[]),z=y.useMemo(()=>A.left.length?{firstColumnIndex:0,lastColumnIndex:A.left.length}:null,[A.left.length]),F=y.useMemo(()=>A.right.length?{firstColumnIndex:t.length-A.right.length,lastColumnIndex:t.length}:null,[A.right.length,t.length]);ht(w,"columnResizeStart",L),ht(w,"columnResizeStop",j),ht(w,"columnHeaderDragStart",_),ht(w,"columnHeaderDragEnd",D);const H=te=>{const{renderContext:pe=k,maxLastColumn:ie=t.length}=te||{},le=pe.firstColumnIndex,re=T?pe.lastColumnIndex:ie;return{renderedColumns:t.slice(le,re),firstColumnToRender:le,lastColumnToRender:re}},U=(te,pe,ie,le=!1)=>{const re=(te==null?void 0:te.position)===ur.RIGHT,fe=(te==null?void 0:te.position)===void 0,ee=A.right.length>0&&re||A.right.length===0&&fe,ce=R-ie;return $.jsxs(y.Fragment,{children:[fe&&$.jsx("div",{role:"presentation",style:{width:ce}}),pe,fe&&$.jsx("div",{role:"presentation",className:de(se.filler,le&&se["filler--borderBottom"])}),ee&&$.jsx(Xz,{header:!0,pinnedRight:re,borderBottom:le,borderTop:!1})]})},q=({pinnedPosition:te,columnIndex:pe,computedWidth:ie})=>{let le;const re=te===ur.LEFT,fe=te===ur.RIGHT;if(re||fe){const ee=Yz(te,ie,pe,O,P);let ce=re?"left":"right";x&&(ce=re?"right":"left"),te==="left"&&(le={[ce]:ee}),te==="right"&&(le={[ce]:ee})}return le},X=(te,pe={})=>{const{renderedColumns:ie,firstColumnToRender:le}=H(te),re=[];for(let fe=0;fe$.jsxs(bK,{role:"row","aria-rowindex":l+1,ownerState:S,className:se["row--borderBottom"],children:[z&&X({position:ur.LEFT,renderContext:z,maxLastColumn:z.lastColumnIndex},{disableReorder:!0}),X({renderContext:k,maxLastColumn:t.length-A.right.length}),F&&X({position:ur.RIGHT,renderContext:F,maxLastColumn:F.lastColumnIndex},{disableReorder:!0,separatorSide:Kz.Left})]}),Z=({depth:te,params:pe})=>{var Oe,Me;const ie=H(pe);if(ie.renderedColumns.length===0)return null;const{firstColumnToRender:le,lastColumnToRender:re}=ie,fe=d[te],ee=t[le].field,ce=((Oe=E[ee])==null?void 0:Oe[te])??null,me=fe.findIndex(({groupId:We,columnFields:Ve})=>We===ce&&Ve.includes(ee)),we=t[re-1].field,ge=((Me=E[we])==null?void 0:Me[te])??null,Se=fe.findIndex(({groupId:We,columnFields:Ve})=>We===ge&&Ve.includes(we)),xe=fe.slice(me,Se+1).map(We=>W({},We,{columnFields:We.columnFields.filter(Ve=>u[Ve]!==!1)})).filter(We=>We.columnFields.length>0),Ie=xe[0].columnFields.indexOf(ee),_e=xe[0].columnFields.slice(0,Ie).reduce((We,Ve)=>{const Qe=I[Ve];return We+(Qe.computedWidth??0)},0);let ye=le;const Te=xe.map(({groupId:We,columnFields:Ve},Qe)=>{const ut=s!==null&&s.depth===te&&Ve.includes(s.field),nt=i!==null&&i.depth===te&&Ve.includes(i.field)?0:-1,et={groupId:We,width:Ve.reduce(($e,Xe)=>$e+I[Xe].computedWidth,0),fields:Ve,colIndex:ye,hasFocus:ut,tabIndex:nt},yt=pe.position,wn=q({pinnedPosition:yt,columnIndex:ye,computedWidth:et.width});ye+=Ve.length;let Ke=Qe;return yt==="left"&&(Ke=ye-1),$.jsx(LAt,{groupId:We,width:et.width,fields:et.fields,colIndex:et.colIndex,depth:te,isLastColumn:et.colIndex===t.length-et.fields.length,maxDepth:l,height:P.groupHeaderHeight,hasFocus:ut,tabIndex:nt,pinnedPosition:yt,style:wn,indexInSection:Ke,sectionLength:fe.length,gridHasFiller:N},Qe)});return U(pe,Te,_e)};return{renderContext:k,leftRenderContext:z,rightRenderContext:F,pinnedColumns:A,visibleColumns:t,getCellOffsetStyle:q,getFillers:U,getColumnHeadersRow:ae,getColumnsToRender:H,getColumnGroupHeadersRows:()=>{if(l===0)return null;const te=[];for(let pe=0;pe({role:"rowgroup"})}},jAt=["className"],BAt=e=>{const{classes:t}=e;return vn({root:["columnHeaders"]},bn,t)},zAt=Qn("div",{name:"MuiDataGrid",slot:"ColumnHeaders",overridesResolver:(e,t)=>t.columnHeaders})({display:"flex",flexDirection:"column",borderTopLeftRadius:"var(--unstable_DataGrid-radius)",borderTopRightRadius:"var(--unstable_DataGrid-radius)"}),VAt=y.forwardRef(function(t,n){const{className:r}=t,o=At(t,jAt),i=xt(),a=BAt(i);return $.jsx(zAt,W({ref:n,className:de(a.root,r),ownerState:i},o,{role:"presentation"}))}),HAt=["className","visibleColumns","sortColumnLookup","filterColumnLookup","columnHeaderTabIndexState","columnGroupHeaderTabIndexState","columnHeaderFocus","columnGroupHeaderFocus","headerGroupingMaxDepth","columnMenuState","columnVisibility","columnGroupsHeaderStructure","hasOtherElementInTabSequence"],UAt=y.forwardRef(function(t,n){const{visibleColumns:r,sortColumnLookup:o,filterColumnLookup:i,columnHeaderTabIndexState:a,columnGroupHeaderTabIndexState:s,columnHeaderFocus:l,columnGroupHeaderFocus:c,headerGroupingMaxDepth:u,columnMenuState:d,columnVisibility:f,columnGroupsHeaderStructure:p,hasOtherElementInTabSequence:m}=t,g=At(t,HAt),{getInnerProps:v,getColumnHeadersRow:w,getColumnGroupHeadersRows:x}=FAt({visibleColumns:r,sortColumnLookup:o,filterColumnLookup:i,columnHeaderTabIndexState:a,columnGroupHeaderTabIndexState:s,columnHeaderFocus:l,columnGroupHeaderFocus:c,headerGroupingMaxDepth:u,columnMenuState:d,columnVisibility:f,columnGroupsHeaderStructure:p,hasOtherElementInTabSequence:m});return $.jsxs(VAt,W({ref:n},g,v(),{children:[x(),w()]}))}),WAt=op(UAt);function GAt(e){return null}function qAt(e){return null}const KAt=y.forwardRef(function(t,n){const o=mn().current.getLocaleText("noResultsOverlayLabel");return $.jsx(qz,W({ref:n},t,{children:o}))}),YAt=["sortingOrder"],XAt=y.memo(function(t){const{sortingOrder:n}=t,r=At(t,YAt),o=xt(),[i]=n,a=i==="asc"?o.slots.columnSortedAscendingIcon:o.slots.columnSortedDescendingIcon;return a?$.jsx(a,W({},r)):null}),QAt=["native"];function JAt(e){let{native:t}=e,n=At(e,QAt);return t?$.jsx("option",W({},n)):$.jsx(Yt,W({},n))}const ZAt={booleanCellTrueIcon:JOt,booleanCellFalseIcon:jR,columnMenuIcon:KOt,openFilterButtonIcon:zOt,filterPanelDeleteIcon:jR,columnFilteredIcon:Jq,columnSelectorIcon:HOt,columnUnsortedIcon:XAt,columnSortedAscendingIcon:Kq,columnSortedDescendingIcon:Yq,columnResizeIcon:UOt,densityCompactIcon:WOt,densityStandardIcon:GOt,densityComfortableIcon:qOt,exportIcon:QOt,moreActionsIcon:ZOt,treeDataCollapseIcon:Qq,treeDataExpandIcon:Xq,groupingCriteriaCollapseIcon:Qq,groupingCriteriaExpandIcon:Xq,detailPanelExpandIcon:Zq,detailPanelCollapseIcon:YOt,rowReorderIcon:eK,quickFilterIcon:VOt,quickFilterClearIcon:jR,columnMenuHideIcon:eIt,columnMenuSortAscendingIcon:Kq,columnMenuSortDescendingIcon:Yq,columnMenuFilterIcon:Jq,columnMenuManageColumnsIcon:tIt,columnMenuClearIcon:nIt,loadIcon:XOt,filterPanelAddIcon:Zq,filterPanelRemoveAllIcon:rIt,columnReorderIcon:eK},e$t=W({},ZAt,{baseBadge:yEe,baseCheckbox:hOe,baseDivider:ss,baseTextField:yn,baseFormControl:qh,baseSelect:Gf,baseButton:gt,baseIconButton:kn,baseInputAdornment:po,baseTooltip:ac,basePopper:Hf,baseInputLabel:Kh,baseSelectOption:JAt,baseChip:kh}),t$t=W({},e$t,{cell:VEt,skeletonCell:QEt,columnHeaderFilterIconButton:BOt,columnHeaderSortIcon:FOt,columnMenu:xIt,columnHeaders:WAt,detailPanels:GAt,footer:pkt,footerRowCount:Mkt,toolbar:null,pinnedRows:qAt,loadingOverlay:xkt,noResultsOverlay:KAt,noRowsOverlay:Skt,pagination:Ekt,filterPanel:okt,columnsPanel:RIt,columnsManagement:qce,panel:FIt,row:Dkt});function n$t({defaultSlots:e,slots:t}){const n=t;if(!n||Object.keys(n).length===0)return e;const r=W({},e);return Object.keys(n).forEach(o=>{const i=o;n[i]!==void 0&&(r[i]=n[i])}),r}function r$t(e){const t=Object.keys(e);if(!t.some(o=>o.startsWith("aria-")||o.startsWith("data-")))return e;const n={},r=e.forwardedProps??{};for(let o=0;or$t(e),[e])}const i$t={disableMultipleColumnsFiltering:!0,disableMultipleColumnsSorting:!0,throttleRowsMs:void 0,hideFooterRowCount:!1,pagination:!0,checkboxSelectionVisibleOnly:!1,disableColumnReorder:!0,keepColumnPositionIfDraggedOutside:!1,signature:"DataGrid",unstable_listView:!1},a$t=t$t,s$t=e=>{const t=o$t(Zt({props:e,name:"MuiDataGrid"})),n=y.useMemo(()=>W({},v1t,t.localeText),[t.localeText]),r=y.useMemo(()=>n$t({defaultSlots:a$t,slots:t.slots}),[t.slots]),o=y.useMemo(()=>Object.keys(iL).reduce((i,a)=>(i[a]=t[a]??iL[a],i),{}),[t]);return y.useMemo(()=>W({},t,o,{localeText:n,slots:r},i$t),[t,n,r,o])},l$t={hooks:{useGridAriaAttributes:Nkt,useGridRowAriaAttributes:Lkt}},nue=y.forwardRef(function(t,n){const r=s$t(t),o=DAt(r.apiRef,r);return $.jsx(Fkt,{privateApiRef:o,configuration:l$t,props:r,children:$.jsxs(sOt,W({className:r.className,style:r.style,sx:r.sx,ref:n},r.forwardedProps,{children:[$.jsx(mkt,{}),$.jsx(bEt,{}),$.jsx(wEt,{})]}))})}),c$t=y.memo(nue);nue.propTypes={apiRef:B.shape({current:B.object.isRequired}),"aria-label":B.string,"aria-labelledby":B.string,autoHeight:B.bool,autoPageSize:B.bool,autosizeOnMount:B.bool,autosizeOptions:B.shape({columns:B.arrayOf(B.string),expand:B.bool,includeHeaders:B.bool,includeOutliers:B.bool,outliersFactor:B.number}),cellModesModel:B.object,checkboxSelection:B.bool,classes:B.object,clipboardCopyCellDelimiter:B.string,columnBufferPx:B.number,columnGroupHeaderHeight:B.number,columnGroupingModel:B.arrayOf(B.object),columnHeaderHeight:B.number,columns:B.arrayOf(B.object).isRequired,columnVisibilityModel:B.object,density:B.oneOf(["comfortable","compact","standard"]),disableAutosize:B.bool,disableColumnFilter:B.bool,disableColumnMenu:B.bool,disableColumnResize:B.bool,disableColumnSelector:B.bool,disableColumnSorting:B.bool,disableDensitySelector:B.bool,disableEval:B.bool,disableMultipleRowSelection:B.bool,disableRowSelectionOnClick:B.bool,disableVirtualization:B.bool,editMode:B.oneOf(["cell","row"]),estimatedRowCount:B.number,experimentalFeatures:B.shape({warnIfFocusStateIsNotSynced:B.bool}),filterDebounceMs:B.number,filterMode:B.oneOf(["client","server"]),filterModel:B.shape({items:B.arrayOf(B.shape({field:B.string.isRequired,id:B.oneOfType([B.number,B.string]),operator:B.string.isRequired,value:B.any})).isRequired,logicOperator:B.oneOf(["and","or"]),quickFilterExcludeHiddenColumns:B.bool,quickFilterLogicOperator:B.oneOf(["and","or"]),quickFilterValues:B.array}),forwardedProps:B.object,getCellClassName:B.func,getDetailPanelContent:B.func,getEstimatedRowHeight:B.func,getRowClassName:B.func,getRowHeight:B.func,getRowId:B.func,getRowSpacing:B.func,hideFooter:B.bool,hideFooterPagination:B.bool,hideFooterSelectedRowCount:B.bool,ignoreDiacritics:B.bool,ignoreValueFormatterDuringExport:B.oneOfType([B.shape({clipboardExport:B.bool,csvExport:B.bool}),B.bool]),indeterminateCheckboxAction:B.oneOf(["deselect","select"]),initialState:B.object,isCellEditable:B.func,isRowSelectable:B.func,keepNonExistentRowsSelected:B.bool,loading:B.bool,localeText:B.object,logger:B.shape({debug:B.func.isRequired,error:B.func.isRequired,info:B.func.isRequired,warn:B.func.isRequired}),logLevel:B.oneOf(["debug","error","info","warn",!1]),nonce:B.string,onCellClick:B.func,onCellDoubleClick:B.func,onCellEditStart:B.func,onCellEditStop:B.func,onCellKeyDown:B.func,onCellModesModelChange:B.func,onClipboardCopy:B.func,onColumnHeaderClick:B.func,onColumnHeaderContextMenu:B.func,onColumnHeaderDoubleClick:B.func,onColumnHeaderEnter:B.func,onColumnHeaderLeave:B.func,onColumnHeaderOut:B.func,onColumnHeaderOver:B.func,onColumnOrderChange:B.func,onColumnResize:B.func,onColumnVisibilityModelChange:B.func,onColumnWidthChange:B.func,onDensityChange:B.func,onFilterModelChange:B.func,onMenuClose:B.func,onMenuOpen:B.func,onPaginationMetaChange:B.func,onPaginationModelChange:B.func,onPreferencePanelClose:B.func,onPreferencePanelOpen:B.func,onProcessRowUpdateError:B.func,onResize:B.func,onRowClick:B.func,onRowCountChange:B.func,onRowDoubleClick:B.func,onRowEditStart:B.func,onRowEditStop:B.func,onRowModesModelChange:B.func,onRowSelectionModelChange:B.func,onSortModelChange:B.func,onStateChange:B.func,pageSizeOptions:B.arrayOf(B.oneOfType([B.number,B.shape({label:B.string.isRequired,value:B.number.isRequired})]).isRequired),pagination:B.oneOf([!0]),paginationMeta:B.shape({hasNextPage:B.bool}),paginationMode:B.oneOf(["client","server"]),paginationModel:B.shape({page:B.number.isRequired,pageSize:B.number.isRequired}),processRowUpdate:B.func,resizeThrottleMs:B.number,rowBufferPx:B.number,rowCount:B.number,rowHeight:B.number,rowModesModel:B.object,rowPositionsDebounceMs:B.number,rows:B.arrayOf(B.object),rowSelection:B.bool,rowSelectionModel:B.oneOfType([B.arrayOf(B.oneOfType([B.number,B.string]).isRequired),B.number,B.string]),rowSpacingType:B.oneOf(["border","margin"]),scrollbarSize:B.number,showCellVerticalBorder:B.bool,showColumnVerticalBorder:B.bool,slotProps:B.object,slots:B.object,sortingMode:B.oneOf(["client","server"]),sortingOrder:B.arrayOf(B.oneOf(["asc","desc"])),sortModel:B.arrayOf(B.shape({field:B.string.isRequired,sort:B.oneOf(["asc","desc"])})),sx:B.oneOfType([B.arrayOf(B.oneOfType([B.func,B.object,B.bool])),B.func,B.object]),unstable_rowSpanning:B.bool};const u$t=e=>e.map(t=>({id:t.id,category:t.category,date:t.date,value:t.value,notes:t.notes})),d$t=e=>{const[t]=Ue(),n=u$t(e.category.entries),r=Ale(),o=r1t(),[i,a]=Y.useState(n),[s,l]=Y.useState({}),c=(x,S)=>{x.reason===$l.rowFocusOut&&(S.defaultMuiPrevented=!0)},u=x=>()=>{l({...s,[x]:{mode:Bn.Edit}})},d=x=>()=>{l({...s,[x]:{mode:Bn.View}})},f=x=>async()=>{console.log("deleting entry",x),o.mutate(parseInt(x.toString())),a(i.filter(S=>S.id!==x))},p=x=>()=>{l({...s,[x]:{mode:Bn.View,ignoreModifications:!0}});const S=i.find(P=>P.id===x);(S==null?void 0:S.id)===null&&a(i.filter(P=>P.id!==x))},m=async x=>{r.mutate({id:x.id,categoryId:x.category,date:x.date,value:x.value,notes:x.notes});const S={...x,isNew:!1};return a(i.map(P=>P.id===x.id?S:P)),S},g=x=>{console.log(x)},v=x=>{l(x)},w=[{field:"value",headerName:t("value"),width:80,editable:!0,valueFormatter:x=>x==null?"":x+e.category.unit},{field:"date",headerName:t("date"),type:"date",width:120,editable:!0,valueFormatter:x=>x==null?"":It.fromJSDate(x).toLocaleString(It.DATE_MED)},{field:"notes",headerName:t("notes"),type:"string",flex:1,editable:!0},{field:"actions",type:"actions",headerName:t("actions"),width:100,cellClassName:"actions",getActions:({id:x})=>{var P;return((P=s[x])==null?void 0:P.mode)===Bn.Edit?[C(gP,{icon:C(svt,{}),label:"Save",sx:{color:"primary.main"},onClick:d(x)}),C(gP,{icon:C($S,{}),label:"Cancel",className:"textPrimary",onClick:p(x),color:"inherit"})]:[C(gP,{icon:C(_se,{}),label:"Edit",className:"textPrimary",onClick:u(x),color:"inherit"}),C(gP,{icon:C(Jyt,{}),label:"Delete",onClick:f(x),color:"inherit"})]}}];return C(Rn,{sx:{width:"100%"},children:C(c$t,{editMode:"row",rows:n,columns:w,initialState:{pagination:{paginationModel:{pageSize:WU.pageSize}}},pageSizeOptions:WU.pageSizeOptions,disableRowSelectionOnClick:!0,rowModesModel:s,onRowModesModelChange:v,onRowEditStop:c,processRowUpdate:m,onProcessRowUpdateError:g,slotProps:{toolbar:{setRows:a,setRowModesModel:l}}})})},eV=({title:e,subtitle:t,isOpen:n,message:r,deleteFn:o,closeFn:i})=>{const[a]=Ue();return C(Bv,{open:n,onClose:i,"aria-labelledby":"modal-modal-title","aria-describedby":"modal-modal-description",children:Q(Do,{sx:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",p:2,minWidth:"400px"},children:[C(od,{title:e,titleTypographyProps:{variant:"h6"},subheader:t,action:C($S,{onClick:i})}),C(xa,{children:C(ct,{variant:"body1",children:r})}),Q(hs,{children:[C(gt,{color:"error",variant:"contained",onClick:()=>{o(),i()},children:a("delete")}),C(gt,{color:"primary",onClick:i,children:a("cancel")})]})]})})},f$t=e=>{const t=t1t(e.category.id),n=dm(),[r]=Ue(),[o,i]=Y.useState(null),[a,s]=Y.useState(!1),[l,c]=Y.useState(!1),u=!!o,d=P=>{i(P.currentTarget)},f=()=>{p(),v()},p=()=>{i(null)},m=()=>{x(),i(null)},g=()=>{t.mutate(e.category.id),n(Tn(Sn.MEASUREMENT_OVERVIEW))},v=()=>s(!0),w=()=>s(!1),x=()=>c(!0),S=()=>c(!1);return Q("div",{children:[C(gt,{onClick:d,children:C(Lse,{})}),Q(ms,{anchorEl:o,open:u,onClose:p,MenuListProps:{"aria-labelledby":"basic-button"},children:[C(Yt,{onClick:f,children:r("edit")}),C(Yt,{onClick:m,children:r("delete")})]}),C(ta,{title:r("edit"),isOpen:a,closeFn:w,children:C(_le,{category:e.category,closeFn:w})}),C(eV,{title:r("deleteConfirmation",{name:e.category.name}),message:r("measurements.deleteInfo"),isOpen:l,closeFn:S,deleteFn:g})]})},p$t=()=>{const e=fm(),t=parseInt(e.categoryId),n=Mle(t);return n.isLoading?C(Po,{}):C(pm,{title:n.data.name,optionsMenu:C(f$t,{category:n.data}),mainContent:Q(Gt,{spacing:2,children:[C(Rle,{category:n.data}),C(d$t,{category:n.data})]}),fab:C(s1t,{})})},h$t=e=>{const[t,n]=Ue(),[r,o]=Y.useState(!1),i=()=>o(!0),a=()=>o(!1);return Q(Mt,{children:[Q(Do,{children:[C(od,{title:e.category.name,subheader:e.category.unit}),C(xa,{children:C(Rle,{category:e.category})}),Q(hs,{disableSpacing:!0,sx:{justifyContent:"space-between"},children:[C(gt,{size:"small",children:C(Zl,{to:Tn(Sn.MEASUREMENT_DETAIL,n.language,{id:e.category.id}),children:t("seeDetails")})}),C(kn,{onClick:i,children:C(Ji,{})})]})]}),C(ta,{title:t("add"),isOpen:r,closeFn:a,children:C(Dle,{closeFn:a,categoryId:e.category.id})})]})},wK=()=>{const e=JSt(),[t]=Ue();return e.isLoading?C(Po,{}):C(pm,{title:t("measurements.measurements"),mainContent:Q(Gt,{spacing:2,children:[e.data.length===0&&C(zI,{}),e.data.map(n=>C(h$t,{category:n},n.id))]}),fab:C(a1t,{})})},rT=[{range:"obese",color:"#FF5733",min:30,max:100},{range:"overweight",color:"#FFC107",min:25,max:30},{range:"normal",color:"#90EE90",min:18.5,max:25},{range:"underweight",color:"#FFC300",min:0,max:18.5}],vP=e=>{const t=rT.find(n=>n.range===e);return t?t.color:"gray"},m$t=()=>{const[e]=Ue(),t=oM(),n=Jc(),[r,o]=y.useState(),[i,a]=y.useState();y.useEffect(()=>{var u;if(t.data&&t.data.length>0){const d=t.data[0],f=(u=n.data)!=null&&u.useMetric?d.weight:d.weight*.453592;a(f)}},[t.data,n.data]),y.useEffect(()=>{var u;(u=n.data)!=null&&u.height&&o(n.data.height)},[n.data]);const l=(()=>{if(r&&i){const u=r/100;return i/(u*u)}return null})();if(t.isLoading||n.isLoading)return C(Po,{});const c=[];for(let u=140;u<=220;u+=10){const d=u/100,f={height:u};let p=0;rT.forEach((m,g)=>{const v=m.max>100?100:m.max;let w=v*d*d-p;w=Math.min(w,150-p),g===0?f[m.range]=w:f[m.range]=f[rT[g-1].range]+w,p=Math.min(v*d*d,150)}),c.push(f)}return C(pm,{title:e("bmi.calculator"),mainContent:C(Mt,{children:Q(Gt,{spacing:2,children:[Q(Be,{container:!0,spacing:2,children:[C(Be,{size:{xs:12,sm:6},children:C(yn,{label:e("height"),fullWidth:!0,slotProps:{input:{endAdornment:C(ct,{children:e("cm")})}},type:"number",value:r??"",onChange:u=>o(parseFloat(u.target.value))})}),C(Be,{size:{xs:12,sm:6},children:C(yn,{label:e("weight"),slotProps:{input:{endAdornment:C(ct,{children:e("server.kg")})}},fullWidth:!0,type:"number",value:i??"",onChange:u=>a(parseFloat(u.target.value))})})]}),l!==null&&C(ct,{variant:"h6",children:e("bmi.result",{value:l.toFixed(1)})}),C(Xf,{width:"100%",height:400,children:Q(bot,{data:c,children:[C(ml,{dataKey:"height",type:"number",domain:[140,220],unit:"cm"}),C(gl,{domain:[40,150],tickFormatter:u=>Math.round(u).toString(),unit:"kg"}),C(Zh,{strokeDasharray:"3 3"}),C(Ua,{formatter:(u,d)=>[Math.round(u),e("bmi."+d)]}),rT.map(u=>C(ep,{type:"monotone",dataKey:u.range,stroke:"black",fill:u.color,fillOpacity:.8},u.range)),l!==null&&C(GS,{x:r,y:i,r:8,fill:"black",stroke:"none"})]})}),Q(Gt,{direction:"row",justifyContent:"center",children:[C(Rn,{height:20,width:20,sx:{backgroundColor:vP("obese")}}),e("bmi.obese"),C(Rn,{height:20,width:20,sx:{backgroundColor:vP("overweight"),marginLeft:2}}),e("bmi.overweight"),C(Rn,{height:20,width:20,sx:{backgroundColor:vP("normal"),marginLeft:2}}),e("bmi.normal"),C(Rn,{height:20,width:20,sx:{backgroundColor:vP("underweight"),marginLeft:2}}),e("bmi.underweight")]})]})})})},g$t=e=>{var r,o,i,a;const[t,n]=Ue();return Q(Qt,{children:[C(ke,{sx:{paddingX:1},children:C(ic,{alt:(r=e.item.ingredient)==null?void 0:r.name,src:(i=(o=e.item.ingredient)==null?void 0:o.image)==null?void 0:i.url,sx:{width:45,height:45},children:C(id,{})})}),Q(ke,{sx:{paddingX:1},children:[e.item.amountString," ",(a=e.item.ingredient)==null?void 0:a.name]}),C(ke,{align:"right",sx:{paddingX:1},children:t("nutrition.valueEnergyKcalKj",{kcal:bi(e.item.nutritionalValues.energy,n.language),kj:bi(e.item.nutritionalValues.energyKj,n.language)})}),C(ke,{align:"right",sx:{paddingX:1},children:xn(e.item.nutritionalValues.protein,n.language)}),C(ke,{align:"right",sx:{paddingX:1},children:xn(e.item.nutritionalValues.carbohydrates,n.language)}),C(ke,{align:"right",sx:{paddingX:1},children:xn(e.item.nutritionalValues.fat,n.language)})]},e.item.id)},cL=e=>{const[t,n]=Ue();return C(Ju,{children:Q(Xu,{children:[C(Yh,{children:Q(Qt,{children:[C(ke,{}),C(ke,{}),C(ke,{align:"right",sx:{paddingX:1},children:t("nutrition.energy")}),C(ke,{align:"right",sx:{paddingX:1},children:t("nutrition.protein")}),C(ke,{align:"right",sx:{paddingX:1},children:t("nutrition.carbohydrates")}),C(ke,{align:"right",sx:{paddingX:1},children:t("nutrition.fat")})]})}),Q(Qu,{children:[e.items.map(r=>C(g$t,{item:r},r.id)),e.showSum&&Q(Qt,{children:[C(ke,{sx:{paddingX:1},children:" "}),C(ke,{sx:{paddingX:1},children:t("total")}),C(ke,{align:"right",sx:{paddingX:1},children:t("nutrition.valueEnergyKcalKj",{kcal:bi(e.values.energy,n.language),kj:bi(e.values.energyKj,n.language)})}),C(ke,{align:"right",sx:{paddingX:1},children:xn(e.values.protein,n.language)}),C(ke,{align:"right",sx:{paddingX:1},children:xn(e.values.carbohydrates,n.language)}),C(ke,{align:"right",sx:{paddingX:1},children:xn(e.values.fat,n.language)})]})]})]})})},y$t=e=>{const[t,n]=Ue();return C(Ju,{children:Q(Xu,{size:"small",children:[C(Yh,{children:Q(Qt,{children:[C(ke,{children:t("nutrition.macronutrient")}),C(ke,{align:"right",children:t("nutrition.planned")}),C(ke,{align:"right",children:t("nutrition.logged")}),C(ke,{align:"right",children:t("nutrition.difference")})]})}),Q(Qu,{children:[Q(Qt,{children:[C(ke,{children:t("nutrition.energy")}),C(ke,{align:"right",children:t("nutrition.valueEnergyKcalKj",{kcal:bi(e.planned.energy,n.language),kj:bi(e.planned.energyKj,n.language)})}),C(ke,{align:"right",children:t("nutrition.valueEnergyKcalKj",{kcal:bi(e.logged.energy,n.language),kj:bi(e.logged.energyKj,n.language)})}),C(ke,{align:"right",children:t("nutrition.valueEnergyKcalKj",{kcal:bi(e.logged.energy-e.planned.energy,n.language),kj:bi(e.logged.energyKj-e.planned.energyKj,n.language)})})]}),Q(Qt,{children:[C(ke,{children:t("nutrition.protein")}),C(ke,{align:"right",children:xn(e.planned.protein,n.language)}),C(ke,{align:"right",children:xn(e.logged.protein,n.language)}),C(ke,{align:"right",children:xn(e.logged.protein-e.planned.protein,n.language)})]}),Q(Qt,{children:[C(ke,{children:t("nutrition.carbohydrates")}),C(ke,{align:"right",children:xn(e.planned.carbohydrates,n.language)}),C(ke,{align:"right",children:xn(e.logged.carbohydrates,n.language)}),C(ke,{align:"right",children:xn(e.logged.carbohydrates-e.planned.carbohydrates,n.language)})]}),Q(Qt,{children:[C(ke,{sx:{pl:5},children:t("nutrition.ofWhichSugars")}),C(ke,{align:"right",children:xn(e.planned.carbohydratesSugar,n.language)}),C(ke,{align:"right",children:xn(e.logged.carbohydratesSugar,n.language)}),C(ke,{align:"right",children:xn(e.logged.carbohydratesSugar-e.planned.carbohydratesSugar,n.language)})]}),Q(Qt,{children:[C(ke,{children:t("nutrition.fat")}),C(ke,{align:"right",children:xn(e.planned.fat,n.language)}),C(ke,{align:"right",children:xn(e.logged.fat,n.language)}),C(ke,{align:"right",children:xn(e.logged.fat-e.planned.fat,n.language)})]}),Q(Qt,{children:[C(ke,{sx:{paddingLeft:5},children:t("nutrition.ofWhichSaturated")}),C(ke,{align:"right",children:xn(e.planned.fatSaturated,n.language)}),C(ke,{align:"right",children:xn(e.logged.fatSaturated,n.language)}),C(ke,{align:"right",children:xn(e.logged.fatSaturated-e.planned.fatSaturated,n.language)})]}),Q(Qt,{children:[C(ke,{children:t("nutrition.others")}),C(ke,{}),C(ke,{}),C(ke,{})]}),Q(Qt,{children:[C(ke,{children:t("nutrition.fibres")}),C(ke,{align:"right",children:xn(e.planned.fiber,n.language)}),C(ke,{align:"right",children:xn(e.logged.fiber,n.language)}),C(ke,{align:"right",children:xn(e.logged.fiber-e.planned.fiber,n.language)})]}),Q(Qt,{children:[C(ke,{children:t("nutrition.sodium")}),C(ke,{align:"right",children:xn(e.planned.sodium,n.language)}),C(ke,{align:"right",children:xn(e.logged.sodium,n.language)}),C(ke,{align:"right",children:xn(e.logged.sodium-e.planned.sodium,n.language)})]})]})]})})},xK=()=>{const[e]=Ue(),t=fm(),n=parseInt(t.planId),r=new Date(t.date),o=Z_e(n,t.date);return o.isLoading?C(Po,{}):C(pm,{title:e("nutrition.nutritionalDiary"),mainContent:C(Mt,{children:Q(Gt,{spacing:2,children:[C(ct,{gutterBottom:!0,variant:"h4",children:r.toLocaleDateString()}),C(y$t,{logged:o.data.loggedNutritionalValuesDate(r),planned:o.data.plannedNutritionalValues}),C(cL,{values:o.data.loggedNutritionalValuesDate(r),items:o.data.loggedEntriesDate(r),showSum:!0})]})})})};function*CM(e){let t;e<=3?t=M_e:e<=5?t=k_e:t=I_e;for(const n of t)yield n}const v$t=e=>{const[t,n]=Ue(),r=CM(3),o=[{name:t("nutrition.carbohydrates"),value:e.data.carbohydrates},{name:t("nutrition.protein"),value:e.data.protein},{name:t("nutrition.fat"),value:e.data.fat}],i=Math.PI/180;return C(Xf,{width:"100%",height:300,children:Q(Foe,{children:[C(Xc,{data:o,labelLine:!1,label:({cx:s,cy:l,midAngle:c,innerRadius:u,outerRadius:d,payload:f})=>{const p=u+(d-u)*.4,m=s+p*Math.cos(-c*i),g=l+p*Math.sin(-c*i);return C("text",{x:m,y:g,fill:"white",textAnchor:"middle",dominantBaseline:"central",children:xn(f.value,n.language)})},fill:"#8884d8",dataKey:"value",children:o.map((s,l)=>C(nb,{fill:r.next().value},`cell-${l}`))}),C($u,{})]})})},b$t=({showPlanned:e,planned:t,today:n,avg7Days:r})=>{const[o,i]=Ue(),a=CM(3),s=[{name:o("nutrition.protein"),planned:t.protein,today:n.protein,avg7Days:r.protein},{name:o("nutrition.carbohydrates"),planned:t.carbohydrates,today:n.carbohydrates,avg7Days:r.carbohydrates},{name:o("nutrition.sugar"),planned:t.carbohydratesSugar,today:n.carbohydratesSugar,avg7Days:r.carbohydratesSugar},{name:o("nutrition.fat"),planned:t.fat,today:n.fat,avg7Days:r.fat},{name:o("nutrition.saturatedFat"),planned:t.fatSaturated,today:n.fatSaturated,avg7Days:r.fatSaturated}];return C(Xf,{width:"100%",height:300,children:Q(Loe,{data:s,margin:{top:20,right:30,left:20,bottom:5},children:[C(Zh,{strokeDasharray:"3 4"}),C(ml,{dataKey:"name"}),C(gl,{type:"number",orientation:"left",unit:o("nutrition.gramShort")}),C(Ua,{formatter:l=>bi(l,i.language)}),C($u,{}),e&&C(Nc,{dataKey:"planned",unit:o("nutrition.gramShort"),name:o("nutrition.planned"),fill:a.next().value}),C(Nc,{dataKey:"today",unit:o("nutrition.gramShort"),name:o("nutrition.today"),fill:a.next().value}),C(Nc,{dataKey:"avg7Days",unit:o("nutrition.gramShort"),name:o("nutrition.7dayAvg"),fill:a.next().value})]})})},w$t=e=>{const[t,n]=Ue();return C(Ju,{children:Q(Xu,{size:"small",children:[C(Yh,{children:Q(Qt,{children:[C(ke,{children:t("date")}),C(ke,{align:"right",children:t("nutrition.logged")}),C(ke,{align:"right",children:t("nutrition.difference")})]})}),C(Qu,{children:Array.from(e.logged).map(([r])=>{var o,i;return Q(Qt,{children:[C(ke,{children:C(Zl,{to:Tn(Sn.NUTRITION_DIARY,n.language,{id:e.planId,date:r}),children:new Date(r).toLocaleDateString(n.language)})}),C(ke,{align:"right",children:t("nutrition.valueEnergyKcal",{value:bi((o=e.logged.get(r))==null?void 0:o.nutritionalValues.energy,n.language)})}),C(ke,{align:"right",children:bi(((i=e.logged.get(r))==null?void 0:i.nutritionalValues.energy)-e.planned.energy,n.language)})]},r)})})]})})},x$t=()=>{const[e]=Ue(),[t,n]=Y.useState(!1),r=()=>n(!0),o=()=>n(!1);return Q("div",{children:[C(Gh,{color:"secondary","aria-label":"add",onClick:r,sx:{position:"fixed",bottom:"5rem",right:i=>i.spacing(2),zIndex:9},children:C(Ji,{})}),C(ta,{title:e("add"),isOpen:t,closeFn:o,children:C(pz,{closeFn:o})})]})},S$t=e=>{const[t]=Ue(),[n,r]=Y.useState(!1),o=()=>r(!0),i=()=>r(!1);return Q("div",{children:[C(Gh,{color:"secondary","aria-label":"add",onClick:o,sx:{position:"fixed",bottom:"5rem",right:a=>a.spacing(2),zIndex:9},children:C(AS,{})}),C(ta,{title:t("nutrition.addNutritionalDiary"),isOpen:n,closeFn:i,children:C(fz,{closeFn:i,planId:e.plan.id,meals:e.plan.meals})})]})},rue=({meal:e,planId:t,closeFn:n})=>{const[r,o]=Ue(),i=iDe(t),a=sDe(t),s=bl({name:Wc().required().max(25,r("forms.maxLength",{chars:"25"})).min(3,r("forms.minLength",{chars:"3"})),time:a1().required()});return C(yl,{initialValues:{name:e?e.name:"",time:e?e.time:new Date},validationSchema:s,onSubmit:async l=>{l.time instanceof Date||(l.time=l.time.toJSDate());const c={...l,time:Q2e(l.time)};e?a.mutate({...c,plan:t,id:e.id}):i.mutate({...c,plan:t}),n&&n()},children:l=>C(gs,{children:Q(Gt,{spacing:2,children:[C(yn,{fullWidth:!0,id:"name",label:r("description"),error:l.touched.name&&!!l.errors.name,helperText:l.touched.name&&l.errors.name,...l.getFieldProps("name")}),C(YS,{dateAdapter:Kk,adapterLocale:o.language,children:C(put,{label:r("timeOfDay"),value:l.values.time!==null?It.fromJSDate(l.values.time):null,onChange:c=>l.setFieldValue("time",c)})}),Q(Gt,{direction:"row",justifyContent:"end",spacing:2,children:[n!==void 0&&C(gt,{color:"primary",variant:"outlined",onClick:()=>n(),children:r("close")}),C(gt,{disabled:i.isPending||a.isPending,color:"primary",variant:"contained",type:"submit",children:r("submit")})]})]})})})},C$t=e=>{const[t]=Ue(),n=CM(3),r=[{name:t("nutrition.energy"),value:e.logged.energy/e.planned.energy*100},{name:t("nutrition.protein"),value:e.logged.protein/e.planned.protein*100},{name:t("nutrition.carbohydrates"),value:e.logged.carbohydrates/e.planned.carbohydrates*100},{name:t("nutrition.fat"),value:e.logged.fat/e.planned.fat*100}];return C(Xf,{width:"100%",height:150,children:Q(Loe,{data:r,layout:"vertical",margin:{left:60},children:[C(Zh,{strokeDasharray:"3 4"}),C(ml,{type:"number",unit:"%"}),C(gl,{type:"category",dataKey:"name"}),C(Nc,{dataKey:"value",unit:"%",fill:n.next().value})]})})},oue=({planId:e,item:t,mealId:n,closeFn:r})=>{const[o]=Ue(),i=dDe(e),a=fDe(e),s=pDe(e),l=()=>{t&&s.mutate(t.id),r&&r()},c=bl({amount:pa().required(o("forms.fieldRequired")).max(1e3,o("forms.maxValue",{value:"1000"})).min(1,o("forms.minValue",{value:"1"})),ingredient:pa().required(o("forms.fieldRequired"))});return C(yl,{initialValues:{amount:t?t.amount:0,ingredient:t?t.ingredientId:0},validationSchema:c,onSubmit:async u=>{const d={...u,meal:n,weight_unit:null};t?a.mutate({...d,id:t.id}):i.mutate(d),r&&r()},children:u=>{var d;return C(gs,{children:Q(Gt,{spacing:2,children:[C(QB,{callback:f=>u.setFieldValue("ingredient",f?f.data.id:null),initialIngredient:t?(d=t.ingredient)==null?void 0:d.name:null}),C(yn,{fullWidth:!0,id:"amount",label:"amount",InputProps:{endAdornment:C(po,{position:"end",children:o("nutrition.gramShort")})},error:u.touched.amount&&!!u.errors.amount,helperText:u.touched.amount&&u.errors.amount,...u.getFieldProps("amount")}),Q(Gt,{direction:"row",justifyContent:"end",spacing:2,children:[r!==void 0&&t!==void 0&&C(gt,{color:"error",variant:"outlined",onClick:l,children:o("delete")}),r!==void 0&&C(gt,{color:"primary",variant:"outlined",onClick:()=>r(),children:o("close")}),C(gt,{color:"primary",variant:"contained",type:"submit",children:o("submit")})]})]})})}})},P$t=e=>{const t=Tee(e.planId),n=aDe(e.planId),[r]=Ue(),[o,i]=Y.useState(!1),[a,s]=y.useState(null),[l,c]=y.useState(!1),[u,d]=y.useState(!1),f=!!a,p=k=>{s(k.currentTarget)},m=()=>{g(),x()},g=()=>{s(null)},v=()=>{P(),s(null)},w=()=>{n.mutate(e.meal.id)},x=()=>c(!0),S=()=>c(!1),P=()=>d(!0),T=()=>d(!1),E=(k,A)=>{A!=="clickaway"&&i(!1)},O=()=>{const k=e.meal.items.map(A=>({plan:e.planId,meal:e.meal.id,mealItem:A.id,ingredient:A.ingredientId,weight_unit:A.weightUnitId,datetime:new Date().toISOString(),amount:A.amount}));t.mutate(k),i(!0)};return Q(Mt,{children:[!e.onlyLogging&&C(ac,{title:r("nutrition.logThisMeal"),children:C(kn,{"aria-label":"settings",onClick:O,children:C(AS,{})})}),C(kn,{"aria-label":"settings",onClick:p,children:C(l1,{})}),C(kn,{"aria-label":"settings",onClick:e.handleExpanded,children:e.isExpanded?C(Dse,{}):C(Nse,{})}),Q(ms,{anchorEl:a,open:f,onClose:g,MenuListProps:{"aria-labelledby":"basic-button"},children:[C(Yt,{onClick:m,children:r("edit")}),C(Yt,{onClick:v,children:r("delete")})]}),C(ta,{title:r("edit"),isOpen:l,closeFn:S,children:C(rue,{meal:e.meal,closeFn:S,planId:e.planId})}),C(eV,{title:r("deleteConfirmation",{name:e.meal.name}),message:r("nutrition.mealDeleteInfo"),isOpen:u,closeFn:T,deleteFn:w}),C(_Z,{open:o,autoHideDuration:bee,onClose:E,children:C(qu,{onClose:E,severity:"success",sx:{width:"100%"},children:r("nutrition.diaryEntrySaved")})})]})},T$t=e=>{var o,i,a,s;const[t,n]=y.useState(!1),r=()=>n(!t);return Q(Mt,{children:[Q(ls,{children:[C(XF,{onClick:r,sx:{"&:hover":{cursor:"pointer"}},children:C(ic,{alt:(o=e.mealItem.ingredient)==null?void 0:o.name,src:(a=(i=e.mealItem.ingredient)==null?void 0:i.image)==null?void 0:a.url,sx:{width:45,height:45},children:C(id,{})})}),C(wo,{primary:`${e.mealItem.amountString} ${(s=e.mealItem.ingredient)==null?void 0:s.name}`})]}),C(Zs,{in:t,timeout:"auto",unmountOnExit:!0,sx:{width:"100%"},children:C(ls,{children:C(wo,{children:C(oue,{planId:e.planId,mealId:e.mealId,item:e.mealItem,closeFn:r})})})})]})},SK=e=>{const t=Ei(),n=e.meal.id!==UP,[r]=Ue(),[o,i]=y.useState(!1),a=()=>i(!o),[s,l]=y.useState(!1),c=()=>{l(!s),d(!1)},[u,d]=y.useState(!1),f=()=>{d(!u),l(!1)};return Q(Do,{children:[C(od,{sx:{bgcolor:t.palette.grey[300]},action:e.meal.id!==UP&&C(P$t,{meal:e.meal,planId:e.planId,onlyLogging:e.onlyLogging,isExpanded:o,handleExpanded:a}),title:e.meal.name,subheader:e.meal.timeHHMMLocale}),Q(xa,{sx:{paddingY:0},children:[Q(Zs,{in:o,timeout:"auto",unmountOnExit:!0,children:[!e.onlyLogging&&C(cL,{showSum:n,items:e.meal.items,values:e.meal.plannedNutritionalValues}),C(ct,{gutterBottom:!0,variant:"h6",sx:{my:2},children:r("nutrition.loggedToday")}),!e.meal.plannedNutritionalValues.isEmpty&&C(C$t,{logged:e.meal.loggedNutritionalValuesToday,planned:e.meal.plannedNutritionalValues}),C(cL,{showSum:n,items:e.meal.diaryEntriesToday,values:e.meal.loggedNutritionalValuesToday})]}),!o&&C(pl,{children:e.meal.items.map(p=>C(T$t,{mealItem:p,planId:e.planId,mealId:e.meal.id},p.id))})]}),Q(hs,{children:[!e.onlyLogging&&C(ac,{title:r("nutrition.addMealItem"),children:C(kn,{onClick:c,children:C(Ji,{})})}),C(ac,{title:r("nutrition.addNutritionalDiary"),children:C(kn,{onClick:f,children:C(AS,{})})})]}),C(Zs,{in:s,timeout:"auto",unmountOnExit:!0,children:Q(xa,{sx:{paddingY:0},children:[C("p",{children:C("b",{children:r("nutrition.addMealItem")})}),C(oue,{planId:e.planId,mealId:e.meal.id,closeFn:c})]})}),C(Zs,{in:u,timeout:"auto",unmountOnExit:!0,children:Q(xa,{sx:{paddingY:0},children:[C("p",{children:C("b",{children:r("nutrition.addNutritionalDiary")})}),C(fz,{closeFn:f,planId:e.planId,mealId:e.meal.id!==UP?e.meal.id:null})]})})]})},CK=e=>{const[t,n]=Ue();return C(Ju,{children:Q(Xu,{size:"small",children:[C(Yh,{children:Q(Qt,{children:[C(ke,{children:t("nutrition.macronutrient")}),C(ke,{align:"right",children:t("total")}),C(ke,{align:"right",children:t("nutrition.percentEnergy")})]})}),Q(Qu,{children:[Q(Qt,{children:[C(ke,{children:t("nutrition.energy")}),C(ke,{align:"right",children:t("nutrition.valueEnergyKcalKj",{kcal:bi(e.values.energy,n.language),kj:bi(e.values.energyKj,n.language)})}),C(ke,{align:"right"})]}),Q(Qt,{children:[C(ke,{children:t("nutrition.protein")}),C(ke,{align:"right",children:xn(e.values.protein,n.language)}),C(ke,{align:"right",children:$$(e.values.percent.protein,n.language)})]}),Q(Qt,{children:[C(ke,{children:t("nutrition.carbohydrates")}),C(ke,{align:"right",children:xn(e.values.carbohydrates,n.language)}),C(ke,{align:"right",children:$$(e.values.percent.carbohydrates,n.language)})]}),Q(Qt,{children:[C(ke,{sx:{pl:5},children:t("nutrition.ofWhichSugars")}),C(ke,{align:"right",children:xn(e.values.carbohydratesSugar,n.language)}),C(ke,{align:"right"})]}),Q(Qt,{children:[C(ke,{children:t("nutrition.fat")}),C(ke,{align:"right",children:xn(e.values.fat,n.language)}),C(ke,{align:"right",children:$$(e.values.percent.fat,n.language)})]}),Q(Qt,{children:[C(ke,{sx:{pl:5},children:t("nutrition.ofWhichSaturated")}),C(ke,{align:"right",children:xn(e.values.fatSaturated,n.language)}),C(ke,{align:"right"})]}),Q(Qt,{children:[C(ke,{children:t("nutrition.others")}),C(ke,{children:" "}),C(ke,{align:"right"})]}),Q(Qt,{children:[C(ke,{children:t("nutrition.fibres")}),C(ke,{align:"right",children:xn(e.values.fiber,n.language)}),C(ke,{align:"right"})]}),Q(Qt,{children:[C(ke,{children:t("nutrition.sodium")}),C(ke,{align:"right",children:xn(e.values.sodium,n.language)}),C(ke,{align:"right"})]})]})]})})},E$t=e=>{const t=tDe(e.plan.id),n=dm(),[r,o]=Ue(),[i,a]=Y.useState(null),[s,l]=Y.useState(!1),[c,u]=Y.useState(!1),d=!!i,f=O=>{a(O.currentTarget)},p=()=>{m(),S()},m=()=>{a(null)},g=()=>{T(),a(null)},v=()=>{t.mutate(e.plan.id),n(Tn(Sn.NUTRITION_OVERVIEW))},w=()=>window.location.href=Tn(Sn.NUTRITION_PLAN_PDF,o.language,{id:e.plan.id}),x=()=>window.location.href=Tn(Sn.NUTRITION_PLAN_COPY,o.language,{id:e.plan.id}),S=()=>l(!0),P=()=>l(!1),T=()=>u(!0),E=()=>u(!1);return Q(Mt,{children:[C(gt,{onClick:f,children:C(Lse,{})}),Q(ms,{anchorEl:i,open:d,onClose:m,MenuListProps:{"aria-labelledby":"basic-button"},children:[C(Yt,{onClick:p,children:r("edit")}),C(Yt,{onClick:w,children:r("downloadAsPdf")}),C(Yt,{onClick:x,children:r("nutrition.copyPlan")}),C(Yt,{onClick:g,children:r("delete")})]}),C(ta,{title:r("edit"),isOpen:s,closeFn:P,children:C(pz,{plan:e.plan,closeFn:P})}),C(eV,{title:r("deleteConfirmation",{name:e.plan.description}),message:r("nutrition.planDeleteInfo"),isOpen:c,closeFn:E,deleteFn:v})]})},O$t=e=>{const[t]=Ue(),n=e.plan.plannedNutritionalValues,r=e.plan.loggedNutritionalValuesToday,o=e.plan.percentageValuesLoggedToday;return C(Mt,{children:Q(Gt,{direction:"column",spacing:1,children:[C(ct,{gutterBottom:!0,variant:"h6",children:t("nutrition.goalsTitle")}),C(ry,{title:t("nutrition.protein"),percentage:o.protein,logged:r.protein,planned:n.protein}),C(ry,{title:t("nutrition.carbohydrates"),percentage:o.carbohydrates,logged:r.carbohydrates,planned:n.carbohydrates}),C(ry,{title:t("nutrition.fat"),percentage:o.fat,logged:r.fat,planned:n.fat})]})})},I$t=()=>{const[e]=Ue(),t=fm(),n=parseInt(t.planId),r=J_e(n),[o,i]=y.useState(!1),a=()=>i(!o),s=r.data;return r.isLoading?C(Po,{}):C(pm,{title:s.description,optionsMenu:C(E$t,{plan:s}),mainContent:C(Mt,{children:Q(Gt,{spacing:2,children:[s.meals.map(l=>C(SK,{meal:l,planId:s.id,onlyLogging:s.onlyLogging},l.id)),C(SK,{meal:r.data.pseudoMealOthers(e("nutrition.pseudoMealTitle")),planId:s.id,onlyLogging:!0},-1),!s.onlyLogging&&Q(Mt,{children:[C(ac,{title:e("nutrition.addMeal"),children:C(kn,{onClick:a,children:C(Ji,{})})}),Q(Zs,{in:o,timeout:"auto",unmountOnExit:!0,children:[C("p",{children:C("b",{children:e("nutrition.addMeal")})}),C(rue,{planId:s.id,closeFn:a})]})]}),C(CK,{values:s.plannedNutritionalValues}),s.hasAnyPlanned&&C(v$t,{data:s.plannedNutritionalValues}),C(ct,{gutterBottom:!0,variant:"h4",children:e("nutrition.logged")}),C(b$t,{showPlanned:s.hasAnyPlanned,planned:s.plannedNutritionalValues,today:s.loggedNutritionalValuesToday,avg7Days:s.loggedNutritionalValues7DayAvg}),C(CK,{values:s.loggedNutritionalValuesToday}),C(w$t,{planId:s.id,logged:s.groupDiaryEntries,planned:s.plannedNutritionalValues})]})}),sideBar:C(O$t,{plan:s}),fab:C(S$t,{plan:s})})},k$t=()=>{var n;const e=X_e(),[t]=Ue();return e.isLoading?C(Po,{}):C(pm,{title:t("nutrition.plans"),mainContent:Q(Gt,{spacing:2,children:[((n=e.data)==null?void 0:n.length)===0&&C(zI,{}),C(A$t,{plans:e.data})]}),fab:C(x$t,{})})},M$t=e=>{const[t,n]=Ue(),r=Tn(Sn.NUTRITION_DETAIL,n.language,{id:e.plan.id});return Q(Mt,{children:[C(ls,{sx:{p:0},children:Q(Wf,{component:"a",href:r,children:[C(wo,{primary:e.plan.description!==""?e.plan.description:t("routines.routine"),secondary:e.plan.creationDate.toLocaleDateString()}),C(Rse,{})]})}),C(ss,{component:"li"})]})},A$t=e=>C(uo,{children:C(pl,{sx:{py:0},children:e.plans.map(t=>C(M$t,{plan:t},t.id))},"abc")}),$$t=e=>{var u;const[t,n]=Ue(),[r,o]=Y.useState(null),i=!!r,a=d=>{o(d.currentTarget)},s=()=>{o(null)},l=()=>window.location.href=Tn(Sn.ROUTINE_EDIT_LOG,n.language,{id:e.log.id}),c=()=>window.location.href=Tn(Sn.ROUTINE_DELETE_LOG,n.language,{id:e.log.id});return Q(Qt,{children:[C(ke,{component:"th",scope:"row",children:It.fromJSDate(e.log.date).toLocaleString(It.DATE_MED)}),C(ke,{children:e.log.reps}),Q(ke,{children:[e.log.weight,(u=e.log.weightUnitObj)==null?void 0:u.name]}),C(ke,{children:e.log.rirString}),Q(ke,{children:[C(kn,{"aria-label":"settings",onClick:a,children:C(l1,{fontSize:"small"})}),Q(ms,{id:"basic-menu",anchorEl:r,open:i,onClose:s,MenuListProps:{"aria-labelledby":"basic-button"},children:[Q(Yt,{onClick:l,children:[C(_se,{}),t("edit")]}),Q(Yt,{onClick:c,children:[C(hz,{}),t("delete")]})]})]})]},e.log.id)},R$t=e=>{let t=e.logEntries??[];const n=[5,10,20],[r,o]=Y.useState(n[0]),[i,a]=Y.useState(0),s=(c,u)=>{a(u)},l=c=>{o(parseInt(c.target.value,10)),a(0)};return Q(Mt,{children:[C(ct,{variant:"h6",sx:{mt:4},children:e.exerciseId.getTranslation().name}),Q(Be,{container:!0,spacing:2,children:[C(Be,{size:{xs:12,md:5},children:Q(Ju,{children:[Q(Xu,{"aria-label":"simple table",size:"small",children:[C(Yh,{children:Q(Qt,{children:[C(ke,{children:"Date"}),C(ke,{children:"Reps"}),C(ke,{children:"Weight"}),C(ke,{children:"RiR"}),C(ke,{})]})}),C(Qu,{children:t.slice(i*r,i*r+r).map(c=>C($$t,{log:c},c.id))})]}),C(ZF,{rowsPerPageOptions:n,component:"div",count:t.length,rowsPerPage:r,page:i,onPageChange:s,onRowsPerPageChange:l})]})}),C(Be,{size:{xs:12,md:7},children:C(N$t,{data:t},e.exerciseId.id)})]})]})},PK=()=>{const e=fm(),t=e.routineId?parseInt(e.routineId):0,[n,r]=Ue(),o=cvt(t,!1),i=Fse(t),a=l=>window.location.href=Tn(Sn.ROUTINE_ADD_LOG,r.language,{id:l});let s=new Map;return o.isSuccess&&(s=o.data.reduce(function(l,c){return l.set(c.exerciseId,l.get(c.exerciseId)||[]),[p_e,h_e].includes(c.weightUnit)&&c.repetitionUnit===yee&&l.get(c.exerciseId).push(c),l},new Map)),C(Mt,{children:Q(Yu,{maxWidth:"lg",children:[C(ct,{variant:"h4",children:n("routines.logsHeader")}),C(ct,{variant:"body1",children:n("routines.logsFilterNote")}),o.isSuccess&&i.isSuccess?C(Mt,{children:i.data.days.map(l=>Q("div",{children:[Q(Gt,{direction:{xs:"column",sm:"row"},justifyContent:"space-between",alignItems:"center",sx:{mt:4},children:[C(ct,{variant:"h4",children:l.description}),C(gt,{variant:"contained",onClick:()=>a(l.id),children:n("routines.addLogToDay")})]}),l.sets.map(c=>c.exercises.map(u=>C(R$t,{exerciseId:u,logEntries:s.get(u.id)},c.id+u.uuid)))]},l.id))}):C(Po,{})]})})},_$t=e=>e.map(t=>({id:t.id,value:t.weight,time:t.date.getTime(),entry:t})),D$t=({active:e,payload:t,label:n})=>{var r,o,i;if(e){let a="";return(r=t==null?void 0:t[1].payload)!=null&&r.entry.rir&&(a=`, ${(o=t==null?void 0:t[1].payload)==null?void 0:o.entry.rir} RiR`),C(Do,{children:Q(xa,{children:[C(ct,{variant:"body1",children:It.fromMillis(t==null?void 0:t[0].value).toLocaleString(It.DATE_MED)}),Q(ct,{variant:"body2",children:[(i=t==null?void 0:t[1].payload)==null?void 0:i.entry.reps," × ",t==null?void 0:t[1].value,t==null?void 0:t[1].unit,a]})]})})}return null},N$t=e=>{let t;t=e.data.reduce(function(r,o){return r.set(o.reps,r.get(o.reps)||[]),r.get(o.reps).push(o),r},new Map);const n=CM(t.size);return C(Rn,{children:C(Xf,{width:"100%",height:250,children:Q(vot,{children:[C(ml,{dataKey:"time",domain:["auto","auto"],name:"Time",tickFormatter:r=>It.fromMillis(r).toLocaleString(It.DATE_MED),type:"number"}),C(gl,{domain:["auto","auto"],dataKey:"value",name:"Value",unit:"kg"}),Array.from(t).map(([r,o])=>{const i=n.next().value,a=_$t(o);return C(qS,{data:a,fill:i,line:{stroke:i},lineType:"joint",lineJointType:"monotoneX",name:r.toString()},r)}),C(Ua,{content:C(D$t,{})}),C(Zh,{strokeDasharray:"3 3"}),C($u,{})]})})})},L$t=()=>C("div",{children:C(Gh,{color:"secondary","aria-label":"add",onClick:()=>window.location.href=Tn(Sn.ROUTINE_ADD),sx:{position:"fixed",bottom:"5rem",right:t=>t.spacing(2),zIndex:9},children:C(Ji,{})})}),F$t=e=>{const[t,n]=Ue(),r=Tn(Sn.ROUTINE_DETAIL,n.language,{id:e.routine.id});return Q(Mt,{children:[C(ls,{sx:{p:0},children:Q(Wf,{component:"a",href:r,children:[C(wo,{primary:e.routine.name!==""?e.routine.name:t("routines.routine"),secondary:e.routine.date.toLocaleDateString()}),C(Rse,{})]})}),C(ss,{component:"li"})]})},TK=()=>{const e=uvt(),[t]=Ue();return Q(Yu,{maxWidth:"lg",children:[Q(Be,{container:!0,children:[Q(Be,{size:{xs:12,sm:8},children:[C(ct,{gutterBottom:!0,variant:"h3",component:"div",children:t("routines.routines")}),e.isLoading?C(Po,{}):C(uo,{children:C(pl,{sx:{py:0},children:e.data.map(n=>C(F$t,{routine:n},n.id))},"abc")})]}),C(Be,{size:{xs:12,sm:4}})]}),C(L$t,{})]})},UR=()=>C(Xxt,{}),tV=()=>Q(tbt,{children:[Q(Nt,{path:"/:lang",children:[Q(Nt,{path:"workout",children:[C(Nt,{path:"overview",element:C(LSt,{})}),C(Nt,{path:"schedule",element:C(FSt,{})}),C(Nt,{path:"calendar",children:C(Nt,{path:"user",element:C(hSt,{})})}),C(Nt,{path:"gallery",element:C(ySt,{})}),Q(Nt,{path:"template",children:[C(Nt,{path:"overview",element:C(CSt,{})}),C(Nt,{path:"public",element:C(xSt,{})})]})]}),Q(Nt,{path:"routine",children:[C(Nt,{index:!0,element:C(TK,{})}),C(Nt,{path:"overview",element:C(TK,{})}),C(Nt,{path:":routineId",element:C(j7,{}),children:C(Nt,{path:"view",element:C(j7,{})})}),C(Nt,{path:"log",children:C(Nt,{path:":routineId",element:C(PK,{}),children:C(Nt,{path:"view",element:C(PK,{})})})})]}),Q(Nt,{path:"measurement",children:[C(Nt,{index:!0,element:C(wK,{})}),C(Nt,{path:"overview",element:C(wK,{})}),C(Nt,{path:"category/:categoryId",element:C(p$t,{})})]}),Q(Nt,{path:"exercise",children:[C(Nt,{index:!0,element:C(dq,{})}),C(Nt,{path:"overview",element:C(dq,{})}),C(Nt,{path:":baseID",element:C(UR,{}),children:C(Nt,{path:"view-base",element:C(UR,{}),children:C(Nt,{path:":slug",element:C(UR,{})})})}),C(Nt,{path:"contribute",element:C(fSt,{})})]}),Q(Nt,{path:"weight",children:[C(Nt,{path:"overview",element:C(Ele,{})}),C(Nt,{path:"add",element:C(pSt,{})})]}),Q(Nt,{path:"nutrition",children:[C(Nt,{path:"overview",element:C(k$t,{})}),Q(Nt,{path:":planId",children:[C(Nt,{path:"view",element:C(I$t,{})}),C(Nt,{path:":date",element:C(xK,{})}),C(Nt,{path:"diary",element:C(xK,{})})]}),Q(Nt,{path:"calculator",children:[C(Nt,{path:"bmi",element:C(m$t,{})}),C(Nt,{path:"calories",element:C(mSt,{})})]}),C(Nt,{path:"ingredient",children:C(Nt,{path:"overview",element:C(vSt,{})})})]}),Q(Nt,{path:"software",children:[C(Nt,{path:"about-us",element:C(Owt,{})}),C(Nt,{path:"api",element:C(SSt,{})}),C(Nt,{path:"equipment",element:C(gSt,{})})]}),C(Nt,{path:"login",element:C(bSt,{})}),C(Nt,{path:"user",children:C(Nt,{path:"preferences",element:C(wSt,{})})})]}),C(Nt,{path:"/",element:C(jSt,{})}),C(Nt,{path:"*",element:C("main",{style:{padding:"1rem"},children:C("p",{children:"404, Page NOT FOUND"})})})]}),j$t="_notification_bbb61_1",EK={notification:j$t},B$t=()=>{const[e,t]=$wt(),n=()=>{t(tq({notify:!1,message:"",severity:void 0,title:"",type:void 0}))},r=()=>{t(tq({notify:!1,message:"",severity:void 0,title:"",type:void 0,undo:!0}))};return e.notification.notify?e.notification.type==="delete"?Q(qu,{className:EK.notification,severity:e.notification.severity,action:C(gt,{color:"inherit",size:"small",onClick:r,children:"UNDO"}),variant:"filled",children:[C(BT,{children:e.notification.title}),C("strong",{children:e.notification.message})]}):Q(qu,{className:EK.notification,severity:e.notification.severity,onClose:()=>n(),variant:"filled",children:[C(BT,{children:e.notification.title}),C("strong",{children:e.notification.message})]}):null};function z$t(){return Q(Be,{container:!0,children:[C(Be,{size:12,children:C(NSt,{})}),C(Be,{size:12,children:C(B$t,{})}),C(Be,{size:12,children:C(tV,{})})]})}const Kt=e=>typeof e=="string",$0=()=>{let e,t;const n=new Promise((r,o)=>{e=r,t=o});return n.resolve=e,n.reject=t,n},OK=e=>e==null?"":""+e,V$t=(e,t,n)=>{e.forEach(r=>{t[r]&&(n[r]=t[r])})},H$t=/###/g,IK=e=>e&&e.indexOf("###")>-1?e.replace(H$t,"."):e,kK=e=>!e||Kt(e),Rw=(e,t,n)=>{const r=Kt(t)?t.split("."):t;let o=0;for(;o{const{obj:r,k:o}=Rw(e,t,Object);if(r!==void 0||t.length===1){r[o]=n;return}let i=t[t.length-1],a=t.slice(0,t.length-1),s=Rw(e,a,Object);for(;s.obj===void 0&&a.length;)i=`${a[a.length-1]}.${i}`,a=a.slice(0,a.length-1),s=Rw(e,a,Object),s&&s.obj&&typeof s.obj[`${s.k}.${i}`]<"u"&&(s.obj=void 0);s.obj[`${s.k}.${i}`]=n},U$t=(e,t,n,r)=>{const{obj:o,k:i}=Rw(e,t,Object);o[i]=o[i]||[],o[i].push(n)},TO=(e,t)=>{const{obj:n,k:r}=Rw(e,t);if(n)return n[r]},W$t=(e,t,n)=>{const r=TO(e,n);return r!==void 0?r:TO(t,n)},iue=(e,t,n)=>{for(const r in t)r!=="__proto__"&&r!=="constructor"&&(r in e?Kt(e[r])||e[r]instanceof String||Kt(t[r])||t[r]instanceof String?n&&(e[r]=t[r]):iue(e[r],t[r],n):e[r]=t[r]);return e},cg=e=>e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var G$t={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};const q$t=e=>Kt(e)?e.replace(/[&<>"'\/]/g,t=>G$t[t]):e;class K$t{constructor(t){this.capacity=t,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(t){const n=this.regExpMap.get(t);if(n!==void 0)return n;const r=new RegExp(t);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(t,r),this.regExpQueue.push(t),r}}const Y$t=[" ",",","?","!",";"],X$t=new K$t(20),Q$t=(e,t,n)=>{t=t||"",n=n||"";const r=Y$t.filter(a=>t.indexOf(a)<0&&n.indexOf(a)<0);if(r.length===0)return!0;const o=X$t.getRegExp(`(${r.map(a=>a==="?"?"\\?":a).join("|")})`);let i=!o.test(e);if(!i){const a=e.indexOf(n);a>0&&!o.test(e.substring(0,a))&&(i=!0)}return i},uL=function(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:".";if(!e)return;if(e[t])return e[t];const r=t.split(n);let o=e;for(let i=0;i-1&&le&&e.replace("_","-"),J$t={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console&&console[e]&&console[e].apply(console,t)}};class OO{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.init(t,n)}init(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.prefix=n.prefix||"i18next:",this.logger=t||J$t,this.options=n,this.debug=n.debug}log(){for(var t=arguments.length,n=new Array(t),r=0;r{this.observers[r]||(this.observers[r]=new Map);const o=this.observers[r].get(n)||0;this.observers[r].set(n,o+1)}),this}off(t,n){if(this.observers[t]){if(!n){delete this.observers[t];return}this.observers[t].delete(n)}}emit(t){for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o{let[s,l]=a;for(let c=0;c{let[s,l]=a;for(let c=0;c1&&arguments[1]!==void 0?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=t||{},this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(t){this.options.ns.indexOf(t)<0&&this.options.ns.push(t)}removeNamespaces(t){const n=this.options.ns.indexOf(t);n>-1&&this.options.ns.splice(n,1)}getResource(t,n,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const i=o.keySeparator!==void 0?o.keySeparator:this.options.keySeparator,a=o.ignoreJSONStructure!==void 0?o.ignoreJSONStructure:this.options.ignoreJSONStructure;let s;t.indexOf(".")>-1?s=t.split("."):(s=[t,n],r&&(Array.isArray(r)?s.push(...r):Kt(r)&&i?s.push(...r.split(i)):s.push(r)));const l=TO(this.data,s);return!l&&!n&&!r&&t.indexOf(".")>-1&&(t=s[0],n=s[1],r=s.slice(2).join(".")),l||!a||!Kt(r)?l:uL(this.data&&this.data[t]&&this.data[t][n],r,i)}addResource(t,n,r,o){let i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{silent:!1};const a=i.keySeparator!==void 0?i.keySeparator:this.options.keySeparator;let s=[t,n];r&&(s=s.concat(a?r.split(a):r)),t.indexOf(".")>-1&&(s=t.split("."),o=n,n=s[1]),this.addNamespaces(n),MK(this.data,s,o),i.silent||this.emit("added",t,n,r,o)}addResources(t,n,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{silent:!1};for(const i in r)(Kt(r[i])||Array.isArray(r[i]))&&this.addResource(t,n,i,r[i],{silent:!0});o.silent||this.emit("added",t,n,r)}addResourceBundle(t,n,r,o,i){let a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{silent:!1,skipCopy:!1},s=[t,n];t.indexOf(".")>-1&&(s=t.split("."),o=r,r=n,n=s[1]),this.addNamespaces(n);let l=TO(this.data,s)||{};a.skipCopy||(r=JSON.parse(JSON.stringify(r))),o?iue(l,r,i):l={...l,...r},MK(this.data,s,l),a.silent||this.emit("added",t,n,r)}removeResourceBundle(t,n){this.hasResourceBundle(t,n)&&delete this.data[t][n],this.removeNamespaces(n),this.emit("removed",t,n)}hasResourceBundle(t,n){return this.getResource(t,n)!==void 0}getResourceBundle(t,n){return n||(n=this.options.defaultNS),this.options.compatibilityAPI==="v1"?{...this.getResource(t,n)}:this.getResource(t,n)}getDataByLanguage(t){return this.data[t]}hasLanguageSomeTranslations(t){const n=this.getDataByLanguage(t);return!!(n&&Object.keys(n)||[]).find(o=>n[o]&&Object.keys(n[o]).length>0)}toJSON(){return this.data}}var aue={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,o){return e.forEach(i=>{this.processors[i]&&(t=this.processors[i].process(t,n,r,o))}),t}};const $K={};class IO extends PM{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};super(),V$t(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],t,this),this.options=n,this.options.keySeparator===void 0&&(this.options.keySeparator="."),this.logger=kc.create("translator")}changeLanguage(t){t&&(this.language=t)}exists(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};if(t==null)return!1;const r=this.resolve(t,n);return r&&r.res!==void 0}extractFromKey(t,n){let r=n.nsSeparator!==void 0?n.nsSeparator:this.options.nsSeparator;r===void 0&&(r=":");const o=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator;let i=n.ns||this.options.defaultNS||[];const a=r&&t.indexOf(r)>-1,s=!this.options.userDefinedKeySeparator&&!n.keySeparator&&!this.options.userDefinedNsSeparator&&!n.nsSeparator&&!Q$t(t,r,o);if(a&&!s){const l=t.match(this.interpolator.nestingRegexp);if(l&&l.length>0)return{key:t,namespaces:Kt(i)?[i]:i};const c=t.split(r);(r!==o||r===o&&this.options.ns.indexOf(c[0])>-1)&&(i=c.shift()),t=c.join(o)}return{key:t,namespaces:Kt(i)?[i]:i}}translate(t,n,r){if(typeof n!="object"&&this.options.overloadTranslationOptionHandler&&(n=this.options.overloadTranslationOptionHandler(arguments)),typeof n=="object"&&(n={...n}),n||(n={}),t==null)return"";Array.isArray(t)||(t=[String(t)]);const o=n.returnDetails!==void 0?n.returnDetails:this.options.returnDetails,i=n.keySeparator!==void 0?n.keySeparator:this.options.keySeparator,{key:a,namespaces:s}=this.extractFromKey(t[t.length-1],n),l=s[s.length-1],c=n.lng||this.language,u=n.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(c&&c.toLowerCase()==="cimode"){if(u){const P=n.nsSeparator||this.options.nsSeparator;return o?{res:`${l}${P}${a}`,usedKey:a,exactUsedKey:a,usedLng:c,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:`${l}${P}${a}`}return o?{res:a,usedKey:a,exactUsedKey:a,usedLng:c,usedNS:l,usedParams:this.getUsedParamsDetails(n)}:a}const d=this.resolve(t,n);let f=d&&d.res;const p=d&&d.usedKey||a,m=d&&d.exactUsedKey||a,g=Object.prototype.toString.apply(f),v=["[object Number]","[object Function]","[object RegExp]"],w=n.joinArrays!==void 0?n.joinArrays:this.options.joinArrays,x=!this.i18nFormat||this.i18nFormat.handleAsObject,S=!Kt(f)&&typeof f!="boolean"&&typeof f!="number";if(x&&f&&S&&v.indexOf(g)<0&&!(Kt(w)&&Array.isArray(f))){if(!n.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const P=this.options.returnedObjectHandler?this.options.returnedObjectHandler(p,f,{...n,ns:s}):`key '${a} (${this.language})' returned an object instead of string.`;return o?(d.res=P,d.usedParams=this.getUsedParamsDetails(n),d):P}if(i){const P=Array.isArray(f),T=P?[]:{},E=P?m:p;for(const O in f)if(Object.prototype.hasOwnProperty.call(f,O)){const k=`${E}${i}${O}`;T[O]=this.translate(k,{...n,joinArrays:!1,ns:s}),T[O]===k&&(T[O]=f[O])}f=T}}else if(x&&Kt(w)&&Array.isArray(f))f=f.join(w),f&&(f=this.extendTranslation(f,t,n,r));else{let P=!1,T=!1;const E=n.count!==void 0&&!Kt(n.count),O=IO.hasDefaultValue(n),k=E?this.pluralResolver.getSuffix(c,n.count,n):"",A=n.ordinal&&E?this.pluralResolver.getSuffix(c,n.count,{ordinal:!1}):"",I=E&&!n.ordinal&&n.count===0&&this.pluralResolver.shouldUseIntlApi(),R=I&&n[`defaultValue${this.options.pluralSeparator}zero`]||n[`defaultValue${k}`]||n[`defaultValue${A}`]||n.defaultValue;!this.isValidLookup(f)&&O&&(P=!0,f=R),this.isValidLookup(f)||(T=!0,f=a);const L=(n.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&T?void 0:f,j=O&&R!==f&&this.options.updateMissing;if(T||P||j){if(this.logger.log(j?"updateKey":"missingKey",c,l,a,j?R:f),i){const F=this.resolve(a,{...n,keySeparator:!1});F&&F.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let _=[];const D=this.languageUtils.getFallbackCodes(this.options.fallbackLng,n.lng||this.language);if(this.options.saveMissingTo==="fallback"&&D&&D[0])for(let F=0;F{const q=O&&U!==f?U:L;this.options.missingKeyHandler?this.options.missingKeyHandler(F,l,H,q,j,n):this.backendConnector&&this.backendConnector.saveMissing&&this.backendConnector.saveMissing(F,l,H,q,j,n),this.emit("missingKey",F,l,H,f)};this.options.saveMissing&&(this.options.saveMissingPlurals&&E?_.forEach(F=>{const H=this.pluralResolver.getSuffixes(F,n);I&&n[`defaultValue${this.options.pluralSeparator}zero`]&&H.indexOf(`${this.options.pluralSeparator}zero`)<0&&H.push(`${this.options.pluralSeparator}zero`),H.forEach(U=>{z([F],a+U,n[`defaultValue${U}`]||R)})}):z(_,a,R))}f=this.extendTranslation(f,t,n,d,r),T&&f===a&&this.options.appendNamespaceToMissingKey&&(f=`${l}:${a}`),(T||P)&&this.options.parseMissingKeyHandler&&(this.options.compatibilityAPI!=="v1"?f=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${a}`:a,P?f:void 0):f=this.options.parseMissingKeyHandler(f))}return o?(d.res=f,d.usedParams=this.getUsedParamsDetails(n),d):f}extendTranslation(t,n,r,o,i){var a=this;if(this.i18nFormat&&this.i18nFormat.parse)t=this.i18nFormat.parse(t,{...this.options.interpolation.defaultVariables,...r},r.lng||this.language||o.usedLng,o.usedNS,o.usedKey,{resolved:o});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const c=Kt(t)&&(r&&r.interpolation&&r.interpolation.skipOnVariables!==void 0?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let u;if(c){const f=t.match(this.interpolator.nestingRegexp);u=f&&f.length}let d=r.replace&&!Kt(r.replace)?r.replace:r;if(this.options.interpolation.defaultVariables&&(d={...this.options.interpolation.defaultVariables,...d}),t=this.interpolator.interpolate(t,d,r.lng||this.language||o.usedLng,r),c){const f=t.match(this.interpolator.nestingRegexp),p=f&&f.length;u1&&arguments[1]!==void 0?arguments[1]:{},r,o,i,a,s;return Kt(t)&&(t=[t]),t.forEach(l=>{if(this.isValidLookup(r))return;const c=this.extractFromKey(l,n),u=c.key;o=u;let d=c.namespaces;this.options.fallbackNS&&(d=d.concat(this.options.fallbackNS));const f=n.count!==void 0&&!Kt(n.count),p=f&&!n.ordinal&&n.count===0&&this.pluralResolver.shouldUseIntlApi(),m=n.context!==void 0&&(Kt(n.context)||typeof n.context=="number")&&n.context!=="",g=n.lngs?n.lngs:this.languageUtils.toResolveHierarchy(n.lng||this.language,n.fallbackLng);d.forEach(v=>{this.isValidLookup(r)||(s=v,!$K[`${g[0]}-${v}`]&&this.utils&&this.utils.hasLoadedNamespace&&!this.utils.hasLoadedNamespace(s)&&($K[`${g[0]}-${v}`]=!0,this.logger.warn(`key "${o}" for languages "${g.join(", ")}" won't get resolved as namespace "${s}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),g.forEach(w=>{if(this.isValidLookup(r))return;a=w;const x=[u];if(this.i18nFormat&&this.i18nFormat.addLookupKeys)this.i18nFormat.addLookupKeys(x,u,w,v,n);else{let P;f&&(P=this.pluralResolver.getSuffix(w,n.count,n));const T=`${this.options.pluralSeparator}zero`,E=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(f&&(x.push(u+P),n.ordinal&&P.indexOf(E)===0&&x.push(u+P.replace(E,this.options.pluralSeparator)),p&&x.push(u+T)),m){const O=`${u}${this.options.contextSeparator}${n.context}`;x.push(O),f&&(x.push(O+P),n.ordinal&&P.indexOf(E)===0&&x.push(O+P.replace(E,this.options.pluralSeparator)),p&&x.push(O+T))}}let S;for(;S=x.pop();)this.isValidLookup(r)||(i=S,r=this.getResource(w,v,S,n))}))})}),{res:r,usedKey:o,exactUsedKey:i,usedLng:a,usedNS:s}}isValidLookup(t){return t!==void 0&&!(!this.options.returnNull&&t===null)&&!(!this.options.returnEmptyString&&t==="")}getResource(t,n,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(t,n,r,o):this.resourceStore.getResource(t,n,r,o)}getUsedParamsDetails(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const n=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],r=t.replace&&!Kt(t.replace);let o=r?t.replace:t;if(r&&typeof t.count<"u"&&(o.count=t.count),this.options.interpolation.defaultVariables&&(o={...this.options.interpolation.defaultVariables,...o}),!r){o={...o};for(const i of n)delete o[i]}return o}static hasDefaultValue(t){const n="defaultValue";for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)&&n===r.substring(0,n.length)&&t[r]!==void 0)return!0;return!1}}const WR=e=>e.charAt(0).toUpperCase()+e.slice(1);class RK{constructor(t){this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=kc.create("languageUtils")}getScriptPartFromCode(t){if(t=EO(t),!t||t.indexOf("-")<0)return null;const n=t.split("-");return n.length===2||(n.pop(),n[n.length-1].toLowerCase()==="x")?null:this.formatLanguageCode(n.join("-"))}getLanguagePartFromCode(t){if(t=EO(t),!t||t.indexOf("-")<0)return t;const n=t.split("-");return this.formatLanguageCode(n[0])}formatLanguageCode(t){if(Kt(t)&&t.indexOf("-")>-1){if(typeof Intl<"u"&&typeof Intl.getCanonicalLocales<"u")try{let o=Intl.getCanonicalLocales(t)[0];if(o&&this.options.lowerCaseLng&&(o=o.toLowerCase()),o)return o}catch{}const n=["hans","hant","latn","cyrl","cans","mong","arab"];let r=t.split("-");return this.options.lowerCaseLng?r=r.map(o=>o.toLowerCase()):r.length===2?(r[0]=r[0].toLowerCase(),r[1]=r[1].toUpperCase(),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=WR(r[1].toLowerCase()))):r.length===3&&(r[0]=r[0].toLowerCase(),r[1].length===2&&(r[1]=r[1].toUpperCase()),r[0]!=="sgn"&&r[2].length===2&&(r[2]=r[2].toUpperCase()),n.indexOf(r[1].toLowerCase())>-1&&(r[1]=WR(r[1].toLowerCase())),n.indexOf(r[2].toLowerCase())>-1&&(r[2]=WR(r[2].toLowerCase()))),r.join("-")}return this.options.cleanCode||this.options.lowerCaseLng?t.toLowerCase():t}isSupportedCode(t){return(this.options.load==="languageOnly"||this.options.nonExplicitSupportedLngs)&&(t=this.getLanguagePartFromCode(t)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(t)>-1}getBestMatchFromCodes(t){if(!t)return null;let n;return t.forEach(r=>{if(n)return;const o=this.formatLanguageCode(r);(!this.options.supportedLngs||this.isSupportedCode(o))&&(n=o)}),!n&&this.options.supportedLngs&&t.forEach(r=>{if(n)return;const o=this.getLanguagePartFromCode(r);if(this.isSupportedCode(o))return n=o;n=this.options.supportedLngs.find(i=>{if(i===o)return i;if(!(i.indexOf("-")<0&&o.indexOf("-")<0)&&(i.indexOf("-")>0&&o.indexOf("-")<0&&i.substring(0,i.indexOf("-"))===o||i.indexOf(o)===0&&o.length>1))return i})}),n||(n=this.getFallbackCodes(this.options.fallbackLng)[0]),n}getFallbackCodes(t,n){if(!t)return[];if(typeof t=="function"&&(t=t(n)),Kt(t)&&(t=[t]),Array.isArray(t))return t;if(!n)return t.default||[];let r=t[n];return r||(r=t[this.getScriptPartFromCode(n)]),r||(r=t[this.formatLanguageCode(n)]),r||(r=t[this.getLanguagePartFromCode(n)]),r||(r=t.default),r||[]}toResolveHierarchy(t,n){const r=this.getFallbackCodes(n||this.options.fallbackLng||[],t),o=[],i=a=>{a&&(this.isSupportedCode(a)?o.push(a):this.logger.warn(`rejecting language code not found in supportedLngs: ${a}`))};return Kt(t)&&(t.indexOf("-")>-1||t.indexOf("_")>-1)?(this.options.load!=="languageOnly"&&i(this.formatLanguageCode(t)),this.options.load!=="languageOnly"&&this.options.load!=="currentOnly"&&i(this.getScriptPartFromCode(t)),this.options.load!=="currentOnly"&&i(this.getLanguagePartFromCode(t))):Kt(t)&&i(this.formatLanguageCode(t)),r.forEach(a=>{o.indexOf(a)<0&&i(this.formatLanguageCode(a))}),o}}let Z$t=[{lngs:["ach","ak","am","arn","br","fil","gun","ln","mfe","mg","mi","oc","pt","pt-BR","tg","tl","ti","tr","uz","wa"],nr:[1,2],fc:1},{lngs:["af","an","ast","az","bg","bn","ca","da","de","dev","el","en","eo","es","et","eu","fi","fo","fur","fy","gl","gu","ha","hi","hu","hy","ia","it","kk","kn","ku","lb","mai","ml","mn","mr","nah","nap","nb","ne","nl","nn","no","nso","pa","pap","pms","ps","pt-PT","rm","sco","se","si","so","son","sq","sv","sw","ta","te","tk","ur","yo"],nr:[1,2],fc:2},{lngs:["ay","bo","cgg","fa","ht","id","ja","jbo","ka","km","ko","ky","lo","ms","sah","su","th","tt","ug","vi","wo","zh"],nr:[1],fc:3},{lngs:["be","bs","cnr","dz","hr","ru","sr","uk"],nr:[1,2,5],fc:4},{lngs:["ar"],nr:[0,1,2,3,11,100],fc:5},{lngs:["cs","sk"],nr:[1,2,5],fc:6},{lngs:["csb","pl"],nr:[1,2,5],fc:7},{lngs:["cy"],nr:[1,2,3,8],fc:8},{lngs:["fr"],nr:[1,2],fc:9},{lngs:["ga"],nr:[1,2,3,7,11],fc:10},{lngs:["gd"],nr:[1,2,3,20],fc:11},{lngs:["is"],nr:[1,2],fc:12},{lngs:["jv"],nr:[0,1],fc:13},{lngs:["kw"],nr:[1,2,3,4],fc:14},{lngs:["lt"],nr:[1,2,10],fc:15},{lngs:["lv"],nr:[1,2,0],fc:16},{lngs:["mk"],nr:[1,2],fc:17},{lngs:["mnk"],nr:[0,1,2],fc:18},{lngs:["mt"],nr:[1,2,11,20],fc:19},{lngs:["or"],nr:[2,1],fc:2},{lngs:["ro"],nr:[1,2,20],fc:20},{lngs:["sl"],nr:[5,1,2,3],fc:21},{lngs:["he","iw"],nr:[1,2,20,21],fc:22}],eRt={1:e=>+(e>1),2:e=>+(e!=1),3:e=>0,4:e=>e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2,5:e=>e==0?0:e==1?1:e==2?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5,6:e=>e==1?0:e>=2&&e<=4?1:2,7:e=>e==1?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2,8:e=>e==1?0:e==2?1:e!=8&&e!=11?2:3,9:e=>+(e>=2),10:e=>e==1?0:e==2?1:e<7?2:e<11?3:4,11:e=>e==1||e==11?0:e==2||e==12?1:e>2&&e<20?2:3,12:e=>+(e%10!=1||e%100==11),13:e=>+(e!==0),14:e=>e==1?0:e==2?1:e==3?2:3,15:e=>e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2,16:e=>e%10==1&&e%100!=11?0:e!==0?1:2,17:e=>e==1||e%10==1&&e%100!=11?0:1,18:e=>e==0?0:e==1?1:2,19:e=>e==1?0:e==0||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3,20:e=>e==1?0:e==0||e%100>0&&e%100<20?1:2,21:e=>e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0,22:e=>e==1?0:e==2?1:(e<0||e>10)&&e%10==0?2:3};const tRt=["v1","v2","v3"],nRt=["v4"],_K={zero:0,one:1,two:2,few:3,many:4,other:5},rRt=()=>{const e={};return Z$t.forEach(t=>{t.lngs.forEach(n=>{e[n]={numbers:t.nr,plurals:eRt[t.fc]}})}),e};class oRt{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.languageUtils=t,this.options=n,this.logger=kc.create("pluralResolver"),(!this.options.compatibilityJSON||nRt.includes(this.options.compatibilityJSON))&&(typeof Intl>"u"||!Intl.PluralRules)&&(this.options.compatibilityJSON="v3",this.logger.error("Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.")),this.rules=rRt(),this.pluralRulesCache={}}addRule(t,n){this.rules[t]=n}clearCache(){this.pluralRulesCache={}}getRule(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(this.shouldUseIntlApi())try{const r=EO(t==="dev"?"en":t),o=n.ordinal?"ordinal":"cardinal",i=JSON.stringify({cleanedCode:r,type:o});if(i in this.pluralRulesCache)return this.pluralRulesCache[i];const a=new Intl.PluralRules(r,{type:o});return this.pluralRulesCache[i]=a,a}catch{return}return this.rules[t]||this.rules[this.languageUtils.getLanguagePartFromCode(t)]}needsPlural(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return this.shouldUseIntlApi()?r&&r.resolvedOptions().pluralCategories.length>1:r&&r.numbers.length>1}getPluralFormsOfKey(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return this.getSuffixes(t,r).map(o=>`${n}${o}`)}getSuffixes(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const r=this.getRule(t,n);return r?this.shouldUseIntlApi()?r.resolvedOptions().pluralCategories.sort((o,i)=>_K[o]-_K[i]).map(o=>`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:""}${o}`):r.numbers.map(o=>this.getSuffix(t,o,n)):[]}getSuffix(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const o=this.getRule(t,r);return o?this.shouldUseIntlApi()?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${o.select(n)}`:this.getSuffixRetroCompatible(o,n):(this.logger.warn(`no plural rule found for: ${t}`),"")}getSuffixRetroCompatible(t,n){const r=t.noAbs?t.plurals(n):t.plurals(Math.abs(n));let o=t.numbers[r];this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1&&(o===2?o="plural":o===1&&(o=""));const i=()=>this.options.prepend&&o.toString()?this.options.prepend+o.toString():o.toString();return this.options.compatibilityJSON==="v1"?o===1?"":typeof o=="number"?`_plural_${o.toString()}`:i():this.options.compatibilityJSON==="v2"||this.options.simplifyPluralSuffix&&t.numbers.length===2&&t.numbers[0]===1?i():this.options.prepend&&r.toString()?this.options.prepend+r.toString():r.toString()}shouldUseIntlApi(){return!tRt.includes(this.options.compatibilityJSON)}}const DK=function(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:".",o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,i=W$t(e,t,n);return!i&&o&&Kt(n)&&(i=uL(e,n,r),i===void 0&&(i=uL(t,n,r))),i},GR=e=>e.replace(/\$/g,"$$$$");class iRt{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=kc.create("interpolator"),this.options=t,this.format=t.interpolation&&t.interpolation.format||(n=>n),this.init(t)}init(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};t.interpolation||(t.interpolation={escapeValue:!0});const{escape:n,escapeValue:r,useRawValueToEscape:o,prefix:i,prefixEscaped:a,suffix:s,suffixEscaped:l,formatSeparator:c,unescapeSuffix:u,unescapePrefix:d,nestingPrefix:f,nestingPrefixEscaped:p,nestingSuffix:m,nestingSuffixEscaped:g,nestingOptionsSeparator:v,maxReplaces:w,alwaysFormat:x}=t.interpolation;this.escape=n!==void 0?n:q$t,this.escapeValue=r!==void 0?r:!0,this.useRawValueToEscape=o!==void 0?o:!1,this.prefix=i?cg(i):a||"{{",this.suffix=s?cg(s):l||"}}",this.formatSeparator=c||",",this.unescapePrefix=u?"":d||"-",this.unescapeSuffix=this.unescapePrefix?"":u||"",this.nestingPrefix=f?cg(f):p||cg("$t("),this.nestingSuffix=m?cg(m):g||cg(")"),this.nestingOptionsSeparator=v||",",this.maxReplaces=w||1e3,this.alwaysFormat=x!==void 0?x:!1,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const t=(n,r)=>n&&n.source===r?(n.lastIndex=0,n):new RegExp(r,"g");this.regexp=t(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=t(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=t(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(t,n,r,o){let i,a,s;const l=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},c=p=>{if(p.indexOf(this.formatSeparator)<0){const w=DK(n,l,p,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(w,void 0,r,{...o,...n,interpolationkey:p}):w}const m=p.split(this.formatSeparator),g=m.shift().trim(),v=m.join(this.formatSeparator).trim();return this.format(DK(n,l,g,this.options.keySeparator,this.options.ignoreJSONStructure),v,r,{...o,...n,interpolationkey:g})};this.resetRegExp();const u=o&&o.missingInterpolationHandler||this.options.missingInterpolationHandler,d=o&&o.interpolation&&o.interpolation.skipOnVariables!==void 0?o.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:p=>GR(p)},{regex:this.regexp,safeValue:p=>this.escapeValue?GR(this.escape(p)):GR(p)}].forEach(p=>{for(s=0;i=p.regex.exec(t);){const m=i[1].trim();if(a=c(m),a===void 0)if(typeof u=="function"){const v=u(t,i,o);a=Kt(v)?v:""}else if(o&&Object.prototype.hasOwnProperty.call(o,m))a="";else if(d){a=i[0];continue}else this.logger.warn(`missed to pass in variable ${m} for interpolating ${t}`),a="";else!Kt(a)&&!this.useRawValueToEscape&&(a=OK(a));const g=p.safeValue(a);if(t=t.replace(i[0],g),d?(p.regex.lastIndex+=a.length,p.regex.lastIndex-=i[0].length):p.regex.lastIndex=0,s++,s>=this.maxReplaces)break}}),t}nest(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o,i,a;const s=(l,c)=>{const u=this.nestingOptionsSeparator;if(l.indexOf(u)<0)return l;const d=l.split(new RegExp(`${u}[ ]*{`));let f=`{${d[1]}`;l=d[0],f=this.interpolate(f,a);const p=f.match(/'/g),m=f.match(/"/g);(p&&p.length%2===0&&!m||m.length%2!==0)&&(f=f.replace(/'/g,'"'));try{a=JSON.parse(f),c&&(a={...c,...a})}catch(g){return this.logger.warn(`failed parsing options string in nesting for key ${l}`,g),`${l}${u}${f}`}return a.defaultValue&&a.defaultValue.indexOf(this.prefix)>-1&&delete a.defaultValue,l};for(;o=this.nestingRegexp.exec(t);){let l=[];a={...r},a=a.replace&&!Kt(a.replace)?a.replace:a,a.applyPostProcessor=!1,delete a.defaultValue;let c=!1;if(o[0].indexOf(this.formatSeparator)!==-1&&!/{.*}/.test(o[1])){const u=o[1].split(this.formatSeparator).map(d=>d.trim());o[1]=u.shift(),l=u,c=!0}if(i=n(s.call(this,o[1].trim(),a),a),i&&o[0]===t&&!Kt(i))return i;Kt(i)||(i=OK(i)),i||(this.logger.warn(`missed to resolve ${o[1]} for nesting ${t}`),i=""),c&&(i=l.reduce((u,d)=>this.format(u,d,r.lng,{...r,interpolationkey:o[1].trim()}),i.trim())),t=t.replace(o[0],i),this.regexp.lastIndex=0}return t}}const aRt=e=>{let t=e.toLowerCase().trim();const n={};if(e.indexOf("(")>-1){const r=e.split("(");t=r[0].toLowerCase().trim();const o=r[1].substring(0,r[1].length-1);t==="currency"&&o.indexOf(":")<0?n.currency||(n.currency=o.trim()):t==="relativetime"&&o.indexOf(":")<0?n.range||(n.range=o.trim()):o.split(";").forEach(a=>{if(a){const[s,...l]=a.split(":"),c=l.join(":").trim().replace(/^'+|'+$/g,""),u=s.trim();n[u]||(n[u]=c),c==="false"&&(n[u]=!1),c==="true"&&(n[u]=!0),isNaN(c)||(n[u]=parseInt(c,10))}})}return{formatName:t,formatOptions:n}},ug=e=>{const t={};return(n,r,o)=>{let i=o;o&&o.interpolationkey&&o.formatParams&&o.formatParams[o.interpolationkey]&&o[o.interpolationkey]&&(i={...i,[o.interpolationkey]:void 0});const a=r+JSON.stringify(i);let s=t[a];return s||(s=e(EO(r),o),t[a]=s),s(n)}};class sRt{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.logger=kc.create("formatter"),this.options=t,this.formats={number:ug((n,r)=>{const o=new Intl.NumberFormat(n,{...r});return i=>o.format(i)}),currency:ug((n,r)=>{const o=new Intl.NumberFormat(n,{...r,style:"currency"});return i=>o.format(i)}),datetime:ug((n,r)=>{const o=new Intl.DateTimeFormat(n,{...r});return i=>o.format(i)}),relativetime:ug((n,r)=>{const o=new Intl.RelativeTimeFormat(n,{...r});return i=>o.format(i,r.range||"day")}),list:ug((n,r)=>{const o=new Intl.ListFormat(n,{...r});return i=>o.format(i)})},this.init(t)}init(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{interpolation:{}};this.formatSeparator=n.interpolation.formatSeparator||","}add(t,n){this.formats[t.toLowerCase().trim()]=n}addCached(t,n){this.formats[t.toLowerCase().trim()]=ug(n)}format(t,n,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};const i=n.split(this.formatSeparator);if(i.length>1&&i[0].indexOf("(")>1&&i[0].indexOf(")")<0&&i.find(s=>s.indexOf(")")>-1)){const s=i.findIndex(l=>l.indexOf(")")>-1);i[0]=[i[0],...i.splice(1,s)].join(this.formatSeparator)}return i.reduce((s,l)=>{const{formatName:c,formatOptions:u}=aRt(l);if(this.formats[c]){let d=s;try{const f=o&&o.formatParams&&o.formatParams[o.interpolationkey]||{},p=f.locale||f.lng||o.locale||o.lng||r;d=this.formats[c](s,p,{...u,...o,...f})}catch(f){this.logger.warn(f)}return d}else this.logger.warn(`there was no format function for ${c}`);return s},t)}}const lRt=(e,t)=>{e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)};class cRt extends PM{constructor(t,n,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{};super(),this.backend=t,this.store=n,this.services=r,this.languageUtils=r.languageUtils,this.options=o,this.logger=kc.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=o.maxParallelReads||10,this.readingCalls=0,this.maxRetries=o.maxRetries>=0?o.maxRetries:5,this.retryTimeout=o.retryTimeout>=1?o.retryTimeout:350,this.state={},this.queue=[],this.backend&&this.backend.init&&this.backend.init(r,o.backend,o)}queueLoad(t,n,r,o){const i={},a={},s={},l={};return t.forEach(c=>{let u=!0;n.forEach(d=>{const f=`${c}|${d}`;!r.reload&&this.store.hasResourceBundle(c,d)?this.state[f]=2:this.state[f]<0||(this.state[f]===1?a[f]===void 0&&(a[f]=!0):(this.state[f]=1,u=!1,a[f]===void 0&&(a[f]=!0),i[f]===void 0&&(i[f]=!0),l[d]===void 0&&(l[d]=!0)))}),u||(s[c]=!0)}),(Object.keys(i).length||Object.keys(a).length)&&this.queue.push({pending:a,pendingCount:Object.keys(a).length,loaded:{},errors:[],callback:o}),{toLoad:Object.keys(i),pending:Object.keys(a),toLoadLanguages:Object.keys(s),toLoadNamespaces:Object.keys(l)}}loaded(t,n,r){const o=t.split("|"),i=o[0],a=o[1];n&&this.emit("failedLoading",i,a,n),!n&&r&&this.store.addResourceBundle(i,a,r,void 0,void 0,{skipCopy:!0}),this.state[t]=n?-1:2,n&&r&&(this.state[t]=0);const s={};this.queue.forEach(l=>{U$t(l.loaded,[i],a),lRt(l,t),n&&l.errors.push(n),l.pendingCount===0&&!l.done&&(Object.keys(l.loaded).forEach(c=>{s[c]||(s[c]={});const u=l.loaded[c];u.length&&u.forEach(d=>{s[c][d]===void 0&&(s[c][d]=!0)})}),l.done=!0,l.errors.length?l.callback(l.errors):l.callback())}),this.emit("loaded",s),this.queue=this.queue.filter(l=>!l.done)}read(t,n,r){let o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:this.retryTimeout,a=arguments.length>5?arguments[5]:void 0;if(!t.length)return a(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:t,ns:n,fcName:r,tried:o,wait:i,callback:a});return}this.readingCalls++;const s=(c,u)=>{if(this.readingCalls--,this.waitingReads.length>0){const d=this.waitingReads.shift();this.read(d.lng,d.ns,d.fcName,d.tried,d.wait,d.callback)}if(c&&u&&o{this.read.call(this,t,n,r,o+1,i*2,a)},i);return}a(c,u)},l=this.backend[r].bind(this.backend);if(l.length===2){try{const c=l(t,n);c&&typeof c.then=="function"?c.then(u=>s(null,u)).catch(s):s(null,c)}catch(c){s(c)}return}return l(t,n,s)}prepareLoading(t,n){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),o&&o();Kt(t)&&(t=this.languageUtils.toResolveHierarchy(t)),Kt(n)&&(n=[n]);const i=this.queueLoad(t,n,r,o);if(!i.toLoad.length)return i.pending.length||o(),null;i.toLoad.forEach(a=>{this.loadOne(a)})}load(t,n,r){this.prepareLoading(t,n,{},r)}reload(t,n,r){this.prepareLoading(t,n,{reload:!0},r)}loadOne(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";const r=t.split("|"),o=r[0],i=r[1];this.read(o,i,"read",void 0,void 0,(a,s)=>{a&&this.logger.warn(`${n}loading namespace ${i} for language ${o} failed`,a),!a&&s&&this.logger.log(`${n}loaded namespace ${i} for language ${o}`,s),this.loaded(t,a,s)})}saveMissing(t,n,r,o,i){let a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:{},s=arguments.length>6&&arguments[6]!==void 0?arguments[6]:()=>{};if(this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(n)){this.logger.warn(`did not save key "${r}" as the namespace "${n}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");return}if(!(r==null||r==="")){if(this.backend&&this.backend.create){const l={...a,isUpdate:i},c=this.backend.create.bind(this.backend);if(c.length<6)try{let u;c.length===5?u=c(t,n,r,o,l):u=c(t,n,r,o),u&&typeof u.then=="function"?u.then(d=>s(null,d)).catch(s):s(null,u)}catch(u){s(u)}else c(t,n,r,o,s,l)}!t||!t[0]||this.store.addResource(t[0],n,r,o)}}}const NK=()=>({debug:!1,initImmediate:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:e=>{let t={};if(typeof e[1]=="object"&&(t=e[1]),Kt(e[1])&&(t.defaultValue=e[1]),Kt(e[2])&&(t.tDescription=e[2]),typeof e[2]=="object"||typeof e[3]=="object"){const n=e[3]||e[2];Object.keys(n).forEach(r=>{t[r]=n[r]})}return t},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}),LK=e=>(Kt(e.ns)&&(e.ns=[e.ns]),Kt(e.fallbackLng)&&(e.fallbackLng=[e.fallbackLng]),Kt(e.fallbackNS)&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&e.supportedLngs.indexOf("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),e),bP=()=>{},uRt=e=>{Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(n=>{typeof e[n]=="function"&&(e[n]=e[n].bind(e))})};class oS extends PM{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;if(super(),this.options=LK(t),this.services={},this.logger=kc,this.modules={external:[]},uRt(this),n&&!this.isInitialized&&!t.isClone){if(!this.options.initImmediate)return this.init(t,n),this;setTimeout(()=>{this.init(t,n)},0)}}init(){var t=this;let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;this.isInitializing=!0,typeof n=="function"&&(r=n,n={}),!n.defaultNS&&n.defaultNS!==!1&&n.ns&&(Kt(n.ns)?n.defaultNS=n.ns:n.ns.indexOf("translation")<0&&(n.defaultNS=n.ns[0]));const o=NK();this.options={...o,...this.options,...LK(n)},this.options.compatibilityAPI!=="v1"&&(this.options.interpolation={...o.interpolation,...this.options.interpolation}),n.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=n.keySeparator),n.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=n.nsSeparator);const i=u=>u?typeof u=="function"?new u:u:null;if(!this.options.isClone){this.modules.logger?kc.init(i(this.modules.logger),this.options):kc.init(null,this.options);let u;this.modules.formatter?u=this.modules.formatter:typeof Intl<"u"&&(u=sRt);const d=new RK(this.options);this.store=new AK(this.options.resources,this.options);const f=this.services;f.logger=kc,f.resourceStore=this.store,f.languageUtils=d,f.pluralResolver=new oRt(d,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),u&&(!this.options.interpolation.format||this.options.interpolation.format===o.interpolation.format)&&(f.formatter=i(u),f.formatter.init(f,this.options),this.options.interpolation.format=f.formatter.format.bind(f.formatter)),f.interpolator=new iRt(this.options),f.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},f.backendConnector=new cRt(i(this.modules.backend),f.resourceStore,f,this.options),f.backendConnector.on("*",function(p){for(var m=arguments.length,g=new Array(m>1?m-1:0),v=1;v1?m-1:0),v=1;v{p.init&&p.init(this)})}if(this.format=this.options.interpolation.format,r||(r=bP),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const u=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);u.length>0&&u[0]!=="dev"&&(this.options.lng=u[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn("init: no languageDetector is used and no lng is defined"),["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(u=>{this[u]=function(){return t.store[u](...arguments)}}),["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(u=>{this[u]=function(){return t.store[u](...arguments),t}});const l=$0(),c=()=>{const u=(d,f)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),l.resolve(f),r(d,f)};if(this.languages&&this.options.compatibilityAPI!=="v1"&&!this.isInitialized)return u(null,this.t.bind(this));this.changeLanguage(this.options.lng,u)};return this.options.resources||!this.options.initImmediate?c():setTimeout(c,0),l}loadResources(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:bP;const o=Kt(t)?t:this.language;if(typeof t=="function"&&(r=t),!this.options.resources||this.options.partialBundledLanguages){if(o&&o.toLowerCase()==="cimode"&&(!this.options.preload||this.options.preload.length===0))return r();const i=[],a=s=>{if(!s||s==="cimode")return;this.services.languageUtils.toResolveHierarchy(s).forEach(c=>{c!=="cimode"&&i.indexOf(c)<0&&i.push(c)})};o?a(o):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(l=>a(l)),this.options.preload&&this.options.preload.forEach(s=>a(s)),this.services.backendConnector.load(i,this.options.ns,s=>{!s&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),r(s)})}else r(null)}reloadResources(t,n,r){const o=$0();return typeof t=="function"&&(r=t,t=void 0),typeof n=="function"&&(r=n,n=void 0),t||(t=this.languages),n||(n=this.options.ns),r||(r=bP),this.services.backendConnector.reload(t,n,i=>{o.resolve(),r(i)}),o}use(t){if(!t)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!t.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return t.type==="backend"&&(this.modules.backend=t),(t.type==="logger"||t.log&&t.warn&&t.error)&&(this.modules.logger=t),t.type==="languageDetector"&&(this.modules.languageDetector=t),t.type==="i18nFormat"&&(this.modules.i18nFormat=t),t.type==="postProcessor"&&aue.addPostProcessor(t),t.type==="formatter"&&(this.modules.formatter=t),t.type==="3rdParty"&&this.modules.external.push(t),this}setResolvedLanguage(t){if(!(!t||!this.languages)&&!(["cimode","dev"].indexOf(t)>-1))for(let n=0;n-1)&&this.store.hasLanguageSomeTranslations(r)){this.resolvedLanguage=r;break}}}changeLanguage(t,n){var r=this;this.isLanguageChangingTo=t;const o=$0();this.emit("languageChanging",t);const i=l=>{this.language=l,this.languages=this.services.languageUtils.toResolveHierarchy(l),this.resolvedLanguage=void 0,this.setResolvedLanguage(l)},a=(l,c)=>{c?(i(c),this.translator.changeLanguage(c),this.isLanguageChangingTo=void 0,this.emit("languageChanged",c),this.logger.log("languageChanged",c)):this.isLanguageChangingTo=void 0,o.resolve(function(){return r.t(...arguments)}),n&&n(l,function(){return r.t(...arguments)})},s=l=>{!t&&!l&&this.services.languageDetector&&(l=[]);const c=Kt(l)?l:this.services.languageUtils.getBestMatchFromCodes(l);c&&(this.language||i(c),this.translator.language||this.translator.changeLanguage(c),this.services.languageDetector&&this.services.languageDetector.cacheUserLanguage&&this.services.languageDetector.cacheUserLanguage(c)),this.loadResources(c,u=>{a(u,c)})};return!t&&this.services.languageDetector&&!this.services.languageDetector.async?s(this.services.languageDetector.detect()):!t&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(s):this.services.languageDetector.detect(s):s(t),o}getFixedT(t,n,r){var o=this;const i=function(a,s){let l;if(typeof s!="object"){for(var c=arguments.length,u=new Array(c>2?c-2:0),d=2;d`${l.keyPrefix}${f}${m}`):p=l.keyPrefix?`${l.keyPrefix}${f}${a}`:a,o.t(p,l)};return Kt(t)?i.lng=t:i.lngs=t,i.ns=n,i.keyPrefix=r,i}t(){return this.translator&&this.translator.translate(...arguments)}exists(){return this.translator&&this.translator.exists(...arguments)}setDefaultNamespace(t){this.options.defaultNS=t}hasLoadedNamespace(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=n.lng||this.resolvedLanguage||this.languages[0],o=this.options?this.options.fallbackLng:!1,i=this.languages[this.languages.length-1];if(r.toLowerCase()==="cimode")return!0;const a=(s,l)=>{const c=this.services.backendConnector.state[`${s}|${l}`];return c===-1||c===0||c===2};if(n.precheck){const s=n.precheck(this,a);if(s!==void 0)return s}return!!(this.hasResourceBundle(r,t)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||a(r,t)&&(!o||a(i,t)))}loadNamespaces(t,n){const r=$0();return this.options.ns?(Kt(t)&&(t=[t]),t.forEach(o=>{this.options.ns.indexOf(o)<0&&this.options.ns.push(o)}),this.loadResources(o=>{r.resolve(),n&&n(o)}),r):(n&&n(),Promise.resolve())}loadLanguages(t,n){const r=$0();Kt(t)&&(t=[t]);const o=this.options.preload||[],i=t.filter(a=>o.indexOf(a)<0&&this.services.languageUtils.isSupportedCode(a));return i.length?(this.options.preload=o.concat(i),this.loadResources(a=>{r.resolve(),n&&n(a)}),r):(n&&n(),Promise.resolve())}dir(t){if(t||(t=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!t)return"rtl";const n=["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"],r=this.services&&this.services.languageUtils||new RK(NK());return n.indexOf(r.getLanguagePartFromCode(t))>-1||t.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0;return new oS(t,n)}cloneInstance(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:bP;const r=t.forkResourceStore;r&&delete t.forkResourceStore;const o={...this.options,...t,isClone:!0},i=new oS(o);return(t.debug!==void 0||t.prefix!==void 0)&&(i.logger=i.logger.clone(t)),["store","services","language"].forEach(s=>{i[s]=this[s]}),i.services={...this.services},i.services.utils={hasLoadedNamespace:i.hasLoadedNamespace.bind(i)},r&&(i.store=new AK(this.store.data,o),i.services.resourceStore=i.store),i.translator=new IO(i.services,o),i.translator.on("*",function(s){for(var l=arguments.length,c=new Array(l>1?l-1:0),u=1;u{if(t)for(const n in t)e[n]===void 0&&(e[n]=t[n])}),e}const FK=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/,hRt=(e,t,n)=>{const r=n||{};r.path=r.path||"/";const o=encodeURIComponent(t);let i=`${e}=${o}`;if(r.maxAge>0){const a=r.maxAge-0;if(Number.isNaN(a))throw new Error("maxAge should be a Number");i+=`; Max-Age=${Math.floor(a)}`}if(r.domain){if(!FK.test(r.domain))throw new TypeError("option domain is invalid");i+=`; Domain=${r.domain}`}if(r.path){if(!FK.test(r.path))throw new TypeError("option path is invalid");i+=`; Path=${r.path}`}if(r.expires){if(typeof r.expires.toUTCString!="function")throw new TypeError("option expires is invalid");i+=`; Expires=${r.expires.toUTCString()}`}if(r.httpOnly&&(i+="; HttpOnly"),r.secure&&(i+="; Secure"),r.sameSite)switch(typeof r.sameSite=="string"?r.sameSite.toLowerCase():r.sameSite){case!0:i+="; SameSite=Strict";break;case"lax":i+="; SameSite=Lax";break;case"strict":i+="; SameSite=Strict";break;case"none":i+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}return i},jK={create(e,t,n,r){let o=arguments.length>4&&arguments[4]!==void 0?arguments[4]:{path:"/",sameSite:"strict"};n&&(o.expires=new Date,o.expires.setTime(o.expires.getTime()+n*60*1e3)),r&&(o.domain=r),document.cookie=hRt(e,encodeURIComponent(t),o)},read(e){const t=`${e}=`,n=document.cookie.split(";");for(let r=0;r-1&&(o=window.location.hash.substring(window.location.hash.indexOf("?")));const a=o.substring(1).split("&");for(let s=0;s0&&a[s].substring(0,l)===t&&(n=a[s].substring(l+1))}}return n}};let R0=null;const BK=()=>{if(R0!==null)return R0;try{R0=window!=="undefined"&&window.localStorage!==null;const e="i18next.translate.boo";window.localStorage.setItem(e,"foo"),window.localStorage.removeItem(e)}catch{R0=!1}return R0};var yRt={name:"localStorage",lookup(e){let{lookupLocalStorage:t}=e;if(t&&BK())return window.localStorage.getItem(t)||void 0},cacheUserLanguage(e,t){let{lookupLocalStorage:n}=t;n&&BK()&&window.localStorage.setItem(n,e)}};let _0=null;const zK=()=>{if(_0!==null)return _0;try{_0=window!=="undefined"&&window.sessionStorage!==null;const e="i18next.translate.boo";window.sessionStorage.setItem(e,"foo"),window.sessionStorage.removeItem(e)}catch{_0=!1}return _0};var vRt={name:"sessionStorage",lookup(e){let{lookupSessionStorage:t}=e;if(t&&zK())return window.sessionStorage.getItem(t)||void 0},cacheUserLanguage(e,t){let{lookupSessionStorage:n}=t;n&&zK()&&window.sessionStorage.setItem(n,e)}},bRt={name:"navigator",lookup(e){const t=[];if(typeof navigator<"u"){const{languages:n,userLanguage:r,language:o}=navigator;if(n)for(let i=0;i0?t:void 0}},wRt={name:"htmlTag",lookup(e){let{htmlTag:t}=e,n;const r=t||(typeof document<"u"?document.documentElement:null);return r&&typeof r.getAttribute=="function"&&(n=r.getAttribute("lang")),n}},xRt={name:"path",lookup(e){var o;let{lookupFromPathIndex:t}=e;if(typeof window>"u")return;const n=window.location.pathname.match(/\/([a-zA-Z-]*)/g);return Array.isArray(n)?(o=n[typeof t=="number"?t:0])==null?void 0:o.replace("/",""):void 0}},SRt={name:"subdomain",lookup(e){var o,i;let{lookupFromSubdomainIndex:t}=e;const n=typeof t=="number"?t+1:1,r=typeof window<"u"&&((i=(o=window.location)==null?void 0:o.hostname)==null?void 0:i.match(/^(\w{2,5})\.(([a-z0-9-]{1,63}\.[a-z]{2,6})|localhost)/i));if(r)return r[n]}};function CRt(){return{order:["querystring","cookie","localStorage","sessionStorage","navigator","htmlTag"],lookupQuerystring:"lng",lookupCookie:"i18next",lookupLocalStorage:"i18nextLng",lookupSessionStorage:"i18nextLng",caches:["localStorage"],excludeCacheFor:["cimode"],convertDetectedLanguage:e=>e}}class sue{constructor(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};this.type="languageDetector",this.detectors={},this.init(t,n)}init(t){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};this.services=t||{languageUtils:{}},this.options=pRt(n,this.options||{},CRt()),typeof this.options.convertDetectedLanguage=="string"&&this.options.convertDetectedLanguage.indexOf("15897")>-1&&(this.options.convertDetectedLanguage=o=>o.replace("-","_")),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=r,this.addDetector(mRt),this.addDetector(gRt),this.addDetector(yRt),this.addDetector(vRt),this.addDetector(bRt),this.addDetector(wRt),this.addDetector(xRt),this.addDetector(SRt)}addDetector(t){return this.detectors[t.name]=t,this}detect(t){t||(t=this.options.order);let n=[];return t.forEach(r=>{if(this.detectors[r]){let o=this.detectors[r].lookup(this.options);o&&typeof o=="string"&&(o=[o]),o&&(n=n.concat(o))}}),n=n.map(r=>this.options.convertDetectedLanguage(r)),this.services.languageUtils.getBestMatchFromCodes?n:n.length>0?n[0]:null}cacheUserLanguage(t,n){n||(n=this.options.caches),n&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(t)>-1||n.forEach(r=>{this.detectors[r]&&this.detectors[r].cacheUserLanguage(t,this.options)}))}}sue.type="languageDetector";function dL(e){"@babel/helpers - typeof";return dL=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},dL(e)}function lue(){return typeof XMLHttpRequest=="function"||(typeof XMLHttpRequest>"u"?"undefined":dL(XMLHttpRequest))==="object"}function PRt(e){return!!e&&typeof e.then=="function"}function TRt(e){return PRt(e)?e:Promise.resolve(e)}function ERt(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var fL={exports:{}},wP={exports:{}},VK;function ORt(){return VK||(VK=1,function(e,t){var n=typeof globalThis<"u"&&globalThis||typeof self<"u"&&self||typeof Bi<"u"&&Bi,r=function(){function i(){this.fetch=!1,this.DOMException=n.DOMException}return i.prototype=n,new i}();(function(i){(function(a){var s=typeof i<"u"&&i||typeof self<"u"&&self||typeof s<"u"&&s,l={searchParams:"URLSearchParams"in s,iterable:"Symbol"in s&&"iterator"in Symbol,blob:"FileReader"in s&&"Blob"in s&&function(){try{return new Blob,!0}catch{return!1}}(),formData:"FormData"in s,arrayBuffer:"ArrayBuffer"in s};function c(_){return _&&DataView.prototype.isPrototypeOf(_)}if(l.arrayBuffer)var u=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],d=ArrayBuffer.isView||function(_){return _&&u.indexOf(Object.prototype.toString.call(_))>-1};function f(_){if(typeof _!="string"&&(_=String(_)),/[^a-z0-9\-#$%&'*+.^_`|~!]/i.test(_)||_==="")throw new TypeError('Invalid character in header field name: "'+_+'"');return _.toLowerCase()}function p(_){return typeof _!="string"&&(_=String(_)),_}function m(_){var D={next:function(){var z=_.shift();return{done:z===void 0,value:z}}};return l.iterable&&(D[Symbol.iterator]=function(){return D}),D}function g(_){this.map={},_ instanceof g?_.forEach(function(D,z){this.append(z,D)},this):Array.isArray(_)?_.forEach(function(D){this.append(D[0],D[1])},this):_&&Object.getOwnPropertyNames(_).forEach(function(D){this.append(D,_[D])},this)}g.prototype.append=function(_,D){_=f(_),D=p(D);var z=this.map[_];this.map[_]=z?z+", "+D:D},g.prototype.delete=function(_){delete this.map[f(_)]},g.prototype.get=function(_){return _=f(_),this.has(_)?this.map[_]:null},g.prototype.has=function(_){return this.map.hasOwnProperty(f(_))},g.prototype.set=function(_,D){this.map[f(_)]=p(D)},g.prototype.forEach=function(_,D){for(var z in this.map)this.map.hasOwnProperty(z)&&_.call(D,this.map[z],z,this)},g.prototype.keys=function(){var _=[];return this.forEach(function(D,z){_.push(z)}),m(_)},g.prototype.values=function(){var _=[];return this.forEach(function(D){_.push(D)}),m(_)},g.prototype.entries=function(){var _=[];return this.forEach(function(D,z){_.push([z,D])}),m(_)},l.iterable&&(g.prototype[Symbol.iterator]=g.prototype.entries);function v(_){if(_.bodyUsed)return Promise.reject(new TypeError("Already read"));_.bodyUsed=!0}function w(_){return new Promise(function(D,z){_.onload=function(){D(_.result)},_.onerror=function(){z(_.error)}})}function x(_){var D=new FileReader,z=w(D);return D.readAsArrayBuffer(_),z}function S(_){var D=new FileReader,z=w(D);return D.readAsText(_),z}function P(_){for(var D=new Uint8Array(_),z=new Array(D.length),F=0;F-1?D:_}function A(_,D){if(!(this instanceof A))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');D=D||{};var z=D.body;if(_ instanceof A){if(_.bodyUsed)throw new TypeError("Already read");this.url=_.url,this.credentials=_.credentials,D.headers||(this.headers=new g(_.headers)),this.method=_.method,this.mode=_.mode,this.signal=_.signal,!z&&_._bodyInit!=null&&(z=_._bodyInit,_.bodyUsed=!0)}else this.url=String(_);if(this.credentials=D.credentials||this.credentials||"same-origin",(D.headers||!this.headers)&&(this.headers=new g(D.headers)),this.method=k(D.method||this.method||"GET"),this.mode=D.mode||this.mode||null,this.signal=D.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&z)throw new TypeError("Body not allowed for GET or HEAD requests");if(this._initBody(z),(this.method==="GET"||this.method==="HEAD")&&(D.cache==="no-store"||D.cache==="no-cache")){var F=/([?&])_=[^&]*/;if(F.test(this.url))this.url=this.url.replace(F,"$1_="+new Date().getTime());else{var H=/\?/;this.url+=(H.test(this.url)?"&":"?")+"_="+new Date().getTime()}}}A.prototype.clone=function(){return new A(this,{body:this._bodyInit})};function I(_){var D=new FormData;return _.trim().split("&").forEach(function(z){if(z){var F=z.split("="),H=F.shift().replace(/\+/g," "),U=F.join("=").replace(/\+/g," ");D.append(decodeURIComponent(H),decodeURIComponent(U))}}),D}function R(_){var D=new g,z=_.replace(/\r?\n[\t ]+/g," ");return z.split("\r").map(function(F){return F.indexOf(` +`)===0?F.substr(1,F.length):F}).forEach(function(F){var H=F.split(":"),U=H.shift().trim();if(U){var q=H.join(":").trim();D.append(U,q)}}),D}E.call(A.prototype);function N(_,D){if(!(this instanceof N))throw new TypeError('Please use the "new" operator, this DOM object constructor cannot be called as a function.');D||(D={}),this.type="default",this.status=D.status===void 0?200:D.status,this.ok=this.status>=200&&this.status<300,this.statusText=D.statusText===void 0?"":""+D.statusText,this.headers=new g(D.headers),this.url=D.url||"",this._initBody(_)}E.call(N.prototype),N.prototype.clone=function(){return new N(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new g(this.headers),url:this.url})},N.error=function(){var _=new N(null,{status:0,statusText:""});return _.type="error",_};var L=[301,302,303,307,308];N.redirect=function(_,D){if(L.indexOf(D)===-1)throw new RangeError("Invalid status code");return new N(null,{status:D,headers:{location:_}})},a.DOMException=s.DOMException;try{new a.DOMException}catch{a.DOMException=function(D,z){this.message=D,this.name=z;var F=Error(D);this.stack=F.stack},a.DOMException.prototype=Object.create(Error.prototype),a.DOMException.prototype.constructor=a.DOMException}function j(_,D){return new Promise(function(z,F){var H=new A(_,D);if(H.signal&&H.signal.aborted)return F(new a.DOMException("Aborted","AbortError"));var U=new XMLHttpRequest;function q(){U.abort()}U.onload=function(){var ae={status:U.status,statusText:U.statusText,headers:R(U.getAllResponseHeaders()||"")};ae.url="responseURL"in U?U.responseURL:ae.headers.get("X-Request-URL");var Z="response"in U?U.response:U.responseText;setTimeout(function(){z(new N(Z,ae))},0)},U.onerror=function(){setTimeout(function(){F(new TypeError("Network request failed"))},0)},U.ontimeout=function(){setTimeout(function(){F(new TypeError("Network request failed"))},0)},U.onabort=function(){setTimeout(function(){F(new a.DOMException("Aborted","AbortError"))},0)};function X(ae){try{return ae===""&&s.location.href?s.location.href:ae}catch{return ae}}U.open(H.method,X(H.url),!0),H.credentials==="include"?U.withCredentials=!0:H.credentials==="omit"&&(U.withCredentials=!1),"responseType"in U&&(l.blob?U.responseType="blob":l.arrayBuffer&&H.headers.get("Content-Type")&&H.headers.get("Content-Type").indexOf("application/octet-stream")!==-1&&(U.responseType="arraybuffer")),D&&typeof D.headers=="object"&&!(D.headers instanceof g)?Object.getOwnPropertyNames(D.headers).forEach(function(ae){U.setRequestHeader(ae,p(D.headers[ae]))}):H.headers.forEach(function(ae,Z){U.setRequestHeader(Z,ae)}),H.signal&&(H.signal.addEventListener("abort",q),U.onreadystatechange=function(){U.readyState===4&&H.signal.removeEventListener("abort",q)}),U.send(typeof H._bodyInit>"u"?null:H._bodyInit)})}return j.polyfill=!0,s.fetch||(s.fetch=j,s.Headers=g,s.Request=A,s.Response=N),a.Headers=g,a.Request=A,a.Response=N,a.fetch=j,a})({})})(r),r.fetch.ponyfill=!0,delete r.fetch.polyfill;var o=n.fetch?n:r;t=o.fetch,t.default=o.fetch,t.fetch=o.fetch,t.Headers=o.Headers,t.Request=o.Request,t.Response=o.Response,e.exports=t}(wP,wP.exports)),wP.exports}(function(e,t){var n;if(typeof fetch=="function"&&(typeof Bi<"u"&&Bi.fetch?n=Bi.fetch:typeof window<"u"&&window.fetch?n=window.fetch:n=fetch),typeof ERt<"u"&&typeof window>"u"){var r=n||ORt();r.default&&(r=r.default),t.default=r,e.exports=t.default}})(fL,fL.exports);var cue=fL.exports;const uue=_n(cue),HK=fY({__proto__:null,default:uue},[cue]);function UK(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function WK(e){for(var t=1;t"u"&&typeof global<"u"&&typeof global.process<"u"&&global.process.versions&&global.process.versions.node&&(i["User-Agent"]="i18next-http-backend (node/".concat(global.process.version,"; ").concat(global.process.platform," ").concat(global.process.arch,")")),r&&(i["Content-Type"]="application/json");var a=typeof t.requestOptions=="function"?t.requestOptions(r):t.requestOptions,s=WK({method:r?"POST":"GET",body:r?t.stringify(r):void 0,headers:i},qK?{}:a),l=typeof t.alternateFetch=="function"&&t.alternateFetch.length>=1?t.alternateFetch:void 0;try{GK(n,s,o,l)}catch(c){if(!a||Object.keys(a).length===0||!c.message||c.message.indexOf("not implemented")<0)return o(c);try{Object.keys(a).forEach(function(u){delete s[u]}),GK(n,s,o,l),qK=!0}catch(u){o(u)}}},$Rt=function(t,n,r,o){r&&Vh(r)==="object"&&(r=pL("",r).slice(1)),t.queryStringParams&&(n=pL(n,t.queryStringParams));try{var i;iS?i=new iS:i=new kO("MSXML2.XMLHTTP.3.0"),i.open(r?"POST":"GET",n,1),t.crossDomain||i.setRequestHeader("X-Requested-With","XMLHttpRequest"),i.withCredentials=!!t.withCredentials,r&&i.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),i.overrideMimeType&&i.overrideMimeType("application/json");var a=t.customHeaders;if(a=typeof a=="function"?a():a,a)for(var s in a)i.setRequestHeader(s,a[s]);i.onreadystatechange=function(){i.readyState>3&&o(i.status>=400?i.statusText:null,{status:i.status,data:i.responseText})},i.send(r)}catch(l){console&&console.log(l)}},RRt=function(t,n,r,o){if(typeof r=="function"&&(o=r,r=void 0),o=o||function(){},Fu&&n.indexOf("file:")!==0)return ARt(t,n,r,o);if(lue()||typeof ActiveXObject=="function")return $Rt(t,n,r,o);o(new Error("No fetch and no xhr implementation found!"))};function Mv(e){"@babel/helpers - typeof";return Mv=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Mv(e)}function KK(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function qR(e){for(var t=1;t1&&arguments[1]!==void 0?arguments[1]:{},r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};_Rt(this,e),this.services=t,this.options=n,this.allOptions=r,this.type="backend",this.init(t,n,r)}return NRt(e,[{key:"init",value:function(n){var r=this,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(this.services=n,this.options=qR(qR(qR({},FRt()),this.options||{}),o),this.allOptions=i,this.services&&this.options.reloadInterval){var a=setInterval(function(){return r.reload()},this.options.reloadInterval);Mv(a)==="object"&&typeof a.unref=="function"&&a.unref()}}},{key:"readMulti",value:function(n,r,o){this._readAny(n,n,r,r,o)}},{key:"read",value:function(n,r,o){this._readAny([n],n,[r],r,o)}},{key:"_readAny",value:function(n,r,o,i,a){var s=this,l=this.options.loadPath;typeof this.options.loadPath=="function"&&(l=this.options.loadPath(n,o)),l=TRt(l),l.then(function(c){if(!c)return a(null,{});var u=s.services.interpolator.interpolate(c,{lng:n.join("+"),ns:o.join("+")});s.loadUrl(u,a,r,i)})}},{key:"loadUrl",value:function(n,r,o,i){var a=this,s=typeof o=="string"?[o]:o,l=typeof i=="string"?[i]:i,c=this.options.parseLoadPayload(s,l);this.options.request(this.options,n,c,function(u,d){if(d&&(d.status>=500&&d.status<600||!d.status))return r("failed loading "+n+"; status code: "+d.status,!0);if(d&&d.status>=400&&d.status<500)return r("failed loading "+n+"; status code: "+d.status,!1);if(!d&&u&&u.message){var f=u.message.toLowerCase(),p=["failed","fetch","network","load"].find(function(v){return f.indexOf(v)>-1});if(p)return r("failed loading "+n+": "+u.message,!0)}if(u)return r(u,!1);var m,g;try{typeof d.data=="string"?m=a.options.parse(d.data,o,i):m=d.data}catch{g="failed parsing "+n+" to json"}if(g)return r(g,!1);r(null,m)})}},{key:"create",value:function(n,r,o,i,a){var s=this;if(this.options.addPath){typeof n=="string"&&(n=[n]);var l=this.options.parsePayload(r,o,i),c=0,u=[],d=[];n.forEach(function(f){var p=s.options.addPath;typeof s.options.addPath=="function"&&(p=s.options.addPath(f,r));var m=s.services.interpolator.interpolate(p,{lng:f,ns:r});s.options.request(s.options,m,l,function(g,v){c+=1,u.push(g),d.push(v),c===n.length&&typeof a=="function"&&a(u,d)})})}}},{key:"reload",value:function(){var n=this,r=this.services,o=r.backendConnector,i=r.languageUtils,a=r.logger,s=o.language;if(!(s&&s.toLowerCase()==="cimode")){var l=[],c=function(d){var f=i.toResolveHierarchy(d);f.forEach(function(p){l.indexOf(p)<0&&l.push(p)})};c(s),this.allOptions.preload&&this.allOptions.preload.forEach(function(u){return c(u)}),l.forEach(function(u){n.allOptions.ns.forEach(function(d){o.read(u,d,"read",null,null,function(f,p){f&&a.warn("loading namespace ".concat(d," for language ").concat(u," failed"),f),!f&&p&&a.log("loaded namespace ".concat(d," for language ").concat(u),p),o.loaded("".concat(u,"|").concat(d),f,p)})})})}}}])}();pue.type="backend";Oi.use(pue).use(sue).use(yRe).init({load:"languageOnly",detection:{order:["path","navigator","htmlTag"]},fallbackLng:"en",interpolation:{escapeValue:!1},backend:{loadPath:"/static/react/locales/{{lng}}/{{ns}}.json"}});const gm=new uxe({defaultOptions:{queries:{retry:3,staleTime:1e3*60*5,refetchOnMount:!0,refetchOnWindowFocus:!0,refetchOnReconnect:"always"}}}),nV=e=>{const t=document.getElementById(e);if(t===null)return;const n=t.attachShadow({mode:"open"}),r=document.createElement("div"),o=document.createElement("style"),i=document.getElementById("react-css");if(i){const l=document.createElement("link");l.setAttribute("rel","stylesheet"),l.setAttribute("href",i.href),n.appendChild(i)}n.appendChild(r),n.appendChild(o);const a=$Y({key:"css",prepend:!0,container:o});ud(r).render(C(kve,{value:a,children:C(y.Suspense,{fallback:C(Za,{}),children:C(yz,{children:C(Ff,{theme:i1t(r),children:C(Hh,{client:gm,children:C(tV,{})})})})})}))},YK=document.getElementById("root");YK&&ud(YK).render(C(Y.StrictMode,{children:C(y.Suspense,{fallback:C(Za,{}),children:C(yz,{children:C(Ff,{theme:rp,children:Q(Hh,{client:gm,children:[C(z$t,{}),C(Exe,{})]})})})})}));const XK=document.getElementById("react-weight-overview");XK&&ud(XK).render(C(y.Suspense,{fallback:C(Za,{}),children:C(Ff,{theme:rp,children:C(Hh,{client:gm,children:C(Ele,{})})})}));const QK=document.getElementById("react-weight-dashboard");QK&&ud(QK).render(C(y.Suspense,{fallback:C(Za,{}),children:C(Ff,{theme:rp,children:C(Hh,{client:gm,children:C(gle,{})})})}));const JK=document.getElementById("react-nutrition-dashboard");JK&&ud(JK).render(C(y.Suspense,{fallback:C(Za,{}),children:C(Ff,{theme:rp,children:C(Hh,{client:gm,children:C(Ase,{})})})}));const ZK=document.getElementById("react-routine-dashboard");ZK&&ud(ZK).render(C(y.Suspense,{fallback:C(Za,{}),children:C(Ff,{theme:rp,children:C(Hh,{client:gm,children:C(Qse,{})})})}));nV("react-exercise-overview");nV("react-exercise-contribute");const eY=document.getElementById("react-exercise-detail");eY&&ud(eY).render(C(y.Suspense,{fallback:C(Za,{}),children:C(yz,{children:C(Ff,{theme:rp,children:C(Hh,{client:gm,children:C(tV,{})})})})}));nV("react-page");const tY=document.getElementById("react-ingredient-search");tY&&ud(tY).render(C(y.Suspense,{fallback:C(Za,{}),children:C(Ff,{theme:rp,children:C(Ewt,{})})}))});export default jRt(); diff --git a/wger/core/templates/delete.html b/wger/core/templates/delete.html index dca8d784b..d2a4b9e21 100644 --- a/wger/core/templates/delete.html +++ b/wger/core/templates/delete.html @@ -1,23 +1,10 @@ -{% extends extend_template %} {% load i18n crispy_forms_tags %} - -{% block title %}{{title}}{% endblock %} +

{{ title }}

+

{% translate "Are you sure you want to delete this? This action cannot be undone." %}

+{% if delete_message %} +

{{ delete_message }}

+{% endif %} +{% crispy form %} - -{% block content %} -
-

{% translate "Are you sure you want to delete this? This action cannot be undone." %}

- {% if delete_message %} -

{{ delete_message }}

- {% endif %} - {% crispy form %} -
- -{% endblock %} - diff --git a/wger/core/templates/form.html b/wger/core/templates/form.html index 14a0ad784..7990ecdc3 100644 --- a/wger/core/templates/form.html +++ b/wger/core/templates/form.html @@ -1,29 +1,4 @@ -{% extends extend_template %} -{% load i18n static crispy_forms_tags %} +{% load crispy_forms_tags %} -{% block header %} - {{ form.media }} - {% if custom_js %} - - {% endif %} -{% endblock %} - -{% block title %}{{title}}{% endblock %} - -{% block content %} - {% if form %} - {% crispy form %} - {% else %} - Looks like you clicked on an invalid link. Please try again. - {% endif %} -{% endblock %} - - - -{% block sidebar %}{% if sidebar %}{% include sidebar %}{% endif %}{% endblock %} +

{{ title }}

+{% crispy form %} diff --git a/wger/core/templates/form_content.html b/wger/core/templates/form_content.html new file mode 100644 index 000000000..195a85b24 --- /dev/null +++ b/wger/core/templates/form_content.html @@ -0,0 +1,29 @@ +{% extends 'base.html' %} +{% load i18n static crispy_forms_tags %} + +{% block header %} + {{ form.media }} + {% if custom_js %} + + {% endif %} +{% endblock %} + +{% block title %}{{ title }}{% endblock %} + +{% block content %} + {% if form %} + {% crispy form %} + {% else %} + Looks like you clicked on an invalid link. Please try again. + {% endif %} +{% endblock %} + + + +{% block sidebar %}{% if sidebar %}{% include sidebar %}{% endif %}{% endblock %} diff --git a/wger/core/templates/language/overview.html b/wger/core/templates/language/overview.html index 8ba52b0d2..82c9ca5b0 100644 --- a/wger/core/templates/language/overview.html +++ b/wger/core/templates/language/overview.html @@ -31,7 +31,6 @@ {# Options #} {# #} {% block options %} -
- {% translate "Add" %} - + {% translate 'Add' as text %} + {% modal_link url="core:language:add" text=text %} {% endblock %} diff --git a/wger/core/templates/language/view.html b/wger/core/templates/language/view.html index 1c3a6af60..06b3aa7b8 100644 --- a/wger/core/templates/language/view.html +++ b/wger/core/templates/language/view.html @@ -61,17 +61,15 @@ {% translate "Options" %}
diff --git a/wger/core/templates/license/list.html b/wger/core/templates/license/list.html index 1cc0c8847..a7438821a 100644 --- a/wger/core/templates/license/list.html +++ b/wger/core/templates/license/list.html @@ -9,14 +9,18 @@ {% for license in license_list %}
  • -
    {{ license }} @@ -36,8 +40,7 @@ {# #} {% block options %} {% if perms.core.add_license %} - - {% translate "Add" %} - + {% translate 'Add' as text %} + {% modal_link url='core:license:add' text=text %} {% endif %} {% endblock %} diff --git a/wger/core/templates/misc/license/list.html b/wger/core/templates/misc/license/list.html deleted file mode 100644 index 0840c99ee..000000000 --- a/wger/core/templates/misc/license/list.html +++ /dev/null @@ -1,50 +0,0 @@ -% extends "base.html" %} -{% load i18n static wger_extras %} - -{% block title %}{% translate "License list" %}{% endblock %} - - -{% block content %} - -{% endblock %} - - - - -{% block sidebar %} - {% if perms.core.add_license %} -

    - - {% translate "Add" %} - -

    - -

    {% blocktranslate %}If a license has been localized, e.g. the Creative Commons - licenses for the different countries, add them as separate entries here.{% endblocktranslate %}

    - {% endif %} -{% endblock %} diff --git a/wger/core/templates/navigation.html b/wger/core/templates/navigation.html index 14eefac3a..a8a9eaa6e 100644 --- a/wger/core/templates/navigation.html +++ b/wger/core/templates/navigation.html @@ -175,7 +175,8 @@
  • - + {% translate "Ingredient overview" %}
  • @@ -183,7 +184,8 @@
  • - + {% translate "Ingredient weight units" %}
  • @@ -211,11 +213,8 @@
  • - - {% translate "Add weight entry" %} - + {% translate 'Add weight entry' as text %} + {% modal_link url='weight:add' text=text css_class='dropdown-item' %}
  • diff --git a/wger/core/templates/repetition_unit/list.html b/wger/core/templates/repetition_unit/list.html index 484ceb1df..a4f32e1c7 100644 --- a/wger/core/templates/repetition_unit/list.html +++ b/wger/core/templates/repetition_unit/list.html @@ -10,14 +10,18 @@
  • {% if unit.id != 1 and unit.id != 2 %}
    -
    {% endif %} @@ -39,8 +43,7 @@ {# #} {% block options %} {% if perms.core.add_license %} - - {% translate "Add" %} - + {% translate 'Add' as text %} + {% modal_link url='core:repetition-unit:add' text=text %} {% endif %} {% endblock %} diff --git a/wger/core/templates/tags/modal_link.html b/wger/core/templates/tags/modal_link.html new file mode 100644 index 000000000..529dd6e44 --- /dev/null +++ b/wger/core/templates/tags/modal_link.html @@ -0,0 +1,12 @@ +{% load static i18n %} + + + {{ text }} + diff --git a/wger/core/templates/tags/render_weight_log.html b/wger/core/templates/tags/render_weight_log.html deleted file mode 100644 index 19595651e..000000000 --- a/wger/core/templates/tags/render_weight_log.html +++ /dev/null @@ -1,41 +0,0 @@ -{% load i18n static wger_extras %} -
    - -
    - - - {% for date, entry_list in log.items %} - - {% endfor %} - -
    - - - - - - - - - - - - - {% for entry in entry_list %} - - - - - - {% endfor %} - -
    {{date|date:"d.m.Y"}}
    {% translate "Reps" %} - {% trans_weight_unit 'kg' user %} -
    {{entry.reps}}× - {{entry.weight}} - {% if entry.rir %} - {{ entry.rir }} {% translate "RiR" %} - {% endif %} -
    -
    -
    diff --git a/wger/core/templates/template.html b/wger/core/templates/template.html index 1921b37f6..4b370adb9 100644 --- a/wger/core/templates/template.html +++ b/wger/core/templates/template.html @@ -67,11 +67,11 @@ {% compress js %} - + - + @@ -88,12 +88,6 @@ if (typeof wgerCustomPageInit !== "undefined") { wgerCustomPageInit(); } - - // Init the modal dialog for editing forms - wgerFormModalDialog(); - - // Initialise the hook to reload the main-content - wgerLoadMaincontent(); }); @@ -116,7 +110,6 @@ {% endif %} diff --git a/wger/core/templates/user/preferences.html b/wger/core/templates/user/preferences.html index 826302c19..fea172542 100644 --- a/wger/core/templates/user/preferences.html +++ b/wger/core/templates/user/preferences.html @@ -27,7 +27,9 @@

    {% endif %}

    - {% translate "You need to verify your email to contribute exercises" %} + + {% translate "You need to verify your email to contribute exercises" %} +

    {% endblock %} @@ -39,8 +41,11 @@ {% block options %}
    - @@ -54,10 +59,8 @@ {% translate "API key" %} - - - {% translate "Delete account" %} - + {% translate 'Delete account' as text %} + {% modal_link url='core:user:delete' text=text css_class='dropdown-item' %}
    diff --git a/wger/core/templates/weight_unit/list.html b/wger/core/templates/weight_unit/list.html index 55347a618..a1486ee6b 100644 --- a/wger/core/templates/weight_unit/list.html +++ b/wger/core/templates/weight_unit/list.html @@ -10,14 +10,18 @@
  • {% if unit.id != 1 and unit.id != 2 %}
    -
    {% endif %} @@ -39,8 +43,7 @@ {# #} {% block options %} {% if perms.core.add_license %} - - {% translate "Add" %} - + {% translate 'Add' as text %} + {% modal_link url='core:weight-unit:add' text=text %} {% endif %} {% endblock %} diff --git a/wger/core/templatetags/wger_extras.py b/wger/core/templatetags/wger_extras.py index be61cb23e..6ff7d88ff 100644 --- a/wger/core/templatetags/wger_extras.py +++ b/wger/core/templatetags/wger_extras.py @@ -26,6 +26,7 @@ from django.utils.translation import ( pgettext, ) +from wger.core.tests.base_testcase import get_reverse # wger from wger.utils.constants import ( PAGINATION_MAX_TOTAL_PAGES, @@ -33,7 +34,6 @@ from wger.utils.constants import ( ) from wger.utils.language import get_language_data - register = template.Library() @@ -79,19 +79,6 @@ def pagination(paginator, page): return {'page': page, 'page_range': page_range} -@register.inclusion_tag('tags/render_weight_log.html') -def render_weight_log(log, div_uuid, user=None): - """ - Renders a weight log series - """ - - return { - 'log': log, - 'div_uuid': div_uuid, - 'user': user, - } - - @register.inclusion_tag('tags/muscles.html') def render_muscles(muscles=None, muscles_sec=None): """ @@ -177,6 +164,11 @@ def fa_class(class_name='', icon_type='fas', fixed_width=True): return mark_safe(css) +@register.inclusion_tag('tags/modal_link.html') +def modal_link(url: str, text: str, css_class='btn btn-success btn-sm'): + return {'url': get_reverse(url), 'text': text, 'css_class': css_class} + + @register.simple_tag def trans_weight_unit(unit, user=None): """ diff --git a/wger/core/tests/test_user_rest_registration.py b/wger/core/tests/test_user_rest_registration.py index 691a75151..28353c54b 100644 --- a/wger/core/tests/test_user_rest_registration.py +++ b/wger/core/tests/test_user_rest_registration.py @@ -69,7 +69,6 @@ class CreateUserCommand(WgerTestCase): response = self.client.post( reverse('api_register'), {'username': 'restapi', 'email': 'abc@cde.fg', 'password': 'AekaiLe0ga'}, - Authorization=f'Token {token.key}', ) count_after = User.objects.count() self.assertEqual(response.status_code, HTTP_201_CREATED) @@ -91,7 +90,6 @@ class CreateUserCommand(WgerTestCase): response = self.client.post( reverse('api_register'), {'username': 'restapi', 'password': 'AekaiLe0ga'}, - Authorization=f'Token {token.key}', ) count_after = User.objects.count() self.assertEqual(response.status_code, HTTP_201_CREATED) @@ -102,21 +100,6 @@ class CreateUserCommand(WgerTestCase): self.assertEqual(response.data['token'], token.key) self.assertEqual(count_after, count_before + 1) - def test_post_not_allowed_api_user_creation(self): - """User admin isn't allowed to register users""" - - self.user_login('admin') - count_before = User.objects.count() - - response = self.client.post( - reverse('api_register'), - {'username': 'restapi', 'email': 'abc@cde.fg', 'password': 'AekaiLe0ga'}, - ) - count_after = User.objects.count() - - self.assertEqual(response.status_code, HTTP_403_FORBIDDEN) - self.assertEqual(count_after, count_before) - def test_post_unsuccessfully_registration_no_username(self): """Test unsuccessful registration (weak password)""" @@ -127,7 +110,6 @@ class CreateUserCommand(WgerTestCase): response = self.client.post( reverse('api_register'), {'password': 'AekaiLe0ga'}, - Authorization=f'Token {token.key}', ) self.assertEqual(response.status_code, HTTP_400_BAD_REQUEST) @@ -142,7 +124,6 @@ class CreateUserCommand(WgerTestCase): response = self.client.post( reverse('api_register'), {'username': 'restapi', 'email': 'example.com', 'password': 'AekaiLe0ga'}, - Authorization=f'Token {token.key}', ) self.assertEqual(response.status_code, HTTP_400_BAD_REQUEST) @@ -157,7 +138,6 @@ class CreateUserCommand(WgerTestCase): response = self.client.post( reverse('api_register'), {'username': 'restapi', 'email': 'admin@example.com', 'password': 'AekaiLe0ga'}, - Authorization=f'Token {token.key}', ) self.assertEqual(response.status_code, HTTP_400_BAD_REQUEST) diff --git a/wger/core/views/user.py b/wger/core/views/user.py index 119c2dfb6..a40040ff8 100644 --- a/wger/core/views/user.py +++ b/wger/core/views/user.py @@ -104,7 +104,6 @@ from wger.utils.generic_views import ( from wger.utils.language import load_language from wger.weight.models import WeightEntry - logger = logging.getLogger(__name__) @@ -297,7 +296,7 @@ def registration(request): template_data['form'] = form template_data['title'] = _('Register') - return render(request, 'form.html', template_data) + return render(request, 'form_content.html', template_data) @login_required @@ -549,8 +548,8 @@ class UserDetailView(LoginRequiredMixin, WgerMultiplePermissionRequiredMixin, De ) context['routine_data'] = out context['weight_entries'] = WeightEntry.objects.filter(user=self.object).order_by('-date')[ - :5 - ] + :5 + ] context['nutrition_plans'] = NutritionPlan.objects.filter(user=self.object).order_by( '-creation_date' )[:5] @@ -606,7 +605,7 @@ class UserListView(LoginRequiredMixin, PermissionRequiredMixin, ListView): class WgerPasswordChangeView(PasswordChangeView): - template_name = 'form.html' + template_name = 'form_content.html' success_url = reverse_lazy('core:user:preferences') title = gettext_lazy('Change password') @@ -627,7 +626,7 @@ class WgerPasswordChangeView(PasswordChangeView): class WgerPasswordResetView(PasswordResetView): - template_name = 'form.html' + template_name = 'form_content.html' email_template_name = 'registration/password_reset_email.html' success_url = reverse_lazy('core:user:password_reset_done') from_email = settings.WGER_SETTINGS['EMAIL_FROM'] @@ -641,7 +640,7 @@ class WgerPasswordResetView(PasswordResetView): class WgerPasswordResetConfirmView(PasswordResetConfirmView): - template_name = 'form.html' + template_name = 'form_content.html' success_url = reverse_lazy('core:user:login') def get_form(self, form_class=None): diff --git a/wger/exercises/api/views.py b/wger/exercises/api/views.py index ed10a40b5..a23e3f2fc 100644 --- a/wger/exercises/api/views.py +++ b/wger/exercises/api/views.py @@ -376,8 +376,10 @@ def search(request): thumbnail = None try: thumbnail = t.get_thumbnail(aliases.get('micro_cropped')).url - except InvalidImageFormatError: - pass + except InvalidImageFormatError as e: + logger.info(f'InvalidImageFormatError while processing a thumbnail: {e}') + except OSError as e: + logger.info(f'OSError while processing a thumbnail: {e}') result_json = { 'value': translation.name, diff --git a/wger/exercises/templates/categories/admin-overview.html b/wger/exercises/templates/categories/admin-overview.html index e253d8bee..df61c874d 100644 --- a/wger/exercises/templates/categories/admin-overview.html +++ b/wger/exercises/templates/categories/admin-overview.html @@ -9,14 +9,18 @@ {% for category in exercisecategory_list %}
  • -
    {{ category }} @@ -32,11 +36,8 @@ {% block options %} - {% if perms.exercises.add_exercisecategory %} -

    - - {% translate "Add" %} - -

    - {% endif %} +{% if perms.exercises.add_exercisecategory %} + {% translate 'Add' as text %} + {% modal_link url='exercise:category:add' text=text %} +{% endif %} {% endblock %} diff --git a/wger/exercises/templates/equipment/admin-overview.html b/wger/exercises/templates/equipment/admin-overview.html index b107b7fb4..8c61bd765 100644 --- a/wger/exercises/templates/equipment/admin-overview.html +++ b/wger/exercises/templates/equipment/admin-overview.html @@ -9,14 +9,18 @@ {% for equipment in equipment_list %}
  • -
    {{ equipment.name }} @@ -30,14 +34,9 @@ {% endblock %} - - -{% block sidebar %} +{% block options %} {% if perms.exercises.add_equipment %} -

    - - {% translate "Add new equipment" %} - -

    + {% translate 'Add' as text %} + {% modal_link url='exercise:equipment:add' text=text %} {% endif %} {% endblock %} diff --git a/wger/exercises/templates/muscles/admin-overview.html b/wger/exercises/templates/muscles/admin-overview.html index b84370747..5c34f51ee 100644 --- a/wger/exercises/templates/muscles/admin-overview.html +++ b/wger/exercises/templates/muscles/admin-overview.html @@ -13,10 +13,13 @@ {{ muscle }} @@ -34,8 +37,7 @@ {% block options %} {% if perms.exercises.add_equipment %} - - {% translate "Add muscle" %} - + {% translate 'Add' as text %} + {% modal_link url='exercise:muscle:add' text=text %} {% endif %} {% endblock %} diff --git a/wger/gym/templates/admin_notes/list.html b/wger/gym/templates/admin_notes/list.html index cd8f86b10..7b983e334 100644 --- a/wger/gym/templates/admin_notes/list.html +++ b/wger/gym/templates/admin_notes/list.html @@ -22,29 +22,27 @@ {% for note in adminusernote_list %}
  • - - +
    -

    {{ note.timestamp_created }} - {{ note.user|format_username }}

    +

    {{ note.timestamp_created }} + - {{ note.user|format_username }}

    {{ note.note }}

  • {% empty %} @@ -62,9 +60,9 @@ {# Options #} {# #} {% block options %} - {% if perms.gym.add_adminusernote %} - - {% translate "Add" %} - - {% endif %} +{% if perms.gym.add_adminusernote %} + {% translate 'Add' as text %} + {% url 'gym:admin_note:add' member.pk as url %} + {% modal_link url=url text=text %} +{% endif %} {% endblock %} diff --git a/wger/gym/templates/contract/list.html b/wger/gym/templates/contract/list.html index caeee2299..bcf466bb0 100644 --- a/wger/gym/templates/contract/list.html +++ b/wger/gym/templates/contract/list.html @@ -21,24 +21,21 @@ {% for contract in contract_list %}
  • - - + {% translate 'Show' as text %} + {% url 'gym:contract:view' contract.pk as url %} + {% modal_link url=url text=text css_class='dropdown-item' %} + {% endif %} +
    @@ -69,6 +66,7 @@ {# Options #} {# #} {% block options %} - {% translate "Add" %} + {% translate 'Add' as text %} + {% url 'gym:contract:add' member.pk as url %} + {% modal_link url=url text=text %} {% endblock %} diff --git a/wger/gym/templates/contract/view.html b/wger/gym/templates/contract/view.html index c9ea6aaab..e197a93b3 100644 --- a/wger/gym/templates/contract/view.html +++ b/wger/gym/templates/contract/view.html @@ -102,7 +102,8 @@ -{% block sidebar %} -

    {% translate 'Options' %}

    - {% translate 'Edit' %} +{% block options %} + {% translate 'Edit' as text %} + {% url 'gym:contract:edit' object.pk as url %} + {% modal_link url=url text=text %} {% endblock %} diff --git a/wger/gym/templates/contract_option/list.html b/wger/gym/templates/contract_option/list.html index e916fc5cc..ac3c4df93 100644 --- a/wger/gym/templates/contract_option/list.html +++ b/wger/gym/templates/contract_option/list.html @@ -24,26 +24,20 @@ - + @@ -68,7 +62,7 @@ {# Options #} {# #} {% block options %} - - {% translate "Add" %} - + {% translate 'Add' as text %} + {% url 'gym:contract-option:add' gym.id as url %} + {% modal_link url=url text=text %} {% endblock %} diff --git a/wger/gym/templates/contract_type/list.html b/wger/gym/templates/contract_type/list.html index c23481e57..6b059a38b 100644 --- a/wger/gym/templates/contract_type/list.html +++ b/wger/gym/templates/contract_type/list.html @@ -21,29 +21,23 @@ {% for contract_type in contracttype_list %}
  • - - +
    @@ -51,7 +45,8 @@ {{ contract_type.name }} -

    {{ contract_type.description }}

    +

    {{ contract_type.description }}

  • {% empty %}
  • @@ -68,7 +63,7 @@ {# Options #} {# #} {% block options %} - - {% translate "Add" %} - + {% translate 'Add' as text %} + {% url 'gym:contract_type:add' gym.id as url %} + {% modal_link url=url text=text %} {% endblock %} diff --git a/wger/gym/templates/document/list.html b/wger/gym/templates/document/list.html index 6a8ee80a3..0b13422c9 100644 --- a/wger/gym/templates/document/list.html +++ b/wger/gym/templates/document/list.html @@ -22,32 +22,32 @@ {% for document in userdocument_list %}
  • -
    @@ -75,8 +75,8 @@ {# #} {% block options %} {% if perms.gym.add_userdocument %} - - {% translate "Add" %} - + {% translate 'Add' as text %} + {% url 'gym:document:add' member.pk as url %} + {% modal_link url=url text=text %} {% endif %} {% endblock %} diff --git a/wger/gym/templates/gym/list.html b/wger/gym/templates/gym/list.html index 36fad3c14..0dae93ff8 100644 --- a/wger/gym/templates/gym/list.html +++ b/wger/gym/templates/gym/list.html @@ -16,10 +16,13 @@ {{ gym }} @@ -42,8 +45,8 @@ {% translate "Actions" %} {% endif %} @@ -62,9 +65,8 @@ {# Options #} {# #} {% block options %} - {% if perms.gym.add_gym %} - - {% translate "Add new gym" %} - - {% endif %} +{% if perms.gym.add_gym %} + {% translate 'Add new gym' as text %} + {% modal_link url='gym:gym:add' text=text %} +{% endif %} {% endblock %} diff --git a/wger/gym/templates/gym/member_list.html b/wger/gym/templates/gym/member_list.html index f1472df5f..948be3660 100644 --- a/wger/gym/templates/gym/member_list.html +++ b/wger/gym/templates/gym/member_list.html @@ -58,7 +58,14 @@ {% if perms.gym.manage_gym or perms.gym.manage_gyms %} - + @@ -84,8 +91,13 @@ {% translate "Actions" %} {% endif %} @@ -137,7 +149,9 @@ {% translate "Actions" %} {% endif %} @@ -173,7 +187,9 @@ {% translate "Actions" %} @@ -208,7 +224,10 @@ @@ -241,7 +260,10 @@ @@ -311,8 +333,8 @@ {# #} {% block options %} {% if perms.gym.manage_gym or perms.gym.manage_gyms %} - - {% translate "Add member" %} - + {% translate 'Add member' as text %} + {% url 'gym:gym:add-user' gym.pk as url %} + {% modal_link url=url text=text %} {% endif %} {% endblock %} diff --git a/wger/gym/templates/gym/partial_user_list.html b/wger/gym/templates/gym/partial_user_list.html index 9c848d551..78549f43c 100644 --- a/wger/gym/templates/gym/partial_user_list.html +++ b/wger/gym/templates/gym/partial_user_list.html @@ -1,11 +1,10 @@ {% load i18n static %} - - - + + + +

    addasd

    diff --git a/wger/locale/ar_SA/LC_MESSAGES/django.po b/wger/locale/ar_SA/LC_MESSAGES/django.po index 885cf7668..b75328b9f 100644 --- a/wger/locale/ar_SA/LC_MESSAGES/django.po +++ b/wger/locale/ar_SA/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: wger Workout Manager\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-14 15:59+0200\n" +"POT-Creation-Date: 2024-11-14 19:23+0100\n" "PO-Revision-Date: 2023-06-24 20:53+0000\n" "Last-Translator: SlyBat \n" "Language-Team: Arabic (Saudi Arabia) =11 ? 4 : 5;\n" "X-Generator: Weblate 4.18.1\n" -#: config/models/gym_config.py:46 gym/templates/gym/list.html:53 +#: config/models/gym_config.py:46 gym/templates/gym/list.html:56 msgid "Default gym" msgstr "الجيم الافتراضي" @@ -34,28 +34,28 @@ msgstr "" "المستخدمين المسجلين الجدد في هذه الصالة الرياضية وتحديث جميع المستخدمين " "الحاليين بدون صالة رياضية." -#: config/views/gym_config.py:42 core/templates/language/view.html:67 -#: core/templates/license/list.html:17 core/templates/misc/license/list.html:18 +#: config/views/gym_config.py:42 core/templates/language/view.html:64 +#: core/templates/license/list.html:17 #: core/templates/repetition_unit/list.html:18 -#: core/templates/tags/render_day.html:39 -#: core/templates/tags/render_day.html:75 core/templates/user/overview.html:204 -#: core/templates/user/overview.html:445 +#: core/templates/user/overview.html:204 core/templates/user/overview.html:467 #: core/templates/weight_unit/list.html:18 #: exercises/templates/categories/admin-overview.html:17 #: exercises/templates/equipment/admin-overview.html:17 -#: exercises/templates/muscles/admin-overview.html:17 -#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:32 -#: gym/templates/contract/list.html:31 gym/templates/contract/view.html:107 -#: gym/templates/contract_option/list.html:32 -#: gym/templates/contract_type/list.html:32 gym/templates/document/list.html:38 -#: gym/templates/gym/list.html:20 gym/templates/gym/list.html:46 -#: gym/templates/gym/member_list.html:87 gym/templates/gym/member_list.html:140 -#: gym/templates/gym/member_list.html:176 -#: manager/templates/calendar/day.html:68 -#: manager/templates/calendar/month.html:85 -#: manager/templates/calendar/partial_overview_table.html:18 -#: manager/templates/schedule/view.html:118 -#: nutrition/templates/ingredient/view.html:165 +#: exercises/templates/muscles/admin-overview.html:16 +#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:31 +#: gym/templates/contract/list.html:30 gym/templates/contract/view.html:106 +#: gym/templates/contract_option/list.html:29 +#: gym/templates/contract_type/list.html:30 gym/templates/document/list.html:38 +#: gym/templates/gym/list.html:19 gym/templates/gym/list.html:48 +#: gym/templates/gym/member_list.html:94 gym/templates/gym/member_list.html:152 +#: gym/templates/gym/member_list.html:190 +#: manager/templates/calendar/day.html:67 +#: manager/templates/calendar/month.html:84 +#: manager/templates/calendar/partial_overview_table.html:16 +#: manager/templates/schedule/view.html:271 +#: manager/templates/workout/view.html:181 +#: nutrition/templates/ingredient/view.html:164 +#: nutrition/templates/ingredient/view.html:209 #: nutrition/templates/units/list.html:19 msgid "Edit" msgstr "تعديل" @@ -91,25 +91,25 @@ msgstr "جدول تماريني الرائع" msgid "Empty placeholder schedule" msgstr "حامل جدول فارغ" -#: core/forms.py:69 core/templates/navigation.html:285 -#: core/templates/navigation.html:291 core/templates/user/login.html:4 +#: core/forms.py:69 core/templates/navigation.html:284 +#: core/templates/navigation.html:290 core/templates/user/login.html:4 #: software/templates/features.html:82 software/templates/features.html:427 msgid "Login" msgstr "تسجيل الدخول" -#: core/forms.py:108 core/forms.py:214 gym/views/export.py:61 +#: core/forms.py:108 core/forms.py:216 gym/views/export.py:61 #: gym/views/gym.py:217 msgid "First name" msgstr "الاسم الاول" -#: core/forms.py:109 core/forms.py:215 core/templates/user/overview.html:266 +#: core/forms.py:109 core/forms.py:217 core/templates/user/overview.html:284 #: gym/views/export.py:62 gym/views/gym.py:217 msgid "Last name" msgstr "الاسم الاخير" -#: core/forms.py:111 core/forms.py:180 core/templates/user/overview.html:270 +#: core/forms.py:111 core/forms.py:182 core/templates/user/overview.html:288 #: gym/models/contract.py:256 gym/models/gym.py:58 -#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:104 +#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:116 #: gym/templates/gym/new_user.html:30 gym/views/export.py:60 #: mailer/templates/mailer/gym/form.html:4 #: mailer/templates/mailer/gym/overview.html:4 @@ -126,94 +126,93 @@ msgstr "يستخدم لأعادة تعيين كلمة السر, واختياري msgid "Date of Birth" msgstr "تاريخ الميلاد" -#: core/forms.py:148 +#: core/forms.py:149 msgid "Personal data" msgstr "المعلومات الشخصية" -#: core/forms.py:159 +#: core/forms.py:161 msgid "Workout reminders" msgstr "تنبيهات و اشعارات التدريب" -#: core/forms.py:166 +#: core/forms.py:168 msgid "Other settings" msgstr "أعدادات اخرى" -#: core/forms.py:174 core/views/user.py:624 core/views/user.py:639 -#: core/views/user.py:651 gym/forms.py:73 manager/templates/log/add.html:65 +#: core/forms.py:176 core/views/user.py:623 core/views/user.py:638 +#: core/views/user.py:650 gym/forms.py:73 manager/templates/log/add.html:65 #: manager/templates/set/add.html:70 manager/views/workout.py:203 #: utils/generic_views.py:143 msgid "Save" msgstr "الحفظ" -#: core/forms.py:181 +#: core/forms.py:183 msgid "Used for password resets and, optionally, email reminders." msgstr "يستخدم للأعادة تعيين كلمة المرور, وتنبيهات البريد." -#: core/forms.py:210 +#: core/forms.py:212 msgid "This e-mail address is already in use." msgstr "البريد الذي ادخلته مستخدم مسبقاً." -#: core/forms.py:231 gym/templates/gym/new_user.html:26 +#: core/forms.py:233 gym/templates/gym/new_user.html:26 #: gym/templates/gym/reset_user_password.html:24 gym/views/gym.py:217 msgid "Password" msgstr "كلمة السر" -#: core/forms.py:233 +#: core/forms.py:235 msgid "Please enter your current password." msgstr "الرجاء ادخال كلمة المرور الحالية." -#: core/forms.py:242 core/templates/language/view.html:73 -#: core/templates/license/list.html:19 core/templates/misc/license/list.html:22 -#: core/templates/repetition_unit/list.html:20 -#: core/templates/tags/render_day.html:45 -#: core/templates/tags/render_day.html:81 core/templates/user/overview.html:217 -#: core/templates/weight_unit/list.html:20 -#: exercises/templates/categories/admin-overview.html:19 -#: exercises/templates/equipment/admin-overview.html:19 -#: exercises/templates/muscles/admin-overview.html:19 -#: gym/templates/admin_notes/list.html:40 -#: gym/templates/contract_option/list.html:41 -#: gym/templates/contract_type/list.html:41 gym/templates/document/list.html:46 -#: gym/templates/gym/list.html:22 manager/templates/calendar/day.html:73 -#: manager/templates/calendar/month.html:89 -#: manager/templates/calendar/partial_overview_table.html:23 -#: manager/templates/schedule/view.html:122 -#: manager/templates/workout/view.html:188 -#: nutrition/templates/ingredient/view.html:166 +#: core/forms.py:244 core/templates/language/view.html:70 +#: core/templates/license/list.html:21 +#: core/templates/repetition_unit/list.html:22 +#: core/templates/user/overview.html:233 +#: core/templates/weight_unit/list.html:22 +#: exercises/templates/categories/admin-overview.html:21 +#: exercises/templates/equipment/admin-overview.html:21 +#: exercises/templates/muscles/admin-overview.html:20 +#: gym/templates/admin_notes/list.html:37 +#: gym/templates/contract_option/list.html:35 +#: gym/templates/contract_type/list.html:36 gym/templates/document/list.html:46 +#: gym/templates/gym/list.html:23 manager/templates/calendar/day.html:73 +#: manager/templates/calendar/month.html:88 +#: manager/templates/calendar/partial_overview_table.html:22 +#: manager/templates/schedule/view.html:277 +#: manager/templates/workout/view.html:202 +#: nutrition/templates/ingredient/view.html:168 #: nutrition/templates/ingredient/view.html:215 -#: nutrition/templates/units/list.html:22 +#: nutrition/templates/units/list.html:25 msgid "Delete" msgstr "حذف" -#: core/forms.py:251 +#: core/forms.py:253 msgid "Invalid password" msgstr "الرمز غير صحيح" -#: core/forms.py:263 core/forms.py:338 +#: core/forms.py:265 core/forms.py:340 msgid "The form is secured with reCAPTCHA" msgstr "" -#: core/forms.py:279 core/forms.py:301 core/templates/navigation.html:285 -#: core/templates/navigation.html:297 core/templates/template.html:149 -#: core/templates/user/login.html:20 core/views/user.py:298 +#: core/forms.py:281 core/forms.py:303 core/templates/navigation.html:284 +#: core/templates/navigation.html:296 core/templates/template.html:150 +#: core/templates/user/login.html:20 core/views/user.py:297 #: software/templates/features.html:87 software/templates/features.html:422 msgid "Register" msgstr "التسجيل" -#: core/forms.py:315 software/templates/features.html:45 +#: core/forms.py:317 software/templates/features.html:45 msgid "Contact" msgstr "الوصول الى الدعم" -#: core/forms.py:316 +#: core/forms.py:318 msgid "Some way of answering you (e-mail, etc.)" msgstr "طريقة للأجابة على مشكلتك (بريدك الألكتروني أو وسيلة اخرى)" -#: core/forms.py:324 exercises/models/comment.py:58 manager/models/set.py:61 +#: core/forms.py:326 exercises/models/comment.py:58 manager/models/set.py:61 #: manager/models/setting.py:114 nutrition/models/log.py:77 msgid "Comment" msgstr "ملاحظة" -#: core/forms.py:325 +#: core/forms.py:327 msgid "What do you want to say?" msgstr "ما الذي تريد قوله؟" @@ -430,18 +429,18 @@ msgid "The sum of all hours has to be 24" msgstr "" #: core/models/rep_unit.py:36 core/models/weight_unit.py:36 -#: core/templates/user/overview.html:262 core/views/user.py:599 +#: core/templates/user/overview.html:280 core/views/user.py:598 #: exercises/models/category.py:29 exercises/models/equipment.py:29 #: exercises/models/exercise.py:59 exercises/models/muscle.py:36 #: gym/models/contract.py:52 gym/models/contract.py:103 gym/models/gym.py:46 #: gym/models/user_document.py:84 gym/templates/contract/view.html:50 -#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:96 +#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:108 #: gym/views/gym.py:158 manager/models/schedule.py:55 #: manager/models/workout.py:57 measurements/models/category.py:36 #: nutrition/models/ingredient.py:111 -#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:67 +#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:65 #: nutrition/models/weight_unit.py:38 -#: nutrition/templates/ingredient/view.html:152 +#: nutrition/templates/ingredient/view.html:151 msgid "Name" msgstr "" @@ -486,7 +485,7 @@ msgstr "" msgid "Back to \"%(target)s\"" msgstr "" -#: core/templates/delete.html:15 +#: core/templates/delete.html:4 msgid "Are you sure you want to delete this? This action cannot be undone." msgstr "" @@ -540,7 +539,7 @@ msgstr "" msgid "Dashboard" msgstr "" -#: core/templates/language/overview.html:4 core/templates/navigation.html:345 +#: core/templates/language/overview.html:4 core/templates/navigation.html:344 msgid "Languages" msgstr "اللغات" @@ -550,80 +549,73 @@ msgstr "لم يتم العثور على شيء." #: core/templates/language/overview.html:22 #: manager/templates/calendar/month.html:132 -#: manager/templates/schedule/overview.html:28 -#: manager/templates/schedule/view.html:144 +#: manager/templates/schedule/view.html:107 #: manager/templates/workout/overview.html:28 #: nutrition/templates/ingredient/overview.html:38 #, fuzzy msgid "Add one now." msgstr "أضف واحدة الآن." -#: core/templates/language/overview.html:35 core/templates/license/list.html:40 -#: core/templates/misc/license/list.html:43 -#: core/templates/repetition_unit/list.html:43 -#: core/templates/user/overview.html:326 core/templates/user/overview.html:365 -#: core/templates/user/overview.html:401 -#: core/templates/weight_unit/list.html:43 core/views/languages.py:74 +#: core/templates/language/overview.html:34 core/templates/license/list.html:43 +#: core/templates/repetition_unit/list.html:46 +#: core/templates/user/overview.html:344 core/templates/user/overview.html:384 +#: core/templates/user/overview.html:422 +#: core/templates/weight_unit/list.html:46 core/views/languages.py:74 #: core/views/license.py:66 core/views/repetition_units.py:66 #: core/views/weight_units.py:66 -#: exercises/templates/categories/admin-overview.html:38 -#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:67 -#: gym/templates/contract/list.html:73 -#: gym/templates/contract_option/list.html:72 -#: gym/templates/contract_type/list.html:72 gym/templates/document/list.html:79 -#: gym/templates/gym/member_list.html:211 -#: gym/templates/gym/member_list.html:244 -#: gym/templates/gym/member_list.html:281 +#: exercises/templates/categories/admin-overview.html:40 +#: exercises/templates/equipment/admin-overview.html:39 +#: exercises/templates/muscles/admin-overview.html:40 +#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:64 +#: gym/templates/contract/list.html:69 +#: gym/templates/contract_option/list.html:65 +#: gym/templates/contract_type/list.html:66 gym/templates/document/list.html:78 +#: gym/templates/gym/member_list.html:228 +#: gym/templates/gym/member_list.html:264 +#: gym/templates/gym/member_list.html:303 #: mailer/templates/mailer/gym/overview.html:43 +#: nutrition/templates/ingredient/overview.html:60 msgid "Add" msgstr "اضف" #: core/templates/language/view.html:61 core/templates/user/api_key.html:44 -#: core/templates/user/preferences.html:45 gym/models/contract.py:203 -#: gym/templates/contract/view.html:41 gym/templates/contract/view.html:106 -#: gym/templates/gym/member_list.html:248 -#: manager/templates/schedule/view.html:285 -#: manager/templates/workout/view.html:163 -#: nutrition/templates/ingredient/view.html:202 +#: core/templates/user/preferences.html:50 gym/models/contract.py:203 +#: gym/templates/contract/view.html:41 gym/templates/gym/member_list.html:270 +#: manager/templates/schedule/view.html:257 +#: manager/templates/workout/view.html:177 +#: nutrition/templates/ingredient/view.html:206 msgid "Options" msgstr "الخيارات" -#: core/templates/license/list.html:4 core/templates/misc/license/list.html:4 +#: core/templates/license/list.html:4 msgid "License list" msgstr "" -#: core/templates/license/list.html:26 core/templates/misc/license/list.html:30 -#: core/templates/repetition_unit/list.html:28 +#: core/templates/license/list.html:30 +#: core/templates/repetition_unit/list.html:32 #: core/templates/user/overview.html:104 core/templates/user/overview.html:136 -#: core/templates/user/overview.html:185 core/templates/user/overview.html:347 -#: core/templates/user/overview.html:383 core/templates/user/overview.html:427 -#: core/templates/weight_unit/list.html:28 -#: exercises/templates/categories/admin-overview.html:26 -#: exercises/templates/equipment/admin-overview.html:26 -#: exercises/templates/muscles/admin-overview.html:26 -#: gym/templates/admin_notes/list.html:52 gym/templates/contract/list.html:60 -#: gym/templates/contract_option/list.html:58 -#: gym/templates/contract_type/list.html:58 gym/templates/document/list.html:64 -#: gym/templates/gym/list.html:29 gym/templates/gym/member_list.html:229 -#: gym/templates/gym/member_list.html:262 -#: gym/templates/gym/member_list.html:299 +#: core/templates/user/overview.html:185 core/templates/user/overview.html:365 +#: core/templates/user/overview.html:404 core/templates/user/overview.html:448 +#: core/templates/weight_unit/list.html:32 +#: exercises/templates/categories/admin-overview.html:30 +#: exercises/templates/equipment/admin-overview.html:30 +#: exercises/templates/muscles/admin-overview.html:29 +#: gym/templates/admin_notes/list.html:50 gym/templates/contract/list.html:57 +#: gym/templates/contract_option/list.html:52 +#: gym/templates/contract_type/list.html:53 gym/templates/document/list.html:64 +#: gym/templates/gym/list.html:32 gym/templates/gym/member_list.html:248 +#: gym/templates/gym/member_list.html:284 +#: gym/templates/gym/member_list.html:321 #: mailer/templates/mailer/gym/overview.html:30 -#: manager/templates/calendar/day.html:87 -#: nutrition/templates/units/list.html:29 +#: manager/templates/calendar/day.html:88 +#: nutrition/templates/units/list.html:34 msgid "Nothing found" msgstr "" -#: core/templates/misc/about.html:4 core/templates/template.html:175 +#: core/templates/misc/about.html:4 core/templates/template.html:187 msgid "Imprint" msgstr "" -#: core/templates/misc/license/list.html:47 -msgid "" -"If a license has been localized, e.g. the Creative Commons\n" -" licenses for the different countries, add them as separate " -"entries here." -msgstr "" - #: core/templates/navigation.html:28 software/templates/features.html:437 msgid "Training" msgstr "" @@ -668,8 +660,8 @@ msgstr "" msgid "Exercises" msgstr "تمارين" -#: core/templates/navigation.html:111 core/templates/navigation.html:184 -#: core/templates/navigation.html:340 +#: core/templates/navigation.html:111 core/templates/navigation.html:185 +#: core/templates/navigation.html:339 msgid "Administration" msgstr "" @@ -700,7 +692,7 @@ msgstr "" msgid "Nutrition plans" msgstr "" -#: core/templates/navigation.html:165 nutrition/templates/bmi/form.html:50 +#: core/templates/navigation.html:165 msgid "BMI calculator" msgstr "" @@ -708,87 +700,87 @@ msgstr "" msgid "Daily calories calculator" msgstr "" -#: core/templates/navigation.html:179 +#: core/templates/navigation.html:180 #: nutrition/templates/ingredient/overview.html:10 msgid "Ingredient overview" msgstr "" -#: core/templates/navigation.html:187 nutrition/templates/units/list.html:6 +#: core/templates/navigation.html:189 nutrition/templates/units/list.html:6 msgid "Ingredient weight units" msgstr "" -#: core/templates/navigation.html:203 software/templates/features.html:442 +#: core/templates/navigation.html:205 software/templates/features.html:442 msgid "Body weight" msgstr "" -#: core/templates/navigation.html:210 core/templates/user/overview.html:114 +#: core/templates/navigation.html:212 core/templates/user/overview.html:114 msgid "Weight overview" msgstr "" -#: core/templates/navigation.html:217 weight/views.py:65 +#: core/templates/navigation.html:216 weight/views.py:65 msgid "Add weight entry" msgstr "" -#: core/templates/navigation.html:231 +#: core/templates/navigation.html:230 msgid "About this software" msgstr "" -#: core/templates/navigation.html:237 software/templates/about_us.html:5 +#: core/templates/navigation.html:236 software/templates/about_us.html:5 msgid "About us" msgstr "" -#: core/templates/navigation.html:243 software/templates/features.html:507 +#: core/templates/navigation.html:242 software/templates/features.html:507 msgid "REST API" msgstr "" -#: core/templates/navigation.html:249 utils/models.py:45 +#: core/templates/navigation.html:248 utils/models.py:45 msgid "License" msgstr "" -#: core/templates/navigation.html:255 +#: core/templates/navigation.html:254 msgid "Developer documentation" msgstr "" -#: core/templates/navigation.html:262 +#: core/templates/navigation.html:261 msgid "Get the code" msgstr "" -#: core/templates/navigation.html:269 core/templates/template.html:214 +#: core/templates/navigation.html:268 core/templates/template.html:226 #: software/templates/features.html:582 msgid "Translate" msgstr "" -#: core/templates/navigation.html:303 core/templates/user/login.html:28 +#: core/templates/navigation.html:302 core/templates/user/login.html:28 msgid "Reset password" msgstr "" -#: core/templates/navigation.html:321 +#: core/templates/navigation.html:320 msgid "My preferences" msgstr "" -#: core/templates/navigation.html:330 +#: core/templates/navigation.html:329 msgid "Logout" msgstr "" -#: core/templates/navigation.html:353 +#: core/templates/navigation.html:352 msgid "Licenses" msgstr "" -#: core/templates/navigation.html:361 +#: core/templates/navigation.html:360 #: core/templates/repetition_unit/list.html:4 msgid "Repetition units" msgstr "" -#: core/templates/navigation.html:369 core/templates/weight_unit/list.html:4 +#: core/templates/navigation.html:368 core/templates/weight_unit/list.html:4 #: nutrition/templates/ingredient/view.html:141 msgid "Weight units" msgstr "" -#: core/templates/navigation.html:377 core/templates/user/list.html:4 +#: core/templates/navigation.html:376 core/templates/user/list.html:4 msgid "User list" msgstr "" -#: core/templates/navigation.html:383 +#: core/templates/navigation.html:382 msgid "Gyms" msgstr "" @@ -847,55 +839,28 @@ msgstr "" msgid "next" msgstr "" -#: core/templates/tags/render_day.html:34 -msgid "Add weight log" +#: core/templates/tags/render_day.html:44 +msgid "Placeholder image for translation" msgstr "" -#: core/templates/tags/render_day.html:116 -msgid "Placeholder image for exercise" -msgstr "" - -#: core/templates/tags/render_day.html:133 -msgid "This exercise has no repetitions." -msgstr "" - -#: core/templates/tags/render_day.html:136 -msgid "Edit them now." -msgstr "" - -#: core/templates/tags/render_day.html:162 -msgid "Add exercises to this workout day" -msgstr "" - -#: core/templates/tags/render_weight_log.html:17 manager/helpers.py:86 -#: manager/models/setting.py:72 manager/templates/set/formset.html:9 -msgid "Reps" -msgstr "" - -#: core/templates/tags/render_weight_log.html:30 manager/forms.py:191 -#: manager/models/log.py:103 manager/models/setting.py:102 -#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 -msgid "RiR" -msgstr "" - -#: core/templates/template.html:122 manager/templates/calendar/month.html:138 -#: manager/templates/schedule/view.html:248 -#: manager/templates/schedule/view.html:269 -#: manager/templates/workout/view.html:84 -#: manager/templates/workout/view.html:137 +#: core/templates/template.html:123 manager/templates/calendar/month.html:138 +#: manager/templates/schedule/view.html:215 +#: manager/templates/schedule/view.html:240 +#: manager/templates/workout/view.html:89 +#: manager/templates/workout/view.html:149 msgid "Close" msgstr "" -#: core/templates/template.html:138 +#: core/templates/template.html:139 msgid "" "You are using a guest account, data entered will be deleted after a week." msgstr "" -#: core/templates/template.html:143 +#: core/templates/template.html:144 msgid "Create some demo entries" msgstr "" -#: core/templates/template.html:180 software/templates/features.html:547 +#: core/templates/template.html:192 software/templates/features.html:547 #: software/templates/tos.html:7 msgid "Terms of service" msgstr "" @@ -904,7 +869,7 @@ msgstr "" msgid "Features" msgstr "" -#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:54 +#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:59 msgid "API key" msgstr "" @@ -943,17 +908,17 @@ msgstr "" msgid "Documentation" msgstr "" -#: core/templates/user/delete_account.html:4 -#: core/templates/user/preferences.html:59 +#: core/templates/user/delete_account.html:3 +#: core/templates/user/preferences.html:62 msgid "Delete account" msgstr "" -#: core/templates/user/delete_account.html:17 +#: core/templates/user/delete_account.html:9 #: exercises/templates/history/overview.html:93 msgid "Are you sure?" msgstr "" -#: core/templates/user/delete_account.html:22 +#: core/templates/user/delete_account.html:14 #, python-format msgid "" "This action will delete the user account \"%(username)s\".\n" @@ -972,22 +937,22 @@ msgstr "" #: core/templates/user/overview.html:25 core/templates/user/overview.html:68 #: core/templates/user/overview.html:112 core/templates/user/overview.html:144 -#: core/templates/user/overview.html:330 core/templates/user/overview.html:369 -#: core/templates/user/overview.html:405 +#: core/templates/user/overview.html:348 core/templates/user/overview.html:390 +#: core/templates/user/overview.html:426 #, python-format msgid "last %(number)s" msgstr "" #: core/templates/user/overview.html:27 core/templates/user/overview.html:146 -#: core/templates/user/overview.html:325 core/templates/user/overview.html:364 -#: core/templates/user/overview.html:400 gym/templates/gym/member_list.html:210 -#: gym/templates/gym/member_list.html:243 -#: gym/templates/gym/member_list.html:280 +#: core/templates/user/overview.html:343 core/templates/user/overview.html:382 +#: core/templates/user/overview.html:421 gym/templates/gym/member_list.html:226 +#: gym/templates/gym/member_list.html:262 +#: gym/templates/gym/member_list.html:302 msgid "Overview" msgstr "" #: core/templates/user/overview.html:28 -#: manager/templates/schedule/view.html:163 +#: manager/templates/schedule/view.html:125 #: manager/templates/workout/overview.html:39 manager/views/schedule_step.py:60 msgid "Add workout" msgstr "" @@ -1019,38 +984,36 @@ msgstr "" msgid "Number of logs (days)" msgstr "" -#: core/templates/user/overview.html:37 core/views/user.py:600 +#: core/templates/user/overview.html:37 core/views/user.py:599 #: gym/templates/gym/email_inactive_members.html:4 gym/views/gym.py:158 msgid "Last activity" msgstr "" #: core/templates/user/overview.html:58 #: manager/templates/calendar/month.html:128 -#: manager/templates/schedule/view.html:144 #: manager/templates/workout/overview.html:28 msgid "No workouts found." msgstr "" #: core/templates/user/overview.html:68 manager/forms.py:280 -#: manager/templates/workout/view.html:106 +#: manager/templates/workout/view.html:114 msgid "Log" msgstr "" #: core/templates/user/overview.html:77 manager/models/session.py:83 -#: manager/templates/calendar/partial_overview_table.html:52 +#: manager/templates/calendar/partial_overview_table.html:54 msgid "General impression" msgstr "" -#: core/templates/user/overview.html:78 core/templates/user/overview.html:369 +#: core/templates/user/overview.html:78 core/templates/user/overview.html:390 #: manager/models/session.py:73 -#: manager/templates/calendar/partial_overview_table.html:56 -#: manager/templates/workout/log.html:89 +#: manager/templates/calendar/partial_overview_table.html:58 msgid "Notes" msgstr "" #: core/templates/user/overview.html:79 #: exercises/templates/history/overview.html:30 -#: manager/templates/calendar/partial_overview_table.html:42 +#: manager/templates/calendar/partial_overview_table.html:44 msgid "Time" msgstr "" @@ -1088,122 +1051,122 @@ msgstr "" msgid "kcal" msgstr "" -#: core/templates/user/overview.html:201 core/templates/user/overview.html:322 -#: core/templates/user/overview.html:361 core/templates/user/overview.html:397 -#: core/templates/user/overview.html:442 gym/templates/gym/list.html:42 -#: gym/templates/gym/member_list.html:84 gym/templates/gym/member_list.html:137 -#: gym/templates/gym/member_list.html:173 -#: gym/templates/gym/member_list.html:207 -#: gym/templates/gym/member_list.html:240 -#: gym/templates/gym/member_list.html:277 -#: manager/templates/schedule/view.html:100 +#: core/templates/user/overview.html:201 core/templates/user/overview.html:340 +#: core/templates/user/overview.html:379 core/templates/user/overview.html:418 +#: core/templates/user/overview.html:463 gym/templates/gym/list.html:45 +#: gym/templates/gym/member_list.html:91 gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:187 +#: gym/templates/gym/member_list.html:223 +#: gym/templates/gym/member_list.html:259 +#: gym/templates/gym/member_list.html:299 +#: manager/templates/schedule/view.html:54 msgid "Actions" msgstr "" -#: core/templates/user/overview.html:207 +#: core/templates/user/overview.html:210 msgid "Deactivate user" msgstr "" -#: core/templates/user/overview.html:209 +#: core/templates/user/overview.html:214 msgid "Activate user" msgstr "" -#: core/templates/user/overview.html:211 +#: core/templates/user/overview.html:223 msgid "Reset user password" msgstr "" -#: core/templates/user/overview.html:214 gym/templates/gym/member_list.html:30 +#: core/templates/user/overview.html:227 gym/templates/gym/member_list.html:30 msgid "Roles" msgstr "" -#: core/templates/user/overview.html:225 +#: core/templates/user/overview.html:243 msgid "Password reset confirmation" msgstr "" -#: core/templates/user/overview.html:229 +#: core/templates/user/overview.html:247 msgid "Do you really want to change this user's password?" msgstr "" -#: core/templates/user/overview.html:232 +#: core/templates/user/overview.html:250 #: exercises/templates/history/overview.html:106 msgid "No" msgstr "" -#: core/templates/user/overview.html:233 +#: core/templates/user/overview.html:251 #: exercises/templates/history/overview.html:99 msgid "Yes" msgstr "" -#: core/templates/user/overview.html:254 gym/templates/gym/member_list.html:93 +#: core/templates/user/overview.html:272 gym/templates/gym/member_list.html:105 msgid "Details" msgstr "" -#: core/templates/user/overview.html:258 gym/views/export.py:57 -#: manager/helpers.py:86 manager/templates/schedule/view.html:98 +#: core/templates/user/overview.html:276 gym/views/export.py:57 +#: manager/helpers.py:86 manager/templates/schedule/view.html:52 msgid "Nr." msgstr "" -#: core/templates/user/overview.html:280 gym/models/contract.py:287 +#: core/templates/user/overview.html:298 gym/models/contract.py:287 #: gym/models/gym.py:50 gym/templates/contract/view.html:75 -#: gym/templates/gym/member_list.html:100 gym/views/export.py:68 +#: gym/templates/gym/member_list.html:112 gym/views/export.py:68 msgid "Phone" msgstr "" -#: core/templates/user/overview.html:284 gym/templates/contract/view.html:87 -#: gym/templates/gym/member_list.html:118 +#: core/templates/user/overview.html:302 gym/templates/contract/view.html:87 +#: gym/templates/gym/member_list.html:130 msgid "Address" msgstr "" -#: core/templates/user/overview.html:295 +#: core/templates/user/overview.html:313 msgid "Registered" msgstr "" -#: core/templates/user/overview.html:299 +#: core/templates/user/overview.html:317 msgid "Last login" msgstr "" -#: core/templates/user/overview.html:304 +#: core/templates/user/overview.html:322 msgid "Status" msgstr "" -#: core/templates/user/overview.html:307 +#: core/templates/user/overview.html:325 msgid "Active" msgstr "" -#: core/templates/user/overview.html:309 +#: core/templates/user/overview.html:327 msgid "Inactive" msgstr "" -#: core/templates/user/overview.html:330 gym/templates/contract/list.html:4 -#: gym/templates/gym/member_list.html:202 +#: core/templates/user/overview.html:348 gym/templates/contract/list.html:4 +#: gym/templates/gym/member_list.html:218 msgid "Contracts" msgstr "" -#: core/templates/user/overview.html:405 gym/templates/document/list.html:4 +#: core/templates/user/overview.html:426 gym/templates/document/list.html:4 msgid "Documents" msgstr "" -#: core/templates/user/overview.html:412 gym/templates/document/list.html:32 -#: manager/forms.py:292 manager/templates/workout/view.html:132 +#: core/templates/user/overview.html:433 gym/templates/document/list.html:33 +#: manager/forms.py:292 manager/templates/workout/view.html:143 msgid "Download" msgstr "" -#: core/templates/user/overview.html:450 gym/views/admin_config.py:44 +#: core/templates/user/overview.html:474 gym/views/admin_config.py:44 #: gym/views/admin_config.py:58 gym/views/user_config.py:46 #, fuzzy msgid "Configuration" msgstr "إعدادات" -#: core/templates/user/overview.html:453 gym/models/user_config.py:92 +#: core/templates/user/overview.html:477 gym/models/user_config.py:92 msgid "Include in inactive overview" msgstr "" -#: core/templates/user/overview.html:486 +#: core/templates/user/overview.html:510 #, python-format msgid "Admin login is only available for users in %(gym_name)s" msgstr "" -#: core/templates/user/overview.html:490 +#: core/templates/user/overview.html:514 msgid "Log in as this user" msgstr "" @@ -1223,19 +1186,19 @@ msgstr "" msgid "Send verification email" msgstr "" -#: core/templates/user/preferences.html:30 +#: core/templates/user/preferences.html:31 msgid "You need to verify your email to contribute exercises" msgstr "" -#: core/templates/user/preferences.html:50 core/views/user.py:611 +#: core/templates/user/preferences.html:55 core/views/user.py:610 msgid "Change password" msgstr "" -#: core/templatetags/wger_extras.py:205 i18n.tpl:37 +#: core/templatetags/wger_extras.py:197 i18n.tpl:37 msgid "kg" msgstr "" -#: core/templatetags/wger_extras.py:207 +#: core/templatetags/wger_extras.py:199 #: nutrition/templates/ingredient/view.html:60 #: nutrition/templates/ingredient/view.html:66 #: nutrition/templates/ingredient/view.html:73 @@ -1247,11 +1210,11 @@ msgctxt "weight unit, i.e. grams" msgid "g" msgstr "" -#: core/templatetags/wger_extras.py:210 i18n.tpl:38 +#: core/templatetags/wger_extras.py:202 i18n.tpl:38 msgid "lb" msgstr "" -#: core/templatetags/wger_extras.py:212 +#: core/templatetags/wger_extras.py:204 msgctxt "weight unit, i.e. ounces" msgid "oz" msgstr "" @@ -1278,13 +1241,13 @@ msgid "Delete {0}?" msgstr "" #: core/views/languages.py:111 core/views/license.py:85 -#: core/views/repetition_units.py:86 core/views/user.py:474 +#: core/views/repetition_units.py:86 core/views/user.py:473 #: core/views/weight_units.py:86 exercises/views/categories.py:98 #: exercises/views/equipment.py:81 exercises/views/muscles.py:87 #: gym/views/admin_notes.py:161 gym/views/config.py:68 #: gym/views/contract.py:186 gym/views/contract_option.py:123 #: gym/views/contract_type.py:123 gym/views/document.py:171 -#: gym/views/gym.py:463 manager/views/day.py:100 manager/views/schedule.py:333 +#: gym/views/gym.py:463 manager/views/day.py:96 manager/views/schedule.py:333 #: manager/views/workout.py:267 nutrition/views/ingredient.py:145 #: nutrition/views/unit.py:143 #, python-brace-format @@ -1310,48 +1273,48 @@ msgstr "" msgid "Your feedback was successfully sent. Thank you!" msgstr "" -#: core/views/user.py:156 +#: core/views/user.py:155 #, python-brace-format msgid "Account \"{0}\" was successfully deleted" msgstr "" -#: core/views/user.py:292 +#: core/views/user.py:291 msgid "You were successfully registered" msgstr "" -#: core/views/user.py:351 +#: core/views/user.py:350 msgid "Settings successfully updated" msgstr "" -#: core/views/user.py:390 +#: core/views/user.py:389 msgid "The user was successfully deactivated" msgstr "" -#: core/views/user.py:427 +#: core/views/user.py:426 msgid "The user was successfully activated" msgstr "" -#: core/views/user.py:442 +#: core/views/user.py:441 msgid "Edit user" msgstr "" -#: core/views/user.py:597 gym/templates/gym/member_list.html:26 +#: core/views/user.py:596 gym/templates/gym/member_list.html:26 #: gym/views/gym.py:158 msgid "ID" msgstr "" -#: core/views/user.py:598 gym/forms.py:95 gym/templates/contract/view.html:55 +#: core/views/user.py:597 gym/forms.py:95 gym/templates/contract/view.html:55 #: gym/templates/gym/member_list.html:27 gym/views/export.py:59 #: gym/views/gym.py:158 gym/views/gym.py:217 msgid "Username" msgstr "" -#: core/views/user.py:601 gym/templates/gym/new_user.html:34 +#: core/views/user.py:600 gym/templates/gym/new_user.html:34 #: gym/views/export.py:58 gym/views/gym.py:217 msgid "Gym" msgstr "" -#: core/views/user.py:660 +#: core/views/user.py:659 #, python-format msgid "A verification email was sent to %(email)s" msgstr "" @@ -1501,11 +1464,6 @@ msgstr "" msgid "Equipment list" msgstr "" -#: exercises/templates/equipment/admin-overview.html:39 -#: exercises/views/equipment.py:92 -msgid "Add new equipment" -msgstr "" - #: exercises/templates/history/overview.html:11 msgid "Exercise admin history" msgstr "" @@ -1555,11 +1513,6 @@ msgstr "" msgid "Muscle overview" msgstr "" -#: exercises/templates/muscles/admin-overview.html:38 -#: exercises/views/muscles.py:68 -msgid "Add muscle" -msgstr "" - #: exercises/views/categories.py:72 msgid "Add category" msgstr "" @@ -1568,6 +1521,10 @@ msgstr "" msgid "This will also delete all exercises in this category." msgstr "" +#: exercises/views/equipment.py:92 +msgid "Add new equipment" +msgstr "" + #: exercises/views/equipment.py:104 exercises/views/equipment.py:115 msgid "Delete equipment?" msgstr "" @@ -1576,6 +1533,10 @@ msgstr "" msgid "This will delete the exercise from all workouts." msgstr "" +#: exercises/views/muscles.py:68 +msgid "Add muscle" +msgstr "" + #: gallery/templates/images/overview.html:62 msgid "Add image" msgstr "" @@ -1661,7 +1622,7 @@ msgid "Contract is active" msgstr "" #: gym/models/contract.py:237 gym/templates/contract/view.html:69 -#: manager/models/schedule.py:61 manager/templates/schedule/view.html:67 +#: manager/models/schedule.py:61 manager/templates/schedule/view.html:21 msgid "Start date" msgstr "" @@ -1697,7 +1658,7 @@ msgstr "" msgid "Admin: can administrate the different gyms" msgstr "" -#: gym/models/gym.py:65 gym/templates/gym/member_list.html:114 +#: gym/models/gym.py:65 gym/templates/gym/member_list.html:126 msgid "Owner" msgstr "" @@ -1707,7 +1668,7 @@ msgid "" "considered inactive" msgstr "" -#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:152 +#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:166 msgid "Show name in header" msgstr "" @@ -1720,7 +1681,7 @@ msgstr "" msgid "Configuration for {self.gym.name}" msgstr "" -#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:184 +#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:200 msgid "Overview of inactive members" msgstr "" @@ -1744,7 +1705,7 @@ msgstr "" msgid "User notes" msgstr "" -#: gym/templates/contract/list.html:36 +#: gym/templates/contract/list.html:34 msgid "Show" msgstr "العرض" @@ -1770,11 +1731,11 @@ msgstr "" msgid "Gym list" msgstr "" -#: gym/templates/gym/list.html:50 +#: gym/templates/gym/list.html:53 msgid "Global gym configuration" msgstr "" -#: gym/templates/gym/list.html:67 gym/views/gym.py:171 +#: gym/templates/gym/list.html:69 gym/views/gym.py:171 msgid "Add new gym" msgstr "" @@ -1786,43 +1747,43 @@ msgstr "" msgid "Gym manager" msgstr "" -#: gym/templates/gym/member_list.html:69 +#: gym/templates/gym/member_list.html:76 msgid "This gym has no administrators or trainers" msgstr "" -#: gym/templates/gym/member_list.html:88 +#: gym/templates/gym/member_list.html:98 msgid "Export" msgstr "" -#: gym/templates/gym/member_list.html:125 +#: gym/templates/gym/member_list.html:137 msgid "Members" msgstr "" -#: gym/templates/gym/member_list.html:145 +#: gym/templates/gym/member_list.html:159 msgid "Gym configuration" msgstr "" -#: gym/templates/gym/member_list.html:148 +#: gym/templates/gym/member_list.html:162 msgid "Inactive members" msgstr "" -#: gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:163 msgid "weeks" msgstr "" -#: gym/templates/gym/member_list.html:181 +#: gym/templates/gym/member_list.html:197 msgid "My configuration" msgstr "" -#: gym/templates/gym/member_list.html:215 +#: gym/templates/gym/member_list.html:234 msgid "Types" msgstr "" -#: gym/templates/gym/member_list.html:285 +#: gym/templates/gym/member_list.html:307 msgid "Emails" msgstr "" -#: gym/templates/gym/member_list.html:315 +#: gym/templates/gym/member_list.html:336 msgid "Add member" msgstr "" @@ -2107,28 +2068,38 @@ msgstr "" msgid "Unit" msgstr "" +#: manager/forms.py:191 manager/models/log.py:103 manager/models/setting.py:102 +#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 +msgid "RiR" +msgstr "" + #: manager/forms.py:279 msgid "Type" msgstr "" -#: manager/forms.py:280 manager/templates/workout/view.html:113 +#: manager/forms.py:280 manager/templates/workout/view.html:122 msgid "Table" msgstr "" -#: manager/forms.py:282 manager/templates/workout/view.html:119 +#: manager/forms.py:282 manager/templates/workout/view.html:129 msgid "with images" msgstr "" -#: manager/forms.py:283 manager/templates/workout/view.html:125 +#: manager/forms.py:283 manager/templates/workout/view.html:136 msgid "with comments" msgstr "" +#: manager/helpers.py:86 manager/models/setting.py:72 +#: manager/templates/set/formset.html:9 +msgid "Reps" +msgstr "" + #: manager/management/commands/email-reminders.py:121 msgid "Workout will expire soon" msgstr "" #: manager/models/day.py:34 manager/models/log.py:58 -#: manager/models/session.py:60 manager/templates/schedule/view.html:102 +#: manager/models/session.py:60 manager/templates/schedule/view.html:56 #: manager/templates/workout/view.html:9 manager/templates/workout/view.html:17 #: manager/views/pdf.py:85 manager/views/pdf.py:161 #: manager/views/schedule.py:151 manager/views/schedule.py:221 @@ -2149,7 +2120,7 @@ msgstr "" msgid "Name or short description of the schedule. For example 'Program XYZ'." msgstr "" -#: manager/models/schedule.py:65 manager/templates/schedule/view.html:71 +#: manager/models/schedule.py:65 manager/templates/schedule/view.html:25 msgid "Schedule active" msgstr "" @@ -2160,7 +2131,7 @@ msgid "" "inactive" msgstr "" -#: manager/models/schedule.py:77 manager/templates/schedule/view.html:81 +#: manager/models/schedule.py:77 manager/templates/schedule/view.html:35 msgid "Is a loop" msgstr "" @@ -2179,7 +2150,7 @@ msgid "The duration in weeks" msgstr "" #: manager/models/schedule_step.py:64 manager/models/set.py:53 -#: manager/models/setting.py:113 nutrition/models/meal.py:55 +#: manager/models/setting.py:113 nutrition/models/meal.py:53 #: nutrition/models/meal_item.py:66 msgid "Order" msgstr "" @@ -2311,7 +2282,7 @@ msgstr "" msgid "Workout session" msgstr "" -#: manager/templates/calendar/partial_overview_table.html:27 +#: manager/templates/calendar/partial_overview_table.html:26 msgid "Delete with logs" msgstr "" @@ -2331,21 +2302,26 @@ msgid "" "will simply be edited. Weight entries are always added." msgstr "" -#: manager/templates/schedule/overview.html:5 +#: manager/templates/schedule/overview.html:4 msgid "Your schedules" msgstr "" #: manager/templates/schedule/overview.html:19 -#: manager/templates/schedule/view.html:131 -#: manager/templates/schedule/view.html:183 +#: manager/templates/schedule/view.html:96 +#: manager/templates/schedule/view.html:146 #: manager/templates/workout/overview.html:16 msgid "active" msgstr "" -#: manager/templates/schedule/overview.html:28 +#: manager/templates/schedule/overview.html:27 msgid "No schedules found." msgstr "" +#: manager/templates/schedule/overview.html:28 +#, fuzzy +msgid "Add one now" +msgstr "أضف واحدة الآن." + #: manager/templates/schedule/overview.html:36 msgid "" "Schedules are collections of workouts that you do in\n" @@ -2358,10 +2334,11 @@ msgid "" " before jumping to the next. It is also possible to create a loop, so " "you\n" " always do the same workouts in succession, e.g. A > B > C > A > B > " -"C and so on." +"C and so\n" +" on." msgstr "" -#: manager/templates/schedule/overview.html:43 +#: manager/templates/schedule/overview.html:44 msgid "" "The currently active schedule will remain active (and be\n" " shown e.g. in your dashboard) till it reaches the last workout or " @@ -2377,25 +2354,21 @@ msgstr "" msgid "Schedule" msgstr "" -#: manager/templates/schedule/view.html:85 +#: manager/templates/schedule/view.html:39 msgid "" "This schedule is a loop and will go through the workouts above till you " "deactivate it" msgstr "" -#: manager/templates/schedule/view.html:103 +#: manager/templates/schedule/view.html:57 msgid "Weeks" msgstr "" -#: manager/templates/schedule/view.html:115 -msgid "Move me" -msgstr "" - -#: manager/templates/schedule/view.html:156 +#: manager/templates/schedule/view.html:121 msgid "Start schedule" msgstr "" -#: manager/templates/schedule/view.html:187 +#: manager/templates/schedule/view.html:150 #, python-format msgid "" "%(weeks)s Week\n" @@ -2410,11 +2383,11 @@ msgstr[3] "" msgstr[4] "" msgstr[5] "" -#: manager/templates/schedule/view.html:221 +#: manager/templates/schedule/view.html:184 msgid "Adding workouts" msgstr "" -#: manager/templates/schedule/view.html:223 +#: manager/templates/schedule/view.html:186 msgid "" "Add as many workouts to the schedule as you want. You can\n" " edit the order by dragging and dropping them. It's also possible " @@ -2422,44 +2395,37 @@ msgid "" " than once." msgstr "" -#: manager/templates/schedule/view.html:232 -#: manager/templates/schedule/view.html:243 -#: manager/templates/schedule/view.html:290 +#: manager/templates/schedule/view.html:195 +#: manager/templates/schedule/view.html:209 +#: manager/templates/schedule/view.html:263 #: manager/templates/workout/view.html:69 -#: manager/templates/workout/view.html:79 -#: manager/templates/workout/view.html:178 +#: manager/templates/workout/view.html:83 +#: manager/templates/workout/view.html:192 msgid "Export calendar file" msgstr "" -#: manager/templates/schedule/view.html:236 +#: manager/templates/schedule/view.html:201 msgid "Export this schedule as a calendar file." msgstr "" -#: manager/templates/schedule/view.html:237 -#: manager/templates/workout/view.html:74 +#: manager/templates/schedule/view.html:202 +#: manager/templates/workout/view.html:76 msgid "" "You can then import the file it into your calendar\n" " application for example google calendar, outlook or " "iCal. This will create\n" " an appointment for each training day with the " -"appropriate exercises." +"appropriate\n" +" exercises." msgstr "" -#: manager/templates/schedule/view.html:258 -#: manager/templates/schedule/view.html:294 -#: manager/templates/workout/view.html:94 -#: manager/templates/workout/view.html:174 +#: manager/templates/schedule/view.html:225 +#: manager/templates/schedule/view.html:268 +#: manager/templates/workout/view.html:99 +#: manager/templates/workout/view.html:188 msgid "Download as PDF" msgstr "" -#: manager/templates/schedule/view.html:299 -msgid "Edit schedule" -msgstr "" - -#: manager/templates/schedule/view.html:304 -msgid "Delete schedule" -msgstr "" - #: manager/templates/set/add.html:9 #, python-format msgid "Add exercises to day \"%(day_name)s\"" @@ -2524,47 +2490,6 @@ msgid "" "You will regularly receive such reminders till you enter your current weight." msgstr "" -#: manager/templates/workout/log.html:10 manager/templates/workout/log.html:11 -msgid "Weight log" -msgstr "" - -#: manager/templates/workout/log.html:29 -msgid "Weight log for workout" -msgstr "" - -#: manager/templates/workout/log.html:49 -msgid "Add weight log to this day" -msgstr "" - -#: manager/templates/workout/log.html:69 -msgid "No weight entries here." -msgstr "" - -#: manager/templates/workout/log.html:77 -msgid "No exercises for this day." -msgstr "" - -#: manager/templates/workout/log.html:90 -msgid "" -"This page shows the weight logs belonging to this workout\n" -"only. Click on an exercise to see all the historical data for\n" -"it." -msgstr "" - -#: manager/templates/workout/log.html:94 -msgid "" -"If on a single day there is more than one entry with the\n" -"same number of repetitions, but different weights, only the entry with the\n" -"higher weight is shown in the diagram." -msgstr "" - -#: manager/templates/workout/log.html:98 -msgid "" -"Note that only entries with a weight unit (kg or lb) and\n" -"repetitions are charted, other combinations such as time or until failure\n" -"are ignored here." -msgstr "" - #: manager/templates/workout/overview.html:25 msgid "No templates found." msgstr "" @@ -2600,27 +2525,23 @@ msgstr "" msgid "Set the repetitions for each set" msgstr "" -#: manager/templates/workout/view.html:73 +#: manager/templates/workout/view.html:75 msgid "Export this workout as a calendar file." msgstr "" -#: manager/templates/workout/view.html:144 +#: manager/templates/workout/view.html:156 msgid "Logs" msgstr "" -#: manager/templates/workout/view.html:146 +#: manager/templates/workout/view.html:159 msgid "View logs" msgstr "" -#: manager/templates/workout/view.html:169 manager/views/schedule_step.py:99 -msgid "Edit workout" -msgstr "" - -#: manager/templates/workout/view.html:182 manager/views/workout.py:281 +#: manager/templates/workout/view.html:195 manager/views/workout.py:281 msgid "Mark as template" msgstr "" -#: manager/views/day.py:109 +#: manager/views/day.py:105 msgid "Add workout day" msgstr "" @@ -2637,6 +2558,10 @@ msgstr "" msgid "Create schedule" msgstr "" +#: manager/views/schedule_step.py:99 +msgid "Edit workout" +msgstr "" + #: manager/views/workout.py:209 msgid "Copy workout" msgstr "" @@ -2758,7 +2683,7 @@ msgstr "" msgid "Unit amount, e.g. \"1 Cup\" or \"1/2 spoon\"" msgstr "" -#: nutrition/models/log.py:52 nutrition/models/meal.py:50 +#: nutrition/models/log.py:52 nutrition/models/meal.py:48 #: nutrition/models/meal_item.py:48 nutrition/models/plan.py:108 msgid "Nutrition plan" msgstr "" @@ -2771,11 +2696,11 @@ msgstr "" msgid "Date and Time (Approx.)" msgstr "" -#: nutrition/models/meal.py:62 +#: nutrition/models/meal.py:60 msgid "Time (approx)" msgstr "" -#: nutrition/models/meal.py:69 +#: nutrition/models/meal.py:67 msgid "" "Give meals a textual description / name such as \"Breakfast\" or \"after " "workout\"" @@ -2797,58 +2722,6 @@ msgid "" "calories. You can use the calculator or enter the value yourself." msgstr "" -#: nutrition/templates/bmi/form.html:62 -msgid "Results" -msgstr "" - -#: nutrition/templates/bmi/form.html:63 -msgid "Your BMI is: " -msgstr "" - -#: nutrition/templates/bmi/form.html:71 -msgid "Legend" -msgstr "" - -#: nutrition/templates/bmi/form.html:75 -msgid "Adipositas III" -msgstr "" - -#: nutrition/templates/bmi/form.html:79 -msgid "Adipositas II" -msgstr "" - -#: nutrition/templates/bmi/form.html:83 -msgid "Adipositas I" -msgstr "" - -#: nutrition/templates/bmi/form.html:87 -msgid "Overweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:91 -msgid "Normal weight" -msgstr "" - -#: nutrition/templates/bmi/form.html:95 -msgid "Slight underweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:99 -msgid "Moderate underweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:103 -msgid "Strong underweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:117 -msgid "" -"Use the form to calculate your BMI (Body Mass Index).\n" -"If you have entered data in the weight section, the last entry will\n" -"be used automatically. Otherwise the weight you enter here will be saved\n" -"in a new entry." -msgstr "" - #: nutrition/templates/ingredient/email_new.tpl:1 #, python-format msgid "" @@ -2894,10 +2767,6 @@ msgstr "" msgid "Search" msgstr "" -#: nutrition/templates/ingredient/overview.html:62 -msgid "Add ingredient" -msgstr "" - #: nutrition/templates/ingredient/view.html:45 nutrition/views/plan.py:229 msgid "Macronutrients" msgstr "" @@ -2917,20 +2786,11 @@ msgstr "" msgid "Others" msgstr "" -#: nutrition/templates/ingredient/view.html:144 -#: nutrition/templates/units/list.html:46 nutrition/views/unit.py:86 +#: nutrition/templates/ingredient/view.html:143 +#: nutrition/templates/units/list.html:50 nutrition/views/unit.py:86 msgid "Add new weight unit" msgstr "" -#: nutrition/templates/ingredient/view.html:206 -#: nutrition/templates/ingredient/view.html:209 -msgid "Edit ingredient" -msgstr "" - -#: nutrition/templates/ingredient/view.html:213 -msgid "Delete ingredient" -msgstr "" - #: nutrition/templates/rate/form.html:25 msgid "Basal metabolic rate" msgstr "" @@ -2999,18 +2859,6 @@ msgid "" "yourself for some weeks and change the total amount if needed." msgstr "" -#: nutrition/views/bmi.py:89 -msgid "Please make sure your height is within the appropriate range." -msgstr "" - -#: nutrition/views/bmi.py:92 -msgid "140 to 230" -msgstr "" - -#: nutrition/views/bmi.py:94 -msgid "56 to 90" -msgstr "" - #: nutrition/views/ingredient.py:157 msgid "Add a new ingredient" msgstr "" diff --git a/wger/locale/bg/LC_MESSAGES/django.po b/wger/locale/bg/LC_MESSAGES/django.po index 22b010e59..48e96e003 100644 --- a/wger/locale/bg/LC_MESSAGES/django.po +++ b/wger/locale/bg/LC_MESSAGES/django.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: wger Workout Manager\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-14 15:59+0200\n" +"POT-Creation-Date: 2024-11-14 19:23+0100\n" "PO-Revision-Date: 2021-04-15 07:27+0000\n" "Last-Translator: Allan Nordhøy \n" "Language-Team: Bulgarian \n" @@ -22,7 +22,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.6-dev\n" -#: config/models/gym_config.py:46 gym/templates/gym/list.html:53 +#: config/models/gym_config.py:46 gym/templates/gym/list.html:56 msgid "Default gym" msgstr "" @@ -32,28 +32,28 @@ msgid "" "registered users to this gym and update all existing users without a gym." msgstr "" -#: config/views/gym_config.py:42 core/templates/language/view.html:67 -#: core/templates/license/list.html:17 core/templates/misc/license/list.html:18 +#: config/views/gym_config.py:42 core/templates/language/view.html:64 +#: core/templates/license/list.html:17 #: core/templates/repetition_unit/list.html:18 -#: core/templates/tags/render_day.html:39 -#: core/templates/tags/render_day.html:75 core/templates/user/overview.html:204 -#: core/templates/user/overview.html:445 +#: core/templates/user/overview.html:204 core/templates/user/overview.html:467 #: core/templates/weight_unit/list.html:18 #: exercises/templates/categories/admin-overview.html:17 #: exercises/templates/equipment/admin-overview.html:17 -#: exercises/templates/muscles/admin-overview.html:17 -#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:32 -#: gym/templates/contract/list.html:31 gym/templates/contract/view.html:107 -#: gym/templates/contract_option/list.html:32 -#: gym/templates/contract_type/list.html:32 gym/templates/document/list.html:38 -#: gym/templates/gym/list.html:20 gym/templates/gym/list.html:46 -#: gym/templates/gym/member_list.html:87 gym/templates/gym/member_list.html:140 -#: gym/templates/gym/member_list.html:176 -#: manager/templates/calendar/day.html:68 -#: manager/templates/calendar/month.html:85 -#: manager/templates/calendar/partial_overview_table.html:18 -#: manager/templates/schedule/view.html:118 -#: nutrition/templates/ingredient/view.html:165 +#: exercises/templates/muscles/admin-overview.html:16 +#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:31 +#: gym/templates/contract/list.html:30 gym/templates/contract/view.html:106 +#: gym/templates/contract_option/list.html:29 +#: gym/templates/contract_type/list.html:30 gym/templates/document/list.html:38 +#: gym/templates/gym/list.html:19 gym/templates/gym/list.html:48 +#: gym/templates/gym/member_list.html:94 gym/templates/gym/member_list.html:152 +#: gym/templates/gym/member_list.html:190 +#: manager/templates/calendar/day.html:67 +#: manager/templates/calendar/month.html:84 +#: manager/templates/calendar/partial_overview_table.html:16 +#: manager/templates/schedule/view.html:271 +#: manager/templates/workout/view.html:181 +#: nutrition/templates/ingredient/view.html:164 +#: nutrition/templates/ingredient/view.html:209 #: nutrition/templates/units/list.html:19 msgid "Edit" msgstr "Поправи" @@ -89,25 +89,25 @@ msgstr "Моята готина тренировъчна схема" msgid "Empty placeholder schedule" msgstr "Празно място за тренировъчен план" -#: core/forms.py:69 core/templates/navigation.html:285 -#: core/templates/navigation.html:291 core/templates/user/login.html:4 +#: core/forms.py:69 core/templates/navigation.html:284 +#: core/templates/navigation.html:290 core/templates/user/login.html:4 #: software/templates/features.html:82 software/templates/features.html:427 msgid "Login" msgstr "Вход" -#: core/forms.py:108 core/forms.py:214 gym/views/export.py:61 +#: core/forms.py:108 core/forms.py:216 gym/views/export.py:61 #: gym/views/gym.py:217 msgid "First name" msgstr "" -#: core/forms.py:109 core/forms.py:215 core/templates/user/overview.html:266 +#: core/forms.py:109 core/forms.py:217 core/templates/user/overview.html:284 #: gym/views/export.py:62 gym/views/gym.py:217 msgid "Last name" msgstr "" -#: core/forms.py:111 core/forms.py:180 core/templates/user/overview.html:270 +#: core/forms.py:111 core/forms.py:182 core/templates/user/overview.html:288 #: gym/models/contract.py:256 gym/models/gym.py:58 -#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:104 +#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:116 #: gym/templates/gym/new_user.html:30 gym/views/export.py:60 #: mailer/templates/mailer/gym/form.html:4 #: mailer/templates/mailer/gym/overview.html:4 @@ -124,96 +124,95 @@ msgstr "" msgid "Date of Birth" msgstr "" -#: core/forms.py:148 +#: core/forms.py:149 msgid "Personal data" msgstr "" -#: core/forms.py:159 +#: core/forms.py:161 msgid "Workout reminders" msgstr "" -#: core/forms.py:166 +#: core/forms.py:168 msgid "Other settings" msgstr "" -#: core/forms.py:174 core/views/user.py:624 core/views/user.py:639 -#: core/views/user.py:651 gym/forms.py:73 manager/templates/log/add.html:65 +#: core/forms.py:176 core/views/user.py:623 core/views/user.py:638 +#: core/views/user.py:650 gym/forms.py:73 manager/templates/log/add.html:65 #: manager/templates/set/add.html:70 manager/views/workout.py:203 #: utils/generic_views.py:143 msgid "Save" msgstr "Запази" -#: core/forms.py:181 +#: core/forms.py:183 msgid "Used for password resets and, optionally, email reminders." msgstr "" -#: core/forms.py:210 +#: core/forms.py:212 #, fuzzy #| msgid "This email is already used." msgid "This e-mail address is already in use." msgstr "Този email е вече използван." -#: core/forms.py:231 gym/templates/gym/new_user.html:26 +#: core/forms.py:233 gym/templates/gym/new_user.html:26 #: gym/templates/gym/reset_user_password.html:24 gym/views/gym.py:217 msgid "Password" msgstr "" -#: core/forms.py:233 +#: core/forms.py:235 msgid "Please enter your current password." msgstr "" -#: core/forms.py:242 core/templates/language/view.html:73 -#: core/templates/license/list.html:19 core/templates/misc/license/list.html:22 -#: core/templates/repetition_unit/list.html:20 -#: core/templates/tags/render_day.html:45 -#: core/templates/tags/render_day.html:81 core/templates/user/overview.html:217 -#: core/templates/weight_unit/list.html:20 -#: exercises/templates/categories/admin-overview.html:19 -#: exercises/templates/equipment/admin-overview.html:19 -#: exercises/templates/muscles/admin-overview.html:19 -#: gym/templates/admin_notes/list.html:40 -#: gym/templates/contract_option/list.html:41 -#: gym/templates/contract_type/list.html:41 gym/templates/document/list.html:46 -#: gym/templates/gym/list.html:22 manager/templates/calendar/day.html:73 -#: manager/templates/calendar/month.html:89 -#: manager/templates/calendar/partial_overview_table.html:23 -#: manager/templates/schedule/view.html:122 -#: manager/templates/workout/view.html:188 -#: nutrition/templates/ingredient/view.html:166 +#: core/forms.py:244 core/templates/language/view.html:70 +#: core/templates/license/list.html:21 +#: core/templates/repetition_unit/list.html:22 +#: core/templates/user/overview.html:233 +#: core/templates/weight_unit/list.html:22 +#: exercises/templates/categories/admin-overview.html:21 +#: exercises/templates/equipment/admin-overview.html:21 +#: exercises/templates/muscles/admin-overview.html:20 +#: gym/templates/admin_notes/list.html:37 +#: gym/templates/contract_option/list.html:35 +#: gym/templates/contract_type/list.html:36 gym/templates/document/list.html:46 +#: gym/templates/gym/list.html:23 manager/templates/calendar/day.html:73 +#: manager/templates/calendar/month.html:88 +#: manager/templates/calendar/partial_overview_table.html:22 +#: manager/templates/schedule/view.html:277 +#: manager/templates/workout/view.html:202 +#: nutrition/templates/ingredient/view.html:168 #: nutrition/templates/ingredient/view.html:215 -#: nutrition/templates/units/list.html:22 +#: nutrition/templates/units/list.html:25 msgid "Delete" msgstr "Изтрии" -#: core/forms.py:251 +#: core/forms.py:253 msgid "Invalid password" msgstr "" -#: core/forms.py:263 core/forms.py:338 +#: core/forms.py:265 core/forms.py:340 msgid "The form is secured with reCAPTCHA" msgstr "" -#: core/forms.py:279 core/forms.py:301 core/templates/navigation.html:285 -#: core/templates/navigation.html:297 core/templates/template.html:149 -#: core/templates/user/login.html:20 core/views/user.py:298 +#: core/forms.py:281 core/forms.py:303 core/templates/navigation.html:284 +#: core/templates/navigation.html:296 core/templates/template.html:150 +#: core/templates/user/login.html:20 core/views/user.py:297 #: software/templates/features.html:87 software/templates/features.html:422 msgid "Register" msgstr "Регистрация" -#: core/forms.py:315 software/templates/features.html:45 +#: core/forms.py:317 software/templates/features.html:45 msgid "Contact" msgstr "" -#: core/forms.py:316 +#: core/forms.py:318 msgid "Some way of answering you (e-mail, etc.)" msgstr "" -#: core/forms.py:324 exercises/models/comment.py:58 manager/models/set.py:61 +#: core/forms.py:326 exercises/models/comment.py:58 manager/models/set.py:61 #: manager/models/setting.py:114 nutrition/models/log.py:77 msgid "Comment" msgstr "Коментирай" -#: core/forms.py:325 +#: core/forms.py:327 msgid "What do you want to say?" msgstr "Какво искаш да кажеш?" @@ -437,18 +436,18 @@ msgid "The sum of all hours has to be 24" msgstr "" #: core/models/rep_unit.py:36 core/models/weight_unit.py:36 -#: core/templates/user/overview.html:262 core/views/user.py:599 +#: core/templates/user/overview.html:280 core/views/user.py:598 #: exercises/models/category.py:29 exercises/models/equipment.py:29 #: exercises/models/exercise.py:59 exercises/models/muscle.py:36 #: gym/models/contract.py:52 gym/models/contract.py:103 gym/models/gym.py:46 #: gym/models/user_document.py:84 gym/templates/contract/view.html:50 -#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:96 +#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:108 #: gym/views/gym.py:158 manager/models/schedule.py:55 #: manager/models/workout.py:57 measurements/models/category.py:36 #: nutrition/models/ingredient.py:111 -#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:67 +#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:65 #: nutrition/models/weight_unit.py:38 -#: nutrition/templates/ingredient/view.html:152 +#: nutrition/templates/ingredient/view.html:151 msgid "Name" msgstr "Име" @@ -493,7 +492,7 @@ msgstr "" msgid "Back to \"%(target)s\"" msgstr "" -#: core/templates/delete.html:15 +#: core/templates/delete.html:4 msgid "Are you sure you want to delete this? This action cannot be undone." msgstr "Сигурен ли си, че искаш да изтриеш това? Това действие е невъзвратимо!" @@ -549,7 +548,7 @@ msgstr "" msgid "Dashboard" msgstr "Табло" -#: core/templates/language/overview.html:4 core/templates/navigation.html:345 +#: core/templates/language/overview.html:4 core/templates/navigation.html:344 msgid "Languages" msgstr "" @@ -559,79 +558,72 @@ msgstr "" #: core/templates/language/overview.html:22 #: manager/templates/calendar/month.html:132 -#: manager/templates/schedule/overview.html:28 -#: manager/templates/schedule/view.html:144 +#: manager/templates/schedule/view.html:107 #: manager/templates/workout/overview.html:28 #: nutrition/templates/ingredient/overview.html:38 msgid "Add one now." msgstr "Добави сега." -#: core/templates/language/overview.html:35 core/templates/license/list.html:40 -#: core/templates/misc/license/list.html:43 -#: core/templates/repetition_unit/list.html:43 -#: core/templates/user/overview.html:326 core/templates/user/overview.html:365 -#: core/templates/user/overview.html:401 -#: core/templates/weight_unit/list.html:43 core/views/languages.py:74 +#: core/templates/language/overview.html:34 core/templates/license/list.html:43 +#: core/templates/repetition_unit/list.html:46 +#: core/templates/user/overview.html:344 core/templates/user/overview.html:384 +#: core/templates/user/overview.html:422 +#: core/templates/weight_unit/list.html:46 core/views/languages.py:74 #: core/views/license.py:66 core/views/repetition_units.py:66 #: core/views/weight_units.py:66 -#: exercises/templates/categories/admin-overview.html:38 -#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:67 -#: gym/templates/contract/list.html:73 -#: gym/templates/contract_option/list.html:72 -#: gym/templates/contract_type/list.html:72 gym/templates/document/list.html:79 -#: gym/templates/gym/member_list.html:211 -#: gym/templates/gym/member_list.html:244 -#: gym/templates/gym/member_list.html:281 +#: exercises/templates/categories/admin-overview.html:40 +#: exercises/templates/equipment/admin-overview.html:39 +#: exercises/templates/muscles/admin-overview.html:40 +#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:64 +#: gym/templates/contract/list.html:69 +#: gym/templates/contract_option/list.html:65 +#: gym/templates/contract_type/list.html:66 gym/templates/document/list.html:78 +#: gym/templates/gym/member_list.html:228 +#: gym/templates/gym/member_list.html:264 +#: gym/templates/gym/member_list.html:303 #: mailer/templates/mailer/gym/overview.html:43 +#: nutrition/templates/ingredient/overview.html:60 msgid "Add" msgstr "Добави" #: core/templates/language/view.html:61 core/templates/user/api_key.html:44 -#: core/templates/user/preferences.html:45 gym/models/contract.py:203 -#: gym/templates/contract/view.html:41 gym/templates/contract/view.html:106 -#: gym/templates/gym/member_list.html:248 -#: manager/templates/schedule/view.html:285 -#: manager/templates/workout/view.html:163 -#: nutrition/templates/ingredient/view.html:202 +#: core/templates/user/preferences.html:50 gym/models/contract.py:203 +#: gym/templates/contract/view.html:41 gym/templates/gym/member_list.html:270 +#: manager/templates/schedule/view.html:257 +#: manager/templates/workout/view.html:177 +#: nutrition/templates/ingredient/view.html:206 msgid "Options" msgstr "Опции" -#: core/templates/license/list.html:4 core/templates/misc/license/list.html:4 +#: core/templates/license/list.html:4 msgid "License list" msgstr "" -#: core/templates/license/list.html:26 core/templates/misc/license/list.html:30 -#: core/templates/repetition_unit/list.html:28 +#: core/templates/license/list.html:30 +#: core/templates/repetition_unit/list.html:32 #: core/templates/user/overview.html:104 core/templates/user/overview.html:136 -#: core/templates/user/overview.html:185 core/templates/user/overview.html:347 -#: core/templates/user/overview.html:383 core/templates/user/overview.html:427 -#: core/templates/weight_unit/list.html:28 -#: exercises/templates/categories/admin-overview.html:26 -#: exercises/templates/equipment/admin-overview.html:26 -#: exercises/templates/muscles/admin-overview.html:26 -#: gym/templates/admin_notes/list.html:52 gym/templates/contract/list.html:60 -#: gym/templates/contract_option/list.html:58 -#: gym/templates/contract_type/list.html:58 gym/templates/document/list.html:64 -#: gym/templates/gym/list.html:29 gym/templates/gym/member_list.html:229 -#: gym/templates/gym/member_list.html:262 -#: gym/templates/gym/member_list.html:299 +#: core/templates/user/overview.html:185 core/templates/user/overview.html:365 +#: core/templates/user/overview.html:404 core/templates/user/overview.html:448 +#: core/templates/weight_unit/list.html:32 +#: exercises/templates/categories/admin-overview.html:30 +#: exercises/templates/equipment/admin-overview.html:30 +#: exercises/templates/muscles/admin-overview.html:29 +#: gym/templates/admin_notes/list.html:50 gym/templates/contract/list.html:57 +#: gym/templates/contract_option/list.html:52 +#: gym/templates/contract_type/list.html:53 gym/templates/document/list.html:64 +#: gym/templates/gym/list.html:32 gym/templates/gym/member_list.html:248 +#: gym/templates/gym/member_list.html:284 +#: gym/templates/gym/member_list.html:321 #: mailer/templates/mailer/gym/overview.html:30 -#: manager/templates/calendar/day.html:87 -#: nutrition/templates/units/list.html:29 +#: manager/templates/calendar/day.html:88 +#: nutrition/templates/units/list.html:34 msgid "Nothing found" msgstr "" -#: core/templates/misc/about.html:4 core/templates/template.html:175 +#: core/templates/misc/about.html:4 core/templates/template.html:187 msgid "Imprint" msgstr "" -#: core/templates/misc/license/list.html:47 -msgid "" -"If a license has been localized, e.g. the Creative Commons\n" -" licenses for the different countries, add them as separate " -"entries here." -msgstr "" - #: core/templates/navigation.html:28 software/templates/features.html:437 msgid "Training" msgstr "Тренировка" @@ -682,8 +674,8 @@ msgstr "" msgid "Exercises" msgstr "Упражнения" -#: core/templates/navigation.html:111 core/templates/navigation.html:184 -#: core/templates/navigation.html:340 +#: core/templates/navigation.html:111 core/templates/navigation.html:185 +#: core/templates/navigation.html:339 msgid "Administration" msgstr "Администрация" @@ -714,7 +706,7 @@ msgstr "Хранене" msgid "Nutrition plans" msgstr "План за хранене" -#: core/templates/navigation.html:165 nutrition/templates/bmi/form.html:50 +#: core/templates/navigation.html:165 msgid "BMI calculator" msgstr "" @@ -722,87 +714,87 @@ msgstr "" msgid "Daily calories calculator" msgstr "" -#: core/templates/navigation.html:179 +#: core/templates/navigation.html:180 #: nutrition/templates/ingredient/overview.html:10 msgid "Ingredient overview" msgstr "Преглед на съставките" -#: core/templates/navigation.html:187 nutrition/templates/units/list.html:6 +#: core/templates/navigation.html:189 nutrition/templates/units/list.html:6 msgid "Ingredient weight units" msgstr "Единици за тежест на съставки" -#: core/templates/navigation.html:203 software/templates/features.html:442 +#: core/templates/navigation.html:205 software/templates/features.html:442 msgid "Body weight" msgstr "" -#: core/templates/navigation.html:210 core/templates/user/overview.html:114 +#: core/templates/navigation.html:212 core/templates/user/overview.html:114 msgid "Weight overview" msgstr "Преглед на тегло" -#: core/templates/navigation.html:217 weight/views.py:65 +#: core/templates/navigation.html:216 weight/views.py:65 msgid "Add weight entry" msgstr "Добави тегло" -#: core/templates/navigation.html:231 +#: core/templates/navigation.html:230 msgid "About this software" msgstr "Относно този код" -#: core/templates/navigation.html:237 software/templates/about_us.html:5 +#: core/templates/navigation.html:236 software/templates/about_us.html:5 msgid "About us" msgstr "За нас" -#: core/templates/navigation.html:243 software/templates/features.html:507 +#: core/templates/navigation.html:242 software/templates/features.html:507 msgid "REST API" msgstr "" -#: core/templates/navigation.html:249 utils/models.py:45 +#: core/templates/navigation.html:248 utils/models.py:45 msgid "License" msgstr "Лиценз" -#: core/templates/navigation.html:255 +#: core/templates/navigation.html:254 msgid "Developer documentation" msgstr "" -#: core/templates/navigation.html:262 +#: core/templates/navigation.html:261 msgid "Get the code" msgstr "Грабни кода" -#: core/templates/navigation.html:269 core/templates/template.html:214 +#: core/templates/navigation.html:268 core/templates/template.html:226 #: software/templates/features.html:582 msgid "Translate" msgstr "Преведи" -#: core/templates/navigation.html:303 core/templates/user/login.html:28 +#: core/templates/navigation.html:302 core/templates/user/login.html:28 msgid "Reset password" msgstr "Промени парола" -#: core/templates/navigation.html:321 +#: core/templates/navigation.html:320 msgid "My preferences" msgstr "Моите преференции" -#: core/templates/navigation.html:330 +#: core/templates/navigation.html:329 msgid "Logout" msgstr "Изход" -#: core/templates/navigation.html:353 +#: core/templates/navigation.html:352 msgid "Licenses" msgstr "" -#: core/templates/navigation.html:361 +#: core/templates/navigation.html:360 #: core/templates/repetition_unit/list.html:4 msgid "Repetition units" msgstr "" -#: core/templates/navigation.html:369 core/templates/weight_unit/list.html:4 +#: core/templates/navigation.html:368 core/templates/weight_unit/list.html:4 #: nutrition/templates/ingredient/view.html:141 msgid "Weight units" msgstr "Единици за тегло" -#: core/templates/navigation.html:377 core/templates/user/list.html:4 +#: core/templates/navigation.html:376 core/templates/user/list.html:4 msgid "User list" msgstr "" -#: core/templates/navigation.html:383 +#: core/templates/navigation.html:382 msgid "Gyms" msgstr "" @@ -865,57 +857,30 @@ msgstr "предишно" msgid "next" msgstr "следващо" -#: core/templates/tags/render_day.html:34 -msgid "Add weight log" +#: core/templates/tags/render_day.html:44 +msgid "Placeholder image for translation" msgstr "" -#: core/templates/tags/render_day.html:116 -msgid "Placeholder image for exercise" -msgstr "" - -#: core/templates/tags/render_day.html:133 -msgid "This exercise has no repetitions." -msgstr "Това упражнение няма повторения." - -#: core/templates/tags/render_day.html:136 -msgid "Edit them now." -msgstr "Поправи сега." - -#: core/templates/tags/render_day.html:162 -msgid "Add exercises to this workout day" -msgstr "Добави упражнения за този тренировъчен ден" - -#: core/templates/tags/render_weight_log.html:17 manager/helpers.py:86 -#: manager/models/setting.py:72 manager/templates/set/formset.html:9 -msgid "Reps" -msgstr "Повторения" - -#: core/templates/tags/render_weight_log.html:30 manager/forms.py:191 -#: manager/models/log.py:103 manager/models/setting.py:102 -#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 -msgid "RiR" -msgstr "" - -#: core/templates/template.html:122 manager/templates/calendar/month.html:138 -#: manager/templates/schedule/view.html:248 -#: manager/templates/schedule/view.html:269 -#: manager/templates/workout/view.html:84 -#: manager/templates/workout/view.html:137 +#: core/templates/template.html:123 manager/templates/calendar/month.html:138 +#: manager/templates/schedule/view.html:215 +#: manager/templates/schedule/view.html:240 +#: manager/templates/workout/view.html:89 +#: manager/templates/workout/view.html:149 msgid "Close" msgstr "" -#: core/templates/template.html:138 +#: core/templates/template.html:139 msgid "" "You are using a guest account, data entered will be deleted after a week." msgstr "" "Вие сте влезли като гост и всички данни, които добавяте ще бъдат изтрити " "след една седмица." -#: core/templates/template.html:143 +#: core/templates/template.html:144 msgid "Create some demo entries" msgstr "Направи демонстративни попълнения" -#: core/templates/template.html:180 software/templates/features.html:547 +#: core/templates/template.html:192 software/templates/features.html:547 #: software/templates/tos.html:7 msgid "Terms of service" msgstr "" @@ -924,7 +889,7 @@ msgstr "" msgid "Features" msgstr "Особености" -#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:54 +#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:59 msgid "API key" msgstr "" @@ -963,17 +928,17 @@ msgstr "" msgid "Documentation" msgstr "" -#: core/templates/user/delete_account.html:4 -#: core/templates/user/preferences.html:59 +#: core/templates/user/delete_account.html:3 +#: core/templates/user/preferences.html:62 msgid "Delete account" msgstr "" -#: core/templates/user/delete_account.html:17 +#: core/templates/user/delete_account.html:9 #: exercises/templates/history/overview.html:93 msgid "Are you sure?" msgstr "" -#: core/templates/user/delete_account.html:22 +#: core/templates/user/delete_account.html:14 #, python-format msgid "" "This action will delete the user account \"%(username)s\".\n" @@ -992,22 +957,22 @@ msgstr "Забравена парола?" #: core/templates/user/overview.html:25 core/templates/user/overview.html:68 #: core/templates/user/overview.html:112 core/templates/user/overview.html:144 -#: core/templates/user/overview.html:330 core/templates/user/overview.html:369 -#: core/templates/user/overview.html:405 +#: core/templates/user/overview.html:348 core/templates/user/overview.html:390 +#: core/templates/user/overview.html:426 #, python-format msgid "last %(number)s" msgstr "" #: core/templates/user/overview.html:27 core/templates/user/overview.html:146 -#: core/templates/user/overview.html:325 core/templates/user/overview.html:364 -#: core/templates/user/overview.html:400 gym/templates/gym/member_list.html:210 -#: gym/templates/gym/member_list.html:243 -#: gym/templates/gym/member_list.html:280 +#: core/templates/user/overview.html:343 core/templates/user/overview.html:382 +#: core/templates/user/overview.html:421 gym/templates/gym/member_list.html:226 +#: gym/templates/gym/member_list.html:262 +#: gym/templates/gym/member_list.html:302 msgid "Overview" msgstr "Преглед" #: core/templates/user/overview.html:28 -#: manager/templates/schedule/view.html:163 +#: manager/templates/schedule/view.html:125 #: manager/templates/workout/overview.html:39 manager/views/schedule_step.py:60 msgid "Add workout" msgstr "Добави упражнение" @@ -1039,38 +1004,36 @@ msgstr "Описание" msgid "Number of logs (days)" msgstr "" -#: core/templates/user/overview.html:37 core/views/user.py:600 +#: core/templates/user/overview.html:37 core/views/user.py:599 #: gym/templates/gym/email_inactive_members.html:4 gym/views/gym.py:158 msgid "Last activity" msgstr "" #: core/templates/user/overview.html:58 #: manager/templates/calendar/month.html:128 -#: manager/templates/schedule/view.html:144 #: manager/templates/workout/overview.html:28 msgid "No workouts found." msgstr "Не са намерени тренировки." #: core/templates/user/overview.html:68 manager/forms.py:280 -#: manager/templates/workout/view.html:106 +#: manager/templates/workout/view.html:114 msgid "Log" msgstr "" #: core/templates/user/overview.html:77 manager/models/session.py:83 -#: manager/templates/calendar/partial_overview_table.html:52 +#: manager/templates/calendar/partial_overview_table.html:54 msgid "General impression" msgstr "" -#: core/templates/user/overview.html:78 core/templates/user/overview.html:369 +#: core/templates/user/overview.html:78 core/templates/user/overview.html:390 #: manager/models/session.py:73 -#: manager/templates/calendar/partial_overview_table.html:56 -#: manager/templates/workout/log.html:89 +#: manager/templates/calendar/partial_overview_table.html:58 msgid "Notes" msgstr "Бележки" #: core/templates/user/overview.html:79 #: exercises/templates/history/overview.html:30 -#: manager/templates/calendar/partial_overview_table.html:42 +#: manager/templates/calendar/partial_overview_table.html:44 msgid "Time" msgstr "" @@ -1108,121 +1071,121 @@ msgstr "Мазнини" msgid "kcal" msgstr "" -#: core/templates/user/overview.html:201 core/templates/user/overview.html:322 -#: core/templates/user/overview.html:361 core/templates/user/overview.html:397 -#: core/templates/user/overview.html:442 gym/templates/gym/list.html:42 -#: gym/templates/gym/member_list.html:84 gym/templates/gym/member_list.html:137 -#: gym/templates/gym/member_list.html:173 -#: gym/templates/gym/member_list.html:207 -#: gym/templates/gym/member_list.html:240 -#: gym/templates/gym/member_list.html:277 -#: manager/templates/schedule/view.html:100 +#: core/templates/user/overview.html:201 core/templates/user/overview.html:340 +#: core/templates/user/overview.html:379 core/templates/user/overview.html:418 +#: core/templates/user/overview.html:463 gym/templates/gym/list.html:45 +#: gym/templates/gym/member_list.html:91 gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:187 +#: gym/templates/gym/member_list.html:223 +#: gym/templates/gym/member_list.html:259 +#: gym/templates/gym/member_list.html:299 +#: manager/templates/schedule/view.html:54 msgid "Actions" msgstr "Действия" -#: core/templates/user/overview.html:207 +#: core/templates/user/overview.html:210 msgid "Deactivate user" msgstr "" -#: core/templates/user/overview.html:209 +#: core/templates/user/overview.html:214 msgid "Activate user" msgstr "" -#: core/templates/user/overview.html:211 +#: core/templates/user/overview.html:223 msgid "Reset user password" msgstr "" -#: core/templates/user/overview.html:214 gym/templates/gym/member_list.html:30 +#: core/templates/user/overview.html:227 gym/templates/gym/member_list.html:30 msgid "Roles" msgstr "" -#: core/templates/user/overview.html:225 +#: core/templates/user/overview.html:243 msgid "Password reset confirmation" msgstr "Потвърждение за нулиране на паролата" -#: core/templates/user/overview.html:229 +#: core/templates/user/overview.html:247 msgid "Do you really want to change this user's password?" msgstr "" -#: core/templates/user/overview.html:232 +#: core/templates/user/overview.html:250 #: exercises/templates/history/overview.html:106 msgid "No" msgstr "" -#: core/templates/user/overview.html:233 +#: core/templates/user/overview.html:251 #: exercises/templates/history/overview.html:99 msgid "Yes" msgstr "" -#: core/templates/user/overview.html:254 gym/templates/gym/member_list.html:93 +#: core/templates/user/overview.html:272 gym/templates/gym/member_list.html:105 msgid "Details" msgstr "" -#: core/templates/user/overview.html:258 gym/views/export.py:57 -#: manager/helpers.py:86 manager/templates/schedule/view.html:98 +#: core/templates/user/overview.html:276 gym/views/export.py:57 +#: manager/helpers.py:86 manager/templates/schedule/view.html:52 msgid "Nr." msgstr "№" -#: core/templates/user/overview.html:280 gym/models/contract.py:287 +#: core/templates/user/overview.html:298 gym/models/contract.py:287 #: gym/models/gym.py:50 gym/templates/contract/view.html:75 -#: gym/templates/gym/member_list.html:100 gym/views/export.py:68 +#: gym/templates/gym/member_list.html:112 gym/views/export.py:68 msgid "Phone" msgstr "" -#: core/templates/user/overview.html:284 gym/templates/contract/view.html:87 -#: gym/templates/gym/member_list.html:118 +#: core/templates/user/overview.html:302 gym/templates/contract/view.html:87 +#: gym/templates/gym/member_list.html:130 msgid "Address" msgstr "" -#: core/templates/user/overview.html:295 +#: core/templates/user/overview.html:313 msgid "Registered" msgstr "" -#: core/templates/user/overview.html:299 +#: core/templates/user/overview.html:317 msgid "Last login" msgstr "" -#: core/templates/user/overview.html:304 +#: core/templates/user/overview.html:322 msgid "Status" msgstr "" -#: core/templates/user/overview.html:307 +#: core/templates/user/overview.html:325 msgid "Active" msgstr "" -#: core/templates/user/overview.html:309 +#: core/templates/user/overview.html:327 msgid "Inactive" msgstr "" -#: core/templates/user/overview.html:330 gym/templates/contract/list.html:4 -#: gym/templates/gym/member_list.html:202 +#: core/templates/user/overview.html:348 gym/templates/contract/list.html:4 +#: gym/templates/gym/member_list.html:218 msgid "Contracts" msgstr "" -#: core/templates/user/overview.html:405 gym/templates/document/list.html:4 +#: core/templates/user/overview.html:426 gym/templates/document/list.html:4 msgid "Documents" msgstr "" -#: core/templates/user/overview.html:412 gym/templates/document/list.html:32 -#: manager/forms.py:292 manager/templates/workout/view.html:132 +#: core/templates/user/overview.html:433 gym/templates/document/list.html:33 +#: manager/forms.py:292 manager/templates/workout/view.html:143 msgid "Download" msgstr "" -#: core/templates/user/overview.html:450 gym/views/admin_config.py:44 +#: core/templates/user/overview.html:474 gym/views/admin_config.py:44 #: gym/views/admin_config.py:58 gym/views/user_config.py:46 msgid "Configuration" msgstr "" -#: core/templates/user/overview.html:453 gym/models/user_config.py:92 +#: core/templates/user/overview.html:477 gym/models/user_config.py:92 msgid "Include in inactive overview" msgstr "" -#: core/templates/user/overview.html:486 +#: core/templates/user/overview.html:510 #, python-format msgid "Admin login is only available for users in %(gym_name)s" msgstr "" -#: core/templates/user/overview.html:490 +#: core/templates/user/overview.html:514 msgid "Log in as this user" msgstr "" @@ -1242,19 +1205,19 @@ msgstr "" msgid "Send verification email" msgstr "" -#: core/templates/user/preferences.html:30 +#: core/templates/user/preferences.html:31 msgid "You need to verify your email to contribute exercises" msgstr "" -#: core/templates/user/preferences.html:50 core/views/user.py:611 +#: core/templates/user/preferences.html:55 core/views/user.py:610 msgid "Change password" msgstr "Смени парола" -#: core/templatetags/wger_extras.py:205 i18n.tpl:37 +#: core/templatetags/wger_extras.py:197 i18n.tpl:37 msgid "kg" msgstr "" -#: core/templatetags/wger_extras.py:207 +#: core/templatetags/wger_extras.py:199 #: nutrition/templates/ingredient/view.html:60 #: nutrition/templates/ingredient/view.html:66 #: nutrition/templates/ingredient/view.html:73 @@ -1266,11 +1229,11 @@ msgctxt "weight unit, i.e. grams" msgid "g" msgstr "" -#: core/templatetags/wger_extras.py:210 i18n.tpl:38 +#: core/templatetags/wger_extras.py:202 i18n.tpl:38 msgid "lb" msgstr "" -#: core/templatetags/wger_extras.py:212 +#: core/templatetags/wger_extras.py:204 msgctxt "weight unit, i.e. ounces" msgid "oz" msgstr "" @@ -1297,13 +1260,13 @@ msgid "Delete {0}?" msgstr "" #: core/views/languages.py:111 core/views/license.py:85 -#: core/views/repetition_units.py:86 core/views/user.py:474 +#: core/views/repetition_units.py:86 core/views/user.py:473 #: core/views/weight_units.py:86 exercises/views/categories.py:98 #: exercises/views/equipment.py:81 exercises/views/muscles.py:87 #: gym/views/admin_notes.py:161 gym/views/config.py:68 #: gym/views/contract.py:186 gym/views/contract_option.py:123 #: gym/views/contract_type.py:123 gym/views/document.py:171 -#: gym/views/gym.py:463 manager/views/day.py:100 manager/views/schedule.py:333 +#: gym/views/gym.py:463 manager/views/day.py:96 manager/views/schedule.py:333 #: manager/views/workout.py:267 nutrition/views/ingredient.py:145 #: nutrition/views/unit.py:143 #, python-brace-format @@ -1333,48 +1296,48 @@ msgstr "" msgid "Your feedback was successfully sent. Thank you!" msgstr "Вашият съвет/коментар бе изпратен успешно. Благодарим ви!" -#: core/views/user.py:156 +#: core/views/user.py:155 #, python-brace-format msgid "Account \"{0}\" was successfully deleted" msgstr "" -#: core/views/user.py:292 +#: core/views/user.py:291 msgid "You were successfully registered" msgstr "Вие се регистрирахте успешно" -#: core/views/user.py:351 +#: core/views/user.py:350 msgid "Settings successfully updated" msgstr "Настройките бяха успешно обновени" -#: core/views/user.py:390 +#: core/views/user.py:389 msgid "The user was successfully deactivated" msgstr "" -#: core/views/user.py:427 +#: core/views/user.py:426 msgid "The user was successfully activated" msgstr "" -#: core/views/user.py:442 +#: core/views/user.py:441 msgid "Edit user" msgstr "" -#: core/views/user.py:597 gym/templates/gym/member_list.html:26 +#: core/views/user.py:596 gym/templates/gym/member_list.html:26 #: gym/views/gym.py:158 msgid "ID" msgstr "" -#: core/views/user.py:598 gym/forms.py:95 gym/templates/contract/view.html:55 +#: core/views/user.py:597 gym/forms.py:95 gym/templates/contract/view.html:55 #: gym/templates/gym/member_list.html:27 gym/views/export.py:59 #: gym/views/gym.py:158 gym/views/gym.py:217 msgid "Username" msgstr "" -#: core/views/user.py:601 gym/templates/gym/new_user.html:34 +#: core/views/user.py:600 gym/templates/gym/new_user.html:34 #: gym/views/export.py:58 gym/views/gym.py:217 msgid "Gym" msgstr "" -#: core/views/user.py:660 +#: core/views/user.py:659 #, python-format msgid "A verification email was sent to %(email)s" msgstr "" @@ -1534,11 +1497,6 @@ msgstr "" msgid "Equipment list" msgstr "" -#: exercises/templates/equipment/admin-overview.html:39 -#: exercises/views/equipment.py:92 -msgid "Add new equipment" -msgstr "" - #: exercises/templates/history/overview.html:11 #, fuzzy #| msgid "Exercise day" @@ -1592,11 +1550,6 @@ msgstr "" msgid "Muscle overview" msgstr "Преглед на мускулите" -#: exercises/templates/muscles/admin-overview.html:38 -#: exercises/views/muscles.py:68 -msgid "Add muscle" -msgstr "Добави мускул" - #: exercises/views/categories.py:72 msgid "Add category" msgstr "Добави категория" @@ -1605,6 +1558,10 @@ msgstr "Добави категория" msgid "This will also delete all exercises in this category." msgstr "Това също ще изтрие всички упражнения в тази категория." +#: exercises/views/equipment.py:92 +msgid "Add new equipment" +msgstr "" + #: exercises/views/equipment.py:104 exercises/views/equipment.py:115 msgid "Delete equipment?" msgstr "" @@ -1613,6 +1570,10 @@ msgstr "" msgid "This will delete the exercise from all workouts." msgstr "Това ще изтрие упражнението от всички тренировки." +#: exercises/views/muscles.py:68 +msgid "Add muscle" +msgstr "Добави мускул" + #: gallery/templates/images/overview.html:62 #, fuzzy #| msgid "Add muscle" @@ -1700,7 +1661,7 @@ msgid "Contract is active" msgstr "" #: gym/models/contract.py:237 gym/templates/contract/view.html:69 -#: manager/models/schedule.py:61 manager/templates/schedule/view.html:67 +#: manager/models/schedule.py:61 manager/templates/schedule/view.html:21 msgid "Start date" msgstr "Начална дата" @@ -1736,7 +1697,7 @@ msgstr "" msgid "Admin: can administrate the different gyms" msgstr "" -#: gym/models/gym.py:65 gym/templates/gym/member_list.html:114 +#: gym/models/gym.py:65 gym/templates/gym/member_list.html:126 msgid "Owner" msgstr "" @@ -1746,7 +1707,7 @@ msgid "" "considered inactive" msgstr "" -#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:152 +#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:166 msgid "Show name in header" msgstr "" @@ -1759,7 +1720,7 @@ msgstr "" msgid "Configuration for {self.gym.name}" msgstr "" -#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:184 +#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:200 msgid "Overview of inactive members" msgstr "" @@ -1783,7 +1744,7 @@ msgstr "" msgid "User notes" msgstr "" -#: gym/templates/contract/list.html:36 +#: gym/templates/contract/list.html:34 msgid "Show" msgstr "" @@ -1809,11 +1770,11 @@ msgstr "" msgid "Gym list" msgstr "" -#: gym/templates/gym/list.html:50 +#: gym/templates/gym/list.html:53 msgid "Global gym configuration" msgstr "" -#: gym/templates/gym/list.html:67 gym/views/gym.py:171 +#: gym/templates/gym/list.html:69 gym/views/gym.py:171 msgid "Add new gym" msgstr "" @@ -1825,43 +1786,43 @@ msgstr "" msgid "Gym manager" msgstr "" -#: gym/templates/gym/member_list.html:69 +#: gym/templates/gym/member_list.html:76 msgid "This gym has no administrators or trainers" msgstr "" -#: gym/templates/gym/member_list.html:88 +#: gym/templates/gym/member_list.html:98 msgid "Export" msgstr "" -#: gym/templates/gym/member_list.html:125 +#: gym/templates/gym/member_list.html:137 msgid "Members" msgstr "" -#: gym/templates/gym/member_list.html:145 +#: gym/templates/gym/member_list.html:159 msgid "Gym configuration" msgstr "" -#: gym/templates/gym/member_list.html:148 +#: gym/templates/gym/member_list.html:162 msgid "Inactive members" msgstr "" -#: gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:163 msgid "weeks" msgstr "" -#: gym/templates/gym/member_list.html:181 +#: gym/templates/gym/member_list.html:197 msgid "My configuration" msgstr "" -#: gym/templates/gym/member_list.html:215 +#: gym/templates/gym/member_list.html:234 msgid "Types" msgstr "" -#: gym/templates/gym/member_list.html:285 +#: gym/templates/gym/member_list.html:307 msgid "Emails" msgstr "" -#: gym/templates/gym/member_list.html:315 +#: gym/templates/gym/member_list.html:336 msgid "Add member" msgstr "" @@ -2158,28 +2119,38 @@ msgstr "Също използвай съставки на Английски" msgid "Unit" msgstr "" +#: manager/forms.py:191 manager/models/log.py:103 manager/models/setting.py:102 +#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 +msgid "RiR" +msgstr "" + #: manager/forms.py:279 msgid "Type" msgstr "" -#: manager/forms.py:280 manager/templates/workout/view.html:113 +#: manager/forms.py:280 manager/templates/workout/view.html:122 msgid "Table" msgstr "" -#: manager/forms.py:282 manager/templates/workout/view.html:119 +#: manager/forms.py:282 manager/templates/workout/view.html:129 msgid "with images" msgstr "" -#: manager/forms.py:283 manager/templates/workout/view.html:125 +#: manager/forms.py:283 manager/templates/workout/view.html:136 msgid "with comments" msgstr "" +#: manager/helpers.py:86 manager/models/setting.py:72 +#: manager/templates/set/formset.html:9 +msgid "Reps" +msgstr "Повторения" + #: manager/management/commands/email-reminders.py:121 msgid "Workout will expire soon" msgstr "" #: manager/models/day.py:34 manager/models/log.py:58 -#: manager/models/session.py:60 manager/templates/schedule/view.html:102 +#: manager/models/session.py:60 manager/templates/schedule/view.html:56 #: manager/templates/workout/view.html:9 manager/templates/workout/view.html:17 #: manager/views/pdf.py:85 manager/views/pdf.py:161 #: manager/views/schedule.py:151 manager/views/schedule.py:221 @@ -2201,7 +2172,7 @@ msgid "Name or short description of the schedule. For example 'Program XYZ'." msgstr "" "Име или кратко описание на тренировъчната схема. Например \"Схема XYZ\"." -#: manager/models/schedule.py:65 manager/templates/schedule/view.html:71 +#: manager/models/schedule.py:65 manager/templates/schedule/view.html:25 msgid "Schedule active" msgstr "Схемата е активна" @@ -2215,7 +2186,7 @@ msgstr "" "(например, ще бъде показан на таблото ви). Всички други графици ще бъдат " "маркирани като неактивни." -#: manager/models/schedule.py:77 manager/templates/schedule/view.html:81 +#: manager/models/schedule.py:77 manager/templates/schedule/view.html:35 msgid "Is a loop" msgstr "" @@ -2236,7 +2207,7 @@ msgid "The duration in weeks" msgstr "Времетраене в седмици" #: manager/models/schedule_step.py:64 manager/models/set.py:53 -#: manager/models/setting.py:113 nutrition/models/meal.py:55 +#: manager/models/setting.py:113 nutrition/models/meal.py:53 #: nutrition/models/meal_item.py:66 msgid "Order" msgstr "Ред" @@ -2370,7 +2341,7 @@ msgstr "" msgid "Workout session" msgstr "" -#: manager/templates/calendar/partial_overview_table.html:27 +#: manager/templates/calendar/partial_overview_table.html:26 msgid "Delete with logs" msgstr "" @@ -2390,21 +2361,27 @@ msgid "" "will simply be edited. Weight entries are always added." msgstr "" -#: manager/templates/schedule/overview.html:5 +#: manager/templates/schedule/overview.html:4 msgid "Your schedules" msgstr "Твоите графици" #: manager/templates/schedule/overview.html:19 -#: manager/templates/schedule/view.html:131 -#: manager/templates/schedule/view.html:183 +#: manager/templates/schedule/view.html:96 +#: manager/templates/schedule/view.html:146 #: manager/templates/workout/overview.html:16 msgid "active" msgstr "активен" -#: manager/templates/schedule/overview.html:28 +#: manager/templates/schedule/overview.html:27 msgid "No schedules found." msgstr "Няма намерени графици." +#: manager/templates/schedule/overview.html:28 +#, fuzzy +#| msgid "Add one now." +msgid "Add one now" +msgstr "Добави сега." + #: manager/templates/schedule/overview.html:36 #, fuzzy #| msgid "" @@ -2429,14 +2406,15 @@ msgid "" " before jumping to the next. It is also possible to create a loop, so " "you\n" " always do the same workouts in succession, e.g. A > B > C > A > B > " -"C and so on." +"C and so\n" +" on." msgstr "" "Можеш да уточниш колко дълга желаеш да е всяка тренировка\n" "преди да продължиш към следващата. Също така е възможно да повтаряш " "циклично\n" "същите тренировки, например A > B > C > A > B > C и т.н." -#: manager/templates/schedule/overview.html:43 +#: manager/templates/schedule/overview.html:44 #, fuzzy #| msgid "" #| "The currently active schedule will remain active (and be\n" @@ -2461,25 +2439,21 @@ msgstr "Добави график" msgid "Schedule" msgstr "" -#: manager/templates/schedule/view.html:85 +#: manager/templates/schedule/view.html:39 msgid "" "This schedule is a loop and will go through the workouts above till you " "deactivate it" msgstr "Този график е повтарящ се докато не го деактивираш." -#: manager/templates/schedule/view.html:103 +#: manager/templates/schedule/view.html:57 msgid "Weeks" msgstr "Седмици" -#: manager/templates/schedule/view.html:115 -msgid "Move me" -msgstr "Премести ме" - -#: manager/templates/schedule/view.html:156 +#: manager/templates/schedule/view.html:121 msgid "Start schedule" msgstr "" -#: manager/templates/schedule/view.html:187 +#: manager/templates/schedule/view.html:150 #, python-format msgid "" "%(weeks)s Week\n" @@ -2490,11 +2464,11 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: manager/templates/schedule/view.html:221 +#: manager/templates/schedule/view.html:184 msgid "Adding workouts" msgstr "Добавяне на тренировки" -#: manager/templates/schedule/view.html:223 +#: manager/templates/schedule/view.html:186 msgid "" "Add as many workouts to the schedule as you want. You can\n" " edit the order by dragging and dropping them. It's also possible " @@ -2502,44 +2476,37 @@ msgid "" " than once." msgstr "" -#: manager/templates/schedule/view.html:232 -#: manager/templates/schedule/view.html:243 -#: manager/templates/schedule/view.html:290 +#: manager/templates/schedule/view.html:195 +#: manager/templates/schedule/view.html:209 +#: manager/templates/schedule/view.html:263 #: manager/templates/workout/view.html:69 -#: manager/templates/workout/view.html:79 -#: manager/templates/workout/view.html:178 +#: manager/templates/workout/view.html:83 +#: manager/templates/workout/view.html:192 msgid "Export calendar file" msgstr "" -#: manager/templates/schedule/view.html:236 +#: manager/templates/schedule/view.html:201 msgid "Export this schedule as a calendar file." msgstr "" -#: manager/templates/schedule/view.html:237 -#: manager/templates/workout/view.html:74 +#: manager/templates/schedule/view.html:202 +#: manager/templates/workout/view.html:76 msgid "" "You can then import the file it into your calendar\n" " application for example google calendar, outlook or " "iCal. This will create\n" " an appointment for each training day with the " -"appropriate exercises." +"appropriate\n" +" exercises." msgstr "" -#: manager/templates/schedule/view.html:258 -#: manager/templates/schedule/view.html:294 -#: manager/templates/workout/view.html:94 -#: manager/templates/workout/view.html:174 +#: manager/templates/schedule/view.html:225 +#: manager/templates/schedule/view.html:268 +#: manager/templates/workout/view.html:99 +#: manager/templates/workout/view.html:188 msgid "Download as PDF" msgstr "Свали като PDF" -#: manager/templates/schedule/view.html:299 -msgid "Edit schedule" -msgstr "Промени график" - -#: manager/templates/schedule/view.html:304 -msgid "Delete schedule" -msgstr "Изтрий график" - #: manager/templates/set/add.html:9 #, python-format msgid "Add exercises to day \"%(day_name)s\"" @@ -2604,55 +2571,6 @@ msgid "" "You will regularly receive such reminders till you enter your current weight." msgstr "" -#: manager/templates/workout/log.html:10 manager/templates/workout/log.html:11 -msgid "Weight log" -msgstr "Запис на тегло" - -#: manager/templates/workout/log.html:29 -msgid "Weight log for workout" -msgstr "Запис за тежести на тренировка" - -#: manager/templates/workout/log.html:49 -msgid "Add weight log to this day" -msgstr "Добави данни за тежест от деня" - -#: manager/templates/workout/log.html:69 -msgid "No weight entries here." -msgstr "Няма попълнения за тегло тук." - -#: manager/templates/workout/log.html:77 -msgid "No exercises for this day." -msgstr "Няма упражнения за деня." - -#: manager/templates/workout/log.html:90 -msgid "" -"This page shows the weight logs belonging to this workout\n" -"only. Click on an exercise to see all the historical data for\n" -"it." -msgstr "" -"Тази страница показва дневниците за записите за тежести принадлежащи към " -"тази тренировка\n" -"само. Кликнете върху дадено упражнение за да видите всичките исторически " -"данни\n" -"за него." - -#: manager/templates/workout/log.html:94 -msgid "" -"If on a single day there is more than one entry with the\n" -"same number of repetitions, but different weights, only the entry with the\n" -"higher weight is shown in the diagram." -msgstr "" -"Ако за едни ден има повече от едно попълнение с същия брой\n" -"повтерения, но различни тежести, само попълнението с по-\n" -"голямата тежест е показано на диаграмата." - -#: manager/templates/workout/log.html:98 -msgid "" -"Note that only entries with a weight unit (kg or lb) and\n" -"repetitions are charted, other combinations such as time or until failure\n" -"are ignored here." -msgstr "" - #: manager/templates/workout/overview.html:25 #, fuzzy #| msgid "No schedules found." @@ -2696,27 +2614,23 @@ msgstr "" msgid "Set the repetitions for each set" msgstr "Задайте повторения за всяка серия" -#: manager/templates/workout/view.html:73 +#: manager/templates/workout/view.html:75 msgid "Export this workout as a calendar file." msgstr "" -#: manager/templates/workout/view.html:144 +#: manager/templates/workout/view.html:156 msgid "Logs" msgstr "" -#: manager/templates/workout/view.html:146 +#: manager/templates/workout/view.html:159 msgid "View logs" msgstr "" -#: manager/templates/workout/view.html:169 manager/views/schedule_step.py:99 -msgid "Edit workout" -msgstr "Редактирай тренировката" - -#: manager/templates/workout/view.html:182 manager/views/workout.py:281 +#: manager/templates/workout/view.html:195 manager/views/workout.py:281 msgid "Mark as template" msgstr "" -#: manager/views/day.py:109 +#: manager/views/day.py:105 msgid "Add workout day" msgstr "Добави тренировъчен ден" @@ -2733,6 +2647,10 @@ msgstr "Тренировка за %s" msgid "Create schedule" msgstr "Направи график" +#: manager/views/schedule_step.py:99 +msgid "Edit workout" +msgstr "Редактирай тренировката" + #: manager/views/workout.py:209 msgid "Copy workout" msgstr "Копирай тренировка" @@ -2860,7 +2778,7 @@ msgstr "" msgid "Unit amount, e.g. \"1 Cup\" or \"1/2 spoon\"" msgstr "Единица количество, напр. \"1 Чаша\" или \"1/2 лъжица\"" -#: nutrition/models/log.py:52 nutrition/models/meal.py:50 +#: nutrition/models/log.py:52 nutrition/models/meal.py:48 #: nutrition/models/meal_item.py:48 nutrition/models/plan.py:108 msgid "Nutrition plan" msgstr "План за хранене" @@ -2875,11 +2793,11 @@ msgstr "Ядене" msgid "Date and Time (Approx.)" msgstr "Време (приблизително)" -#: nutrition/models/meal.py:62 +#: nutrition/models/meal.py:60 msgid "Time (approx)" msgstr "Време (приблизително)" -#: nutrition/models/meal.py:69 +#: nutrition/models/meal.py:67 msgid "" "Give meals a textual description / name such as \"Breakfast\" or \"after " "workout\"" @@ -2903,58 +2821,6 @@ msgid "" "calories. You can use the calculator or enter the value yourself." msgstr "" -#: nutrition/templates/bmi/form.html:62 -msgid "Results" -msgstr "" - -#: nutrition/templates/bmi/form.html:63 -msgid "Your BMI is: " -msgstr "" - -#: nutrition/templates/bmi/form.html:71 -msgid "Legend" -msgstr "" - -#: nutrition/templates/bmi/form.html:75 -msgid "Adipositas III" -msgstr "" - -#: nutrition/templates/bmi/form.html:79 -msgid "Adipositas II" -msgstr "" - -#: nutrition/templates/bmi/form.html:83 -msgid "Adipositas I" -msgstr "" - -#: nutrition/templates/bmi/form.html:87 -msgid "Overweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:91 -msgid "Normal weight" -msgstr "" - -#: nutrition/templates/bmi/form.html:95 -msgid "Slight underweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:99 -msgid "Moderate underweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:103 -msgid "Strong underweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:117 -msgid "" -"Use the form to calculate your BMI (Body Mass Index).\n" -"If you have entered data in the weight section, the last entry will\n" -"be used automatically. Otherwise the weight you enter here will be saved\n" -"in a new entry." -msgstr "" - #: nutrition/templates/ingredient/email_new.tpl:1 #, python-format msgid "" @@ -3008,10 +2874,6 @@ msgstr "Няма съставки." msgid "Search" msgstr "Търси" -#: nutrition/templates/ingredient/overview.html:62 -msgid "Add ingredient" -msgstr "Добави съставка" - #: nutrition/templates/ingredient/view.html:45 nutrition/views/plan.py:229 msgid "Macronutrients" msgstr "Макронутриенти" @@ -3031,20 +2893,11 @@ msgstr "Не е налично" msgid "Others" msgstr "Други" -#: nutrition/templates/ingredient/view.html:144 -#: nutrition/templates/units/list.html:46 nutrition/views/unit.py:86 +#: nutrition/templates/ingredient/view.html:143 +#: nutrition/templates/units/list.html:50 nutrition/views/unit.py:86 msgid "Add new weight unit" msgstr "Добави нова единица за тегло" -#: nutrition/templates/ingredient/view.html:206 -#: nutrition/templates/ingredient/view.html:209 -msgid "Edit ingredient" -msgstr "Промени съставка" - -#: nutrition/templates/ingredient/view.html:213 -msgid "Delete ingredient" -msgstr "Изтрий съставка" - #: nutrition/templates/rate/form.html:25 msgid "Basal metabolic rate" msgstr "" @@ -3113,18 +2966,6 @@ msgid "" "yourself for some weeks and change the total amount if needed." msgstr "" -#: nutrition/views/bmi.py:89 -msgid "Please make sure your height is within the appropriate range." -msgstr "" - -#: nutrition/views/bmi.py:92 -msgid "140 to 230" -msgstr "" - -#: nutrition/views/bmi.py:94 -msgid "56 to 90" -msgstr "" - #: nutrition/views/ingredient.py:157 msgid "Add a new ingredient" msgstr "Добави нова съставка" @@ -3631,6 +3472,69 @@ msgstr "" msgid "Delete weight entry for the %s" msgstr "" +#~ msgid "Move me" +#~ msgstr "Премести ме" + +#~ msgid "This exercise has no repetitions." +#~ msgstr "Това упражнение няма повторения." + +#~ msgid "Edit them now." +#~ msgstr "Поправи сега." + +#~ msgid "Add exercises to this workout day" +#~ msgstr "Добави упражнения за този тренировъчен ден" + +#~ msgid "Edit schedule" +#~ msgstr "Промени график" + +#~ msgid "Delete schedule" +#~ msgstr "Изтрий график" + +#~ msgid "Weight log" +#~ msgstr "Запис на тегло" + +#~ msgid "Weight log for workout" +#~ msgstr "Запис за тежести на тренировка" + +#~ msgid "Add weight log to this day" +#~ msgstr "Добави данни за тежест от деня" + +#~ msgid "No weight entries here." +#~ msgstr "Няма попълнения за тегло тук." + +#~ msgid "No exercises for this day." +#~ msgstr "Няма упражнения за деня." + +#~ msgid "" +#~ "This page shows the weight logs belonging to this workout\n" +#~ "only. Click on an exercise to see all the historical data for\n" +#~ "it." +#~ msgstr "" +#~ "Тази страница показва дневниците за записите за тежести принадлежащи към " +#~ "тази тренировка\n" +#~ "само. Кликнете върху дадено упражнение за да видите всичките исторически " +#~ "данни\n" +#~ "за него." + +#~ msgid "" +#~ "If on a single day there is more than one entry with the\n" +#~ "same number of repetitions, but different weights, only the entry with " +#~ "the\n" +#~ "higher weight is shown in the diagram." +#~ msgstr "" +#~ "Ако за едни ден има повече от едно попълнение с същия брой\n" +#~ "повтерения, но различни тежести, само попълнението с по-\n" +#~ "голямата тежест е показано на диаграмата." + +#~ msgid "Add ingredient" +#~ msgstr "Добави съставка" + +#~ msgid "Edit ingredient" +#~ msgstr "Промени съставка" + +#~ msgid "Delete ingredient" +#~ msgstr "Изтрий съставка" + #~ msgid "Ingredients pending review" #~ msgstr "Съставки без преглед" diff --git a/wger/locale/ca/LC_MESSAGES/django.po b/wger/locale/ca/LC_MESSAGES/django.po index 4f40861a3..1911c003c 100644 --- a/wger/locale/ca/LC_MESSAGES/django.po +++ b/wger/locale/ca/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-14 15:59+0200\n" +"POT-Creation-Date: 2024-11-14 19:23+0100\n" "PO-Revision-Date: 2024-08-04 23:09+0000\n" "Last-Translator: Zixu Sun \n" "Language-Team: Catalan \n" @@ -18,7 +18,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.7-dev\n" -#: config/models/gym_config.py:46 gym/templates/gym/list.html:53 +#: config/models/gym_config.py:46 gym/templates/gym/list.html:56 msgid "Default gym" msgstr "Gimnàs per defecte" @@ -31,28 +31,28 @@ msgstr "" "tot nou usuari que es registri a dit gimnàs i actualitzarà tots els usuaris " "existents que no en tinguin." -#: config/views/gym_config.py:42 core/templates/language/view.html:67 -#: core/templates/license/list.html:17 core/templates/misc/license/list.html:18 +#: config/views/gym_config.py:42 core/templates/language/view.html:64 +#: core/templates/license/list.html:17 #: core/templates/repetition_unit/list.html:18 -#: core/templates/tags/render_day.html:39 -#: core/templates/tags/render_day.html:75 core/templates/user/overview.html:204 -#: core/templates/user/overview.html:445 +#: core/templates/user/overview.html:204 core/templates/user/overview.html:467 #: core/templates/weight_unit/list.html:18 #: exercises/templates/categories/admin-overview.html:17 #: exercises/templates/equipment/admin-overview.html:17 -#: exercises/templates/muscles/admin-overview.html:17 -#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:32 -#: gym/templates/contract/list.html:31 gym/templates/contract/view.html:107 -#: gym/templates/contract_option/list.html:32 -#: gym/templates/contract_type/list.html:32 gym/templates/document/list.html:38 -#: gym/templates/gym/list.html:20 gym/templates/gym/list.html:46 -#: gym/templates/gym/member_list.html:87 gym/templates/gym/member_list.html:140 -#: gym/templates/gym/member_list.html:176 -#: manager/templates/calendar/day.html:68 -#: manager/templates/calendar/month.html:85 -#: manager/templates/calendar/partial_overview_table.html:18 -#: manager/templates/schedule/view.html:118 -#: nutrition/templates/ingredient/view.html:165 +#: exercises/templates/muscles/admin-overview.html:16 +#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:31 +#: gym/templates/contract/list.html:30 gym/templates/contract/view.html:106 +#: gym/templates/contract_option/list.html:29 +#: gym/templates/contract_type/list.html:30 gym/templates/document/list.html:38 +#: gym/templates/gym/list.html:19 gym/templates/gym/list.html:48 +#: gym/templates/gym/member_list.html:94 gym/templates/gym/member_list.html:152 +#: gym/templates/gym/member_list.html:190 +#: manager/templates/calendar/day.html:67 +#: manager/templates/calendar/month.html:84 +#: manager/templates/calendar/partial_overview_table.html:16 +#: manager/templates/schedule/view.html:271 +#: manager/templates/workout/view.html:181 +#: nutrition/templates/ingredient/view.html:164 +#: nutrition/templates/ingredient/view.html:209 #: nutrition/templates/units/list.html:19 msgid "Edit" msgstr "Edita" @@ -88,25 +88,25 @@ msgstr "El meu programa d'entrenament xamós" msgid "Empty placeholder schedule" msgstr "Programa buit per a reservar l'espai" -#: core/forms.py:69 core/templates/navigation.html:285 -#: core/templates/navigation.html:291 core/templates/user/login.html:4 +#: core/forms.py:69 core/templates/navigation.html:284 +#: core/templates/navigation.html:290 core/templates/user/login.html:4 #: software/templates/features.html:82 software/templates/features.html:427 msgid "Login" msgstr "Accedeix" -#: core/forms.py:108 core/forms.py:214 gym/views/export.py:61 +#: core/forms.py:108 core/forms.py:216 gym/views/export.py:61 #: gym/views/gym.py:217 msgid "First name" msgstr "Nom" -#: core/forms.py:109 core/forms.py:215 core/templates/user/overview.html:266 +#: core/forms.py:109 core/forms.py:217 core/templates/user/overview.html:284 #: gym/views/export.py:62 gym/views/gym.py:217 msgid "Last name" msgstr "Cognom" -#: core/forms.py:111 core/forms.py:180 core/templates/user/overview.html:270 +#: core/forms.py:111 core/forms.py:182 core/templates/user/overview.html:288 #: gym/models/contract.py:256 gym/models/gym.py:58 -#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:104 +#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:116 #: gym/templates/gym/new_user.html:30 gym/views/export.py:60 #: mailer/templates/mailer/gym/form.html:4 #: mailer/templates/mailer/gym/overview.html:4 @@ -125,96 +125,95 @@ msgstr "" msgid "Date of Birth" msgstr "Data de naixement" -#: core/forms.py:148 +#: core/forms.py:149 msgid "Personal data" msgstr "Dades personals" -#: core/forms.py:159 +#: core/forms.py:161 msgid "Workout reminders" msgstr "Recordatoris d'entrenament" -#: core/forms.py:166 +#: core/forms.py:168 msgid "Other settings" msgstr "Altres configuracions" -#: core/forms.py:174 core/views/user.py:624 core/views/user.py:639 -#: core/views/user.py:651 gym/forms.py:73 manager/templates/log/add.html:65 +#: core/forms.py:176 core/views/user.py:623 core/views/user.py:638 +#: core/views/user.py:650 gym/forms.py:73 manager/templates/log/add.html:65 #: manager/templates/set/add.html:70 manager/views/workout.py:203 #: utils/generic_views.py:143 msgid "Save" msgstr "Desa" -#: core/forms.py:181 +#: core/forms.py:183 msgid "Used for password resets and, optionally, email reminders." msgstr "" "Usada per a reinicialitzar contrasenyes i, opcionalment, recordatoris per " "correu." -#: core/forms.py:210 +#: core/forms.py:212 msgid "This e-mail address is already in use." msgstr "Aquesta adreça ja s'està usant." -#: core/forms.py:231 gym/templates/gym/new_user.html:26 +#: core/forms.py:233 gym/templates/gym/new_user.html:26 #: gym/templates/gym/reset_user_password.html:24 gym/views/gym.py:217 msgid "Password" msgstr "Contrasenya" -#: core/forms.py:233 +#: core/forms.py:235 msgid "Please enter your current password." msgstr "Introduïu la contrasenya actual." -#: core/forms.py:242 core/templates/language/view.html:73 -#: core/templates/license/list.html:19 core/templates/misc/license/list.html:22 -#: core/templates/repetition_unit/list.html:20 -#: core/templates/tags/render_day.html:45 -#: core/templates/tags/render_day.html:81 core/templates/user/overview.html:217 -#: core/templates/weight_unit/list.html:20 -#: exercises/templates/categories/admin-overview.html:19 -#: exercises/templates/equipment/admin-overview.html:19 -#: exercises/templates/muscles/admin-overview.html:19 -#: gym/templates/admin_notes/list.html:40 -#: gym/templates/contract_option/list.html:41 -#: gym/templates/contract_type/list.html:41 gym/templates/document/list.html:46 -#: gym/templates/gym/list.html:22 manager/templates/calendar/day.html:73 -#: manager/templates/calendar/month.html:89 -#: manager/templates/calendar/partial_overview_table.html:23 -#: manager/templates/schedule/view.html:122 -#: manager/templates/workout/view.html:188 -#: nutrition/templates/ingredient/view.html:166 +#: core/forms.py:244 core/templates/language/view.html:70 +#: core/templates/license/list.html:21 +#: core/templates/repetition_unit/list.html:22 +#: core/templates/user/overview.html:233 +#: core/templates/weight_unit/list.html:22 +#: exercises/templates/categories/admin-overview.html:21 +#: exercises/templates/equipment/admin-overview.html:21 +#: exercises/templates/muscles/admin-overview.html:20 +#: gym/templates/admin_notes/list.html:37 +#: gym/templates/contract_option/list.html:35 +#: gym/templates/contract_type/list.html:36 gym/templates/document/list.html:46 +#: gym/templates/gym/list.html:23 manager/templates/calendar/day.html:73 +#: manager/templates/calendar/month.html:88 +#: manager/templates/calendar/partial_overview_table.html:22 +#: manager/templates/schedule/view.html:277 +#: manager/templates/workout/view.html:202 +#: nutrition/templates/ingredient/view.html:168 #: nutrition/templates/ingredient/view.html:215 -#: nutrition/templates/units/list.html:22 +#: nutrition/templates/units/list.html:25 msgid "Delete" msgstr "Esborra" -#: core/forms.py:251 +#: core/forms.py:253 msgid "Invalid password" msgstr "Contrasenya invàlida" -#: core/forms.py:263 core/forms.py:338 +#: core/forms.py:265 core/forms.py:340 msgid "The form is secured with reCAPTCHA" msgstr "El formulari està protegit amb reCAPTCHA" -#: core/forms.py:279 core/forms.py:301 core/templates/navigation.html:285 -#: core/templates/navigation.html:297 core/templates/template.html:149 -#: core/templates/user/login.html:20 core/views/user.py:298 +#: core/forms.py:281 core/forms.py:303 core/templates/navigation.html:284 +#: core/templates/navigation.html:296 core/templates/template.html:150 +#: core/templates/user/login.html:20 core/views/user.py:297 #: software/templates/features.html:87 software/templates/features.html:422 msgid "Register" msgstr "Enregistreu-vos" -#: core/forms.py:315 software/templates/features.html:45 +#: core/forms.py:317 software/templates/features.html:45 msgid "Contact" msgstr "Contacte" -#: core/forms.py:316 +#: core/forms.py:318 msgid "Some way of answering you (e-mail, etc.)" msgstr "Algun medi per respondre-us (adreça electrònica, etc.)" -#: core/forms.py:324 exercises/models/comment.py:58 manager/models/set.py:61 +#: core/forms.py:326 exercises/models/comment.py:58 manager/models/set.py:61 #: manager/models/setting.py:114 nutrition/models/log.py:77 msgid "Comment" msgstr "Comentari" -#: core/forms.py:325 +#: core/forms.py:327 msgid "What do you want to say?" msgstr "Què voleu dir?" @@ -452,18 +451,18 @@ msgid "The sum of all hours has to be 24" msgstr "La suma de totes les hores ha de ser 24" #: core/models/rep_unit.py:36 core/models/weight_unit.py:36 -#: core/templates/user/overview.html:262 core/views/user.py:599 +#: core/templates/user/overview.html:280 core/views/user.py:598 #: exercises/models/category.py:29 exercises/models/equipment.py:29 #: exercises/models/exercise.py:59 exercises/models/muscle.py:36 #: gym/models/contract.py:52 gym/models/contract.py:103 gym/models/gym.py:46 #: gym/models/user_document.py:84 gym/templates/contract/view.html:50 -#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:96 +#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:108 #: gym/views/gym.py:158 manager/models/schedule.py:55 #: manager/models/workout.py:57 measurements/models/category.py:36 #: nutrition/models/ingredient.py:111 -#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:67 +#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:65 #: nutrition/models/weight_unit.py:38 -#: nutrition/templates/ingredient/view.html:152 +#: nutrition/templates/ingredient/view.html:151 msgid "Name" msgstr "Nom" @@ -493,10 +492,10 @@ msgid "" "refreshing your browser and if that doesn't help, please try again at a " "later time. If the problem persists, you can seek help in ways listed below:" msgstr "" -"S'ha produït un error al servidor mentre s'estava processant la vostra sol·" -"licitud. Proveu d'actualitzar el navegador i, si això no funciona, torneu-ho " -"a intentar més tard. Si el problema persisteix, podeu buscar ajuda de les " -"maneres que s'indiquen a continuació:" +"S'ha produït un error al servidor mentre s'estava processant la vostra " +"sol·licitud. Proveu d'actualitzar el navegador i, si això no funciona, " +"torneu-ho a intentar més tard. Si el problema persisteix, podeu buscar ajuda " +"de les maneres que s'indiquen a continuació:" #: core/templates/base.html:10 core/templates/base_wide.html:7 #, fuzzy, python-format @@ -521,7 +520,7 @@ msgstr "" msgid "Back to \"%(target)s\"" msgstr "Enrere a \"%(target)s\"" -#: core/templates/delete.html:15 +#: core/templates/delete.html:4 msgid "Are you sure you want to delete this? This action cannot be undone." msgstr "Esteu segur que voleu esborrar això? Aquesta acció no es pot desfer." @@ -575,7 +574,7 @@ msgstr "" msgid "Dashboard" msgstr "Consola" -#: core/templates/language/overview.html:4 core/templates/navigation.html:345 +#: core/templates/language/overview.html:4 core/templates/navigation.html:344 msgid "Languages" msgstr "Llengües" @@ -585,85 +584,72 @@ msgstr "No s'ha trobat res." #: core/templates/language/overview.html:22 #: manager/templates/calendar/month.html:132 -#: manager/templates/schedule/overview.html:28 -#: manager/templates/schedule/view.html:144 +#: manager/templates/schedule/view.html:107 #: manager/templates/workout/overview.html:28 #: nutrition/templates/ingredient/overview.html:38 msgid "Add one now." msgstr "Afegeix-ne un ara." -#: core/templates/language/overview.html:35 core/templates/license/list.html:40 -#: core/templates/misc/license/list.html:43 -#: core/templates/repetition_unit/list.html:43 -#: core/templates/user/overview.html:326 core/templates/user/overview.html:365 -#: core/templates/user/overview.html:401 -#: core/templates/weight_unit/list.html:43 core/views/languages.py:74 +#: core/templates/language/overview.html:34 core/templates/license/list.html:43 +#: core/templates/repetition_unit/list.html:46 +#: core/templates/user/overview.html:344 core/templates/user/overview.html:384 +#: core/templates/user/overview.html:422 +#: core/templates/weight_unit/list.html:46 core/views/languages.py:74 #: core/views/license.py:66 core/views/repetition_units.py:66 #: core/views/weight_units.py:66 -#: exercises/templates/categories/admin-overview.html:38 -#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:67 -#: gym/templates/contract/list.html:73 -#: gym/templates/contract_option/list.html:72 -#: gym/templates/contract_type/list.html:72 gym/templates/document/list.html:79 -#: gym/templates/gym/member_list.html:211 -#: gym/templates/gym/member_list.html:244 -#: gym/templates/gym/member_list.html:281 +#: exercises/templates/categories/admin-overview.html:40 +#: exercises/templates/equipment/admin-overview.html:39 +#: exercises/templates/muscles/admin-overview.html:40 +#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:64 +#: gym/templates/contract/list.html:69 +#: gym/templates/contract_option/list.html:65 +#: gym/templates/contract_type/list.html:66 gym/templates/document/list.html:78 +#: gym/templates/gym/member_list.html:228 +#: gym/templates/gym/member_list.html:264 +#: gym/templates/gym/member_list.html:303 #: mailer/templates/mailer/gym/overview.html:43 +#: nutrition/templates/ingredient/overview.html:60 msgid "Add" msgstr "Afegeix" #: core/templates/language/view.html:61 core/templates/user/api_key.html:44 -#: core/templates/user/preferences.html:45 gym/models/contract.py:203 -#: gym/templates/contract/view.html:41 gym/templates/contract/view.html:106 -#: gym/templates/gym/member_list.html:248 -#: manager/templates/schedule/view.html:285 -#: manager/templates/workout/view.html:163 -#: nutrition/templates/ingredient/view.html:202 +#: core/templates/user/preferences.html:50 gym/models/contract.py:203 +#: gym/templates/contract/view.html:41 gym/templates/gym/member_list.html:270 +#: manager/templates/schedule/view.html:257 +#: manager/templates/workout/view.html:177 +#: nutrition/templates/ingredient/view.html:206 msgid "Options" msgstr "Opcions" -#: core/templates/license/list.html:4 core/templates/misc/license/list.html:4 +#: core/templates/license/list.html:4 msgid "License list" msgstr "Llista de llicències" -#: core/templates/license/list.html:26 core/templates/misc/license/list.html:30 -#: core/templates/repetition_unit/list.html:28 +#: core/templates/license/list.html:30 +#: core/templates/repetition_unit/list.html:32 #: core/templates/user/overview.html:104 core/templates/user/overview.html:136 -#: core/templates/user/overview.html:185 core/templates/user/overview.html:347 -#: core/templates/user/overview.html:383 core/templates/user/overview.html:427 -#: core/templates/weight_unit/list.html:28 -#: exercises/templates/categories/admin-overview.html:26 -#: exercises/templates/equipment/admin-overview.html:26 -#: exercises/templates/muscles/admin-overview.html:26 -#: gym/templates/admin_notes/list.html:52 gym/templates/contract/list.html:60 -#: gym/templates/contract_option/list.html:58 -#: gym/templates/contract_type/list.html:58 gym/templates/document/list.html:64 -#: gym/templates/gym/list.html:29 gym/templates/gym/member_list.html:229 -#: gym/templates/gym/member_list.html:262 -#: gym/templates/gym/member_list.html:299 +#: core/templates/user/overview.html:185 core/templates/user/overview.html:365 +#: core/templates/user/overview.html:404 core/templates/user/overview.html:448 +#: core/templates/weight_unit/list.html:32 +#: exercises/templates/categories/admin-overview.html:30 +#: exercises/templates/equipment/admin-overview.html:30 +#: exercises/templates/muscles/admin-overview.html:29 +#: gym/templates/admin_notes/list.html:50 gym/templates/contract/list.html:57 +#: gym/templates/contract_option/list.html:52 +#: gym/templates/contract_type/list.html:53 gym/templates/document/list.html:64 +#: gym/templates/gym/list.html:32 gym/templates/gym/member_list.html:248 +#: gym/templates/gym/member_list.html:284 +#: gym/templates/gym/member_list.html:321 #: mailer/templates/mailer/gym/overview.html:30 -#: manager/templates/calendar/day.html:87 -#: nutrition/templates/units/list.html:29 +#: manager/templates/calendar/day.html:88 +#: nutrition/templates/units/list.html:34 msgid "Nothing found" msgstr "No s'ha trobat res" -#: core/templates/misc/about.html:4 core/templates/template.html:175 +#: core/templates/misc/about.html:4 core/templates/template.html:187 msgid "Imprint" msgstr "Colofó" -#: core/templates/misc/license/list.html:47 -#, fuzzy -#| msgid "" -#| "If a license has been localized, e.g. the Creative Commons\n" -#| "licenses for the different countries, add them as separate entries here." -msgid "" -"If a license has been localized, e.g. the Creative Commons\n" -" licenses for the different countries, add them as separate " -"entries here." -msgstr "" -"Si una llicència està localitzada, p. e. les llicències Creative Commons\n" -"per a diferents països, afegiu-les aquí com a entrades separades." - #: core/templates/navigation.html:28 software/templates/features.html:437 msgid "Training" msgstr "Entrenament" @@ -708,8 +694,8 @@ msgstr "Plantilles públiques" msgid "Exercises" msgstr "Exercicis" -#: core/templates/navigation.html:111 core/templates/navigation.html:184 -#: core/templates/navigation.html:340 +#: core/templates/navigation.html:111 core/templates/navigation.html:185 +#: core/templates/navigation.html:339 msgid "Administration" msgstr "Administració" @@ -740,7 +726,7 @@ msgstr "Nutrició" msgid "Nutrition plans" msgstr "Plans de nutrició" -#: core/templates/navigation.html:165 nutrition/templates/bmi/form.html:50 +#: core/templates/navigation.html:165 msgid "BMI calculator" msgstr "Calculadora de l'IMC" @@ -748,87 +734,87 @@ msgstr "Calculadora de l'IMC" msgid "Daily calories calculator" msgstr "Calculadora de calories diàries" -#: core/templates/navigation.html:179 +#: core/templates/navigation.html:180 #: nutrition/templates/ingredient/overview.html:10 msgid "Ingredient overview" msgstr "Ingredients en un cop d'ull" -#: core/templates/navigation.html:187 nutrition/templates/units/list.html:6 +#: core/templates/navigation.html:189 nutrition/templates/units/list.html:6 msgid "Ingredient weight units" msgstr "Unitats de pes dels ingredients" -#: core/templates/navigation.html:203 software/templates/features.html:442 +#: core/templates/navigation.html:205 software/templates/features.html:442 msgid "Body weight" msgstr "Pes corporal" -#: core/templates/navigation.html:210 core/templates/user/overview.html:114 +#: core/templates/navigation.html:212 core/templates/user/overview.html:114 msgid "Weight overview" msgstr "El pes en un cop d'ull" -#: core/templates/navigation.html:217 weight/views.py:65 +#: core/templates/navigation.html:216 weight/views.py:65 msgid "Add weight entry" msgstr "Afegeix entrada de pes" -#: core/templates/navigation.html:231 +#: core/templates/navigation.html:230 msgid "About this software" msgstr "Quant a aquest programari" -#: core/templates/navigation.html:237 software/templates/about_us.html:5 +#: core/templates/navigation.html:236 software/templates/about_us.html:5 msgid "About us" msgstr "Quant a nosaltres" -#: core/templates/navigation.html:243 software/templates/features.html:507 +#: core/templates/navigation.html:242 software/templates/features.html:507 msgid "REST API" msgstr "API REST" -#: core/templates/navigation.html:249 utils/models.py:45 +#: core/templates/navigation.html:248 utils/models.py:45 msgid "License" msgstr "Llicència" -#: core/templates/navigation.html:255 +#: core/templates/navigation.html:254 msgid "Developer documentation" msgstr "Documentació per a desenvolupadors" -#: core/templates/navigation.html:262 +#: core/templates/navigation.html:261 msgid "Get the code" msgstr "Obteniu el codi font" -#: core/templates/navigation.html:269 core/templates/template.html:214 +#: core/templates/navigation.html:268 core/templates/template.html:226 #: software/templates/features.html:582 msgid "Translate" msgstr "Traduïu" -#: core/templates/navigation.html:303 core/templates/user/login.html:28 +#: core/templates/navigation.html:302 core/templates/user/login.html:28 msgid "Reset password" msgstr "Reinicialitza la contrasenya" -#: core/templates/navigation.html:321 +#: core/templates/navigation.html:320 msgid "My preferences" msgstr "Les meves preferències" -#: core/templates/navigation.html:330 +#: core/templates/navigation.html:329 msgid "Logout" msgstr "Surt" -#: core/templates/navigation.html:353 +#: core/templates/navigation.html:352 msgid "Licenses" msgstr "Llicències" -#: core/templates/navigation.html:361 +#: core/templates/navigation.html:360 #: core/templates/repetition_unit/list.html:4 msgid "Repetition units" msgstr "Unitats de repetició" -#: core/templates/navigation.html:369 core/templates/weight_unit/list.html:4 +#: core/templates/navigation.html:368 core/templates/weight_unit/list.html:4 #: nutrition/templates/ingredient/view.html:141 msgid "Weight units" msgstr "Unitats de pes" -#: core/templates/navigation.html:377 core/templates/user/list.html:4 +#: core/templates/navigation.html:376 core/templates/user/list.html:4 msgid "User list" msgstr "Llista d'usuaris" -#: core/templates/navigation.html:383 +#: core/templates/navigation.html:382 msgid "Gyms" msgstr "Gimnasos" @@ -891,57 +877,32 @@ msgstr "enrere" msgid "next" msgstr "següent" -#: core/templates/tags/render_day.html:34 -msgid "Add weight log" -msgstr "Afegeix registre de pes" - -#: core/templates/tags/render_day.html:116 -msgid "Placeholder image for exercise" +#: core/templates/tags/render_day.html:44 +#, fuzzy +#| msgid "Placeholder image for exercise" +msgid "Placeholder image for translation" msgstr "Imatge provisional per al vostre exercici" -#: core/templates/tags/render_day.html:133 -msgid "This exercise has no repetitions." -msgstr "Aquest exercici no té repeticions." - -#: core/templates/tags/render_day.html:136 -msgid "Edit them now." -msgstr "Edita-les." - -#: core/templates/tags/render_day.html:162 -msgid "Add exercises to this workout day" -msgstr "Afegeix exercicis a aquest dia d'entrenament" - -#: core/templates/tags/render_weight_log.html:17 manager/helpers.py:86 -#: manager/models/setting.py:72 manager/templates/set/formset.html:9 -msgid "Reps" -msgstr "Repeticions" - -#: core/templates/tags/render_weight_log.html:30 manager/forms.py:191 -#: manager/models/log.py:103 manager/models/setting.py:102 -#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 -msgid "RiR" -msgstr "RER" - -#: core/templates/template.html:122 manager/templates/calendar/month.html:138 -#: manager/templates/schedule/view.html:248 -#: manager/templates/schedule/view.html:269 -#: manager/templates/workout/view.html:84 -#: manager/templates/workout/view.html:137 +#: core/templates/template.html:123 manager/templates/calendar/month.html:138 +#: manager/templates/schedule/view.html:215 +#: manager/templates/schedule/view.html:240 +#: manager/templates/workout/view.html:89 +#: manager/templates/workout/view.html:149 msgid "Close" msgstr "Tanca" -#: core/templates/template.html:138 +#: core/templates/template.html:139 msgid "" "You are using a guest account, data entered will be deleted after a week." msgstr "" "Esteu usant un compte de convidat, les dades introduïdes s'esborraran " "passada una setmana." -#: core/templates/template.html:143 +#: core/templates/template.html:144 msgid "Create some demo entries" msgstr "Crea algunes entrades de mostra" -#: core/templates/template.html:180 software/templates/features.html:547 +#: core/templates/template.html:192 software/templates/features.html:547 #: software/templates/tos.html:7 msgid "Terms of service" msgstr "Condicions del servei" @@ -950,7 +911,7 @@ msgstr "Condicions del servei" msgid "Features" msgstr "Funcions" -#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:54 +#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:59 msgid "API key" msgstr "Clau API" @@ -995,17 +956,17 @@ msgstr "Genera una nova clau API" msgid "Documentation" msgstr "Documentació" -#: core/templates/user/delete_account.html:4 -#: core/templates/user/preferences.html:59 +#: core/templates/user/delete_account.html:3 +#: core/templates/user/preferences.html:62 msgid "Delete account" msgstr "Cancel·la el compte" -#: core/templates/user/delete_account.html:17 +#: core/templates/user/delete_account.html:9 #: exercises/templates/history/overview.html:93 msgid "Are you sure?" msgstr "Esteu segur?" -#: core/templates/user/delete_account.html:22 +#: core/templates/user/delete_account.html:14 #, python-format msgid "" "This action will delete the user account \"%(username)s\".\n" @@ -1028,22 +989,22 @@ msgstr "Contrasenya oblidada?" #: core/templates/user/overview.html:25 core/templates/user/overview.html:68 #: core/templates/user/overview.html:112 core/templates/user/overview.html:144 -#: core/templates/user/overview.html:330 core/templates/user/overview.html:369 -#: core/templates/user/overview.html:405 +#: core/templates/user/overview.html:348 core/templates/user/overview.html:390 +#: core/templates/user/overview.html:426 #, python-format msgid "last %(number)s" msgstr "darrers %(number)s" #: core/templates/user/overview.html:27 core/templates/user/overview.html:146 -#: core/templates/user/overview.html:325 core/templates/user/overview.html:364 -#: core/templates/user/overview.html:400 gym/templates/gym/member_list.html:210 -#: gym/templates/gym/member_list.html:243 -#: gym/templates/gym/member_list.html:280 +#: core/templates/user/overview.html:343 core/templates/user/overview.html:382 +#: core/templates/user/overview.html:421 gym/templates/gym/member_list.html:226 +#: gym/templates/gym/member_list.html:262 +#: gym/templates/gym/member_list.html:302 msgid "Overview" msgstr "Visió general" #: core/templates/user/overview.html:28 -#: manager/templates/schedule/view.html:163 +#: manager/templates/schedule/view.html:125 #: manager/templates/workout/overview.html:39 manager/views/schedule_step.py:60 msgid "Add workout" msgstr "Afegeix entrenament" @@ -1075,38 +1036,36 @@ msgstr "Descripció" msgid "Number of logs (days)" msgstr "Nombre de registres (dies)" -#: core/templates/user/overview.html:37 core/views/user.py:600 +#: core/templates/user/overview.html:37 core/views/user.py:599 #: gym/templates/gym/email_inactive_members.html:4 gym/views/gym.py:158 msgid "Last activity" msgstr "Darrera activitat" #: core/templates/user/overview.html:58 #: manager/templates/calendar/month.html:128 -#: manager/templates/schedule/view.html:144 #: manager/templates/workout/overview.html:28 msgid "No workouts found." msgstr "No s'han trobat entrenaments." #: core/templates/user/overview.html:68 manager/forms.py:280 -#: manager/templates/workout/view.html:106 +#: manager/templates/workout/view.html:114 msgid "Log" msgstr "Registre" #: core/templates/user/overview.html:77 manager/models/session.py:83 -#: manager/templates/calendar/partial_overview_table.html:52 +#: manager/templates/calendar/partial_overview_table.html:54 msgid "General impression" msgstr "Impressió general" -#: core/templates/user/overview.html:78 core/templates/user/overview.html:369 +#: core/templates/user/overview.html:78 core/templates/user/overview.html:390 #: manager/models/session.py:73 -#: manager/templates/calendar/partial_overview_table.html:56 -#: manager/templates/workout/log.html:89 +#: manager/templates/calendar/partial_overview_table.html:58 msgid "Notes" msgstr "Notes" #: core/templates/user/overview.html:79 #: exercises/templates/history/overview.html:30 -#: manager/templates/calendar/partial_overview_table.html:42 +#: manager/templates/calendar/partial_overview_table.html:44 msgid "Time" msgstr "Temps" @@ -1144,123 +1103,123 @@ msgstr "Greix" msgid "kcal" msgstr "kcal" -#: core/templates/user/overview.html:201 core/templates/user/overview.html:322 -#: core/templates/user/overview.html:361 core/templates/user/overview.html:397 -#: core/templates/user/overview.html:442 gym/templates/gym/list.html:42 -#: gym/templates/gym/member_list.html:84 gym/templates/gym/member_list.html:137 -#: gym/templates/gym/member_list.html:173 -#: gym/templates/gym/member_list.html:207 -#: gym/templates/gym/member_list.html:240 -#: gym/templates/gym/member_list.html:277 -#: manager/templates/schedule/view.html:100 +#: core/templates/user/overview.html:201 core/templates/user/overview.html:340 +#: core/templates/user/overview.html:379 core/templates/user/overview.html:418 +#: core/templates/user/overview.html:463 gym/templates/gym/list.html:45 +#: gym/templates/gym/member_list.html:91 gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:187 +#: gym/templates/gym/member_list.html:223 +#: gym/templates/gym/member_list.html:259 +#: gym/templates/gym/member_list.html:299 +#: manager/templates/schedule/view.html:54 msgid "Actions" msgstr "Accions" -#: core/templates/user/overview.html:207 +#: core/templates/user/overview.html:210 msgid "Deactivate user" msgstr "Desactiva l'usuari" -#: core/templates/user/overview.html:209 +#: core/templates/user/overview.html:214 msgid "Activate user" msgstr "Activa l'usuari" -#: core/templates/user/overview.html:211 +#: core/templates/user/overview.html:223 msgid "Reset user password" msgstr "Reinicialitza contrasenya de l'usuari" -#: core/templates/user/overview.html:214 gym/templates/gym/member_list.html:30 +#: core/templates/user/overview.html:227 gym/templates/gym/member_list.html:30 msgid "Roles" msgstr "Rols" -#: core/templates/user/overview.html:225 +#: core/templates/user/overview.html:243 msgid "Password reset confirmation" msgstr "Confirmació de reinicialització de la contrasenya" -#: core/templates/user/overview.html:229 +#: core/templates/user/overview.html:247 msgid "Do you really want to change this user's password?" msgstr "Voleu canviar la contrasenya d'aquest usuari?" -#: core/templates/user/overview.html:232 +#: core/templates/user/overview.html:250 #: exercises/templates/history/overview.html:106 msgid "No" msgstr "No" -#: core/templates/user/overview.html:233 +#: core/templates/user/overview.html:251 #: exercises/templates/history/overview.html:99 msgid "Yes" msgstr "Sí" -#: core/templates/user/overview.html:254 gym/templates/gym/member_list.html:93 +#: core/templates/user/overview.html:272 gym/templates/gym/member_list.html:105 msgid "Details" msgstr "Detalls" -#: core/templates/user/overview.html:258 gym/views/export.py:57 -#: manager/helpers.py:86 manager/templates/schedule/view.html:98 +#: core/templates/user/overview.html:276 gym/views/export.py:57 +#: manager/helpers.py:86 manager/templates/schedule/view.html:52 msgid "Nr." msgstr "Núm." -#: core/templates/user/overview.html:280 gym/models/contract.py:287 +#: core/templates/user/overview.html:298 gym/models/contract.py:287 #: gym/models/gym.py:50 gym/templates/contract/view.html:75 -#: gym/templates/gym/member_list.html:100 gym/views/export.py:68 +#: gym/templates/gym/member_list.html:112 gym/views/export.py:68 msgid "Phone" msgstr "Telèfon" -#: core/templates/user/overview.html:284 gym/templates/contract/view.html:87 -#: gym/templates/gym/member_list.html:118 +#: core/templates/user/overview.html:302 gym/templates/contract/view.html:87 +#: gym/templates/gym/member_list.html:130 msgid "Address" msgstr "Adreça" -#: core/templates/user/overview.html:295 +#: core/templates/user/overview.html:313 msgid "Registered" msgstr "Registrat" -#: core/templates/user/overview.html:299 +#: core/templates/user/overview.html:317 msgid "Last login" msgstr "Darrera connexió" -#: core/templates/user/overview.html:304 +#: core/templates/user/overview.html:322 msgid "Status" msgstr "Estat" -#: core/templates/user/overview.html:307 +#: core/templates/user/overview.html:325 msgid "Active" msgstr "Actiu" -#: core/templates/user/overview.html:309 +#: core/templates/user/overview.html:327 msgid "Inactive" msgstr "Inactiu" -#: core/templates/user/overview.html:330 gym/templates/contract/list.html:4 -#: gym/templates/gym/member_list.html:202 +#: core/templates/user/overview.html:348 gym/templates/contract/list.html:4 +#: gym/templates/gym/member_list.html:218 msgid "Contracts" msgstr "Contractes" -#: core/templates/user/overview.html:405 gym/templates/document/list.html:4 +#: core/templates/user/overview.html:426 gym/templates/document/list.html:4 msgid "Documents" msgstr "Documents" -#: core/templates/user/overview.html:412 gym/templates/document/list.html:32 -#: manager/forms.py:292 manager/templates/workout/view.html:132 +#: core/templates/user/overview.html:433 gym/templates/document/list.html:33 +#: manager/forms.py:292 manager/templates/workout/view.html:143 msgid "Download" msgstr "Descarrega" -#: core/templates/user/overview.html:450 gym/views/admin_config.py:44 +#: core/templates/user/overview.html:474 gym/views/admin_config.py:44 #: gym/views/admin_config.py:58 gym/views/user_config.py:46 msgid "Configuration" msgstr "Configuració" -#: core/templates/user/overview.html:453 gym/models/user_config.py:92 +#: core/templates/user/overview.html:477 gym/models/user_config.py:92 msgid "Include in inactive overview" msgstr "Inclou a la vista general d'inactius" -#: core/templates/user/overview.html:486 +#: core/templates/user/overview.html:510 #, python-format msgid "Admin login is only available for users in %(gym_name)s" msgstr "" "La connexió com a administrador només està disponible per a usuaris de " "%(gym_name)s" -#: core/templates/user/overview.html:490 +#: core/templates/user/overview.html:514 msgid "Log in as this user" msgstr "Connecta amb aquest compte" @@ -1282,19 +1241,19 @@ msgstr "" msgid "Send verification email" msgstr "" -#: core/templates/user/preferences.html:30 +#: core/templates/user/preferences.html:31 msgid "You need to verify your email to contribute exercises" msgstr "" -#: core/templates/user/preferences.html:50 core/views/user.py:611 +#: core/templates/user/preferences.html:55 core/views/user.py:610 msgid "Change password" msgstr "Canvia la contrasenya" -#: core/templatetags/wger_extras.py:205 i18n.tpl:37 +#: core/templatetags/wger_extras.py:197 i18n.tpl:37 msgid "kg" msgstr "kg" -#: core/templatetags/wger_extras.py:207 +#: core/templatetags/wger_extras.py:199 #: nutrition/templates/ingredient/view.html:60 #: nutrition/templates/ingredient/view.html:66 #: nutrition/templates/ingredient/view.html:73 @@ -1306,11 +1265,11 @@ msgctxt "weight unit, i.e. grams" msgid "g" msgstr "g" -#: core/templatetags/wger_extras.py:210 i18n.tpl:38 +#: core/templatetags/wger_extras.py:202 i18n.tpl:38 msgid "lb" msgstr "lb" -#: core/templatetags/wger_extras.py:212 +#: core/templatetags/wger_extras.py:204 msgctxt "weight unit, i.e. ounces" msgid "oz" msgstr "oz" @@ -1337,13 +1296,13 @@ msgid "Delete {0}?" msgstr "Esborrar {0}?" #: core/views/languages.py:111 core/views/license.py:85 -#: core/views/repetition_units.py:86 core/views/user.py:474 +#: core/views/repetition_units.py:86 core/views/user.py:473 #: core/views/weight_units.py:86 exercises/views/categories.py:98 #: exercises/views/equipment.py:81 exercises/views/muscles.py:87 #: gym/views/admin_notes.py:161 gym/views/config.py:68 #: gym/views/contract.py:186 gym/views/contract_option.py:123 #: gym/views/contract_type.py:123 gym/views/document.py:171 -#: gym/views/gym.py:463 manager/views/day.py:100 manager/views/schedule.py:333 +#: gym/views/gym.py:463 manager/views/day.py:96 manager/views/schedule.py:333 #: manager/views/workout.py:267 nutrition/views/ingredient.py:145 #: nutrition/views/unit.py:143 #, python-brace-format @@ -1372,48 +1331,48 @@ msgstr "Envia" msgid "Your feedback was successfully sent. Thank you!" msgstr "Els vostres comentaris s'han enviat amb èxit. Gràcies!" -#: core/views/user.py:156 +#: core/views/user.py:155 #, python-brace-format msgid "Account \"{0}\" was successfully deleted" msgstr "El compte «{0}» s'ha esborrat amb èxit" -#: core/views/user.py:292 +#: core/views/user.py:291 msgid "You were successfully registered" msgstr "Us heu registrat amb èxit" -#: core/views/user.py:351 +#: core/views/user.py:350 msgid "Settings successfully updated" msgstr "Opcions actualitzades amb èxit" -#: core/views/user.py:390 +#: core/views/user.py:389 msgid "The user was successfully deactivated" msgstr "S'ha desactivat l'usuari amb èxit" -#: core/views/user.py:427 +#: core/views/user.py:426 msgid "The user was successfully activated" msgstr "S'ha activat l'usuari amb èxit" -#: core/views/user.py:442 +#: core/views/user.py:441 msgid "Edit user" msgstr "Edita l'usuari" -#: core/views/user.py:597 gym/templates/gym/member_list.html:26 +#: core/views/user.py:596 gym/templates/gym/member_list.html:26 #: gym/views/gym.py:158 msgid "ID" msgstr "ID" -#: core/views/user.py:598 gym/forms.py:95 gym/templates/contract/view.html:55 +#: core/views/user.py:597 gym/forms.py:95 gym/templates/contract/view.html:55 #: gym/templates/gym/member_list.html:27 gym/views/export.py:59 #: gym/views/gym.py:158 gym/views/gym.py:217 msgid "Username" msgstr "Nom d'usuari" -#: core/views/user.py:601 gym/templates/gym/new_user.html:34 +#: core/views/user.py:600 gym/templates/gym/new_user.html:34 #: gym/views/export.py:58 gym/views/gym.py:217 msgid "Gym" msgstr "Gimnàs" -#: core/views/user.py:660 +#: core/views/user.py:659 #, python-format msgid "A verification email was sent to %(email)s" msgstr "" @@ -1576,11 +1535,6 @@ msgstr "" msgid "Equipment list" msgstr "Llista d'equipaments" -#: exercises/templates/equipment/admin-overview.html:39 -#: exercises/views/equipment.py:92 -msgid "Add new equipment" -msgstr "Afegeix un nou equipament" - #: exercises/templates/history/overview.html:11 #, fuzzy #| msgid "Exercise day" @@ -1639,11 +1593,6 @@ msgstr "" msgid "Muscle overview" msgstr "Vista general del músculs" -#: exercises/templates/muscles/admin-overview.html:38 -#: exercises/views/muscles.py:68 -msgid "Add muscle" -msgstr "Afegeix múscul" - #: exercises/views/categories.py:72 msgid "Add category" msgstr "Afegeix categoria" @@ -1652,6 +1601,10 @@ msgstr "Afegeix categoria" msgid "This will also delete all exercises in this category." msgstr "Això també esborrarà tots els exercicis d'aquesta categoria." +#: exercises/views/equipment.py:92 +msgid "Add new equipment" +msgstr "Afegeix un nou equipament" + #: exercises/views/equipment.py:104 exercises/views/equipment.py:115 msgid "Delete equipment?" msgstr "Voleu esborrar l'equipament?" @@ -1660,6 +1613,10 @@ msgstr "Voleu esborrar l'equipament?" msgid "This will delete the exercise from all workouts." msgstr "Això esborrarà l'exercici de tots els entrenaments." +#: exercises/views/muscles.py:68 +msgid "Add muscle" +msgstr "Afegeix múscul" + #: gallery/templates/images/overview.html:62 msgid "Add image" msgstr "Afegeix imatge" @@ -1745,7 +1702,7 @@ msgid "Contract is active" msgstr "El contracte és actiu" #: gym/models/contract.py:237 gym/templates/contract/view.html:69 -#: manager/models/schedule.py:61 manager/templates/schedule/view.html:67 +#: manager/models/schedule.py:61 manager/templates/schedule/view.html:21 msgid "Start date" msgstr "Data d'inici" @@ -1781,7 +1738,7 @@ msgstr "Administrador: pot gestionar els usuaris per a un donat gimnàs" msgid "Admin: can administrate the different gyms" msgstr "Director: pot gestionar els diversos gimnasos" -#: gym/models/gym.py:65 gym/templates/gym/member_list.html:114 +#: gym/models/gym.py:65 gym/templates/gym/member_list.html:126 msgid "Owner" msgstr "Propietari" @@ -1793,7 +1750,7 @@ msgstr "" "Nombre de setmanes des de la darrera connexió d'un usuari per a què es " "consideri inactiu" -#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:152 +#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:166 msgid "Show name in header" msgstr "Mostra el nom a la capçalera" @@ -1807,7 +1764,7 @@ msgstr "Mostra el nom del gimnàs a la capçalera del web" msgid "Configuration for {self.gym.name}" msgstr "Configuració per a {}" -#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:184 +#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:200 msgid "Overview of inactive members" msgstr "Vista general de membres inactius" @@ -1831,7 +1788,7 @@ msgstr "S'usarà el nom del fitxer si no es facilita una altra cosa" msgid "User notes" msgstr "Notes de l'usuari" -#: gym/templates/contract/list.html:36 +#: gym/templates/contract/list.html:34 msgid "Show" msgstr "Mostra" @@ -1859,11 +1816,11 @@ msgstr "" msgid "Gym list" msgstr "Llista de gimnasos" -#: gym/templates/gym/list.html:50 +#: gym/templates/gym/list.html:53 msgid "Global gym configuration" msgstr "Configuració global de gimnasos" -#: gym/templates/gym/list.html:67 gym/views/gym.py:171 +#: gym/templates/gym/list.html:69 gym/views/gym.py:171 msgid "Add new gym" msgstr "Afegeix un nou gimnàs" @@ -1875,43 +1832,43 @@ msgstr "Administradors i entrenadors" msgid "Gym manager" msgstr "Director del gimnàs" -#: gym/templates/gym/member_list.html:69 +#: gym/templates/gym/member_list.html:76 msgid "This gym has no administrators or trainers" msgstr "Aquest gimnàs no té administradors ni entrenadors" -#: gym/templates/gym/member_list.html:88 +#: gym/templates/gym/member_list.html:98 msgid "Export" msgstr "Exporta" -#: gym/templates/gym/member_list.html:125 +#: gym/templates/gym/member_list.html:137 msgid "Members" msgstr "Membres" -#: gym/templates/gym/member_list.html:145 +#: gym/templates/gym/member_list.html:159 msgid "Gym configuration" msgstr "Configuració del gimnàs" -#: gym/templates/gym/member_list.html:148 +#: gym/templates/gym/member_list.html:162 msgid "Inactive members" msgstr "Membres inactius" -#: gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:163 msgid "weeks" msgstr "setmanes" -#: gym/templates/gym/member_list.html:181 +#: gym/templates/gym/member_list.html:197 msgid "My configuration" msgstr "La meva configuració" -#: gym/templates/gym/member_list.html:215 +#: gym/templates/gym/member_list.html:234 msgid "Types" msgstr "Tipus" -#: gym/templates/gym/member_list.html:285 +#: gym/templates/gym/member_list.html:307 msgid "Emails" msgstr "Adreces electròniques" -#: gym/templates/gym/member_list.html:315 +#: gym/templates/gym/member_list.html:336 msgid "Add member" msgstr "Afegeix un membre" @@ -2214,28 +2171,38 @@ msgstr "Usa també ingredients en anglès" msgid "Unit" msgstr "Unitat" +#: manager/forms.py:191 manager/models/log.py:103 manager/models/setting.py:102 +#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 +msgid "RiR" +msgstr "RER" + #: manager/forms.py:279 msgid "Type" msgstr "Tipus" -#: manager/forms.py:280 manager/templates/workout/view.html:113 +#: manager/forms.py:280 manager/templates/workout/view.html:122 msgid "Table" msgstr "Taula" -#: manager/forms.py:282 manager/templates/workout/view.html:119 +#: manager/forms.py:282 manager/templates/workout/view.html:129 msgid "with images" msgstr "amb imatges" -#: manager/forms.py:283 manager/templates/workout/view.html:125 +#: manager/forms.py:283 manager/templates/workout/view.html:136 msgid "with comments" msgstr "amb comentaris" +#: manager/helpers.py:86 manager/models/setting.py:72 +#: manager/templates/set/formset.html:9 +msgid "Reps" +msgstr "Repeticions" + #: manager/management/commands/email-reminders.py:121 msgid "Workout will expire soon" msgstr "L'entrenament caducarà aviat" #: manager/models/day.py:34 manager/models/log.py:58 -#: manager/models/session.py:60 manager/templates/schedule/view.html:102 +#: manager/models/session.py:60 manager/templates/schedule/view.html:56 #: manager/templates/workout/view.html:9 manager/templates/workout/view.html:17 #: manager/views/pdf.py:85 manager/views/pdf.py:161 #: manager/views/schedule.py:151 manager/views/schedule.py:221 @@ -2258,7 +2225,7 @@ msgstr "Dia" msgid "Name or short description of the schedule. For example 'Program XYZ'." msgstr "Nom o breu descripció del programa. Per exemple «Programa XYZ»." -#: manager/models/schedule.py:65 manager/templates/schedule/view.html:71 +#: manager/models/schedule.py:65 manager/templates/schedule/view.html:25 msgid "Schedule active" msgstr "Programa actiu" @@ -2272,7 +2239,7 @@ msgstr "" "mostrarà p. e. a la vostra consola). Tots els altres programes es marcaran " "com a inactius" -#: manager/models/schedule.py:77 manager/templates/schedule/view.html:81 +#: manager/models/schedule.py:77 manager/templates/schedule/view.html:35 msgid "Is a loop" msgstr "És un cicle" @@ -2293,7 +2260,7 @@ msgid "The duration in weeks" msgstr "La duració en setmanes" #: manager/models/schedule_step.py:64 manager/models/set.py:53 -#: manager/models/setting.py:113 nutrition/models/meal.py:55 +#: manager/models/setting.py:113 nutrition/models/meal.py:53 #: nutrition/models/meal_item.py:66 msgid "Order" msgstr "Ordre" @@ -2433,7 +2400,7 @@ msgstr "Vista general del registre" msgid "Workout session" msgstr "Sessió d'entrenament" -#: manager/templates/calendar/partial_overview_table.html:27 +#: manager/templates/calendar/partial_overview_table.html:26 msgid "Delete with logs" msgstr "Esborra amb registres" @@ -2456,21 +2423,27 @@ msgstr "" "si no n'hi ha una per la data seleccionada. Si n'hi ha una, simplement\n" "s'editarà. Els registres d'entrenament s'afegeixen sempre." -#: manager/templates/schedule/overview.html:5 +#: manager/templates/schedule/overview.html:4 msgid "Your schedules" msgstr "Els vostres programes" #: manager/templates/schedule/overview.html:19 -#: manager/templates/schedule/view.html:131 -#: manager/templates/schedule/view.html:183 +#: manager/templates/schedule/view.html:96 +#: manager/templates/schedule/view.html:146 #: manager/templates/workout/overview.html:16 msgid "active" msgstr "actiu" -#: manager/templates/schedule/overview.html:28 +#: manager/templates/schedule/overview.html:27 msgid "No schedules found." msgstr "No s'han trobat programes." +#: manager/templates/schedule/overview.html:28 +#, fuzzy +#| msgid "Add one now." +msgid "Add one now" +msgstr "Afegeix-ne un ara." + #: manager/templates/schedule/overview.html:36 #, fuzzy #| msgid "" @@ -2495,13 +2468,14 @@ msgid "" " before jumping to the next. It is also possible to create a loop, so " "you\n" " always do the same workouts in succession, e.g. A > B > C > A > B > " -"C and so on." +"C and so\n" +" on." msgstr "" "Podeu indicar quant de temps voleu fer cada entrenament abans de saltar\n" "al següent. També és possible crear un bucle per tal de fer els mateixos\n" "entrenaments en successió, p. e. A > B > C > A > B > C etcètera." -#: manager/templates/schedule/overview.html:43 +#: manager/templates/schedule/overview.html:44 #, fuzzy #| msgid "" #| "The currently active schedule will remain active (and be\n" @@ -2526,7 +2500,7 @@ msgstr "Afegeix programa" msgid "Schedule" msgstr "Programa" -#: manager/templates/schedule/view.html:85 +#: manager/templates/schedule/view.html:39 msgid "" "This schedule is a loop and will go through the workouts above till you " "deactivate it" @@ -2534,19 +2508,15 @@ msgstr "" "Aquest programa és un bucle i repetirà els entrenaments de més amunt fins " "que no el desactiveu" -#: manager/templates/schedule/view.html:103 +#: manager/templates/schedule/view.html:57 msgid "Weeks" msgstr "Setmanes" -#: manager/templates/schedule/view.html:115 -msgid "Move me" -msgstr "Mou-me" - -#: manager/templates/schedule/view.html:156 +#: manager/templates/schedule/view.html:121 msgid "Start schedule" msgstr "Inicia programa" -#: manager/templates/schedule/view.html:187 +#: manager/templates/schedule/view.html:150 #, fuzzy, python-format #| msgid "" #| "%(weeks)s Week\n" @@ -2567,11 +2537,11 @@ msgstr[1] "" "%(weeks)s setmanes\n" " " -#: manager/templates/schedule/view.html:221 +#: manager/templates/schedule/view.html:184 msgid "Adding workouts" msgstr "Afegeix entrenaments" -#: manager/templates/schedule/view.html:223 +#: manager/templates/schedule/view.html:186 #, fuzzy #| msgid "" #| "Add as many workouts to the schedule as you want. You can\n" @@ -2588,21 +2558,21 @@ msgstr "" "arrossegant-los i deixant-los anar. També és possible afegir un\n" "entrenament més d'un cop." -#: manager/templates/schedule/view.html:232 -#: manager/templates/schedule/view.html:243 -#: manager/templates/schedule/view.html:290 +#: manager/templates/schedule/view.html:195 +#: manager/templates/schedule/view.html:209 +#: manager/templates/schedule/view.html:263 #: manager/templates/workout/view.html:69 -#: manager/templates/workout/view.html:79 -#: manager/templates/workout/view.html:178 +#: manager/templates/workout/view.html:83 +#: manager/templates/workout/view.html:192 msgid "Export calendar file" msgstr "Exporta fitxer de calendari" -#: manager/templates/schedule/view.html:236 +#: manager/templates/schedule/view.html:201 msgid "Export this schedule as a calendar file." msgstr "Exporta aquest programa com a fitxer de calendari." -#: manager/templates/schedule/view.html:237 -#: manager/templates/workout/view.html:74 +#: manager/templates/schedule/view.html:202 +#: manager/templates/workout/view.html:76 #, fuzzy #| msgid "" #| "You can then import the file it into your calendar\n" @@ -2614,27 +2584,20 @@ msgid "" " application for example google calendar, outlook or " "iCal. This will create\n" " an appointment for each training day with the " -"appropriate exercises." +"appropriate\n" +" exercises." msgstr "" "Així podeu importar el fitxer a la vostra aplicació de\n" "calendari, p .e. Google Calendar, Outlook o iCal. Això crearà\n" "una cita per a cada dia d'entrenament amb els exercicis pertinents." -#: manager/templates/schedule/view.html:258 -#: manager/templates/schedule/view.html:294 -#: manager/templates/workout/view.html:94 -#: manager/templates/workout/view.html:174 +#: manager/templates/schedule/view.html:225 +#: manager/templates/schedule/view.html:268 +#: manager/templates/workout/view.html:99 +#: manager/templates/workout/view.html:188 msgid "Download as PDF" msgstr "Descarrega com a PDF" -#: manager/templates/schedule/view.html:299 -msgid "Edit schedule" -msgstr "Edita programa" - -#: manager/templates/schedule/view.html:304 -msgid "Delete schedule" -msgstr "Esborra programa" - #: manager/templates/set/add.html:9 #, python-format msgid "Add exercises to day \"%(day_name)s\"" @@ -2711,56 +2674,6 @@ msgstr "" "Rebreu aquests recordatoris regularment fins que hagueu introduït el vostre " "pes actual." -#: manager/templates/workout/log.html:10 manager/templates/workout/log.html:11 -msgid "Weight log" -msgstr "Registre del pes" - -#: manager/templates/workout/log.html:29 -msgid "Weight log for workout" -msgstr "Registre d'entrenament" - -#: manager/templates/workout/log.html:49 -msgid "Add weight log to this day" -msgstr "Afegeix entrada al registre d'aquest dia" - -#: manager/templates/workout/log.html:69 -msgid "No weight entries here." -msgstr "No hi ha entrades del registre aquí." - -#: manager/templates/workout/log.html:77 -msgid "No exercises for this day." -msgstr "No hi ha exercicis per a aquest dia." - -#: manager/templates/workout/log.html:90 -msgid "" -"This page shows the weight logs belonging to this workout\n" -"only. Click on an exercise to see all the historical data for\n" -"it." -msgstr "" -"Aquesta pàgina mostra els registres corresponents només a aquest\n" -"entrenament. Feu clic a un exercici per a veure'n l'històric\n" -"de dades." - -#: manager/templates/workout/log.html:94 -msgid "" -"If on a single day there is more than one entry with the\n" -"same number of repetitions, but different weights, only the entry with the\n" -"higher weight is shown in the diagram." -msgstr "" -"Si a un dia concret hi ha més d'una entrada amb el mateix nombre de\n" -"repeticions però diferents pesos, només es mostrarà al diagrama\n" -"l'entrada amb el pes més alt." - -#: manager/templates/workout/log.html:98 -msgid "" -"Note that only entries with a weight unit (kg or lb) and\n" -"repetitions are charted, other combinations such as time or until failure\n" -"are ignored here." -msgstr "" -"Teniu en compte que només es tracen al diagrama les entrades\n" -"amb unitats (kg o lb) i repeticions, altres combinacions com ara temps\n" -"o fins la fallida s'ignoraran aquí." - #: manager/templates/workout/overview.html:25 msgid "No templates found." msgstr "No s'han trobat plantilles." @@ -2798,27 +2711,23 @@ msgstr "Afegeix sèries d'entrenament als dies" msgid "Set the repetitions for each set" msgstr "Defineix les repeticions per a cada sèrie" -#: manager/templates/workout/view.html:73 +#: manager/templates/workout/view.html:75 msgid "Export this workout as a calendar file." msgstr "Exporta aquest pla d'entrenament com a fitxer de calendari." -#: manager/templates/workout/view.html:144 +#: manager/templates/workout/view.html:156 msgid "Logs" msgstr "Registres" -#: manager/templates/workout/view.html:146 +#: manager/templates/workout/view.html:159 msgid "View logs" msgstr "Veure registres" -#: manager/templates/workout/view.html:169 manager/views/schedule_step.py:99 -msgid "Edit workout" -msgstr "Edita el pla d'entrenament" - -#: manager/templates/workout/view.html:182 manager/views/workout.py:281 +#: manager/templates/workout/view.html:195 manager/views/workout.py:281 msgid "Mark as template" msgstr "Marca com a plantilla" -#: manager/views/day.py:109 +#: manager/views/day.py:105 msgid "Add workout day" msgstr "Afegeix dis d'entrenament" @@ -2835,6 +2744,10 @@ msgstr "Pla d'entrenament per a %s" msgid "Create schedule" msgstr "Crea un programa" +#: manager/views/schedule_step.py:99 +msgid "Edit workout" +msgstr "Edita el pla d'entrenament" + #: manager/views/workout.py:209 msgid "Copy workout" msgstr "Copia pla d'entrenament" @@ -2964,7 +2877,7 @@ msgstr "" msgid "Unit amount, e.g. \"1 Cup\" or \"1/2 spoon\"" msgstr "" -#: nutrition/models/log.py:52 nutrition/models/meal.py:50 +#: nutrition/models/log.py:52 nutrition/models/meal.py:48 #: nutrition/models/meal_item.py:48 nutrition/models/plan.py:108 msgid "Nutrition plan" msgstr "Pla nutricional" @@ -2977,11 +2890,11 @@ msgstr "" msgid "Date and Time (Approx.)" msgstr "" -#: nutrition/models/meal.py:62 +#: nutrition/models/meal.py:60 msgid "Time (approx)" msgstr "" -#: nutrition/models/meal.py:69 +#: nutrition/models/meal.py:67 msgid "" "Give meals a textual description / name such as \"Breakfast\" or \"after " "workout\"" @@ -3003,58 +2916,6 @@ msgid "" "calories. You can use the calculator or enter the value yourself." msgstr "" -#: nutrition/templates/bmi/form.html:62 -msgid "Results" -msgstr "" - -#: nutrition/templates/bmi/form.html:63 -msgid "Your BMI is: " -msgstr "" - -#: nutrition/templates/bmi/form.html:71 -msgid "Legend" -msgstr "" - -#: nutrition/templates/bmi/form.html:75 -msgid "Adipositas III" -msgstr "" - -#: nutrition/templates/bmi/form.html:79 -msgid "Adipositas II" -msgstr "" - -#: nutrition/templates/bmi/form.html:83 -msgid "Adipositas I" -msgstr "" - -#: nutrition/templates/bmi/form.html:87 -msgid "Overweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:91 -msgid "Normal weight" -msgstr "" - -#: nutrition/templates/bmi/form.html:95 -msgid "Slight underweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:99 -msgid "Moderate underweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:103 -msgid "Strong underweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:117 -msgid "" -"Use the form to calculate your BMI (Body Mass Index).\n" -"If you have entered data in the weight section, the last entry will\n" -"be used automatically. Otherwise the weight you enter here will be saved\n" -"in a new entry." -msgstr "" - #: nutrition/templates/ingredient/email_new.tpl:1 #, python-format msgid "" @@ -3100,10 +2961,6 @@ msgstr "" msgid "Search" msgstr "Cerca" -#: nutrition/templates/ingredient/overview.html:62 -msgid "Add ingredient" -msgstr "" - #: nutrition/templates/ingredient/view.html:45 nutrition/views/plan.py:229 msgid "Macronutrients" msgstr "" @@ -3123,20 +2980,11 @@ msgstr "" msgid "Others" msgstr "" -#: nutrition/templates/ingredient/view.html:144 -#: nutrition/templates/units/list.html:46 nutrition/views/unit.py:86 +#: nutrition/templates/ingredient/view.html:143 +#: nutrition/templates/units/list.html:50 nutrition/views/unit.py:86 msgid "Add new weight unit" msgstr "" -#: nutrition/templates/ingredient/view.html:206 -#: nutrition/templates/ingredient/view.html:209 -msgid "Edit ingredient" -msgstr "" - -#: nutrition/templates/ingredient/view.html:213 -msgid "Delete ingredient" -msgstr "" - #: nutrition/templates/rate/form.html:25 msgid "Basal metabolic rate" msgstr "" @@ -3205,18 +3053,6 @@ msgid "" "yourself for some weeks and change the total amount if needed." msgstr "" -#: nutrition/views/bmi.py:89 -msgid "Please make sure your height is within the appropriate range." -msgstr "" - -#: nutrition/views/bmi.py:92 -msgid "140 to 230" -msgstr "" - -#: nutrition/views/bmi.py:94 -msgid "56 to 90" -msgstr "" - #: nutrition/views/ingredient.py:157 msgid "Add a new ingredient" msgstr "" @@ -3717,6 +3553,83 @@ msgstr "" msgid "Delete weight entry for the %s" msgstr "" +#~ msgid "Move me" +#~ msgstr "Mou-me" + +#, fuzzy +#~| msgid "" +#~| "If a license has been localized, e.g. the Creative Commons\n" +#~| "licenses for the different countries, add them as separate entries here." +#~ msgid "" +#~ "If a license has been localized, e.g. the Creative Commons\n" +#~ " licenses for the different countries, add them as separate " +#~ "entries here." +#~ msgstr "" +#~ "Si una llicència està localitzada, p. e. les llicències Creative Commons\n" +#~ "per a diferents països, afegiu-les aquí com a entrades separades." + +#~ msgid "Add weight log" +#~ msgstr "Afegeix registre de pes" + +#~ msgid "This exercise has no repetitions." +#~ msgstr "Aquest exercici no té repeticions." + +#~ msgid "Edit them now." +#~ msgstr "Edita-les." + +#~ msgid "Add exercises to this workout day" +#~ msgstr "Afegeix exercicis a aquest dia d'entrenament" + +#~ msgid "Edit schedule" +#~ msgstr "Edita programa" + +#~ msgid "Delete schedule" +#~ msgstr "Esborra programa" + +#~ msgid "Weight log" +#~ msgstr "Registre del pes" + +#~ msgid "Weight log for workout" +#~ msgstr "Registre d'entrenament" + +#~ msgid "Add weight log to this day" +#~ msgstr "Afegeix entrada al registre d'aquest dia" + +#~ msgid "No weight entries here." +#~ msgstr "No hi ha entrades del registre aquí." + +#~ msgid "No exercises for this day." +#~ msgstr "No hi ha exercicis per a aquest dia." + +#~ msgid "" +#~ "This page shows the weight logs belonging to this workout\n" +#~ "only. Click on an exercise to see all the historical data for\n" +#~ "it." +#~ msgstr "" +#~ "Aquesta pàgina mostra els registres corresponents només a aquest\n" +#~ "entrenament. Feu clic a un exercici per a veure'n l'històric\n" +#~ "de dades." + +#~ msgid "" +#~ "If on a single day there is more than one entry with the\n" +#~ "same number of repetitions, but different weights, only the entry with " +#~ "the\n" +#~ "higher weight is shown in the diagram." +#~ msgstr "" +#~ "Si a un dia concret hi ha més d'una entrada amb el mateix nombre de\n" +#~ "repeticions però diferents pesos, només es mostrarà al diagrama\n" +#~ "l'entrada amb el pes més alt." + +#~ msgid "" +#~ "Note that only entries with a weight unit (kg or lb) and\n" +#~ "repetitions are charted, other combinations such as time or until " +#~ "failure\n" +#~ "are ignored here." +#~ msgstr "" +#~ "Teniu en compte que només es tracen al diagrama les entrades\n" +#~ "amb unitats (kg o lb) i repeticions, altres combinacions com ara temps\n" +#~ "o fins la fallida s'ignoraran aquí." + #~ msgid "Ingredients pending review" #~ msgstr "Ingredients pendents de revisar" diff --git a/wger/locale/cs/LC_MESSAGES/django.po b/wger/locale/cs/LC_MESSAGES/django.po index d4b9a82dd..7af5084d5 100644 --- a/wger/locale/cs/LC_MESSAGES/django.po +++ b/wger/locale/cs/LC_MESSAGES/django.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: wger Workout Manager\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-14 15:59+0200\n" +"POT-Creation-Date: 2024-11-14 19:23+0100\n" "PO-Revision-Date: 2024-02-21 11:02+0000\n" "Last-Translator: Fjuro \n" "Language-Team: Czech \n" @@ -25,7 +25,7 @@ msgstr "" "<= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n" "X-Generator: Weblate 5.5-dev\n" -#: config/models/gym_config.py:46 gym/templates/gym/list.html:53 +#: config/models/gym_config.py:46 gym/templates/gym/list.html:56 msgid "Default gym" msgstr "Základní posilovna" @@ -38,28 +38,28 @@ msgstr "" "všem nově registrovaným uživatelům a uživatelům, kteří nemají posilovnu " "zvolenou." -#: config/views/gym_config.py:42 core/templates/language/view.html:67 -#: core/templates/license/list.html:17 core/templates/misc/license/list.html:18 +#: config/views/gym_config.py:42 core/templates/language/view.html:64 +#: core/templates/license/list.html:17 #: core/templates/repetition_unit/list.html:18 -#: core/templates/tags/render_day.html:39 -#: core/templates/tags/render_day.html:75 core/templates/user/overview.html:204 -#: core/templates/user/overview.html:445 +#: core/templates/user/overview.html:204 core/templates/user/overview.html:467 #: core/templates/weight_unit/list.html:18 #: exercises/templates/categories/admin-overview.html:17 #: exercises/templates/equipment/admin-overview.html:17 -#: exercises/templates/muscles/admin-overview.html:17 -#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:32 -#: gym/templates/contract/list.html:31 gym/templates/contract/view.html:107 -#: gym/templates/contract_option/list.html:32 -#: gym/templates/contract_type/list.html:32 gym/templates/document/list.html:38 -#: gym/templates/gym/list.html:20 gym/templates/gym/list.html:46 -#: gym/templates/gym/member_list.html:87 gym/templates/gym/member_list.html:140 -#: gym/templates/gym/member_list.html:176 -#: manager/templates/calendar/day.html:68 -#: manager/templates/calendar/month.html:85 -#: manager/templates/calendar/partial_overview_table.html:18 -#: manager/templates/schedule/view.html:118 -#: nutrition/templates/ingredient/view.html:165 +#: exercises/templates/muscles/admin-overview.html:16 +#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:31 +#: gym/templates/contract/list.html:30 gym/templates/contract/view.html:106 +#: gym/templates/contract_option/list.html:29 +#: gym/templates/contract_type/list.html:30 gym/templates/document/list.html:38 +#: gym/templates/gym/list.html:19 gym/templates/gym/list.html:48 +#: gym/templates/gym/member_list.html:94 gym/templates/gym/member_list.html:152 +#: gym/templates/gym/member_list.html:190 +#: manager/templates/calendar/day.html:67 +#: manager/templates/calendar/month.html:84 +#: manager/templates/calendar/partial_overview_table.html:16 +#: manager/templates/schedule/view.html:271 +#: manager/templates/workout/view.html:181 +#: nutrition/templates/ingredient/view.html:164 +#: nutrition/templates/ingredient/view.html:209 #: nutrition/templates/units/list.html:19 msgid "Edit" msgstr "Upravit" @@ -93,25 +93,25 @@ msgstr "Můj suprový tréninkový rozvrh" msgid "Empty placeholder schedule" msgstr "Prázdný ukázkový rozvrh" -#: core/forms.py:69 core/templates/navigation.html:285 -#: core/templates/navigation.html:291 core/templates/user/login.html:4 +#: core/forms.py:69 core/templates/navigation.html:284 +#: core/templates/navigation.html:290 core/templates/user/login.html:4 #: software/templates/features.html:82 software/templates/features.html:427 msgid "Login" msgstr "Přihlášení" -#: core/forms.py:108 core/forms.py:214 gym/views/export.py:61 +#: core/forms.py:108 core/forms.py:216 gym/views/export.py:61 #: gym/views/gym.py:217 msgid "First name" msgstr "Jméno" -#: core/forms.py:109 core/forms.py:215 core/templates/user/overview.html:266 +#: core/forms.py:109 core/forms.py:217 core/templates/user/overview.html:284 #: gym/views/export.py:62 gym/views/gym.py:217 msgid "Last name" msgstr "Příjmení" -#: core/forms.py:111 core/forms.py:180 core/templates/user/overview.html:270 +#: core/forms.py:111 core/forms.py:182 core/templates/user/overview.html:288 #: gym/models/contract.py:256 gym/models/gym.py:58 -#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:104 +#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:116 #: gym/templates/gym/new_user.html:30 gym/views/export.py:60 #: mailer/templates/mailer/gym/form.html:4 #: mailer/templates/mailer/gym/overview.html:4 @@ -128,94 +128,93 @@ msgstr "Je využíván k obnově hesla a případně k připomínkám pomocí e- msgid "Date of Birth" msgstr "Datum narození" -#: core/forms.py:148 +#: core/forms.py:149 msgid "Personal data" msgstr "Osobní data" -#: core/forms.py:159 +#: core/forms.py:161 msgid "Workout reminders" msgstr "Připomenutí tréninku" -#: core/forms.py:166 +#: core/forms.py:168 msgid "Other settings" msgstr "Další nastavení" -#: core/forms.py:174 core/views/user.py:624 core/views/user.py:639 -#: core/views/user.py:651 gym/forms.py:73 manager/templates/log/add.html:65 +#: core/forms.py:176 core/views/user.py:623 core/views/user.py:638 +#: core/views/user.py:650 gym/forms.py:73 manager/templates/log/add.html:65 #: manager/templates/set/add.html:70 manager/views/workout.py:203 #: utils/generic_views.py:143 msgid "Save" msgstr "Uložit" -#: core/forms.py:181 +#: core/forms.py:183 msgid "Used for password resets and, optionally, email reminders." msgstr "Je využíván k obnově hesla a případně k připomínkám pomocí emailu." -#: core/forms.py:210 +#: core/forms.py:212 msgid "This e-mail address is already in use." msgstr "Tato e-mailová adresa je již používána." -#: core/forms.py:231 gym/templates/gym/new_user.html:26 +#: core/forms.py:233 gym/templates/gym/new_user.html:26 #: gym/templates/gym/reset_user_password.html:24 gym/views/gym.py:217 msgid "Password" msgstr "Heslo" -#: core/forms.py:233 +#: core/forms.py:235 msgid "Please enter your current password." msgstr "Zadejte prosím vaše současné heslo." -#: core/forms.py:242 core/templates/language/view.html:73 -#: core/templates/license/list.html:19 core/templates/misc/license/list.html:22 -#: core/templates/repetition_unit/list.html:20 -#: core/templates/tags/render_day.html:45 -#: core/templates/tags/render_day.html:81 core/templates/user/overview.html:217 -#: core/templates/weight_unit/list.html:20 -#: exercises/templates/categories/admin-overview.html:19 -#: exercises/templates/equipment/admin-overview.html:19 -#: exercises/templates/muscles/admin-overview.html:19 -#: gym/templates/admin_notes/list.html:40 -#: gym/templates/contract_option/list.html:41 -#: gym/templates/contract_type/list.html:41 gym/templates/document/list.html:46 -#: gym/templates/gym/list.html:22 manager/templates/calendar/day.html:73 -#: manager/templates/calendar/month.html:89 -#: manager/templates/calendar/partial_overview_table.html:23 -#: manager/templates/schedule/view.html:122 -#: manager/templates/workout/view.html:188 -#: nutrition/templates/ingredient/view.html:166 +#: core/forms.py:244 core/templates/language/view.html:70 +#: core/templates/license/list.html:21 +#: core/templates/repetition_unit/list.html:22 +#: core/templates/user/overview.html:233 +#: core/templates/weight_unit/list.html:22 +#: exercises/templates/categories/admin-overview.html:21 +#: exercises/templates/equipment/admin-overview.html:21 +#: exercises/templates/muscles/admin-overview.html:20 +#: gym/templates/admin_notes/list.html:37 +#: gym/templates/contract_option/list.html:35 +#: gym/templates/contract_type/list.html:36 gym/templates/document/list.html:46 +#: gym/templates/gym/list.html:23 manager/templates/calendar/day.html:73 +#: manager/templates/calendar/month.html:88 +#: manager/templates/calendar/partial_overview_table.html:22 +#: manager/templates/schedule/view.html:277 +#: manager/templates/workout/view.html:202 +#: nutrition/templates/ingredient/view.html:168 #: nutrition/templates/ingredient/view.html:215 -#: nutrition/templates/units/list.html:22 +#: nutrition/templates/units/list.html:25 msgid "Delete" msgstr "Smazat" -#: core/forms.py:251 +#: core/forms.py:253 msgid "Invalid password" msgstr "Chybné heslo" -#: core/forms.py:263 core/forms.py:338 +#: core/forms.py:265 core/forms.py:340 msgid "The form is secured with reCAPTCHA" msgstr "Zabezpečeno službou reCAPTCHA" -#: core/forms.py:279 core/forms.py:301 core/templates/navigation.html:285 -#: core/templates/navigation.html:297 core/templates/template.html:149 -#: core/templates/user/login.html:20 core/views/user.py:298 +#: core/forms.py:281 core/forms.py:303 core/templates/navigation.html:284 +#: core/templates/navigation.html:296 core/templates/template.html:150 +#: core/templates/user/login.html:20 core/views/user.py:297 #: software/templates/features.html:87 software/templates/features.html:422 msgid "Register" msgstr "Registrace" -#: core/forms.py:315 software/templates/features.html:45 +#: core/forms.py:317 software/templates/features.html:45 msgid "Contact" msgstr "Kontakt" -#: core/forms.py:316 +#: core/forms.py:318 msgid "Some way of answering you (e-mail, etc.)" msgstr "Nějaký kontakt na vás (email, apod.)" -#: core/forms.py:324 exercises/models/comment.py:58 manager/models/set.py:61 +#: core/forms.py:326 exercises/models/comment.py:58 manager/models/set.py:61 #: manager/models/setting.py:114 nutrition/models/log.py:77 msgid "Comment" msgstr "Komentář" -#: core/forms.py:325 +#: core/forms.py:327 msgid "What do you want to say?" msgstr "Co cheš říci?" @@ -450,18 +449,18 @@ msgid "The sum of all hours has to be 24" msgstr "Součet všech hodin musí být 24" #: core/models/rep_unit.py:36 core/models/weight_unit.py:36 -#: core/templates/user/overview.html:262 core/views/user.py:599 +#: core/templates/user/overview.html:280 core/views/user.py:598 #: exercises/models/category.py:29 exercises/models/equipment.py:29 #: exercises/models/exercise.py:59 exercises/models/muscle.py:36 #: gym/models/contract.py:52 gym/models/contract.py:103 gym/models/gym.py:46 #: gym/models/user_document.py:84 gym/templates/contract/view.html:50 -#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:96 +#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:108 #: gym/views/gym.py:158 manager/models/schedule.py:55 #: manager/models/workout.py:57 measurements/models/category.py:36 #: nutrition/models/ingredient.py:111 -#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:67 +#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:65 #: nutrition/models/weight_unit.py:38 -#: nutrition/templates/ingredient/view.html:152 +#: nutrition/templates/ingredient/view.html:151 msgid "Name" msgstr "Název" @@ -513,7 +512,7 @@ msgstr "" msgid "Back to \"%(target)s\"" msgstr "Zpět na \"%(target)s\"" -#: core/templates/delete.html:15 +#: core/templates/delete.html:4 msgid "Are you sure you want to delete this? This action cannot be undone." msgstr "Jsi si jistý, že to chceš smazat? Tuhle akci už nejde pak odvolat." @@ -565,7 +564,7 @@ msgstr "Pro potvrzení e-mailu klikněte na následující odkaz: %(link)s" msgid "Dashboard" msgstr "Nástěnka" -#: core/templates/language/overview.html:4 core/templates/navigation.html:345 +#: core/templates/language/overview.html:4 core/templates/navigation.html:344 msgid "Languages" msgstr "Jazyky" @@ -575,82 +574,72 @@ msgstr "Nic nenalezeno." #: core/templates/language/overview.html:22 #: manager/templates/calendar/month.html:132 -#: manager/templates/schedule/overview.html:28 -#: manager/templates/schedule/view.html:144 +#: manager/templates/schedule/view.html:107 #: manager/templates/workout/overview.html:28 #: nutrition/templates/ingredient/overview.html:38 msgid "Add one now." msgstr "Přidat nyní." -#: core/templates/language/overview.html:35 core/templates/license/list.html:40 -#: core/templates/misc/license/list.html:43 -#: core/templates/repetition_unit/list.html:43 -#: core/templates/user/overview.html:326 core/templates/user/overview.html:365 -#: core/templates/user/overview.html:401 -#: core/templates/weight_unit/list.html:43 core/views/languages.py:74 +#: core/templates/language/overview.html:34 core/templates/license/list.html:43 +#: core/templates/repetition_unit/list.html:46 +#: core/templates/user/overview.html:344 core/templates/user/overview.html:384 +#: core/templates/user/overview.html:422 +#: core/templates/weight_unit/list.html:46 core/views/languages.py:74 #: core/views/license.py:66 core/views/repetition_units.py:66 #: core/views/weight_units.py:66 -#: exercises/templates/categories/admin-overview.html:38 -#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:67 -#: gym/templates/contract/list.html:73 -#: gym/templates/contract_option/list.html:72 -#: gym/templates/contract_type/list.html:72 gym/templates/document/list.html:79 -#: gym/templates/gym/member_list.html:211 -#: gym/templates/gym/member_list.html:244 -#: gym/templates/gym/member_list.html:281 +#: exercises/templates/categories/admin-overview.html:40 +#: exercises/templates/equipment/admin-overview.html:39 +#: exercises/templates/muscles/admin-overview.html:40 +#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:64 +#: gym/templates/contract/list.html:69 +#: gym/templates/contract_option/list.html:65 +#: gym/templates/contract_type/list.html:66 gym/templates/document/list.html:78 +#: gym/templates/gym/member_list.html:228 +#: gym/templates/gym/member_list.html:264 +#: gym/templates/gym/member_list.html:303 #: mailer/templates/mailer/gym/overview.html:43 +#: nutrition/templates/ingredient/overview.html:60 msgid "Add" msgstr "Přidat" #: core/templates/language/view.html:61 core/templates/user/api_key.html:44 -#: core/templates/user/preferences.html:45 gym/models/contract.py:203 -#: gym/templates/contract/view.html:41 gym/templates/contract/view.html:106 -#: gym/templates/gym/member_list.html:248 -#: manager/templates/schedule/view.html:285 -#: manager/templates/workout/view.html:163 -#: nutrition/templates/ingredient/view.html:202 +#: core/templates/user/preferences.html:50 gym/models/contract.py:203 +#: gym/templates/contract/view.html:41 gym/templates/gym/member_list.html:270 +#: manager/templates/schedule/view.html:257 +#: manager/templates/workout/view.html:177 +#: nutrition/templates/ingredient/view.html:206 msgid "Options" msgstr "Nastavení" -#: core/templates/license/list.html:4 core/templates/misc/license/list.html:4 +#: core/templates/license/list.html:4 msgid "License list" msgstr "Seznam licencí" -#: core/templates/license/list.html:26 core/templates/misc/license/list.html:30 -#: core/templates/repetition_unit/list.html:28 +#: core/templates/license/list.html:30 +#: core/templates/repetition_unit/list.html:32 #: core/templates/user/overview.html:104 core/templates/user/overview.html:136 -#: core/templates/user/overview.html:185 core/templates/user/overview.html:347 -#: core/templates/user/overview.html:383 core/templates/user/overview.html:427 -#: core/templates/weight_unit/list.html:28 -#: exercises/templates/categories/admin-overview.html:26 -#: exercises/templates/equipment/admin-overview.html:26 -#: exercises/templates/muscles/admin-overview.html:26 -#: gym/templates/admin_notes/list.html:52 gym/templates/contract/list.html:60 -#: gym/templates/contract_option/list.html:58 -#: gym/templates/contract_type/list.html:58 gym/templates/document/list.html:64 -#: gym/templates/gym/list.html:29 gym/templates/gym/member_list.html:229 -#: gym/templates/gym/member_list.html:262 -#: gym/templates/gym/member_list.html:299 +#: core/templates/user/overview.html:185 core/templates/user/overview.html:365 +#: core/templates/user/overview.html:404 core/templates/user/overview.html:448 +#: core/templates/weight_unit/list.html:32 +#: exercises/templates/categories/admin-overview.html:30 +#: exercises/templates/equipment/admin-overview.html:30 +#: exercises/templates/muscles/admin-overview.html:29 +#: gym/templates/admin_notes/list.html:50 gym/templates/contract/list.html:57 +#: gym/templates/contract_option/list.html:52 +#: gym/templates/contract_type/list.html:53 gym/templates/document/list.html:64 +#: gym/templates/gym/list.html:32 gym/templates/gym/member_list.html:248 +#: gym/templates/gym/member_list.html:284 +#: gym/templates/gym/member_list.html:321 #: mailer/templates/mailer/gym/overview.html:30 -#: manager/templates/calendar/day.html:87 -#: nutrition/templates/units/list.html:29 +#: manager/templates/calendar/day.html:88 +#: nutrition/templates/units/list.html:34 msgid "Nothing found" msgstr "Nic nenalezeno" -#: core/templates/misc/about.html:4 core/templates/template.html:175 +#: core/templates/misc/about.html:4 core/templates/template.html:187 msgid "Imprint" msgstr "Tiráž" -#: core/templates/misc/license/list.html:47 -msgid "" -"If a license has been localized, e.g. the Creative Commons\n" -" licenses for the different countries, add them as separate " -"entries here." -msgstr "" -"Pokud je licence, například Creative Commons\n" -" přeložena do různých jazyků, přidejte je sem jako jednotlivé " -"položky." - #: core/templates/navigation.html:28 software/templates/features.html:437 msgid "Training" msgstr "Trénink" @@ -695,8 +684,8 @@ msgstr "Veřejné šablony" msgid "Exercises" msgstr "Cviky" -#: core/templates/navigation.html:111 core/templates/navigation.html:184 -#: core/templates/navigation.html:340 +#: core/templates/navigation.html:111 core/templates/navigation.html:185 +#: core/templates/navigation.html:339 msgid "Administration" msgstr "Administrace" @@ -725,7 +714,7 @@ msgstr "Výživa" msgid "Nutrition plans" msgstr "Nutriční plány" -#: core/templates/navigation.html:165 nutrition/templates/bmi/form.html:50 +#: core/templates/navigation.html:165 msgid "BMI calculator" msgstr "Kalkulačka BMI" @@ -733,87 +722,87 @@ msgstr "Kalkulačka BMI" msgid "Daily calories calculator" msgstr "Kalkulačka denních kalorii" -#: core/templates/navigation.html:179 +#: core/templates/navigation.html:180 #: nutrition/templates/ingredient/overview.html:10 msgid "Ingredient overview" msgstr "Přehled jídel" -#: core/templates/navigation.html:187 nutrition/templates/units/list.html:6 +#: core/templates/navigation.html:189 nutrition/templates/units/list.html:6 msgid "Ingredient weight units" msgstr "Jednotka váhy položek" -#: core/templates/navigation.html:203 software/templates/features.html:442 +#: core/templates/navigation.html:205 software/templates/features.html:442 msgid "Body weight" msgstr "Tělesná hmotnost" -#: core/templates/navigation.html:210 core/templates/user/overview.html:114 +#: core/templates/navigation.html:212 core/templates/user/overview.html:114 msgid "Weight overview" msgstr "Přehled váhy" -#: core/templates/navigation.html:217 weight/views.py:65 +#: core/templates/navigation.html:216 weight/views.py:65 msgid "Add weight entry" msgstr "Zaznamenat váhu" -#: core/templates/navigation.html:231 +#: core/templates/navigation.html:230 msgid "About this software" msgstr "O aplikaci" -#: core/templates/navigation.html:237 software/templates/about_us.html:5 +#: core/templates/navigation.html:236 software/templates/about_us.html:5 msgid "About us" msgstr "O nás" -#: core/templates/navigation.html:243 software/templates/features.html:507 +#: core/templates/navigation.html:242 software/templates/features.html:507 msgid "REST API" msgstr "REST API" -#: core/templates/navigation.html:249 utils/models.py:45 +#: core/templates/navigation.html:248 utils/models.py:45 msgid "License" msgstr "Licence" -#: core/templates/navigation.html:255 +#: core/templates/navigation.html:254 msgid "Developer documentation" msgstr "Dokumentace vývojáře" -#: core/templates/navigation.html:262 +#: core/templates/navigation.html:261 msgid "Get the code" msgstr "Získejte kód" -#: core/templates/navigation.html:269 core/templates/template.html:214 +#: core/templates/navigation.html:268 core/templates/template.html:226 #: software/templates/features.html:582 msgid "Translate" msgstr "Překlad" -#: core/templates/navigation.html:303 core/templates/user/login.html:28 +#: core/templates/navigation.html:302 core/templates/user/login.html:28 msgid "Reset password" msgstr "Reset hesla" -#: core/templates/navigation.html:321 +#: core/templates/navigation.html:320 msgid "My preferences" msgstr "Má nastavení" -#: core/templates/navigation.html:330 +#: core/templates/navigation.html:329 msgid "Logout" msgstr "Odhlásit" -#: core/templates/navigation.html:353 +#: core/templates/navigation.html:352 msgid "Licenses" msgstr "Licence" -#: core/templates/navigation.html:361 +#: core/templates/navigation.html:360 #: core/templates/repetition_unit/list.html:4 msgid "Repetition units" msgstr "Opakující jednotky" -#: core/templates/navigation.html:369 core/templates/weight_unit/list.html:4 +#: core/templates/navigation.html:368 core/templates/weight_unit/list.html:4 #: nutrition/templates/ingredient/view.html:141 msgid "Weight units" msgstr "Jednotka hmostnosti" -#: core/templates/navigation.html:377 core/templates/user/list.html:4 +#: core/templates/navigation.html:376 core/templates/user/list.html:4 msgid "User list" msgstr "Uživatelský seznam" -#: core/templates/navigation.html:383 +#: core/templates/navigation.html:382 msgid "Gyms" msgstr "Posilovny" @@ -877,55 +866,30 @@ msgstr "předchozí" msgid "next" msgstr "další" -#: core/templates/tags/render_day.html:34 -msgid "Add weight log" -msgstr "Přidat záznam váhy" - -#: core/templates/tags/render_day.html:116 -msgid "Placeholder image for exercise" +#: core/templates/tags/render_day.html:44 +#, fuzzy +#| msgid "Placeholder image for exercise" +msgid "Placeholder image for translation" msgstr "Ukázkový obrázek pro cvik" -#: core/templates/tags/render_day.html:133 -msgid "This exercise has no repetitions." -msgstr "Tento cvik je bez opakování." - -#: core/templates/tags/render_day.html:136 -msgid "Edit them now." -msgstr "Upravit je teď." - -#: core/templates/tags/render_day.html:162 -msgid "Add exercises to this workout day" -msgstr "Přidat k tomuto dni cviky" - -#: core/templates/tags/render_weight_log.html:17 manager/helpers.py:86 -#: manager/models/setting.py:72 manager/templates/set/formset.html:9 -msgid "Reps" -msgstr "Opakování" - -#: core/templates/tags/render_weight_log.html:30 manager/forms.py:191 -#: manager/models/log.py:103 manager/models/setting.py:102 -#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 -msgid "RiR" -msgstr "OvR" - -#: core/templates/template.html:122 manager/templates/calendar/month.html:138 -#: manager/templates/schedule/view.html:248 -#: manager/templates/schedule/view.html:269 -#: manager/templates/workout/view.html:84 -#: manager/templates/workout/view.html:137 +#: core/templates/template.html:123 manager/templates/calendar/month.html:138 +#: manager/templates/schedule/view.html:215 +#: manager/templates/schedule/view.html:240 +#: manager/templates/workout/view.html:89 +#: manager/templates/workout/view.html:149 msgid "Close" msgstr "Zavřít" -#: core/templates/template.html:138 +#: core/templates/template.html:139 msgid "" "You are using a guest account, data entered will be deleted after a week." msgstr "Využíváte testovací účet. Data zde vložená budou po týdnu smazána." -#: core/templates/template.html:143 +#: core/templates/template.html:144 msgid "Create some demo entries" msgstr "Vytvořit nějaké testovací potraviny" -#: core/templates/template.html:180 software/templates/features.html:547 +#: core/templates/template.html:192 software/templates/features.html:547 #: software/templates/tos.html:7 msgid "Terms of service" msgstr "Podmínky služby" @@ -934,7 +898,7 @@ msgstr "Podmínky služby" msgid "Features" msgstr "Funkce" -#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:54 +#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:59 msgid "API key" msgstr "Klíč API" @@ -978,17 +942,17 @@ msgstr "Vytvořit nový API klíč" msgid "Documentation" msgstr "Dokumentace" -#: core/templates/user/delete_account.html:4 -#: core/templates/user/preferences.html:59 +#: core/templates/user/delete_account.html:3 +#: core/templates/user/preferences.html:62 msgid "Delete account" msgstr "Smazání účtu" -#: core/templates/user/delete_account.html:17 +#: core/templates/user/delete_account.html:9 #: exercises/templates/history/overview.html:93 msgid "Are you sure?" msgstr "Jste si jistý?" -#: core/templates/user/delete_account.html:22 +#: core/templates/user/delete_account.html:14 #, python-format msgid "" "This action will delete the user account \"%(username)s\".\n" @@ -1010,22 +974,22 @@ msgstr "Zapomenuté heslo?" #: core/templates/user/overview.html:25 core/templates/user/overview.html:68 #: core/templates/user/overview.html:112 core/templates/user/overview.html:144 -#: core/templates/user/overview.html:330 core/templates/user/overview.html:369 -#: core/templates/user/overview.html:405 +#: core/templates/user/overview.html:348 core/templates/user/overview.html:390 +#: core/templates/user/overview.html:426 #, python-format msgid "last %(number)s" msgstr "poslední %(number)s" #: core/templates/user/overview.html:27 core/templates/user/overview.html:146 -#: core/templates/user/overview.html:325 core/templates/user/overview.html:364 -#: core/templates/user/overview.html:400 gym/templates/gym/member_list.html:210 -#: gym/templates/gym/member_list.html:243 -#: gym/templates/gym/member_list.html:280 +#: core/templates/user/overview.html:343 core/templates/user/overview.html:382 +#: core/templates/user/overview.html:421 gym/templates/gym/member_list.html:226 +#: gym/templates/gym/member_list.html:262 +#: gym/templates/gym/member_list.html:302 msgid "Overview" msgstr "Přehled" #: core/templates/user/overview.html:28 -#: manager/templates/schedule/view.html:163 +#: manager/templates/schedule/view.html:125 #: manager/templates/workout/overview.html:39 manager/views/schedule_step.py:60 msgid "Add workout" msgstr "Přidat trénink" @@ -1057,38 +1021,36 @@ msgstr "Popis" msgid "Number of logs (days)" msgstr "Počet záznamů (za den)" -#: core/templates/user/overview.html:37 core/views/user.py:600 +#: core/templates/user/overview.html:37 core/views/user.py:599 #: gym/templates/gym/email_inactive_members.html:4 gym/views/gym.py:158 msgid "Last activity" msgstr "Poslední aktivita" #: core/templates/user/overview.html:58 #: manager/templates/calendar/month.html:128 -#: manager/templates/schedule/view.html:144 #: manager/templates/workout/overview.html:28 msgid "No workouts found." msgstr "Nenalezeny žádné tréninky." #: core/templates/user/overview.html:68 manager/forms.py:280 -#: manager/templates/workout/view.html:106 +#: manager/templates/workout/view.html:114 msgid "Log" msgstr "Záznam" #: core/templates/user/overview.html:77 manager/models/session.py:83 -#: manager/templates/calendar/partial_overview_table.html:52 +#: manager/templates/calendar/partial_overview_table.html:54 msgid "General impression" msgstr "Celkový dojem" -#: core/templates/user/overview.html:78 core/templates/user/overview.html:369 +#: core/templates/user/overview.html:78 core/templates/user/overview.html:390 #: manager/models/session.py:73 -#: manager/templates/calendar/partial_overview_table.html:56 -#: manager/templates/workout/log.html:89 +#: manager/templates/calendar/partial_overview_table.html:58 msgid "Notes" msgstr "Poznámky" #: core/templates/user/overview.html:79 #: exercises/templates/history/overview.html:30 -#: manager/templates/calendar/partial_overview_table.html:42 +#: manager/templates/calendar/partial_overview_table.html:44 msgid "Time" msgstr "Čas" @@ -1126,121 +1088,121 @@ msgstr "Tuky" msgid "kcal" msgstr "kcal" -#: core/templates/user/overview.html:201 core/templates/user/overview.html:322 -#: core/templates/user/overview.html:361 core/templates/user/overview.html:397 -#: core/templates/user/overview.html:442 gym/templates/gym/list.html:42 -#: gym/templates/gym/member_list.html:84 gym/templates/gym/member_list.html:137 -#: gym/templates/gym/member_list.html:173 -#: gym/templates/gym/member_list.html:207 -#: gym/templates/gym/member_list.html:240 -#: gym/templates/gym/member_list.html:277 -#: manager/templates/schedule/view.html:100 +#: core/templates/user/overview.html:201 core/templates/user/overview.html:340 +#: core/templates/user/overview.html:379 core/templates/user/overview.html:418 +#: core/templates/user/overview.html:463 gym/templates/gym/list.html:45 +#: gym/templates/gym/member_list.html:91 gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:187 +#: gym/templates/gym/member_list.html:223 +#: gym/templates/gym/member_list.html:259 +#: gym/templates/gym/member_list.html:299 +#: manager/templates/schedule/view.html:54 msgid "Actions" msgstr "Akce" -#: core/templates/user/overview.html:207 +#: core/templates/user/overview.html:210 msgid "Deactivate user" msgstr "Deaktivovat uživatele" -#: core/templates/user/overview.html:209 +#: core/templates/user/overview.html:214 msgid "Activate user" msgstr "Aktivovat uživatele" -#: core/templates/user/overview.html:211 +#: core/templates/user/overview.html:223 msgid "Reset user password" msgstr "Reset hesla" -#: core/templates/user/overview.html:214 gym/templates/gym/member_list.html:30 +#: core/templates/user/overview.html:227 gym/templates/gym/member_list.html:30 msgid "Roles" msgstr "Role" -#: core/templates/user/overview.html:225 +#: core/templates/user/overview.html:243 msgid "Password reset confirmation" msgstr "Potvrzení obnovy hesla" -#: core/templates/user/overview.html:229 +#: core/templates/user/overview.html:247 msgid "Do you really want to change this user's password?" msgstr "Opravdu chcete změnit těmto uživatelům's hesla?" -#: core/templates/user/overview.html:232 +#: core/templates/user/overview.html:250 #: exercises/templates/history/overview.html:106 msgid "No" msgstr "Ne" -#: core/templates/user/overview.html:233 +#: core/templates/user/overview.html:251 #: exercises/templates/history/overview.html:99 msgid "Yes" msgstr "Ano" -#: core/templates/user/overview.html:254 gym/templates/gym/member_list.html:93 +#: core/templates/user/overview.html:272 gym/templates/gym/member_list.html:105 msgid "Details" msgstr "Podrobnosti" -#: core/templates/user/overview.html:258 gym/views/export.py:57 -#: manager/helpers.py:86 manager/templates/schedule/view.html:98 +#: core/templates/user/overview.html:276 gym/views/export.py:57 +#: manager/helpers.py:86 manager/templates/schedule/view.html:52 msgid "Nr." msgstr "Č." -#: core/templates/user/overview.html:280 gym/models/contract.py:287 +#: core/templates/user/overview.html:298 gym/models/contract.py:287 #: gym/models/gym.py:50 gym/templates/contract/view.html:75 -#: gym/templates/gym/member_list.html:100 gym/views/export.py:68 +#: gym/templates/gym/member_list.html:112 gym/views/export.py:68 msgid "Phone" msgstr "Telefon" -#: core/templates/user/overview.html:284 gym/templates/contract/view.html:87 -#: gym/templates/gym/member_list.html:118 +#: core/templates/user/overview.html:302 gym/templates/contract/view.html:87 +#: gym/templates/gym/member_list.html:130 msgid "Address" msgstr "Adresa" -#: core/templates/user/overview.html:295 +#: core/templates/user/overview.html:313 msgid "Registered" msgstr "Registrován" -#: core/templates/user/overview.html:299 +#: core/templates/user/overview.html:317 msgid "Last login" msgstr "Poslední příhlášení" -#: core/templates/user/overview.html:304 +#: core/templates/user/overview.html:322 msgid "Status" msgstr "Stavy" -#: core/templates/user/overview.html:307 +#: core/templates/user/overview.html:325 msgid "Active" msgstr "Aktivní" -#: core/templates/user/overview.html:309 +#: core/templates/user/overview.html:327 msgid "Inactive" msgstr "Neaktivní" -#: core/templates/user/overview.html:330 gym/templates/contract/list.html:4 -#: gym/templates/gym/member_list.html:202 +#: core/templates/user/overview.html:348 gym/templates/contract/list.html:4 +#: gym/templates/gym/member_list.html:218 msgid "Contracts" msgstr "Zakázky" -#: core/templates/user/overview.html:405 gym/templates/document/list.html:4 +#: core/templates/user/overview.html:426 gym/templates/document/list.html:4 msgid "Documents" msgstr "Dokumenty" -#: core/templates/user/overview.html:412 gym/templates/document/list.html:32 -#: manager/forms.py:292 manager/templates/workout/view.html:132 +#: core/templates/user/overview.html:433 gym/templates/document/list.html:33 +#: manager/forms.py:292 manager/templates/workout/view.html:143 msgid "Download" msgstr "Stáhnout" -#: core/templates/user/overview.html:450 gym/views/admin_config.py:44 +#: core/templates/user/overview.html:474 gym/views/admin_config.py:44 #: gym/views/admin_config.py:58 gym/views/user_config.py:46 msgid "Configuration" msgstr "Konfigurace" -#: core/templates/user/overview.html:453 gym/models/user_config.py:92 +#: core/templates/user/overview.html:477 gym/models/user_config.py:92 msgid "Include in inactive overview" msgstr "Zahrnout v přehledu neaktivních" -#: core/templates/user/overview.html:486 +#: core/templates/user/overview.html:510 #, python-format msgid "Admin login is only available for users in %(gym_name)s" msgstr "Admin přihlášení je povoleno pouze pro uživatele v %(gym_name)s" -#: core/templates/user/overview.html:490 +#: core/templates/user/overview.html:514 msgid "Log in as this user" msgstr "Přihlásit se jako tento uživatel" @@ -1260,19 +1222,19 @@ msgstr "Neověřený email" msgid "Send verification email" msgstr "Odeslat ověřovací email" -#: core/templates/user/preferences.html:30 +#: core/templates/user/preferences.html:31 msgid "You need to verify your email to contribute exercises" msgstr "Abyste mohli přidávat cvičení, musíte ověřit svůj email" -#: core/templates/user/preferences.html:50 core/views/user.py:611 +#: core/templates/user/preferences.html:55 core/views/user.py:610 msgid "Change password" msgstr "Změna hesla" -#: core/templatetags/wger_extras.py:205 i18n.tpl:37 +#: core/templatetags/wger_extras.py:197 i18n.tpl:37 msgid "kg" msgstr "kg" -#: core/templatetags/wger_extras.py:207 +#: core/templatetags/wger_extras.py:199 #: nutrition/templates/ingredient/view.html:60 #: nutrition/templates/ingredient/view.html:66 #: nutrition/templates/ingredient/view.html:73 @@ -1284,11 +1246,11 @@ msgctxt "weight unit, i.e. grams" msgid "g" msgstr "g" -#: core/templatetags/wger_extras.py:210 i18n.tpl:38 +#: core/templatetags/wger_extras.py:202 i18n.tpl:38 msgid "lb" msgstr "lb" -#: core/templatetags/wger_extras.py:212 +#: core/templatetags/wger_extras.py:204 msgctxt "weight unit, i.e. ounces" msgid "oz" msgstr "oz" @@ -1315,13 +1277,13 @@ msgid "Delete {0}?" msgstr "Smazat {0}?" #: core/views/languages.py:111 core/views/license.py:85 -#: core/views/repetition_units.py:86 core/views/user.py:474 +#: core/views/repetition_units.py:86 core/views/user.py:473 #: core/views/weight_units.py:86 exercises/views/categories.py:98 #: exercises/views/equipment.py:81 exercises/views/muscles.py:87 #: gym/views/admin_notes.py:161 gym/views/config.py:68 #: gym/views/contract.py:186 gym/views/contract_option.py:123 #: gym/views/contract_type.py:123 gym/views/document.py:171 -#: gym/views/gym.py:463 manager/views/day.py:100 manager/views/schedule.py:333 +#: gym/views/gym.py:463 manager/views/day.py:96 manager/views/schedule.py:333 #: manager/views/workout.py:267 nutrition/views/ingredient.py:145 #: nutrition/views/unit.py:143 #, python-brace-format @@ -1350,48 +1312,48 @@ msgstr "Zaslat" msgid "Your feedback was successfully sent. Thank you!" msgstr "Vaše zpětná vazba byla zaslána. Děkujeme!" -#: core/views/user.py:156 +#: core/views/user.py:155 #, python-brace-format msgid "Account \"{0}\" was successfully deleted" msgstr "Účet \"{0}\" byl smazán" -#: core/views/user.py:292 +#: core/views/user.py:291 msgid "You were successfully registered" msgstr "Byl jste úspěšně zaregistrován" -#: core/views/user.py:351 +#: core/views/user.py:350 msgid "Settings successfully updated" msgstr "Nastavení bylo aktualizováno" -#: core/views/user.py:390 +#: core/views/user.py:389 msgid "The user was successfully deactivated" msgstr "Uživatel byl deaktivován" -#: core/views/user.py:427 +#: core/views/user.py:426 msgid "The user was successfully activated" msgstr "Uživatel byl aktivován" -#: core/views/user.py:442 +#: core/views/user.py:441 msgid "Edit user" msgstr "Upravit uživatele" -#: core/views/user.py:597 gym/templates/gym/member_list.html:26 +#: core/views/user.py:596 gym/templates/gym/member_list.html:26 #: gym/views/gym.py:158 msgid "ID" msgstr "ID" -#: core/views/user.py:598 gym/forms.py:95 gym/templates/contract/view.html:55 +#: core/views/user.py:597 gym/forms.py:95 gym/templates/contract/view.html:55 #: gym/templates/gym/member_list.html:27 gym/views/export.py:59 #: gym/views/gym.py:158 gym/views/gym.py:217 msgid "Username" msgstr "Uživatel" -#: core/views/user.py:601 gym/templates/gym/new_user.html:34 +#: core/views/user.py:600 gym/templates/gym/new_user.html:34 #: gym/views/export.py:58 gym/views/gym.py:217 msgid "Gym" msgstr "Posilovna" -#: core/views/user.py:660 +#: core/views/user.py:659 #, python-format msgid "A verification email was sent to %(email)s" msgstr "Ověřovací e-mail byl zaslán na %(email)s" @@ -1544,11 +1506,6 @@ msgstr "Kodek, dlouhý název" msgid "Equipment list" msgstr "Seznam nářadí" -#: exercises/templates/equipment/admin-overview.html:39 -#: exercises/views/equipment.py:92 -msgid "Add new equipment" -msgstr "Přidat nové nářadí" - #: exercises/templates/history/overview.html:11 msgid "Exercise admin history" msgstr "Administrativní historie cvičení" @@ -1596,11 +1553,6 @@ msgstr "Zvrátit změny" msgid "Muscle overview" msgstr "Přehled svalů" -#: exercises/templates/muscles/admin-overview.html:38 -#: exercises/views/muscles.py:68 -msgid "Add muscle" -msgstr "Přidat sval" - #: exercises/views/categories.py:72 msgid "Add category" msgstr "Přidat kategorie" @@ -1609,6 +1561,10 @@ msgstr "Přidat kategorie" msgid "This will also delete all exercises in this category." msgstr "Budou také smazány všechny cviky v této kategorii." +#: exercises/views/equipment.py:92 +msgid "Add new equipment" +msgstr "Přidat nové nářadí" + #: exercises/views/equipment.py:104 exercises/views/equipment.py:115 msgid "Delete equipment?" msgstr "Smazat nářadí?" @@ -1617,6 +1573,10 @@ msgstr "Smazat nářadí?" msgid "This will delete the exercise from all workouts." msgstr "To smaže všechny cviky ze všech tréninků." +#: exercises/views/muscles.py:68 +msgid "Add muscle" +msgstr "Přidat sval" + #: gallery/templates/images/overview.html:62 msgid "Add image" msgstr "Přidat obrázek" @@ -1703,7 +1663,7 @@ msgid "Contract is active" msgstr "Zakázka je aktivní" #: gym/models/contract.py:237 gym/templates/contract/view.html:69 -#: manager/models/schedule.py:61 manager/templates/schedule/view.html:67 +#: manager/models/schedule.py:61 manager/templates/schedule/view.html:21 msgid "Start date" msgstr "Datum začátku" @@ -1739,7 +1699,7 @@ msgstr "Admin: může spravovat uživatelé posilovny" msgid "Admin: can administrate the different gyms" msgstr "Admin: může spravovat rozdílné posilovny" -#: gym/models/gym.py:65 gym/templates/gym/member_list.html:114 +#: gym/models/gym.py:65 gym/templates/gym/member_list.html:126 msgid "Owner" msgstr "Zákazník" @@ -1751,7 +1711,7 @@ msgstr "" "Počet týdnů od posledního přihlášení uživatele, kdy bude považován za " "neaktivního" -#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:152 +#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:166 msgid "Show name in header" msgstr "Zobrazit jméno v hlavičce" @@ -1764,7 +1724,7 @@ msgstr "Zobrazit název tělocvičny v hlavičce stránky" msgid "Configuration for {self.gym.name}" msgstr "Nastavení pro {self.gym.name}" -#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:184 +#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:200 msgid "Overview of inactive members" msgstr "Přehled neaktivních uživatelů" @@ -1788,7 +1748,7 @@ msgstr "Bude použit název souboru, pokud neuvedete jinak" msgid "User notes" msgstr "Uživatelské poznámky" -#: gym/templates/contract/list.html:36 +#: gym/templates/contract/list.html:34 msgid "Show" msgstr "Zobrazit" @@ -1816,11 +1776,11 @@ msgstr "" msgid "Gym list" msgstr "Seznam posiloven" -#: gym/templates/gym/list.html:50 +#: gym/templates/gym/list.html:53 msgid "Global gym configuration" msgstr "Základní nastavení posilovny" -#: gym/templates/gym/list.html:67 gym/views/gym.py:171 +#: gym/templates/gym/list.html:69 gym/views/gym.py:171 msgid "Add new gym" msgstr "Přidat novou posilovnu" @@ -1832,43 +1792,43 @@ msgstr "Administrátoři a trenéři" msgid "Gym manager" msgstr "Vedoucí posilovny" -#: gym/templates/gym/member_list.html:69 +#: gym/templates/gym/member_list.html:76 msgid "This gym has no administrators or trainers" msgstr "Posilovna nemá administrátory nebo trénéry" -#: gym/templates/gym/member_list.html:88 +#: gym/templates/gym/member_list.html:98 msgid "Export" msgstr "Export" -#: gym/templates/gym/member_list.html:125 +#: gym/templates/gym/member_list.html:137 msgid "Members" msgstr "Členové" -#: gym/templates/gym/member_list.html:145 +#: gym/templates/gym/member_list.html:159 msgid "Gym configuration" msgstr "Nastavení posilovny" -#: gym/templates/gym/member_list.html:148 +#: gym/templates/gym/member_list.html:162 msgid "Inactive members" msgstr "Neaktivní čleonové" -#: gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:163 msgid "weeks" msgstr "výkendů" -#: gym/templates/gym/member_list.html:181 +#: gym/templates/gym/member_list.html:197 msgid "My configuration" msgstr "Má nastavení" -#: gym/templates/gym/member_list.html:215 +#: gym/templates/gym/member_list.html:234 msgid "Types" msgstr "Typy" -#: gym/templates/gym/member_list.html:285 +#: gym/templates/gym/member_list.html:307 msgid "Emails" msgstr "Emaily" -#: gym/templates/gym/member_list.html:315 +#: gym/templates/gym/member_list.html:336 msgid "Add member" msgstr "Přidat uživatele" @@ -2164,28 +2124,38 @@ msgstr "Také hledat názvy v angličtině" msgid "Unit" msgstr "Jednotka" +#: manager/forms.py:191 manager/models/log.py:103 manager/models/setting.py:102 +#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 +msgid "RiR" +msgstr "OvR" + #: manager/forms.py:279 msgid "Type" msgstr "Typ" -#: manager/forms.py:280 manager/templates/workout/view.html:113 +#: manager/forms.py:280 manager/templates/workout/view.html:122 msgid "Table" msgstr "Tabulka" -#: manager/forms.py:282 manager/templates/workout/view.html:119 +#: manager/forms.py:282 manager/templates/workout/view.html:129 msgid "with images" msgstr "s obrázky" -#: manager/forms.py:283 manager/templates/workout/view.html:125 +#: manager/forms.py:283 manager/templates/workout/view.html:136 msgid "with comments" msgstr "s komentáři" +#: manager/helpers.py:86 manager/models/setting.py:72 +#: manager/templates/set/formset.html:9 +msgid "Reps" +msgstr "Opakování" + #: manager/management/commands/email-reminders.py:121 msgid "Workout will expire soon" msgstr "Trénink bude brzy expirovat" #: manager/models/day.py:34 manager/models/log.py:58 -#: manager/models/session.py:60 manager/templates/schedule/view.html:102 +#: manager/models/session.py:60 manager/templates/schedule/view.html:56 #: manager/templates/workout/view.html:9 manager/templates/workout/view.html:17 #: manager/views/pdf.py:85 manager/views/pdf.py:161 #: manager/views/schedule.py:151 manager/views/schedule.py:221 @@ -2208,7 +2178,7 @@ msgstr "Dny" msgid "Name or short description of the schedule. For example 'Program XYZ'." msgstr "Jméno, nebo krátký popis plánu. Například 'Program XYZ'." -#: manager/models/schedule.py:65 manager/templates/schedule/view.html:71 +#: manager/models/schedule.py:65 manager/templates/schedule/view.html:25 msgid "Schedule active" msgstr "Rozvrh je aktivní" @@ -2222,7 +2192,7 @@ msgstr "" "(bude zobrazen např. na nástěnce). Všechny ostatní rozvrhy budou označeny " "jako neaktivní" -#: manager/models/schedule.py:77 manager/templates/schedule/view.html:81 +#: manager/models/schedule.py:77 manager/templates/schedule/view.html:35 msgid "Is a loop" msgstr "Opakující se" @@ -2243,7 +2213,7 @@ msgid "The duration in weeks" msgstr "Trvání v týdnech" #: manager/models/schedule_step.py:64 manager/models/set.py:53 -#: manager/models/setting.py:113 nutrition/models/meal.py:55 +#: manager/models/setting.py:113 nutrition/models/meal.py:53 #: nutrition/models/meal_item.py:66 msgid "Order" msgstr "Řazení" @@ -2384,7 +2354,7 @@ msgstr "Záznam přehledu" msgid "Workout session" msgstr "Tréninková relace" -#: manager/templates/calendar/partial_overview_table.html:27 +#: manager/templates/calendar/partial_overview_table.html:26 msgid "Delete with logs" msgstr "Smazat se záznamy" @@ -2407,21 +2377,27 @@ msgstr "" "vytvořeny pokud již jeden z nich není dostupný pro dané datum. Pokud\n" "ano, můžete je jednoduše upravovat. Hmotnosti závaží jsou vždy přidány." -#: manager/templates/schedule/overview.html:5 +#: manager/templates/schedule/overview.html:4 msgid "Your schedules" msgstr "Tvé rozvrhy" #: manager/templates/schedule/overview.html:19 -#: manager/templates/schedule/view.html:131 -#: manager/templates/schedule/view.html:183 +#: manager/templates/schedule/view.html:96 +#: manager/templates/schedule/view.html:146 #: manager/templates/workout/overview.html:16 msgid "active" msgstr "aktivní" -#: manager/templates/schedule/overview.html:28 +#: manager/templates/schedule/overview.html:27 msgid "No schedules found." msgstr "Nenalezeny žádné rozvrhy." +#: manager/templates/schedule/overview.html:28 +#, fuzzy +#| msgid "Add one now." +msgid "Add one now" +msgstr "Přidat nyní." + #: manager/templates/schedule/overview.html:36 msgid "" "Schedules are collections of workouts that you do in\n" @@ -2431,19 +2407,27 @@ msgstr "" " v posloupnosti." #: manager/templates/schedule/overview.html:39 +#, fuzzy +#| msgid "" +#| "You can indicate how long you want to do each workout\n" +#| " before jumping to the next. It is also possible to create a loop, " +#| "so you\n" +#| " always do the same workouts in succession, e.g. A > B > C > A > B " +#| "> C and so on." msgid "" "You can indicate how long you want to do each workout\n" " before jumping to the next. It is also possible to create a loop, so " "you\n" " always do the same workouts in succession, e.g. A > B > C > A > B > " -"C and so on." +"C and so\n" +" on." msgstr "" "Můžete uvést, jak dlouho chcete aby trval váš trénink\n" " před přechodem na další. Můžete také vytvořit opakování, takže\n" " vždy budete provádět stejné tréninky za sebou, např. A > B > C > A > " "B > C a tak dále." -#: manager/templates/schedule/overview.html:43 +#: manager/templates/schedule/overview.html:44 msgid "" "The currently active schedule will remain active (and be\n" " shown e.g. in your dashboard) till it reaches the last workout or " @@ -2462,7 +2446,7 @@ msgstr "Přidat rozvrh" msgid "Schedule" msgstr "Rozvrh" -#: manager/templates/schedule/view.html:85 +#: manager/templates/schedule/view.html:39 msgid "" "This schedule is a loop and will go through the workouts above till you " "deactivate it" @@ -2470,19 +2454,15 @@ msgstr "" "Tento rozvrh je opakujicí se a bude procházet výše uvedené tréninky, pokud " "jej nevypnete" -#: manager/templates/schedule/view.html:103 +#: manager/templates/schedule/view.html:57 msgid "Weeks" msgstr "Týdny" -#: manager/templates/schedule/view.html:115 -msgid "Move me" -msgstr "Přesuň mě" - -#: manager/templates/schedule/view.html:156 +#: manager/templates/schedule/view.html:121 msgid "Start schedule" msgstr "Začít rozvrh" -#: manager/templates/schedule/view.html:187 +#: manager/templates/schedule/view.html:150 #, python-format msgid "" "%(weeks)s Week\n" @@ -2503,11 +2483,11 @@ msgstr[3] "" "%(weeks)s týdnů\n" " " -#: manager/templates/schedule/view.html:221 +#: manager/templates/schedule/view.html:184 msgid "Adding workouts" msgstr "Přidat tréninky" -#: manager/templates/schedule/view.html:223 +#: manager/templates/schedule/view.html:186 msgid "" "Add as many workouts to the schedule as you want. You can\n" " edit the order by dragging and dropping them. It's also possible " @@ -2519,27 +2499,35 @@ msgstr "" "trénink více\n" " než jednou." -#: manager/templates/schedule/view.html:232 -#: manager/templates/schedule/view.html:243 -#: manager/templates/schedule/view.html:290 +#: manager/templates/schedule/view.html:195 +#: manager/templates/schedule/view.html:209 +#: manager/templates/schedule/view.html:263 #: manager/templates/workout/view.html:69 -#: manager/templates/workout/view.html:79 -#: manager/templates/workout/view.html:178 +#: manager/templates/workout/view.html:83 +#: manager/templates/workout/view.html:192 msgid "Export calendar file" msgstr "Exportovat kalendářový soubor" -#: manager/templates/schedule/view.html:236 +#: manager/templates/schedule/view.html:201 msgid "Export this schedule as a calendar file." msgstr "Exportovat rozvrh jako kalendářový soubor." -#: manager/templates/schedule/view.html:237 -#: manager/templates/workout/view.html:74 +#: manager/templates/schedule/view.html:202 +#: manager/templates/workout/view.html:76 +#, fuzzy +#| msgid "" +#| "You can then import the file it into your calendar\n" +#| " application for example google calendar, outlook " +#| "or iCal. This will create\n" +#| " an appointment for each training day with the " +#| "appropriate exercises." msgid "" "You can then import the file it into your calendar\n" " application for example google calendar, outlook or " "iCal. This will create\n" " an appointment for each training day with the " -"appropriate exercises." +"appropriate\n" +" exercises." msgstr "" "Soubor můžete importovat do vašeho kalendáře,\n" " například do Kalendáře Google, Outlooku nebo iCal. " @@ -2547,21 +2535,13 @@ msgstr "" " tím událost pro každý tréninkový den s " "odpovídajícími cvičeními." -#: manager/templates/schedule/view.html:258 -#: manager/templates/schedule/view.html:294 -#: manager/templates/workout/view.html:94 -#: manager/templates/workout/view.html:174 +#: manager/templates/schedule/view.html:225 +#: manager/templates/schedule/view.html:268 +#: manager/templates/workout/view.html:99 +#: manager/templates/workout/view.html:188 msgid "Download as PDF" msgstr "Stáhnout jako PDF" -#: manager/templates/schedule/view.html:299 -msgid "Edit schedule" -msgstr "Upravit rozvrh" - -#: manager/templates/schedule/view.html:304 -msgid "Delete schedule" -msgstr "Smazat rozvrh" - #: manager/templates/set/add.html:9 #, python-format msgid "Add exercises to day \"%(day_name)s\"" @@ -2640,55 +2620,6 @@ msgid "" msgstr "" "Pravidelná upozornění vám budou zasílána, dokud nezadáte aktuální hmotnost." -#: manager/templates/workout/log.html:10 manager/templates/workout/log.html:11 -msgid "Weight log" -msgstr "Záznam váhy" - -#: manager/templates/workout/log.html:29 -msgid "Weight log for workout" -msgstr "Záznam váhy pro trénink" - -#: manager/templates/workout/log.html:49 -msgid "Add weight log to this day" -msgstr "Přidejte záznam váhy pro tento den" - -#: manager/templates/workout/log.html:69 -msgid "No weight entries here." -msgstr "Nebyla zde vložena váha." - -#: manager/templates/workout/log.html:77 -msgid "No exercises for this day." -msgstr "Pro tento den nejsou žádné cviky." - -#: manager/templates/workout/log.html:90 -msgid "" -"This page shows the weight logs belonging to this workout\n" -"only. Click on an exercise to see all the historical data for\n" -"it." -msgstr "" -"Tato stránka zobrazuje pouze záznamy váhy, které patří k tomuto tréninku.\n" -"Pokud chcete vidět všechny záznamy, musíte kliknout na konkrétní cvik." - -#: manager/templates/workout/log.html:94 -msgid "" -"If on a single day there is more than one entry with the\n" -"same number of repetitions, but different weights, only the entry with the\n" -"higher weight is shown in the diagram." -msgstr "" -"Pokud je v jednom dni více záznamů se\n" -"stejným číslem opakování, ale jinými váhami, bude v grafu zobrazen\n" -"pouze záznam s vyšší váhou." - -#: manager/templates/workout/log.html:98 -msgid "" -"Note that only entries with a weight unit (kg or lb) and\n" -"repetitions are charted, other combinations such as time or until failure\n" -"are ignored here." -msgstr "" -"Jsou zaznamenány pouze záznamy s jednotkou váhy (kg nebo lb)\n" -"a opakování, jiné kombinace jako čas nebo selhání jsou\n" -"zde ignorovány." - #: manager/templates/workout/overview.html:25 msgid "No templates found." msgstr "Nenalezeny žádné šablony." @@ -2726,27 +2657,23 @@ msgstr "Přidat tréninkové série pro dny" msgid "Set the repetitions for each set" msgstr "Nastavte opakování pro každou sérii" -#: manager/templates/workout/view.html:73 +#: manager/templates/workout/view.html:75 msgid "Export this workout as a calendar file." msgstr "Exportovat trénink jako calendářový soubor." -#: manager/templates/workout/view.html:144 +#: manager/templates/workout/view.html:156 msgid "Logs" msgstr "Záznamy" -#: manager/templates/workout/view.html:146 +#: manager/templates/workout/view.html:159 msgid "View logs" msgstr "Zobrazit záznamy" -#: manager/templates/workout/view.html:169 manager/views/schedule_step.py:99 -msgid "Edit workout" -msgstr "Upravit trénink" - -#: manager/templates/workout/view.html:182 manager/views/workout.py:281 +#: manager/templates/workout/view.html:195 manager/views/workout.py:281 msgid "Mark as template" msgstr "Označit jako šablonu" -#: manager/views/day.py:109 +#: manager/views/day.py:105 msgid "Add workout day" msgstr "Přidat tréninkový den" @@ -2763,6 +2690,10 @@ msgstr "Trénink pro %s" msgid "Create schedule" msgstr "Vytvořit rozvrh" +#: manager/views/schedule_step.py:99 +msgid "Edit workout" +msgstr "Upravit trénink" + #: manager/views/workout.py:209 msgid "Copy workout" msgstr "Kopírovat trénink" @@ -2886,7 +2817,7 @@ msgstr "Množství v gramech" msgid "Unit amount, e.g. \"1 Cup\" or \"1/2 spoon\"" msgstr "Jednotka množství, např. \"1 pohár\" nebo \"1/2 lžíce\"" -#: nutrition/models/log.py:52 nutrition/models/meal.py:50 +#: nutrition/models/log.py:52 nutrition/models/meal.py:48 #: nutrition/models/meal_item.py:48 nutrition/models/plan.py:108 msgid "Nutrition plan" msgstr "Nutriční plán" @@ -2899,11 +2830,11 @@ msgstr "Jídlo" msgid "Date and Time (Approx.)" msgstr "Datum a čas (přibližně)" -#: nutrition/models/meal.py:62 +#: nutrition/models/meal.py:60 msgid "Time (approx)" msgstr "Čas (cca)" -#: nutrition/models/meal.py:69 +#: nutrition/models/meal.py:67 msgid "" "Give meals a textual description / name such as \"Breakfast\" or \"after " "workout\"" @@ -2930,62 +2861,6 @@ msgstr "" "Zaškrtněnte toto políčko, pokud chcete tento plán označit jako cílovou " "hodnotu kalorii. Můžete použít kalkulacku, nebo zadat hodnotu ručně." -#: nutrition/templates/bmi/form.html:62 -msgid "Results" -msgstr "Výsledek" - -#: nutrition/templates/bmi/form.html:63 -msgid "Your BMI is: " -msgstr "Vaše BMI je: " - -#: nutrition/templates/bmi/form.html:71 -msgid "Legend" -msgstr "Legenda" - -#: nutrition/templates/bmi/form.html:75 -msgid "Adipositas III" -msgstr "Obézita III" - -#: nutrition/templates/bmi/form.html:79 -msgid "Adipositas II" -msgstr "Obézita II" - -#: nutrition/templates/bmi/form.html:83 -msgid "Adipositas I" -msgstr "Obézita I" - -#: nutrition/templates/bmi/form.html:87 -msgid "Overweight" -msgstr "Nadváha" - -#: nutrition/templates/bmi/form.html:91 -msgid "Normal weight" -msgstr "Optimální váha" - -#: nutrition/templates/bmi/form.html:95 -msgid "Slight underweight" -msgstr "Lehká podváha" - -#: nutrition/templates/bmi/form.html:99 -msgid "Moderate underweight" -msgstr "Střední podváha" - -#: nutrition/templates/bmi/form.html:103 -msgid "Strong underweight" -msgstr "Silná podváha" - -#: nutrition/templates/bmi/form.html:117 -msgid "" -"Use the form to calculate your BMI (Body Mass Index).\n" -"If you have entered data in the weight section, the last entry will\n" -"be used automatically. Otherwise the weight you enter here will be saved\n" -"in a new entry." -msgstr "" -"Použijte kalkulačku pro výpočet BMI (Body Mass Index).\n" -"Pokud jste už zadali svou hmotnost, bude doplněna automaticky.\n" -"V opačném případě bude zadaná hodnota uložena jako\n" -"nový záznam." - #: nutrition/templates/ingredient/email_new.tpl:1 #, python-format msgid "" @@ -3043,10 +2918,6 @@ msgstr "Bez položek." msgid "Search" msgstr "Vyhledat" -#: nutrition/templates/ingredient/overview.html:62 -msgid "Add ingredient" -msgstr "Přidat položku" - #: nutrition/templates/ingredient/view.html:45 nutrition/views/plan.py:229 msgid "Macronutrients" msgstr "Makroživiny" @@ -3066,20 +2937,11 @@ msgstr "neuvedeno" msgid "Others" msgstr "Další" -#: nutrition/templates/ingredient/view.html:144 -#: nutrition/templates/units/list.html:46 nutrition/views/unit.py:86 +#: nutrition/templates/ingredient/view.html:143 +#: nutrition/templates/units/list.html:50 nutrition/views/unit.py:86 msgid "Add new weight unit" msgstr "Přidejte novou jednotku hmostnosti" -#: nutrition/templates/ingredient/view.html:206 -#: nutrition/templates/ingredient/view.html:209 -msgid "Edit ingredient" -msgstr "Upravit ingredience" - -#: nutrition/templates/ingredient/view.html:213 -msgid "Delete ingredient" -msgstr "Smazat ingredience" - #: nutrition/templates/rate/form.html:25 msgid "Basal metabolic rate" msgstr "Hodnota Bazálního metabolismu" @@ -3162,18 +3024,6 @@ msgstr "" "být pouze přibližné. Pokud založíte nutriční plán na těchto hontocáh, \n" "dodržujte jej několik týdnů a v případě potřeby změňte celkovou výši." -#: nutrition/views/bmi.py:89 -msgid "Please make sure your height is within the appropriate range." -msgstr "Ujistěte se, že je vaše výška v odpovídajícím rozmezí." - -#: nutrition/views/bmi.py:92 -msgid "140 to 230" -msgstr "140 až 230" - -#: nutrition/views/bmi.py:94 -msgid "56 to 90" -msgstr "56 až 90" - #: nutrition/views/ingredient.py:157 msgid "Add a new ingredient" msgstr "Přidat novou složku" @@ -3719,6 +3569,142 @@ msgstr "Úspěšně smazáno." msgid "Delete weight entry for the %s" msgstr "Vymazat záznam váhy pro %s" +#~ msgid "Move me" +#~ msgstr "Přesuň mě" + +#~ msgid "Results" +#~ msgstr "Výsledek" + +#~ msgid "Your BMI is: " +#~ msgstr "Vaše BMI je: " + +#~ msgid "Legend" +#~ msgstr "Legenda" + +#~ msgid "Adipositas III" +#~ msgstr "Obézita III" + +#~ msgid "Adipositas II" +#~ msgstr "Obézita II" + +#~ msgid "Adipositas I" +#~ msgstr "Obézita I" + +#~ msgid "Overweight" +#~ msgstr "Nadváha" + +#~ msgid "Normal weight" +#~ msgstr "Optimální váha" + +#~ msgid "Slight underweight" +#~ msgstr "Lehká podváha" + +#~ msgid "Moderate underweight" +#~ msgstr "Střední podváha" + +#~ msgid "Strong underweight" +#~ msgstr "Silná podváha" + +#~ msgid "" +#~ "Use the form to calculate your BMI (Body Mass Index).\n" +#~ "If you have entered data in the weight section, the last entry will\n" +#~ "be used automatically. Otherwise the weight you enter here will be saved\n" +#~ "in a new entry." +#~ msgstr "" +#~ "Použijte kalkulačku pro výpočet BMI (Body Mass Index).\n" +#~ "Pokud jste už zadali svou hmotnost, bude doplněna automaticky.\n" +#~ "V opačném případě bude zadaná hodnota uložena jako\n" +#~ "nový záznam." + +#~ msgid "Please make sure your height is within the appropriate range." +#~ msgstr "Ujistěte se, že je vaše výška v odpovídajícím rozmezí." + +#~ msgid "140 to 230" +#~ msgstr "140 až 230" + +#~ msgid "56 to 90" +#~ msgstr "56 až 90" + +#~ msgid "" +#~ "If a license has been localized, e.g. the Creative Commons\n" +#~ " licenses for the different countries, add them as separate " +#~ "entries here." +#~ msgstr "" +#~ "Pokud je licence, například Creative Commons\n" +#~ " přeložena do různých jazyků, přidejte je sem jako jednotlivé " +#~ "položky." + +#~ msgid "Add weight log" +#~ msgstr "Přidat záznam váhy" + +#~ msgid "This exercise has no repetitions." +#~ msgstr "Tento cvik je bez opakování." + +#~ msgid "Edit them now." +#~ msgstr "Upravit je teď." + +#~ msgid "Add exercises to this workout day" +#~ msgstr "Přidat k tomuto dni cviky" + +#~ msgid "Edit schedule" +#~ msgstr "Upravit rozvrh" + +#~ msgid "Delete schedule" +#~ msgstr "Smazat rozvrh" + +#~ msgid "Weight log" +#~ msgstr "Záznam váhy" + +#~ msgid "Weight log for workout" +#~ msgstr "Záznam váhy pro trénink" + +#~ msgid "Add weight log to this day" +#~ msgstr "Přidejte záznam váhy pro tento den" + +#~ msgid "No weight entries here." +#~ msgstr "Nebyla zde vložena váha." + +#~ msgid "No exercises for this day." +#~ msgstr "Pro tento den nejsou žádné cviky." + +#~ msgid "" +#~ "This page shows the weight logs belonging to this workout\n" +#~ "only. Click on an exercise to see all the historical data for\n" +#~ "it." +#~ msgstr "" +#~ "Tato stránka zobrazuje pouze záznamy váhy, které patří k tomuto " +#~ "tréninku.\n" +#~ "Pokud chcete vidět všechny záznamy, musíte kliknout na konkrétní cvik." + +#~ msgid "" +#~ "If on a single day there is more than one entry with the\n" +#~ "same number of repetitions, but different weights, only the entry with " +#~ "the\n" +#~ "higher weight is shown in the diagram." +#~ msgstr "" +#~ "Pokud je v jednom dni více záznamů se\n" +#~ "stejným číslem opakování, ale jinými váhami, bude v grafu zobrazen\n" +#~ "pouze záznam s vyšší váhou." + +#~ msgid "" +#~ "Note that only entries with a weight unit (kg or lb) and\n" +#~ "repetitions are charted, other combinations such as time or until " +#~ "failure\n" +#~ "are ignored here." +#~ msgstr "" +#~ "Jsou zaznamenány pouze záznamy s jednotkou váhy (kg nebo lb)\n" +#~ "a opakování, jiné kombinace jako čas nebo selhání jsou\n" +#~ "zde ignorovány." + +#~ msgid "Add ingredient" +#~ msgstr "Přidat položku" + +#~ msgid "Edit ingredient" +#~ msgstr "Upravit ingredience" + +#~ msgid "Delete ingredient" +#~ msgstr "Smazat ingredience" + #~ msgid "Ingredients pending review" #~ msgstr "Potraviny čekající na kontrolu" diff --git a/wger/locale/da/LC_MESSAGES/django.po b/wger/locale/da/LC_MESSAGES/django.po index 7cb79498c..d760c4e86 100644 --- a/wger/locale/da/LC_MESSAGES/django.po +++ b/wger/locale/da/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: wger Workout Manager\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-14 15:59+0200\n" +"POT-Creation-Date: 2024-11-14 19:23+0100\n" "PO-Revision-Date: 2023-07-09 18:48+0000\n" "Last-Translator: Tomasz Cielecki \n" "Language-Team: Danish \n" @@ -20,7 +20,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.0-dev\n" -#: config/models/gym_config.py:46 gym/templates/gym/list.html:53 +#: config/models/gym_config.py:46 gym/templates/gym/list.html:56 msgid "Default gym" msgstr "Standard fitnesscenter" @@ -33,28 +33,28 @@ msgstr "" "tilknyttet dette fitnesscenter, og allerede eksisterende brugere der ikke er " "tilknyttet et center vil tilknyttes dette." -#: config/views/gym_config.py:42 core/templates/language/view.html:67 -#: core/templates/license/list.html:17 core/templates/misc/license/list.html:18 +#: config/views/gym_config.py:42 core/templates/language/view.html:64 +#: core/templates/license/list.html:17 #: core/templates/repetition_unit/list.html:18 -#: core/templates/tags/render_day.html:39 -#: core/templates/tags/render_day.html:75 core/templates/user/overview.html:204 -#: core/templates/user/overview.html:445 +#: core/templates/user/overview.html:204 core/templates/user/overview.html:467 #: core/templates/weight_unit/list.html:18 #: exercises/templates/categories/admin-overview.html:17 #: exercises/templates/equipment/admin-overview.html:17 -#: exercises/templates/muscles/admin-overview.html:17 -#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:32 -#: gym/templates/contract/list.html:31 gym/templates/contract/view.html:107 -#: gym/templates/contract_option/list.html:32 -#: gym/templates/contract_type/list.html:32 gym/templates/document/list.html:38 -#: gym/templates/gym/list.html:20 gym/templates/gym/list.html:46 -#: gym/templates/gym/member_list.html:87 gym/templates/gym/member_list.html:140 -#: gym/templates/gym/member_list.html:176 -#: manager/templates/calendar/day.html:68 -#: manager/templates/calendar/month.html:85 -#: manager/templates/calendar/partial_overview_table.html:18 -#: manager/templates/schedule/view.html:118 -#: nutrition/templates/ingredient/view.html:165 +#: exercises/templates/muscles/admin-overview.html:16 +#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:31 +#: gym/templates/contract/list.html:30 gym/templates/contract/view.html:106 +#: gym/templates/contract_option/list.html:29 +#: gym/templates/contract_type/list.html:30 gym/templates/document/list.html:38 +#: gym/templates/gym/list.html:19 gym/templates/gym/list.html:48 +#: gym/templates/gym/member_list.html:94 gym/templates/gym/member_list.html:152 +#: gym/templates/gym/member_list.html:190 +#: manager/templates/calendar/day.html:67 +#: manager/templates/calendar/month.html:84 +#: manager/templates/calendar/partial_overview_table.html:16 +#: manager/templates/schedule/view.html:271 +#: manager/templates/workout/view.html:181 +#: nutrition/templates/ingredient/view.html:164 +#: nutrition/templates/ingredient/view.html:209 #: nutrition/templates/units/list.html:19 msgid "Edit" msgstr "Rediger" @@ -90,25 +90,25 @@ msgstr "Min seje trænings-plan" msgid "Empty placeholder schedule" msgstr "Tom plan" -#: core/forms.py:69 core/templates/navigation.html:285 -#: core/templates/navigation.html:291 core/templates/user/login.html:4 +#: core/forms.py:69 core/templates/navigation.html:284 +#: core/templates/navigation.html:290 core/templates/user/login.html:4 #: software/templates/features.html:82 software/templates/features.html:427 msgid "Login" msgstr "Login" -#: core/forms.py:108 core/forms.py:214 gym/views/export.py:61 +#: core/forms.py:108 core/forms.py:216 gym/views/export.py:61 #: gym/views/gym.py:217 msgid "First name" msgstr "Fornavn" -#: core/forms.py:109 core/forms.py:215 core/templates/user/overview.html:266 +#: core/forms.py:109 core/forms.py:217 core/templates/user/overview.html:284 #: gym/views/export.py:62 gym/views/gym.py:217 msgid "Last name" msgstr "Efternavn" -#: core/forms.py:111 core/forms.py:180 core/templates/user/overview.html:270 +#: core/forms.py:111 core/forms.py:182 core/templates/user/overview.html:288 #: gym/models/contract.py:256 gym/models/gym.py:58 -#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:104 +#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:116 #: gym/templates/gym/new_user.html:30 gym/views/export.py:60 #: mailer/templates/mailer/gym/form.html:4 #: mailer/templates/mailer/gym/overview.html:4 @@ -127,96 +127,95 @@ msgstr "Bruges til kode-nulstilling og, hvis ønsket, påmindelser." msgid "Date of Birth" msgstr "Fødselsdag" -#: core/forms.py:148 +#: core/forms.py:149 msgid "Personal data" msgstr "Personlige oplysninger" -#: core/forms.py:159 +#: core/forms.py:161 msgid "Workout reminders" msgstr "Træningspåmindelser" -#: core/forms.py:166 +#: core/forms.py:168 msgid "Other settings" msgstr "Andre indstillinger" -#: core/forms.py:174 core/views/user.py:624 core/views/user.py:639 -#: core/views/user.py:651 gym/forms.py:73 manager/templates/log/add.html:65 +#: core/forms.py:176 core/views/user.py:623 core/views/user.py:638 +#: core/views/user.py:650 gym/forms.py:73 manager/templates/log/add.html:65 #: manager/templates/set/add.html:70 manager/views/workout.py:203 #: utils/generic_views.py:143 msgid "Save" msgstr "Gem" -#: core/forms.py:181 +#: core/forms.py:183 msgid "Used for password resets and, optionally, email reminders." msgstr "Bruges til kode-nulstilling og, hvis ønsket, email-påmindelser." -#: core/forms.py:210 +#: core/forms.py:212 msgid "This e-mail address is already in use." msgstr "Denne emailadresse er allerede i brug." -#: core/forms.py:231 gym/templates/gym/new_user.html:26 +#: core/forms.py:233 gym/templates/gym/new_user.html:26 #: gym/templates/gym/reset_user_password.html:24 gym/views/gym.py:217 msgid "Password" msgstr "Kodeord" -#: core/forms.py:233 +#: core/forms.py:235 msgid "Please enter your current password." msgstr "Indtast venligst dit nuværende kodeord." -#: core/forms.py:242 core/templates/language/view.html:73 -#: core/templates/license/list.html:19 core/templates/misc/license/list.html:22 -#: core/templates/repetition_unit/list.html:20 -#: core/templates/tags/render_day.html:45 -#: core/templates/tags/render_day.html:81 core/templates/user/overview.html:217 -#: core/templates/weight_unit/list.html:20 -#: exercises/templates/categories/admin-overview.html:19 -#: exercises/templates/equipment/admin-overview.html:19 -#: exercises/templates/muscles/admin-overview.html:19 -#: gym/templates/admin_notes/list.html:40 -#: gym/templates/contract_option/list.html:41 -#: gym/templates/contract_type/list.html:41 gym/templates/document/list.html:46 -#: gym/templates/gym/list.html:22 manager/templates/calendar/day.html:73 -#: manager/templates/calendar/month.html:89 -#: manager/templates/calendar/partial_overview_table.html:23 -#: manager/templates/schedule/view.html:122 -#: manager/templates/workout/view.html:188 -#: nutrition/templates/ingredient/view.html:166 +#: core/forms.py:244 core/templates/language/view.html:70 +#: core/templates/license/list.html:21 +#: core/templates/repetition_unit/list.html:22 +#: core/templates/user/overview.html:233 +#: core/templates/weight_unit/list.html:22 +#: exercises/templates/categories/admin-overview.html:21 +#: exercises/templates/equipment/admin-overview.html:21 +#: exercises/templates/muscles/admin-overview.html:20 +#: gym/templates/admin_notes/list.html:37 +#: gym/templates/contract_option/list.html:35 +#: gym/templates/contract_type/list.html:36 gym/templates/document/list.html:46 +#: gym/templates/gym/list.html:23 manager/templates/calendar/day.html:73 +#: manager/templates/calendar/month.html:88 +#: manager/templates/calendar/partial_overview_table.html:22 +#: manager/templates/schedule/view.html:277 +#: manager/templates/workout/view.html:202 +#: nutrition/templates/ingredient/view.html:168 #: nutrition/templates/ingredient/view.html:215 -#: nutrition/templates/units/list.html:22 +#: nutrition/templates/units/list.html:25 msgid "Delete" msgstr "Slet" -#: core/forms.py:251 +#: core/forms.py:253 msgid "Invalid password" msgstr "Ukorrekt kodeord" -#: core/forms.py:263 core/forms.py:338 +#: core/forms.py:265 core/forms.py:340 msgid "The form is secured with reCAPTCHA" msgstr "Denne formular er sikret med reCAPTCHA" -#: core/forms.py:279 core/forms.py:301 core/templates/navigation.html:285 -#: core/templates/navigation.html:297 core/templates/template.html:149 -#: core/templates/user/login.html:20 core/views/user.py:298 +#: core/forms.py:281 core/forms.py:303 core/templates/navigation.html:284 +#: core/templates/navigation.html:296 core/templates/template.html:150 +#: core/templates/user/login.html:20 core/views/user.py:297 #: software/templates/features.html:87 software/templates/features.html:422 msgid "Register" msgstr "Registrer" -#: core/forms.py:315 software/templates/features.html:45 +#: core/forms.py:317 software/templates/features.html:45 msgid "Contact" msgstr "Kontakt" -#: core/forms.py:316 +#: core/forms.py:318 #, fuzzy #| msgid "Some way of answering you (email, etc.)" msgid "Some way of answering you (e-mail, etc.)" msgstr "Måder du kan kontaktes på (email, etc.)" -#: core/forms.py:324 exercises/models/comment.py:58 manager/models/set.py:61 +#: core/forms.py:326 exercises/models/comment.py:58 manager/models/set.py:61 #: manager/models/setting.py:114 nutrition/models/log.py:77 msgid "Comment" msgstr "Kommentar" -#: core/forms.py:325 +#: core/forms.py:327 msgid "What do you want to say?" msgstr "Hvad vil du gerne sige?" @@ -451,18 +450,18 @@ msgid "The sum of all hours has to be 24" msgstr "Summen af alle timer skal være 24" #: core/models/rep_unit.py:36 core/models/weight_unit.py:36 -#: core/templates/user/overview.html:262 core/views/user.py:599 +#: core/templates/user/overview.html:280 core/views/user.py:598 #: exercises/models/category.py:29 exercises/models/equipment.py:29 #: exercises/models/exercise.py:59 exercises/models/muscle.py:36 #: gym/models/contract.py:52 gym/models/contract.py:103 gym/models/gym.py:46 #: gym/models/user_document.py:84 gym/templates/contract/view.html:50 -#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:96 +#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:108 #: gym/views/gym.py:158 manager/models/schedule.py:55 #: manager/models/workout.py:57 measurements/models/category.py:36 #: nutrition/models/ingredient.py:111 -#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:67 +#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:65 #: nutrition/models/weight_unit.py:38 -#: nutrition/templates/ingredient/view.html:152 +#: nutrition/templates/ingredient/view.html:151 msgid "Name" msgstr "Navn" @@ -511,7 +510,7 @@ msgstr "" msgid "Back to \"%(target)s\"" msgstr "TIlbage til \"%(target)s\"" -#: core/templates/delete.html:15 +#: core/templates/delete.html:4 msgid "Are you sure you want to delete this? This action cannot be undone." msgstr "Er du sikker på at du vil slette dette? Handlingen kan ikke fortrydes." @@ -565,7 +564,7 @@ msgstr "Klik venligst følgende link for at bekræfte din email: %(link)s" msgid "Dashboard" msgstr "Instrumentbrættet" -#: core/templates/language/overview.html:4 core/templates/navigation.html:345 +#: core/templates/language/overview.html:4 core/templates/navigation.html:344 msgid "Languages" msgstr "Sprog" @@ -575,81 +574,72 @@ msgstr "Intet fundet." #: core/templates/language/overview.html:22 #: manager/templates/calendar/month.html:132 -#: manager/templates/schedule/overview.html:28 -#: manager/templates/schedule/view.html:144 +#: manager/templates/schedule/view.html:107 #: manager/templates/workout/overview.html:28 #: nutrition/templates/ingredient/overview.html:38 msgid "Add one now." msgstr "Tilføj en ny." -#: core/templates/language/overview.html:35 core/templates/license/list.html:40 -#: core/templates/misc/license/list.html:43 -#: core/templates/repetition_unit/list.html:43 -#: core/templates/user/overview.html:326 core/templates/user/overview.html:365 -#: core/templates/user/overview.html:401 -#: core/templates/weight_unit/list.html:43 core/views/languages.py:74 +#: core/templates/language/overview.html:34 core/templates/license/list.html:43 +#: core/templates/repetition_unit/list.html:46 +#: core/templates/user/overview.html:344 core/templates/user/overview.html:384 +#: core/templates/user/overview.html:422 +#: core/templates/weight_unit/list.html:46 core/views/languages.py:74 #: core/views/license.py:66 core/views/repetition_units.py:66 #: core/views/weight_units.py:66 -#: exercises/templates/categories/admin-overview.html:38 -#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:67 -#: gym/templates/contract/list.html:73 -#: gym/templates/contract_option/list.html:72 -#: gym/templates/contract_type/list.html:72 gym/templates/document/list.html:79 -#: gym/templates/gym/member_list.html:211 -#: gym/templates/gym/member_list.html:244 -#: gym/templates/gym/member_list.html:281 +#: exercises/templates/categories/admin-overview.html:40 +#: exercises/templates/equipment/admin-overview.html:39 +#: exercises/templates/muscles/admin-overview.html:40 +#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:64 +#: gym/templates/contract/list.html:69 +#: gym/templates/contract_option/list.html:65 +#: gym/templates/contract_type/list.html:66 gym/templates/document/list.html:78 +#: gym/templates/gym/member_list.html:228 +#: gym/templates/gym/member_list.html:264 +#: gym/templates/gym/member_list.html:303 #: mailer/templates/mailer/gym/overview.html:43 +#: nutrition/templates/ingredient/overview.html:60 msgid "Add" msgstr "Tilføj" #: core/templates/language/view.html:61 core/templates/user/api_key.html:44 -#: core/templates/user/preferences.html:45 gym/models/contract.py:203 -#: gym/templates/contract/view.html:41 gym/templates/contract/view.html:106 -#: gym/templates/gym/member_list.html:248 -#: manager/templates/schedule/view.html:285 -#: manager/templates/workout/view.html:163 -#: nutrition/templates/ingredient/view.html:202 +#: core/templates/user/preferences.html:50 gym/models/contract.py:203 +#: gym/templates/contract/view.html:41 gym/templates/gym/member_list.html:270 +#: manager/templates/schedule/view.html:257 +#: manager/templates/workout/view.html:177 +#: nutrition/templates/ingredient/view.html:206 msgid "Options" msgstr "Indstillinger" -#: core/templates/license/list.html:4 core/templates/misc/license/list.html:4 +#: core/templates/license/list.html:4 msgid "License list" msgstr "Licens liste" -#: core/templates/license/list.html:26 core/templates/misc/license/list.html:30 -#: core/templates/repetition_unit/list.html:28 +#: core/templates/license/list.html:30 +#: core/templates/repetition_unit/list.html:32 #: core/templates/user/overview.html:104 core/templates/user/overview.html:136 -#: core/templates/user/overview.html:185 core/templates/user/overview.html:347 -#: core/templates/user/overview.html:383 core/templates/user/overview.html:427 -#: core/templates/weight_unit/list.html:28 -#: exercises/templates/categories/admin-overview.html:26 -#: exercises/templates/equipment/admin-overview.html:26 -#: exercises/templates/muscles/admin-overview.html:26 -#: gym/templates/admin_notes/list.html:52 gym/templates/contract/list.html:60 -#: gym/templates/contract_option/list.html:58 -#: gym/templates/contract_type/list.html:58 gym/templates/document/list.html:64 -#: gym/templates/gym/list.html:29 gym/templates/gym/member_list.html:229 -#: gym/templates/gym/member_list.html:262 -#: gym/templates/gym/member_list.html:299 +#: core/templates/user/overview.html:185 core/templates/user/overview.html:365 +#: core/templates/user/overview.html:404 core/templates/user/overview.html:448 +#: core/templates/weight_unit/list.html:32 +#: exercises/templates/categories/admin-overview.html:30 +#: exercises/templates/equipment/admin-overview.html:30 +#: exercises/templates/muscles/admin-overview.html:29 +#: gym/templates/admin_notes/list.html:50 gym/templates/contract/list.html:57 +#: gym/templates/contract_option/list.html:52 +#: gym/templates/contract_type/list.html:53 gym/templates/document/list.html:64 +#: gym/templates/gym/list.html:32 gym/templates/gym/member_list.html:248 +#: gym/templates/gym/member_list.html:284 +#: gym/templates/gym/member_list.html:321 #: mailer/templates/mailer/gym/overview.html:30 -#: manager/templates/calendar/day.html:87 -#: nutrition/templates/units/list.html:29 +#: manager/templates/calendar/day.html:88 +#: nutrition/templates/units/list.html:34 msgid "Nothing found" msgstr "Ingenting fundet" -#: core/templates/misc/about.html:4 core/templates/template.html:175 +#: core/templates/misc/about.html:4 core/templates/template.html:187 msgid "Imprint" msgstr "Aftryk" -#: core/templates/misc/license/list.html:47 -msgid "" -"If a license has been localized, e.g. the Creative Commons\n" -" licenses for the different countries, add them as separate " -"entries here." -msgstr "" -"Hvis in licens er fundet, f.eks. en Creative Commons\n" -" licens for et land, tilføj dem som seperate poster her." - #: core/templates/navigation.html:28 software/templates/features.html:437 msgid "Training" msgstr "Træning" @@ -694,8 +684,8 @@ msgstr "Offentlige skabeloner" msgid "Exercises" msgstr "Øvelser" -#: core/templates/navigation.html:111 core/templates/navigation.html:184 -#: core/templates/navigation.html:340 +#: core/templates/navigation.html:111 core/templates/navigation.html:185 +#: core/templates/navigation.html:339 msgid "Administration" msgstr "Administration" @@ -724,7 +714,7 @@ msgstr "Ernæring" msgid "Nutrition plans" msgstr "Ernæringsplaner" -#: core/templates/navigation.html:165 nutrition/templates/bmi/form.html:50 +#: core/templates/navigation.html:165 msgid "BMI calculator" msgstr "BMI lommeregner" @@ -732,87 +722,87 @@ msgstr "BMI lommeregner" msgid "Daily calories calculator" msgstr "Daglige kalorier lommeregner" -#: core/templates/navigation.html:179 +#: core/templates/navigation.html:180 #: nutrition/templates/ingredient/overview.html:10 msgid "Ingredient overview" msgstr "Ingrediensoversigt" -#: core/templates/navigation.html:187 nutrition/templates/units/list.html:6 +#: core/templates/navigation.html:189 nutrition/templates/units/list.html:6 msgid "Ingredient weight units" msgstr "Ingrediens vægtenheder" -#: core/templates/navigation.html:203 software/templates/features.html:442 +#: core/templates/navigation.html:205 software/templates/features.html:442 msgid "Body weight" msgstr "Kropsvægt" -#: core/templates/navigation.html:210 core/templates/user/overview.html:114 +#: core/templates/navigation.html:212 core/templates/user/overview.html:114 msgid "Weight overview" msgstr "Vægt oversigt" -#: core/templates/navigation.html:217 weight/views.py:65 +#: core/templates/navigation.html:216 weight/views.py:65 msgid "Add weight entry" msgstr "Tilføj vægtpost" -#: core/templates/navigation.html:231 +#: core/templates/navigation.html:230 msgid "About this software" msgstr "Om denne software" -#: core/templates/navigation.html:237 software/templates/about_us.html:5 +#: core/templates/navigation.html:236 software/templates/about_us.html:5 msgid "About us" msgstr "Om os" -#: core/templates/navigation.html:243 software/templates/features.html:507 +#: core/templates/navigation.html:242 software/templates/features.html:507 msgid "REST API" msgstr "REST API" -#: core/templates/navigation.html:249 utils/models.py:45 +#: core/templates/navigation.html:248 utils/models.py:45 msgid "License" msgstr "Licens" -#: core/templates/navigation.html:255 +#: core/templates/navigation.html:254 msgid "Developer documentation" msgstr "Udviklerdokumentation" -#: core/templates/navigation.html:262 +#: core/templates/navigation.html:261 msgid "Get the code" msgstr "Hent koden" -#: core/templates/navigation.html:269 core/templates/template.html:214 +#: core/templates/navigation.html:268 core/templates/template.html:226 #: software/templates/features.html:582 msgid "Translate" msgstr "Oversæt" -#: core/templates/navigation.html:303 core/templates/user/login.html:28 +#: core/templates/navigation.html:302 core/templates/user/login.html:28 msgid "Reset password" msgstr "Nulstil kodeord" -#: core/templates/navigation.html:321 +#: core/templates/navigation.html:320 msgid "My preferences" msgstr "Mine indstillinger" -#: core/templates/navigation.html:330 +#: core/templates/navigation.html:329 msgid "Logout" msgstr "Log ud" -#: core/templates/navigation.html:353 +#: core/templates/navigation.html:352 msgid "Licenses" msgstr "Licenser" -#: core/templates/navigation.html:361 +#: core/templates/navigation.html:360 #: core/templates/repetition_unit/list.html:4 msgid "Repetition units" msgstr "Gentagelsesenheder" -#: core/templates/navigation.html:369 core/templates/weight_unit/list.html:4 +#: core/templates/navigation.html:368 core/templates/weight_unit/list.html:4 #: nutrition/templates/ingredient/view.html:141 msgid "Weight units" msgstr "Vægtenheder" -#: core/templates/navigation.html:377 core/templates/user/list.html:4 +#: core/templates/navigation.html:376 core/templates/user/list.html:4 msgid "User list" msgstr "Brugerliste" -#: core/templates/navigation.html:383 +#: core/templates/navigation.html:382 msgid "Gyms" msgstr "Fitnescentre" @@ -875,56 +865,31 @@ msgstr "forrige" msgid "next" msgstr "næste" -#: core/templates/tags/render_day.html:34 -msgid "Add weight log" -msgstr "Tilføj vægtlog" - -#: core/templates/tags/render_day.html:116 -msgid "Placeholder image for exercise" +#: core/templates/tags/render_day.html:44 +#, fuzzy +#| msgid "Placeholder image for exercise" +msgid "Placeholder image for translation" msgstr "Pladsholderbillede for øvelse" -#: core/templates/tags/render_day.html:133 -msgid "This exercise has no repetitions." -msgstr "Denne øvelse har ingen repetitioner." - -#: core/templates/tags/render_day.html:136 -msgid "Edit them now." -msgstr "Rediger dem nu." - -#: core/templates/tags/render_day.html:162 -msgid "Add exercises to this workout day" -msgstr "Tilføj øvelser til denne træningsdag" - -#: core/templates/tags/render_weight_log.html:17 manager/helpers.py:86 -#: manager/models/setting.py:72 manager/templates/set/formset.html:9 -msgid "Reps" -msgstr "Repetitioner" - -#: core/templates/tags/render_weight_log.html:30 manager/forms.py:191 -#: manager/models/log.py:103 manager/models/setting.py:102 -#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 -msgid "RiR" -msgstr "" - -#: core/templates/template.html:122 manager/templates/calendar/month.html:138 -#: manager/templates/schedule/view.html:248 -#: manager/templates/schedule/view.html:269 -#: manager/templates/workout/view.html:84 -#: manager/templates/workout/view.html:137 +#: core/templates/template.html:123 manager/templates/calendar/month.html:138 +#: manager/templates/schedule/view.html:215 +#: manager/templates/schedule/view.html:240 +#: manager/templates/workout/view.html:89 +#: manager/templates/workout/view.html:149 msgid "Close" msgstr "Luk" -#: core/templates/template.html:138 +#: core/templates/template.html:139 msgid "" "You are using a guest account, data entered will be deleted after a week." msgstr "" "Du bruger en gæstekonto, date indtastet vil blive slettet efter en uge." -#: core/templates/template.html:143 +#: core/templates/template.html:144 msgid "Create some demo entries" msgstr "Indtast nogle demo-poster" -#: core/templates/template.html:180 software/templates/features.html:547 +#: core/templates/template.html:192 software/templates/features.html:547 #: software/templates/tos.html:7 msgid "Terms of service" msgstr "Vilkår for brug" @@ -933,7 +898,7 @@ msgstr "Vilkår for brug" msgid "Features" msgstr "Funktioner" -#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:54 +#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:59 msgid "API key" msgstr "API nøgle" @@ -977,17 +942,17 @@ msgstr "Lav en ny API nøgle" msgid "Documentation" msgstr "Dokumentation" -#: core/templates/user/delete_account.html:4 -#: core/templates/user/preferences.html:59 +#: core/templates/user/delete_account.html:3 +#: core/templates/user/preferences.html:62 msgid "Delete account" msgstr "Slet konto" -#: core/templates/user/delete_account.html:17 +#: core/templates/user/delete_account.html:9 #: exercises/templates/history/overview.html:93 msgid "Are you sure?" msgstr "Er du sikker?" -#: core/templates/user/delete_account.html:22 +#: core/templates/user/delete_account.html:14 #, python-format msgid "" "This action will delete the user account \"%(username)s\".\n" @@ -1010,22 +975,22 @@ msgstr "Glemt kodeord?" #: core/templates/user/overview.html:25 core/templates/user/overview.html:68 #: core/templates/user/overview.html:112 core/templates/user/overview.html:144 -#: core/templates/user/overview.html:330 core/templates/user/overview.html:369 -#: core/templates/user/overview.html:405 +#: core/templates/user/overview.html:348 core/templates/user/overview.html:390 +#: core/templates/user/overview.html:426 #, python-format msgid "last %(number)s" msgstr "sidste %(number)s" #: core/templates/user/overview.html:27 core/templates/user/overview.html:146 -#: core/templates/user/overview.html:325 core/templates/user/overview.html:364 -#: core/templates/user/overview.html:400 gym/templates/gym/member_list.html:210 -#: gym/templates/gym/member_list.html:243 -#: gym/templates/gym/member_list.html:280 +#: core/templates/user/overview.html:343 core/templates/user/overview.html:382 +#: core/templates/user/overview.html:421 gym/templates/gym/member_list.html:226 +#: gym/templates/gym/member_list.html:262 +#: gym/templates/gym/member_list.html:302 msgid "Overview" msgstr "Oversigt" #: core/templates/user/overview.html:28 -#: manager/templates/schedule/view.html:163 +#: manager/templates/schedule/view.html:125 #: manager/templates/workout/overview.html:39 manager/views/schedule_step.py:60 msgid "Add workout" msgstr "Tilføj træning" @@ -1057,38 +1022,36 @@ msgstr "Beskrivelse" msgid "Number of logs (days)" msgstr "Antal logs (dage)" -#: core/templates/user/overview.html:37 core/views/user.py:600 +#: core/templates/user/overview.html:37 core/views/user.py:599 #: gym/templates/gym/email_inactive_members.html:4 gym/views/gym.py:158 msgid "Last activity" msgstr "Sidste aktivitet" #: core/templates/user/overview.html:58 #: manager/templates/calendar/month.html:128 -#: manager/templates/schedule/view.html:144 #: manager/templates/workout/overview.html:28 msgid "No workouts found." msgstr "Ingen træninger fundet." #: core/templates/user/overview.html:68 manager/forms.py:280 -#: manager/templates/workout/view.html:106 +#: manager/templates/workout/view.html:114 msgid "Log" msgstr "Log" #: core/templates/user/overview.html:77 manager/models/session.py:83 -#: manager/templates/calendar/partial_overview_table.html:52 +#: manager/templates/calendar/partial_overview_table.html:54 msgid "General impression" msgstr "Generelt indtryk" -#: core/templates/user/overview.html:78 core/templates/user/overview.html:369 +#: core/templates/user/overview.html:78 core/templates/user/overview.html:390 #: manager/models/session.py:73 -#: manager/templates/calendar/partial_overview_table.html:56 -#: manager/templates/workout/log.html:89 +#: manager/templates/calendar/partial_overview_table.html:58 msgid "Notes" msgstr "Noter" #: core/templates/user/overview.html:79 #: exercises/templates/history/overview.html:30 -#: manager/templates/calendar/partial_overview_table.html:42 +#: manager/templates/calendar/partial_overview_table.html:44 msgid "Time" msgstr "Tid" @@ -1126,121 +1089,121 @@ msgstr "Fedt" msgid "kcal" msgstr "kcal" -#: core/templates/user/overview.html:201 core/templates/user/overview.html:322 -#: core/templates/user/overview.html:361 core/templates/user/overview.html:397 -#: core/templates/user/overview.html:442 gym/templates/gym/list.html:42 -#: gym/templates/gym/member_list.html:84 gym/templates/gym/member_list.html:137 -#: gym/templates/gym/member_list.html:173 -#: gym/templates/gym/member_list.html:207 -#: gym/templates/gym/member_list.html:240 -#: gym/templates/gym/member_list.html:277 -#: manager/templates/schedule/view.html:100 +#: core/templates/user/overview.html:201 core/templates/user/overview.html:340 +#: core/templates/user/overview.html:379 core/templates/user/overview.html:418 +#: core/templates/user/overview.html:463 gym/templates/gym/list.html:45 +#: gym/templates/gym/member_list.html:91 gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:187 +#: gym/templates/gym/member_list.html:223 +#: gym/templates/gym/member_list.html:259 +#: gym/templates/gym/member_list.html:299 +#: manager/templates/schedule/view.html:54 msgid "Actions" msgstr "Handlinger" -#: core/templates/user/overview.html:207 +#: core/templates/user/overview.html:210 msgid "Deactivate user" msgstr "Deaktiver bruger" -#: core/templates/user/overview.html:209 +#: core/templates/user/overview.html:214 msgid "Activate user" msgstr "Aktiver bruger" -#: core/templates/user/overview.html:211 +#: core/templates/user/overview.html:223 msgid "Reset user password" msgstr "Nulstil brugerens kodeord" -#: core/templates/user/overview.html:214 gym/templates/gym/member_list.html:30 +#: core/templates/user/overview.html:227 gym/templates/gym/member_list.html:30 msgid "Roles" msgstr "Roller" -#: core/templates/user/overview.html:225 +#: core/templates/user/overview.html:243 msgid "Password reset confirmation" msgstr "Bekræft nulstilling af kodeord" -#: core/templates/user/overview.html:229 +#: core/templates/user/overview.html:247 msgid "Do you really want to change this user's password?" msgstr "Vil du virkelig ændre denne brugers kodeord?" -#: core/templates/user/overview.html:232 +#: core/templates/user/overview.html:250 #: exercises/templates/history/overview.html:106 msgid "No" msgstr "Nej" -#: core/templates/user/overview.html:233 +#: core/templates/user/overview.html:251 #: exercises/templates/history/overview.html:99 msgid "Yes" msgstr "Ja" -#: core/templates/user/overview.html:254 gym/templates/gym/member_list.html:93 +#: core/templates/user/overview.html:272 gym/templates/gym/member_list.html:105 msgid "Details" msgstr "Detaljer" -#: core/templates/user/overview.html:258 gym/views/export.py:57 -#: manager/helpers.py:86 manager/templates/schedule/view.html:98 +#: core/templates/user/overview.html:276 gym/views/export.py:57 +#: manager/helpers.py:86 manager/templates/schedule/view.html:52 msgid "Nr." msgstr "Nr." -#: core/templates/user/overview.html:280 gym/models/contract.py:287 +#: core/templates/user/overview.html:298 gym/models/contract.py:287 #: gym/models/gym.py:50 gym/templates/contract/view.html:75 -#: gym/templates/gym/member_list.html:100 gym/views/export.py:68 +#: gym/templates/gym/member_list.html:112 gym/views/export.py:68 msgid "Phone" msgstr "Telefon" -#: core/templates/user/overview.html:284 gym/templates/contract/view.html:87 -#: gym/templates/gym/member_list.html:118 +#: core/templates/user/overview.html:302 gym/templates/contract/view.html:87 +#: gym/templates/gym/member_list.html:130 msgid "Address" msgstr "Adresse" -#: core/templates/user/overview.html:295 +#: core/templates/user/overview.html:313 msgid "Registered" msgstr "Registreret" -#: core/templates/user/overview.html:299 +#: core/templates/user/overview.html:317 msgid "Last login" msgstr "Sidste login" -#: core/templates/user/overview.html:304 +#: core/templates/user/overview.html:322 msgid "Status" msgstr "Status" -#: core/templates/user/overview.html:307 +#: core/templates/user/overview.html:325 msgid "Active" msgstr "Aktiv" -#: core/templates/user/overview.html:309 +#: core/templates/user/overview.html:327 msgid "Inactive" msgstr "Inaktiv" -#: core/templates/user/overview.html:330 gym/templates/contract/list.html:4 -#: gym/templates/gym/member_list.html:202 +#: core/templates/user/overview.html:348 gym/templates/contract/list.html:4 +#: gym/templates/gym/member_list.html:218 msgid "Contracts" msgstr "Kontrakter" -#: core/templates/user/overview.html:405 gym/templates/document/list.html:4 +#: core/templates/user/overview.html:426 gym/templates/document/list.html:4 msgid "Documents" msgstr "Dokumenter" -#: core/templates/user/overview.html:412 gym/templates/document/list.html:32 -#: manager/forms.py:292 manager/templates/workout/view.html:132 +#: core/templates/user/overview.html:433 gym/templates/document/list.html:33 +#: manager/forms.py:292 manager/templates/workout/view.html:143 msgid "Download" msgstr "" -#: core/templates/user/overview.html:450 gym/views/admin_config.py:44 +#: core/templates/user/overview.html:474 gym/views/admin_config.py:44 #: gym/views/admin_config.py:58 gym/views/user_config.py:46 msgid "Configuration" msgstr "Konfiguration" -#: core/templates/user/overview.html:453 gym/models/user_config.py:92 +#: core/templates/user/overview.html:477 gym/models/user_config.py:92 msgid "Include in inactive overview" msgstr "Inkluder i inaktiv oversigt" -#: core/templates/user/overview.html:486 +#: core/templates/user/overview.html:510 #, python-format msgid "Admin login is only available for users in %(gym_name)s" msgstr "Administratorlogin er kun tilgængeligt for brugere i %(gym_name)s" -#: core/templates/user/overview.html:490 +#: core/templates/user/overview.html:514 msgid "Log in as this user" msgstr "Log ind som bruger" @@ -1260,19 +1223,19 @@ msgstr "Email ikke bekræftet" msgid "Send verification email" msgstr "Send bekræftelsesemail" -#: core/templates/user/preferences.html:30 +#: core/templates/user/preferences.html:31 msgid "You need to verify your email to contribute exercises" msgstr "Du skal bekræfte din email for at tilføje øvelser" -#: core/templates/user/preferences.html:50 core/views/user.py:611 +#: core/templates/user/preferences.html:55 core/views/user.py:610 msgid "Change password" msgstr "Ændre kodeord" -#: core/templatetags/wger_extras.py:205 i18n.tpl:37 +#: core/templatetags/wger_extras.py:197 i18n.tpl:37 msgid "kg" msgstr "kg" -#: core/templatetags/wger_extras.py:207 +#: core/templatetags/wger_extras.py:199 #: nutrition/templates/ingredient/view.html:60 #: nutrition/templates/ingredient/view.html:66 #: nutrition/templates/ingredient/view.html:73 @@ -1284,11 +1247,11 @@ msgctxt "weight unit, i.e. grams" msgid "g" msgstr "g" -#: core/templatetags/wger_extras.py:210 i18n.tpl:38 +#: core/templatetags/wger_extras.py:202 i18n.tpl:38 msgid "lb" msgstr "lb" -#: core/templatetags/wger_extras.py:212 +#: core/templatetags/wger_extras.py:204 msgctxt "weight unit, i.e. ounces" msgid "oz" msgstr "oz" @@ -1315,13 +1278,13 @@ msgid "Delete {0}?" msgstr "Slet {0}?" #: core/views/languages.py:111 core/views/license.py:85 -#: core/views/repetition_units.py:86 core/views/user.py:474 +#: core/views/repetition_units.py:86 core/views/user.py:473 #: core/views/weight_units.py:86 exercises/views/categories.py:98 #: exercises/views/equipment.py:81 exercises/views/muscles.py:87 #: gym/views/admin_notes.py:161 gym/views/config.py:68 #: gym/views/contract.py:186 gym/views/contract_option.py:123 #: gym/views/contract_type.py:123 gym/views/document.py:171 -#: gym/views/gym.py:463 manager/views/day.py:100 manager/views/schedule.py:333 +#: gym/views/gym.py:463 manager/views/day.py:96 manager/views/schedule.py:333 #: manager/views/workout.py:267 nutrition/views/ingredient.py:145 #: nutrition/views/unit.py:143 #, python-brace-format @@ -1350,48 +1313,48 @@ msgstr "Indsend" msgid "Your feedback was successfully sent. Thank you!" msgstr "Din feedback blev sendt. Tak!" -#: core/views/user.py:156 +#: core/views/user.py:155 #, python-brace-format msgid "Account \"{0}\" was successfully deleted" msgstr "Kontoen \"{0}\" blev slettet" -#: core/views/user.py:292 +#: core/views/user.py:291 msgid "You were successfully registered" msgstr "Du er nu registreret" -#: core/views/user.py:351 +#: core/views/user.py:350 msgid "Settings successfully updated" msgstr "Indstillinger opdateret" -#: core/views/user.py:390 +#: core/views/user.py:389 msgid "The user was successfully deactivated" msgstr "Brugeren blev deaktiveret" -#: core/views/user.py:427 +#: core/views/user.py:426 msgid "The user was successfully activated" msgstr "Brugeren blev aktiveret" -#: core/views/user.py:442 +#: core/views/user.py:441 msgid "Edit user" msgstr "Rediger bruger" -#: core/views/user.py:597 gym/templates/gym/member_list.html:26 +#: core/views/user.py:596 gym/templates/gym/member_list.html:26 #: gym/views/gym.py:158 msgid "ID" msgstr "" -#: core/views/user.py:598 gym/forms.py:95 gym/templates/contract/view.html:55 +#: core/views/user.py:597 gym/forms.py:95 gym/templates/contract/view.html:55 #: gym/templates/gym/member_list.html:27 gym/views/export.py:59 #: gym/views/gym.py:158 gym/views/gym.py:217 msgid "Username" msgstr "Brugernavn" -#: core/views/user.py:601 gym/templates/gym/new_user.html:34 +#: core/views/user.py:600 gym/templates/gym/new_user.html:34 #: gym/views/export.py:58 gym/views/gym.py:217 msgid "Gym" msgstr "Fitnescenter" -#: core/views/user.py:660 +#: core/views/user.py:659 #, python-format msgid "A verification email was sent to %(email)s" msgstr "En bekræftelsesemail blev sendt til %(email)s" @@ -1544,11 +1507,6 @@ msgstr "Codec, langt navn" msgid "Equipment list" msgstr "Udstyrsliste" -#: exercises/templates/equipment/admin-overview.html:39 -#: exercises/views/equipment.py:92 -msgid "Add new equipment" -msgstr "Tilføj nyt udstyr" - #: exercises/templates/history/overview.html:11 msgid "Exercise admin history" msgstr "Øvelses administrator historik" @@ -1598,11 +1556,6 @@ msgstr "Fortryd ændringer" msgid "Muscle overview" msgstr "Muskeloversigt" -#: exercises/templates/muscles/admin-overview.html:38 -#: exercises/views/muscles.py:68 -msgid "Add muscle" -msgstr "Tilføj muskler" - #: exercises/views/categories.py:72 msgid "Add category" msgstr "Tilføj kategori" @@ -1611,6 +1564,10 @@ msgstr "Tilføj kategori" msgid "This will also delete all exercises in this category." msgstr "Dette vil også slette alle øvelser i denne kategori." +#: exercises/views/equipment.py:92 +msgid "Add new equipment" +msgstr "Tilføj nyt udstyr" + #: exercises/views/equipment.py:104 exercises/views/equipment.py:115 msgid "Delete equipment?" msgstr "Slet udstyr?" @@ -1619,6 +1576,10 @@ msgstr "Slet udstyr?" msgid "This will delete the exercise from all workouts." msgstr "Dette vil slette øvelsen fra alle træninger." +#: exercises/views/muscles.py:68 +msgid "Add muscle" +msgstr "Tilføj muskler" + #: gallery/templates/images/overview.html:62 msgid "Add image" msgstr "Tilføj billede" @@ -1704,7 +1665,7 @@ msgid "Contract is active" msgstr "Kontrakten er aktiv" #: gym/models/contract.py:237 gym/templates/contract/view.html:69 -#: manager/models/schedule.py:61 manager/templates/schedule/view.html:67 +#: manager/models/schedule.py:61 manager/templates/schedule/view.html:21 msgid "Start date" msgstr "Startdato" @@ -1741,7 +1702,7 @@ msgstr "Administrator: kan administrere brugere i et fitnescenter" msgid "Admin: can administrate the different gyms" msgstr "Administrator: kan administrere forskellige fitnescentre" -#: gym/models/gym.py:65 gym/templates/gym/member_list.html:114 +#: gym/models/gym.py:65 gym/templates/gym/member_list.html:126 msgid "Owner" msgstr "Ejer" @@ -1753,7 +1714,7 @@ msgstr "" "Antal uger, siden sidste gang brugeren har vist sig, for at brugeren " "betragtes som inaktiv" -#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:152 +#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:166 msgid "Show name in header" msgstr "Vis navn i overskriften" @@ -1767,7 +1728,7 @@ msgstr "Vis navnet på fitnescentret i sidens overskrift" msgid "Configuration for {self.gym.name}" msgstr "Konfiguration for {}" -#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:184 +#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:200 msgid "Overview of inactive members" msgstr "Oversigt over inaktive medlemmer" @@ -1791,7 +1752,7 @@ msgstr "Bruger filnavn hvis intet andet er angivet" msgid "User notes" msgstr "Brugernoter" -#: gym/templates/contract/list.html:36 +#: gym/templates/contract/list.html:34 msgid "Show" msgstr "Vis" @@ -1818,11 +1779,11 @@ msgstr "" msgid "Gym list" msgstr "Fitnescenterliste" -#: gym/templates/gym/list.html:50 +#: gym/templates/gym/list.html:53 msgid "Global gym configuration" msgstr "Global fitnescenter konfiguration" -#: gym/templates/gym/list.html:67 gym/views/gym.py:171 +#: gym/templates/gym/list.html:69 gym/views/gym.py:171 msgid "Add new gym" msgstr "Tiføj nyt fitnescenter" @@ -1834,43 +1795,43 @@ msgstr "Administratorer og trænere" msgid "Gym manager" msgstr "Fitnescenter leder" -#: gym/templates/gym/member_list.html:69 +#: gym/templates/gym/member_list.html:76 msgid "This gym has no administrators or trainers" msgstr "Dette fitnescenter har ingen administratorer eller trænere" -#: gym/templates/gym/member_list.html:88 +#: gym/templates/gym/member_list.html:98 msgid "Export" msgstr "Eksporter" -#: gym/templates/gym/member_list.html:125 +#: gym/templates/gym/member_list.html:137 msgid "Members" msgstr "Medlemmer" -#: gym/templates/gym/member_list.html:145 +#: gym/templates/gym/member_list.html:159 msgid "Gym configuration" msgstr "Fitnescenterkonfiguration" -#: gym/templates/gym/member_list.html:148 +#: gym/templates/gym/member_list.html:162 msgid "Inactive members" msgstr "Inaktive medlemmer" -#: gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:163 msgid "weeks" msgstr "uger" -#: gym/templates/gym/member_list.html:181 +#: gym/templates/gym/member_list.html:197 msgid "My configuration" msgstr "Min konfiguration" -#: gym/templates/gym/member_list.html:215 +#: gym/templates/gym/member_list.html:234 msgid "Types" msgstr "Typer" -#: gym/templates/gym/member_list.html:285 +#: gym/templates/gym/member_list.html:307 msgid "Emails" msgstr "Emails" -#: gym/templates/gym/member_list.html:315 +#: gym/templates/gym/member_list.html:336 msgid "Add member" msgstr "Tilføj medlem" @@ -2166,28 +2127,38 @@ msgstr "Søg også navne på Engelsk" msgid "Unit" msgstr "Enhed" +#: manager/forms.py:191 manager/models/log.py:103 manager/models/setting.py:102 +#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 +msgid "RiR" +msgstr "" + #: manager/forms.py:279 msgid "Type" msgstr "" -#: manager/forms.py:280 manager/templates/workout/view.html:113 +#: manager/forms.py:280 manager/templates/workout/view.html:122 msgid "Table" msgstr "Tabel" -#: manager/forms.py:282 manager/templates/workout/view.html:119 +#: manager/forms.py:282 manager/templates/workout/view.html:129 msgid "with images" msgstr "med billeder" -#: manager/forms.py:283 manager/templates/workout/view.html:125 +#: manager/forms.py:283 manager/templates/workout/view.html:136 msgid "with comments" msgstr "med kommentarer" +#: manager/helpers.py:86 manager/models/setting.py:72 +#: manager/templates/set/formset.html:9 +msgid "Reps" +msgstr "Repetitioner" + #: manager/management/commands/email-reminders.py:121 msgid "Workout will expire soon" msgstr "Træning vil udløbe snart" #: manager/models/day.py:34 manager/models/log.py:58 -#: manager/models/session.py:60 manager/templates/schedule/view.html:102 +#: manager/models/session.py:60 manager/templates/schedule/view.html:56 #: manager/templates/workout/view.html:9 manager/templates/workout/view.html:17 #: manager/views/pdf.py:85 manager/views/pdf.py:161 #: manager/views/schedule.py:151 manager/views/schedule.py:221 @@ -2210,7 +2181,7 @@ msgstr "Dag" msgid "Name or short description of the schedule. For example 'Program XYZ'." msgstr "Navn eller kort beskrivelse af skema. For eksempel 'Program XYZ'." -#: manager/models/schedule.py:65 manager/templates/schedule/view.html:71 +#: manager/models/schedule.py:65 manager/templates/schedule/view.html:25 msgid "Schedule active" msgstr "Skema aktivt" @@ -2224,7 +2195,7 @@ msgstr "" "blive vis f.eks. på dit dashboard). Alle andre skemaer vil blive markerede " "inaktive" -#: manager/models/schedule.py:77 manager/templates/schedule/view.html:81 +#: manager/models/schedule.py:77 manager/templates/schedule/view.html:35 msgid "Is a loop" msgstr "Er en sløjfe" @@ -2245,7 +2216,7 @@ msgid "The duration in weeks" msgstr "Varighed i uger" #: manager/models/schedule_step.py:64 manager/models/set.py:53 -#: manager/models/setting.py:113 nutrition/models/meal.py:55 +#: manager/models/setting.py:113 nutrition/models/meal.py:53 #: nutrition/models/meal_item.py:66 msgid "Order" msgstr "Orden" @@ -2384,7 +2355,7 @@ msgstr "Logoversigt" msgid "Workout session" msgstr "Træningssession" -#: manager/templates/calendar/partial_overview_table.html:27 +#: manager/templates/calendar/partial_overview_table.html:26 msgid "Delete with logs" msgstr "Slet med logs" @@ -2408,21 +2379,27 @@ msgstr "" "er\n" "vil den blive redigeret. Vægtposter vil altid blive tilføjet." -#: manager/templates/schedule/overview.html:5 +#: manager/templates/schedule/overview.html:4 msgid "Your schedules" msgstr "Dine skemaer" #: manager/templates/schedule/overview.html:19 -#: manager/templates/schedule/view.html:131 -#: manager/templates/schedule/view.html:183 +#: manager/templates/schedule/view.html:96 +#: manager/templates/schedule/view.html:146 #: manager/templates/workout/overview.html:16 msgid "active" msgstr "aktive" -#: manager/templates/schedule/overview.html:28 +#: manager/templates/schedule/overview.html:27 msgid "No schedules found." msgstr "Ingen skemaer fundet." +#: manager/templates/schedule/overview.html:28 +#, fuzzy +#| msgid "Add one now." +msgid "Add one now" +msgstr "Tilføj en ny." + #: manager/templates/schedule/overview.html:36 msgid "" "Schedules are collections of workouts that you do in\n" @@ -2432,12 +2409,20 @@ msgstr "" " rækkefølge." #: manager/templates/schedule/overview.html:39 +#, fuzzy +#| msgid "" +#| "You can indicate how long you want to do each workout\n" +#| " before jumping to the next. It is also possible to create a loop, " +#| "so you\n" +#| " always do the same workouts in succession, e.g. A > B > C > A > B " +#| "> C and so on." msgid "" "You can indicate how long you want to do each workout\n" " before jumping to the next. It is also possible to create a loop, so " "you\n" " always do the same workouts in succession, e.g. A > B > C > A > B > " -"C and so on." +"C and so\n" +" on." msgstr "" "Du kan indikere hvor lang tid du vil lave en træning\n" " for du fortsætter til den næste. Det er også muligt at lave en " @@ -2445,7 +2430,7 @@ msgstr "" " altid laver de samme træninger i rækkefølge, f.eks. A > B > C > A > " "B > C og så videre." -#: manager/templates/schedule/overview.html:43 +#: manager/templates/schedule/overview.html:44 msgid "" "The currently active schedule will remain active (and be\n" " shown e.g. in your dashboard) till it reaches the last workout or " @@ -2465,7 +2450,7 @@ msgstr "Tilføj skema" msgid "Schedule" msgstr "Skema" -#: manager/templates/schedule/view.html:85 +#: manager/templates/schedule/view.html:39 msgid "" "This schedule is a loop and will go through the workouts above till you " "deactivate it" @@ -2473,19 +2458,15 @@ msgstr "" "Dette skema er en sløjfe og vil gå igennem træningerne ovenfor indtil du " "deaktiverer det" -#: manager/templates/schedule/view.html:103 +#: manager/templates/schedule/view.html:57 msgid "Weeks" msgstr "Uger" -#: manager/templates/schedule/view.html:115 -msgid "Move me" -msgstr "Flyt mig" - -#: manager/templates/schedule/view.html:156 +#: manager/templates/schedule/view.html:121 msgid "Start schedule" msgstr "Start skema" -#: manager/templates/schedule/view.html:187 +#: manager/templates/schedule/view.html:150 #, python-format msgid "" "%(weeks)s Week\n" @@ -2500,11 +2481,11 @@ msgstr[1] "" "%(weeks)s Uger\n" " " -#: manager/templates/schedule/view.html:221 +#: manager/templates/schedule/view.html:184 msgid "Adding workouts" msgstr "Tilføj træninger" -#: manager/templates/schedule/view.html:223 +#: manager/templates/schedule/view.html:186 msgid "" "Add as many workouts to the schedule as you want. You can\n" " edit the order by dragging and dropping them. It's also possible " @@ -2516,48 +2497,48 @@ msgstr "" "muligt at tilføje en træning mere\n" " end en gang." -#: manager/templates/schedule/view.html:232 -#: manager/templates/schedule/view.html:243 -#: manager/templates/schedule/view.html:290 +#: manager/templates/schedule/view.html:195 +#: manager/templates/schedule/view.html:209 +#: manager/templates/schedule/view.html:263 #: manager/templates/workout/view.html:69 -#: manager/templates/workout/view.html:79 -#: manager/templates/workout/view.html:178 +#: manager/templates/workout/view.html:83 +#: manager/templates/workout/view.html:192 msgid "Export calendar file" msgstr "Eksporter kalenderfil" -#: manager/templates/schedule/view.html:236 +#: manager/templates/schedule/view.html:201 msgid "Export this schedule as a calendar file." msgstr "Eksporter dette skema som kalenderfil." -#: manager/templates/schedule/view.html:237 -#: manager/templates/workout/view.html:74 +#: manager/templates/schedule/view.html:202 +#: manager/templates/workout/view.html:76 +#, fuzzy +#| msgid "" +#| "You can then import the file it into your calendar\n" +#| " application for example google calendar, outlook " +#| "or iCal. This will create\n" +#| " an appointment for each training day with the " +#| "appropriate exercises." msgid "" "You can then import the file it into your calendar\n" " application for example google calendar, outlook or " "iCal. This will create\n" " an appointment for each training day with the " -"appropriate exercises." +"appropriate\n" +" exercises." msgstr "" "Du kan importere filen i din kalenderapplikation\n" " for eksempel Google Calendar, Outlook eller iCal. " "Dette vil oprette\n" " en aftale for hver træningsdag med øvelser." -#: manager/templates/schedule/view.html:258 -#: manager/templates/schedule/view.html:294 -#: manager/templates/workout/view.html:94 -#: manager/templates/workout/view.html:174 +#: manager/templates/schedule/view.html:225 +#: manager/templates/schedule/view.html:268 +#: manager/templates/workout/view.html:99 +#: manager/templates/workout/view.html:188 msgid "Download as PDF" msgstr "Hent som PDF" -#: manager/templates/schedule/view.html:299 -msgid "Edit schedule" -msgstr "Rediger skema" - -#: manager/templates/schedule/view.html:304 -msgid "Delete schedule" -msgstr "Slet skema" - #: manager/templates/set/add.html:9 #, python-format msgid "Add exercises to day \"%(day_name)s\"" @@ -2626,47 +2607,6 @@ msgid "" "You will regularly receive such reminders till you enter your current weight." msgstr "" -#: manager/templates/workout/log.html:10 manager/templates/workout/log.html:11 -msgid "Weight log" -msgstr "" - -#: manager/templates/workout/log.html:29 -msgid "Weight log for workout" -msgstr "" - -#: manager/templates/workout/log.html:49 -msgid "Add weight log to this day" -msgstr "" - -#: manager/templates/workout/log.html:69 -msgid "No weight entries here." -msgstr "" - -#: manager/templates/workout/log.html:77 -msgid "No exercises for this day." -msgstr "" - -#: manager/templates/workout/log.html:90 -msgid "" -"This page shows the weight logs belonging to this workout\n" -"only. Click on an exercise to see all the historical data for\n" -"it." -msgstr "" - -#: manager/templates/workout/log.html:94 -msgid "" -"If on a single day there is more than one entry with the\n" -"same number of repetitions, but different weights, only the entry with the\n" -"higher weight is shown in the diagram." -msgstr "" - -#: manager/templates/workout/log.html:98 -msgid "" -"Note that only entries with a weight unit (kg or lb) and\n" -"repetitions are charted, other combinations such as time or until failure\n" -"are ignored here." -msgstr "" - #: manager/templates/workout/overview.html:25 #, fuzzy #| msgid "Nothing found." @@ -2706,27 +2646,23 @@ msgstr "" msgid "Set the repetitions for each set" msgstr "" -#: manager/templates/workout/view.html:73 +#: manager/templates/workout/view.html:75 msgid "Export this workout as a calendar file." msgstr "" -#: manager/templates/workout/view.html:144 +#: manager/templates/workout/view.html:156 msgid "Logs" msgstr "" -#: manager/templates/workout/view.html:146 +#: manager/templates/workout/view.html:159 msgid "View logs" msgstr "" -#: manager/templates/workout/view.html:169 manager/views/schedule_step.py:99 -msgid "Edit workout" -msgstr "" - -#: manager/templates/workout/view.html:182 manager/views/workout.py:281 +#: manager/templates/workout/view.html:195 manager/views/workout.py:281 msgid "Mark as template" msgstr "" -#: manager/views/day.py:109 +#: manager/views/day.py:105 msgid "Add workout day" msgstr "" @@ -2743,6 +2679,10 @@ msgstr "" msgid "Create schedule" msgstr "" +#: manager/views/schedule_step.py:99 +msgid "Edit workout" +msgstr "" + #: manager/views/workout.py:209 msgid "Copy workout" msgstr "" @@ -2864,7 +2804,7 @@ msgstr "" msgid "Unit amount, e.g. \"1 Cup\" or \"1/2 spoon\"" msgstr "" -#: nutrition/models/log.py:52 nutrition/models/meal.py:50 +#: nutrition/models/log.py:52 nutrition/models/meal.py:48 #: nutrition/models/meal_item.py:48 nutrition/models/plan.py:108 msgid "Nutrition plan" msgstr "Ernæringsplan" @@ -2877,11 +2817,11 @@ msgstr "" msgid "Date and Time (Approx.)" msgstr "" -#: nutrition/models/meal.py:62 +#: nutrition/models/meal.py:60 msgid "Time (approx)" msgstr "" -#: nutrition/models/meal.py:69 +#: nutrition/models/meal.py:67 msgid "" "Give meals a textual description / name such as \"Breakfast\" or \"after " "workout\"" @@ -2903,58 +2843,6 @@ msgid "" "calories. You can use the calculator or enter the value yourself." msgstr "" -#: nutrition/templates/bmi/form.html:62 -msgid "Results" -msgstr "" - -#: nutrition/templates/bmi/form.html:63 -msgid "Your BMI is: " -msgstr "" - -#: nutrition/templates/bmi/form.html:71 -msgid "Legend" -msgstr "" - -#: nutrition/templates/bmi/form.html:75 -msgid "Adipositas III" -msgstr "" - -#: nutrition/templates/bmi/form.html:79 -msgid "Adipositas II" -msgstr "" - -#: nutrition/templates/bmi/form.html:83 -msgid "Adipositas I" -msgstr "" - -#: nutrition/templates/bmi/form.html:87 -msgid "Overweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:91 -msgid "Normal weight" -msgstr "" - -#: nutrition/templates/bmi/form.html:95 -msgid "Slight underweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:99 -msgid "Moderate underweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:103 -msgid "Strong underweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:117 -msgid "" -"Use the form to calculate your BMI (Body Mass Index).\n" -"If you have entered data in the weight section, the last entry will\n" -"be used automatically. Otherwise the weight you enter here will be saved\n" -"in a new entry." -msgstr "" - #: nutrition/templates/ingredient/email_new.tpl:1 #, python-format msgid "" @@ -3000,10 +2888,6 @@ msgstr "" msgid "Search" msgstr "" -#: nutrition/templates/ingredient/overview.html:62 -msgid "Add ingredient" -msgstr "" - #: nutrition/templates/ingredient/view.html:45 nutrition/views/plan.py:229 msgid "Macronutrients" msgstr "" @@ -3023,20 +2907,11 @@ msgstr "" msgid "Others" msgstr "" -#: nutrition/templates/ingredient/view.html:144 -#: nutrition/templates/units/list.html:46 nutrition/views/unit.py:86 +#: nutrition/templates/ingredient/view.html:143 +#: nutrition/templates/units/list.html:50 nutrition/views/unit.py:86 msgid "Add new weight unit" msgstr "" -#: nutrition/templates/ingredient/view.html:206 -#: nutrition/templates/ingredient/view.html:209 -msgid "Edit ingredient" -msgstr "" - -#: nutrition/templates/ingredient/view.html:213 -msgid "Delete ingredient" -msgstr "" - #: nutrition/templates/rate/form.html:25 msgid "Basal metabolic rate" msgstr "" @@ -3105,18 +2980,6 @@ msgid "" "yourself for some weeks and change the total amount if needed." msgstr "" -#: nutrition/views/bmi.py:89 -msgid "Please make sure your height is within the appropriate range." -msgstr "" - -#: nutrition/views/bmi.py:92 -msgid "140 to 230" -msgstr "" - -#: nutrition/views/bmi.py:94 -msgid "56 to 90" -msgstr "" - #: nutrition/views/ingredient.py:157 msgid "Add a new ingredient" msgstr "" @@ -3601,6 +3464,35 @@ msgstr "" msgid "Delete weight entry for the %s" msgstr "" +#~ msgid "Move me" +#~ msgstr "Flyt mig" + +#~ msgid "" +#~ "If a license has been localized, e.g. the Creative Commons\n" +#~ " licenses for the different countries, add them as separate " +#~ "entries here." +#~ msgstr "" +#~ "Hvis in licens er fundet, f.eks. en Creative Commons\n" +#~ " licens for et land, tilføj dem som seperate poster her." + +#~ msgid "Add weight log" +#~ msgstr "Tilføj vægtlog" + +#~ msgid "This exercise has no repetitions." +#~ msgstr "Denne øvelse har ingen repetitioner." + +#~ msgid "Edit them now." +#~ msgstr "Rediger dem nu." + +#~ msgid "Add exercises to this workout day" +#~ msgstr "Tilføj øvelser til denne træningsdag" + +#~ msgid "Edit schedule" +#~ msgstr "Rediger skema" + +#~ msgid "Delete schedule" +#~ msgstr "Slet skema" + #~ msgid "Ingredients pending review" #~ msgstr "Ingredienser afventer gennemgang" diff --git a/wger/locale/de/LC_MESSAGES/django.po b/wger/locale/de/LC_MESSAGES/django.po index 46e242048..a86b07aef 100644 --- a/wger/locale/de/LC_MESSAGES/django.po +++ b/wger/locale/de/LC_MESSAGES/django.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: wger Workout Manager\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-14 15:59+0200\n" +"POT-Creation-Date: 2024-11-14 19:23+0100\n" "PO-Revision-Date: 2024-10-08 16:16+0000\n" "Last-Translator: kvnrmnn \n" "Language-Team: German \n" @@ -22,7 +22,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.8-dev\n" -#: config/models/gym_config.py:46 gym/templates/gym/list.html:53 +#: config/models/gym_config.py:46 gym/templates/gym/list.html:56 msgid "Default gym" msgstr "Standard Studio" @@ -35,28 +35,28 @@ msgstr "" "registrierten Benutzer diesem Studio zuweisen und alle Anwender ohne ein " "Studio aktualisieren." -#: config/views/gym_config.py:42 core/templates/language/view.html:67 -#: core/templates/license/list.html:17 core/templates/misc/license/list.html:18 +#: config/views/gym_config.py:42 core/templates/language/view.html:64 +#: core/templates/license/list.html:17 #: core/templates/repetition_unit/list.html:18 -#: core/templates/tags/render_day.html:39 -#: core/templates/tags/render_day.html:75 core/templates/user/overview.html:204 -#: core/templates/user/overview.html:445 +#: core/templates/user/overview.html:204 core/templates/user/overview.html:467 #: core/templates/weight_unit/list.html:18 #: exercises/templates/categories/admin-overview.html:17 #: exercises/templates/equipment/admin-overview.html:17 -#: exercises/templates/muscles/admin-overview.html:17 -#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:32 -#: gym/templates/contract/list.html:31 gym/templates/contract/view.html:107 -#: gym/templates/contract_option/list.html:32 -#: gym/templates/contract_type/list.html:32 gym/templates/document/list.html:38 -#: gym/templates/gym/list.html:20 gym/templates/gym/list.html:46 -#: gym/templates/gym/member_list.html:87 gym/templates/gym/member_list.html:140 -#: gym/templates/gym/member_list.html:176 -#: manager/templates/calendar/day.html:68 -#: manager/templates/calendar/month.html:85 -#: manager/templates/calendar/partial_overview_table.html:18 -#: manager/templates/schedule/view.html:118 -#: nutrition/templates/ingredient/view.html:165 +#: exercises/templates/muscles/admin-overview.html:16 +#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:31 +#: gym/templates/contract/list.html:30 gym/templates/contract/view.html:106 +#: gym/templates/contract_option/list.html:29 +#: gym/templates/contract_type/list.html:30 gym/templates/document/list.html:38 +#: gym/templates/gym/list.html:19 gym/templates/gym/list.html:48 +#: gym/templates/gym/member_list.html:94 gym/templates/gym/member_list.html:152 +#: gym/templates/gym/member_list.html:190 +#: manager/templates/calendar/day.html:67 +#: manager/templates/calendar/month.html:84 +#: manager/templates/calendar/partial_overview_table.html:16 +#: manager/templates/schedule/view.html:271 +#: manager/templates/workout/view.html:181 +#: nutrition/templates/ingredient/view.html:164 +#: nutrition/templates/ingredient/view.html:209 #: nutrition/templates/units/list.html:19 msgid "Edit" msgstr "Bearbeiten" @@ -90,25 +90,25 @@ msgstr "Mein cooler Zeitplan" msgid "Empty placeholder schedule" msgstr "Leerer Platzhalter Zeitplan" -#: core/forms.py:69 core/templates/navigation.html:285 -#: core/templates/navigation.html:291 core/templates/user/login.html:4 +#: core/forms.py:69 core/templates/navigation.html:284 +#: core/templates/navigation.html:290 core/templates/user/login.html:4 #: software/templates/features.html:82 software/templates/features.html:427 msgid "Login" msgstr "Anmelden" -#: core/forms.py:108 core/forms.py:214 gym/views/export.py:61 +#: core/forms.py:108 core/forms.py:216 gym/views/export.py:61 #: gym/views/gym.py:217 msgid "First name" msgstr "Vorname" -#: core/forms.py:109 core/forms.py:215 core/templates/user/overview.html:266 +#: core/forms.py:109 core/forms.py:217 core/templates/user/overview.html:284 #: gym/views/export.py:62 gym/views/gym.py:217 msgid "Last name" msgstr "Nachname" -#: core/forms.py:111 core/forms.py:180 core/templates/user/overview.html:270 +#: core/forms.py:111 core/forms.py:182 core/templates/user/overview.html:288 #: gym/models/contract.py:256 gym/models/gym.py:58 -#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:104 +#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:116 #: gym/templates/gym/new_user.html:30 gym/views/export.py:60 #: mailer/templates/mailer/gym/form.html:4 #: mailer/templates/mailer/gym/overview.html:4 @@ -127,96 +127,95 @@ msgstr "" msgid "Date of Birth" msgstr "Geburtsdatum" -#: core/forms.py:148 +#: core/forms.py:149 msgid "Personal data" msgstr "Persönliche Daten" -#: core/forms.py:159 +#: core/forms.py:161 msgid "Workout reminders" msgstr "Trainingsplanerinnerungen" -#: core/forms.py:166 +#: core/forms.py:168 msgid "Other settings" msgstr "Andere Einstellungen" -#: core/forms.py:174 core/views/user.py:624 core/views/user.py:639 -#: core/views/user.py:651 gym/forms.py:73 manager/templates/log/add.html:65 +#: core/forms.py:176 core/views/user.py:623 core/views/user.py:638 +#: core/views/user.py:650 gym/forms.py:73 manager/templates/log/add.html:65 #: manager/templates/set/add.html:70 manager/views/workout.py:203 #: utils/generic_views.py:143 msgid "Save" msgstr "Speichern" -#: core/forms.py:181 +#: core/forms.py:183 msgid "Used for password resets and, optionally, email reminders." msgstr "" "Wird für das Zurücksetzen von Passwörter und, optional, für E-Mail-" "Erinnerungen verwendet." -#: core/forms.py:210 +#: core/forms.py:212 msgid "This e-mail address is already in use." msgstr "Diese E-Mail-Adresse wird bereits verwendet." -#: core/forms.py:231 gym/templates/gym/new_user.html:26 +#: core/forms.py:233 gym/templates/gym/new_user.html:26 #: gym/templates/gym/reset_user_password.html:24 gym/views/gym.py:217 msgid "Password" msgstr "Passwort" -#: core/forms.py:233 +#: core/forms.py:235 msgid "Please enter your current password." msgstr "Bitte dein aktuelles Passwort eingeben." -#: core/forms.py:242 core/templates/language/view.html:73 -#: core/templates/license/list.html:19 core/templates/misc/license/list.html:22 -#: core/templates/repetition_unit/list.html:20 -#: core/templates/tags/render_day.html:45 -#: core/templates/tags/render_day.html:81 core/templates/user/overview.html:217 -#: core/templates/weight_unit/list.html:20 -#: exercises/templates/categories/admin-overview.html:19 -#: exercises/templates/equipment/admin-overview.html:19 -#: exercises/templates/muscles/admin-overview.html:19 -#: gym/templates/admin_notes/list.html:40 -#: gym/templates/contract_option/list.html:41 -#: gym/templates/contract_type/list.html:41 gym/templates/document/list.html:46 -#: gym/templates/gym/list.html:22 manager/templates/calendar/day.html:73 -#: manager/templates/calendar/month.html:89 -#: manager/templates/calendar/partial_overview_table.html:23 -#: manager/templates/schedule/view.html:122 -#: manager/templates/workout/view.html:188 -#: nutrition/templates/ingredient/view.html:166 +#: core/forms.py:244 core/templates/language/view.html:70 +#: core/templates/license/list.html:21 +#: core/templates/repetition_unit/list.html:22 +#: core/templates/user/overview.html:233 +#: core/templates/weight_unit/list.html:22 +#: exercises/templates/categories/admin-overview.html:21 +#: exercises/templates/equipment/admin-overview.html:21 +#: exercises/templates/muscles/admin-overview.html:20 +#: gym/templates/admin_notes/list.html:37 +#: gym/templates/contract_option/list.html:35 +#: gym/templates/contract_type/list.html:36 gym/templates/document/list.html:46 +#: gym/templates/gym/list.html:23 manager/templates/calendar/day.html:73 +#: manager/templates/calendar/month.html:88 +#: manager/templates/calendar/partial_overview_table.html:22 +#: manager/templates/schedule/view.html:277 +#: manager/templates/workout/view.html:202 +#: nutrition/templates/ingredient/view.html:168 #: nutrition/templates/ingredient/view.html:215 -#: nutrition/templates/units/list.html:22 +#: nutrition/templates/units/list.html:25 msgid "Delete" msgstr "Löschen" -#: core/forms.py:251 +#: core/forms.py:253 msgid "Invalid password" msgstr "Ungültiges Passwort" -#: core/forms.py:263 core/forms.py:338 +#: core/forms.py:265 core/forms.py:340 msgid "The form is secured with reCAPTCHA" msgstr "Das Formular ist mit reCaptcha gesichert" -#: core/forms.py:279 core/forms.py:301 core/templates/navigation.html:285 -#: core/templates/navigation.html:297 core/templates/template.html:149 -#: core/templates/user/login.html:20 core/views/user.py:298 +#: core/forms.py:281 core/forms.py:303 core/templates/navigation.html:284 +#: core/templates/navigation.html:296 core/templates/template.html:150 +#: core/templates/user/login.html:20 core/views/user.py:297 #: software/templates/features.html:87 software/templates/features.html:422 msgid "Register" msgstr "Registrieren" -#: core/forms.py:315 software/templates/features.html:45 +#: core/forms.py:317 software/templates/features.html:45 msgid "Contact" msgstr "Kontakt" -#: core/forms.py:316 +#: core/forms.py:318 msgid "Some way of answering you (e-mail, etc.)" msgstr "Eine Möglichkeit, dich zu erreichen (E-Mail, usw.)" -#: core/forms.py:324 exercises/models/comment.py:58 manager/models/set.py:61 +#: core/forms.py:326 exercises/models/comment.py:58 manager/models/set.py:61 #: manager/models/setting.py:114 nutrition/models/log.py:77 msgid "Comment" msgstr "Kommentar" -#: core/forms.py:325 +#: core/forms.py:327 msgid "What do you want to say?" msgstr "Was willst du sagen?" @@ -452,18 +451,18 @@ msgid "The sum of all hours has to be 24" msgstr "Die Summe aller Stunden muss 24 sein" #: core/models/rep_unit.py:36 core/models/weight_unit.py:36 -#: core/templates/user/overview.html:262 core/views/user.py:599 +#: core/templates/user/overview.html:280 core/views/user.py:598 #: exercises/models/category.py:29 exercises/models/equipment.py:29 #: exercises/models/exercise.py:59 exercises/models/muscle.py:36 #: gym/models/contract.py:52 gym/models/contract.py:103 gym/models/gym.py:46 #: gym/models/user_document.py:84 gym/templates/contract/view.html:50 -#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:96 +#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:108 #: gym/views/gym.py:158 manager/models/schedule.py:55 #: manager/models/workout.py:57 measurements/models/category.py:36 #: nutrition/models/ingredient.py:111 -#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:67 +#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:65 #: nutrition/models/weight_unit.py:38 -#: nutrition/templates/ingredient/view.html:152 +#: nutrition/templates/ingredient/view.html:151 msgid "Name" msgstr "Name" @@ -516,7 +515,7 @@ msgstr "" msgid "Back to \"%(target)s\"" msgstr "Zurück zu „%(target)s“" -#: core/templates/delete.html:15 +#: core/templates/delete.html:4 msgid "Are you sure you want to delete this? This action cannot be undone." msgstr "" "Bist du sicher, dass du das löschen willst? Diese Aktion kann nicht " @@ -574,7 +573,7 @@ msgstr "" msgid "Dashboard" msgstr "Übersicht" -#: core/templates/language/overview.html:4 core/templates/navigation.html:345 +#: core/templates/language/overview.html:4 core/templates/navigation.html:344 msgid "Languages" msgstr "Sprachen" @@ -584,81 +583,72 @@ msgstr "Nichts gefunden." #: core/templates/language/overview.html:22 #: manager/templates/calendar/month.html:132 -#: manager/templates/schedule/overview.html:28 -#: manager/templates/schedule/view.html:144 +#: manager/templates/schedule/view.html:107 #: manager/templates/workout/overview.html:28 #: nutrition/templates/ingredient/overview.html:38 msgid "Add one now." msgstr "Jetzt hinzufügen." -#: core/templates/language/overview.html:35 core/templates/license/list.html:40 -#: core/templates/misc/license/list.html:43 -#: core/templates/repetition_unit/list.html:43 -#: core/templates/user/overview.html:326 core/templates/user/overview.html:365 -#: core/templates/user/overview.html:401 -#: core/templates/weight_unit/list.html:43 core/views/languages.py:74 +#: core/templates/language/overview.html:34 core/templates/license/list.html:43 +#: core/templates/repetition_unit/list.html:46 +#: core/templates/user/overview.html:344 core/templates/user/overview.html:384 +#: core/templates/user/overview.html:422 +#: core/templates/weight_unit/list.html:46 core/views/languages.py:74 #: core/views/license.py:66 core/views/repetition_units.py:66 #: core/views/weight_units.py:66 -#: exercises/templates/categories/admin-overview.html:38 -#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:67 -#: gym/templates/contract/list.html:73 -#: gym/templates/contract_option/list.html:72 -#: gym/templates/contract_type/list.html:72 gym/templates/document/list.html:79 -#: gym/templates/gym/member_list.html:211 -#: gym/templates/gym/member_list.html:244 -#: gym/templates/gym/member_list.html:281 +#: exercises/templates/categories/admin-overview.html:40 +#: exercises/templates/equipment/admin-overview.html:39 +#: exercises/templates/muscles/admin-overview.html:40 +#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:64 +#: gym/templates/contract/list.html:69 +#: gym/templates/contract_option/list.html:65 +#: gym/templates/contract_type/list.html:66 gym/templates/document/list.html:78 +#: gym/templates/gym/member_list.html:228 +#: gym/templates/gym/member_list.html:264 +#: gym/templates/gym/member_list.html:303 #: mailer/templates/mailer/gym/overview.html:43 +#: nutrition/templates/ingredient/overview.html:60 msgid "Add" msgstr "Hinzufügen" #: core/templates/language/view.html:61 core/templates/user/api_key.html:44 -#: core/templates/user/preferences.html:45 gym/models/contract.py:203 -#: gym/templates/contract/view.html:41 gym/templates/contract/view.html:106 -#: gym/templates/gym/member_list.html:248 -#: manager/templates/schedule/view.html:285 -#: manager/templates/workout/view.html:163 -#: nutrition/templates/ingredient/view.html:202 +#: core/templates/user/preferences.html:50 gym/models/contract.py:203 +#: gym/templates/contract/view.html:41 gym/templates/gym/member_list.html:270 +#: manager/templates/schedule/view.html:257 +#: manager/templates/workout/view.html:177 +#: nutrition/templates/ingredient/view.html:206 msgid "Options" msgstr "Optionen" -#: core/templates/license/list.html:4 core/templates/misc/license/list.html:4 +#: core/templates/license/list.html:4 msgid "License list" msgstr "Lizenzliste" -#: core/templates/license/list.html:26 core/templates/misc/license/list.html:30 -#: core/templates/repetition_unit/list.html:28 +#: core/templates/license/list.html:30 +#: core/templates/repetition_unit/list.html:32 #: core/templates/user/overview.html:104 core/templates/user/overview.html:136 -#: core/templates/user/overview.html:185 core/templates/user/overview.html:347 -#: core/templates/user/overview.html:383 core/templates/user/overview.html:427 -#: core/templates/weight_unit/list.html:28 -#: exercises/templates/categories/admin-overview.html:26 -#: exercises/templates/equipment/admin-overview.html:26 -#: exercises/templates/muscles/admin-overview.html:26 -#: gym/templates/admin_notes/list.html:52 gym/templates/contract/list.html:60 -#: gym/templates/contract_option/list.html:58 -#: gym/templates/contract_type/list.html:58 gym/templates/document/list.html:64 -#: gym/templates/gym/list.html:29 gym/templates/gym/member_list.html:229 -#: gym/templates/gym/member_list.html:262 -#: gym/templates/gym/member_list.html:299 +#: core/templates/user/overview.html:185 core/templates/user/overview.html:365 +#: core/templates/user/overview.html:404 core/templates/user/overview.html:448 +#: core/templates/weight_unit/list.html:32 +#: exercises/templates/categories/admin-overview.html:30 +#: exercises/templates/equipment/admin-overview.html:30 +#: exercises/templates/muscles/admin-overview.html:29 +#: gym/templates/admin_notes/list.html:50 gym/templates/contract/list.html:57 +#: gym/templates/contract_option/list.html:52 +#: gym/templates/contract_type/list.html:53 gym/templates/document/list.html:64 +#: gym/templates/gym/list.html:32 gym/templates/gym/member_list.html:248 +#: gym/templates/gym/member_list.html:284 +#: gym/templates/gym/member_list.html:321 #: mailer/templates/mailer/gym/overview.html:30 -#: manager/templates/calendar/day.html:87 -#: nutrition/templates/units/list.html:29 +#: manager/templates/calendar/day.html:88 +#: nutrition/templates/units/list.html:34 msgid "Nothing found" msgstr "Nichts gefunden" -#: core/templates/misc/about.html:4 core/templates/template.html:175 +#: core/templates/misc/about.html:4 core/templates/template.html:187 msgid "Imprint" msgstr "Impressum" -#: core/templates/misc/license/list.html:47 -msgid "" -"If a license has been localized, e.g. the Creative Commons\n" -" licenses for the different countries, add them as separate " -"entries here." -msgstr "" -"Wenn eine Lizenz lokalisiert wurde wie z.B. die Creative Commons Lizenzen\n" -"für die verschiedenen Länder, füge sie einzeln hinzu." - #: core/templates/navigation.html:28 software/templates/features.html:437 msgid "Training" msgstr "Training" @@ -703,8 +693,8 @@ msgstr "Öffentliche Vorlagen" msgid "Exercises" msgstr "Übungen" -#: core/templates/navigation.html:111 core/templates/navigation.html:184 -#: core/templates/navigation.html:340 +#: core/templates/navigation.html:111 core/templates/navigation.html:185 +#: core/templates/navigation.html:339 msgid "Administration" msgstr "Administration" @@ -733,7 +723,7 @@ msgstr "Ernährung" msgid "Nutrition plans" msgstr "Ernährungspläne" -#: core/templates/navigation.html:165 nutrition/templates/bmi/form.html:50 +#: core/templates/navigation.html:165 msgid "BMI calculator" msgstr "BMI-Rechner" @@ -741,87 +731,87 @@ msgstr "BMI-Rechner" msgid "Daily calories calculator" msgstr "Kalorienrechner" -#: core/templates/navigation.html:179 +#: core/templates/navigation.html:180 #: nutrition/templates/ingredient/overview.html:10 msgid "Ingredient overview" msgstr "Zutatenübersicht" -#: core/templates/navigation.html:187 nutrition/templates/units/list.html:6 +#: core/templates/navigation.html:189 nutrition/templates/units/list.html:6 msgid "Ingredient weight units" msgstr "Gewichtseinheiten für Zutaten" -#: core/templates/navigation.html:203 software/templates/features.html:442 +#: core/templates/navigation.html:205 software/templates/features.html:442 msgid "Body weight" msgstr "Körpergewicht" -#: core/templates/navigation.html:210 core/templates/user/overview.html:114 +#: core/templates/navigation.html:212 core/templates/user/overview.html:114 msgid "Weight overview" msgstr "Gewichtsübersicht" -#: core/templates/navigation.html:217 weight/views.py:65 +#: core/templates/navigation.html:216 weight/views.py:65 msgid "Add weight entry" msgstr "Gewichtseintrag hinzufügen" -#: core/templates/navigation.html:231 +#: core/templates/navigation.html:230 msgid "About this software" msgstr "Über diese Software" -#: core/templates/navigation.html:237 software/templates/about_us.html:5 +#: core/templates/navigation.html:236 software/templates/about_us.html:5 msgid "About us" msgstr "Über uns" -#: core/templates/navigation.html:243 software/templates/features.html:507 +#: core/templates/navigation.html:242 software/templates/features.html:507 msgid "REST API" msgstr "REST API" -#: core/templates/navigation.html:249 utils/models.py:45 +#: core/templates/navigation.html:248 utils/models.py:45 msgid "License" msgstr "Lizenz" -#: core/templates/navigation.html:255 +#: core/templates/navigation.html:254 msgid "Developer documentation" msgstr "Entwickler-Dokumentation" -#: core/templates/navigation.html:262 +#: core/templates/navigation.html:261 msgid "Get the code" msgstr "Quellcode" -#: core/templates/navigation.html:269 core/templates/template.html:214 +#: core/templates/navigation.html:268 core/templates/template.html:226 #: software/templates/features.html:582 msgid "Translate" msgstr "Übersetze" -#: core/templates/navigation.html:303 core/templates/user/login.html:28 +#: core/templates/navigation.html:302 core/templates/user/login.html:28 msgid "Reset password" msgstr "Passwort zurücketzen" -#: core/templates/navigation.html:321 +#: core/templates/navigation.html:320 msgid "My preferences" msgstr "Meine Einstellungen" -#: core/templates/navigation.html:330 +#: core/templates/navigation.html:329 msgid "Logout" msgstr "Abmelden" -#: core/templates/navigation.html:353 +#: core/templates/navigation.html:352 msgid "Licenses" msgstr "Lizenzen" -#: core/templates/navigation.html:361 +#: core/templates/navigation.html:360 #: core/templates/repetition_unit/list.html:4 msgid "Repetition units" msgstr "Wiederholungs-Einheiten" -#: core/templates/navigation.html:369 core/templates/weight_unit/list.html:4 +#: core/templates/navigation.html:368 core/templates/weight_unit/list.html:4 #: nutrition/templates/ingredient/view.html:141 msgid "Weight units" msgstr "Gewichtseinheiten" -#: core/templates/navigation.html:377 core/templates/user/list.html:4 +#: core/templates/navigation.html:376 core/templates/user/list.html:4 msgid "User list" msgstr "Benutzerliste" -#: core/templates/navigation.html:383 +#: core/templates/navigation.html:382 msgid "Gyms" msgstr "Studios" @@ -884,57 +874,32 @@ msgstr "zurück" msgid "next" msgstr "vor" -#: core/templates/tags/render_day.html:34 -msgid "Add weight log" -msgstr "Gewichtslog hinzufügen" - -#: core/templates/tags/render_day.html:116 -msgid "Placeholder image for exercise" +#: core/templates/tags/render_day.html:44 +#, fuzzy +#| msgid "Placeholder image for exercise" +msgid "Placeholder image for translation" msgstr "Platzhalter-Bild für Übung" -#: core/templates/tags/render_day.html:133 -msgid "This exercise has no repetitions." -msgstr "Diese Übung hat keine Wiederholungen." - -#: core/templates/tags/render_day.html:136 -msgid "Edit them now." -msgstr "Jetzt bearbeiten." - -#: core/templates/tags/render_day.html:162 -msgid "Add exercises to this workout day" -msgstr "Übungen zu diesem Trainingstag hinzufügen" - -#: core/templates/tags/render_weight_log.html:17 manager/helpers.py:86 -#: manager/models/setting.py:72 manager/templates/set/formset.html:9 -msgid "Reps" -msgstr "Wdh." - -#: core/templates/tags/render_weight_log.html:30 manager/forms.py:191 -#: manager/models/log.py:103 manager/models/setting.py:102 -#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 -msgid "RiR" -msgstr "RiR" - -#: core/templates/template.html:122 manager/templates/calendar/month.html:138 -#: manager/templates/schedule/view.html:248 -#: manager/templates/schedule/view.html:269 -#: manager/templates/workout/view.html:84 -#: manager/templates/workout/view.html:137 +#: core/templates/template.html:123 manager/templates/calendar/month.html:138 +#: manager/templates/schedule/view.html:215 +#: manager/templates/schedule/view.html:240 +#: manager/templates/workout/view.html:89 +#: manager/templates/workout/view.html:149 msgid "Close" msgstr "Schließen" -#: core/templates/template.html:138 +#: core/templates/template.html:139 msgid "" "You are using a guest account, data entered will be deleted after a week." msgstr "" "Du benutzt einen Gastzugang, eingegebene Daten werden nach einer Woche " "gelöscht." -#: core/templates/template.html:143 +#: core/templates/template.html:144 msgid "Create some demo entries" msgstr "Beispieldaten erstellen" -#: core/templates/template.html:180 software/templates/features.html:547 +#: core/templates/template.html:192 software/templates/features.html:547 #: software/templates/tos.html:7 msgid "Terms of service" msgstr "Allgemeine Nutzungsbedingungen" @@ -943,7 +908,7 @@ msgstr "Allgemeine Nutzungsbedingungen" msgid "Features" msgstr "Funktionen" -#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:54 +#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:59 msgid "API key" msgstr "API-Schlüssel" @@ -989,17 +954,17 @@ msgstr "Generiere einen neuen API-Schlüssel" msgid "Documentation" msgstr "Dokumentation" -#: core/templates/user/delete_account.html:4 -#: core/templates/user/preferences.html:59 +#: core/templates/user/delete_account.html:3 +#: core/templates/user/preferences.html:62 msgid "Delete account" msgstr "Konto löschen" -#: core/templates/user/delete_account.html:17 +#: core/templates/user/delete_account.html:9 #: exercises/templates/history/overview.html:93 msgid "Are you sure?" msgstr "Bist du sicher?" -#: core/templates/user/delete_account.html:22 +#: core/templates/user/delete_account.html:14 #, python-format msgid "" "This action will delete the user account \"%(username)s\".\n" @@ -1022,22 +987,22 @@ msgstr "Passwort vergessen?" #: core/templates/user/overview.html:25 core/templates/user/overview.html:68 #: core/templates/user/overview.html:112 core/templates/user/overview.html:144 -#: core/templates/user/overview.html:330 core/templates/user/overview.html:369 -#: core/templates/user/overview.html:405 +#: core/templates/user/overview.html:348 core/templates/user/overview.html:390 +#: core/templates/user/overview.html:426 #, python-format msgid "last %(number)s" msgstr "letzte %(number)s" #: core/templates/user/overview.html:27 core/templates/user/overview.html:146 -#: core/templates/user/overview.html:325 core/templates/user/overview.html:364 -#: core/templates/user/overview.html:400 gym/templates/gym/member_list.html:210 -#: gym/templates/gym/member_list.html:243 -#: gym/templates/gym/member_list.html:280 +#: core/templates/user/overview.html:343 core/templates/user/overview.html:382 +#: core/templates/user/overview.html:421 gym/templates/gym/member_list.html:226 +#: gym/templates/gym/member_list.html:262 +#: gym/templates/gym/member_list.html:302 msgid "Overview" msgstr "Übersicht" #: core/templates/user/overview.html:28 -#: manager/templates/schedule/view.html:163 +#: manager/templates/schedule/view.html:125 #: manager/templates/workout/overview.html:39 manager/views/schedule_step.py:60 msgid "Add workout" msgstr "Trainingsplan hinzufügen" @@ -1069,38 +1034,36 @@ msgstr "Beschreibung" msgid "Number of logs (days)" msgstr "Anzahl der Protokolle (Tage)" -#: core/templates/user/overview.html:37 core/views/user.py:600 +#: core/templates/user/overview.html:37 core/views/user.py:599 #: gym/templates/gym/email_inactive_members.html:4 gym/views/gym.py:158 msgid "Last activity" msgstr "Letzte Aktivität" #: core/templates/user/overview.html:58 #: manager/templates/calendar/month.html:128 -#: manager/templates/schedule/view.html:144 #: manager/templates/workout/overview.html:28 msgid "No workouts found." msgstr "Keine Trainingspläne gefunden." #: core/templates/user/overview.html:68 manager/forms.py:280 -#: manager/templates/workout/view.html:106 +#: manager/templates/workout/view.html:114 msgid "Log" msgstr "Tagebucheintrag" #: core/templates/user/overview.html:77 manager/models/session.py:83 -#: manager/templates/calendar/partial_overview_table.html:52 +#: manager/templates/calendar/partial_overview_table.html:54 msgid "General impression" msgstr "Allgemeiner Eindruck" -#: core/templates/user/overview.html:78 core/templates/user/overview.html:369 +#: core/templates/user/overview.html:78 core/templates/user/overview.html:390 #: manager/models/session.py:73 -#: manager/templates/calendar/partial_overview_table.html:56 -#: manager/templates/workout/log.html:89 +#: manager/templates/calendar/partial_overview_table.html:58 msgid "Notes" msgstr "Notizen" #: core/templates/user/overview.html:79 #: exercises/templates/history/overview.html:30 -#: manager/templates/calendar/partial_overview_table.html:42 +#: manager/templates/calendar/partial_overview_table.html:44 msgid "Time" msgstr "Zeit" @@ -1138,121 +1101,121 @@ msgstr "Fett" msgid "kcal" msgstr "kcal" -#: core/templates/user/overview.html:201 core/templates/user/overview.html:322 -#: core/templates/user/overview.html:361 core/templates/user/overview.html:397 -#: core/templates/user/overview.html:442 gym/templates/gym/list.html:42 -#: gym/templates/gym/member_list.html:84 gym/templates/gym/member_list.html:137 -#: gym/templates/gym/member_list.html:173 -#: gym/templates/gym/member_list.html:207 -#: gym/templates/gym/member_list.html:240 -#: gym/templates/gym/member_list.html:277 -#: manager/templates/schedule/view.html:100 +#: core/templates/user/overview.html:201 core/templates/user/overview.html:340 +#: core/templates/user/overview.html:379 core/templates/user/overview.html:418 +#: core/templates/user/overview.html:463 gym/templates/gym/list.html:45 +#: gym/templates/gym/member_list.html:91 gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:187 +#: gym/templates/gym/member_list.html:223 +#: gym/templates/gym/member_list.html:259 +#: gym/templates/gym/member_list.html:299 +#: manager/templates/schedule/view.html:54 msgid "Actions" msgstr "Aktionen" -#: core/templates/user/overview.html:207 +#: core/templates/user/overview.html:210 msgid "Deactivate user" msgstr "Benutzer deaktivieren" -#: core/templates/user/overview.html:209 +#: core/templates/user/overview.html:214 msgid "Activate user" msgstr "Benutzer aktivieren" -#: core/templates/user/overview.html:211 +#: core/templates/user/overview.html:223 msgid "Reset user password" msgstr "Benutzerpasswort zurücksetzen" -#: core/templates/user/overview.html:214 gym/templates/gym/member_list.html:30 +#: core/templates/user/overview.html:227 gym/templates/gym/member_list.html:30 msgid "Roles" msgstr "Rollen" -#: core/templates/user/overview.html:225 +#: core/templates/user/overview.html:243 msgid "Password reset confirmation" msgstr "Zurücksetzen des Passworts bestätigen" -#: core/templates/user/overview.html:229 +#: core/templates/user/overview.html:247 msgid "Do you really want to change this user's password?" msgstr "Möchtest du wirklich das Passwort vom diesem Benutzer zurücksetzen?" -#: core/templates/user/overview.html:232 +#: core/templates/user/overview.html:250 #: exercises/templates/history/overview.html:106 msgid "No" msgstr "Nein" -#: core/templates/user/overview.html:233 +#: core/templates/user/overview.html:251 #: exercises/templates/history/overview.html:99 msgid "Yes" msgstr "Ja" -#: core/templates/user/overview.html:254 gym/templates/gym/member_list.html:93 +#: core/templates/user/overview.html:272 gym/templates/gym/member_list.html:105 msgid "Details" msgstr "Details" -#: core/templates/user/overview.html:258 gym/views/export.py:57 -#: manager/helpers.py:86 manager/templates/schedule/view.html:98 +#: core/templates/user/overview.html:276 gym/views/export.py:57 +#: manager/helpers.py:86 manager/templates/schedule/view.html:52 msgid "Nr." msgstr "Nr." -#: core/templates/user/overview.html:280 gym/models/contract.py:287 +#: core/templates/user/overview.html:298 gym/models/contract.py:287 #: gym/models/gym.py:50 gym/templates/contract/view.html:75 -#: gym/templates/gym/member_list.html:100 gym/views/export.py:68 +#: gym/templates/gym/member_list.html:112 gym/views/export.py:68 msgid "Phone" msgstr "Telefon" -#: core/templates/user/overview.html:284 gym/templates/contract/view.html:87 -#: gym/templates/gym/member_list.html:118 +#: core/templates/user/overview.html:302 gym/templates/contract/view.html:87 +#: gym/templates/gym/member_list.html:130 msgid "Address" msgstr "Adresse" -#: core/templates/user/overview.html:295 +#: core/templates/user/overview.html:313 msgid "Registered" msgstr "Registriert" -#: core/templates/user/overview.html:299 +#: core/templates/user/overview.html:317 msgid "Last login" msgstr "Letzter Login" -#: core/templates/user/overview.html:304 +#: core/templates/user/overview.html:322 msgid "Status" msgstr "Status" -#: core/templates/user/overview.html:307 +#: core/templates/user/overview.html:325 msgid "Active" msgstr "Aktiv" -#: core/templates/user/overview.html:309 +#: core/templates/user/overview.html:327 msgid "Inactive" msgstr "Inaktiv" -#: core/templates/user/overview.html:330 gym/templates/contract/list.html:4 -#: gym/templates/gym/member_list.html:202 +#: core/templates/user/overview.html:348 gym/templates/contract/list.html:4 +#: gym/templates/gym/member_list.html:218 msgid "Contracts" msgstr "Verträge" -#: core/templates/user/overview.html:405 gym/templates/document/list.html:4 +#: core/templates/user/overview.html:426 gym/templates/document/list.html:4 msgid "Documents" msgstr "Dokumente" -#: core/templates/user/overview.html:412 gym/templates/document/list.html:32 -#: manager/forms.py:292 manager/templates/workout/view.html:132 +#: core/templates/user/overview.html:433 gym/templates/document/list.html:33 +#: manager/forms.py:292 manager/templates/workout/view.html:143 msgid "Download" msgstr "Runterladen" -#: core/templates/user/overview.html:450 gym/views/admin_config.py:44 +#: core/templates/user/overview.html:474 gym/views/admin_config.py:44 #: gym/views/admin_config.py:58 gym/views/user_config.py:46 msgid "Configuration" msgstr "Konfiguration" -#: core/templates/user/overview.html:453 gym/models/user_config.py:92 +#: core/templates/user/overview.html:477 gym/models/user_config.py:92 msgid "Include in inactive overview" msgstr "In Inaktivübersicht aufnehmen" -#: core/templates/user/overview.html:486 +#: core/templates/user/overview.html:510 #, python-format msgid "Admin login is only available for users in %(gym_name)s" msgstr "Admin-Login ist nur für Benutzer in %(gym_name)s verfügbar" -#: core/templates/user/overview.html:490 +#: core/templates/user/overview.html:514 msgid "Log in as this user" msgstr "Als diesen Benutzer einloggen" @@ -1272,19 +1235,19 @@ msgstr "Nicht verifizierte E-Mail-Adresse" msgid "Send verification email" msgstr "Sende Bestätigungs-E-Mail" -#: core/templates/user/preferences.html:30 +#: core/templates/user/preferences.html:31 msgid "You need to verify your email to contribute exercises" msgstr "Du musst deine E-Mail-Adresse bestätigen, um Übungen beizutragen" -#: core/templates/user/preferences.html:50 core/views/user.py:611 +#: core/templates/user/preferences.html:55 core/views/user.py:610 msgid "Change password" msgstr "Passwort ändern" -#: core/templatetags/wger_extras.py:205 i18n.tpl:37 +#: core/templatetags/wger_extras.py:197 i18n.tpl:37 msgid "kg" msgstr "kg" -#: core/templatetags/wger_extras.py:207 +#: core/templatetags/wger_extras.py:199 #: nutrition/templates/ingredient/view.html:60 #: nutrition/templates/ingredient/view.html:66 #: nutrition/templates/ingredient/view.html:73 @@ -1296,11 +1259,11 @@ msgctxt "weight unit, i.e. grams" msgid "g" msgstr "g" -#: core/templatetags/wger_extras.py:210 i18n.tpl:38 +#: core/templatetags/wger_extras.py:202 i18n.tpl:38 msgid "lb" msgstr "lb" -#: core/templatetags/wger_extras.py:212 +#: core/templatetags/wger_extras.py:204 msgctxt "weight unit, i.e. ounces" msgid "oz" msgstr "oz" @@ -1327,13 +1290,13 @@ msgid "Delete {0}?" msgstr "{0} löschen?" #: core/views/languages.py:111 core/views/license.py:85 -#: core/views/repetition_units.py:86 core/views/user.py:474 +#: core/views/repetition_units.py:86 core/views/user.py:473 #: core/views/weight_units.py:86 exercises/views/categories.py:98 #: exercises/views/equipment.py:81 exercises/views/muscles.py:87 #: gym/views/admin_notes.py:161 gym/views/config.py:68 #: gym/views/contract.py:186 gym/views/contract_option.py:123 #: gym/views/contract_type.py:123 gym/views/document.py:171 -#: gym/views/gym.py:463 manager/views/day.py:100 manager/views/schedule.py:333 +#: gym/views/gym.py:463 manager/views/day.py:96 manager/views/schedule.py:333 #: manager/views/workout.py:267 nutrition/views/ingredient.py:145 #: nutrition/views/unit.py:143 #, python-brace-format @@ -1363,48 +1326,48 @@ msgstr "Abschicken" msgid "Your feedback was successfully sent. Thank you!" msgstr "Dein Feedback wurde erfolgeich versendet. Danke!" -#: core/views/user.py:156 +#: core/views/user.py:155 #, python-brace-format msgid "Account \"{0}\" was successfully deleted" msgstr "Konto „{0}“ wurde erfolgreich gelöscht" -#: core/views/user.py:292 +#: core/views/user.py:291 msgid "You were successfully registered" msgstr "Du hast dich erfolgreich registriert" -#: core/views/user.py:351 +#: core/views/user.py:350 msgid "Settings successfully updated" msgstr "Einstellungen erfolgreich aktualisiert" -#: core/views/user.py:390 +#: core/views/user.py:389 msgid "The user was successfully deactivated" msgstr "Der Benutzer wurde erfolgreich deaktiviert" -#: core/views/user.py:427 +#: core/views/user.py:426 msgid "The user was successfully activated" msgstr "Der Benutzer wurde erfolgreich aktiviert" -#: core/views/user.py:442 +#: core/views/user.py:441 msgid "Edit user" msgstr "Benutzer bearbeiten" -#: core/views/user.py:597 gym/templates/gym/member_list.html:26 +#: core/views/user.py:596 gym/templates/gym/member_list.html:26 #: gym/views/gym.py:158 msgid "ID" msgstr "ID" -#: core/views/user.py:598 gym/forms.py:95 gym/templates/contract/view.html:55 +#: core/views/user.py:597 gym/forms.py:95 gym/templates/contract/view.html:55 #: gym/templates/gym/member_list.html:27 gym/views/export.py:59 #: gym/views/gym.py:158 gym/views/gym.py:217 msgid "Username" msgstr "Benutzername" -#: core/views/user.py:601 gym/templates/gym/new_user.html:34 +#: core/views/user.py:600 gym/templates/gym/new_user.html:34 #: gym/views/export.py:58 gym/views/gym.py:217 msgid "Gym" msgstr "Studio" -#: core/views/user.py:660 +#: core/views/user.py:659 #, python-format msgid "A verification email was sent to %(email)s" msgstr "Eine Bestätigungs-E-Mail wurde an %(email)s gesendet" @@ -1558,11 +1521,6 @@ msgstr "Codec, langer Name" msgid "Equipment list" msgstr "Geräteliste" -#: exercises/templates/equipment/admin-overview.html:39 -#: exercises/views/equipment.py:92 -msgid "Add new equipment" -msgstr "Neues Gerät hinzufügen" - #: exercises/templates/history/overview.html:11 msgid "Exercise admin history" msgstr "Verwaltungsverlauf ausüben" @@ -1610,11 +1568,6 @@ msgstr "Änderungen rückgängig machen" msgid "Muscle overview" msgstr "Muskelübersicht" -#: exercises/templates/muscles/admin-overview.html:38 -#: exercises/views/muscles.py:68 -msgid "Add muscle" -msgstr "Muskel hinzufügen" - #: exercises/views/categories.py:72 msgid "Add category" msgstr "Kategorie hinzufügen" @@ -1623,6 +1576,10 @@ msgstr "Kategorie hinzufügen" msgid "This will also delete all exercises in this category." msgstr "Das wird auch alle Übungen in der Kategorie löschen." +#: exercises/views/equipment.py:92 +msgid "Add new equipment" +msgstr "Neues Gerät hinzufügen" + #: exercises/views/equipment.py:104 exercises/views/equipment.py:115 msgid "Delete equipment?" msgstr "Gerät löschen?" @@ -1632,6 +1589,10 @@ msgid "This will delete the exercise from all workouts." msgstr "" "Das Löschen der Übung wird sie auch aus allen Trainingsplänen entfernen." +#: exercises/views/muscles.py:68 +msgid "Add muscle" +msgstr "Muskel hinzufügen" + #: gallery/templates/images/overview.html:62 msgid "Add image" msgstr "Bild hinzufügen" @@ -1719,7 +1680,7 @@ msgid "Contract is active" msgstr "Vertrag ist aktiv" #: gym/models/contract.py:237 gym/templates/contract/view.html:69 -#: manager/models/schedule.py:61 manager/templates/schedule/view.html:67 +#: manager/models/schedule.py:61 manager/templates/schedule/view.html:21 msgid "Start date" msgstr "Startdatum" @@ -1755,7 +1716,7 @@ msgstr "Administrator: kann die Nutzer für ein Studio verwalten" msgid "Admin: can administrate the different gyms" msgstr "Administrator: kann die verschiedenen Studios verwalten" -#: gym/models/gym.py:65 gym/templates/gym/member_list.html:114 +#: gym/models/gym.py:65 gym/templates/gym/member_list.html:126 msgid "Owner" msgstr "Eigentümer" @@ -1767,7 +1728,7 @@ msgstr "" "Anzahl der Wochen seit dem letzten Login damit ein Benutzer als inaktiv " "betrachtet wird" -#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:152 +#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:166 msgid "Show name in header" msgstr "Name in der Kopfzeile anzeigen" @@ -1780,7 +1741,7 @@ msgstr "Den Namen des Fitnessstudios in der Kopfzeile der Website anzeigen" msgid "Configuration for {self.gym.name}" msgstr "Konfiguration für {self.gym.name}" -#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:184 +#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:200 msgid "Overview of inactive members" msgstr "Übersicht der inaktiven Mitglieder" @@ -1804,7 +1765,7 @@ msgstr "Werde Dateinamen benutzen falls nichts angegeben" msgid "User notes" msgstr "Benutzernotizen" -#: gym/templates/contract/list.html:36 +#: gym/templates/contract/list.html:34 msgid "Show" msgstr "Anzeigen" @@ -1832,11 +1793,11 @@ msgstr "" msgid "Gym list" msgstr "Studioliste" -#: gym/templates/gym/list.html:50 +#: gym/templates/gym/list.html:53 msgid "Global gym configuration" msgstr "Globale Studiokonfiguration" -#: gym/templates/gym/list.html:67 gym/views/gym.py:171 +#: gym/templates/gym/list.html:69 gym/views/gym.py:171 msgid "Add new gym" msgstr "Studio hinzufügen" @@ -1848,43 +1809,43 @@ msgstr "Administratoren und Trainer" msgid "Gym manager" msgstr "Studiomanager" -#: gym/templates/gym/member_list.html:69 +#: gym/templates/gym/member_list.html:76 msgid "This gym has no administrators or trainers" msgstr "Dieses Studio hat keine Administratoren oder Trainer" -#: gym/templates/gym/member_list.html:88 +#: gym/templates/gym/member_list.html:98 msgid "Export" msgstr "Exportieren" -#: gym/templates/gym/member_list.html:125 +#: gym/templates/gym/member_list.html:137 msgid "Members" msgstr "Mitglieder" -#: gym/templates/gym/member_list.html:145 +#: gym/templates/gym/member_list.html:159 msgid "Gym configuration" msgstr "Studiokonfiguration" -#: gym/templates/gym/member_list.html:148 +#: gym/templates/gym/member_list.html:162 msgid "Inactive members" msgstr "Inaktive Mitglieder" -#: gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:163 msgid "weeks" msgstr "Wochen" -#: gym/templates/gym/member_list.html:181 +#: gym/templates/gym/member_list.html:197 msgid "My configuration" msgstr "Meine Konfiguration" -#: gym/templates/gym/member_list.html:215 +#: gym/templates/gym/member_list.html:234 msgid "Types" msgstr "Typen" -#: gym/templates/gym/member_list.html:285 +#: gym/templates/gym/member_list.html:307 msgid "Emails" msgstr "E-Mails" -#: gym/templates/gym/member_list.html:315 +#: gym/templates/gym/member_list.html:336 msgid "Add member" msgstr "Mitglied hinzufügen" @@ -2180,28 +2141,38 @@ msgstr "Auch Zutaten auf Englisch suchen" msgid "Unit" msgstr "Einheit" +#: manager/forms.py:191 manager/models/log.py:103 manager/models/setting.py:102 +#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 +msgid "RiR" +msgstr "RiR" + #: manager/forms.py:279 msgid "Type" msgstr "Typ" -#: manager/forms.py:280 manager/templates/workout/view.html:113 +#: manager/forms.py:280 manager/templates/workout/view.html:122 msgid "Table" msgstr "Tabelle" -#: manager/forms.py:282 manager/templates/workout/view.html:119 +#: manager/forms.py:282 manager/templates/workout/view.html:129 msgid "with images" msgstr "mit Bilder" -#: manager/forms.py:283 manager/templates/workout/view.html:125 +#: manager/forms.py:283 manager/templates/workout/view.html:136 msgid "with comments" msgstr "mit Kommentare" +#: manager/helpers.py:86 manager/models/setting.py:72 +#: manager/templates/set/formset.html:9 +msgid "Reps" +msgstr "Wdh." + #: manager/management/commands/email-reminders.py:121 msgid "Workout will expire soon" msgstr "Trainingsplan wird bald auslaufen" #: manager/models/day.py:34 manager/models/log.py:58 -#: manager/models/session.py:60 manager/templates/schedule/view.html:102 +#: manager/models/session.py:60 manager/templates/schedule/view.html:56 #: manager/templates/workout/view.html:9 manager/templates/workout/view.html:17 #: manager/views/pdf.py:85 manager/views/pdf.py:161 #: manager/views/schedule.py:151 manager/views/schedule.py:221 @@ -2225,7 +2196,7 @@ msgid "Name or short description of the schedule. For example 'Program XYZ'." msgstr "" "Name oder kurze Beschreibung des Zeitplans. Zum Beispiel 'Programm XYZ'." -#: manager/models/schedule.py:65 manager/templates/schedule/view.html:71 +#: manager/models/schedule.py:65 manager/templates/schedule/view.html:25 msgid "Schedule active" msgstr "Zeitplan aktiv" @@ -2239,7 +2210,7 @@ msgstr "" "dann z.B. auf der Statseite angezeigt). Alle andere Zeitpläne werden dann " "deaktiviert" -#: manager/models/schedule.py:77 manager/templates/schedule/view.html:81 +#: manager/models/schedule.py:77 manager/templates/schedule/view.html:35 msgid "Is a loop" msgstr "Ist eine Schleife" @@ -2260,7 +2231,7 @@ msgid "The duration in weeks" msgstr "Die Dauer in Wochen" #: manager/models/schedule_step.py:64 manager/models/set.py:53 -#: manager/models/setting.py:113 nutrition/models/meal.py:55 +#: manager/models/setting.py:113 nutrition/models/meal.py:53 #: nutrition/models/meal_item.py:66 msgid "Order" msgstr "Reihenfolge" @@ -2403,7 +2374,7 @@ msgstr "Eintragübersicht" msgid "Workout session" msgstr "Trainingseinheit" -#: manager/templates/calendar/partial_overview_table.html:27 +#: manager/templates/calendar/partial_overview_table.html:26 msgid "Delete with logs" msgstr "Mit Logeinträge löschen" @@ -2426,21 +2397,27 @@ msgstr "" "wenn es noch keine gibt für das angegebene Datum. Wenn es bereits\n" "eine gibt, wird diese bearbeitet. Gewichtseinträge werden immer hinzugefügt." -#: manager/templates/schedule/overview.html:5 +#: manager/templates/schedule/overview.html:4 msgid "Your schedules" msgstr "Deine Zeitpläne" #: manager/templates/schedule/overview.html:19 -#: manager/templates/schedule/view.html:131 -#: manager/templates/schedule/view.html:183 +#: manager/templates/schedule/view.html:96 +#: manager/templates/schedule/view.html:146 #: manager/templates/workout/overview.html:16 msgid "active" msgstr "Aktiv" -#: manager/templates/schedule/overview.html:28 +#: manager/templates/schedule/overview.html:27 msgid "No schedules found." msgstr "Keine Zeitpläne gefunden." +#: manager/templates/schedule/overview.html:28 +#, fuzzy +#| msgid "Add one now." +msgid "Add one now" +msgstr "Jetzt hinzufügen." + #: manager/templates/schedule/overview.html:36 msgid "" "Schedules are collections of workouts that you do in\n" @@ -2450,19 +2427,27 @@ msgstr "" "hintereinander durchführst." #: manager/templates/schedule/overview.html:39 +#, fuzzy +#| msgid "" +#| "You can indicate how long you want to do each workout\n" +#| " before jumping to the next. It is also possible to create a loop, " +#| "so you\n" +#| " always do the same workouts in succession, e.g. A > B > C > A > B " +#| "> C and so on." msgid "" "You can indicate how long you want to do each workout\n" " before jumping to the next. It is also possible to create a loop, so " "you\n" " always do the same workouts in succession, e.g. A > B > C > A > B > " -"C and so on." +"C and so\n" +" on." msgstr "" "Du kannst angeben wie lange du die einzelnen Trainingspläne\n" "machst bevor du zum nächsten springst. Es ist auch möglich eine\n" "Schleife zu bilden, wenn du immer dieselben Traininspläne machen \n" "willst, z.B. A > B > C > A > B > C usw." -#: manager/templates/schedule/overview.html:43 +#: manager/templates/schedule/overview.html:44 msgid "" "The currently active schedule will remain active (and be\n" " shown e.g. in your dashboard) till it reaches the last workout or " @@ -2482,7 +2467,7 @@ msgstr "Zeitplan hinzufügen" msgid "Schedule" msgstr "Zeitplan" -#: manager/templates/schedule/view.html:85 +#: manager/templates/schedule/view.html:39 msgid "" "This schedule is a loop and will go through the workouts above till you " "deactivate it" @@ -2490,19 +2475,15 @@ msgstr "" "Dieser Zeitplan ist eine Schleife und wird durch die Trainingspläne gehen\n" "bist du ihn deaktivierst" -#: manager/templates/schedule/view.html:103 +#: manager/templates/schedule/view.html:57 msgid "Weeks" msgstr "Wochen" -#: manager/templates/schedule/view.html:115 -msgid "Move me" -msgstr "Bewege mich" - -#: manager/templates/schedule/view.html:156 +#: manager/templates/schedule/view.html:121 msgid "Start schedule" msgstr "Zeitplan starten" -#: manager/templates/schedule/view.html:187 +#: manager/templates/schedule/view.html:150 #, python-format msgid "" "%(weeks)s Week\n" @@ -2517,11 +2498,11 @@ msgstr[1] "" "%(weeks)s Wochen\n" " " -#: manager/templates/schedule/view.html:221 +#: manager/templates/schedule/view.html:184 msgid "Adding workouts" msgstr "Trainingspläne hinzufügen" -#: manager/templates/schedule/view.html:223 +#: manager/templates/schedule/view.html:186 msgid "" "Add as many workouts to the schedule as you want. You can\n" " edit the order by dragging and dropping them. It's also possible " @@ -2533,48 +2514,48 @@ msgstr "" "auch möglich, ein Workout \n" "mehrmals hinzuzufügen." -#: manager/templates/schedule/view.html:232 -#: manager/templates/schedule/view.html:243 -#: manager/templates/schedule/view.html:290 +#: manager/templates/schedule/view.html:195 +#: manager/templates/schedule/view.html:209 +#: manager/templates/schedule/view.html:263 #: manager/templates/workout/view.html:69 -#: manager/templates/workout/view.html:79 -#: manager/templates/workout/view.html:178 +#: manager/templates/workout/view.html:83 +#: manager/templates/workout/view.html:192 msgid "Export calendar file" msgstr "Kalender exportieren" -#: manager/templates/schedule/view.html:236 +#: manager/templates/schedule/view.html:201 msgid "Export this schedule as a calendar file." msgstr "Diesen Zeitplan als Kalenderdatei exportieren." -#: manager/templates/schedule/view.html:237 -#: manager/templates/workout/view.html:74 +#: manager/templates/schedule/view.html:202 +#: manager/templates/workout/view.html:76 +#, fuzzy +#| msgid "" +#| "You can then import the file it into your calendar\n" +#| " application for example google calendar, outlook " +#| "or iCal. This will create\n" +#| " an appointment for each training day with the " +#| "appropriate exercises." msgid "" "You can then import the file it into your calendar\n" " application for example google calendar, outlook or " "iCal. This will create\n" " an appointment for each training day with the " -"appropriate exercises." +"appropriate\n" +" exercises." msgstr "" "Du kannst die Datei dann in deine Kalenderanwendung importieren, \n" "zum Beispiel Google Kalender, Outlook oder iCal. \n" "Dadurch wird für jeden Trainingstag ein Termin mit den entsprechenden " "Übungen erstellt." -#: manager/templates/schedule/view.html:258 -#: manager/templates/schedule/view.html:294 -#: manager/templates/workout/view.html:94 -#: manager/templates/workout/view.html:174 +#: manager/templates/schedule/view.html:225 +#: manager/templates/schedule/view.html:268 +#: manager/templates/workout/view.html:99 +#: manager/templates/workout/view.html:188 msgid "Download as PDF" msgstr "Als PDF runterladen" -#: manager/templates/schedule/view.html:299 -msgid "Edit schedule" -msgstr "Zeitplan bearbeiten" - -#: manager/templates/schedule/view.html:304 -msgid "Delete schedule" -msgstr "Zeitplan löschen" - #: manager/templates/set/add.html:9 #, python-format msgid "Add exercises to day \"%(day_name)s\"" @@ -2656,59 +2637,6 @@ msgstr "" "Du erhält regelmäßig solche Erinnerungen, bis du dein aktuelles Gewicht " "eingibst." -#: manager/templates/workout/log.html:10 manager/templates/workout/log.html:11 -msgid "Weight log" -msgstr "Gewichtslog" - -#: manager/templates/workout/log.html:29 -msgid "Weight log for workout" -msgstr "Gewichtslog für Trainigsplan" - -#: manager/templates/workout/log.html:49 -msgid "Add weight log to this day" -msgstr "Logbucheintrag zu diesem Tag hinzufügen" - -#: manager/templates/workout/log.html:69 -msgid "No weight entries here." -msgstr "Keine Gewichtseinträge gefunden." - -#: manager/templates/workout/log.html:77 -msgid "No exercises for this day." -msgstr "Keine Übungen für diesen Tag." - -#: manager/templates/workout/log.html:90 -msgid "" -"This page shows the weight logs belonging to this workout\n" -"only. Click on an exercise to see all the historical data for\n" -"it." -msgstr "" -"Diese Seite zeigt nur die Gewichtseinträge für die Übungen \n" -"in diesem Trainingsplan. Klicke auf eine Übung um die komplette Historie " -"zu \n" -"sehen." - -#: manager/templates/workout/log.html:94 -msgid "" -"If on a single day there is more than one entry with the\n" -"same number of repetitions, but different weights, only the entry with the\n" -"higher weight is shown in the diagram." -msgstr "" -"Falls an einem Tag es mehr als ein Eintrag gibt mit der \n" -"selben Anzahl an Wiederholungen, aber verschiedene Gewichte, wird nur der " -"Eintrag mit dem \n" -"höheren Gewicht in das Diagramm eingefügt." - -#: manager/templates/workout/log.html:98 -msgid "" -"Note that only entries with a weight unit (kg or lb) and\n" -"repetitions are charted, other combinations such as time or until failure\n" -"are ignored here." -msgstr "" -"Beachte, dass nur Einträge mit einer Gewichtseinheit (kg oder lb) und \n" -"Wiederholungen gezeichnet werden, andere Kombinationen wie Zeit oder bis zum " -"Ausfall \n" -"werden hier ignoriert." - #: manager/templates/workout/overview.html:25 msgid "No templates found." msgstr "Keine Vorlagen gefunden." @@ -2746,27 +2674,23 @@ msgstr "Sätze zu den Tagen hinzufügen" msgid "Set the repetitions for each set" msgstr "Wiederholungen für den Satz eingeben" -#: manager/templates/workout/view.html:73 +#: manager/templates/workout/view.html:75 msgid "Export this workout as a calendar file." msgstr "Diesen Trainingsplan als Kalenderdatei exportieren." -#: manager/templates/workout/view.html:144 +#: manager/templates/workout/view.html:156 msgid "Logs" msgstr "Tagebucheintrag" -#: manager/templates/workout/view.html:146 +#: manager/templates/workout/view.html:159 msgid "View logs" msgstr "Logs anzeigen" -#: manager/templates/workout/view.html:169 manager/views/schedule_step.py:99 -msgid "Edit workout" -msgstr "Trainingsplan bearbeiten" - -#: manager/templates/workout/view.html:182 manager/views/workout.py:281 +#: manager/templates/workout/view.html:195 manager/views/workout.py:281 msgid "Mark as template" msgstr "Als Vorlage markieren" -#: manager/views/day.py:109 +#: manager/views/day.py:105 msgid "Add workout day" msgstr "Trainingstag hinzufügen" @@ -2783,6 +2707,10 @@ msgstr "Trainingsplan für %s" msgid "Create schedule" msgstr "Zeitplan erstellen" +#: manager/views/schedule_step.py:99 +msgid "Edit workout" +msgstr "Trainingsplan bearbeiten" + #: manager/views/workout.py:209 msgid "Copy workout" msgstr "Trainingsplan kopieren" @@ -2906,7 +2834,7 @@ msgstr "Menge in Gramm" msgid "Unit amount, e.g. \"1 Cup\" or \"1/2 spoon\"" msgstr "Menge der Einheit, z.B. „1 Tasse“ or „1/2 Löffel“" -#: nutrition/models/log.py:52 nutrition/models/meal.py:50 +#: nutrition/models/log.py:52 nutrition/models/meal.py:48 #: nutrition/models/meal_item.py:48 nutrition/models/plan.py:108 msgid "Nutrition plan" msgstr "Ernährungsplan" @@ -2919,11 +2847,11 @@ msgstr "Mahlzeit" msgid "Date and Time (Approx.)" msgstr "Uhrzeit und Datum (ca.)" -#: nutrition/models/meal.py:62 +#: nutrition/models/meal.py:60 msgid "Time (approx)" msgstr "Uhrzeit (ca.)" -#: nutrition/models/meal.py:69 +#: nutrition/models/meal.py:67 msgid "" "Give meals a textual description / name such as \"Breakfast\" or \"after " "workout\"" @@ -2950,62 +2878,6 @@ msgstr "" "Kreuze die Checkbox an wenn du diesem Plan eine Zielmenge an Kalorien geben " "willst. Du kannst den Rechner benutzen oder diese Menge direkt eingeben." -#: nutrition/templates/bmi/form.html:62 -msgid "Results" -msgstr "Ergebnisse" - -#: nutrition/templates/bmi/form.html:63 -msgid "Your BMI is: " -msgstr "Dein BMI ist: " - -#: nutrition/templates/bmi/form.html:71 -msgid "Legend" -msgstr "Legende" - -#: nutrition/templates/bmi/form.html:75 -msgid "Adipositas III" -msgstr "Adipositas Grad III" - -#: nutrition/templates/bmi/form.html:79 -msgid "Adipositas II" -msgstr "Adipositas Grad II" - -#: nutrition/templates/bmi/form.html:83 -msgid "Adipositas I" -msgstr "Adipositas Grad I" - -#: nutrition/templates/bmi/form.html:87 -msgid "Overweight" -msgstr "Übergewicht" - -#: nutrition/templates/bmi/form.html:91 -msgid "Normal weight" -msgstr "Normalgewicht" - -#: nutrition/templates/bmi/form.html:95 -msgid "Slight underweight" -msgstr "Leichtes Untergewicht" - -#: nutrition/templates/bmi/form.html:99 -msgid "Moderate underweight" -msgstr "Mäßiges Untergewicht" - -#: nutrition/templates/bmi/form.html:103 -msgid "Strong underweight" -msgstr "Starkes Untergewicht" - -#: nutrition/templates/bmi/form.html:117 -msgid "" -"Use the form to calculate your BMI (Body Mass Index).\n" -"If you have entered data in the weight section, the last entry will\n" -"be used automatically. Otherwise the weight you enter here will be saved\n" -"in a new entry." -msgstr "" -"Benutze das Formular um dein BMI (Body Mass Index)\n" -"zu berechnen. Wenn du bereits Gewichtseinträge gemacht hattest, wird \n" -"der letzte verwendet. Ansonsten wird der \n" -"neu eingegebene Wert gespeichert." - #: nutrition/templates/ingredient/email_new.tpl:1 #, python-format msgid "" @@ -3063,10 +2935,6 @@ msgstr "Keine Zutaten." msgid "Search" msgstr "Suchen" -#: nutrition/templates/ingredient/overview.html:62 -msgid "Add ingredient" -msgstr "Zutat hinzufügen" - #: nutrition/templates/ingredient/view.html:45 nutrition/views/plan.py:229 msgid "Macronutrients" msgstr "Makronährstoffe" @@ -3086,20 +2954,11 @@ msgstr "k.A." msgid "Others" msgstr "Andere" -#: nutrition/templates/ingredient/view.html:144 -#: nutrition/templates/units/list.html:46 nutrition/views/unit.py:86 +#: nutrition/templates/ingredient/view.html:143 +#: nutrition/templates/units/list.html:50 nutrition/views/unit.py:86 msgid "Add new weight unit" msgstr "Gewichtseinheit hinzufügen" -#: nutrition/templates/ingredient/view.html:206 -#: nutrition/templates/ingredient/view.html:209 -msgid "Edit ingredient" -msgstr "Zutat bearbeiten" - -#: nutrition/templates/ingredient/view.html:213 -msgid "Delete ingredient" -msgstr "Zutat entfernen" - #: nutrition/templates/rate/form.html:25 msgid "Basal metabolic rate" msgstr "Grundumsatz" @@ -3185,19 +3044,6 @@ msgstr "" "Wenn du deine Ernährung auf diese Werte basierst, beobachte dich selbst\n" "einige Wochen und ändere deine Diät falls nötig." -#: nutrition/views/bmi.py:89 -msgid "Please make sure your height is within the appropriate range." -msgstr "" -"Bitte stelle sicher, dass deine Grösse innerhalb des erlaubten Bereichs ist." - -#: nutrition/views/bmi.py:92 -msgid "140 to 230" -msgstr "140 bis 230" - -#: nutrition/views/bmi.py:94 -msgid "56 to 90" -msgstr "56 bis 90" - #: nutrition/views/ingredient.py:157 msgid "Add a new ingredient" msgstr "Zutat hinzufügen" @@ -3743,6 +3589,147 @@ msgstr "Erfolgreich gelöscht." msgid "Delete weight entry for the %s" msgstr "Gewichtseintrag für den %s löschen" +#~ msgid "Move me" +#~ msgstr "Bewege mich" + +#~ msgid "Results" +#~ msgstr "Ergebnisse" + +#~ msgid "Your BMI is: " +#~ msgstr "Dein BMI ist: " + +#~ msgid "Legend" +#~ msgstr "Legende" + +#~ msgid "Adipositas III" +#~ msgstr "Adipositas Grad III" + +#~ msgid "Adipositas II" +#~ msgstr "Adipositas Grad II" + +#~ msgid "Adipositas I" +#~ msgstr "Adipositas Grad I" + +#~ msgid "Overweight" +#~ msgstr "Übergewicht" + +#~ msgid "Normal weight" +#~ msgstr "Normalgewicht" + +#~ msgid "Slight underweight" +#~ msgstr "Leichtes Untergewicht" + +#~ msgid "Moderate underweight" +#~ msgstr "Mäßiges Untergewicht" + +#~ msgid "Strong underweight" +#~ msgstr "Starkes Untergewicht" + +#~ msgid "" +#~ "Use the form to calculate your BMI (Body Mass Index).\n" +#~ "If you have entered data in the weight section, the last entry will\n" +#~ "be used automatically. Otherwise the weight you enter here will be saved\n" +#~ "in a new entry." +#~ msgstr "" +#~ "Benutze das Formular um dein BMI (Body Mass Index)\n" +#~ "zu berechnen. Wenn du bereits Gewichtseinträge gemacht hattest, wird \n" +#~ "der letzte verwendet. Ansonsten wird der \n" +#~ "neu eingegebene Wert gespeichert." + +#~ msgid "Please make sure your height is within the appropriate range." +#~ msgstr "" +#~ "Bitte stelle sicher, dass deine Grösse innerhalb des erlaubten Bereichs " +#~ "ist." + +#~ msgid "140 to 230" +#~ msgstr "140 bis 230" + +#~ msgid "56 to 90" +#~ msgstr "56 bis 90" + +#~ msgid "" +#~ "If a license has been localized, e.g. the Creative Commons\n" +#~ " licenses for the different countries, add them as separate " +#~ "entries here." +#~ msgstr "" +#~ "Wenn eine Lizenz lokalisiert wurde wie z.B. die Creative Commons " +#~ "Lizenzen\n" +#~ "für die verschiedenen Länder, füge sie einzeln hinzu." + +#~ msgid "Add weight log" +#~ msgstr "Gewichtslog hinzufügen" + +#~ msgid "This exercise has no repetitions." +#~ msgstr "Diese Übung hat keine Wiederholungen." + +#~ msgid "Edit them now." +#~ msgstr "Jetzt bearbeiten." + +#~ msgid "Add exercises to this workout day" +#~ msgstr "Übungen zu diesem Trainingstag hinzufügen" + +#~ msgid "Edit schedule" +#~ msgstr "Zeitplan bearbeiten" + +#~ msgid "Delete schedule" +#~ msgstr "Zeitplan löschen" + +#~ msgid "Weight log" +#~ msgstr "Gewichtslog" + +#~ msgid "Weight log for workout" +#~ msgstr "Gewichtslog für Trainigsplan" + +#~ msgid "Add weight log to this day" +#~ msgstr "Logbucheintrag zu diesem Tag hinzufügen" + +#~ msgid "No weight entries here." +#~ msgstr "Keine Gewichtseinträge gefunden." + +#~ msgid "No exercises for this day." +#~ msgstr "Keine Übungen für diesen Tag." + +#~ msgid "" +#~ "This page shows the weight logs belonging to this workout\n" +#~ "only. Click on an exercise to see all the historical data for\n" +#~ "it." +#~ msgstr "" +#~ "Diese Seite zeigt nur die Gewichtseinträge für die Übungen \n" +#~ "in diesem Trainingsplan. Klicke auf eine Übung um die komplette Historie " +#~ "zu \n" +#~ "sehen." + +#~ msgid "" +#~ "If on a single day there is more than one entry with the\n" +#~ "same number of repetitions, but different weights, only the entry with " +#~ "the\n" +#~ "higher weight is shown in the diagram." +#~ msgstr "" +#~ "Falls an einem Tag es mehr als ein Eintrag gibt mit der \n" +#~ "selben Anzahl an Wiederholungen, aber verschiedene Gewichte, wird nur der " +#~ "Eintrag mit dem \n" +#~ "höheren Gewicht in das Diagramm eingefügt." + +#~ msgid "" +#~ "Note that only entries with a weight unit (kg or lb) and\n" +#~ "repetitions are charted, other combinations such as time or until " +#~ "failure\n" +#~ "are ignored here." +#~ msgstr "" +#~ "Beachte, dass nur Einträge mit einer Gewichtseinheit (kg oder lb) und \n" +#~ "Wiederholungen gezeichnet werden, andere Kombinationen wie Zeit oder bis " +#~ "zum Ausfall \n" +#~ "werden hier ignoriert." + +#~ msgid "Add ingredient" +#~ msgstr "Zutat hinzufügen" + +#~ msgid "Edit ingredient" +#~ msgstr "Zutat bearbeiten" + +#~ msgid "Delete ingredient" +#~ msgstr "Zutat entfernen" + #~ msgid "Ingredients pending review" #~ msgstr "Zutaten ohne Freigabe" diff --git a/wger/locale/el/LC_MESSAGES/django.po b/wger/locale/el/LC_MESSAGES/django.po index 57fae44dc..829e80afd 100644 --- a/wger/locale/el/LC_MESSAGES/django.po +++ b/wger/locale/el/LC_MESSAGES/django.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: wger Workout Manager\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-14 15:59+0200\n" +"POT-Creation-Date: 2024-11-14 19:23+0100\n" "PO-Revision-Date: 2023-10-01 07:01+0000\n" "Last-Translator: Antonis-geo \n" "Language-Team: Greek \n" @@ -21,7 +21,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.1-dev\n" -#: config/models/gym_config.py:46 gym/templates/gym/list.html:53 +#: config/models/gym_config.py:46 gym/templates/gym/list.html:56 msgid "Default gym" msgstr "Προεπιλεγμένο γυμναστήριο" @@ -34,28 +34,28 @@ msgstr "" "νέα εγγεγραμμένα μέλη και θα ενημερώσει τα υπάρχοντα μέλη που δεν έχουν " "γυμναστήριο." -#: config/views/gym_config.py:42 core/templates/language/view.html:67 -#: core/templates/license/list.html:17 core/templates/misc/license/list.html:18 +#: config/views/gym_config.py:42 core/templates/language/view.html:64 +#: core/templates/license/list.html:17 #: core/templates/repetition_unit/list.html:18 -#: core/templates/tags/render_day.html:39 -#: core/templates/tags/render_day.html:75 core/templates/user/overview.html:204 -#: core/templates/user/overview.html:445 +#: core/templates/user/overview.html:204 core/templates/user/overview.html:467 #: core/templates/weight_unit/list.html:18 #: exercises/templates/categories/admin-overview.html:17 #: exercises/templates/equipment/admin-overview.html:17 -#: exercises/templates/muscles/admin-overview.html:17 -#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:32 -#: gym/templates/contract/list.html:31 gym/templates/contract/view.html:107 -#: gym/templates/contract_option/list.html:32 -#: gym/templates/contract_type/list.html:32 gym/templates/document/list.html:38 -#: gym/templates/gym/list.html:20 gym/templates/gym/list.html:46 -#: gym/templates/gym/member_list.html:87 gym/templates/gym/member_list.html:140 -#: gym/templates/gym/member_list.html:176 -#: manager/templates/calendar/day.html:68 -#: manager/templates/calendar/month.html:85 -#: manager/templates/calendar/partial_overview_table.html:18 -#: manager/templates/schedule/view.html:118 -#: nutrition/templates/ingredient/view.html:165 +#: exercises/templates/muscles/admin-overview.html:16 +#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:31 +#: gym/templates/contract/list.html:30 gym/templates/contract/view.html:106 +#: gym/templates/contract_option/list.html:29 +#: gym/templates/contract_type/list.html:30 gym/templates/document/list.html:38 +#: gym/templates/gym/list.html:19 gym/templates/gym/list.html:48 +#: gym/templates/gym/member_list.html:94 gym/templates/gym/member_list.html:152 +#: gym/templates/gym/member_list.html:190 +#: manager/templates/calendar/day.html:67 +#: manager/templates/calendar/month.html:84 +#: manager/templates/calendar/partial_overview_table.html:16 +#: manager/templates/schedule/view.html:271 +#: manager/templates/workout/view.html:181 +#: nutrition/templates/ingredient/view.html:164 +#: nutrition/templates/ingredient/view.html:209 #: nutrition/templates/units/list.html:19 msgid "Edit" msgstr "Επεξεργασία" @@ -89,25 +89,25 @@ msgstr "Το τέλειο πρόγραμμα γυμναστικής μου" msgid "Empty placeholder schedule" msgstr "Άδειο placeholder ημερολογίου" -#: core/forms.py:69 core/templates/navigation.html:285 -#: core/templates/navigation.html:291 core/templates/user/login.html:4 +#: core/forms.py:69 core/templates/navigation.html:284 +#: core/templates/navigation.html:290 core/templates/user/login.html:4 #: software/templates/features.html:82 software/templates/features.html:427 msgid "Login" msgstr "Σύνδεση" -#: core/forms.py:108 core/forms.py:214 gym/views/export.py:61 +#: core/forms.py:108 core/forms.py:216 gym/views/export.py:61 #: gym/views/gym.py:217 msgid "First name" msgstr "Όνομα" -#: core/forms.py:109 core/forms.py:215 core/templates/user/overview.html:266 +#: core/forms.py:109 core/forms.py:217 core/templates/user/overview.html:284 #: gym/views/export.py:62 gym/views/gym.py:217 msgid "Last name" msgstr "Επίθετο" -#: core/forms.py:111 core/forms.py:180 core/templates/user/overview.html:270 +#: core/forms.py:111 core/forms.py:182 core/templates/user/overview.html:288 #: gym/models/contract.py:256 gym/models/gym.py:58 -#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:104 +#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:116 #: gym/templates/gym/new_user.html:30 gym/views/export.py:60 #: mailer/templates/mailer/gym/form.html:4 #: mailer/templates/mailer/gym/overview.html:4 @@ -126,96 +126,95 @@ msgstr "" msgid "Date of Birth" msgstr "Ημερομηνία Γέννησης" -#: core/forms.py:148 +#: core/forms.py:149 msgid "Personal data" msgstr "Προσωπικά δεδομένα" -#: core/forms.py:159 +#: core/forms.py:161 msgid "Workout reminders" msgstr "Υπενθύμιση προπόνησης" -#: core/forms.py:166 +#: core/forms.py:168 msgid "Other settings" msgstr "Άλλες ρυθμίσεις" -#: core/forms.py:174 core/views/user.py:624 core/views/user.py:639 -#: core/views/user.py:651 gym/forms.py:73 manager/templates/log/add.html:65 +#: core/forms.py:176 core/views/user.py:623 core/views/user.py:638 +#: core/views/user.py:650 gym/forms.py:73 manager/templates/log/add.html:65 #: manager/templates/set/add.html:70 manager/views/workout.py:203 #: utils/generic_views.py:143 msgid "Save" msgstr "Αποθήκευση" -#: core/forms.py:181 +#: core/forms.py:183 msgid "Used for password resets and, optionally, email reminders." msgstr "" "Χρησιμοποιείται για επαναφορά κωδικού πρόσβασης και, προαιρετικά, " "υπενθυμίσεις ηλεκτρονικού ταχυδρομείου." -#: core/forms.py:210 +#: core/forms.py:212 msgid "This e-mail address is already in use." msgstr "Αυτή η διεύθυνση email χρησιμοποιείται ήδη." -#: core/forms.py:231 gym/templates/gym/new_user.html:26 +#: core/forms.py:233 gym/templates/gym/new_user.html:26 #: gym/templates/gym/reset_user_password.html:24 gym/views/gym.py:217 msgid "Password" msgstr "Κωδικός" -#: core/forms.py:233 +#: core/forms.py:235 msgid "Please enter your current password." msgstr "Παρακαλώ πληκτρολογήστε τον τρέχων κωδικό σας." -#: core/forms.py:242 core/templates/language/view.html:73 -#: core/templates/license/list.html:19 core/templates/misc/license/list.html:22 -#: core/templates/repetition_unit/list.html:20 -#: core/templates/tags/render_day.html:45 -#: core/templates/tags/render_day.html:81 core/templates/user/overview.html:217 -#: core/templates/weight_unit/list.html:20 -#: exercises/templates/categories/admin-overview.html:19 -#: exercises/templates/equipment/admin-overview.html:19 -#: exercises/templates/muscles/admin-overview.html:19 -#: gym/templates/admin_notes/list.html:40 -#: gym/templates/contract_option/list.html:41 -#: gym/templates/contract_type/list.html:41 gym/templates/document/list.html:46 -#: gym/templates/gym/list.html:22 manager/templates/calendar/day.html:73 -#: manager/templates/calendar/month.html:89 -#: manager/templates/calendar/partial_overview_table.html:23 -#: manager/templates/schedule/view.html:122 -#: manager/templates/workout/view.html:188 -#: nutrition/templates/ingredient/view.html:166 +#: core/forms.py:244 core/templates/language/view.html:70 +#: core/templates/license/list.html:21 +#: core/templates/repetition_unit/list.html:22 +#: core/templates/user/overview.html:233 +#: core/templates/weight_unit/list.html:22 +#: exercises/templates/categories/admin-overview.html:21 +#: exercises/templates/equipment/admin-overview.html:21 +#: exercises/templates/muscles/admin-overview.html:20 +#: gym/templates/admin_notes/list.html:37 +#: gym/templates/contract_option/list.html:35 +#: gym/templates/contract_type/list.html:36 gym/templates/document/list.html:46 +#: gym/templates/gym/list.html:23 manager/templates/calendar/day.html:73 +#: manager/templates/calendar/month.html:88 +#: manager/templates/calendar/partial_overview_table.html:22 +#: manager/templates/schedule/view.html:277 +#: manager/templates/workout/view.html:202 +#: nutrition/templates/ingredient/view.html:168 #: nutrition/templates/ingredient/view.html:215 -#: nutrition/templates/units/list.html:22 +#: nutrition/templates/units/list.html:25 msgid "Delete" msgstr "Διαγραφή" -#: core/forms.py:251 +#: core/forms.py:253 msgid "Invalid password" msgstr "Λάθος κωδικός" -#: core/forms.py:263 core/forms.py:338 +#: core/forms.py:265 core/forms.py:340 msgid "The form is secured with reCAPTCHA" msgstr "Η φόρμα είναι ασφαλισμένη με reCAPTCHA" -#: core/forms.py:279 core/forms.py:301 core/templates/navigation.html:285 -#: core/templates/navigation.html:297 core/templates/template.html:149 -#: core/templates/user/login.html:20 core/views/user.py:298 +#: core/forms.py:281 core/forms.py:303 core/templates/navigation.html:284 +#: core/templates/navigation.html:296 core/templates/template.html:150 +#: core/templates/user/login.html:20 core/views/user.py:297 #: software/templates/features.html:87 software/templates/features.html:422 msgid "Register" msgstr "Εγγραφή" -#: core/forms.py:315 software/templates/features.html:45 +#: core/forms.py:317 software/templates/features.html:45 msgid "Contact" msgstr "Επικοινωνία" -#: core/forms.py:316 +#: core/forms.py:318 msgid "Some way of answering you (e-mail, etc.)" msgstr "Κάποιος τρόπος απάντησής σας (ηλεκτρονικό ταχυδρομείο κ.λπ.)" -#: core/forms.py:324 exercises/models/comment.py:58 manager/models/set.py:61 +#: core/forms.py:326 exercises/models/comment.py:58 manager/models/set.py:61 #: manager/models/setting.py:114 nutrition/models/log.py:77 msgid "Comment" msgstr "Σχόλια" -#: core/forms.py:325 +#: core/forms.py:327 msgid "What do you want to say?" msgstr "Τί θέλετε να πείτε;" @@ -454,18 +453,18 @@ msgid "The sum of all hours has to be 24" msgstr "Το σύνολο όλων των ωρών θα πρέπει να είναι 24" #: core/models/rep_unit.py:36 core/models/weight_unit.py:36 -#: core/templates/user/overview.html:262 core/views/user.py:599 +#: core/templates/user/overview.html:280 core/views/user.py:598 #: exercises/models/category.py:29 exercises/models/equipment.py:29 #: exercises/models/exercise.py:59 exercises/models/muscle.py:36 #: gym/models/contract.py:52 gym/models/contract.py:103 gym/models/gym.py:46 #: gym/models/user_document.py:84 gym/templates/contract/view.html:50 -#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:96 +#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:108 #: gym/views/gym.py:158 manager/models/schedule.py:55 #: manager/models/workout.py:57 measurements/models/category.py:36 #: nutrition/models/ingredient.py:111 -#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:67 +#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:65 #: nutrition/models/weight_unit.py:38 -#: nutrition/templates/ingredient/view.html:152 +#: nutrition/templates/ingredient/view.html:151 msgid "Name" msgstr "Όνομα" @@ -514,7 +513,7 @@ msgstr "" msgid "Back to \"%(target)s\"" msgstr "Πίσω στο \"%(target)s\"" -#: core/templates/delete.html:15 +#: core/templates/delete.html:4 msgid "Are you sure you want to delete this? This action cannot be undone." msgstr "" "Θέλετε σίγουρα να διαγράψετε αυτό; Αυτή η ενέργεια δεν μπορεί να αναιρεθεί." @@ -572,7 +571,7 @@ msgstr "" msgid "Dashboard" msgstr "Πίνακας Ελέγχου" -#: core/templates/language/overview.html:4 core/templates/navigation.html:345 +#: core/templates/language/overview.html:4 core/templates/navigation.html:344 msgid "Languages" msgstr "Γλώσσες" @@ -582,81 +581,72 @@ msgstr "Δεν βρέθηκε τίποτα." #: core/templates/language/overview.html:22 #: manager/templates/calendar/month.html:132 -#: manager/templates/schedule/overview.html:28 -#: manager/templates/schedule/view.html:144 +#: manager/templates/schedule/view.html:107 #: manager/templates/workout/overview.html:28 #: nutrition/templates/ingredient/overview.html:38 msgid "Add one now." msgstr "Προσθήκη τώρα." -#: core/templates/language/overview.html:35 core/templates/license/list.html:40 -#: core/templates/misc/license/list.html:43 -#: core/templates/repetition_unit/list.html:43 -#: core/templates/user/overview.html:326 core/templates/user/overview.html:365 -#: core/templates/user/overview.html:401 -#: core/templates/weight_unit/list.html:43 core/views/languages.py:74 +#: core/templates/language/overview.html:34 core/templates/license/list.html:43 +#: core/templates/repetition_unit/list.html:46 +#: core/templates/user/overview.html:344 core/templates/user/overview.html:384 +#: core/templates/user/overview.html:422 +#: core/templates/weight_unit/list.html:46 core/views/languages.py:74 #: core/views/license.py:66 core/views/repetition_units.py:66 #: core/views/weight_units.py:66 -#: exercises/templates/categories/admin-overview.html:38 -#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:67 -#: gym/templates/contract/list.html:73 -#: gym/templates/contract_option/list.html:72 -#: gym/templates/contract_type/list.html:72 gym/templates/document/list.html:79 -#: gym/templates/gym/member_list.html:211 -#: gym/templates/gym/member_list.html:244 -#: gym/templates/gym/member_list.html:281 +#: exercises/templates/categories/admin-overview.html:40 +#: exercises/templates/equipment/admin-overview.html:39 +#: exercises/templates/muscles/admin-overview.html:40 +#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:64 +#: gym/templates/contract/list.html:69 +#: gym/templates/contract_option/list.html:65 +#: gym/templates/contract_type/list.html:66 gym/templates/document/list.html:78 +#: gym/templates/gym/member_list.html:228 +#: gym/templates/gym/member_list.html:264 +#: gym/templates/gym/member_list.html:303 #: mailer/templates/mailer/gym/overview.html:43 +#: nutrition/templates/ingredient/overview.html:60 msgid "Add" msgstr "Προσθήκη" #: core/templates/language/view.html:61 core/templates/user/api_key.html:44 -#: core/templates/user/preferences.html:45 gym/models/contract.py:203 -#: gym/templates/contract/view.html:41 gym/templates/contract/view.html:106 -#: gym/templates/gym/member_list.html:248 -#: manager/templates/schedule/view.html:285 -#: manager/templates/workout/view.html:163 -#: nutrition/templates/ingredient/view.html:202 +#: core/templates/user/preferences.html:50 gym/models/contract.py:203 +#: gym/templates/contract/view.html:41 gym/templates/gym/member_list.html:270 +#: manager/templates/schedule/view.html:257 +#: manager/templates/workout/view.html:177 +#: nutrition/templates/ingredient/view.html:206 msgid "Options" msgstr "Επιλογές" -#: core/templates/license/list.html:4 core/templates/misc/license/list.html:4 +#: core/templates/license/list.html:4 msgid "License list" msgstr "Λίστα αδειών" -#: core/templates/license/list.html:26 core/templates/misc/license/list.html:30 -#: core/templates/repetition_unit/list.html:28 +#: core/templates/license/list.html:30 +#: core/templates/repetition_unit/list.html:32 #: core/templates/user/overview.html:104 core/templates/user/overview.html:136 -#: core/templates/user/overview.html:185 core/templates/user/overview.html:347 -#: core/templates/user/overview.html:383 core/templates/user/overview.html:427 -#: core/templates/weight_unit/list.html:28 -#: exercises/templates/categories/admin-overview.html:26 -#: exercises/templates/equipment/admin-overview.html:26 -#: exercises/templates/muscles/admin-overview.html:26 -#: gym/templates/admin_notes/list.html:52 gym/templates/contract/list.html:60 -#: gym/templates/contract_option/list.html:58 -#: gym/templates/contract_type/list.html:58 gym/templates/document/list.html:64 -#: gym/templates/gym/list.html:29 gym/templates/gym/member_list.html:229 -#: gym/templates/gym/member_list.html:262 -#: gym/templates/gym/member_list.html:299 +#: core/templates/user/overview.html:185 core/templates/user/overview.html:365 +#: core/templates/user/overview.html:404 core/templates/user/overview.html:448 +#: core/templates/weight_unit/list.html:32 +#: exercises/templates/categories/admin-overview.html:30 +#: exercises/templates/equipment/admin-overview.html:30 +#: exercises/templates/muscles/admin-overview.html:29 +#: gym/templates/admin_notes/list.html:50 gym/templates/contract/list.html:57 +#: gym/templates/contract_option/list.html:52 +#: gym/templates/contract_type/list.html:53 gym/templates/document/list.html:64 +#: gym/templates/gym/list.html:32 gym/templates/gym/member_list.html:248 +#: gym/templates/gym/member_list.html:284 +#: gym/templates/gym/member_list.html:321 #: mailer/templates/mailer/gym/overview.html:30 -#: manager/templates/calendar/day.html:87 -#: nutrition/templates/units/list.html:29 +#: manager/templates/calendar/day.html:88 +#: nutrition/templates/units/list.html:34 msgid "Nothing found" msgstr "Δεν βρέθηκε τίποτα" -#: core/templates/misc/about.html:4 core/templates/template.html:175 +#: core/templates/misc/about.html:4 core/templates/template.html:187 msgid "Imprint" msgstr "Εκτύπωση" -#: core/templates/misc/license/list.html:47 -msgid "" -"If a license has been localized, e.g. the Creative Commons\n" -" licenses for the different countries, add them as separate " -"entries here." -msgstr "" -"Εάν μια άδεια έχει εντοπιστεί, π.χ. τις άδειες Creative Commons\n" -"για τις διάφορες χώρες, προσθέστε τις ως ξεχωριστές εγγραφές εδώ." - #: core/templates/navigation.html:28 software/templates/features.html:437 msgid "Training" msgstr "Εξάσκηση" @@ -703,8 +693,8 @@ msgstr "Δημόσια υποδείγματα" msgid "Exercises" msgstr "Ασκήσεις" -#: core/templates/navigation.html:111 core/templates/navigation.html:184 -#: core/templates/navigation.html:340 +#: core/templates/navigation.html:111 core/templates/navigation.html:185 +#: core/templates/navigation.html:339 msgid "Administration" msgstr "Διαχείριση" @@ -733,7 +723,7 @@ msgstr "Διατροφή" msgid "Nutrition plans" msgstr "Προγράμματα διατροφής" -#: core/templates/navigation.html:165 nutrition/templates/bmi/form.html:50 +#: core/templates/navigation.html:165 msgid "BMI calculator" msgstr "Υπολογιστής BMI" @@ -741,87 +731,87 @@ msgstr "Υπολογιστής BMI" msgid "Daily calories calculator" msgstr "Υπολογιστής ημερήσιων θερμίδων" -#: core/templates/navigation.html:179 +#: core/templates/navigation.html:180 #: nutrition/templates/ingredient/overview.html:10 msgid "Ingredient overview" msgstr "Επισκόπηση συστατικών" -#: core/templates/navigation.html:187 nutrition/templates/units/list.html:6 +#: core/templates/navigation.html:189 nutrition/templates/units/list.html:6 msgid "Ingredient weight units" msgstr "Μονάδες βάρους συστατικών" -#: core/templates/navigation.html:203 software/templates/features.html:442 +#: core/templates/navigation.html:205 software/templates/features.html:442 msgid "Body weight" msgstr "Σωματικό βάρος" -#: core/templates/navigation.html:210 core/templates/user/overview.html:114 +#: core/templates/navigation.html:212 core/templates/user/overview.html:114 msgid "Weight overview" msgstr "Επισκόπηση βάρους" -#: core/templates/navigation.html:217 weight/views.py:65 +#: core/templates/navigation.html:216 weight/views.py:65 msgid "Add weight entry" msgstr "Νέα εγγραφή βάρους" -#: core/templates/navigation.html:231 +#: core/templates/navigation.html:230 msgid "About this software" msgstr "Σχετικά" -#: core/templates/navigation.html:237 software/templates/about_us.html:5 +#: core/templates/navigation.html:236 software/templates/about_us.html:5 msgid "About us" msgstr "Σχετικά με μας" -#: core/templates/navigation.html:243 software/templates/features.html:507 +#: core/templates/navigation.html:242 software/templates/features.html:507 msgid "REST API" msgstr "REST API" -#: core/templates/navigation.html:249 utils/models.py:45 +#: core/templates/navigation.html:248 utils/models.py:45 msgid "License" msgstr "Άδεια" -#: core/templates/navigation.html:255 +#: core/templates/navigation.html:254 msgid "Developer documentation" msgstr "Τεκμηρίωση προγραμματιστή" -#: core/templates/navigation.html:262 +#: core/templates/navigation.html:261 msgid "Get the code" msgstr "Κατεβάστε τον κώδικα" -#: core/templates/navigation.html:269 core/templates/template.html:214 +#: core/templates/navigation.html:268 core/templates/template.html:226 #: software/templates/features.html:582 msgid "Translate" msgstr "Μετάφραση" -#: core/templates/navigation.html:303 core/templates/user/login.html:28 +#: core/templates/navigation.html:302 core/templates/user/login.html:28 msgid "Reset password" msgstr "Επαναφορά κωδικού" -#: core/templates/navigation.html:321 +#: core/templates/navigation.html:320 msgid "My preferences" msgstr "Οι προτιμήσεις μου" -#: core/templates/navigation.html:330 +#: core/templates/navigation.html:329 msgid "Logout" msgstr "Έξοδος" -#: core/templates/navigation.html:353 +#: core/templates/navigation.html:352 msgid "Licenses" msgstr "Άδειες" -#: core/templates/navigation.html:361 +#: core/templates/navigation.html:360 #: core/templates/repetition_unit/list.html:4 msgid "Repetition units" msgstr "Μονάδες επανάληψης" -#: core/templates/navigation.html:369 core/templates/weight_unit/list.html:4 +#: core/templates/navigation.html:368 core/templates/weight_unit/list.html:4 #: nutrition/templates/ingredient/view.html:141 msgid "Weight units" msgstr "Μονάδες βάρους" -#: core/templates/navigation.html:377 core/templates/user/list.html:4 +#: core/templates/navigation.html:376 core/templates/user/list.html:4 msgid "User list" msgstr "Λίστα χρήστη" -#: core/templates/navigation.html:383 +#: core/templates/navigation.html:382 msgid "Gyms" msgstr "Γυμναστήρια" @@ -887,57 +877,32 @@ msgstr "προηγούμενο" msgid "next" msgstr "επόμενο" -#: core/templates/tags/render_day.html:34 -msgid "Add weight log" -msgstr "Προσθέστε αρχείο καταγραφής βάρους" - -#: core/templates/tags/render_day.html:116 -msgid "Placeholder image for exercise" +#: core/templates/tags/render_day.html:44 +#, fuzzy +#| msgid "Placeholder image for exercise" +msgid "Placeholder image for translation" msgstr "Εικονίδιο placeholder για άσκηση" -#: core/templates/tags/render_day.html:133 -msgid "This exercise has no repetitions." -msgstr "Αυτή η άσκηση δεν έχει επαναλήψεις." - -#: core/templates/tags/render_day.html:136 -msgid "Edit them now." -msgstr "Επεξεργαστείτε τώρα." - -#: core/templates/tags/render_day.html:162 -msgid "Add exercises to this workout day" -msgstr "Προσθέστε ασκήσεις για την προπόνηση σε αυτήν την μέρα" - -#: core/templates/tags/render_weight_log.html:17 manager/helpers.py:86 -#: manager/models/setting.py:72 manager/templates/set/formset.html:9 -msgid "Reps" -msgstr "Επαναλήψεις" - -#: core/templates/tags/render_weight_log.html:30 manager/forms.py:191 -#: manager/models/log.py:103 manager/models/setting.py:102 -#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 -msgid "RiR" -msgstr "Απόθεμα Επαναλήψεων" - -#: core/templates/template.html:122 manager/templates/calendar/month.html:138 -#: manager/templates/schedule/view.html:248 -#: manager/templates/schedule/view.html:269 -#: manager/templates/workout/view.html:84 -#: manager/templates/workout/view.html:137 +#: core/templates/template.html:123 manager/templates/calendar/month.html:138 +#: manager/templates/schedule/view.html:215 +#: manager/templates/schedule/view.html:240 +#: manager/templates/workout/view.html:89 +#: manager/templates/workout/view.html:149 msgid "Close" msgstr "Κλείσιμο" -#: core/templates/template.html:138 +#: core/templates/template.html:139 msgid "" "You are using a guest account, data entered will be deleted after a week." msgstr "" "Χρησιμοποιείτε έναν λογαριασμό επισκέπτη. Τα δεδομένα που εισάγετε θα " "διαγραφούν σε μία εβδομάδα." -#: core/templates/template.html:143 +#: core/templates/template.html:144 msgid "Create some demo entries" msgstr "Δημιουργήστε μερικές δοκιμαστικές εγγραφές" -#: core/templates/template.html:180 software/templates/features.html:547 +#: core/templates/template.html:192 software/templates/features.html:547 #: software/templates/tos.html:7 msgid "Terms of service" msgstr "Όροι χρήσης" @@ -946,7 +911,7 @@ msgstr "Όροι χρήσης" msgid "Features" msgstr "Δυνατότητες" -#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:54 +#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:59 msgid "API key" msgstr "Κλειδί API" @@ -991,17 +956,17 @@ msgstr "Δημιουργία νέου API κλειδιού" msgid "Documentation" msgstr "Βιβλιογραφία" -#: core/templates/user/delete_account.html:4 -#: core/templates/user/preferences.html:59 +#: core/templates/user/delete_account.html:3 +#: core/templates/user/preferences.html:62 msgid "Delete account" msgstr "Διαγραφή λογαριασμού" -#: core/templates/user/delete_account.html:17 +#: core/templates/user/delete_account.html:9 #: exercises/templates/history/overview.html:93 msgid "Are you sure?" msgstr "Σίγουρα;" -#: core/templates/user/delete_account.html:22 +#: core/templates/user/delete_account.html:14 #, python-format msgid "" "This action will delete the user account \"%(username)s\".\n" @@ -1024,22 +989,22 @@ msgstr "Ξεχάσατε τον κωδικό σας;" #: core/templates/user/overview.html:25 core/templates/user/overview.html:68 #: core/templates/user/overview.html:112 core/templates/user/overview.html:144 -#: core/templates/user/overview.html:330 core/templates/user/overview.html:369 -#: core/templates/user/overview.html:405 +#: core/templates/user/overview.html:348 core/templates/user/overview.html:390 +#: core/templates/user/overview.html:426 #, python-format msgid "last %(number)s" msgstr "τελευταίο %(number)s" #: core/templates/user/overview.html:27 core/templates/user/overview.html:146 -#: core/templates/user/overview.html:325 core/templates/user/overview.html:364 -#: core/templates/user/overview.html:400 gym/templates/gym/member_list.html:210 -#: gym/templates/gym/member_list.html:243 -#: gym/templates/gym/member_list.html:280 +#: core/templates/user/overview.html:343 core/templates/user/overview.html:382 +#: core/templates/user/overview.html:421 gym/templates/gym/member_list.html:226 +#: gym/templates/gym/member_list.html:262 +#: gym/templates/gym/member_list.html:302 msgid "Overview" msgstr "Έπισκόπηση" #: core/templates/user/overview.html:28 -#: manager/templates/schedule/view.html:163 +#: manager/templates/schedule/view.html:125 #: manager/templates/workout/overview.html:39 manager/views/schedule_step.py:60 msgid "Add workout" msgstr "Νέα προπόνηση" @@ -1071,38 +1036,36 @@ msgstr "Περιγραφή" msgid "Number of logs (days)" msgstr "Αριθμός ιστορικών (ημέρες)" -#: core/templates/user/overview.html:37 core/views/user.py:600 +#: core/templates/user/overview.html:37 core/views/user.py:599 #: gym/templates/gym/email_inactive_members.html:4 gym/views/gym.py:158 msgid "Last activity" msgstr "Τελευταία δραστηριότητα" #: core/templates/user/overview.html:58 #: manager/templates/calendar/month.html:128 -#: manager/templates/schedule/view.html:144 #: manager/templates/workout/overview.html:28 msgid "No workouts found." msgstr "Δεν βρέθηκαν προπονήσεις." #: core/templates/user/overview.html:68 manager/forms.py:280 -#: manager/templates/workout/view.html:106 +#: manager/templates/workout/view.html:114 msgid "Log" msgstr "Ιστορικό" #: core/templates/user/overview.html:77 manager/models/session.py:83 -#: manager/templates/calendar/partial_overview_table.html:52 +#: manager/templates/calendar/partial_overview_table.html:54 msgid "General impression" msgstr "Γενική εικόνα" -#: core/templates/user/overview.html:78 core/templates/user/overview.html:369 +#: core/templates/user/overview.html:78 core/templates/user/overview.html:390 #: manager/models/session.py:73 -#: manager/templates/calendar/partial_overview_table.html:56 -#: manager/templates/workout/log.html:89 +#: manager/templates/calendar/partial_overview_table.html:58 msgid "Notes" msgstr "Σημειώσεις" #: core/templates/user/overview.html:79 #: exercises/templates/history/overview.html:30 -#: manager/templates/calendar/partial_overview_table.html:42 +#: manager/templates/calendar/partial_overview_table.html:44 msgid "Time" msgstr "Ώρα" @@ -1140,121 +1103,121 @@ msgstr "Λιπαρή ύλη" msgid "kcal" msgstr "kcal" -#: core/templates/user/overview.html:201 core/templates/user/overview.html:322 -#: core/templates/user/overview.html:361 core/templates/user/overview.html:397 -#: core/templates/user/overview.html:442 gym/templates/gym/list.html:42 -#: gym/templates/gym/member_list.html:84 gym/templates/gym/member_list.html:137 -#: gym/templates/gym/member_list.html:173 -#: gym/templates/gym/member_list.html:207 -#: gym/templates/gym/member_list.html:240 -#: gym/templates/gym/member_list.html:277 -#: manager/templates/schedule/view.html:100 +#: core/templates/user/overview.html:201 core/templates/user/overview.html:340 +#: core/templates/user/overview.html:379 core/templates/user/overview.html:418 +#: core/templates/user/overview.html:463 gym/templates/gym/list.html:45 +#: gym/templates/gym/member_list.html:91 gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:187 +#: gym/templates/gym/member_list.html:223 +#: gym/templates/gym/member_list.html:259 +#: gym/templates/gym/member_list.html:299 +#: manager/templates/schedule/view.html:54 msgid "Actions" msgstr "Ενέργειες" -#: core/templates/user/overview.html:207 +#: core/templates/user/overview.html:210 msgid "Deactivate user" msgstr "Απενεργοποίηση χρήστη" -#: core/templates/user/overview.html:209 +#: core/templates/user/overview.html:214 msgid "Activate user" msgstr "Ενεργοποίηση χρήστη" -#: core/templates/user/overview.html:211 +#: core/templates/user/overview.html:223 msgid "Reset user password" msgstr "Επαναφορά κωδικού πρόσβασης χρήστη" -#: core/templates/user/overview.html:214 gym/templates/gym/member_list.html:30 +#: core/templates/user/overview.html:227 gym/templates/gym/member_list.html:30 msgid "Roles" msgstr "Ρόλοι" -#: core/templates/user/overview.html:225 +#: core/templates/user/overview.html:243 msgid "Password reset confirmation" msgstr "Επιβεβαίωση αλλαγής κωδικού" -#: core/templates/user/overview.html:229 +#: core/templates/user/overview.html:247 msgid "Do you really want to change this user's password?" msgstr "Θέλετε πραγματικά να αλλάξετε τον κωδικό πρόσβασης αυτού του χρήστη;" -#: core/templates/user/overview.html:232 +#: core/templates/user/overview.html:250 #: exercises/templates/history/overview.html:106 msgid "No" msgstr "Οχι" -#: core/templates/user/overview.html:233 +#: core/templates/user/overview.html:251 #: exercises/templates/history/overview.html:99 msgid "Yes" msgstr "Ναι" -#: core/templates/user/overview.html:254 gym/templates/gym/member_list.html:93 +#: core/templates/user/overview.html:272 gym/templates/gym/member_list.html:105 msgid "Details" msgstr "Λεπτομέρειες" -#: core/templates/user/overview.html:258 gym/views/export.py:57 -#: manager/helpers.py:86 manager/templates/schedule/view.html:98 +#: core/templates/user/overview.html:276 gym/views/export.py:57 +#: manager/helpers.py:86 manager/templates/schedule/view.html:52 msgid "Nr." msgstr "Νο." -#: core/templates/user/overview.html:280 gym/models/contract.py:287 +#: core/templates/user/overview.html:298 gym/models/contract.py:287 #: gym/models/gym.py:50 gym/templates/contract/view.html:75 -#: gym/templates/gym/member_list.html:100 gym/views/export.py:68 +#: gym/templates/gym/member_list.html:112 gym/views/export.py:68 msgid "Phone" msgstr "Τηλέφωνο" -#: core/templates/user/overview.html:284 gym/templates/contract/view.html:87 -#: gym/templates/gym/member_list.html:118 +#: core/templates/user/overview.html:302 gym/templates/contract/view.html:87 +#: gym/templates/gym/member_list.html:130 msgid "Address" msgstr "Διεύθυνση" -#: core/templates/user/overview.html:295 +#: core/templates/user/overview.html:313 msgid "Registered" msgstr "Εγγεγραμμένοι" -#: core/templates/user/overview.html:299 +#: core/templates/user/overview.html:317 msgid "Last login" msgstr "Τελευταία είσοδος" -#: core/templates/user/overview.html:304 +#: core/templates/user/overview.html:322 msgid "Status" msgstr "Κατάσταση" -#: core/templates/user/overview.html:307 +#: core/templates/user/overview.html:325 msgid "Active" msgstr "Ενεργό" -#: core/templates/user/overview.html:309 +#: core/templates/user/overview.html:327 msgid "Inactive" msgstr "Ανενεργό" -#: core/templates/user/overview.html:330 gym/templates/contract/list.html:4 -#: gym/templates/gym/member_list.html:202 +#: core/templates/user/overview.html:348 gym/templates/contract/list.html:4 +#: gym/templates/gym/member_list.html:218 msgid "Contracts" msgstr "Συμβόλαια" -#: core/templates/user/overview.html:405 gym/templates/document/list.html:4 +#: core/templates/user/overview.html:426 gym/templates/document/list.html:4 msgid "Documents" msgstr "Έγγραφα" -#: core/templates/user/overview.html:412 gym/templates/document/list.html:32 -#: manager/forms.py:292 manager/templates/workout/view.html:132 +#: core/templates/user/overview.html:433 gym/templates/document/list.html:33 +#: manager/forms.py:292 manager/templates/workout/view.html:143 msgid "Download" msgstr "Μεταφόρτωση" -#: core/templates/user/overview.html:450 gym/views/admin_config.py:44 +#: core/templates/user/overview.html:474 gym/views/admin_config.py:44 #: gym/views/admin_config.py:58 gym/views/user_config.py:46 msgid "Configuration" msgstr "Παραμετροποίηση" -#: core/templates/user/overview.html:453 gym/models/user_config.py:92 +#: core/templates/user/overview.html:477 gym/models/user_config.py:92 msgid "Include in inactive overview" msgstr "Να συμπεριλαμβάνεται στην μη ενεργή επισκόπηση" -#: core/templates/user/overview.html:486 +#: core/templates/user/overview.html:510 #, python-format msgid "Admin login is only available for users in %(gym_name)s" msgstr "Η σύνδεση διαχειριστή είναι διαθέσιμη μόνο για χρήστες σε%(gym_name)s" -#: core/templates/user/overview.html:490 +#: core/templates/user/overview.html:514 msgid "Log in as this user" msgstr "Είσοδος ως αυτόν τον χρήστη" @@ -1274,19 +1237,19 @@ msgstr "Μη επαληθευμένο ηλεκτρονικό ταχυδρομε msgid "Send verification email" msgstr "Στείλτε μήνυμα ηλεκτρονικού ταχυδρομείου επαλήθευσης" -#: core/templates/user/preferences.html:30 +#: core/templates/user/preferences.html:31 msgid "You need to verify your email to contribute exercises" msgstr "Πρέπει να επαληθεύσετε το email σας για να συνεισφέρετε σε ασκήσεις" -#: core/templates/user/preferences.html:50 core/views/user.py:611 +#: core/templates/user/preferences.html:55 core/views/user.py:610 msgid "Change password" msgstr "Αλλάξτε κωδικό" -#: core/templatetags/wger_extras.py:205 i18n.tpl:37 +#: core/templatetags/wger_extras.py:197 i18n.tpl:37 msgid "kg" msgstr "kg" -#: core/templatetags/wger_extras.py:207 +#: core/templatetags/wger_extras.py:199 #: nutrition/templates/ingredient/view.html:60 #: nutrition/templates/ingredient/view.html:66 #: nutrition/templates/ingredient/view.html:73 @@ -1298,11 +1261,11 @@ msgctxt "weight unit, i.e. grams" msgid "g" msgstr "γρ" -#: core/templatetags/wger_extras.py:210 i18n.tpl:38 +#: core/templatetags/wger_extras.py:202 i18n.tpl:38 msgid "lb" msgstr "lb" -#: core/templatetags/wger_extras.py:212 +#: core/templatetags/wger_extras.py:204 msgctxt "weight unit, i.e. ounces" msgid "oz" msgstr "oz" @@ -1329,13 +1292,13 @@ msgid "Delete {0}?" msgstr "Διαγραφή {0};" #: core/views/languages.py:111 core/views/license.py:85 -#: core/views/repetition_units.py:86 core/views/user.py:474 +#: core/views/repetition_units.py:86 core/views/user.py:473 #: core/views/weight_units.py:86 exercises/views/categories.py:98 #: exercises/views/equipment.py:81 exercises/views/muscles.py:87 #: gym/views/admin_notes.py:161 gym/views/config.py:68 #: gym/views/contract.py:186 gym/views/contract_option.py:123 #: gym/views/contract_type.py:123 gym/views/document.py:171 -#: gym/views/gym.py:463 manager/views/day.py:100 manager/views/schedule.py:333 +#: gym/views/gym.py:463 manager/views/day.py:96 manager/views/schedule.py:333 #: manager/views/workout.py:267 nutrition/views/ingredient.py:145 #: nutrition/views/unit.py:143 #, python-brace-format @@ -1365,48 +1328,48 @@ msgstr "Υποβολή" msgid "Your feedback was successfully sent. Thank you!" msgstr "Η αναπληροφόρηση σας αποστάλθηκε με επιτυχία. Ευχαριστούμε!" -#: core/views/user.py:156 +#: core/views/user.py:155 #, python-brace-format msgid "Account \"{0}\" was successfully deleted" msgstr "Ο λογαριασμός \"{0}\" διαγράφηκε με επιτυχία" -#: core/views/user.py:292 +#: core/views/user.py:291 msgid "You were successfully registered" msgstr "Εγγραφήκατε με επιτυχία" -#: core/views/user.py:351 +#: core/views/user.py:350 msgid "Settings successfully updated" msgstr "Οι ρυθμίσεις ανανεώθηκαν με επιτυχία" -#: core/views/user.py:390 +#: core/views/user.py:389 msgid "The user was successfully deactivated" msgstr "Ο χρήστης απενεργοποιήθηκε με επιτυχία" -#: core/views/user.py:427 +#: core/views/user.py:426 msgid "The user was successfully activated" msgstr "Ο χρήστης ενεργοποιήθηκε με επιτυχία" -#: core/views/user.py:442 +#: core/views/user.py:441 msgid "Edit user" msgstr "Επεξεργασία χρήστη" -#: core/views/user.py:597 gym/templates/gym/member_list.html:26 +#: core/views/user.py:596 gym/templates/gym/member_list.html:26 #: gym/views/gym.py:158 msgid "ID" msgstr "ID" -#: core/views/user.py:598 gym/forms.py:95 gym/templates/contract/view.html:55 +#: core/views/user.py:597 gym/forms.py:95 gym/templates/contract/view.html:55 #: gym/templates/gym/member_list.html:27 gym/views/export.py:59 #: gym/views/gym.py:158 gym/views/gym.py:217 msgid "Username" msgstr "Όνομα χρήστη" -#: core/views/user.py:601 gym/templates/gym/new_user.html:34 +#: core/views/user.py:600 gym/templates/gym/new_user.html:34 #: gym/views/export.py:58 gym/views/gym.py:217 msgid "Gym" msgstr "Γυμναστήριο" -#: core/views/user.py:660 +#: core/views/user.py:659 #, python-format msgid "A verification email was sent to %(email)s" msgstr "Ένα μήνυμα ηλεκτρονικού ταχυδρομείου επαλήθευσης εστάλη στον%(email)s" @@ -1559,11 +1522,6 @@ msgstr "Codec, μακρύ όνομα" msgid "Equipment list" msgstr "Λίστα οργάνων" -#: exercises/templates/equipment/admin-overview.html:39 -#: exercises/views/equipment.py:92 -msgid "Add new equipment" -msgstr "Νέο όργανο" - #: exercises/templates/history/overview.html:11 msgid "Exercise admin history" msgstr "Άσκηση ιστορικό διαχειριστή" @@ -1611,11 +1569,6 @@ msgstr "Αναίρεση αλλαγών" msgid "Muscle overview" msgstr "Επισκόπηση μυών" -#: exercises/templates/muscles/admin-overview.html:38 -#: exercises/views/muscles.py:68 -msgid "Add muscle" -msgstr "Νέος μύς" - #: exercises/views/categories.py:72 msgid "Add category" msgstr "Νέα κατηγορία" @@ -1625,6 +1578,10 @@ msgid "This will also delete all exercises in this category." msgstr "" "Αυτή η λειτουργία θα διαγράψει όλες τις ασκήσεις σε αυτήν την κατηγορία." +#: exercises/views/equipment.py:92 +msgid "Add new equipment" +msgstr "Νέο όργανο" + #: exercises/views/equipment.py:104 exercises/views/equipment.py:115 msgid "Delete equipment?" msgstr "Διαγραφή εξοπλισμού;" @@ -1633,6 +1590,10 @@ msgstr "Διαγραφή εξοπλισμού;" msgid "This will delete the exercise from all workouts." msgstr "Αυτή η λειτουργία θα διαγράψει την άσκηση απο όλες τις προπονήσεις." +#: exercises/views/muscles.py:68 +msgid "Add muscle" +msgstr "Νέος μύς" + #: gallery/templates/images/overview.html:62 msgid "Add image" msgstr "Προσθέστε εικόνα" @@ -1721,7 +1682,7 @@ msgid "Contract is active" msgstr "Το συμβόλαιο είναι ενεργό" #: gym/models/contract.py:237 gym/templates/contract/view.html:69 -#: manager/models/schedule.py:61 manager/templates/schedule/view.html:67 +#: manager/models/schedule.py:61 manager/templates/schedule/view.html:21 msgid "Start date" msgstr "Ημερομηνία έναρξης" @@ -1757,7 +1718,7 @@ msgstr "Διαχειριστής: μπορεί να διαχειριστεί τ msgid "Admin: can administrate the different gyms" msgstr "Διαχειριστής: μπορεί να διαχειρίζεται τα διάφορα γυμναστήρια" -#: gym/models/gym.py:65 gym/templates/gym/member_list.html:114 +#: gym/models/gym.py:65 gym/templates/gym/member_list.html:126 msgid "Owner" msgstr "Κάτοχος" @@ -1768,7 +1729,7 @@ msgid "" msgstr "" "Αριθμός εβδομάδων που κάποιος χρήστης συνδέθηκε ώστε να θεωρηθεί ανενεργός" -#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:152 +#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:166 msgid "Show name in header" msgstr "Εμφάνιση ονόματος στην επικεφαλίδα" @@ -1782,7 +1743,7 @@ msgstr "Εμφάνιση του ονόματος του γυμναστηρίου msgid "Configuration for {self.gym.name}" msgstr "Παραμετροποίηση για {}" -#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:184 +#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:200 msgid "Overview of inactive members" msgstr "Επισκόπηση των ανενεργών μελών" @@ -1806,7 +1767,7 @@ msgstr "Χρήση του ονόματος αρχείου αν δεν παρασ msgid "User notes" msgstr "Σημειώσεις χρήστη" -#: gym/templates/contract/list.html:36 +#: gym/templates/contract/list.html:34 msgid "Show" msgstr "Εμφάνιση" @@ -1834,11 +1795,11 @@ msgstr "" msgid "Gym list" msgstr "Λίστα γυμναστηρίων" -#: gym/templates/gym/list.html:50 +#: gym/templates/gym/list.html:53 msgid "Global gym configuration" msgstr "Καθολική παραμετροποίηση γυμναστηρίου" -#: gym/templates/gym/list.html:67 gym/views/gym.py:171 +#: gym/templates/gym/list.html:69 gym/views/gym.py:171 msgid "Add new gym" msgstr "Νέο γυμναστήριο" @@ -1850,43 +1811,43 @@ msgstr "Διαχειριστές και γυμναστές" msgid "Gym manager" msgstr "Διευθυντής γυμναστηρίου" -#: gym/templates/gym/member_list.html:69 +#: gym/templates/gym/member_list.html:76 msgid "This gym has no administrators or trainers" msgstr "Αυτό το γυμναστήριο δεν έχει διαχειριστές ή προπονητές" -#: gym/templates/gym/member_list.html:88 +#: gym/templates/gym/member_list.html:98 msgid "Export" msgstr "Εξαγωγή" -#: gym/templates/gym/member_list.html:125 +#: gym/templates/gym/member_list.html:137 msgid "Members" msgstr "Μέλη" -#: gym/templates/gym/member_list.html:145 +#: gym/templates/gym/member_list.html:159 msgid "Gym configuration" msgstr "Παραμετροποίηση γυμναστηρίου" -#: gym/templates/gym/member_list.html:148 +#: gym/templates/gym/member_list.html:162 msgid "Inactive members" msgstr "Ανενεργά μέλη" -#: gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:163 msgid "weeks" msgstr "εβδομάδες" -#: gym/templates/gym/member_list.html:181 +#: gym/templates/gym/member_list.html:197 msgid "My configuration" msgstr "Οι ρυθμίσεις μου" -#: gym/templates/gym/member_list.html:215 +#: gym/templates/gym/member_list.html:234 msgid "Types" msgstr "Είδη" -#: gym/templates/gym/member_list.html:285 +#: gym/templates/gym/member_list.html:307 msgid "Emails" msgstr "Μηνύματα ηλεκτρονικού ταχυδρομείου" -#: gym/templates/gym/member_list.html:315 +#: gym/templates/gym/member_list.html:336 msgid "Add member" msgstr "Νέο μέλος" @@ -2185,28 +2146,38 @@ msgstr "Αναζητήστε επίσης ονόματα στα αγγλικά" msgid "Unit" msgstr "Μονάδα" +#: manager/forms.py:191 manager/models/log.py:103 manager/models/setting.py:102 +#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 +msgid "RiR" +msgstr "Απόθεμα Επαναλήψεων" + #: manager/forms.py:279 msgid "Type" msgstr "Είδος" -#: manager/forms.py:280 manager/templates/workout/view.html:113 +#: manager/forms.py:280 manager/templates/workout/view.html:122 msgid "Table" msgstr "Πίνακας" -#: manager/forms.py:282 manager/templates/workout/view.html:119 +#: manager/forms.py:282 manager/templates/workout/view.html:129 msgid "with images" msgstr "με εικόνες" -#: manager/forms.py:283 manager/templates/workout/view.html:125 +#: manager/forms.py:283 manager/templates/workout/view.html:136 msgid "with comments" msgstr "με σχόλια" +#: manager/helpers.py:86 manager/models/setting.py:72 +#: manager/templates/set/formset.html:9 +msgid "Reps" +msgstr "Επαναλήψεις" + #: manager/management/commands/email-reminders.py:121 msgid "Workout will expire soon" msgstr "Η προπόνηση θα λήξει σε λίγο" #: manager/models/day.py:34 manager/models/log.py:58 -#: manager/models/session.py:60 manager/templates/schedule/view.html:102 +#: manager/models/session.py:60 manager/templates/schedule/view.html:56 #: manager/templates/workout/view.html:9 manager/templates/workout/view.html:17 #: manager/views/pdf.py:85 manager/views/pdf.py:161 #: manager/views/schedule.py:151 manager/views/schedule.py:221 @@ -2231,7 +2202,7 @@ msgstr "" "Ονομασία ή μικρή περιγραφή του προγράμματος. Για παράδειγμα \"Πρόγραμμα " "XYZ\"." -#: manager/models/schedule.py:65 manager/templates/schedule/view.html:71 +#: manager/models/schedule.py:65 manager/templates/schedule/view.html:25 msgid "Schedule active" msgstr "Πρόγραμμα ενεργό" @@ -2245,7 +2216,7 @@ msgstr "" "(θα εμφανίζεται π.χ. στον πίνακα ελέγχου). Όλα τα υπόλοιπα προγράμματα θα " "χαρακτηριστούν ώς μή ενεργά μετά" -#: manager/models/schedule.py:77 manager/templates/schedule/view.html:81 +#: manager/models/schedule.py:77 manager/templates/schedule/view.html:35 msgid "Is a loop" msgstr "Είναι μία επανάληψη" @@ -2266,7 +2237,7 @@ msgid "The duration in weeks" msgstr "Η διάρκεια σε εβδομάδες" #: manager/models/schedule_step.py:64 manager/models/set.py:53 -#: manager/models/setting.py:113 nutrition/models/meal.py:55 +#: manager/models/setting.py:113 nutrition/models/meal.py:53 #: nutrition/models/meal_item.py:66 msgid "Order" msgstr "Διάταξη" @@ -2411,7 +2382,7 @@ msgstr "Επισκόπηση ιστορικού" msgid "Workout session" msgstr "Συνεδρία προπόνησης" -#: manager/templates/calendar/partial_overview_table.html:27 +#: manager/templates/calendar/partial_overview_table.html:26 msgid "Delete with logs" msgstr "Διαγραφή με αρχεία καταγραφής" @@ -2435,21 +2406,27 @@ msgstr "" "υπάρχει τότε απλά θα την επεξεργαστείτε. Οι εγγραφές βάρους πάντα " "προστίθενται." -#: manager/templates/schedule/overview.html:5 +#: manager/templates/schedule/overview.html:4 msgid "Your schedules" msgstr "Τα προγράμματα σας" #: manager/templates/schedule/overview.html:19 -#: manager/templates/schedule/view.html:131 -#: manager/templates/schedule/view.html:183 +#: manager/templates/schedule/view.html:96 +#: manager/templates/schedule/view.html:146 #: manager/templates/workout/overview.html:16 msgid "active" msgstr "ενεργό" -#: manager/templates/schedule/overview.html:28 +#: manager/templates/schedule/overview.html:27 msgid "No schedules found." msgstr "Δεν βρέθηκαν προγράμματα." +#: manager/templates/schedule/overview.html:28 +#, fuzzy +#| msgid "Add one now." +msgid "Add one now" +msgstr "Προσθήκη τώρα." + #: manager/templates/schedule/overview.html:36 msgid "" "Schedules are collections of workouts that you do in\n" @@ -2459,12 +2436,20 @@ msgstr "" "\tδιαδοχικά." #: manager/templates/schedule/overview.html:39 +#, fuzzy +#| msgid "" +#| "You can indicate how long you want to do each workout\n" +#| " before jumping to the next. It is also possible to create a loop, " +#| "so you\n" +#| " always do the same workouts in succession, e.g. A > B > C > A > B " +#| "> C and so on." msgid "" "You can indicate how long you want to do each workout\n" " before jumping to the next. It is also possible to create a loop, so " "you\n" " always do the same workouts in succession, e.g. A > B > C > A > B > " -"C and so on." +"C and so\n" +" on." msgstr "" "Μπορείτε να υποδείξετε, πόσο θέλετε να κάνετε κάθε προπόνηση\n" "\tπριν μεταπηδήσετε στην επόμενη. Είναι δυνατό να δημιουργηθεί ένας βρόγχος, " @@ -2472,7 +2457,7 @@ msgstr "" "\tνα κάνετε πάντα τις ίδιες προπονήσεις διαδοχικά, π.χ. Α > Β > Γ >Α>Β>Γ κ.ο." "κ." -#: manager/templates/schedule/overview.html:43 +#: manager/templates/schedule/overview.html:44 msgid "" "The currently active schedule will remain active (and be\n" " shown e.g. in your dashboard) till it reaches the last workout or " @@ -2492,7 +2477,7 @@ msgstr "Νέο πρόγραμμα" msgid "Schedule" msgstr "Πρόγραμμα" -#: manager/templates/schedule/view.html:85 +#: manager/templates/schedule/view.html:39 msgid "" "This schedule is a loop and will go through the workouts above till you " "deactivate it" @@ -2500,19 +2485,15 @@ msgstr "" "Αυτό το πρόγραμμα είναι σε βρόγχο και θα περάσει απο όλες τις προπονήσεις " "μέχρι να το απενεργοποιήσετε" -#: manager/templates/schedule/view.html:103 +#: manager/templates/schedule/view.html:57 msgid "Weeks" msgstr "Εβδομάδες" -#: manager/templates/schedule/view.html:115 -msgid "Move me" -msgstr "Μετακίνησε με" - -#: manager/templates/schedule/view.html:156 +#: manager/templates/schedule/view.html:121 msgid "Start schedule" msgstr "Έναρξη προγράμματος" -#: manager/templates/schedule/view.html:187 +#: manager/templates/schedule/view.html:150 #, python-format msgid "" "%(weeks)s Week\n" @@ -2527,11 +2508,11 @@ msgstr[1] "" "%(weeks)s Εβδομάδες\n" " " -#: manager/templates/schedule/view.html:221 +#: manager/templates/schedule/view.html:184 msgid "Adding workouts" msgstr "Πρόσθεση προπονήσεων" -#: manager/templates/schedule/view.html:223 +#: manager/templates/schedule/view.html:186 msgid "" "Add as many workouts to the schedule as you want. You can\n" " edit the order by dragging and dropping them. It's also possible " @@ -2543,48 +2524,48 @@ msgstr "" "επίσης δυνατό να προσθέσετε μία προπόνηση περισσοτερο\n" "\tαπό μία φορά." -#: manager/templates/schedule/view.html:232 -#: manager/templates/schedule/view.html:243 -#: manager/templates/schedule/view.html:290 +#: manager/templates/schedule/view.html:195 +#: manager/templates/schedule/view.html:209 +#: manager/templates/schedule/view.html:263 #: manager/templates/workout/view.html:69 -#: manager/templates/workout/view.html:79 -#: manager/templates/workout/view.html:178 +#: manager/templates/workout/view.html:83 +#: manager/templates/workout/view.html:192 msgid "Export calendar file" msgstr "Εξαγωγή αρχείου ημερολογίου" -#: manager/templates/schedule/view.html:236 +#: manager/templates/schedule/view.html:201 msgid "Export this schedule as a calendar file." msgstr "Εξαγωγή του προγράμματος ως αρχείο ημερολογίου." -#: manager/templates/schedule/view.html:237 -#: manager/templates/workout/view.html:74 +#: manager/templates/schedule/view.html:202 +#: manager/templates/workout/view.html:76 +#, fuzzy +#| msgid "" +#| "You can then import the file it into your calendar\n" +#| " application for example google calendar, outlook " +#| "or iCal. This will create\n" +#| " an appointment for each training day with the " +#| "appropriate exercises." msgid "" "You can then import the file it into your calendar\n" " application for example google calendar, outlook or " "iCal. This will create\n" " an appointment for each training day with the " -"appropriate exercises." +"appropriate\n" +" exercises." msgstr "" "Στη συνέχεια, μπορείτε να εισαγάγετε το αρχείο στην εφαρμογή\n" "\tημερολογίου για παράδειγμα ημερολόγιο google, outlook ή iCal. Αυτό θα " "δημιουργήσει\n" "\tραντεβού για κάθε προπονητική μέρα με τις κατάλληλες ασκήσεις." -#: manager/templates/schedule/view.html:258 -#: manager/templates/schedule/view.html:294 -#: manager/templates/workout/view.html:94 -#: manager/templates/workout/view.html:174 +#: manager/templates/schedule/view.html:225 +#: manager/templates/schedule/view.html:268 +#: manager/templates/workout/view.html:99 +#: manager/templates/workout/view.html:188 msgid "Download as PDF" msgstr "Αποθήκευση ώς PDF" -#: manager/templates/schedule/view.html:299 -msgid "Edit schedule" -msgstr "Επεξεργασία προγράμματος" - -#: manager/templates/schedule/view.html:304 -msgid "Delete schedule" -msgstr "Διαγραφή προγράμματος" - #: manager/templates/set/add.html:9 #, python-format msgid "Add exercises to day \"%(day_name)s\"" @@ -2667,58 +2648,6 @@ msgstr "" "Θα λαμβάνετε τακτικά τέτοιες υπενθυμίσεις μέχρι να εισαγάγετε το τρέχον " "βάρος σας." -#: manager/templates/workout/log.html:10 manager/templates/workout/log.html:11 -msgid "Weight log" -msgstr "Εγγραφή βάρους" - -#: manager/templates/workout/log.html:29 -msgid "Weight log for workout" -msgstr "Εγγραφή βάρους για προπόνηση" - -#: manager/templates/workout/log.html:49 -msgid "Add weight log to this day" -msgstr "Προσθέστε νέα εγγραφή βάρους για αυτήν την μέρα" - -#: manager/templates/workout/log.html:69 -msgid "No weight entries here." -msgstr "Δεν υπάρχουν εγγραφές βάρους εδώ." - -#: manager/templates/workout/log.html:77 -msgid "No exercises for this day." -msgstr "Δεν υπάρχουν ασκήσεις για αυτήν την μέρα." - -#: manager/templates/workout/log.html:90 -msgid "" -"This page shows the weight logs belonging to this workout\n" -"only. Click on an exercise to see all the historical data for\n" -"it." -msgstr "" -"Αυτή η σελίδα εμφανίζει τις καταγραφές βάρους που ανήκουν σε αυτήν την " -"προπόνηση\n" -"μόνο. Επιλέξτε μια άσκηση για να δείτε τα ιστορικά δεδομένα για\n" -"αυτήν." - -#: manager/templates/workout/log.html:94 -msgid "" -"If on a single day there is more than one entry with the\n" -"same number of repetitions, but different weights, only the entry with the\n" -"higher weight is shown in the diagram." -msgstr "" -"Αν σε μια μέρα υπάρχουν περισσότερες απο μία εγγραφές με τους \n" -"ίδιους αριθμούς επαναλήψεων, αλλα διαφορετικών βαρών, μόνο η \n" -"εγγραφή με το μεγαλύτερο βάρος θα εμφανιστεί στο διάγραμμα." - -#: manager/templates/workout/log.html:98 -msgid "" -"Note that only entries with a weight unit (kg or lb) and\n" -"repetitions are charted, other combinations such as time or until failure\n" -"are ignored here." -msgstr "" -"Σημειώστε ότι μόνο καταχωρήσεις με μονάδα βάρους (kg ή lb) και\n" -"επαναλήψεις καταγράφονται σε διάγραμμα , άλλοι συνδυασμοί όπως χρόνος ή " -"μέχρι αποτυχίας\n" -"αγνοούνται εδώ." - #: manager/templates/workout/overview.html:25 msgid "No templates found." msgstr "Δεν βρέθηκαν υποδείγματα." @@ -2756,27 +2685,23 @@ msgstr "Προσθήκη σετ προπονήσεων στις μέρες" msgid "Set the repetitions for each set" msgstr "Ρύθμιση των επαναλήψεων για κάθε σετ" -#: manager/templates/workout/view.html:73 +#: manager/templates/workout/view.html:75 msgid "Export this workout as a calendar file." msgstr "Εξαγωγή αυτής της προπόνησης σε αρχείο ημερολογίου." -#: manager/templates/workout/view.html:144 +#: manager/templates/workout/view.html:156 msgid "Logs" msgstr "Καταγραφές" -#: manager/templates/workout/view.html:146 +#: manager/templates/workout/view.html:159 msgid "View logs" msgstr "Προβολή αρχείων καταγραφής" -#: manager/templates/workout/view.html:169 manager/views/schedule_step.py:99 -msgid "Edit workout" -msgstr "Επεξεργασία προπόνησης" - -#: manager/templates/workout/view.html:182 manager/views/workout.py:281 +#: manager/templates/workout/view.html:195 manager/views/workout.py:281 msgid "Mark as template" msgstr "Σημειώστε ως υπόδειγμα" -#: manager/views/day.py:109 +#: manager/views/day.py:105 msgid "Add workout day" msgstr "Προσθήκη ημέρας προπόνησης" @@ -2793,6 +2718,10 @@ msgstr "Προπόνηση για %s" msgid "Create schedule" msgstr "Δημιουργία προγράμματος" +#: manager/views/schedule_step.py:99 +msgid "Edit workout" +msgstr "Επεξεργασία προπόνησης" + #: manager/views/workout.py:209 msgid "Copy workout" msgstr "Αντιγραφή προπόνησης" @@ -2917,7 +2846,7 @@ msgstr "Ποσότητα σε γραμμάρια" msgid "Unit amount, e.g. \"1 Cup\" or \"1/2 spoon\"" msgstr "Μονάδα ποσότητας, π.χ. \"1 Φλιτζάνι\" ή \"1/2 κουτάλι\"" -#: nutrition/models/log.py:52 nutrition/models/meal.py:50 +#: nutrition/models/log.py:52 nutrition/models/meal.py:48 #: nutrition/models/meal_item.py:48 nutrition/models/plan.py:108 msgid "Nutrition plan" msgstr "Πρόγραμμα διατροφής" @@ -2930,11 +2859,11 @@ msgstr "Γεύμα" msgid "Date and Time (Approx.)" msgstr "Ημερομηνία και ώρα (περίπου)" -#: nutrition/models/meal.py:62 +#: nutrition/models/meal.py:60 msgid "Time (approx)" msgstr "Ώρα (περίπου)" -#: nutrition/models/meal.py:69 +#: nutrition/models/meal.py:67 msgid "" "Give meals a textual description / name such as \"Breakfast\" or \"after " "workout\"" @@ -2963,63 +2892,6 @@ msgstr "" "θερμίδων. Μπορείτε να χρησιμοποιήσετε τον υπολογιστή για να πληκτρολογήσετε " "την τιμή εσείς." -#: nutrition/templates/bmi/form.html:62 -msgid "Results" -msgstr "Αποτελέσματα" - -#: nutrition/templates/bmi/form.html:63 -msgid "Your BMI is: " -msgstr "Το BMI σας είναι: " - -#: nutrition/templates/bmi/form.html:71 -msgid "Legend" -msgstr "Υπόμνημα" - -#: nutrition/templates/bmi/form.html:75 -msgid "Adipositas III" -msgstr "Υπέρβαρο III" - -#: nutrition/templates/bmi/form.html:79 -msgid "Adipositas II" -msgstr "Υπέρβαρο II" - -#: nutrition/templates/bmi/form.html:83 -msgid "Adipositas I" -msgstr "Υπέρβαρο I" - -#: nutrition/templates/bmi/form.html:87 -msgid "Overweight" -msgstr "Υπέρβαρο" - -#: nutrition/templates/bmi/form.html:91 -msgid "Normal weight" -msgstr "Κανονικό βάρος" - -#: nutrition/templates/bmi/form.html:95 -msgid "Slight underweight" -msgstr "Ελάχιστα υπόβαρο" - -#: nutrition/templates/bmi/form.html:99 -msgid "Moderate underweight" -msgstr "Μέτριο υπόβαρο" - -#: nutrition/templates/bmi/form.html:103 -msgid "Strong underweight" -msgstr "Πολύ υπόβαρο" - -#: nutrition/templates/bmi/form.html:117 -msgid "" -"Use the form to calculate your BMI (Body Mass Index).\n" -"If you have entered data in the weight section, the last entry will\n" -"be used automatically. Otherwise the weight you enter here will be saved\n" -"in a new entry." -msgstr "" -"Χρησιμοποιήστε την φόρμα για να υπολογίσετε το BMI σας (Δείκτη Μάζας " -"Σώματος).\n" -"Αν έχετε εισάγει δεδομένα στην ενότητα βάρους, η τελευταία σας ενημέρωση θα\n" -"χρησιμοποιηθεί αυτόματα. Ειδάλλως το βάρος που εισάγετε εδώ θα αποθηκευτεί\n" -"ως νέα καταχώρηση." - #: nutrition/templates/ingredient/email_new.tpl:1 #, python-format msgid "" @@ -3079,10 +2951,6 @@ msgstr "Δεν υπάρχουν συστατικά." msgid "Search" msgstr "Εύρεση" -#: nutrition/templates/ingredient/overview.html:62 -msgid "Add ingredient" -msgstr "Προσθήκη συστατικών" - #: nutrition/templates/ingredient/view.html:45 nutrition/views/plan.py:229 msgid "Macronutrients" msgstr "Θρεπτικά στοιχεία" @@ -3102,20 +2970,11 @@ msgstr "Μη διαθέσιμο" msgid "Others" msgstr "Άλλα" -#: nutrition/templates/ingredient/view.html:144 -#: nutrition/templates/units/list.html:46 nutrition/views/unit.py:86 +#: nutrition/templates/ingredient/view.html:143 +#: nutrition/templates/units/list.html:50 nutrition/views/unit.py:86 msgid "Add new weight unit" msgstr "Προσθήκη νέας μονάδας βάρους" -#: nutrition/templates/ingredient/view.html:206 -#: nutrition/templates/ingredient/view.html:209 -msgid "Edit ingredient" -msgstr "Επεξεργασία συστατικού" - -#: nutrition/templates/ingredient/view.html:213 -msgid "Delete ingredient" -msgstr "Διαγραφή συστατικού" - #: nutrition/templates/rate/form.html:25 msgid "Basal metabolic rate" msgstr "Βασικός μεταβολικός ρυθμός" @@ -3207,18 +3066,6 @@ msgstr "" "τον εαυτό σας τις προσεχείς εβδομάδες και αλλάξτε την συνολική ποσότητα αν " "απαιτείται." -#: nutrition/views/bmi.py:89 -msgid "Please make sure your height is within the appropriate range." -msgstr "Βεβαιωθείτε ότι το ύψος σας είναι εντός του κατάλληλου εύρους." - -#: nutrition/views/bmi.py:92 -msgid "140 to 230" -msgstr "Από 140 έως 230" - -#: nutrition/views/bmi.py:94 -msgid "56 to 90" -msgstr "Από 56 εώς 90" - #: nutrition/views/ingredient.py:157 msgid "Add a new ingredient" msgstr "Προσθήκη νέου συστατικού" @@ -3783,6 +3630,146 @@ msgstr "Διαγράφηκε με επιτυχία." msgid "Delete weight entry for the %s" msgstr "Διαγραφή καταχώρισης βάρους για το %s" +#~ msgid "Move me" +#~ msgstr "Μετακίνησε με" + +#~ msgid "Results" +#~ msgstr "Αποτελέσματα" + +#~ msgid "Your BMI is: " +#~ msgstr "Το BMI σας είναι: " + +#~ msgid "Legend" +#~ msgstr "Υπόμνημα" + +#~ msgid "Adipositas III" +#~ msgstr "Υπέρβαρο III" + +#~ msgid "Adipositas II" +#~ msgstr "Υπέρβαρο II" + +#~ msgid "Adipositas I" +#~ msgstr "Υπέρβαρο I" + +#~ msgid "Overweight" +#~ msgstr "Υπέρβαρο" + +#~ msgid "Normal weight" +#~ msgstr "Κανονικό βάρος" + +#~ msgid "Slight underweight" +#~ msgstr "Ελάχιστα υπόβαρο" + +#~ msgid "Moderate underweight" +#~ msgstr "Μέτριο υπόβαρο" + +#~ msgid "Strong underweight" +#~ msgstr "Πολύ υπόβαρο" + +#~ msgid "" +#~ "Use the form to calculate your BMI (Body Mass Index).\n" +#~ "If you have entered data in the weight section, the last entry will\n" +#~ "be used automatically. Otherwise the weight you enter here will be saved\n" +#~ "in a new entry." +#~ msgstr "" +#~ "Χρησιμοποιήστε την φόρμα για να υπολογίσετε το BMI σας (Δείκτη Μάζας " +#~ "Σώματος).\n" +#~ "Αν έχετε εισάγει δεδομένα στην ενότητα βάρους, η τελευταία σας ενημέρωση " +#~ "θα\n" +#~ "χρησιμοποιηθεί αυτόματα. Ειδάλλως το βάρος που εισάγετε εδώ θα " +#~ "αποθηκευτεί\n" +#~ "ως νέα καταχώρηση." + +#~ msgid "Please make sure your height is within the appropriate range." +#~ msgstr "Βεβαιωθείτε ότι το ύψος σας είναι εντός του κατάλληλου εύρους." + +#~ msgid "140 to 230" +#~ msgstr "Από 140 έως 230" + +#~ msgid "56 to 90" +#~ msgstr "Από 56 εώς 90" + +#~ msgid "" +#~ "If a license has been localized, e.g. the Creative Commons\n" +#~ " licenses for the different countries, add them as separate " +#~ "entries here." +#~ msgstr "" +#~ "Εάν μια άδεια έχει εντοπιστεί, π.χ. τις άδειες Creative Commons\n" +#~ "για τις διάφορες χώρες, προσθέστε τις ως ξεχωριστές εγγραφές εδώ." + +#~ msgid "Add weight log" +#~ msgstr "Προσθέστε αρχείο καταγραφής βάρους" + +#~ msgid "This exercise has no repetitions." +#~ msgstr "Αυτή η άσκηση δεν έχει επαναλήψεις." + +#~ msgid "Edit them now." +#~ msgstr "Επεξεργαστείτε τώρα." + +#~ msgid "Add exercises to this workout day" +#~ msgstr "Προσθέστε ασκήσεις για την προπόνηση σε αυτήν την μέρα" + +#~ msgid "Edit schedule" +#~ msgstr "Επεξεργασία προγράμματος" + +#~ msgid "Delete schedule" +#~ msgstr "Διαγραφή προγράμματος" + +#~ msgid "Weight log" +#~ msgstr "Εγγραφή βάρους" + +#~ msgid "Weight log for workout" +#~ msgstr "Εγγραφή βάρους για προπόνηση" + +#~ msgid "Add weight log to this day" +#~ msgstr "Προσθέστε νέα εγγραφή βάρους για αυτήν την μέρα" + +#~ msgid "No weight entries here." +#~ msgstr "Δεν υπάρχουν εγγραφές βάρους εδώ." + +#~ msgid "No exercises for this day." +#~ msgstr "Δεν υπάρχουν ασκήσεις για αυτήν την μέρα." + +#~ msgid "" +#~ "This page shows the weight logs belonging to this workout\n" +#~ "only. Click on an exercise to see all the historical data for\n" +#~ "it." +#~ msgstr "" +#~ "Αυτή η σελίδα εμφανίζει τις καταγραφές βάρους που ανήκουν σε αυτήν την " +#~ "προπόνηση\n" +#~ "μόνο. Επιλέξτε μια άσκηση για να δείτε τα ιστορικά δεδομένα για\n" +#~ "αυτήν." + +#~ msgid "" +#~ "If on a single day there is more than one entry with the\n" +#~ "same number of repetitions, but different weights, only the entry with " +#~ "the\n" +#~ "higher weight is shown in the diagram." +#~ msgstr "" +#~ "Αν σε μια μέρα υπάρχουν περισσότερες απο μία εγγραφές με τους \n" +#~ "ίδιους αριθμούς επαναλήψεων, αλλα διαφορετικών βαρών, μόνο η \n" +#~ "εγγραφή με το μεγαλύτερο βάρος θα εμφανιστεί στο διάγραμμα." + +#~ msgid "" +#~ "Note that only entries with a weight unit (kg or lb) and\n" +#~ "repetitions are charted, other combinations such as time or until " +#~ "failure\n" +#~ "are ignored here." +#~ msgstr "" +#~ "Σημειώστε ότι μόνο καταχωρήσεις με μονάδα βάρους (kg ή lb) και\n" +#~ "επαναλήψεις καταγράφονται σε διάγραμμα , άλλοι συνδυασμοί όπως χρόνος ή " +#~ "μέχρι αποτυχίας\n" +#~ "αγνοούνται εδώ." + +#~ msgid "Add ingredient" +#~ msgstr "Προσθήκη συστατικών" + +#~ msgid "Edit ingredient" +#~ msgstr "Επεξεργασία συστατικού" + +#~ msgid "Delete ingredient" +#~ msgstr "Διαγραφή συστατικού" + #~ msgid "Ingredients pending review" #~ msgstr "Συστατικά που αναμένουν εξέταση" diff --git a/wger/locale/es/LC_MESSAGES/django.po b/wger/locale/es/LC_MESSAGES/django.po index 598fb244f..15e9dcc5b 100644 --- a/wger/locale/es/LC_MESSAGES/django.po +++ b/wger/locale/es/LC_MESSAGES/django.po @@ -15,7 +15,7 @@ msgid "" msgstr "" "Project-Id-Version: wger Workout Manager\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-14 15:49+0200\n" +"POT-Creation-Date: 2024-11-14 19:23+0100\n" "PO-Revision-Date: 2024-07-23 11:09+0000\n" "Last-Translator: gallegonovato \n" "Language-Team: Spanish \n" @@ -26,7 +26,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.7-dev\n" -#: config/models/gym_config.py:46 gym/templates/gym/list.html:53 +#: config/models/gym_config.py:46 gym/templates/gym/list.html:56 msgid "Default gym" msgstr "Gimnasio predeterminado" @@ -39,28 +39,28 @@ msgstr "" "todos los nuevos usuarios registrados a este gimnasio y actualizará todos " "los usuarios existentes sin gimnasio." -#: config/views/gym_config.py:42 core/templates/language/view.html:67 -#: core/templates/license/list.html:17 core/templates/misc/license/list.html:18 +#: config/views/gym_config.py:42 core/templates/language/view.html:64 +#: core/templates/license/list.html:17 #: core/templates/repetition_unit/list.html:18 -#: core/templates/tags/render_day.html:39 -#: core/templates/tags/render_day.html:75 core/templates/user/overview.html:204 -#: core/templates/user/overview.html:445 +#: core/templates/user/overview.html:204 core/templates/user/overview.html:467 #: core/templates/weight_unit/list.html:18 #: exercises/templates/categories/admin-overview.html:17 #: exercises/templates/equipment/admin-overview.html:17 -#: exercises/templates/muscles/admin-overview.html:17 -#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:32 -#: gym/templates/contract/list.html:31 gym/templates/contract/view.html:107 -#: gym/templates/contract_option/list.html:32 -#: gym/templates/contract_type/list.html:32 gym/templates/document/list.html:38 -#: gym/templates/gym/list.html:20 gym/templates/gym/list.html:46 -#: gym/templates/gym/member_list.html:87 gym/templates/gym/member_list.html:140 -#: gym/templates/gym/member_list.html:176 -#: manager/templates/calendar/day.html:68 -#: manager/templates/calendar/month.html:85 -#: manager/templates/calendar/partial_overview_table.html:18 -#: manager/templates/schedule/view.html:118 -#: nutrition/templates/ingredient/view.html:165 +#: exercises/templates/muscles/admin-overview.html:16 +#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:31 +#: gym/templates/contract/list.html:30 gym/templates/contract/view.html:106 +#: gym/templates/contract_option/list.html:29 +#: gym/templates/contract_type/list.html:30 gym/templates/document/list.html:38 +#: gym/templates/gym/list.html:19 gym/templates/gym/list.html:48 +#: gym/templates/gym/member_list.html:94 gym/templates/gym/member_list.html:152 +#: gym/templates/gym/member_list.html:190 +#: manager/templates/calendar/day.html:67 +#: manager/templates/calendar/month.html:84 +#: manager/templates/calendar/partial_overview_table.html:16 +#: manager/templates/schedule/view.html:271 +#: manager/templates/workout/view.html:181 +#: nutrition/templates/ingredient/view.html:164 +#: nutrition/templates/ingredient/view.html:209 #: nutrition/templates/units/list.html:19 msgid "Edit" msgstr "Editar" @@ -94,25 +94,25 @@ msgstr "Mi programa de rutinas" msgid "Empty placeholder schedule" msgstr "Programación de marcador posición vacía" -#: core/forms.py:69 core/templates/navigation.html:285 -#: core/templates/navigation.html:291 core/templates/user/login.html:4 +#: core/forms.py:69 core/templates/navigation.html:284 +#: core/templates/navigation.html:290 core/templates/user/login.html:4 #: software/templates/features.html:82 software/templates/features.html:427 msgid "Login" msgstr "Ingresar" -#: core/forms.py:108 core/forms.py:214 gym/views/export.py:61 +#: core/forms.py:108 core/forms.py:216 gym/views/export.py:61 #: gym/views/gym.py:217 msgid "First name" msgstr "Nombre" -#: core/forms.py:109 core/forms.py:215 core/templates/user/overview.html:266 +#: core/forms.py:109 core/forms.py:217 core/templates/user/overview.html:284 #: gym/views/export.py:62 gym/views/gym.py:217 msgid "Last name" msgstr "Apellido" -#: core/forms.py:111 core/forms.py:180 core/templates/user/overview.html:270 +#: core/forms.py:111 core/forms.py:182 core/templates/user/overview.html:288 #: gym/models/contract.py:256 gym/models/gym.py:58 -#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:104 +#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:116 #: gym/templates/gym/new_user.html:30 gym/views/export.py:60 #: mailer/templates/mailer/gym/form.html:4 #: mailer/templates/mailer/gym/overview.html:4 @@ -131,96 +131,95 @@ msgstr "" msgid "Date of Birth" msgstr "Fecha de cumpleaños" -#: core/forms.py:148 +#: core/forms.py:149 msgid "Personal data" msgstr "Datos personales" -#: core/forms.py:159 +#: core/forms.py:161 msgid "Workout reminders" msgstr "Recordatorios de entrenamiento" -#: core/forms.py:166 +#: core/forms.py:168 msgid "Other settings" msgstr "Otras configuraciones" -#: core/forms.py:174 core/views/user.py:624 core/views/user.py:639 -#: core/views/user.py:651 gym/forms.py:73 manager/templates/log/add.html:65 +#: core/forms.py:176 core/views/user.py:623 core/views/user.py:638 +#: core/views/user.py:650 gym/forms.py:73 manager/templates/log/add.html:65 #: manager/templates/set/add.html:70 manager/views/workout.py:203 #: utils/generic_views.py:143 msgid "Save" msgstr "Guardar" -#: core/forms.py:181 +#: core/forms.py:183 msgid "Used for password resets and, optionally, email reminders." msgstr "" "Se usa para restablecer constraseñas y, opcionalmente, para enviar avisos " "por correo electrónico." -#: core/forms.py:210 +#: core/forms.py:212 msgid "This e-mail address is already in use." msgstr "Esta dirección de correo ya está en uso." -#: core/forms.py:231 gym/templates/gym/new_user.html:26 +#: core/forms.py:233 gym/templates/gym/new_user.html:26 #: gym/templates/gym/reset_user_password.html:24 gym/views/gym.py:217 msgid "Password" msgstr "Contraseña" -#: core/forms.py:233 +#: core/forms.py:235 msgid "Please enter your current password." msgstr "Por favor, ingrese su contraseña actual." -#: core/forms.py:242 core/templates/language/view.html:73 -#: core/templates/license/list.html:19 core/templates/misc/license/list.html:22 -#: core/templates/repetition_unit/list.html:20 -#: core/templates/tags/render_day.html:45 -#: core/templates/tags/render_day.html:81 core/templates/user/overview.html:217 -#: core/templates/weight_unit/list.html:20 -#: exercises/templates/categories/admin-overview.html:19 -#: exercises/templates/equipment/admin-overview.html:19 -#: exercises/templates/muscles/admin-overview.html:19 -#: gym/templates/admin_notes/list.html:40 -#: gym/templates/contract_option/list.html:41 -#: gym/templates/contract_type/list.html:41 gym/templates/document/list.html:46 -#: gym/templates/gym/list.html:22 manager/templates/calendar/day.html:73 -#: manager/templates/calendar/month.html:89 -#: manager/templates/calendar/partial_overview_table.html:23 -#: manager/templates/schedule/view.html:122 -#: manager/templates/workout/view.html:188 -#: nutrition/templates/ingredient/view.html:166 +#: core/forms.py:244 core/templates/language/view.html:70 +#: core/templates/license/list.html:21 +#: core/templates/repetition_unit/list.html:22 +#: core/templates/user/overview.html:233 +#: core/templates/weight_unit/list.html:22 +#: exercises/templates/categories/admin-overview.html:21 +#: exercises/templates/equipment/admin-overview.html:21 +#: exercises/templates/muscles/admin-overview.html:20 +#: gym/templates/admin_notes/list.html:37 +#: gym/templates/contract_option/list.html:35 +#: gym/templates/contract_type/list.html:36 gym/templates/document/list.html:46 +#: gym/templates/gym/list.html:23 manager/templates/calendar/day.html:73 +#: manager/templates/calendar/month.html:88 +#: manager/templates/calendar/partial_overview_table.html:22 +#: manager/templates/schedule/view.html:277 +#: manager/templates/workout/view.html:202 +#: nutrition/templates/ingredient/view.html:168 #: nutrition/templates/ingredient/view.html:215 -#: nutrition/templates/units/list.html:22 +#: nutrition/templates/units/list.html:25 msgid "Delete" msgstr "Borrar" -#: core/forms.py:251 +#: core/forms.py:253 msgid "Invalid password" msgstr "Contraseña incorrecta" -#: core/forms.py:263 core/forms.py:338 +#: core/forms.py:265 core/forms.py:340 msgid "The form is secured with reCAPTCHA" msgstr "El Formulario está asegurado por recaptcha" -#: core/forms.py:279 core/forms.py:301 core/templates/navigation.html:285 -#: core/templates/navigation.html:297 core/templates/template.html:149 -#: core/templates/user/login.html:20 core/views/user.py:298 +#: core/forms.py:281 core/forms.py:303 core/templates/navigation.html:284 +#: core/templates/navigation.html:296 core/templates/template.html:150 +#: core/templates/user/login.html:20 core/views/user.py:297 #: software/templates/features.html:87 software/templates/features.html:422 msgid "Register" msgstr "Registrarse" -#: core/forms.py:315 software/templates/features.html:45 +#: core/forms.py:317 software/templates/features.html:45 msgid "Contact" msgstr "Contacto" -#: core/forms.py:316 +#: core/forms.py:318 msgid "Some way of answering you (e-mail, etc.)" msgstr "Alguna manera de responderte (correo electrónico u otros)" -#: core/forms.py:324 exercises/models/comment.py:58 manager/models/set.py:61 +#: core/forms.py:326 exercises/models/comment.py:58 manager/models/set.py:61 #: manager/models/setting.py:114 nutrition/models/log.py:77 msgid "Comment" msgstr "Comentario" -#: core/forms.py:325 +#: core/forms.py:327 msgid "What do you want to say?" msgstr "¿Qué quieres decir?" @@ -459,18 +458,18 @@ msgid "The sum of all hours has to be 24" msgstr "La suma de todas las horas tiene que ser 24" #: core/models/rep_unit.py:36 core/models/weight_unit.py:36 -#: core/templates/user/overview.html:262 core/views/user.py:599 +#: core/templates/user/overview.html:280 core/views/user.py:598 #: exercises/models/category.py:29 exercises/models/equipment.py:29 #: exercises/models/exercise.py:59 exercises/models/muscle.py:36 #: gym/models/contract.py:52 gym/models/contract.py:103 gym/models/gym.py:46 #: gym/models/user_document.py:84 gym/templates/contract/view.html:50 -#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:96 +#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:108 #: gym/views/gym.py:158 manager/models/schedule.py:55 #: manager/models/workout.py:57 measurements/models/category.py:36 #: nutrition/models/ingredient.py:111 -#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:67 +#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:65 #: nutrition/models/weight_unit.py:38 -#: nutrition/templates/ingredient/view.html:152 +#: nutrition/templates/ingredient/view.html:151 msgid "Name" msgstr "Nombre" @@ -523,7 +522,7 @@ msgstr "" msgid "Back to \"%(target)s\"" msgstr "Volver a \"%(target)s\"" -#: core/templates/delete.html:15 +#: core/templates/delete.html:4 msgid "Are you sure you want to delete this? This action cannot be undone." msgstr "" "¿Estás seguro de que quieres borrar esto? Esta acción no se puede deshacer." @@ -579,7 +578,7 @@ msgstr "" msgid "Dashboard" msgstr "Escritorio" -#: core/templates/language/overview.html:4 core/templates/navigation.html:345 +#: core/templates/language/overview.html:4 core/templates/navigation.html:344 msgid "Languages" msgstr "Idiomas" @@ -589,82 +588,72 @@ msgstr "No se ha encontrado nada." #: core/templates/language/overview.html:22 #: manager/templates/calendar/month.html:132 -#: manager/templates/schedule/overview.html:28 -#: manager/templates/schedule/view.html:144 +#: manager/templates/schedule/view.html:107 #: manager/templates/workout/overview.html:28 #: nutrition/templates/ingredient/overview.html:38 msgid "Add one now." msgstr "Añadir ahora." -#: core/templates/language/overview.html:35 core/templates/license/list.html:40 -#: core/templates/misc/license/list.html:43 -#: core/templates/repetition_unit/list.html:43 -#: core/templates/user/overview.html:326 core/templates/user/overview.html:365 -#: core/templates/user/overview.html:401 -#: core/templates/weight_unit/list.html:43 core/views/languages.py:74 +#: core/templates/language/overview.html:34 core/templates/license/list.html:43 +#: core/templates/repetition_unit/list.html:46 +#: core/templates/user/overview.html:344 core/templates/user/overview.html:384 +#: core/templates/user/overview.html:422 +#: core/templates/weight_unit/list.html:46 core/views/languages.py:74 #: core/views/license.py:66 core/views/repetition_units.py:66 #: core/views/weight_units.py:66 -#: exercises/templates/categories/admin-overview.html:38 -#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:67 -#: gym/templates/contract/list.html:73 -#: gym/templates/contract_option/list.html:72 -#: gym/templates/contract_type/list.html:72 gym/templates/document/list.html:79 -#: gym/templates/gym/member_list.html:211 -#: gym/templates/gym/member_list.html:244 -#: gym/templates/gym/member_list.html:281 +#: exercises/templates/categories/admin-overview.html:40 +#: exercises/templates/equipment/admin-overview.html:39 +#: exercises/templates/muscles/admin-overview.html:40 +#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:64 +#: gym/templates/contract/list.html:69 +#: gym/templates/contract_option/list.html:65 +#: gym/templates/contract_type/list.html:66 gym/templates/document/list.html:78 +#: gym/templates/gym/member_list.html:228 +#: gym/templates/gym/member_list.html:264 +#: gym/templates/gym/member_list.html:303 #: mailer/templates/mailer/gym/overview.html:43 +#: nutrition/templates/ingredient/overview.html:60 msgid "Add" msgstr "Añadir" #: core/templates/language/view.html:61 core/templates/user/api_key.html:44 -#: core/templates/user/preferences.html:45 gym/models/contract.py:203 -#: gym/templates/contract/view.html:41 gym/templates/contract/view.html:106 -#: gym/templates/gym/member_list.html:248 -#: manager/templates/schedule/view.html:285 -#: manager/templates/workout/view.html:163 -#: nutrition/templates/ingredient/view.html:202 +#: core/templates/user/preferences.html:50 gym/models/contract.py:203 +#: gym/templates/contract/view.html:41 gym/templates/gym/member_list.html:270 +#: manager/templates/schedule/view.html:257 +#: manager/templates/workout/view.html:177 +#: nutrition/templates/ingredient/view.html:206 msgid "Options" msgstr "Opciones" -#: core/templates/license/list.html:4 core/templates/misc/license/list.html:4 +#: core/templates/license/list.html:4 msgid "License list" msgstr "Listado de licencias" -#: core/templates/license/list.html:26 core/templates/misc/license/list.html:30 -#: core/templates/repetition_unit/list.html:28 +#: core/templates/license/list.html:30 +#: core/templates/repetition_unit/list.html:32 #: core/templates/user/overview.html:104 core/templates/user/overview.html:136 -#: core/templates/user/overview.html:185 core/templates/user/overview.html:347 -#: core/templates/user/overview.html:383 core/templates/user/overview.html:427 -#: core/templates/weight_unit/list.html:28 -#: exercises/templates/categories/admin-overview.html:26 -#: exercises/templates/equipment/admin-overview.html:26 -#: exercises/templates/muscles/admin-overview.html:26 -#: gym/templates/admin_notes/list.html:52 gym/templates/contract/list.html:60 -#: gym/templates/contract_option/list.html:58 -#: gym/templates/contract_type/list.html:58 gym/templates/document/list.html:64 -#: gym/templates/gym/list.html:29 gym/templates/gym/member_list.html:229 -#: gym/templates/gym/member_list.html:262 -#: gym/templates/gym/member_list.html:299 +#: core/templates/user/overview.html:185 core/templates/user/overview.html:365 +#: core/templates/user/overview.html:404 core/templates/user/overview.html:448 +#: core/templates/weight_unit/list.html:32 +#: exercises/templates/categories/admin-overview.html:30 +#: exercises/templates/equipment/admin-overview.html:30 +#: exercises/templates/muscles/admin-overview.html:29 +#: gym/templates/admin_notes/list.html:50 gym/templates/contract/list.html:57 +#: gym/templates/contract_option/list.html:52 +#: gym/templates/contract_type/list.html:53 gym/templates/document/list.html:64 +#: gym/templates/gym/list.html:32 gym/templates/gym/member_list.html:248 +#: gym/templates/gym/member_list.html:284 +#: gym/templates/gym/member_list.html:321 #: mailer/templates/mailer/gym/overview.html:30 -#: manager/templates/calendar/day.html:87 -#: nutrition/templates/units/list.html:29 +#: manager/templates/calendar/day.html:88 +#: nutrition/templates/units/list.html:34 msgid "Nothing found" msgstr "No se ha encontrado nada" -#: core/templates/misc/about.html:4 core/templates/template.html:175 +#: core/templates/misc/about.html:4 core/templates/template.html:187 msgid "Imprint" msgstr "Imprimir" -#: core/templates/misc/license/list.html:47 -msgid "" -"If a license has been localized, e.g. the Creative Commons\n" -" licenses for the different countries, add them as separate " -"entries here." -msgstr "" -"Si la licencia ha sido localizada, como por ejemplo las licencias \n" -" Creative Commons para los diferentes países, " -"agrégalas como entradas separadas aquí." - #: core/templates/navigation.html:28 software/templates/features.html:437 msgid "Training" msgstr "Entrenamiento" @@ -709,8 +698,8 @@ msgstr "Plantillas públicas" msgid "Exercises" msgstr "Ejercicios" -#: core/templates/navigation.html:111 core/templates/navigation.html:184 -#: core/templates/navigation.html:340 +#: core/templates/navigation.html:111 core/templates/navigation.html:185 +#: core/templates/navigation.html:339 msgid "Administration" msgstr "Administración" @@ -739,7 +728,7 @@ msgstr "Nutrición" msgid "Nutrition plans" msgstr "Planes nutritionales" -#: core/templates/navigation.html:165 nutrition/templates/bmi/form.html:50 +#: core/templates/navigation.html:165 msgid "BMI calculator" msgstr "Calculadora de IMC" @@ -747,87 +736,87 @@ msgstr "Calculadora de IMC" msgid "Daily calories calculator" msgstr "Caluladora de calorias diarias" -#: core/templates/navigation.html:179 +#: core/templates/navigation.html:180 #: nutrition/templates/ingredient/overview.html:10 msgid "Ingredient overview" msgstr "Índice de ingredientes" -#: core/templates/navigation.html:187 nutrition/templates/units/list.html:6 +#: core/templates/navigation.html:189 nutrition/templates/units/list.html:6 msgid "Ingredient weight units" msgstr "Unidades de peso de los ingredientes" -#: core/templates/navigation.html:203 software/templates/features.html:442 +#: core/templates/navigation.html:205 software/templates/features.html:442 msgid "Body weight" msgstr "Peso corporal" -#: core/templates/navigation.html:210 core/templates/user/overview.html:114 +#: core/templates/navigation.html:212 core/templates/user/overview.html:114 msgid "Weight overview" msgstr "Índice de peso" -#: core/templates/navigation.html:217 weight/views.py:65 +#: core/templates/navigation.html:216 weight/views.py:65 msgid "Add weight entry" msgstr "Añadir entrada de peso" -#: core/templates/navigation.html:231 +#: core/templates/navigation.html:230 msgid "About this software" msgstr "Sobre este programa" -#: core/templates/navigation.html:237 software/templates/about_us.html:5 +#: core/templates/navigation.html:236 software/templates/about_us.html:5 msgid "About us" msgstr "Sobre nosotros" -#: core/templates/navigation.html:243 software/templates/features.html:507 +#: core/templates/navigation.html:242 software/templates/features.html:507 msgid "REST API" msgstr "REST API" -#: core/templates/navigation.html:249 utils/models.py:45 +#: core/templates/navigation.html:248 utils/models.py:45 msgid "License" msgstr "Licencia" -#: core/templates/navigation.html:255 +#: core/templates/navigation.html:254 msgid "Developer documentation" msgstr "Documentación para desarrolladores" -#: core/templates/navigation.html:262 +#: core/templates/navigation.html:261 msgid "Get the code" msgstr "Código fuente" -#: core/templates/navigation.html:269 core/templates/template.html:214 +#: core/templates/navigation.html:268 core/templates/template.html:226 #: software/templates/features.html:582 msgid "Translate" msgstr "Traduce" -#: core/templates/navigation.html:303 core/templates/user/login.html:28 +#: core/templates/navigation.html:302 core/templates/user/login.html:28 msgid "Reset password" msgstr "Restablecer la contraseña" -#: core/templates/navigation.html:321 +#: core/templates/navigation.html:320 msgid "My preferences" msgstr "Mis preferencias" -#: core/templates/navigation.html:330 +#: core/templates/navigation.html:329 msgid "Logout" msgstr "Cerrar sesión" -#: core/templates/navigation.html:353 +#: core/templates/navigation.html:352 msgid "Licenses" msgstr "Licencias" -#: core/templates/navigation.html:361 +#: core/templates/navigation.html:360 #: core/templates/repetition_unit/list.html:4 msgid "Repetition units" msgstr "Unidades de repetición" -#: core/templates/navigation.html:369 core/templates/weight_unit/list.html:4 +#: core/templates/navigation.html:368 core/templates/weight_unit/list.html:4 #: nutrition/templates/ingredient/view.html:141 msgid "Weight units" msgstr "Unidades de peso" -#: core/templates/navigation.html:377 core/templates/user/list.html:4 +#: core/templates/navigation.html:376 core/templates/user/list.html:4 msgid "User list" msgstr "Lista de usuarios" -#: core/templates/navigation.html:383 +#: core/templates/navigation.html:382 msgid "Gyms" msgstr "Gimnasios" @@ -893,57 +882,32 @@ msgstr "anterior" msgid "next" msgstr "próximo" -#: core/templates/tags/render_day.html:34 -msgid "Add weight log" -msgstr "Añader registro de peso" - -#: core/templates/tags/render_day.html:116 -msgid "Placeholder image for exercise" +#: core/templates/tags/render_day.html:44 +#, fuzzy +#| msgid "Placeholder image for exercise" +msgid "Placeholder image for translation" msgstr "Marcador de imagen para ejercicio" -#: core/templates/tags/render_day.html:133 -msgid "This exercise has no repetitions." -msgstr "Este ejercicio no tiene repeticiones." - -#: core/templates/tags/render_day.html:136 -msgid "Edit them now." -msgstr "Editar ahora." - -#: core/templates/tags/render_day.html:162 -msgid "Add exercises to this workout day" -msgstr "Añadir ejercicios a este dia" - -#: core/templates/tags/render_weight_log.html:17 manager/helpers.py:86 -#: manager/models/setting.py:72 manager/templates/set/formset.html:9 -msgid "Reps" -msgstr "Repeticiones" - -#: core/templates/tags/render_weight_log.html:30 manager/forms.py:191 -#: manager/models/log.py:103 manager/models/setting.py:102 -#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 -msgid "RiR" -msgstr "ReR" - -#: core/templates/template.html:122 manager/templates/calendar/month.html:138 -#: manager/templates/schedule/view.html:248 -#: manager/templates/schedule/view.html:269 -#: manager/templates/workout/view.html:84 -#: manager/templates/workout/view.html:137 +#: core/templates/template.html:123 manager/templates/calendar/month.html:138 +#: manager/templates/schedule/view.html:215 +#: manager/templates/schedule/view.html:240 +#: manager/templates/workout/view.html:89 +#: manager/templates/workout/view.html:149 msgid "Close" msgstr "Cerrar" -#: core/templates/template.html:138 +#: core/templates/template.html:139 msgid "" "You are using a guest account, data entered will be deleted after a week." msgstr "" "Estás usando una cuenta de invitado, los datos que introduzcas se borrarán " "en una semana." -#: core/templates/template.html:143 +#: core/templates/template.html:144 msgid "Create some demo entries" msgstr "Crear datos de ejemplo" -#: core/templates/template.html:180 software/templates/features.html:547 +#: core/templates/template.html:192 software/templates/features.html:547 #: software/templates/tos.html:7 msgid "Terms of service" msgstr "Términos de servicio" @@ -952,7 +916,7 @@ msgstr "Términos de servicio" msgid "Features" msgstr "Funciones" -#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:54 +#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:59 msgid "API key" msgstr "LLave de API" @@ -996,17 +960,17 @@ msgstr "Generar una nueva llave de API" msgid "Documentation" msgstr "Documentación" -#: core/templates/user/delete_account.html:4 -#: core/templates/user/preferences.html:59 +#: core/templates/user/delete_account.html:3 +#: core/templates/user/preferences.html:62 msgid "Delete account" msgstr "Eliminar cuenta" -#: core/templates/user/delete_account.html:17 +#: core/templates/user/delete_account.html:9 #: exercises/templates/history/overview.html:93 msgid "Are you sure?" msgstr "¿Estas seguro?" -#: core/templates/user/delete_account.html:22 +#: core/templates/user/delete_account.html:14 #, python-format msgid "" "This action will delete the user account \"%(username)s\".\n" @@ -1029,22 +993,22 @@ msgstr "¿Olvidaste tu contraseña?" #: core/templates/user/overview.html:25 core/templates/user/overview.html:68 #: core/templates/user/overview.html:112 core/templates/user/overview.html:144 -#: core/templates/user/overview.html:330 core/templates/user/overview.html:369 -#: core/templates/user/overview.html:405 +#: core/templates/user/overview.html:348 core/templates/user/overview.html:390 +#: core/templates/user/overview.html:426 #, python-format msgid "last %(number)s" msgstr "últimos %(number)s" #: core/templates/user/overview.html:27 core/templates/user/overview.html:146 -#: core/templates/user/overview.html:325 core/templates/user/overview.html:364 -#: core/templates/user/overview.html:400 gym/templates/gym/member_list.html:210 -#: gym/templates/gym/member_list.html:243 -#: gym/templates/gym/member_list.html:280 +#: core/templates/user/overview.html:343 core/templates/user/overview.html:382 +#: core/templates/user/overview.html:421 gym/templates/gym/member_list.html:226 +#: gym/templates/gym/member_list.html:262 +#: gym/templates/gym/member_list.html:302 msgid "Overview" msgstr "Resumen" #: core/templates/user/overview.html:28 -#: manager/templates/schedule/view.html:163 +#: manager/templates/schedule/view.html:125 #: manager/templates/workout/overview.html:39 manager/views/schedule_step.py:60 msgid "Add workout" msgstr "Añadir rutina" @@ -1076,38 +1040,36 @@ msgstr "Descripción" msgid "Number of logs (days)" msgstr "Número de registros (días)" -#: core/templates/user/overview.html:37 core/views/user.py:600 +#: core/templates/user/overview.html:37 core/views/user.py:599 #: gym/templates/gym/email_inactive_members.html:4 gym/views/gym.py:158 msgid "Last activity" msgstr "Última actividad" #: core/templates/user/overview.html:58 #: manager/templates/calendar/month.html:128 -#: manager/templates/schedule/view.html:144 #: manager/templates/workout/overview.html:28 msgid "No workouts found." msgstr "No se han encontrado rutinas." #: core/templates/user/overview.html:68 manager/forms.py:280 -#: manager/templates/workout/view.html:106 +#: manager/templates/workout/view.html:114 msgid "Log" msgstr "Registro" #: core/templates/user/overview.html:77 manager/models/session.py:83 -#: manager/templates/calendar/partial_overview_table.html:52 +#: manager/templates/calendar/partial_overview_table.html:54 msgid "General impression" msgstr "Impresión general" -#: core/templates/user/overview.html:78 core/templates/user/overview.html:369 +#: core/templates/user/overview.html:78 core/templates/user/overview.html:390 #: manager/models/session.py:73 -#: manager/templates/calendar/partial_overview_table.html:56 -#: manager/templates/workout/log.html:89 +#: manager/templates/calendar/partial_overview_table.html:58 msgid "Notes" msgstr "Notas" #: core/templates/user/overview.html:79 #: exercises/templates/history/overview.html:30 -#: manager/templates/calendar/partial_overview_table.html:42 +#: manager/templates/calendar/partial_overview_table.html:44 msgid "Time" msgstr "Tiempo" @@ -1145,123 +1107,123 @@ msgstr "Grasa" msgid "kcal" msgstr "kcal" -#: core/templates/user/overview.html:201 core/templates/user/overview.html:322 -#: core/templates/user/overview.html:361 core/templates/user/overview.html:397 -#: core/templates/user/overview.html:442 gym/templates/gym/list.html:42 -#: gym/templates/gym/member_list.html:84 gym/templates/gym/member_list.html:137 -#: gym/templates/gym/member_list.html:173 -#: gym/templates/gym/member_list.html:207 -#: gym/templates/gym/member_list.html:240 -#: gym/templates/gym/member_list.html:277 -#: manager/templates/schedule/view.html:100 +#: core/templates/user/overview.html:201 core/templates/user/overview.html:340 +#: core/templates/user/overview.html:379 core/templates/user/overview.html:418 +#: core/templates/user/overview.html:463 gym/templates/gym/list.html:45 +#: gym/templates/gym/member_list.html:91 gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:187 +#: gym/templates/gym/member_list.html:223 +#: gym/templates/gym/member_list.html:259 +#: gym/templates/gym/member_list.html:299 +#: manager/templates/schedule/view.html:54 msgid "Actions" msgstr "Acciones" -#: core/templates/user/overview.html:207 +#: core/templates/user/overview.html:210 msgid "Deactivate user" msgstr "Desactivar usuario" -#: core/templates/user/overview.html:209 +#: core/templates/user/overview.html:214 msgid "Activate user" msgstr "Activar usuario" -#: core/templates/user/overview.html:211 +#: core/templates/user/overview.html:223 msgid "Reset user password" msgstr "Restablecer la contraseña del usuario" -#: core/templates/user/overview.html:214 gym/templates/gym/member_list.html:30 +#: core/templates/user/overview.html:227 gym/templates/gym/member_list.html:30 msgid "Roles" msgstr "Roles" -#: core/templates/user/overview.html:225 +#: core/templates/user/overview.html:243 msgid "Password reset confirmation" msgstr "Confirmación de restablecimiento de contraseña" -#: core/templates/user/overview.html:229 +#: core/templates/user/overview.html:247 msgid "Do you really want to change this user's password?" msgstr "¿Realmente quieres cambiar la contraseña de este usuario?" -#: core/templates/user/overview.html:232 +#: core/templates/user/overview.html:250 #: exercises/templates/history/overview.html:106 msgid "No" msgstr "No" -#: core/templates/user/overview.html:233 +#: core/templates/user/overview.html:251 #: exercises/templates/history/overview.html:99 msgid "Yes" msgstr "Sí" -#: core/templates/user/overview.html:254 gym/templates/gym/member_list.html:93 +#: core/templates/user/overview.html:272 gym/templates/gym/member_list.html:105 msgid "Details" msgstr "Detalles" -#: core/templates/user/overview.html:258 gym/views/export.py:57 -#: manager/helpers.py:86 manager/templates/schedule/view.html:98 +#: core/templates/user/overview.html:276 gym/views/export.py:57 +#: manager/helpers.py:86 manager/templates/schedule/view.html:52 msgid "Nr." msgstr "Nr." -#: core/templates/user/overview.html:280 gym/models/contract.py:287 +#: core/templates/user/overview.html:298 gym/models/contract.py:287 #: gym/models/gym.py:50 gym/templates/contract/view.html:75 -#: gym/templates/gym/member_list.html:100 gym/views/export.py:68 +#: gym/templates/gym/member_list.html:112 gym/views/export.py:68 msgid "Phone" msgstr "Teléfono" -#: core/templates/user/overview.html:284 gym/templates/contract/view.html:87 -#: gym/templates/gym/member_list.html:118 +#: core/templates/user/overview.html:302 gym/templates/contract/view.html:87 +#: gym/templates/gym/member_list.html:130 msgid "Address" msgstr "Dirección" -#: core/templates/user/overview.html:295 +#: core/templates/user/overview.html:313 msgid "Registered" msgstr "Registrado" -#: core/templates/user/overview.html:299 +#: core/templates/user/overview.html:317 msgid "Last login" msgstr "Último inicio de sesión" -#: core/templates/user/overview.html:304 +#: core/templates/user/overview.html:322 msgid "Status" msgstr "Estado" -#: core/templates/user/overview.html:307 +#: core/templates/user/overview.html:325 msgid "Active" msgstr "Activo" -#: core/templates/user/overview.html:309 +#: core/templates/user/overview.html:327 msgid "Inactive" msgstr "Inactivo" -#: core/templates/user/overview.html:330 gym/templates/contract/list.html:4 -#: gym/templates/gym/member_list.html:202 +#: core/templates/user/overview.html:348 gym/templates/contract/list.html:4 +#: gym/templates/gym/member_list.html:218 msgid "Contracts" msgstr "Contratos" -#: core/templates/user/overview.html:405 gym/templates/document/list.html:4 +#: core/templates/user/overview.html:426 gym/templates/document/list.html:4 msgid "Documents" msgstr "Documentos" -#: core/templates/user/overview.html:412 gym/templates/document/list.html:32 -#: manager/forms.py:292 manager/templates/workout/view.html:132 +#: core/templates/user/overview.html:433 gym/templates/document/list.html:33 +#: manager/forms.py:292 manager/templates/workout/view.html:143 msgid "Download" msgstr "Bajar" -#: core/templates/user/overview.html:450 gym/views/admin_config.py:44 +#: core/templates/user/overview.html:474 gym/views/admin_config.py:44 #: gym/views/admin_config.py:58 gym/views/user_config.py:46 msgid "Configuration" msgstr "Configuración" -#: core/templates/user/overview.html:453 gym/models/user_config.py:92 +#: core/templates/user/overview.html:477 gym/models/user_config.py:92 msgid "Include in inactive overview" msgstr "Incluir en lista de inactivos" -#: core/templates/user/overview.html:486 +#: core/templates/user/overview.html:510 #, python-format msgid "Admin login is only available for users in %(gym_name)s" msgstr "" "El inicio de sesión de administrador solo está disponible para usuarios en " "%(gym_name)s" -#: core/templates/user/overview.html:490 +#: core/templates/user/overview.html:514 msgid "Log in as this user" msgstr "Inicia sesión como este usuario" @@ -1281,20 +1243,20 @@ msgstr "Correo electrónico no verificado" msgid "Send verification email" msgstr "Envía un correo electronico de verificación" -#: core/templates/user/preferences.html:30 +#: core/templates/user/preferences.html:31 msgid "You need to verify your email to contribute exercises" msgstr "" "Necesitas verificar tu correo electrónico para contribuir con ejercicios" -#: core/templates/user/preferences.html:50 core/views/user.py:611 +#: core/templates/user/preferences.html:55 core/views/user.py:610 msgid "Change password" msgstr "Cambiar contraseña" -#: core/templatetags/wger_extras.py:205 i18n.tpl:37 +#: core/templatetags/wger_extras.py:197 i18n.tpl:37 msgid "kg" msgstr "kg" -#: core/templatetags/wger_extras.py:207 +#: core/templatetags/wger_extras.py:199 #: nutrition/templates/ingredient/view.html:60 #: nutrition/templates/ingredient/view.html:66 #: nutrition/templates/ingredient/view.html:73 @@ -1306,11 +1268,11 @@ msgctxt "weight unit, i.e. grams" msgid "g" msgstr "g" -#: core/templatetags/wger_extras.py:210 i18n.tpl:38 +#: core/templatetags/wger_extras.py:202 i18n.tpl:38 msgid "lb" msgstr "lb" -#: core/templatetags/wger_extras.py:212 +#: core/templatetags/wger_extras.py:204 msgctxt "weight unit, i.e. ounces" msgid "oz" msgstr "oz" @@ -1337,13 +1299,13 @@ msgid "Delete {0}?" msgstr "¿Borrar {0}?" #: core/views/languages.py:111 core/views/license.py:85 -#: core/views/repetition_units.py:86 core/views/user.py:474 +#: core/views/repetition_units.py:86 core/views/user.py:473 #: core/views/weight_units.py:86 exercises/views/categories.py:98 #: exercises/views/equipment.py:81 exercises/views/muscles.py:87 #: gym/views/admin_notes.py:161 gym/views/config.py:68 #: gym/views/contract.py:186 gym/views/contract_option.py:123 #: gym/views/contract_type.py:123 gym/views/document.py:171 -#: gym/views/gym.py:463 manager/views/day.py:100 manager/views/schedule.py:333 +#: gym/views/gym.py:463 manager/views/day.py:96 manager/views/schedule.py:333 #: manager/views/workout.py:267 nutrition/views/ingredient.py:145 #: nutrition/views/unit.py:143 #, python-brace-format @@ -1372,48 +1334,48 @@ msgstr "Enviar" msgid "Your feedback was successfully sent. Thank you!" msgstr "Tu comentario ha sido enviado con éxito, ¡gracias!" -#: core/views/user.py:156 +#: core/views/user.py:155 #, python-brace-format msgid "Account \"{0}\" was successfully deleted" msgstr "La cuenta \"{0}\" ha sido borrada con éxito" -#: core/views/user.py:292 +#: core/views/user.py:291 msgid "You were successfully registered" msgstr "Te has registrado con éxito" -#: core/views/user.py:351 +#: core/views/user.py:350 msgid "Settings successfully updated" msgstr "Preferecias actualizadas con éxito" -#: core/views/user.py:390 +#: core/views/user.py:389 msgid "The user was successfully deactivated" msgstr "El usuario ha sido desactivado con éxito" -#: core/views/user.py:427 +#: core/views/user.py:426 msgid "The user was successfully activated" msgstr "El usuario ha sido activado con éxito" -#: core/views/user.py:442 +#: core/views/user.py:441 msgid "Edit user" msgstr "Editar usuario" -#: core/views/user.py:597 gym/templates/gym/member_list.html:26 +#: core/views/user.py:596 gym/templates/gym/member_list.html:26 #: gym/views/gym.py:158 msgid "ID" msgstr "ID" -#: core/views/user.py:598 gym/forms.py:95 gym/templates/contract/view.html:55 +#: core/views/user.py:597 gym/forms.py:95 gym/templates/contract/view.html:55 #: gym/templates/gym/member_list.html:27 gym/views/export.py:59 #: gym/views/gym.py:158 gym/views/gym.py:217 msgid "Username" msgstr "Nombre de usuario" -#: core/views/user.py:601 gym/templates/gym/new_user.html:34 +#: core/views/user.py:600 gym/templates/gym/new_user.html:34 #: gym/views/export.py:58 gym/views/gym.py:217 msgid "Gym" msgstr "Gimnasio" -#: core/views/user.py:660 +#: core/views/user.py:659 #, python-format msgid "A verification email was sent to %(email)s" msgstr "Se envió un correo electrónico de verificación a %(email)s" @@ -1566,11 +1528,6 @@ msgstr "Códec, nombre largo" msgid "Equipment list" msgstr "Lista de equipos" -#: exercises/templates/equipment/admin-overview.html:39 -#: exercises/views/equipment.py:92 -msgid "Add new equipment" -msgstr "Agregar nuevo equipo" - #: exercises/templates/history/overview.html:11 msgid "Exercise admin history" msgstr "Historial de administración de ejercicios" @@ -1618,11 +1575,6 @@ msgstr "Revertir cambios" msgid "Muscle overview" msgstr "Índice de músculos" -#: exercises/templates/muscles/admin-overview.html:38 -#: exercises/views/muscles.py:68 -msgid "Add muscle" -msgstr "Añadir músculo" - #: exercises/views/categories.py:72 msgid "Add category" msgstr "Añadir categoría" @@ -1631,6 +1583,10 @@ msgstr "Añadir categoría" msgid "This will also delete all exercises in this category." msgstr "Esto también borrará todos los ejercicios en esta categoría." +#: exercises/views/equipment.py:92 +msgid "Add new equipment" +msgstr "Agregar nuevo equipo" + #: exercises/views/equipment.py:104 exercises/views/equipment.py:115 msgid "Delete equipment?" msgstr "¿Borrar equipo?" @@ -1639,6 +1595,10 @@ msgstr "¿Borrar equipo?" msgid "This will delete the exercise from all workouts." msgstr "Esto también borrará el ejercicio de todas las rutinas." +#: exercises/views/muscles.py:68 +msgid "Add muscle" +msgstr "Añadir músculo" + #: gallery/templates/images/overview.html:62 msgid "Add image" msgstr "Añadir imagen" @@ -1725,7 +1685,7 @@ msgid "Contract is active" msgstr "Contrato está activo" #: gym/models/contract.py:237 gym/templates/contract/view.html:69 -#: manager/models/schedule.py:61 manager/templates/schedule/view.html:67 +#: manager/models/schedule.py:61 manager/templates/schedule/view.html:21 msgid "Start date" msgstr "Fecha de comienzo" @@ -1761,7 +1721,7 @@ msgstr "Administrador: puede gestionar los usuarios de un gimnasio" msgid "Admin: can administrate the different gyms" msgstr "Administrador: puede administrar los diferentes gimnasios" -#: gym/models/gym.py:65 gym/templates/gym/member_list.html:114 +#: gym/models/gym.py:65 gym/templates/gym/member_list.html:126 msgid "Owner" msgstr "Propietario" @@ -1773,7 +1733,7 @@ msgstr "" "Número de semanas desde la última vez que un usuario registrara su presencia " "para ser considerado como inactivo" -#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:152 +#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:166 msgid "Show name in header" msgstr "Mostrar nombre en la cabecera" @@ -1786,7 +1746,7 @@ msgstr "Mostrar el nombre del gimnasio en la cabecera" msgid "Configuration for {self.gym.name}" msgstr "Configuración para {self.gym.name}" -#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:184 +#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:200 msgid "Overview of inactive members" msgstr "Resumen de miembros inactivos" @@ -1810,7 +1770,7 @@ msgstr "Se usará el nombre del fichero si no se introduce nada" msgid "User notes" msgstr "Notas de usuario" -#: gym/templates/contract/list.html:36 +#: gym/templates/contract/list.html:34 msgid "Show" msgstr "Mostrar" @@ -1838,11 +1798,11 @@ msgstr "" msgid "Gym list" msgstr "Lista de gimnasios" -#: gym/templates/gym/list.html:50 +#: gym/templates/gym/list.html:53 msgid "Global gym configuration" msgstr "Configuración global de gimnasio" -#: gym/templates/gym/list.html:67 gym/views/gym.py:171 +#: gym/templates/gym/list.html:69 gym/views/gym.py:171 msgid "Add new gym" msgstr "Añadir nuevo gimnasio" @@ -1854,43 +1814,43 @@ msgstr "Administradores y entrenadores" msgid "Gym manager" msgstr "Gestor de gimnasio" -#: gym/templates/gym/member_list.html:69 +#: gym/templates/gym/member_list.html:76 msgid "This gym has no administrators or trainers" msgstr "Este gimnasio no tiene administradores o entrenadores" -#: gym/templates/gym/member_list.html:88 +#: gym/templates/gym/member_list.html:98 msgid "Export" msgstr "Exportar" -#: gym/templates/gym/member_list.html:125 +#: gym/templates/gym/member_list.html:137 msgid "Members" msgstr "Miembros" -#: gym/templates/gym/member_list.html:145 +#: gym/templates/gym/member_list.html:159 msgid "Gym configuration" msgstr "Configuración del gimnasio" -#: gym/templates/gym/member_list.html:148 +#: gym/templates/gym/member_list.html:162 msgid "Inactive members" msgstr "Miembros inactivos" -#: gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:163 msgid "weeks" msgstr "semanas" -#: gym/templates/gym/member_list.html:181 +#: gym/templates/gym/member_list.html:197 msgid "My configuration" msgstr "Mi configuración" -#: gym/templates/gym/member_list.html:215 +#: gym/templates/gym/member_list.html:234 msgid "Types" msgstr "Tipos" -#: gym/templates/gym/member_list.html:285 +#: gym/templates/gym/member_list.html:307 msgid "Emails" msgstr "Emails" -#: gym/templates/gym/member_list.html:315 +#: gym/templates/gym/member_list.html:336 msgid "Add member" msgstr "Añadir miembro" @@ -2187,28 +2147,38 @@ msgstr "Busque también los nombres en inglés" msgid "Unit" msgstr "Unidad" +#: manager/forms.py:191 manager/models/log.py:103 manager/models/setting.py:102 +#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 +msgid "RiR" +msgstr "ReR" + #: manager/forms.py:279 msgid "Type" msgstr "Tipo" -#: manager/forms.py:280 manager/templates/workout/view.html:113 +#: manager/forms.py:280 manager/templates/workout/view.html:122 msgid "Table" msgstr "Tabla" -#: manager/forms.py:282 manager/templates/workout/view.html:119 +#: manager/forms.py:282 manager/templates/workout/view.html:129 msgid "with images" msgstr "con imágenes" -#: manager/forms.py:283 manager/templates/workout/view.html:125 +#: manager/forms.py:283 manager/templates/workout/view.html:136 msgid "with comments" msgstr "con comentarios" +#: manager/helpers.py:86 manager/models/setting.py:72 +#: manager/templates/set/formset.html:9 +msgid "Reps" +msgstr "Repeticiones" + #: manager/management/commands/email-reminders.py:121 msgid "Workout will expire soon" msgstr "Rutina expirará pronto" #: manager/models/day.py:34 manager/models/log.py:58 -#: manager/models/session.py:60 manager/templates/schedule/view.html:102 +#: manager/models/session.py:60 manager/templates/schedule/view.html:56 #: manager/templates/workout/view.html:9 manager/templates/workout/view.html:17 #: manager/views/pdf.py:85 manager/views/pdf.py:161 #: manager/views/schedule.py:151 manager/views/schedule.py:221 @@ -2231,7 +2201,7 @@ msgstr "Día" msgid "Name or short description of the schedule. For example 'Program XYZ'." msgstr "Nombre o descripción corta del programa. Por ejemplo 'Programa XYZ'." -#: manager/models/schedule.py:65 manager/templates/schedule/view.html:71 +#: manager/models/schedule.py:65 manager/templates/schedule/view.html:25 msgid "Schedule active" msgstr "Programa activo" @@ -2244,7 +2214,7 @@ msgstr "" "Activa si quieres marcar este programa como activo (será mostrado p.ej. en " "tu panel de control). Otros programas se marcarán como inactivos" -#: manager/models/schedule.py:77 manager/templates/schedule/view.html:81 +#: manager/models/schedule.py:77 manager/templates/schedule/view.html:35 msgid "Is a loop" msgstr "Se repite" @@ -2264,7 +2234,7 @@ msgid "The duration in weeks" msgstr "La duración, en semanas" #: manager/models/schedule_step.py:64 manager/models/set.py:53 -#: manager/models/setting.py:113 nutrition/models/meal.py:55 +#: manager/models/setting.py:113 nutrition/models/meal.py:53 #: nutrition/models/meal_item.py:66 msgid "Order" msgstr "Orden" @@ -2408,7 +2378,7 @@ msgstr "Resumen del registro" msgid "Workout session" msgstr "Session de entrenamiento" -#: manager/templates/calendar/partial_overview_table.html:27 +#: manager/templates/calendar/partial_overview_table.html:26 msgid "Delete with logs" msgstr "Eliminar con registros" @@ -2431,21 +2401,27 @@ msgstr "" "si no existe ya una para la fecha seleccionada. Si la hay, simplemente\n" "se editará. Las entradas se peso siempre se añadirán." -#: manager/templates/schedule/overview.html:5 +#: manager/templates/schedule/overview.html:4 msgid "Your schedules" msgstr "Tus programas" #: manager/templates/schedule/overview.html:19 -#: manager/templates/schedule/view.html:131 -#: manager/templates/schedule/view.html:183 +#: manager/templates/schedule/view.html:96 +#: manager/templates/schedule/view.html:146 #: manager/templates/workout/overview.html:16 msgid "active" msgstr "activo" -#: manager/templates/schedule/overview.html:28 +#: manager/templates/schedule/overview.html:27 msgid "No schedules found." msgstr "No se han encontrado programas." +#: manager/templates/schedule/overview.html:28 +#, fuzzy +#| msgid "Add one now." +msgid "Add one now" +msgstr "Añadir ahora." + #: manager/templates/schedule/overview.html:36 msgid "" "Schedules are collections of workouts that you do in\n" @@ -2455,12 +2431,20 @@ msgstr "" " sucesión." #: manager/templates/schedule/overview.html:39 +#, fuzzy +#| msgid "" +#| "You can indicate how long you want to do each workout\n" +#| " before jumping to the next. It is also possible to create a loop, " +#| "so you\n" +#| " always do the same workouts in succession, e.g. A > B > C > A > B " +#| "> C and so on." msgid "" "You can indicate how long you want to do each workout\n" " before jumping to the next. It is also possible to create a loop, so " "you\n" " always do the same workouts in succession, e.g. A > B > C > A > B > " -"C and so on." +"C and so\n" +" on." msgstr "" "Puedes indicar cuánto tiempo quieres hacer cada rutina \n" " antes de saltar a la siguiente. También puedes crear un " @@ -2468,7 +2452,7 @@ msgstr "" " poder hacer siempre las mismas rutinas en sucesión, p.ej. " "A > B > C > A > B > C, etc." -#: manager/templates/schedule/overview.html:43 +#: manager/templates/schedule/overview.html:44 msgid "" "The currently active schedule will remain active (and be\n" " shown e.g. in your dashboard) till it reaches the last workout or " @@ -2487,26 +2471,22 @@ msgstr "Añadir programa" msgid "Schedule" msgstr "Calendario" -#: manager/templates/schedule/view.html:85 +#: manager/templates/schedule/view.html:39 msgid "" "This schedule is a loop and will go through the workouts above till you " "deactivate it" msgstr "" "Este programa es un bucle y pasará por las rutinas hasta que lo desactives" -#: manager/templates/schedule/view.html:103 +#: manager/templates/schedule/view.html:57 msgid "Weeks" msgstr "Semanas" -#: manager/templates/schedule/view.html:115 -msgid "Move me" -msgstr "Arrástrame" - -#: manager/templates/schedule/view.html:156 +#: manager/templates/schedule/view.html:121 msgid "Start schedule" msgstr "Iniciar programa" -#: manager/templates/schedule/view.html:187 +#: manager/templates/schedule/view.html:150 #, python-format msgid "" "%(weeks)s Week\n" @@ -2521,11 +2501,11 @@ msgstr[1] "" "%(weeks)s Semanas\n" " " -#: manager/templates/schedule/view.html:221 +#: manager/templates/schedule/view.html:184 msgid "Adding workouts" msgstr "Añadir rutinas" -#: manager/templates/schedule/view.html:223 +#: manager/templates/schedule/view.html:186 msgid "" "Add as many workouts to the schedule as you want. You can\n" " edit the order by dragging and dropping them. It's also possible " @@ -2537,47 +2517,47 @@ msgstr "" "añadir el mismo ejercicio más\n" "de una vez." -#: manager/templates/schedule/view.html:232 -#: manager/templates/schedule/view.html:243 -#: manager/templates/schedule/view.html:290 +#: manager/templates/schedule/view.html:195 +#: manager/templates/schedule/view.html:209 +#: manager/templates/schedule/view.html:263 #: manager/templates/workout/view.html:69 -#: manager/templates/workout/view.html:79 -#: manager/templates/workout/view.html:178 +#: manager/templates/workout/view.html:83 +#: manager/templates/workout/view.html:192 msgid "Export calendar file" msgstr "Exportar como archivo calendario" -#: manager/templates/schedule/view.html:236 +#: manager/templates/schedule/view.html:201 msgid "Export this schedule as a calendar file." msgstr "Expora este programa como archivo de calendario." -#: manager/templates/schedule/view.html:237 -#: manager/templates/workout/view.html:74 +#: manager/templates/schedule/view.html:202 +#: manager/templates/workout/view.html:76 +#, fuzzy +#| msgid "" +#| "You can then import the file it into your calendar\n" +#| " application for example google calendar, outlook " +#| "or iCal. This will create\n" +#| " an appointment for each training day with the " +#| "appropriate exercises." msgid "" "You can then import the file it into your calendar\n" " application for example google calendar, outlook or " "iCal. This will create\n" " an appointment for each training day with the " -"appropriate exercises." +"appropriate\n" +" exercises." msgstr "" "Podrás importar el archivo en tu aplicación de calendario, como por ejemplo\n" "Google Calendar, Outlook o iCal. Esto creará una entrada para cada día\n" "de entrenamiento con los respectivos ejercicios." -#: manager/templates/schedule/view.html:258 -#: manager/templates/schedule/view.html:294 -#: manager/templates/workout/view.html:94 -#: manager/templates/workout/view.html:174 +#: manager/templates/schedule/view.html:225 +#: manager/templates/schedule/view.html:268 +#: manager/templates/workout/view.html:99 +#: manager/templates/workout/view.html:188 msgid "Download as PDF" msgstr "Bajar como PDF" -#: manager/templates/schedule/view.html:299 -msgid "Edit schedule" -msgstr "Editar programa" - -#: manager/templates/schedule/view.html:304 -msgid "Delete schedule" -msgstr "Borrar programa" - #: manager/templates/set/add.html:9 #, python-format msgid "Add exercises to day \"%(day_name)s\"" @@ -2656,56 +2636,6 @@ msgid "" msgstr "" "Recibirás regularmente estor recordatorios hasta que ingreses tu peso actual." -#: manager/templates/workout/log.html:10 manager/templates/workout/log.html:11 -msgid "Weight log" -msgstr "Registro de peso" - -#: manager/templates/workout/log.html:29 -msgid "Weight log for workout" -msgstr "Registro de peso para rutina" - -#: manager/templates/workout/log.html:49 -msgid "Add weight log to this day" -msgstr "Agregar un registro de peso a este día" - -#: manager/templates/workout/log.html:69 -msgid "No weight entries here." -msgstr "No hay registro de peso." - -#: manager/templates/workout/log.html:77 -msgid "No exercises for this day." -msgstr "No hay ejercicios para este día." - -#: manager/templates/workout/log.html:90 -msgid "" -"This page shows the weight logs belonging to this workout\n" -"only. Click on an exercise to see all the historical data for\n" -"it." -msgstr "" -"Esta página muestra los registros de peso que pertenecen a esta rutina\n" -"solamente. Haz click en un ejercicio para ver todos los datos históricos." - -#: manager/templates/workout/log.html:94 -msgid "" -"If on a single day there is more than one entry with the\n" -"same number of repetitions, but different weights, only the entry with the\n" -"higher weight is shown in the diagram." -msgstr "" -"Si en un solo día, hay más de una entrada con el mismo \n" -"número de repeticiones, pero diferentes pesos, solamente la entrada con el\n" -"peso más alto se muestra en el diagrama." - -#: manager/templates/workout/log.html:98 -msgid "" -"Note that only entries with a weight unit (kg or lb) and\n" -"repetitions are charted, other combinations such as time or until failure\n" -"are ignored here." -msgstr "" -"Tenga en cuenta que solo las entradas con una unidad de peso (kg o lb) y\n" -"se grafican las repeticiones, otras combinaciones como el tiempo o hasta el " -"fallo\n" -"se ignoran aquí." - #: manager/templates/workout/overview.html:25 msgid "No templates found." msgstr "No se han encontrado plantillas." @@ -2743,27 +2673,23 @@ msgstr "Añadir conjunto de rutinas a días" msgid "Set the repetitions for each set" msgstr "Pon las repeticiones para cada serie" -#: manager/templates/workout/view.html:73 +#: manager/templates/workout/view.html:75 msgid "Export this workout as a calendar file." msgstr "Exportar esta rutina como archivo de calendario." -#: manager/templates/workout/view.html:144 +#: manager/templates/workout/view.html:156 msgid "Logs" msgstr "Registro" -#: manager/templates/workout/view.html:146 +#: manager/templates/workout/view.html:159 msgid "View logs" msgstr "Ver registro de peso" -#: manager/templates/workout/view.html:169 manager/views/schedule_step.py:99 -msgid "Edit workout" -msgstr "Editar rutina" - -#: manager/templates/workout/view.html:182 manager/views/workout.py:281 +#: manager/templates/workout/view.html:195 manager/views/workout.py:281 msgid "Mark as template" msgstr "Marcar como plantilla" -#: manager/views/day.py:109 +#: manager/views/day.py:105 msgid "Add workout day" msgstr "Añadir día de entrenamiento" @@ -2780,6 +2706,10 @@ msgstr "Rutina para %s" msgid "Create schedule" msgstr "Crear programa" +#: manager/views/schedule_step.py:99 +msgid "Edit workout" +msgstr "Editar rutina" + #: manager/views/workout.py:209 msgid "Copy workout" msgstr "Copiar rutina" @@ -2903,7 +2833,7 @@ msgstr "Cantidad en gramos" msgid "Unit amount, e.g. \"1 Cup\" or \"1/2 spoon\"" msgstr "Unidad, p.ej. \"1 taza\" o \"1/2 cuchara\"" -#: nutrition/models/log.py:52 nutrition/models/meal.py:50 +#: nutrition/models/log.py:52 nutrition/models/meal.py:48 #: nutrition/models/meal_item.py:48 nutrition/models/plan.py:108 msgid "Nutrition plan" msgstr "Plan nutricional" @@ -2916,11 +2846,11 @@ msgstr "Comida" msgid "Date and Time (Approx.)" msgstr "Fecha y Hora (aprox.)" -#: nutrition/models/meal.py:62 +#: nutrition/models/meal.py:60 msgid "Time (approx)" msgstr "Hora (aprox.)" -#: nutrition/models/meal.py:69 +#: nutrition/models/meal.py:67 msgid "" "Give meals a textual description / name such as \"Breakfast\" or \"after " "workout\"" @@ -2948,62 +2878,6 @@ msgstr "" "objetivo de calorías. Puede usar la calculadora o ingresar el valor usted " "mismo." -#: nutrition/templates/bmi/form.html:62 -msgid "Results" -msgstr "Resultados" - -#: nutrition/templates/bmi/form.html:63 -msgid "Your BMI is: " -msgstr "Tu IMC es: " - -#: nutrition/templates/bmi/form.html:71 -msgid "Legend" -msgstr "Leyenda" - -#: nutrition/templates/bmi/form.html:75 -msgid "Adipositas III" -msgstr "Obesidad tipo III" - -#: nutrition/templates/bmi/form.html:79 -msgid "Adipositas II" -msgstr "Obesidad tipo II" - -#: nutrition/templates/bmi/form.html:83 -msgid "Adipositas I" -msgstr "Obesidad tipo I" - -#: nutrition/templates/bmi/form.html:87 -msgid "Overweight" -msgstr "Sobrepeso" - -#: nutrition/templates/bmi/form.html:91 -msgid "Normal weight" -msgstr "Peso normal" - -#: nutrition/templates/bmi/form.html:95 -msgid "Slight underweight" -msgstr "Delgadez leve" - -#: nutrition/templates/bmi/form.html:99 -msgid "Moderate underweight" -msgstr "Delgadez moderada" - -#: nutrition/templates/bmi/form.html:103 -msgid "Strong underweight" -msgstr "Delgadez severa" - -#: nutrition/templates/bmi/form.html:117 -msgid "" -"Use the form to calculate your BMI (Body Mass Index).\n" -"If you have entered data in the weight section, the last entry will\n" -"be used automatically. Otherwise the weight you enter here will be saved\n" -"in a new entry." -msgstr "" -"Usa el formulario para calcular tu IMC (Índice de Masa Corporal).\n" -"Si ya has entrado datos en la sección de peso, el último valor se usará " -"aqui. Si\n" -"no, el peso que entrés aqui se guardará automaticamente." - #: nutrition/templates/ingredient/email_new.tpl:1 #, python-format msgid "" @@ -3058,10 +2932,6 @@ msgstr "No hay ingredientes." msgid "Search" msgstr "Buscar" -#: nutrition/templates/ingredient/overview.html:62 -msgid "Add ingredient" -msgstr "Añadir ingrediente" - #: nutrition/templates/ingredient/view.html:45 nutrition/views/plan.py:229 msgid "Macronutrients" msgstr "Macronutrientes" @@ -3081,20 +2951,11 @@ msgstr "n.d." msgid "Others" msgstr "Otros" -#: nutrition/templates/ingredient/view.html:144 -#: nutrition/templates/units/list.html:46 nutrition/views/unit.py:86 +#: nutrition/templates/ingredient/view.html:143 +#: nutrition/templates/units/list.html:50 nutrition/views/unit.py:86 msgid "Add new weight unit" msgstr "Añadir nueva unidad de peso" -#: nutrition/templates/ingredient/view.html:206 -#: nutrition/templates/ingredient/view.html:209 -msgid "Edit ingredient" -msgstr "Editar ingrediente" - -#: nutrition/templates/ingredient/view.html:213 -msgid "Delete ingredient" -msgstr "Borrar ingrediente" - #: nutrition/templates/rate/form.html:25 msgid "Basal metabolic rate" msgstr "Metabolismo basal" @@ -3179,18 +3040,6 @@ msgstr "" "aproximación. Si basas tu plan de nutrición en estos valores, obsérvate\n" "durante algunas semanas y cambia la cantidad total si es necesario." -#: nutrition/views/bmi.py:89 -msgid "Please make sure your height is within the appropriate range." -msgstr "Por favor asegúrese de que su altura está en el rango apropiado." - -#: nutrition/views/bmi.py:92 -msgid "140 to 230" -msgstr "140 a 230" - -#: nutrition/views/bmi.py:94 -msgid "56 to 90" -msgstr "56 a 90" - #: nutrition/views/ingredient.py:157 msgid "Add a new ingredient" msgstr "Añadir nuevo ingrediente" @@ -3308,7 +3157,7 @@ msgstr "" msgid "Our goal" msgstr "Nuestro objetivo" -#: software/templates/about_us.html:62 +#: software/templates/about_us.html:71 msgid "" "The goal is to build an awesome\n" " and flexible fitness manager, along with a comprehensive and " @@ -3736,6 +3585,143 @@ msgstr "Borrado con éxito." msgid "Delete weight entry for the %s" msgstr "Eliminar la entrada de peso para el %s" +#~ msgid "Move me" +#~ msgstr "Arrástrame" + +#~ msgid "Results" +#~ msgstr "Resultados" + +#~ msgid "Your BMI is: " +#~ msgstr "Tu IMC es: " + +#~ msgid "Legend" +#~ msgstr "Leyenda" + +#~ msgid "Adipositas III" +#~ msgstr "Obesidad tipo III" + +#~ msgid "Adipositas II" +#~ msgstr "Obesidad tipo II" + +#~ msgid "Adipositas I" +#~ msgstr "Obesidad tipo I" + +#~ msgid "Overweight" +#~ msgstr "Sobrepeso" + +#~ msgid "Normal weight" +#~ msgstr "Peso normal" + +#~ msgid "Slight underweight" +#~ msgstr "Delgadez leve" + +#~ msgid "Moderate underweight" +#~ msgstr "Delgadez moderada" + +#~ msgid "Strong underweight" +#~ msgstr "Delgadez severa" + +#~ msgid "" +#~ "Use the form to calculate your BMI (Body Mass Index).\n" +#~ "If you have entered data in the weight section, the last entry will\n" +#~ "be used automatically. Otherwise the weight you enter here will be saved\n" +#~ "in a new entry." +#~ msgstr "" +#~ "Usa el formulario para calcular tu IMC (Índice de Masa Corporal).\n" +#~ "Si ya has entrado datos en la sección de peso, el último valor se usará " +#~ "aqui. Si\n" +#~ "no, el peso que entrés aqui se guardará automaticamente." + +#~ msgid "Please make sure your height is within the appropriate range." +#~ msgstr "Por favor asegúrese de que su altura está en el rango apropiado." + +#~ msgid "140 to 230" +#~ msgstr "140 a 230" + +#~ msgid "56 to 90" +#~ msgstr "56 a 90" + +#~ msgid "" +#~ "If a license has been localized, e.g. the Creative Commons\n" +#~ " licenses for the different countries, add them as separate " +#~ "entries here." +#~ msgstr "" +#~ "Si la licencia ha sido localizada, como por ejemplo las licencias \n" +#~ " Creative Commons para los diferentes países, " +#~ "agrégalas como entradas separadas aquí." + +#~ msgid "Add weight log" +#~ msgstr "Añader registro de peso" + +#~ msgid "This exercise has no repetitions." +#~ msgstr "Este ejercicio no tiene repeticiones." + +#~ msgid "Edit them now." +#~ msgstr "Editar ahora." + +#~ msgid "Add exercises to this workout day" +#~ msgstr "Añadir ejercicios a este dia" + +#~ msgid "Edit schedule" +#~ msgstr "Editar programa" + +#~ msgid "Delete schedule" +#~ msgstr "Borrar programa" + +#~ msgid "Weight log" +#~ msgstr "Registro de peso" + +#~ msgid "Weight log for workout" +#~ msgstr "Registro de peso para rutina" + +#~ msgid "Add weight log to this day" +#~ msgstr "Agregar un registro de peso a este día" + +#~ msgid "No weight entries here." +#~ msgstr "No hay registro de peso." + +#~ msgid "No exercises for this day." +#~ msgstr "No hay ejercicios para este día." + +#~ msgid "" +#~ "This page shows the weight logs belonging to this workout\n" +#~ "only. Click on an exercise to see all the historical data for\n" +#~ "it." +#~ msgstr "" +#~ "Esta página muestra los registros de peso que pertenecen a esta rutina\n" +#~ "solamente. Haz click en un ejercicio para ver todos los datos históricos." + +#~ msgid "" +#~ "If on a single day there is more than one entry with the\n" +#~ "same number of repetitions, but different weights, only the entry with " +#~ "the\n" +#~ "higher weight is shown in the diagram." +#~ msgstr "" +#~ "Si en un solo día, hay más de una entrada con el mismo \n" +#~ "número de repeticiones, pero diferentes pesos, solamente la entrada con " +#~ "el\n" +#~ "peso más alto se muestra en el diagrama." + +#~ msgid "" +#~ "Note that only entries with a weight unit (kg or lb) and\n" +#~ "repetitions are charted, other combinations such as time or until " +#~ "failure\n" +#~ "are ignored here." +#~ msgstr "" +#~ "Tenga en cuenta que solo las entradas con una unidad de peso (kg o lb) y\n" +#~ "se grafican las repeticiones, otras combinaciones como el tiempo o hasta " +#~ "el fallo\n" +#~ "se ignoran aquí." + +#~ msgid "Add ingredient" +#~ msgstr "Añadir ingrediente" + +#~ msgid "Edit ingredient" +#~ msgstr "Editar ingrediente" + +#~ msgid "Delete ingredient" +#~ msgstr "Borrar ingrediente" + #~ msgid "Ingredients pending review" #~ msgstr "Ingredientes esperando revisión" diff --git a/wger/locale/fa/LC_MESSAGES/django.po b/wger/locale/fa/LC_MESSAGES/django.po index 2e2d40cbf..b04b70be1 100644 --- a/wger/locale/fa/LC_MESSAGES/django.po +++ b/wger/locale/fa/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: wger Workout Manager\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-14 15:59+0200\n" +"POT-Creation-Date: 2024-11-14 19:23+0100\n" "PO-Revision-Date: 2024-09-15 10:09+0000\n" "Last-Translator: m93n pk \n" "Language-Team: Persian \n" @@ -19,7 +19,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 5.8-dev\n" -#: config/models/gym_config.py:46 gym/templates/gym/list.html:53 +#: config/models/gym_config.py:46 gym/templates/gym/list.html:56 msgid "Default gym" msgstr "باشگاه پیش فرض" @@ -32,28 +32,28 @@ msgstr "" "کاربران جدید و کاربران قدیدمی که باشگاه پیش فرض ندارند به این باشگاه اضافه " "میشوند." -#: config/views/gym_config.py:42 core/templates/language/view.html:67 -#: core/templates/license/list.html:17 core/templates/misc/license/list.html:18 +#: config/views/gym_config.py:42 core/templates/language/view.html:64 +#: core/templates/license/list.html:17 #: core/templates/repetition_unit/list.html:18 -#: core/templates/tags/render_day.html:39 -#: core/templates/tags/render_day.html:75 core/templates/user/overview.html:204 -#: core/templates/user/overview.html:445 +#: core/templates/user/overview.html:204 core/templates/user/overview.html:467 #: core/templates/weight_unit/list.html:18 #: exercises/templates/categories/admin-overview.html:17 #: exercises/templates/equipment/admin-overview.html:17 -#: exercises/templates/muscles/admin-overview.html:17 -#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:32 -#: gym/templates/contract/list.html:31 gym/templates/contract/view.html:107 -#: gym/templates/contract_option/list.html:32 -#: gym/templates/contract_type/list.html:32 gym/templates/document/list.html:38 -#: gym/templates/gym/list.html:20 gym/templates/gym/list.html:46 -#: gym/templates/gym/member_list.html:87 gym/templates/gym/member_list.html:140 -#: gym/templates/gym/member_list.html:176 -#: manager/templates/calendar/day.html:68 -#: manager/templates/calendar/month.html:85 -#: manager/templates/calendar/partial_overview_table.html:18 -#: manager/templates/schedule/view.html:118 -#: nutrition/templates/ingredient/view.html:165 +#: exercises/templates/muscles/admin-overview.html:16 +#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:31 +#: gym/templates/contract/list.html:30 gym/templates/contract/view.html:106 +#: gym/templates/contract_option/list.html:29 +#: gym/templates/contract_type/list.html:30 gym/templates/document/list.html:38 +#: gym/templates/gym/list.html:19 gym/templates/gym/list.html:48 +#: gym/templates/gym/member_list.html:94 gym/templates/gym/member_list.html:152 +#: gym/templates/gym/member_list.html:190 +#: manager/templates/calendar/day.html:67 +#: manager/templates/calendar/month.html:84 +#: manager/templates/calendar/partial_overview_table.html:16 +#: manager/templates/schedule/view.html:271 +#: manager/templates/workout/view.html:181 +#: nutrition/templates/ingredient/view.html:164 +#: nutrition/templates/ingredient/view.html:209 #: nutrition/templates/units/list.html:19 msgid "Edit" msgstr "ویرایش" @@ -89,25 +89,25 @@ msgstr "برنامه تمرینی جالب من" msgid "Empty placeholder schedule" msgstr "برنامه خالی" -#: core/forms.py:69 core/templates/navigation.html:285 -#: core/templates/navigation.html:291 core/templates/user/login.html:4 +#: core/forms.py:69 core/templates/navigation.html:284 +#: core/templates/navigation.html:290 core/templates/user/login.html:4 #: software/templates/features.html:82 software/templates/features.html:427 msgid "Login" msgstr "ورود" -#: core/forms.py:108 core/forms.py:214 gym/views/export.py:61 +#: core/forms.py:108 core/forms.py:216 gym/views/export.py:61 #: gym/views/gym.py:217 msgid "First name" msgstr "نام" -#: core/forms.py:109 core/forms.py:215 core/templates/user/overview.html:266 +#: core/forms.py:109 core/forms.py:217 core/templates/user/overview.html:284 #: gym/views/export.py:62 gym/views/gym.py:217 msgid "Last name" msgstr "نام خانوادگی" -#: core/forms.py:111 core/forms.py:180 core/templates/user/overview.html:270 +#: core/forms.py:111 core/forms.py:182 core/templates/user/overview.html:288 #: gym/models/contract.py:256 gym/models/gym.py:58 -#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:104 +#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:116 #: gym/templates/gym/new_user.html:30 gym/views/export.py:60 #: mailer/templates/mailer/gym/form.html:4 #: mailer/templates/mailer/gym/overview.html:4 @@ -125,96 +125,95 @@ msgstr "" msgid "Date of Birth" msgstr "تاریخ تولد" -#: core/forms.py:148 +#: core/forms.py:149 msgid "Personal data" msgstr "اطلاعات شخصی" -#: core/forms.py:159 +#: core/forms.py:161 msgid "Workout reminders" msgstr "یاداوری تمرین" -#: core/forms.py:166 +#: core/forms.py:168 msgid "Other settings" msgstr "تنظیمات دیگر" -#: core/forms.py:174 core/views/user.py:624 core/views/user.py:639 -#: core/views/user.py:651 gym/forms.py:73 manager/templates/log/add.html:65 +#: core/forms.py:176 core/views/user.py:623 core/views/user.py:638 +#: core/views/user.py:650 gym/forms.py:73 manager/templates/log/add.html:65 #: manager/templates/set/add.html:70 manager/views/workout.py:203 #: utils/generic_views.py:143 msgid "Save" msgstr "ذخیره" -#: core/forms.py:181 +#: core/forms.py:183 msgid "Used for password resets and, optionally, email reminders." msgstr "استفاده شده برای بازیابی رمز عبور و به صورت اختیاری, یادآوری ایمیل" -#: core/forms.py:210 +#: core/forms.py:212 #, fuzzy #| msgid "This email is already used." msgid "This e-mail address is already in use." msgstr "این ایمیل قبلا استفاده شده است" -#: core/forms.py:231 gym/templates/gym/new_user.html:26 +#: core/forms.py:233 gym/templates/gym/new_user.html:26 #: gym/templates/gym/reset_user_password.html:24 gym/views/gym.py:217 msgid "Password" msgstr "پسورد" -#: core/forms.py:233 +#: core/forms.py:235 msgid "Please enter your current password." msgstr "لطفا رمز عبور فعلی خود را وارد کنید." -#: core/forms.py:242 core/templates/language/view.html:73 -#: core/templates/license/list.html:19 core/templates/misc/license/list.html:22 -#: core/templates/repetition_unit/list.html:20 -#: core/templates/tags/render_day.html:45 -#: core/templates/tags/render_day.html:81 core/templates/user/overview.html:217 -#: core/templates/weight_unit/list.html:20 -#: exercises/templates/categories/admin-overview.html:19 -#: exercises/templates/equipment/admin-overview.html:19 -#: exercises/templates/muscles/admin-overview.html:19 -#: gym/templates/admin_notes/list.html:40 -#: gym/templates/contract_option/list.html:41 -#: gym/templates/contract_type/list.html:41 gym/templates/document/list.html:46 -#: gym/templates/gym/list.html:22 manager/templates/calendar/day.html:73 -#: manager/templates/calendar/month.html:89 -#: manager/templates/calendar/partial_overview_table.html:23 -#: manager/templates/schedule/view.html:122 -#: manager/templates/workout/view.html:188 -#: nutrition/templates/ingredient/view.html:166 +#: core/forms.py:244 core/templates/language/view.html:70 +#: core/templates/license/list.html:21 +#: core/templates/repetition_unit/list.html:22 +#: core/templates/user/overview.html:233 +#: core/templates/weight_unit/list.html:22 +#: exercises/templates/categories/admin-overview.html:21 +#: exercises/templates/equipment/admin-overview.html:21 +#: exercises/templates/muscles/admin-overview.html:20 +#: gym/templates/admin_notes/list.html:37 +#: gym/templates/contract_option/list.html:35 +#: gym/templates/contract_type/list.html:36 gym/templates/document/list.html:46 +#: gym/templates/gym/list.html:23 manager/templates/calendar/day.html:73 +#: manager/templates/calendar/month.html:88 +#: manager/templates/calendar/partial_overview_table.html:22 +#: manager/templates/schedule/view.html:277 +#: manager/templates/workout/view.html:202 +#: nutrition/templates/ingredient/view.html:168 #: nutrition/templates/ingredient/view.html:215 -#: nutrition/templates/units/list.html:22 +#: nutrition/templates/units/list.html:25 msgid "Delete" msgstr "حذف" -#: core/forms.py:251 +#: core/forms.py:253 msgid "Invalid password" msgstr "رمز نامعتبر" -#: core/forms.py:263 core/forms.py:338 +#: core/forms.py:265 core/forms.py:340 msgid "The form is secured with reCAPTCHA" msgstr "این فرم با ریکپچا امن شده است" -#: core/forms.py:279 core/forms.py:301 core/templates/navigation.html:285 -#: core/templates/navigation.html:297 core/templates/template.html:149 -#: core/templates/user/login.html:20 core/views/user.py:298 +#: core/forms.py:281 core/forms.py:303 core/templates/navigation.html:284 +#: core/templates/navigation.html:296 core/templates/template.html:150 +#: core/templates/user/login.html:20 core/views/user.py:297 #: software/templates/features.html:87 software/templates/features.html:422 msgid "Register" msgstr "ثبت" -#: core/forms.py:315 software/templates/features.html:45 +#: core/forms.py:317 software/templates/features.html:45 msgid "Contact" msgstr "ارتباط" -#: core/forms.py:316 +#: core/forms.py:318 msgid "Some way of answering you (e-mail, etc.)" msgstr "راه های ارتباطی با شما(ایمیل و ... )" -#: core/forms.py:324 exercises/models/comment.py:58 manager/models/set.py:61 +#: core/forms.py:326 exercises/models/comment.py:58 manager/models/set.py:61 #: manager/models/setting.py:114 nutrition/models/log.py:77 msgid "Comment" msgstr "نظر" -#: core/forms.py:325 +#: core/forms.py:327 msgid "What do you want to say?" msgstr "چه میخواهید بگویید؟" @@ -448,18 +447,18 @@ msgid "The sum of all hours has to be 24" msgstr "مجموع تمام ساعت ها باید 24 باشد" #: core/models/rep_unit.py:36 core/models/weight_unit.py:36 -#: core/templates/user/overview.html:262 core/views/user.py:599 +#: core/templates/user/overview.html:280 core/views/user.py:598 #: exercises/models/category.py:29 exercises/models/equipment.py:29 #: exercises/models/exercise.py:59 exercises/models/muscle.py:36 #: gym/models/contract.py:52 gym/models/contract.py:103 gym/models/gym.py:46 #: gym/models/user_document.py:84 gym/templates/contract/view.html:50 -#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:96 +#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:108 #: gym/views/gym.py:158 manager/models/schedule.py:55 #: manager/models/workout.py:57 measurements/models/category.py:36 #: nutrition/models/ingredient.py:111 -#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:67 +#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:65 #: nutrition/models/weight_unit.py:38 -#: nutrition/templates/ingredient/view.html:152 +#: nutrition/templates/ingredient/view.html:151 msgid "Name" msgstr "نام" @@ -507,7 +506,7 @@ msgstr "" msgid "Back to \"%(target)s\"" msgstr "بازگشت به \"%(target)s\"" -#: core/templates/delete.html:15 +#: core/templates/delete.html:4 msgid "Are you sure you want to delete this? This action cannot be undone." msgstr "" "آیا مطمئن هستید که میخواهید این کار را انجام دهید؟ بعد پاک کردن قابل برگشت " @@ -565,7 +564,7 @@ msgstr "" msgid "Dashboard" msgstr "داشبورد" -#: core/templates/language/overview.html:4 core/templates/navigation.html:345 +#: core/templates/language/overview.html:4 core/templates/navigation.html:344 msgid "Languages" msgstr "زبان ها" @@ -575,82 +574,72 @@ msgstr "چیزی یافت نشد!" #: core/templates/language/overview.html:22 #: manager/templates/calendar/month.html:132 -#: manager/templates/schedule/overview.html:28 -#: manager/templates/schedule/view.html:144 +#: manager/templates/schedule/view.html:107 #: manager/templates/workout/overview.html:28 #: nutrition/templates/ingredient/overview.html:38 msgid "Add one now." msgstr "اضافه کن" -#: core/templates/language/overview.html:35 core/templates/license/list.html:40 -#: core/templates/misc/license/list.html:43 -#: core/templates/repetition_unit/list.html:43 -#: core/templates/user/overview.html:326 core/templates/user/overview.html:365 -#: core/templates/user/overview.html:401 -#: core/templates/weight_unit/list.html:43 core/views/languages.py:74 +#: core/templates/language/overview.html:34 core/templates/license/list.html:43 +#: core/templates/repetition_unit/list.html:46 +#: core/templates/user/overview.html:344 core/templates/user/overview.html:384 +#: core/templates/user/overview.html:422 +#: core/templates/weight_unit/list.html:46 core/views/languages.py:74 #: core/views/license.py:66 core/views/repetition_units.py:66 #: core/views/weight_units.py:66 -#: exercises/templates/categories/admin-overview.html:38 -#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:67 -#: gym/templates/contract/list.html:73 -#: gym/templates/contract_option/list.html:72 -#: gym/templates/contract_type/list.html:72 gym/templates/document/list.html:79 -#: gym/templates/gym/member_list.html:211 -#: gym/templates/gym/member_list.html:244 -#: gym/templates/gym/member_list.html:281 +#: exercises/templates/categories/admin-overview.html:40 +#: exercises/templates/equipment/admin-overview.html:39 +#: exercises/templates/muscles/admin-overview.html:40 +#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:64 +#: gym/templates/contract/list.html:69 +#: gym/templates/contract_option/list.html:65 +#: gym/templates/contract_type/list.html:66 gym/templates/document/list.html:78 +#: gym/templates/gym/member_list.html:228 +#: gym/templates/gym/member_list.html:264 +#: gym/templates/gym/member_list.html:303 #: mailer/templates/mailer/gym/overview.html:43 +#: nutrition/templates/ingredient/overview.html:60 msgid "Add" msgstr "اضافه کردن" #: core/templates/language/view.html:61 core/templates/user/api_key.html:44 -#: core/templates/user/preferences.html:45 gym/models/contract.py:203 -#: gym/templates/contract/view.html:41 gym/templates/contract/view.html:106 -#: gym/templates/gym/member_list.html:248 -#: manager/templates/schedule/view.html:285 -#: manager/templates/workout/view.html:163 -#: nutrition/templates/ingredient/view.html:202 +#: core/templates/user/preferences.html:50 gym/models/contract.py:203 +#: gym/templates/contract/view.html:41 gym/templates/gym/member_list.html:270 +#: manager/templates/schedule/view.html:257 +#: manager/templates/workout/view.html:177 +#: nutrition/templates/ingredient/view.html:206 msgid "Options" msgstr "امکانات" -#: core/templates/license/list.html:4 core/templates/misc/license/list.html:4 +#: core/templates/license/list.html:4 msgid "License list" msgstr "لیست مجوز ها" -#: core/templates/license/list.html:26 core/templates/misc/license/list.html:30 -#: core/templates/repetition_unit/list.html:28 +#: core/templates/license/list.html:30 +#: core/templates/repetition_unit/list.html:32 #: core/templates/user/overview.html:104 core/templates/user/overview.html:136 -#: core/templates/user/overview.html:185 core/templates/user/overview.html:347 -#: core/templates/user/overview.html:383 core/templates/user/overview.html:427 -#: core/templates/weight_unit/list.html:28 -#: exercises/templates/categories/admin-overview.html:26 -#: exercises/templates/equipment/admin-overview.html:26 -#: exercises/templates/muscles/admin-overview.html:26 -#: gym/templates/admin_notes/list.html:52 gym/templates/contract/list.html:60 -#: gym/templates/contract_option/list.html:58 -#: gym/templates/contract_type/list.html:58 gym/templates/document/list.html:64 -#: gym/templates/gym/list.html:29 gym/templates/gym/member_list.html:229 -#: gym/templates/gym/member_list.html:262 -#: gym/templates/gym/member_list.html:299 +#: core/templates/user/overview.html:185 core/templates/user/overview.html:365 +#: core/templates/user/overview.html:404 core/templates/user/overview.html:448 +#: core/templates/weight_unit/list.html:32 +#: exercises/templates/categories/admin-overview.html:30 +#: exercises/templates/equipment/admin-overview.html:30 +#: exercises/templates/muscles/admin-overview.html:29 +#: gym/templates/admin_notes/list.html:50 gym/templates/contract/list.html:57 +#: gym/templates/contract_option/list.html:52 +#: gym/templates/contract_type/list.html:53 gym/templates/document/list.html:64 +#: gym/templates/gym/list.html:32 gym/templates/gym/member_list.html:248 +#: gym/templates/gym/member_list.html:284 +#: gym/templates/gym/member_list.html:321 #: mailer/templates/mailer/gym/overview.html:30 -#: manager/templates/calendar/day.html:87 -#: nutrition/templates/units/list.html:29 +#: manager/templates/calendar/day.html:88 +#: nutrition/templates/units/list.html:34 msgid "Nothing found" msgstr "چیزی یافت نشد" -#: core/templates/misc/about.html:4 core/templates/template.html:175 +#: core/templates/misc/about.html:4 core/templates/template.html:187 msgid "Imprint" msgstr "" -#: core/templates/misc/license/list.html:47 -#, fuzzy -msgid "" -"If a license has been localized, e.g. the Creative Commons\n" -" licenses for the different countries, add them as separate " -"entries here." -msgstr "" -"اگریک مجوز محلی شده باشد , به عنوان مثال مجوزهای عوام خلاق برای کشورهای " -"مختلف ,ان ها را در اینجا به عنوان ورودی ها جدا اضافه کنید" - #: core/templates/navigation.html:28 software/templates/features.html:437 msgid "Training" msgstr "" @@ -697,8 +686,8 @@ msgstr "" msgid "Exercises" msgstr "تمرینات" -#: core/templates/navigation.html:111 core/templates/navigation.html:184 -#: core/templates/navigation.html:340 +#: core/templates/navigation.html:111 core/templates/navigation.html:185 +#: core/templates/navigation.html:339 msgid "Administration" msgstr "" @@ -729,7 +718,7 @@ msgstr "مواد غذایی" msgid "Nutrition plans" msgstr "" -#: core/templates/navigation.html:165 nutrition/templates/bmi/form.html:50 +#: core/templates/navigation.html:165 msgid "BMI calculator" msgstr "" @@ -737,87 +726,87 @@ msgstr "" msgid "Daily calories calculator" msgstr "" -#: core/templates/navigation.html:179 +#: core/templates/navigation.html:180 #: nutrition/templates/ingredient/overview.html:10 msgid "Ingredient overview" msgstr "" -#: core/templates/navigation.html:187 nutrition/templates/units/list.html:6 +#: core/templates/navigation.html:189 nutrition/templates/units/list.html:6 msgid "Ingredient weight units" msgstr "" -#: core/templates/navigation.html:203 software/templates/features.html:442 +#: core/templates/navigation.html:205 software/templates/features.html:442 msgid "Body weight" msgstr "" -#: core/templates/navigation.html:210 core/templates/user/overview.html:114 +#: core/templates/navigation.html:212 core/templates/user/overview.html:114 msgid "Weight overview" msgstr "بازنگری وزن " -#: core/templates/navigation.html:217 weight/views.py:65 +#: core/templates/navigation.html:216 weight/views.py:65 msgid "Add weight entry" msgstr "وزن را وارد کنید" -#: core/templates/navigation.html:231 +#: core/templates/navigation.html:230 msgid "About this software" msgstr "" -#: core/templates/navigation.html:237 software/templates/about_us.html:5 +#: core/templates/navigation.html:236 software/templates/about_us.html:5 msgid "About us" msgstr "درباره ما" -#: core/templates/navigation.html:243 software/templates/features.html:507 +#: core/templates/navigation.html:242 software/templates/features.html:507 msgid "REST API" msgstr "" -#: core/templates/navigation.html:249 utils/models.py:45 +#: core/templates/navigation.html:248 utils/models.py:45 msgid "License" msgstr "" -#: core/templates/navigation.html:255 +#: core/templates/navigation.html:254 msgid "Developer documentation" msgstr "" -#: core/templates/navigation.html:262 +#: core/templates/navigation.html:261 msgid "Get the code" msgstr "" -#: core/templates/navigation.html:269 core/templates/template.html:214 +#: core/templates/navigation.html:268 core/templates/template.html:226 #: software/templates/features.html:582 msgid "Translate" msgstr "" -#: core/templates/navigation.html:303 core/templates/user/login.html:28 +#: core/templates/navigation.html:302 core/templates/user/login.html:28 msgid "Reset password" msgstr "" -#: core/templates/navigation.html:321 +#: core/templates/navigation.html:320 msgid "My preferences" msgstr "" -#: core/templates/navigation.html:330 +#: core/templates/navigation.html:329 msgid "Logout" msgstr "" -#: core/templates/navigation.html:353 +#: core/templates/navigation.html:352 msgid "Licenses" msgstr "" -#: core/templates/navigation.html:361 +#: core/templates/navigation.html:360 #: core/templates/repetition_unit/list.html:4 msgid "Repetition units" msgstr "" -#: core/templates/navigation.html:369 core/templates/weight_unit/list.html:4 +#: core/templates/navigation.html:368 core/templates/weight_unit/list.html:4 #: nutrition/templates/ingredient/view.html:141 msgid "Weight units" msgstr "" -#: core/templates/navigation.html:377 core/templates/user/list.html:4 +#: core/templates/navigation.html:376 core/templates/user/list.html:4 msgid "User list" msgstr "" -#: core/templates/navigation.html:383 +#: core/templates/navigation.html:382 msgid "Gyms" msgstr "" @@ -878,55 +867,28 @@ msgstr "" msgid "next" msgstr "" -#: core/templates/tags/render_day.html:34 -msgid "Add weight log" +#: core/templates/tags/render_day.html:44 +msgid "Placeholder image for translation" msgstr "" -#: core/templates/tags/render_day.html:116 -msgid "Placeholder image for exercise" -msgstr "" - -#: core/templates/tags/render_day.html:133 -msgid "This exercise has no repetitions." -msgstr "" - -#: core/templates/tags/render_day.html:136 -msgid "Edit them now." -msgstr "" - -#: core/templates/tags/render_day.html:162 -msgid "Add exercises to this workout day" -msgstr "" - -#: core/templates/tags/render_weight_log.html:17 manager/helpers.py:86 -#: manager/models/setting.py:72 manager/templates/set/formset.html:9 -msgid "Reps" -msgstr "" - -#: core/templates/tags/render_weight_log.html:30 manager/forms.py:191 -#: manager/models/log.py:103 manager/models/setting.py:102 -#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 -msgid "RiR" -msgstr "" - -#: core/templates/template.html:122 manager/templates/calendar/month.html:138 -#: manager/templates/schedule/view.html:248 -#: manager/templates/schedule/view.html:269 -#: manager/templates/workout/view.html:84 -#: manager/templates/workout/view.html:137 +#: core/templates/template.html:123 manager/templates/calendar/month.html:138 +#: manager/templates/schedule/view.html:215 +#: manager/templates/schedule/view.html:240 +#: manager/templates/workout/view.html:89 +#: manager/templates/workout/view.html:149 msgid "Close" msgstr "بستن" -#: core/templates/template.html:138 +#: core/templates/template.html:139 msgid "" "You are using a guest account, data entered will be deleted after a week." msgstr "" -#: core/templates/template.html:143 +#: core/templates/template.html:144 msgid "Create some demo entries" msgstr "چند نمونه پر کنید" -#: core/templates/template.html:180 software/templates/features.html:547 +#: core/templates/template.html:192 software/templates/features.html:547 #: software/templates/tos.html:7 msgid "Terms of service" msgstr "" @@ -935,7 +897,7 @@ msgstr "" msgid "Features" msgstr "امکانات" -#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:54 +#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:59 msgid "API key" msgstr "" @@ -974,17 +936,17 @@ msgstr "" msgid "Documentation" msgstr "" -#: core/templates/user/delete_account.html:4 -#: core/templates/user/preferences.html:59 +#: core/templates/user/delete_account.html:3 +#: core/templates/user/preferences.html:62 msgid "Delete account" msgstr "" -#: core/templates/user/delete_account.html:17 +#: core/templates/user/delete_account.html:9 #: exercises/templates/history/overview.html:93 msgid "Are you sure?" msgstr "" -#: core/templates/user/delete_account.html:22 +#: core/templates/user/delete_account.html:14 #, python-format msgid "" "This action will delete the user account \"%(username)s\".\n" @@ -1003,22 +965,22 @@ msgstr "" #: core/templates/user/overview.html:25 core/templates/user/overview.html:68 #: core/templates/user/overview.html:112 core/templates/user/overview.html:144 -#: core/templates/user/overview.html:330 core/templates/user/overview.html:369 -#: core/templates/user/overview.html:405 +#: core/templates/user/overview.html:348 core/templates/user/overview.html:390 +#: core/templates/user/overview.html:426 #, python-format msgid "last %(number)s" msgstr "" #: core/templates/user/overview.html:27 core/templates/user/overview.html:146 -#: core/templates/user/overview.html:325 core/templates/user/overview.html:364 -#: core/templates/user/overview.html:400 gym/templates/gym/member_list.html:210 -#: gym/templates/gym/member_list.html:243 -#: gym/templates/gym/member_list.html:280 +#: core/templates/user/overview.html:343 core/templates/user/overview.html:382 +#: core/templates/user/overview.html:421 gym/templates/gym/member_list.html:226 +#: gym/templates/gym/member_list.html:262 +#: gym/templates/gym/member_list.html:302 msgid "Overview" msgstr "بازنگری" #: core/templates/user/overview.html:28 -#: manager/templates/schedule/view.html:163 +#: manager/templates/schedule/view.html:125 #: manager/templates/workout/overview.html:39 manager/views/schedule_step.py:60 msgid "Add workout" msgstr "" @@ -1050,38 +1012,36 @@ msgstr "" msgid "Number of logs (days)" msgstr "" -#: core/templates/user/overview.html:37 core/views/user.py:600 +#: core/templates/user/overview.html:37 core/views/user.py:599 #: gym/templates/gym/email_inactive_members.html:4 gym/views/gym.py:158 msgid "Last activity" msgstr "" #: core/templates/user/overview.html:58 #: manager/templates/calendar/month.html:128 -#: manager/templates/schedule/view.html:144 #: manager/templates/workout/overview.html:28 msgid "No workouts found." msgstr "تمرین یافت نشد" #: core/templates/user/overview.html:68 manager/forms.py:280 -#: manager/templates/workout/view.html:106 +#: manager/templates/workout/view.html:114 msgid "Log" msgstr "" #: core/templates/user/overview.html:77 manager/models/session.py:83 -#: manager/templates/calendar/partial_overview_table.html:52 +#: manager/templates/calendar/partial_overview_table.html:54 msgid "General impression" msgstr "" -#: core/templates/user/overview.html:78 core/templates/user/overview.html:369 +#: core/templates/user/overview.html:78 core/templates/user/overview.html:390 #: manager/models/session.py:73 -#: manager/templates/calendar/partial_overview_table.html:56 -#: manager/templates/workout/log.html:89 +#: manager/templates/calendar/partial_overview_table.html:58 msgid "Notes" msgstr "" #: core/templates/user/overview.html:79 #: exercises/templates/history/overview.html:30 -#: manager/templates/calendar/partial_overview_table.html:42 +#: manager/templates/calendar/partial_overview_table.html:44 msgid "Time" msgstr "" @@ -1119,121 +1079,121 @@ msgstr "چربی" msgid "kcal" msgstr "کیلو کالری" -#: core/templates/user/overview.html:201 core/templates/user/overview.html:322 -#: core/templates/user/overview.html:361 core/templates/user/overview.html:397 -#: core/templates/user/overview.html:442 gym/templates/gym/list.html:42 -#: gym/templates/gym/member_list.html:84 gym/templates/gym/member_list.html:137 -#: gym/templates/gym/member_list.html:173 -#: gym/templates/gym/member_list.html:207 -#: gym/templates/gym/member_list.html:240 -#: gym/templates/gym/member_list.html:277 -#: manager/templates/schedule/view.html:100 +#: core/templates/user/overview.html:201 core/templates/user/overview.html:340 +#: core/templates/user/overview.html:379 core/templates/user/overview.html:418 +#: core/templates/user/overview.html:463 gym/templates/gym/list.html:45 +#: gym/templates/gym/member_list.html:91 gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:187 +#: gym/templates/gym/member_list.html:223 +#: gym/templates/gym/member_list.html:259 +#: gym/templates/gym/member_list.html:299 +#: manager/templates/schedule/view.html:54 msgid "Actions" msgstr "" -#: core/templates/user/overview.html:207 +#: core/templates/user/overview.html:210 msgid "Deactivate user" msgstr "" -#: core/templates/user/overview.html:209 +#: core/templates/user/overview.html:214 msgid "Activate user" msgstr "" -#: core/templates/user/overview.html:211 +#: core/templates/user/overview.html:223 msgid "Reset user password" msgstr "" -#: core/templates/user/overview.html:214 gym/templates/gym/member_list.html:30 +#: core/templates/user/overview.html:227 gym/templates/gym/member_list.html:30 msgid "Roles" msgstr "" -#: core/templates/user/overview.html:225 +#: core/templates/user/overview.html:243 msgid "Password reset confirmation" msgstr "" -#: core/templates/user/overview.html:229 +#: core/templates/user/overview.html:247 msgid "Do you really want to change this user's password?" msgstr "" -#: core/templates/user/overview.html:232 +#: core/templates/user/overview.html:250 #: exercises/templates/history/overview.html:106 msgid "No" msgstr "" -#: core/templates/user/overview.html:233 +#: core/templates/user/overview.html:251 #: exercises/templates/history/overview.html:99 msgid "Yes" msgstr "" -#: core/templates/user/overview.html:254 gym/templates/gym/member_list.html:93 +#: core/templates/user/overview.html:272 gym/templates/gym/member_list.html:105 msgid "Details" msgstr "" -#: core/templates/user/overview.html:258 gym/views/export.py:57 -#: manager/helpers.py:86 manager/templates/schedule/view.html:98 +#: core/templates/user/overview.html:276 gym/views/export.py:57 +#: manager/helpers.py:86 manager/templates/schedule/view.html:52 msgid "Nr." msgstr "" -#: core/templates/user/overview.html:280 gym/models/contract.py:287 +#: core/templates/user/overview.html:298 gym/models/contract.py:287 #: gym/models/gym.py:50 gym/templates/contract/view.html:75 -#: gym/templates/gym/member_list.html:100 gym/views/export.py:68 +#: gym/templates/gym/member_list.html:112 gym/views/export.py:68 msgid "Phone" msgstr "" -#: core/templates/user/overview.html:284 gym/templates/contract/view.html:87 -#: gym/templates/gym/member_list.html:118 +#: core/templates/user/overview.html:302 gym/templates/contract/view.html:87 +#: gym/templates/gym/member_list.html:130 msgid "Address" msgstr "" -#: core/templates/user/overview.html:295 +#: core/templates/user/overview.html:313 msgid "Registered" msgstr "" -#: core/templates/user/overview.html:299 +#: core/templates/user/overview.html:317 msgid "Last login" msgstr "" -#: core/templates/user/overview.html:304 +#: core/templates/user/overview.html:322 msgid "Status" msgstr "" -#: core/templates/user/overview.html:307 +#: core/templates/user/overview.html:325 msgid "Active" msgstr "" -#: core/templates/user/overview.html:309 +#: core/templates/user/overview.html:327 msgid "Inactive" msgstr "" -#: core/templates/user/overview.html:330 gym/templates/contract/list.html:4 -#: gym/templates/gym/member_list.html:202 +#: core/templates/user/overview.html:348 gym/templates/contract/list.html:4 +#: gym/templates/gym/member_list.html:218 msgid "Contracts" msgstr "" -#: core/templates/user/overview.html:405 gym/templates/document/list.html:4 +#: core/templates/user/overview.html:426 gym/templates/document/list.html:4 msgid "Documents" msgstr "" -#: core/templates/user/overview.html:412 gym/templates/document/list.html:32 -#: manager/forms.py:292 manager/templates/workout/view.html:132 +#: core/templates/user/overview.html:433 gym/templates/document/list.html:33 +#: manager/forms.py:292 manager/templates/workout/view.html:143 msgid "Download" msgstr "" -#: core/templates/user/overview.html:450 gym/views/admin_config.py:44 +#: core/templates/user/overview.html:474 gym/views/admin_config.py:44 #: gym/views/admin_config.py:58 gym/views/user_config.py:46 msgid "Configuration" msgstr "تنظیمات" -#: core/templates/user/overview.html:453 gym/models/user_config.py:92 +#: core/templates/user/overview.html:477 gym/models/user_config.py:92 msgid "Include in inactive overview" msgstr "" -#: core/templates/user/overview.html:486 +#: core/templates/user/overview.html:510 #, python-format msgid "Admin login is only available for users in %(gym_name)s" msgstr "" -#: core/templates/user/overview.html:490 +#: core/templates/user/overview.html:514 msgid "Log in as this user" msgstr "" @@ -1253,19 +1213,19 @@ msgstr "" msgid "Send verification email" msgstr "" -#: core/templates/user/preferences.html:30 +#: core/templates/user/preferences.html:31 msgid "You need to verify your email to contribute exercises" msgstr "" -#: core/templates/user/preferences.html:50 core/views/user.py:611 +#: core/templates/user/preferences.html:55 core/views/user.py:610 msgid "Change password" msgstr "" -#: core/templatetags/wger_extras.py:205 i18n.tpl:37 +#: core/templatetags/wger_extras.py:197 i18n.tpl:37 msgid "kg" msgstr "" -#: core/templatetags/wger_extras.py:207 +#: core/templatetags/wger_extras.py:199 #: nutrition/templates/ingredient/view.html:60 #: nutrition/templates/ingredient/view.html:66 #: nutrition/templates/ingredient/view.html:73 @@ -1277,11 +1237,11 @@ msgctxt "weight unit, i.e. grams" msgid "g" msgstr "" -#: core/templatetags/wger_extras.py:210 i18n.tpl:38 +#: core/templatetags/wger_extras.py:202 i18n.tpl:38 msgid "lb" msgstr "" -#: core/templatetags/wger_extras.py:212 +#: core/templatetags/wger_extras.py:204 msgctxt "weight unit, i.e. ounces" msgid "oz" msgstr "" @@ -1308,13 +1268,13 @@ msgid "Delete {0}?" msgstr "" #: core/views/languages.py:111 core/views/license.py:85 -#: core/views/repetition_units.py:86 core/views/user.py:474 +#: core/views/repetition_units.py:86 core/views/user.py:473 #: core/views/weight_units.py:86 exercises/views/categories.py:98 #: exercises/views/equipment.py:81 exercises/views/muscles.py:87 #: gym/views/admin_notes.py:161 gym/views/config.py:68 #: gym/views/contract.py:186 gym/views/contract_option.py:123 #: gym/views/contract_type.py:123 gym/views/document.py:171 -#: gym/views/gym.py:463 manager/views/day.py:100 manager/views/schedule.py:333 +#: gym/views/gym.py:463 manager/views/day.py:96 manager/views/schedule.py:333 #: manager/views/workout.py:267 nutrition/views/ingredient.py:145 #: nutrition/views/unit.py:143 #, python-brace-format @@ -1340,48 +1300,48 @@ msgstr "" msgid "Your feedback was successfully sent. Thank you!" msgstr "" -#: core/views/user.py:156 +#: core/views/user.py:155 #, python-brace-format msgid "Account \"{0}\" was successfully deleted" msgstr "" -#: core/views/user.py:292 +#: core/views/user.py:291 msgid "You were successfully registered" msgstr "" -#: core/views/user.py:351 +#: core/views/user.py:350 msgid "Settings successfully updated" msgstr "" -#: core/views/user.py:390 +#: core/views/user.py:389 msgid "The user was successfully deactivated" msgstr "" -#: core/views/user.py:427 +#: core/views/user.py:426 msgid "The user was successfully activated" msgstr "" -#: core/views/user.py:442 +#: core/views/user.py:441 msgid "Edit user" msgstr "" -#: core/views/user.py:597 gym/templates/gym/member_list.html:26 +#: core/views/user.py:596 gym/templates/gym/member_list.html:26 #: gym/views/gym.py:158 msgid "ID" msgstr "" -#: core/views/user.py:598 gym/forms.py:95 gym/templates/contract/view.html:55 +#: core/views/user.py:597 gym/forms.py:95 gym/templates/contract/view.html:55 #: gym/templates/gym/member_list.html:27 gym/views/export.py:59 #: gym/views/gym.py:158 gym/views/gym.py:217 msgid "Username" msgstr "" -#: core/views/user.py:601 gym/templates/gym/new_user.html:34 +#: core/views/user.py:600 gym/templates/gym/new_user.html:34 #: gym/views/export.py:58 gym/views/gym.py:217 msgid "Gym" msgstr "" -#: core/views/user.py:660 +#: core/views/user.py:659 #, python-format msgid "A verification email was sent to %(email)s" msgstr "" @@ -1535,11 +1495,6 @@ msgstr "" msgid "Equipment list" msgstr "" -#: exercises/templates/equipment/admin-overview.html:39 -#: exercises/views/equipment.py:92 -msgid "Add new equipment" -msgstr "" - #: exercises/templates/history/overview.html:11 msgid "Exercise admin history" msgstr "" @@ -1589,11 +1544,6 @@ msgstr "" msgid "Muscle overview" msgstr "بررسی عضله" -#: exercises/templates/muscles/admin-overview.html:38 -#: exercises/views/muscles.py:68 -msgid "Add muscle" -msgstr "" - #: exercises/views/categories.py:72 msgid "Add category" msgstr "" @@ -1602,6 +1552,10 @@ msgstr "" msgid "This will also delete all exercises in this category." msgstr "" +#: exercises/views/equipment.py:92 +msgid "Add new equipment" +msgstr "" + #: exercises/views/equipment.py:104 exercises/views/equipment.py:115 msgid "Delete equipment?" msgstr "" @@ -1610,6 +1564,10 @@ msgstr "" msgid "This will delete the exercise from all workouts." msgstr "" +#: exercises/views/muscles.py:68 +msgid "Add muscle" +msgstr "" + #: gallery/templates/images/overview.html:62 msgid "Add image" msgstr "" @@ -1695,7 +1653,7 @@ msgid "Contract is active" msgstr "" #: gym/models/contract.py:237 gym/templates/contract/view.html:69 -#: manager/models/schedule.py:61 manager/templates/schedule/view.html:67 +#: manager/models/schedule.py:61 manager/templates/schedule/view.html:21 msgid "Start date" msgstr "" @@ -1731,7 +1689,7 @@ msgstr "" msgid "Admin: can administrate the different gyms" msgstr "" -#: gym/models/gym.py:65 gym/templates/gym/member_list.html:114 +#: gym/models/gym.py:65 gym/templates/gym/member_list.html:126 msgid "Owner" msgstr "" @@ -1741,7 +1699,7 @@ msgid "" "considered inactive" msgstr "" -#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:152 +#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:166 msgid "Show name in header" msgstr "" @@ -1754,7 +1712,7 @@ msgstr "" msgid "Configuration for {self.gym.name}" msgstr "" -#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:184 +#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:200 msgid "Overview of inactive members" msgstr "" @@ -1778,7 +1736,7 @@ msgstr "" msgid "User notes" msgstr "" -#: gym/templates/contract/list.html:36 +#: gym/templates/contract/list.html:34 msgid "Show" msgstr "نمایش" @@ -1804,11 +1762,11 @@ msgstr "" msgid "Gym list" msgstr "" -#: gym/templates/gym/list.html:50 +#: gym/templates/gym/list.html:53 msgid "Global gym configuration" msgstr "" -#: gym/templates/gym/list.html:67 gym/views/gym.py:171 +#: gym/templates/gym/list.html:69 gym/views/gym.py:171 msgid "Add new gym" msgstr "" @@ -1820,43 +1778,43 @@ msgstr "" msgid "Gym manager" msgstr "" -#: gym/templates/gym/member_list.html:69 +#: gym/templates/gym/member_list.html:76 msgid "This gym has no administrators or trainers" msgstr "" -#: gym/templates/gym/member_list.html:88 +#: gym/templates/gym/member_list.html:98 msgid "Export" msgstr "" -#: gym/templates/gym/member_list.html:125 +#: gym/templates/gym/member_list.html:137 msgid "Members" msgstr "" -#: gym/templates/gym/member_list.html:145 +#: gym/templates/gym/member_list.html:159 msgid "Gym configuration" msgstr "" -#: gym/templates/gym/member_list.html:148 +#: gym/templates/gym/member_list.html:162 msgid "Inactive members" msgstr "" -#: gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:163 msgid "weeks" msgstr "" -#: gym/templates/gym/member_list.html:181 +#: gym/templates/gym/member_list.html:197 msgid "My configuration" msgstr "" -#: gym/templates/gym/member_list.html:215 +#: gym/templates/gym/member_list.html:234 msgid "Types" msgstr "" -#: gym/templates/gym/member_list.html:285 +#: gym/templates/gym/member_list.html:307 msgid "Emails" msgstr "" -#: gym/templates/gym/member_list.html:315 +#: gym/templates/gym/member_list.html:336 msgid "Add member" msgstr "" @@ -2151,28 +2109,38 @@ msgstr "همچنین عناصر مورد نیاز را به انگلیسی نم msgid "Unit" msgstr "" +#: manager/forms.py:191 manager/models/log.py:103 manager/models/setting.py:102 +#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 +msgid "RiR" +msgstr "" + #: manager/forms.py:279 msgid "Type" msgstr "" -#: manager/forms.py:280 manager/templates/workout/view.html:113 +#: manager/forms.py:280 manager/templates/workout/view.html:122 msgid "Table" msgstr "" -#: manager/forms.py:282 manager/templates/workout/view.html:119 +#: manager/forms.py:282 manager/templates/workout/view.html:129 msgid "with images" msgstr "" -#: manager/forms.py:283 manager/templates/workout/view.html:125 +#: manager/forms.py:283 manager/templates/workout/view.html:136 msgid "with comments" msgstr "" +#: manager/helpers.py:86 manager/models/setting.py:72 +#: manager/templates/set/formset.html:9 +msgid "Reps" +msgstr "" + #: manager/management/commands/email-reminders.py:121 msgid "Workout will expire soon" msgstr "" #: manager/models/day.py:34 manager/models/log.py:58 -#: manager/models/session.py:60 manager/templates/schedule/view.html:102 +#: manager/models/session.py:60 manager/templates/schedule/view.html:56 #: manager/templates/workout/view.html:9 manager/templates/workout/view.html:17 #: manager/views/pdf.py:85 manager/views/pdf.py:161 #: manager/views/schedule.py:151 manager/views/schedule.py:221 @@ -2193,7 +2161,7 @@ msgstr "" msgid "Name or short description of the schedule. For example 'Program XYZ'." msgstr "" -#: manager/models/schedule.py:65 manager/templates/schedule/view.html:71 +#: manager/models/schedule.py:65 manager/templates/schedule/view.html:25 msgid "Schedule active" msgstr "" @@ -2204,7 +2172,7 @@ msgid "" "inactive" msgstr "" -#: manager/models/schedule.py:77 manager/templates/schedule/view.html:81 +#: manager/models/schedule.py:77 manager/templates/schedule/view.html:35 msgid "Is a loop" msgstr "" @@ -2223,7 +2191,7 @@ msgid "The duration in weeks" msgstr "" #: manager/models/schedule_step.py:64 manager/models/set.py:53 -#: manager/models/setting.py:113 nutrition/models/meal.py:55 +#: manager/models/setting.py:113 nutrition/models/meal.py:53 #: nutrition/models/meal_item.py:66 msgid "Order" msgstr "" @@ -2357,7 +2325,7 @@ msgstr "" msgid "Workout session" msgstr "" -#: manager/templates/calendar/partial_overview_table.html:27 +#: manager/templates/calendar/partial_overview_table.html:26 msgid "Delete with logs" msgstr "" @@ -2377,21 +2345,27 @@ msgid "" "will simply be edited. Weight entries are always added." msgstr "" -#: manager/templates/schedule/overview.html:5 +#: manager/templates/schedule/overview.html:4 msgid "Your schedules" msgstr "" #: manager/templates/schedule/overview.html:19 -#: manager/templates/schedule/view.html:131 -#: manager/templates/schedule/view.html:183 +#: manager/templates/schedule/view.html:96 +#: manager/templates/schedule/view.html:146 #: manager/templates/workout/overview.html:16 msgid "active" msgstr "" -#: manager/templates/schedule/overview.html:28 +#: manager/templates/schedule/overview.html:27 msgid "No schedules found." msgstr "" +#: manager/templates/schedule/overview.html:28 +#, fuzzy +#| msgid "Add one now." +msgid "Add one now" +msgstr "اضافه کن" + #: manager/templates/schedule/overview.html:36 msgid "" "Schedules are collections of workouts that you do in\n" @@ -2404,10 +2378,11 @@ msgid "" " before jumping to the next. It is also possible to create a loop, so " "you\n" " always do the same workouts in succession, e.g. A > B > C > A > B > " -"C and so on." +"C and so\n" +" on." msgstr "" -#: manager/templates/schedule/overview.html:43 +#: manager/templates/schedule/overview.html:44 msgid "" "The currently active schedule will remain active (and be\n" " shown e.g. in your dashboard) till it reaches the last workout or " @@ -2423,25 +2398,21 @@ msgstr "" msgid "Schedule" msgstr "" -#: manager/templates/schedule/view.html:85 +#: manager/templates/schedule/view.html:39 msgid "" "This schedule is a loop and will go through the workouts above till you " "deactivate it" msgstr "" -#: manager/templates/schedule/view.html:103 +#: manager/templates/schedule/view.html:57 msgid "Weeks" msgstr "" -#: manager/templates/schedule/view.html:115 -msgid "Move me" -msgstr "" - -#: manager/templates/schedule/view.html:156 +#: manager/templates/schedule/view.html:121 msgid "Start schedule" msgstr "" -#: manager/templates/schedule/view.html:187 +#: manager/templates/schedule/view.html:150 #, python-format msgid "" "%(weeks)s Week\n" @@ -2452,11 +2423,11 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: manager/templates/schedule/view.html:221 +#: manager/templates/schedule/view.html:184 msgid "Adding workouts" msgstr "" -#: manager/templates/schedule/view.html:223 +#: manager/templates/schedule/view.html:186 msgid "" "Add as many workouts to the schedule as you want. You can\n" " edit the order by dragging and dropping them. It's also possible " @@ -2464,44 +2435,37 @@ msgid "" " than once." msgstr "" -#: manager/templates/schedule/view.html:232 -#: manager/templates/schedule/view.html:243 -#: manager/templates/schedule/view.html:290 +#: manager/templates/schedule/view.html:195 +#: manager/templates/schedule/view.html:209 +#: manager/templates/schedule/view.html:263 #: manager/templates/workout/view.html:69 -#: manager/templates/workout/view.html:79 -#: manager/templates/workout/view.html:178 +#: manager/templates/workout/view.html:83 +#: manager/templates/workout/view.html:192 msgid "Export calendar file" msgstr "" -#: manager/templates/schedule/view.html:236 +#: manager/templates/schedule/view.html:201 msgid "Export this schedule as a calendar file." msgstr "" -#: manager/templates/schedule/view.html:237 -#: manager/templates/workout/view.html:74 +#: manager/templates/schedule/view.html:202 +#: manager/templates/workout/view.html:76 msgid "" "You can then import the file it into your calendar\n" " application for example google calendar, outlook or " "iCal. This will create\n" " an appointment for each training day with the " -"appropriate exercises." +"appropriate\n" +" exercises." msgstr "" -#: manager/templates/schedule/view.html:258 -#: manager/templates/schedule/view.html:294 -#: manager/templates/workout/view.html:94 -#: manager/templates/workout/view.html:174 +#: manager/templates/schedule/view.html:225 +#: manager/templates/schedule/view.html:268 +#: manager/templates/workout/view.html:99 +#: manager/templates/workout/view.html:188 msgid "Download as PDF" msgstr "" -#: manager/templates/schedule/view.html:299 -msgid "Edit schedule" -msgstr "" - -#: manager/templates/schedule/view.html:304 -msgid "Delete schedule" -msgstr "" - #: manager/templates/set/add.html:9 #, python-format msgid "Add exercises to day \"%(day_name)s\"" @@ -2566,47 +2530,6 @@ msgid "" "You will regularly receive such reminders till you enter your current weight." msgstr "" -#: manager/templates/workout/log.html:10 manager/templates/workout/log.html:11 -msgid "Weight log" -msgstr "" - -#: manager/templates/workout/log.html:29 -msgid "Weight log for workout" -msgstr "" - -#: manager/templates/workout/log.html:49 -msgid "Add weight log to this day" -msgstr "" - -#: manager/templates/workout/log.html:69 -msgid "No weight entries here." -msgstr "" - -#: manager/templates/workout/log.html:77 -msgid "No exercises for this day." -msgstr "" - -#: manager/templates/workout/log.html:90 -msgid "" -"This page shows the weight logs belonging to this workout\n" -"only. Click on an exercise to see all the historical data for\n" -"it." -msgstr "" - -#: manager/templates/workout/log.html:94 -msgid "" -"If on a single day there is more than one entry with the\n" -"same number of repetitions, but different weights, only the entry with the\n" -"higher weight is shown in the diagram." -msgstr "" - -#: manager/templates/workout/log.html:98 -msgid "" -"Note that only entries with a weight unit (kg or lb) and\n" -"repetitions are charted, other combinations such as time or until failure\n" -"are ignored here." -msgstr "" - #: manager/templates/workout/overview.html:25 #, fuzzy #| msgid "No workouts found." @@ -2648,27 +2571,23 @@ msgstr "" msgid "Set the repetitions for each set" msgstr "" -#: manager/templates/workout/view.html:73 +#: manager/templates/workout/view.html:75 msgid "Export this workout as a calendar file." msgstr "" -#: manager/templates/workout/view.html:144 +#: manager/templates/workout/view.html:156 msgid "Logs" msgstr "" -#: manager/templates/workout/view.html:146 +#: manager/templates/workout/view.html:159 msgid "View logs" msgstr "" -#: manager/templates/workout/view.html:169 manager/views/schedule_step.py:99 -msgid "Edit workout" -msgstr "" - -#: manager/templates/workout/view.html:182 manager/views/workout.py:281 +#: manager/templates/workout/view.html:195 manager/views/workout.py:281 msgid "Mark as template" msgstr "" -#: manager/views/day.py:109 +#: manager/views/day.py:105 msgid "Add workout day" msgstr "" @@ -2685,6 +2604,10 @@ msgstr "" msgid "Create schedule" msgstr "" +#: manager/views/schedule_step.py:99 +msgid "Edit workout" +msgstr "" + #: manager/views/workout.py:209 msgid "Copy workout" msgstr "" @@ -2812,7 +2735,7 @@ msgstr "" msgid "Unit amount, e.g. \"1 Cup\" or \"1/2 spoon\"" msgstr "" -#: nutrition/models/log.py:52 nutrition/models/meal.py:50 +#: nutrition/models/log.py:52 nutrition/models/meal.py:48 #: nutrition/models/meal_item.py:48 nutrition/models/plan.py:108 msgid "Nutrition plan" msgstr "برنامه غذایی" @@ -2825,11 +2748,11 @@ msgstr "" msgid "Date and Time (Approx.)" msgstr "" -#: nutrition/models/meal.py:62 +#: nutrition/models/meal.py:60 msgid "Time (approx)" msgstr "" -#: nutrition/models/meal.py:69 +#: nutrition/models/meal.py:67 msgid "" "Give meals a textual description / name such as \"Breakfast\" or \"after " "workout\"" @@ -2851,58 +2774,6 @@ msgid "" "calories. You can use the calculator or enter the value yourself." msgstr "" -#: nutrition/templates/bmi/form.html:62 -msgid "Results" -msgstr "" - -#: nutrition/templates/bmi/form.html:63 -msgid "Your BMI is: " -msgstr "" - -#: nutrition/templates/bmi/form.html:71 -msgid "Legend" -msgstr "" - -#: nutrition/templates/bmi/form.html:75 -msgid "Adipositas III" -msgstr "" - -#: nutrition/templates/bmi/form.html:79 -msgid "Adipositas II" -msgstr "" - -#: nutrition/templates/bmi/form.html:83 -msgid "Adipositas I" -msgstr "" - -#: nutrition/templates/bmi/form.html:87 -msgid "Overweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:91 -msgid "Normal weight" -msgstr "" - -#: nutrition/templates/bmi/form.html:95 -msgid "Slight underweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:99 -msgid "Moderate underweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:103 -msgid "Strong underweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:117 -msgid "" -"Use the form to calculate your BMI (Body Mass Index).\n" -"If you have entered data in the weight section, the last entry will\n" -"be used automatically. Otherwise the weight you enter here will be saved\n" -"in a new entry." -msgstr "" - #: nutrition/templates/ingredient/email_new.tpl:1 #, python-format msgid "" @@ -2948,10 +2819,6 @@ msgstr "" msgid "Search" msgstr "" -#: nutrition/templates/ingredient/overview.html:62 -msgid "Add ingredient" -msgstr "" - #: nutrition/templates/ingredient/view.html:45 nutrition/views/plan.py:229 msgid "Macronutrients" msgstr "" @@ -2971,20 +2838,11 @@ msgstr "" msgid "Others" msgstr "" -#: nutrition/templates/ingredient/view.html:144 -#: nutrition/templates/units/list.html:46 nutrition/views/unit.py:86 +#: nutrition/templates/ingredient/view.html:143 +#: nutrition/templates/units/list.html:50 nutrition/views/unit.py:86 msgid "Add new weight unit" msgstr "" -#: nutrition/templates/ingredient/view.html:206 -#: nutrition/templates/ingredient/view.html:209 -msgid "Edit ingredient" -msgstr "" - -#: nutrition/templates/ingredient/view.html:213 -msgid "Delete ingredient" -msgstr "" - #: nutrition/templates/rate/form.html:25 msgid "Basal metabolic rate" msgstr "" @@ -3053,18 +2911,6 @@ msgid "" "yourself for some weeks and change the total amount if needed." msgstr "" -#: nutrition/views/bmi.py:89 -msgid "Please make sure your height is within the appropriate range." -msgstr "" - -#: nutrition/views/bmi.py:92 -msgid "140 to 230" -msgstr "" - -#: nutrition/views/bmi.py:94 -msgid "56 to 90" -msgstr "" - #: nutrition/views/ingredient.py:157 msgid "Add a new ingredient" msgstr "" @@ -3549,6 +3395,15 @@ msgstr "" msgid "Delete weight entry for the %s" msgstr "" +#, fuzzy +#~ msgid "" +#~ "If a license has been localized, e.g. the Creative Commons\n" +#~ " licenses for the different countries, add them as separate " +#~ "entries here." +#~ msgstr "" +#~ "اگریک مجوز محلی شده باشد , به عنوان مثال مجوزهای عوام خلاق برای کشورهای " +#~ "مختلف ,ان ها را در اینجا به عنوان ورودی ها جدا اضافه کنید" + #, fuzzy #~| msgid "About us" #~ msgid "About" diff --git a/wger/locale/fi/LC_MESSAGES/django.po b/wger/locale/fi/LC_MESSAGES/django.po index d8dfc5e9c..16b308241 100644 --- a/wger/locale/fi/LC_MESSAGES/django.po +++ b/wger/locale/fi/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: wger Workout Manager\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-14 15:59+0200\n" +"POT-Creation-Date: 2024-11-14 19:23+0100\n" "PO-Revision-Date: 2022-08-31 10:16+0000\n" "Last-Translator: Juuso Haapanen \n" "Language-Team: Finnish \n" @@ -20,7 +20,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.14.1-dev\n" -#: config/models/gym_config.py:46 gym/templates/gym/list.html:53 +#: config/models/gym_config.py:46 gym/templates/gym/list.html:56 msgid "Default gym" msgstr "Oletussali" @@ -32,28 +32,28 @@ msgstr "" "Valitse oletussali tälle asennukselle. Tämä sali asetetaan kaikille uusille " "käyttäjille ja päivitetään niille käyttäjille joilta sali vielä puuttuu." -#: config/views/gym_config.py:42 core/templates/language/view.html:67 -#: core/templates/license/list.html:17 core/templates/misc/license/list.html:18 +#: config/views/gym_config.py:42 core/templates/language/view.html:64 +#: core/templates/license/list.html:17 #: core/templates/repetition_unit/list.html:18 -#: core/templates/tags/render_day.html:39 -#: core/templates/tags/render_day.html:75 core/templates/user/overview.html:204 -#: core/templates/user/overview.html:445 +#: core/templates/user/overview.html:204 core/templates/user/overview.html:467 #: core/templates/weight_unit/list.html:18 #: exercises/templates/categories/admin-overview.html:17 #: exercises/templates/equipment/admin-overview.html:17 -#: exercises/templates/muscles/admin-overview.html:17 -#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:32 -#: gym/templates/contract/list.html:31 gym/templates/contract/view.html:107 -#: gym/templates/contract_option/list.html:32 -#: gym/templates/contract_type/list.html:32 gym/templates/document/list.html:38 -#: gym/templates/gym/list.html:20 gym/templates/gym/list.html:46 -#: gym/templates/gym/member_list.html:87 gym/templates/gym/member_list.html:140 -#: gym/templates/gym/member_list.html:176 -#: manager/templates/calendar/day.html:68 -#: manager/templates/calendar/month.html:85 -#: manager/templates/calendar/partial_overview_table.html:18 -#: manager/templates/schedule/view.html:118 -#: nutrition/templates/ingredient/view.html:165 +#: exercises/templates/muscles/admin-overview.html:16 +#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:31 +#: gym/templates/contract/list.html:30 gym/templates/contract/view.html:106 +#: gym/templates/contract_option/list.html:29 +#: gym/templates/contract_type/list.html:30 gym/templates/document/list.html:38 +#: gym/templates/gym/list.html:19 gym/templates/gym/list.html:48 +#: gym/templates/gym/member_list.html:94 gym/templates/gym/member_list.html:152 +#: gym/templates/gym/member_list.html:190 +#: manager/templates/calendar/day.html:67 +#: manager/templates/calendar/month.html:84 +#: manager/templates/calendar/partial_overview_table.html:16 +#: manager/templates/schedule/view.html:271 +#: manager/templates/workout/view.html:181 +#: nutrition/templates/ingredient/view.html:164 +#: nutrition/templates/ingredient/view.html:209 #: nutrition/templates/units/list.html:19 msgid "Edit" msgstr "Muokkaa" @@ -89,25 +89,25 @@ msgstr "Minun hieno harjoitusohjelmani" msgid "Empty placeholder schedule" msgstr "Tyhjä tilanvaraaja-aikataulu" -#: core/forms.py:69 core/templates/navigation.html:285 -#: core/templates/navigation.html:291 core/templates/user/login.html:4 +#: core/forms.py:69 core/templates/navigation.html:284 +#: core/templates/navigation.html:290 core/templates/user/login.html:4 #: software/templates/features.html:82 software/templates/features.html:427 msgid "Login" msgstr "Kirjaudu sisään" -#: core/forms.py:108 core/forms.py:214 gym/views/export.py:61 +#: core/forms.py:108 core/forms.py:216 gym/views/export.py:61 #: gym/views/gym.py:217 msgid "First name" msgstr "Etunimi" -#: core/forms.py:109 core/forms.py:215 core/templates/user/overview.html:266 +#: core/forms.py:109 core/forms.py:217 core/templates/user/overview.html:284 #: gym/views/export.py:62 gym/views/gym.py:217 msgid "Last name" msgstr "Sukunimi" -#: core/forms.py:111 core/forms.py:180 core/templates/user/overview.html:270 +#: core/forms.py:111 core/forms.py:182 core/templates/user/overview.html:288 #: gym/models/contract.py:256 gym/models/gym.py:58 -#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:104 +#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:116 #: gym/templates/gym/new_user.html:30 gym/views/export.py:60 #: mailer/templates/mailer/gym/form.html:4 #: mailer/templates/mailer/gym/overview.html:4 @@ -128,100 +128,99 @@ msgstr "" msgid "Date of Birth" msgstr "" -#: core/forms.py:148 +#: core/forms.py:149 msgid "Personal data" msgstr "Henkilökohtaiset tiedot" -#: core/forms.py:159 +#: core/forms.py:161 msgid "Workout reminders" msgstr "Harjoitusmuistutukset" -#: core/forms.py:166 +#: core/forms.py:168 msgid "Other settings" msgstr "Muut asetukset" -#: core/forms.py:174 core/views/user.py:624 core/views/user.py:639 -#: core/views/user.py:651 gym/forms.py:73 manager/templates/log/add.html:65 +#: core/forms.py:176 core/views/user.py:623 core/views/user.py:638 +#: core/views/user.py:650 gym/forms.py:73 manager/templates/log/add.html:65 #: manager/templates/set/add.html:70 manager/views/workout.py:203 #: utils/generic_views.py:143 msgid "Save" msgstr "Tallenna" -#: core/forms.py:181 +#: core/forms.py:183 msgid "Used for password resets and, optionally, email reminders." msgstr "" "Käytetään uuden salasanan hankkimiseen ja valinnaisesti " "sähköpostimuistutuksiin." -#: core/forms.py:210 +#: core/forms.py:212 #, fuzzy #| msgid "This email is already used." msgid "This e-mail address is already in use." msgstr "Tämä sähköpostiosoite on jo käytössä." -#: core/forms.py:231 gym/templates/gym/new_user.html:26 +#: core/forms.py:233 gym/templates/gym/new_user.html:26 #: gym/templates/gym/reset_user_password.html:24 gym/views/gym.py:217 msgid "Password" msgstr "Salasana" -#: core/forms.py:233 +#: core/forms.py:235 msgid "Please enter your current password." msgstr "Anna nykyinen salasanasi." -#: core/forms.py:242 core/templates/language/view.html:73 -#: core/templates/license/list.html:19 core/templates/misc/license/list.html:22 -#: core/templates/repetition_unit/list.html:20 -#: core/templates/tags/render_day.html:45 -#: core/templates/tags/render_day.html:81 core/templates/user/overview.html:217 -#: core/templates/weight_unit/list.html:20 -#: exercises/templates/categories/admin-overview.html:19 -#: exercises/templates/equipment/admin-overview.html:19 -#: exercises/templates/muscles/admin-overview.html:19 -#: gym/templates/admin_notes/list.html:40 -#: gym/templates/contract_option/list.html:41 -#: gym/templates/contract_type/list.html:41 gym/templates/document/list.html:46 -#: gym/templates/gym/list.html:22 manager/templates/calendar/day.html:73 -#: manager/templates/calendar/month.html:89 -#: manager/templates/calendar/partial_overview_table.html:23 -#: manager/templates/schedule/view.html:122 -#: manager/templates/workout/view.html:188 -#: nutrition/templates/ingredient/view.html:166 +#: core/forms.py:244 core/templates/language/view.html:70 +#: core/templates/license/list.html:21 +#: core/templates/repetition_unit/list.html:22 +#: core/templates/user/overview.html:233 +#: core/templates/weight_unit/list.html:22 +#: exercises/templates/categories/admin-overview.html:21 +#: exercises/templates/equipment/admin-overview.html:21 +#: exercises/templates/muscles/admin-overview.html:20 +#: gym/templates/admin_notes/list.html:37 +#: gym/templates/contract_option/list.html:35 +#: gym/templates/contract_type/list.html:36 gym/templates/document/list.html:46 +#: gym/templates/gym/list.html:23 manager/templates/calendar/day.html:73 +#: manager/templates/calendar/month.html:88 +#: manager/templates/calendar/partial_overview_table.html:22 +#: manager/templates/schedule/view.html:277 +#: manager/templates/workout/view.html:202 +#: nutrition/templates/ingredient/view.html:168 #: nutrition/templates/ingredient/view.html:215 -#: nutrition/templates/units/list.html:22 +#: nutrition/templates/units/list.html:25 msgid "Delete" msgstr "Poista" -#: core/forms.py:251 +#: core/forms.py:253 msgid "Invalid password" msgstr "Väärä salasana" -#: core/forms.py:263 core/forms.py:338 +#: core/forms.py:265 core/forms.py:340 msgid "The form is secured with reCAPTCHA" msgstr "Lomake on suojattu reCAPTCHA:lla" -#: core/forms.py:279 core/forms.py:301 core/templates/navigation.html:285 -#: core/templates/navigation.html:297 core/templates/template.html:149 -#: core/templates/user/login.html:20 core/views/user.py:298 +#: core/forms.py:281 core/forms.py:303 core/templates/navigation.html:284 +#: core/templates/navigation.html:296 core/templates/template.html:150 +#: core/templates/user/login.html:20 core/views/user.py:297 #: software/templates/features.html:87 software/templates/features.html:422 msgid "Register" msgstr "Rekisteröidy" -#: core/forms.py:315 software/templates/features.html:45 +#: core/forms.py:317 software/templates/features.html:45 msgid "Contact" msgstr "Yhteydenotto" -#: core/forms.py:316 +#: core/forms.py:318 #, fuzzy #| msgid "Some way of answering you (email, etc.)" msgid "Some way of answering you (e-mail, etc.)" msgstr "Jokin vastaustapa(sähköposti, etc.)" -#: core/forms.py:324 exercises/models/comment.py:58 manager/models/set.py:61 +#: core/forms.py:326 exercises/models/comment.py:58 manager/models/set.py:61 #: manager/models/setting.py:114 nutrition/models/log.py:77 msgid "Comment" msgstr "Kommentti" -#: core/forms.py:325 +#: core/forms.py:327 msgid "What do you want to say?" msgstr "Mitä haluat sanoa?" @@ -447,18 +446,18 @@ msgid "The sum of all hours has to be 24" msgstr "Tuntien summa tarvitsee olla 24" #: core/models/rep_unit.py:36 core/models/weight_unit.py:36 -#: core/templates/user/overview.html:262 core/views/user.py:599 +#: core/templates/user/overview.html:280 core/views/user.py:598 #: exercises/models/category.py:29 exercises/models/equipment.py:29 #: exercises/models/exercise.py:59 exercises/models/muscle.py:36 #: gym/models/contract.py:52 gym/models/contract.py:103 gym/models/gym.py:46 #: gym/models/user_document.py:84 gym/templates/contract/view.html:50 -#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:96 +#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:108 #: gym/views/gym.py:158 manager/models/schedule.py:55 #: manager/models/workout.py:57 measurements/models/category.py:36 #: nutrition/models/ingredient.py:111 -#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:67 +#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:65 #: nutrition/models/weight_unit.py:38 -#: nutrition/templates/ingredient/view.html:152 +#: nutrition/templates/ingredient/view.html:151 msgid "Name" msgstr "Nimi" @@ -504,7 +503,7 @@ msgstr "" msgid "Back to \"%(target)s\"" msgstr "" -#: core/templates/delete.html:15 +#: core/templates/delete.html:4 #, fuzzy msgid "Are you sure you want to delete this? This action cannot be undone." msgstr "Oletko varma, että haluat poistaa tämän? Toimintoa ei voi perua." @@ -561,7 +560,7 @@ msgstr "" msgid "Dashboard" msgstr "" -#: core/templates/language/overview.html:4 core/templates/navigation.html:345 +#: core/templates/language/overview.html:4 core/templates/navigation.html:344 msgid "Languages" msgstr "Kielet" @@ -571,79 +570,72 @@ msgstr "Mitään ei löytynyt." #: core/templates/language/overview.html:22 #: manager/templates/calendar/month.html:132 -#: manager/templates/schedule/overview.html:28 -#: manager/templates/schedule/view.html:144 +#: manager/templates/schedule/view.html:107 #: manager/templates/workout/overview.html:28 #: nutrition/templates/ingredient/overview.html:38 msgid "Add one now." msgstr "" -#: core/templates/language/overview.html:35 core/templates/license/list.html:40 -#: core/templates/misc/license/list.html:43 -#: core/templates/repetition_unit/list.html:43 -#: core/templates/user/overview.html:326 core/templates/user/overview.html:365 -#: core/templates/user/overview.html:401 -#: core/templates/weight_unit/list.html:43 core/views/languages.py:74 +#: core/templates/language/overview.html:34 core/templates/license/list.html:43 +#: core/templates/repetition_unit/list.html:46 +#: core/templates/user/overview.html:344 core/templates/user/overview.html:384 +#: core/templates/user/overview.html:422 +#: core/templates/weight_unit/list.html:46 core/views/languages.py:74 #: core/views/license.py:66 core/views/repetition_units.py:66 #: core/views/weight_units.py:66 -#: exercises/templates/categories/admin-overview.html:38 -#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:67 -#: gym/templates/contract/list.html:73 -#: gym/templates/contract_option/list.html:72 -#: gym/templates/contract_type/list.html:72 gym/templates/document/list.html:79 -#: gym/templates/gym/member_list.html:211 -#: gym/templates/gym/member_list.html:244 -#: gym/templates/gym/member_list.html:281 +#: exercises/templates/categories/admin-overview.html:40 +#: exercises/templates/equipment/admin-overview.html:39 +#: exercises/templates/muscles/admin-overview.html:40 +#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:64 +#: gym/templates/contract/list.html:69 +#: gym/templates/contract_option/list.html:65 +#: gym/templates/contract_type/list.html:66 gym/templates/document/list.html:78 +#: gym/templates/gym/member_list.html:228 +#: gym/templates/gym/member_list.html:264 +#: gym/templates/gym/member_list.html:303 #: mailer/templates/mailer/gym/overview.html:43 +#: nutrition/templates/ingredient/overview.html:60 msgid "Add" msgstr "Lisää" #: core/templates/language/view.html:61 core/templates/user/api_key.html:44 -#: core/templates/user/preferences.html:45 gym/models/contract.py:203 -#: gym/templates/contract/view.html:41 gym/templates/contract/view.html:106 -#: gym/templates/gym/member_list.html:248 -#: manager/templates/schedule/view.html:285 -#: manager/templates/workout/view.html:163 -#: nutrition/templates/ingredient/view.html:202 +#: core/templates/user/preferences.html:50 gym/models/contract.py:203 +#: gym/templates/contract/view.html:41 gym/templates/gym/member_list.html:270 +#: manager/templates/schedule/view.html:257 +#: manager/templates/workout/view.html:177 +#: nutrition/templates/ingredient/view.html:206 msgid "Options" msgstr "Asetukset" -#: core/templates/license/list.html:4 core/templates/misc/license/list.html:4 +#: core/templates/license/list.html:4 msgid "License list" msgstr "" -#: core/templates/license/list.html:26 core/templates/misc/license/list.html:30 -#: core/templates/repetition_unit/list.html:28 +#: core/templates/license/list.html:30 +#: core/templates/repetition_unit/list.html:32 #: core/templates/user/overview.html:104 core/templates/user/overview.html:136 -#: core/templates/user/overview.html:185 core/templates/user/overview.html:347 -#: core/templates/user/overview.html:383 core/templates/user/overview.html:427 -#: core/templates/weight_unit/list.html:28 -#: exercises/templates/categories/admin-overview.html:26 -#: exercises/templates/equipment/admin-overview.html:26 -#: exercises/templates/muscles/admin-overview.html:26 -#: gym/templates/admin_notes/list.html:52 gym/templates/contract/list.html:60 -#: gym/templates/contract_option/list.html:58 -#: gym/templates/contract_type/list.html:58 gym/templates/document/list.html:64 -#: gym/templates/gym/list.html:29 gym/templates/gym/member_list.html:229 -#: gym/templates/gym/member_list.html:262 -#: gym/templates/gym/member_list.html:299 +#: core/templates/user/overview.html:185 core/templates/user/overview.html:365 +#: core/templates/user/overview.html:404 core/templates/user/overview.html:448 +#: core/templates/weight_unit/list.html:32 +#: exercises/templates/categories/admin-overview.html:30 +#: exercises/templates/equipment/admin-overview.html:30 +#: exercises/templates/muscles/admin-overview.html:29 +#: gym/templates/admin_notes/list.html:50 gym/templates/contract/list.html:57 +#: gym/templates/contract_option/list.html:52 +#: gym/templates/contract_type/list.html:53 gym/templates/document/list.html:64 +#: gym/templates/gym/list.html:32 gym/templates/gym/member_list.html:248 +#: gym/templates/gym/member_list.html:284 +#: gym/templates/gym/member_list.html:321 #: mailer/templates/mailer/gym/overview.html:30 -#: manager/templates/calendar/day.html:87 -#: nutrition/templates/units/list.html:29 +#: manager/templates/calendar/day.html:88 +#: nutrition/templates/units/list.html:34 msgid "Nothing found" msgstr "" -#: core/templates/misc/about.html:4 core/templates/template.html:175 +#: core/templates/misc/about.html:4 core/templates/template.html:187 msgid "Imprint" msgstr "" -#: core/templates/misc/license/list.html:47 -msgid "" -"If a license has been localized, e.g. the Creative Commons\n" -" licenses for the different countries, add them as separate " -"entries here." -msgstr "" - #: core/templates/navigation.html:28 software/templates/features.html:437 msgid "Training" msgstr "" @@ -688,8 +680,8 @@ msgstr "" msgid "Exercises" msgstr "Harjoitukset" -#: core/templates/navigation.html:111 core/templates/navigation.html:184 -#: core/templates/navigation.html:340 +#: core/templates/navigation.html:111 core/templates/navigation.html:185 +#: core/templates/navigation.html:339 msgid "Administration" msgstr "" @@ -720,7 +712,7 @@ msgstr "" msgid "Nutrition plans" msgstr "" -#: core/templates/navigation.html:165 nutrition/templates/bmi/form.html:50 +#: core/templates/navigation.html:165 msgid "BMI calculator" msgstr "Painoindeksilaskuri" @@ -728,87 +720,87 @@ msgstr "Painoindeksilaskuri" msgid "Daily calories calculator" msgstr "" -#: core/templates/navigation.html:179 +#: core/templates/navigation.html:180 #: nutrition/templates/ingredient/overview.html:10 msgid "Ingredient overview" msgstr "" -#: core/templates/navigation.html:187 nutrition/templates/units/list.html:6 +#: core/templates/navigation.html:189 nutrition/templates/units/list.html:6 msgid "Ingredient weight units" msgstr "" -#: core/templates/navigation.html:203 software/templates/features.html:442 +#: core/templates/navigation.html:205 software/templates/features.html:442 msgid "Body weight" msgstr "" -#: core/templates/navigation.html:210 core/templates/user/overview.html:114 +#: core/templates/navigation.html:212 core/templates/user/overview.html:114 msgid "Weight overview" msgstr "" -#: core/templates/navigation.html:217 weight/views.py:65 +#: core/templates/navigation.html:216 weight/views.py:65 msgid "Add weight entry" msgstr "" -#: core/templates/navigation.html:231 +#: core/templates/navigation.html:230 msgid "About this software" msgstr "" -#: core/templates/navigation.html:237 software/templates/about_us.html:5 +#: core/templates/navigation.html:236 software/templates/about_us.html:5 msgid "About us" msgstr "Meistä" -#: core/templates/navigation.html:243 software/templates/features.html:507 +#: core/templates/navigation.html:242 software/templates/features.html:507 msgid "REST API" msgstr "" -#: core/templates/navigation.html:249 utils/models.py:45 +#: core/templates/navigation.html:248 utils/models.py:45 msgid "License" msgstr "" -#: core/templates/navigation.html:255 +#: core/templates/navigation.html:254 msgid "Developer documentation" msgstr "" -#: core/templates/navigation.html:262 +#: core/templates/navigation.html:261 msgid "Get the code" msgstr "" -#: core/templates/navigation.html:269 core/templates/template.html:214 +#: core/templates/navigation.html:268 core/templates/template.html:226 #: software/templates/features.html:582 msgid "Translate" msgstr "" -#: core/templates/navigation.html:303 core/templates/user/login.html:28 +#: core/templates/navigation.html:302 core/templates/user/login.html:28 msgid "Reset password" msgstr "" -#: core/templates/navigation.html:321 +#: core/templates/navigation.html:320 msgid "My preferences" msgstr "" -#: core/templates/navigation.html:330 +#: core/templates/navigation.html:329 msgid "Logout" msgstr "" -#: core/templates/navigation.html:353 +#: core/templates/navigation.html:352 msgid "Licenses" msgstr "" -#: core/templates/navigation.html:361 +#: core/templates/navigation.html:360 #: core/templates/repetition_unit/list.html:4 msgid "Repetition units" msgstr "" -#: core/templates/navigation.html:369 core/templates/weight_unit/list.html:4 +#: core/templates/navigation.html:368 core/templates/weight_unit/list.html:4 #: nutrition/templates/ingredient/view.html:141 msgid "Weight units" msgstr "" -#: core/templates/navigation.html:377 core/templates/user/list.html:4 +#: core/templates/navigation.html:376 core/templates/user/list.html:4 msgid "User list" msgstr "" -#: core/templates/navigation.html:383 +#: core/templates/navigation.html:382 msgid "Gyms" msgstr "" @@ -867,55 +859,28 @@ msgstr "edellinen" msgid "next" msgstr "seuraava" -#: core/templates/tags/render_day.html:34 -msgid "Add weight log" +#: core/templates/tags/render_day.html:44 +msgid "Placeholder image for translation" msgstr "" -#: core/templates/tags/render_day.html:116 -msgid "Placeholder image for exercise" -msgstr "" - -#: core/templates/tags/render_day.html:133 -msgid "This exercise has no repetitions." -msgstr "" - -#: core/templates/tags/render_day.html:136 -msgid "Edit them now." -msgstr "" - -#: core/templates/tags/render_day.html:162 -msgid "Add exercises to this workout day" -msgstr "" - -#: core/templates/tags/render_weight_log.html:17 manager/helpers.py:86 -#: manager/models/setting.py:72 manager/templates/set/formset.html:9 -msgid "Reps" -msgstr "Toistot" - -#: core/templates/tags/render_weight_log.html:30 manager/forms.py:191 -#: manager/models/log.py:103 manager/models/setting.py:102 -#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 -msgid "RiR" -msgstr "" - -#: core/templates/template.html:122 manager/templates/calendar/month.html:138 -#: manager/templates/schedule/view.html:248 -#: manager/templates/schedule/view.html:269 -#: manager/templates/workout/view.html:84 -#: manager/templates/workout/view.html:137 +#: core/templates/template.html:123 manager/templates/calendar/month.html:138 +#: manager/templates/schedule/view.html:215 +#: manager/templates/schedule/view.html:240 +#: manager/templates/workout/view.html:89 +#: manager/templates/workout/view.html:149 msgid "Close" msgstr "" -#: core/templates/template.html:138 +#: core/templates/template.html:139 msgid "" "You are using a guest account, data entered will be deleted after a week." msgstr "" -#: core/templates/template.html:143 +#: core/templates/template.html:144 msgid "Create some demo entries" msgstr "" -#: core/templates/template.html:180 software/templates/features.html:547 +#: core/templates/template.html:192 software/templates/features.html:547 #: software/templates/tos.html:7 msgid "Terms of service" msgstr "Käyttöehdot" @@ -924,7 +889,7 @@ msgstr "Käyttöehdot" msgid "Features" msgstr "" -#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:54 +#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:59 msgid "API key" msgstr "" @@ -963,17 +928,17 @@ msgstr "" msgid "Documentation" msgstr "" -#: core/templates/user/delete_account.html:4 -#: core/templates/user/preferences.html:59 +#: core/templates/user/delete_account.html:3 +#: core/templates/user/preferences.html:62 msgid "Delete account" msgstr "" -#: core/templates/user/delete_account.html:17 +#: core/templates/user/delete_account.html:9 #: exercises/templates/history/overview.html:93 msgid "Are you sure?" msgstr "Oletko varma?" -#: core/templates/user/delete_account.html:22 +#: core/templates/user/delete_account.html:14 #, python-format msgid "" "This action will delete the user account \"%(username)s\".\n" @@ -992,22 +957,22 @@ msgstr "" #: core/templates/user/overview.html:25 core/templates/user/overview.html:68 #: core/templates/user/overview.html:112 core/templates/user/overview.html:144 -#: core/templates/user/overview.html:330 core/templates/user/overview.html:369 -#: core/templates/user/overview.html:405 +#: core/templates/user/overview.html:348 core/templates/user/overview.html:390 +#: core/templates/user/overview.html:426 #, python-format msgid "last %(number)s" msgstr "" #: core/templates/user/overview.html:27 core/templates/user/overview.html:146 -#: core/templates/user/overview.html:325 core/templates/user/overview.html:364 -#: core/templates/user/overview.html:400 gym/templates/gym/member_list.html:210 -#: gym/templates/gym/member_list.html:243 -#: gym/templates/gym/member_list.html:280 +#: core/templates/user/overview.html:343 core/templates/user/overview.html:382 +#: core/templates/user/overview.html:421 gym/templates/gym/member_list.html:226 +#: gym/templates/gym/member_list.html:262 +#: gym/templates/gym/member_list.html:302 msgid "Overview" msgstr "" #: core/templates/user/overview.html:28 -#: manager/templates/schedule/view.html:163 +#: manager/templates/schedule/view.html:125 #: manager/templates/workout/overview.html:39 manager/views/schedule_step.py:60 msgid "Add workout" msgstr "" @@ -1039,38 +1004,36 @@ msgstr "" msgid "Number of logs (days)" msgstr "" -#: core/templates/user/overview.html:37 core/views/user.py:600 +#: core/templates/user/overview.html:37 core/views/user.py:599 #: gym/templates/gym/email_inactive_members.html:4 gym/views/gym.py:158 msgid "Last activity" msgstr "" #: core/templates/user/overview.html:58 #: manager/templates/calendar/month.html:128 -#: manager/templates/schedule/view.html:144 #: manager/templates/workout/overview.html:28 msgid "No workouts found." msgstr "" #: core/templates/user/overview.html:68 manager/forms.py:280 -#: manager/templates/workout/view.html:106 +#: manager/templates/workout/view.html:114 msgid "Log" msgstr "" #: core/templates/user/overview.html:77 manager/models/session.py:83 -#: manager/templates/calendar/partial_overview_table.html:52 +#: manager/templates/calendar/partial_overview_table.html:54 msgid "General impression" msgstr "" -#: core/templates/user/overview.html:78 core/templates/user/overview.html:369 +#: core/templates/user/overview.html:78 core/templates/user/overview.html:390 #: manager/models/session.py:73 -#: manager/templates/calendar/partial_overview_table.html:56 -#: manager/templates/workout/log.html:89 +#: manager/templates/calendar/partial_overview_table.html:58 msgid "Notes" msgstr "" #: core/templates/user/overview.html:79 #: exercises/templates/history/overview.html:30 -#: manager/templates/calendar/partial_overview_table.html:42 +#: manager/templates/calendar/partial_overview_table.html:44 msgid "Time" msgstr "" @@ -1108,121 +1071,121 @@ msgstr "" msgid "kcal" msgstr "kcal" -#: core/templates/user/overview.html:201 core/templates/user/overview.html:322 -#: core/templates/user/overview.html:361 core/templates/user/overview.html:397 -#: core/templates/user/overview.html:442 gym/templates/gym/list.html:42 -#: gym/templates/gym/member_list.html:84 gym/templates/gym/member_list.html:137 -#: gym/templates/gym/member_list.html:173 -#: gym/templates/gym/member_list.html:207 -#: gym/templates/gym/member_list.html:240 -#: gym/templates/gym/member_list.html:277 -#: manager/templates/schedule/view.html:100 +#: core/templates/user/overview.html:201 core/templates/user/overview.html:340 +#: core/templates/user/overview.html:379 core/templates/user/overview.html:418 +#: core/templates/user/overview.html:463 gym/templates/gym/list.html:45 +#: gym/templates/gym/member_list.html:91 gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:187 +#: gym/templates/gym/member_list.html:223 +#: gym/templates/gym/member_list.html:259 +#: gym/templates/gym/member_list.html:299 +#: manager/templates/schedule/view.html:54 msgid "Actions" msgstr "" -#: core/templates/user/overview.html:207 +#: core/templates/user/overview.html:210 msgid "Deactivate user" msgstr "" -#: core/templates/user/overview.html:209 +#: core/templates/user/overview.html:214 msgid "Activate user" msgstr "" -#: core/templates/user/overview.html:211 +#: core/templates/user/overview.html:223 msgid "Reset user password" msgstr "" -#: core/templates/user/overview.html:214 gym/templates/gym/member_list.html:30 +#: core/templates/user/overview.html:227 gym/templates/gym/member_list.html:30 msgid "Roles" msgstr "" -#: core/templates/user/overview.html:225 +#: core/templates/user/overview.html:243 msgid "Password reset confirmation" msgstr "" -#: core/templates/user/overview.html:229 +#: core/templates/user/overview.html:247 msgid "Do you really want to change this user's password?" msgstr "" -#: core/templates/user/overview.html:232 +#: core/templates/user/overview.html:250 #: exercises/templates/history/overview.html:106 msgid "No" msgstr "" -#: core/templates/user/overview.html:233 +#: core/templates/user/overview.html:251 #: exercises/templates/history/overview.html:99 msgid "Yes" msgstr "" -#: core/templates/user/overview.html:254 gym/templates/gym/member_list.html:93 +#: core/templates/user/overview.html:272 gym/templates/gym/member_list.html:105 msgid "Details" msgstr "" -#: core/templates/user/overview.html:258 gym/views/export.py:57 -#: manager/helpers.py:86 manager/templates/schedule/view.html:98 +#: core/templates/user/overview.html:276 gym/views/export.py:57 +#: manager/helpers.py:86 manager/templates/schedule/view.html:52 msgid "Nr." msgstr "" -#: core/templates/user/overview.html:280 gym/models/contract.py:287 +#: core/templates/user/overview.html:298 gym/models/contract.py:287 #: gym/models/gym.py:50 gym/templates/contract/view.html:75 -#: gym/templates/gym/member_list.html:100 gym/views/export.py:68 +#: gym/templates/gym/member_list.html:112 gym/views/export.py:68 msgid "Phone" msgstr "Puhelin" -#: core/templates/user/overview.html:284 gym/templates/contract/view.html:87 -#: gym/templates/gym/member_list.html:118 +#: core/templates/user/overview.html:302 gym/templates/contract/view.html:87 +#: gym/templates/gym/member_list.html:130 msgid "Address" msgstr "Osoite" -#: core/templates/user/overview.html:295 +#: core/templates/user/overview.html:313 msgid "Registered" msgstr "" -#: core/templates/user/overview.html:299 +#: core/templates/user/overview.html:317 msgid "Last login" msgstr "" -#: core/templates/user/overview.html:304 +#: core/templates/user/overview.html:322 msgid "Status" msgstr "" -#: core/templates/user/overview.html:307 +#: core/templates/user/overview.html:325 msgid "Active" msgstr "" -#: core/templates/user/overview.html:309 +#: core/templates/user/overview.html:327 msgid "Inactive" msgstr "" -#: core/templates/user/overview.html:330 gym/templates/contract/list.html:4 -#: gym/templates/gym/member_list.html:202 +#: core/templates/user/overview.html:348 gym/templates/contract/list.html:4 +#: gym/templates/gym/member_list.html:218 msgid "Contracts" msgstr "" -#: core/templates/user/overview.html:405 gym/templates/document/list.html:4 +#: core/templates/user/overview.html:426 gym/templates/document/list.html:4 msgid "Documents" msgstr "" -#: core/templates/user/overview.html:412 gym/templates/document/list.html:32 -#: manager/forms.py:292 manager/templates/workout/view.html:132 +#: core/templates/user/overview.html:433 gym/templates/document/list.html:33 +#: manager/forms.py:292 manager/templates/workout/view.html:143 msgid "Download" msgstr "" -#: core/templates/user/overview.html:450 gym/views/admin_config.py:44 +#: core/templates/user/overview.html:474 gym/views/admin_config.py:44 #: gym/views/admin_config.py:58 gym/views/user_config.py:46 msgid "Configuration" msgstr "Asetukset" -#: core/templates/user/overview.html:453 gym/models/user_config.py:92 +#: core/templates/user/overview.html:477 gym/models/user_config.py:92 msgid "Include in inactive overview" msgstr "" -#: core/templates/user/overview.html:486 +#: core/templates/user/overview.html:510 #, python-format msgid "Admin login is only available for users in %(gym_name)s" msgstr "" -#: core/templates/user/overview.html:490 +#: core/templates/user/overview.html:514 msgid "Log in as this user" msgstr "" @@ -1242,19 +1205,19 @@ msgstr "" msgid "Send verification email" msgstr "" -#: core/templates/user/preferences.html:30 +#: core/templates/user/preferences.html:31 msgid "You need to verify your email to contribute exercises" msgstr "" -#: core/templates/user/preferences.html:50 core/views/user.py:611 +#: core/templates/user/preferences.html:55 core/views/user.py:610 msgid "Change password" msgstr "" -#: core/templatetags/wger_extras.py:205 i18n.tpl:37 +#: core/templatetags/wger_extras.py:197 i18n.tpl:37 msgid "kg" msgstr "kg" -#: core/templatetags/wger_extras.py:207 +#: core/templatetags/wger_extras.py:199 #: nutrition/templates/ingredient/view.html:60 #: nutrition/templates/ingredient/view.html:66 #: nutrition/templates/ingredient/view.html:73 @@ -1266,11 +1229,11 @@ msgctxt "weight unit, i.e. grams" msgid "g" msgstr "g" -#: core/templatetags/wger_extras.py:210 i18n.tpl:38 +#: core/templatetags/wger_extras.py:202 i18n.tpl:38 msgid "lb" msgstr "" -#: core/templatetags/wger_extras.py:212 +#: core/templatetags/wger_extras.py:204 msgctxt "weight unit, i.e. ounces" msgid "oz" msgstr "" @@ -1297,13 +1260,13 @@ msgid "Delete {0}?" msgstr "Poista {0}?" #: core/views/languages.py:111 core/views/license.py:85 -#: core/views/repetition_units.py:86 core/views/user.py:474 +#: core/views/repetition_units.py:86 core/views/user.py:473 #: core/views/weight_units.py:86 exercises/views/categories.py:98 #: exercises/views/equipment.py:81 exercises/views/muscles.py:87 #: gym/views/admin_notes.py:161 gym/views/config.py:68 #: gym/views/contract.py:186 gym/views/contract_option.py:123 #: gym/views/contract_type.py:123 gym/views/document.py:171 -#: gym/views/gym.py:463 manager/views/day.py:100 manager/views/schedule.py:333 +#: gym/views/gym.py:463 manager/views/day.py:96 manager/views/schedule.py:333 #: manager/views/workout.py:267 nutrition/views/ingredient.py:145 #: nutrition/views/unit.py:143 #, python-brace-format @@ -1329,48 +1292,48 @@ msgstr "" msgid "Your feedback was successfully sent. Thank you!" msgstr "" -#: core/views/user.py:156 +#: core/views/user.py:155 #, python-brace-format msgid "Account \"{0}\" was successfully deleted" msgstr "" -#: core/views/user.py:292 +#: core/views/user.py:291 msgid "You were successfully registered" msgstr "" -#: core/views/user.py:351 +#: core/views/user.py:350 msgid "Settings successfully updated" msgstr "" -#: core/views/user.py:390 +#: core/views/user.py:389 msgid "The user was successfully deactivated" msgstr "" -#: core/views/user.py:427 +#: core/views/user.py:426 msgid "The user was successfully activated" msgstr "" -#: core/views/user.py:442 +#: core/views/user.py:441 msgid "Edit user" msgstr "" -#: core/views/user.py:597 gym/templates/gym/member_list.html:26 +#: core/views/user.py:596 gym/templates/gym/member_list.html:26 #: gym/views/gym.py:158 msgid "ID" msgstr "" -#: core/views/user.py:598 gym/forms.py:95 gym/templates/contract/view.html:55 +#: core/views/user.py:597 gym/forms.py:95 gym/templates/contract/view.html:55 #: gym/templates/gym/member_list.html:27 gym/views/export.py:59 #: gym/views/gym.py:158 gym/views/gym.py:217 msgid "Username" msgstr "" -#: core/views/user.py:601 gym/templates/gym/new_user.html:34 +#: core/views/user.py:600 gym/templates/gym/new_user.html:34 #: gym/views/export.py:58 gym/views/gym.py:217 msgid "Gym" msgstr "" -#: core/views/user.py:660 +#: core/views/user.py:659 #, python-format msgid "A verification email was sent to %(email)s" msgstr "" @@ -1522,11 +1485,6 @@ msgstr "" msgid "Equipment list" msgstr "" -#: exercises/templates/equipment/admin-overview.html:39 -#: exercises/views/equipment.py:92 -msgid "Add new equipment" -msgstr "" - #: exercises/templates/history/overview.html:11 msgid "Exercise admin history" msgstr "" @@ -1576,11 +1534,6 @@ msgstr "" msgid "Muscle overview" msgstr "" -#: exercises/templates/muscles/admin-overview.html:38 -#: exercises/views/muscles.py:68 -msgid "Add muscle" -msgstr "" - #: exercises/views/categories.py:72 msgid "Add category" msgstr "" @@ -1589,6 +1542,10 @@ msgstr "" msgid "This will also delete all exercises in this category." msgstr "" +#: exercises/views/equipment.py:92 +msgid "Add new equipment" +msgstr "" + #: exercises/views/equipment.py:104 exercises/views/equipment.py:115 msgid "Delete equipment?" msgstr "" @@ -1597,6 +1554,10 @@ msgstr "" msgid "This will delete the exercise from all workouts." msgstr "" +#: exercises/views/muscles.py:68 +msgid "Add muscle" +msgstr "" + #: gallery/templates/images/overview.html:62 msgid "Add image" msgstr "" @@ -1682,7 +1643,7 @@ msgid "Contract is active" msgstr "" #: gym/models/contract.py:237 gym/templates/contract/view.html:69 -#: manager/models/schedule.py:61 manager/templates/schedule/view.html:67 +#: manager/models/schedule.py:61 manager/templates/schedule/view.html:21 msgid "Start date" msgstr "" @@ -1718,7 +1679,7 @@ msgstr "" msgid "Admin: can administrate the different gyms" msgstr "" -#: gym/models/gym.py:65 gym/templates/gym/member_list.html:114 +#: gym/models/gym.py:65 gym/templates/gym/member_list.html:126 msgid "Owner" msgstr "" @@ -1728,7 +1689,7 @@ msgid "" "considered inactive" msgstr "" -#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:152 +#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:166 msgid "Show name in header" msgstr "" @@ -1741,7 +1702,7 @@ msgstr "" msgid "Configuration for {self.gym.name}" msgstr "" -#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:184 +#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:200 msgid "Overview of inactive members" msgstr "" @@ -1765,7 +1726,7 @@ msgstr "" msgid "User notes" msgstr "" -#: gym/templates/contract/list.html:36 +#: gym/templates/contract/list.html:34 msgid "Show" msgstr "Näytä" @@ -1791,11 +1752,11 @@ msgstr "" msgid "Gym list" msgstr "" -#: gym/templates/gym/list.html:50 +#: gym/templates/gym/list.html:53 msgid "Global gym configuration" msgstr "" -#: gym/templates/gym/list.html:67 gym/views/gym.py:171 +#: gym/templates/gym/list.html:69 gym/views/gym.py:171 msgid "Add new gym" msgstr "" @@ -1807,43 +1768,43 @@ msgstr "" msgid "Gym manager" msgstr "" -#: gym/templates/gym/member_list.html:69 +#: gym/templates/gym/member_list.html:76 msgid "This gym has no administrators or trainers" msgstr "" -#: gym/templates/gym/member_list.html:88 +#: gym/templates/gym/member_list.html:98 msgid "Export" msgstr "" -#: gym/templates/gym/member_list.html:125 +#: gym/templates/gym/member_list.html:137 msgid "Members" msgstr "" -#: gym/templates/gym/member_list.html:145 +#: gym/templates/gym/member_list.html:159 msgid "Gym configuration" msgstr "" -#: gym/templates/gym/member_list.html:148 +#: gym/templates/gym/member_list.html:162 msgid "Inactive members" msgstr "" -#: gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:163 msgid "weeks" msgstr "" -#: gym/templates/gym/member_list.html:181 +#: gym/templates/gym/member_list.html:197 msgid "My configuration" msgstr "" -#: gym/templates/gym/member_list.html:215 +#: gym/templates/gym/member_list.html:234 msgid "Types" msgstr "" -#: gym/templates/gym/member_list.html:285 +#: gym/templates/gym/member_list.html:307 msgid "Emails" msgstr "" -#: gym/templates/gym/member_list.html:315 +#: gym/templates/gym/member_list.html:336 msgid "Add member" msgstr "" @@ -2132,28 +2093,38 @@ msgstr "Näytä raaka-aineet myös englanniksi" msgid "Unit" msgstr "" +#: manager/forms.py:191 manager/models/log.py:103 manager/models/setting.py:102 +#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 +msgid "RiR" +msgstr "" + #: manager/forms.py:279 msgid "Type" msgstr "" -#: manager/forms.py:280 manager/templates/workout/view.html:113 +#: manager/forms.py:280 manager/templates/workout/view.html:122 msgid "Table" msgstr "" -#: manager/forms.py:282 manager/templates/workout/view.html:119 +#: manager/forms.py:282 manager/templates/workout/view.html:129 msgid "with images" msgstr "" -#: manager/forms.py:283 manager/templates/workout/view.html:125 +#: manager/forms.py:283 manager/templates/workout/view.html:136 msgid "with comments" msgstr "" +#: manager/helpers.py:86 manager/models/setting.py:72 +#: manager/templates/set/formset.html:9 +msgid "Reps" +msgstr "Toistot" + #: manager/management/commands/email-reminders.py:121 msgid "Workout will expire soon" msgstr "" #: manager/models/day.py:34 manager/models/log.py:58 -#: manager/models/session.py:60 manager/templates/schedule/view.html:102 +#: manager/models/session.py:60 manager/templates/schedule/view.html:56 #: manager/templates/workout/view.html:9 manager/templates/workout/view.html:17 #: manager/views/pdf.py:85 manager/views/pdf.py:161 #: manager/views/schedule.py:151 manager/views/schedule.py:221 @@ -2174,7 +2145,7 @@ msgstr "" msgid "Name or short description of the schedule. For example 'Program XYZ'." msgstr "" -#: manager/models/schedule.py:65 manager/templates/schedule/view.html:71 +#: manager/models/schedule.py:65 manager/templates/schedule/view.html:25 msgid "Schedule active" msgstr "" @@ -2185,7 +2156,7 @@ msgid "" "inactive" msgstr "" -#: manager/models/schedule.py:77 manager/templates/schedule/view.html:81 +#: manager/models/schedule.py:77 manager/templates/schedule/view.html:35 msgid "Is a loop" msgstr "" @@ -2204,7 +2175,7 @@ msgid "The duration in weeks" msgstr "" #: manager/models/schedule_step.py:64 manager/models/set.py:53 -#: manager/models/setting.py:113 nutrition/models/meal.py:55 +#: manager/models/setting.py:113 nutrition/models/meal.py:53 #: nutrition/models/meal_item.py:66 msgid "Order" msgstr "" @@ -2336,7 +2307,7 @@ msgstr "" msgid "Workout session" msgstr "" -#: manager/templates/calendar/partial_overview_table.html:27 +#: manager/templates/calendar/partial_overview_table.html:26 msgid "Delete with logs" msgstr "" @@ -2356,21 +2327,25 @@ msgid "" "will simply be edited. Weight entries are always added." msgstr "" -#: manager/templates/schedule/overview.html:5 +#: manager/templates/schedule/overview.html:4 msgid "Your schedules" msgstr "" #: manager/templates/schedule/overview.html:19 -#: manager/templates/schedule/view.html:131 -#: manager/templates/schedule/view.html:183 +#: manager/templates/schedule/view.html:96 +#: manager/templates/schedule/view.html:146 #: manager/templates/workout/overview.html:16 msgid "active" msgstr "" -#: manager/templates/schedule/overview.html:28 +#: manager/templates/schedule/overview.html:27 msgid "No schedules found." msgstr "" +#: manager/templates/schedule/overview.html:28 +msgid "Add one now" +msgstr "" + #: manager/templates/schedule/overview.html:36 msgid "" "Schedules are collections of workouts that you do in\n" @@ -2383,10 +2358,11 @@ msgid "" " before jumping to the next. It is also possible to create a loop, so " "you\n" " always do the same workouts in succession, e.g. A > B > C > A > B > " -"C and so on." +"C and so\n" +" on." msgstr "" -#: manager/templates/schedule/overview.html:43 +#: manager/templates/schedule/overview.html:44 msgid "" "The currently active schedule will remain active (and be\n" " shown e.g. in your dashboard) till it reaches the last workout or " @@ -2402,25 +2378,21 @@ msgstr "" msgid "Schedule" msgstr "" -#: manager/templates/schedule/view.html:85 +#: manager/templates/schedule/view.html:39 msgid "" "This schedule is a loop and will go through the workouts above till you " "deactivate it" msgstr "" -#: manager/templates/schedule/view.html:103 +#: manager/templates/schedule/view.html:57 msgid "Weeks" msgstr "" -#: manager/templates/schedule/view.html:115 -msgid "Move me" -msgstr "" - -#: manager/templates/schedule/view.html:156 +#: manager/templates/schedule/view.html:121 msgid "Start schedule" msgstr "" -#: manager/templates/schedule/view.html:187 +#: manager/templates/schedule/view.html:150 #, python-format msgid "" "%(weeks)s Week\n" @@ -2431,11 +2403,11 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: manager/templates/schedule/view.html:221 +#: manager/templates/schedule/view.html:184 msgid "Adding workouts" msgstr "" -#: manager/templates/schedule/view.html:223 +#: manager/templates/schedule/view.html:186 msgid "" "Add as many workouts to the schedule as you want. You can\n" " edit the order by dragging and dropping them. It's also possible " @@ -2443,44 +2415,37 @@ msgid "" " than once." msgstr "" -#: manager/templates/schedule/view.html:232 -#: manager/templates/schedule/view.html:243 -#: manager/templates/schedule/view.html:290 +#: manager/templates/schedule/view.html:195 +#: manager/templates/schedule/view.html:209 +#: manager/templates/schedule/view.html:263 #: manager/templates/workout/view.html:69 -#: manager/templates/workout/view.html:79 -#: manager/templates/workout/view.html:178 +#: manager/templates/workout/view.html:83 +#: manager/templates/workout/view.html:192 msgid "Export calendar file" msgstr "" -#: manager/templates/schedule/view.html:236 +#: manager/templates/schedule/view.html:201 msgid "Export this schedule as a calendar file." msgstr "" -#: manager/templates/schedule/view.html:237 -#: manager/templates/workout/view.html:74 +#: manager/templates/schedule/view.html:202 +#: manager/templates/workout/view.html:76 msgid "" "You can then import the file it into your calendar\n" " application for example google calendar, outlook or " "iCal. This will create\n" " an appointment for each training day with the " -"appropriate exercises." +"appropriate\n" +" exercises." msgstr "" -#: manager/templates/schedule/view.html:258 -#: manager/templates/schedule/view.html:294 -#: manager/templates/workout/view.html:94 -#: manager/templates/workout/view.html:174 +#: manager/templates/schedule/view.html:225 +#: manager/templates/schedule/view.html:268 +#: manager/templates/workout/view.html:99 +#: manager/templates/workout/view.html:188 msgid "Download as PDF" msgstr "Lataa PDF:nä" -#: manager/templates/schedule/view.html:299 -msgid "Edit schedule" -msgstr "" - -#: manager/templates/schedule/view.html:304 -msgid "Delete schedule" -msgstr "" - #: manager/templates/set/add.html:9 #, python-format msgid "Add exercises to day \"%(day_name)s\"" @@ -2545,47 +2510,6 @@ msgid "" "You will regularly receive such reminders till you enter your current weight." msgstr "" -#: manager/templates/workout/log.html:10 manager/templates/workout/log.html:11 -msgid "Weight log" -msgstr "" - -#: manager/templates/workout/log.html:29 -msgid "Weight log for workout" -msgstr "" - -#: manager/templates/workout/log.html:49 -msgid "Add weight log to this day" -msgstr "" - -#: manager/templates/workout/log.html:69 -msgid "No weight entries here." -msgstr "" - -#: manager/templates/workout/log.html:77 -msgid "No exercises for this day." -msgstr "" - -#: manager/templates/workout/log.html:90 -msgid "" -"This page shows the weight logs belonging to this workout\n" -"only. Click on an exercise to see all the historical data for\n" -"it." -msgstr "" - -#: manager/templates/workout/log.html:94 -msgid "" -"If on a single day there is more than one entry with the\n" -"same number of repetitions, but different weights, only the entry with the\n" -"higher weight is shown in the diagram." -msgstr "" - -#: manager/templates/workout/log.html:98 -msgid "" -"Note that only entries with a weight unit (kg or lb) and\n" -"repetitions are charted, other combinations such as time or until failure\n" -"are ignored here." -msgstr "" - #: manager/templates/workout/overview.html:25 #, fuzzy #| msgid "Nothing found." @@ -2625,27 +2549,23 @@ msgstr "" msgid "Set the repetitions for each set" msgstr "" -#: manager/templates/workout/view.html:73 +#: manager/templates/workout/view.html:75 msgid "Export this workout as a calendar file." msgstr "" -#: manager/templates/workout/view.html:144 +#: manager/templates/workout/view.html:156 msgid "Logs" msgstr "" -#: manager/templates/workout/view.html:146 +#: manager/templates/workout/view.html:159 msgid "View logs" msgstr "" -#: manager/templates/workout/view.html:169 manager/views/schedule_step.py:99 -msgid "Edit workout" -msgstr "" - -#: manager/templates/workout/view.html:182 manager/views/workout.py:281 +#: manager/templates/workout/view.html:195 manager/views/workout.py:281 msgid "Mark as template" msgstr "" -#: manager/views/day.py:109 +#: manager/views/day.py:105 msgid "Add workout day" msgstr "" @@ -2662,6 +2582,10 @@ msgstr "" msgid "Create schedule" msgstr "" +#: manager/views/schedule_step.py:99 +msgid "Edit workout" +msgstr "" + #: manager/views/workout.py:209 msgid "Copy workout" msgstr "" @@ -2789,7 +2713,7 @@ msgstr "" msgid "Unit amount, e.g. \"1 Cup\" or \"1/2 spoon\"" msgstr "" -#: nutrition/models/log.py:52 nutrition/models/meal.py:50 +#: nutrition/models/log.py:52 nutrition/models/meal.py:48 #: nutrition/models/meal_item.py:48 nutrition/models/plan.py:108 msgid "Nutrition plan" msgstr "" @@ -2802,11 +2726,11 @@ msgstr "" msgid "Date and Time (Approx.)" msgstr "" -#: nutrition/models/meal.py:62 +#: nutrition/models/meal.py:60 msgid "Time (approx)" msgstr "" -#: nutrition/models/meal.py:69 +#: nutrition/models/meal.py:67 msgid "" "Give meals a textual description / name such as \"Breakfast\" or \"after " "workout\"" @@ -2828,62 +2752,6 @@ msgid "" "calories. You can use the calculator or enter the value yourself." msgstr "" -#: nutrition/templates/bmi/form.html:62 -msgid "Results" -msgstr "" - -#: nutrition/templates/bmi/form.html:63 -msgid "Your BMI is: " -msgstr "Painoindeksisi on:" - -#: nutrition/templates/bmi/form.html:71 -msgid "Legend" -msgstr "" - -#: nutrition/templates/bmi/form.html:75 -msgid "Adipositas III" -msgstr "" - -#: nutrition/templates/bmi/form.html:79 -msgid "Adipositas II" -msgstr "" - -#: nutrition/templates/bmi/form.html:83 -msgid "Adipositas I" -msgstr "" - -#: nutrition/templates/bmi/form.html:87 -msgid "Overweight" -msgstr "Ylipaino" - -#: nutrition/templates/bmi/form.html:91 -msgid "Normal weight" -msgstr "Normaalipaino" - -#: nutrition/templates/bmi/form.html:95 -msgid "Slight underweight" -msgstr "Lievä alipaino" - -#: nutrition/templates/bmi/form.html:99 -msgid "Moderate underweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:103 -msgid "Strong underweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:117 -msgid "" -"Use the form to calculate your BMI (Body Mass Index).\n" -"If you have entered data in the weight section, the last entry will\n" -"be used automatically. Otherwise the weight you enter here will be saved\n" -"in a new entry." -msgstr "" -"Käytä lomaketta laskeaksesi painoindeksisi.\n" -"Jos olet syöttänyt painotietojasi, viimeisintä arvoa\n" -"käytetään automaattisesti. Muutoin tässä antamasi paino\n" -"talletaan uutena arvona." - #: nutrition/templates/ingredient/email_new.tpl:1 #, python-format msgid "" @@ -2929,10 +2797,6 @@ msgstr "" msgid "Search" msgstr "" -#: nutrition/templates/ingredient/overview.html:62 -msgid "Add ingredient" -msgstr "" - #: nutrition/templates/ingredient/view.html:45 nutrition/views/plan.py:229 msgid "Macronutrients" msgstr "" @@ -2952,20 +2816,11 @@ msgstr "" msgid "Others" msgstr "" -#: nutrition/templates/ingredient/view.html:144 -#: nutrition/templates/units/list.html:46 nutrition/views/unit.py:86 +#: nutrition/templates/ingredient/view.html:143 +#: nutrition/templates/units/list.html:50 nutrition/views/unit.py:86 msgid "Add new weight unit" msgstr "" -#: nutrition/templates/ingredient/view.html:206 -#: nutrition/templates/ingredient/view.html:209 -msgid "Edit ingredient" -msgstr "" - -#: nutrition/templates/ingredient/view.html:213 -msgid "Delete ingredient" -msgstr "" - #: nutrition/templates/rate/form.html:25 msgid "Basal metabolic rate" msgstr "" @@ -3034,18 +2889,6 @@ msgid "" "yourself for some weeks and change the total amount if needed." msgstr "" -#: nutrition/views/bmi.py:89 -msgid "Please make sure your height is within the appropriate range." -msgstr "" - -#: nutrition/views/bmi.py:92 -msgid "140 to 230" -msgstr "" - -#: nutrition/views/bmi.py:94 -msgid "56 to 90" -msgstr "" - #: nutrition/views/ingredient.py:157 msgid "Add a new ingredient" msgstr "" @@ -3530,6 +3373,29 @@ msgstr "" msgid "Delete weight entry for the %s" msgstr "" +#~ msgid "Your BMI is: " +#~ msgstr "Painoindeksisi on:" + +#~ msgid "Overweight" +#~ msgstr "Ylipaino" + +#~ msgid "Normal weight" +#~ msgstr "Normaalipaino" + +#~ msgid "Slight underweight" +#~ msgstr "Lievä alipaino" + +#~ msgid "" +#~ "Use the form to calculate your BMI (Body Mass Index).\n" +#~ "If you have entered data in the weight section, the last entry will\n" +#~ "be used automatically. Otherwise the weight you enter here will be saved\n" +#~ "in a new entry." +#~ msgstr "" +#~ "Käytä lomaketta laskeaksesi painoindeksisi.\n" +#~ "Jos olet syöttänyt painotietojasi, viimeisintä arvoa\n" +#~ "käytetään automaattisesti. Muutoin tässä antamasi paino\n" +#~ "talletaan uutena arvona." + #, fuzzy #~| msgid "About us" #~ msgid "About" diff --git a/wger/locale/fr/LC_MESSAGES/django.po b/wger/locale/fr/LC_MESSAGES/django.po index 40418d1e5..8823bc4da 100644 --- a/wger/locale/fr/LC_MESSAGES/django.po +++ b/wger/locale/fr/LC_MESSAGES/django.po @@ -21,7 +21,7 @@ msgid "" msgstr "" "Project-Id-Version: wger Workout Manager\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-14 15:59+0200\n" +"POT-Creation-Date: 2024-11-14 19:23+0100\n" "PO-Revision-Date: 2024-09-29 10:15+0000\n" "Last-Translator: MrSniikyz \n" "Language-Team: French \n" @@ -32,7 +32,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 5.8-dev\n" -#: config/models/gym_config.py:46 gym/templates/gym/list.html:53 +#: config/models/gym_config.py:46 gym/templates/gym/list.html:56 msgid "Default gym" msgstr "Salle de sport par défaut" @@ -45,28 +45,28 @@ msgstr "" "assigner à chaque utilisateur non enregistré ainsi qu'aux utilisateurs sans " "activités." -#: config/views/gym_config.py:42 core/templates/language/view.html:67 -#: core/templates/license/list.html:17 core/templates/misc/license/list.html:18 +#: config/views/gym_config.py:42 core/templates/language/view.html:64 +#: core/templates/license/list.html:17 #: core/templates/repetition_unit/list.html:18 -#: core/templates/tags/render_day.html:39 -#: core/templates/tags/render_day.html:75 core/templates/user/overview.html:204 -#: core/templates/user/overview.html:445 +#: core/templates/user/overview.html:204 core/templates/user/overview.html:467 #: core/templates/weight_unit/list.html:18 #: exercises/templates/categories/admin-overview.html:17 #: exercises/templates/equipment/admin-overview.html:17 -#: exercises/templates/muscles/admin-overview.html:17 -#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:32 -#: gym/templates/contract/list.html:31 gym/templates/contract/view.html:107 -#: gym/templates/contract_option/list.html:32 -#: gym/templates/contract_type/list.html:32 gym/templates/document/list.html:38 -#: gym/templates/gym/list.html:20 gym/templates/gym/list.html:46 -#: gym/templates/gym/member_list.html:87 gym/templates/gym/member_list.html:140 -#: gym/templates/gym/member_list.html:176 -#: manager/templates/calendar/day.html:68 -#: manager/templates/calendar/month.html:85 -#: manager/templates/calendar/partial_overview_table.html:18 -#: manager/templates/schedule/view.html:118 -#: nutrition/templates/ingredient/view.html:165 +#: exercises/templates/muscles/admin-overview.html:16 +#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:31 +#: gym/templates/contract/list.html:30 gym/templates/contract/view.html:106 +#: gym/templates/contract_option/list.html:29 +#: gym/templates/contract_type/list.html:30 gym/templates/document/list.html:38 +#: gym/templates/gym/list.html:19 gym/templates/gym/list.html:48 +#: gym/templates/gym/member_list.html:94 gym/templates/gym/member_list.html:152 +#: gym/templates/gym/member_list.html:190 +#: manager/templates/calendar/day.html:67 +#: manager/templates/calendar/month.html:84 +#: manager/templates/calendar/partial_overview_table.html:16 +#: manager/templates/schedule/view.html:271 +#: manager/templates/workout/view.html:181 +#: nutrition/templates/ingredient/view.html:164 +#: nutrition/templates/ingredient/view.html:209 #: nutrition/templates/units/list.html:19 msgid "Edit" msgstr "Modifier" @@ -100,25 +100,25 @@ msgstr "Mon programme d’entraînement" msgid "Empty placeholder schedule" msgstr "Programme vide de démonstration" -#: core/forms.py:69 core/templates/navigation.html:285 -#: core/templates/navigation.html:291 core/templates/user/login.html:4 +#: core/forms.py:69 core/templates/navigation.html:284 +#: core/templates/navigation.html:290 core/templates/user/login.html:4 #: software/templates/features.html:82 software/templates/features.html:427 msgid "Login" msgstr "Se connecter" -#: core/forms.py:108 core/forms.py:214 gym/views/export.py:61 +#: core/forms.py:108 core/forms.py:216 gym/views/export.py:61 #: gym/views/gym.py:217 msgid "First name" msgstr "Prénom" -#: core/forms.py:109 core/forms.py:215 core/templates/user/overview.html:266 +#: core/forms.py:109 core/forms.py:217 core/templates/user/overview.html:284 #: gym/views/export.py:62 gym/views/gym.py:217 msgid "Last name" msgstr "Nom" -#: core/forms.py:111 core/forms.py:180 core/templates/user/overview.html:270 +#: core/forms.py:111 core/forms.py:182 core/templates/user/overview.html:288 #: gym/models/contract.py:256 gym/models/gym.py:58 -#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:104 +#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:116 #: gym/templates/gym/new_user.html:30 gym/views/export.py:60 #: mailer/templates/mailer/gym/form.html:4 #: mailer/templates/mailer/gym/overview.html:4 @@ -137,96 +137,95 @@ msgstr "" msgid "Date of Birth" msgstr "Date de naissance" -#: core/forms.py:148 +#: core/forms.py:149 msgid "Personal data" msgstr "Données personnelles" -#: core/forms.py:159 +#: core/forms.py:161 msgid "Workout reminders" msgstr "Rappels d’entraînement" -#: core/forms.py:166 +#: core/forms.py:168 msgid "Other settings" msgstr "Autres paramètres" -#: core/forms.py:174 core/views/user.py:624 core/views/user.py:639 -#: core/views/user.py:651 gym/forms.py:73 manager/templates/log/add.html:65 +#: core/forms.py:176 core/views/user.py:623 core/views/user.py:638 +#: core/views/user.py:650 gym/forms.py:73 manager/templates/log/add.html:65 #: manager/templates/set/add.html:70 manager/views/workout.py:203 #: utils/generic_views.py:143 msgid "Save" msgstr "Sauvegarder" -#: core/forms.py:181 +#: core/forms.py:183 msgid "Used for password resets and, optionally, email reminders." msgstr "" "Utilisé pour réinitialiser votre mot de passe et, optionnellement, vous " "envoyer des rappels par courriel." -#: core/forms.py:210 +#: core/forms.py:212 msgid "This e-mail address is already in use." msgstr "Cette adresse courriel est déjà utilisée." -#: core/forms.py:231 gym/templates/gym/new_user.html:26 +#: core/forms.py:233 gym/templates/gym/new_user.html:26 #: gym/templates/gym/reset_user_password.html:24 gym/views/gym.py:217 msgid "Password" msgstr "Mot de passe" -#: core/forms.py:233 +#: core/forms.py:235 msgid "Please enter your current password." msgstr "Veuillez entrer votre mot de passe actuel." -#: core/forms.py:242 core/templates/language/view.html:73 -#: core/templates/license/list.html:19 core/templates/misc/license/list.html:22 -#: core/templates/repetition_unit/list.html:20 -#: core/templates/tags/render_day.html:45 -#: core/templates/tags/render_day.html:81 core/templates/user/overview.html:217 -#: core/templates/weight_unit/list.html:20 -#: exercises/templates/categories/admin-overview.html:19 -#: exercises/templates/equipment/admin-overview.html:19 -#: exercises/templates/muscles/admin-overview.html:19 -#: gym/templates/admin_notes/list.html:40 -#: gym/templates/contract_option/list.html:41 -#: gym/templates/contract_type/list.html:41 gym/templates/document/list.html:46 -#: gym/templates/gym/list.html:22 manager/templates/calendar/day.html:73 -#: manager/templates/calendar/month.html:89 -#: manager/templates/calendar/partial_overview_table.html:23 -#: manager/templates/schedule/view.html:122 -#: manager/templates/workout/view.html:188 -#: nutrition/templates/ingredient/view.html:166 +#: core/forms.py:244 core/templates/language/view.html:70 +#: core/templates/license/list.html:21 +#: core/templates/repetition_unit/list.html:22 +#: core/templates/user/overview.html:233 +#: core/templates/weight_unit/list.html:22 +#: exercises/templates/categories/admin-overview.html:21 +#: exercises/templates/equipment/admin-overview.html:21 +#: exercises/templates/muscles/admin-overview.html:20 +#: gym/templates/admin_notes/list.html:37 +#: gym/templates/contract_option/list.html:35 +#: gym/templates/contract_type/list.html:36 gym/templates/document/list.html:46 +#: gym/templates/gym/list.html:23 manager/templates/calendar/day.html:73 +#: manager/templates/calendar/month.html:88 +#: manager/templates/calendar/partial_overview_table.html:22 +#: manager/templates/schedule/view.html:277 +#: manager/templates/workout/view.html:202 +#: nutrition/templates/ingredient/view.html:168 #: nutrition/templates/ingredient/view.html:215 -#: nutrition/templates/units/list.html:22 +#: nutrition/templates/units/list.html:25 msgid "Delete" msgstr "Supprimer" -#: core/forms.py:251 +#: core/forms.py:253 msgid "Invalid password" msgstr "Mot de passe invalide" -#: core/forms.py:263 core/forms.py:338 +#: core/forms.py:265 core/forms.py:340 msgid "The form is secured with reCAPTCHA" msgstr "Le formulaire est sécurisé avec reCAPTCHA" -#: core/forms.py:279 core/forms.py:301 core/templates/navigation.html:285 -#: core/templates/navigation.html:297 core/templates/template.html:149 -#: core/templates/user/login.html:20 core/views/user.py:298 +#: core/forms.py:281 core/forms.py:303 core/templates/navigation.html:284 +#: core/templates/navigation.html:296 core/templates/template.html:150 +#: core/templates/user/login.html:20 core/views/user.py:297 #: software/templates/features.html:87 software/templates/features.html:422 msgid "Register" msgstr "S’inscrire" -#: core/forms.py:315 software/templates/features.html:45 +#: core/forms.py:317 software/templates/features.html:45 msgid "Contact" msgstr "Contact" -#: core/forms.py:316 +#: core/forms.py:318 msgid "Some way of answering you (e-mail, etc.)" msgstr "Un moyen de vous répondre (courriel, etc.)" -#: core/forms.py:324 exercises/models/comment.py:58 manager/models/set.py:61 +#: core/forms.py:326 exercises/models/comment.py:58 manager/models/set.py:61 #: manager/models/setting.py:114 nutrition/models/log.py:77 msgid "Comment" msgstr "Commentaire" -#: core/forms.py:325 +#: core/forms.py:327 msgid "What do you want to say?" msgstr "Que voulez-vous nous dire ?" @@ -463,18 +462,18 @@ msgid "The sum of all hours has to be 24" msgstr "La somme des heures doit être de 24" #: core/models/rep_unit.py:36 core/models/weight_unit.py:36 -#: core/templates/user/overview.html:262 core/views/user.py:599 +#: core/templates/user/overview.html:280 core/views/user.py:598 #: exercises/models/category.py:29 exercises/models/equipment.py:29 #: exercises/models/exercise.py:59 exercises/models/muscle.py:36 #: gym/models/contract.py:52 gym/models/contract.py:103 gym/models/gym.py:46 #: gym/models/user_document.py:84 gym/templates/contract/view.html:50 -#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:96 +#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:108 #: gym/views/gym.py:158 manager/models/schedule.py:55 #: manager/models/workout.py:57 measurements/models/category.py:36 #: nutrition/models/ingredient.py:111 -#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:67 +#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:65 #: nutrition/models/weight_unit.py:38 -#: nutrition/templates/ingredient/view.html:152 +#: nutrition/templates/ingredient/view.html:151 msgid "Name" msgstr "Nom" @@ -527,7 +526,7 @@ msgstr "" msgid "Back to \"%(target)s\"" msgstr "Retour vers « %(target)s »" -#: core/templates/delete.html:15 +#: core/templates/delete.html:4 msgid "Are you sure you want to delete this? This action cannot be undone." msgstr "Êtes-vous sûr·e de vouloir supprimer ceci ? C’est irréversible." @@ -581,7 +580,7 @@ msgstr "" msgid "Dashboard" msgstr "Tableau de bord" -#: core/templates/language/overview.html:4 core/templates/navigation.html:345 +#: core/templates/language/overview.html:4 core/templates/navigation.html:344 msgid "Languages" msgstr "Langues" @@ -591,81 +590,72 @@ msgstr "Rien trouvé." #: core/templates/language/overview.html:22 #: manager/templates/calendar/month.html:132 -#: manager/templates/schedule/overview.html:28 -#: manager/templates/schedule/view.html:144 +#: manager/templates/schedule/view.html:107 #: manager/templates/workout/overview.html:28 #: nutrition/templates/ingredient/overview.html:38 msgid "Add one now." msgstr "En ajouter une." -#: core/templates/language/overview.html:35 core/templates/license/list.html:40 -#: core/templates/misc/license/list.html:43 -#: core/templates/repetition_unit/list.html:43 -#: core/templates/user/overview.html:326 core/templates/user/overview.html:365 -#: core/templates/user/overview.html:401 -#: core/templates/weight_unit/list.html:43 core/views/languages.py:74 +#: core/templates/language/overview.html:34 core/templates/license/list.html:43 +#: core/templates/repetition_unit/list.html:46 +#: core/templates/user/overview.html:344 core/templates/user/overview.html:384 +#: core/templates/user/overview.html:422 +#: core/templates/weight_unit/list.html:46 core/views/languages.py:74 #: core/views/license.py:66 core/views/repetition_units.py:66 #: core/views/weight_units.py:66 -#: exercises/templates/categories/admin-overview.html:38 -#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:67 -#: gym/templates/contract/list.html:73 -#: gym/templates/contract_option/list.html:72 -#: gym/templates/contract_type/list.html:72 gym/templates/document/list.html:79 -#: gym/templates/gym/member_list.html:211 -#: gym/templates/gym/member_list.html:244 -#: gym/templates/gym/member_list.html:281 +#: exercises/templates/categories/admin-overview.html:40 +#: exercises/templates/equipment/admin-overview.html:39 +#: exercises/templates/muscles/admin-overview.html:40 +#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:64 +#: gym/templates/contract/list.html:69 +#: gym/templates/contract_option/list.html:65 +#: gym/templates/contract_type/list.html:66 gym/templates/document/list.html:78 +#: gym/templates/gym/member_list.html:228 +#: gym/templates/gym/member_list.html:264 +#: gym/templates/gym/member_list.html:303 #: mailer/templates/mailer/gym/overview.html:43 +#: nutrition/templates/ingredient/overview.html:60 msgid "Add" msgstr "Ajouter" #: core/templates/language/view.html:61 core/templates/user/api_key.html:44 -#: core/templates/user/preferences.html:45 gym/models/contract.py:203 -#: gym/templates/contract/view.html:41 gym/templates/contract/view.html:106 -#: gym/templates/gym/member_list.html:248 -#: manager/templates/schedule/view.html:285 -#: manager/templates/workout/view.html:163 -#: nutrition/templates/ingredient/view.html:202 +#: core/templates/user/preferences.html:50 gym/models/contract.py:203 +#: gym/templates/contract/view.html:41 gym/templates/gym/member_list.html:270 +#: manager/templates/schedule/view.html:257 +#: manager/templates/workout/view.html:177 +#: nutrition/templates/ingredient/view.html:206 msgid "Options" msgstr "Options" -#: core/templates/license/list.html:4 core/templates/misc/license/list.html:4 +#: core/templates/license/list.html:4 msgid "License list" msgstr "Liste des licences" -#: core/templates/license/list.html:26 core/templates/misc/license/list.html:30 -#: core/templates/repetition_unit/list.html:28 +#: core/templates/license/list.html:30 +#: core/templates/repetition_unit/list.html:32 #: core/templates/user/overview.html:104 core/templates/user/overview.html:136 -#: core/templates/user/overview.html:185 core/templates/user/overview.html:347 -#: core/templates/user/overview.html:383 core/templates/user/overview.html:427 -#: core/templates/weight_unit/list.html:28 -#: exercises/templates/categories/admin-overview.html:26 -#: exercises/templates/equipment/admin-overview.html:26 -#: exercises/templates/muscles/admin-overview.html:26 -#: gym/templates/admin_notes/list.html:52 gym/templates/contract/list.html:60 -#: gym/templates/contract_option/list.html:58 -#: gym/templates/contract_type/list.html:58 gym/templates/document/list.html:64 -#: gym/templates/gym/list.html:29 gym/templates/gym/member_list.html:229 -#: gym/templates/gym/member_list.html:262 -#: gym/templates/gym/member_list.html:299 +#: core/templates/user/overview.html:185 core/templates/user/overview.html:365 +#: core/templates/user/overview.html:404 core/templates/user/overview.html:448 +#: core/templates/weight_unit/list.html:32 +#: exercises/templates/categories/admin-overview.html:30 +#: exercises/templates/equipment/admin-overview.html:30 +#: exercises/templates/muscles/admin-overview.html:29 +#: gym/templates/admin_notes/list.html:50 gym/templates/contract/list.html:57 +#: gym/templates/contract_option/list.html:52 +#: gym/templates/contract_type/list.html:53 gym/templates/document/list.html:64 +#: gym/templates/gym/list.html:32 gym/templates/gym/member_list.html:248 +#: gym/templates/gym/member_list.html:284 +#: gym/templates/gym/member_list.html:321 #: mailer/templates/mailer/gym/overview.html:30 -#: manager/templates/calendar/day.html:87 -#: nutrition/templates/units/list.html:29 +#: manager/templates/calendar/day.html:88 +#: nutrition/templates/units/list.html:34 msgid "Nothing found" msgstr "Rien trouvé" -#: core/templates/misc/about.html:4 core/templates/template.html:175 +#: core/templates/misc/about.html:4 core/templates/template.html:187 msgid "Imprint" msgstr "Informations légales" -#: core/templates/misc/license/list.html:47 -msgid "" -"If a license has been localized, e.g. the Creative Commons\n" -" licenses for the different countries, add them as separate " -"entries here." -msgstr "" -"Si une licence a été localisée, par exemple les licences Creative Commons\n" -"pour les différents pays, ajoutez-les comme des entrées distinctes ici." - #: core/templates/navigation.html:28 software/templates/features.html:437 msgid "Training" msgstr "Formation" @@ -710,8 +700,8 @@ msgstr "Modèles publics" msgid "Exercises" msgstr "Exercices" -#: core/templates/navigation.html:111 core/templates/navigation.html:184 -#: core/templates/navigation.html:340 +#: core/templates/navigation.html:111 core/templates/navigation.html:185 +#: core/templates/navigation.html:339 msgid "Administration" msgstr "Administration" @@ -740,7 +730,7 @@ msgstr "Nutrition" msgid "Nutrition plans" msgstr "Plans de nutrition" -#: core/templates/navigation.html:165 nutrition/templates/bmi/form.html:50 +#: core/templates/navigation.html:165 msgid "BMI calculator" msgstr "Calculateur d’IMC" @@ -748,87 +738,87 @@ msgstr "Calculateur d’IMC" msgid "Daily calories calculator" msgstr "Calculateur de calories quotidiennes" -#: core/templates/navigation.html:179 +#: core/templates/navigation.html:180 #: nutrition/templates/ingredient/overview.html:10 msgid "Ingredient overview" msgstr "Aperçu ingrédients" -#: core/templates/navigation.html:187 nutrition/templates/units/list.html:6 +#: core/templates/navigation.html:189 nutrition/templates/units/list.html:6 msgid "Ingredient weight units" msgstr "Unité de poids des ingrédients" -#: core/templates/navigation.html:203 software/templates/features.html:442 +#: core/templates/navigation.html:205 software/templates/features.html:442 msgid "Body weight" msgstr "Poids corporel" -#: core/templates/navigation.html:210 core/templates/user/overview.html:114 +#: core/templates/navigation.html:212 core/templates/user/overview.html:114 msgid "Weight overview" msgstr "Aperçu poids" -#: core/templates/navigation.html:217 weight/views.py:65 +#: core/templates/navigation.html:216 weight/views.py:65 msgid "Add weight entry" msgstr "Ajouter une entrée" -#: core/templates/navigation.html:231 +#: core/templates/navigation.html:230 msgid "About this software" msgstr "À propos de ce logiciel" -#: core/templates/navigation.html:237 software/templates/about_us.html:5 +#: core/templates/navigation.html:236 software/templates/about_us.html:5 msgid "About us" msgstr "À propos de nous" -#: core/templates/navigation.html:243 software/templates/features.html:507 +#: core/templates/navigation.html:242 software/templates/features.html:507 msgid "REST API" msgstr "API REST" -#: core/templates/navigation.html:249 utils/models.py:45 +#: core/templates/navigation.html:248 utils/models.py:45 msgid "License" msgstr "Licence" -#: core/templates/navigation.html:255 +#: core/templates/navigation.html:254 msgid "Developer documentation" msgstr "Documentation du développeur" -#: core/templates/navigation.html:262 +#: core/templates/navigation.html:261 msgid "Get the code" msgstr "Récupérer le code" -#: core/templates/navigation.html:269 core/templates/template.html:214 +#: core/templates/navigation.html:268 core/templates/template.html:226 #: software/templates/features.html:582 msgid "Translate" msgstr "Traduire" -#: core/templates/navigation.html:303 core/templates/user/login.html:28 +#: core/templates/navigation.html:302 core/templates/user/login.html:28 msgid "Reset password" msgstr "Réinitialiser le mot de passe" -#: core/templates/navigation.html:321 +#: core/templates/navigation.html:320 msgid "My preferences" msgstr "Mes préférences" -#: core/templates/navigation.html:330 +#: core/templates/navigation.html:329 msgid "Logout" msgstr "Se déconnecter" -#: core/templates/navigation.html:353 +#: core/templates/navigation.html:352 msgid "Licenses" msgstr "Licences" -#: core/templates/navigation.html:361 +#: core/templates/navigation.html:360 #: core/templates/repetition_unit/list.html:4 msgid "Repetition units" msgstr "Unités de répétition" -#: core/templates/navigation.html:369 core/templates/weight_unit/list.html:4 +#: core/templates/navigation.html:368 core/templates/weight_unit/list.html:4 #: nutrition/templates/ingredient/view.html:141 msgid "Weight units" msgstr "Unité de poids" -#: core/templates/navigation.html:377 core/templates/user/list.html:4 +#: core/templates/navigation.html:376 core/templates/user/list.html:4 msgid "User list" msgstr "Liste des utilisateurs" -#: core/templates/navigation.html:383 +#: core/templates/navigation.html:382 msgid "Gyms" msgstr "Activités" @@ -894,57 +884,32 @@ msgstr "précédent" msgid "next" msgstr "suivant" -#: core/templates/tags/render_day.html:34 -msgid "Add weight log" -msgstr "Ajouter un journal de poids" - -#: core/templates/tags/render_day.html:116 -msgid "Placeholder image for exercise" +#: core/templates/tags/render_day.html:44 +#, fuzzy +#| msgid "Placeholder image for exercise" +msgid "Placeholder image for translation" msgstr "Espace réservé pour l'image de l'exercice" -#: core/templates/tags/render_day.html:133 -msgid "This exercise has no repetitions." -msgstr "Cet exercice n'a pas de répétition." - -#: core/templates/tags/render_day.html:136 -msgid "Edit them now." -msgstr "Modifiez-les maintenant." - -#: core/templates/tags/render_day.html:162 -msgid "Add exercises to this workout day" -msgstr "Ajouter des exercices à cette séance" - -#: core/templates/tags/render_weight_log.html:17 manager/helpers.py:86 -#: manager/models/setting.py:72 manager/templates/set/formset.html:9 -msgid "Reps" -msgstr "Reps" - -#: core/templates/tags/render_weight_log.html:30 manager/forms.py:191 -#: manager/models/log.py:103 manager/models/setting.py:102 -#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 -msgid "RiR" -msgstr "ReR" - -#: core/templates/template.html:122 manager/templates/calendar/month.html:138 -#: manager/templates/schedule/view.html:248 -#: manager/templates/schedule/view.html:269 -#: manager/templates/workout/view.html:84 -#: manager/templates/workout/view.html:137 +#: core/templates/template.html:123 manager/templates/calendar/month.html:138 +#: manager/templates/schedule/view.html:215 +#: manager/templates/schedule/view.html:240 +#: manager/templates/workout/view.html:89 +#: manager/templates/workout/view.html:149 msgid "Close" msgstr "Fermer" -#: core/templates/template.html:138 +#: core/templates/template.html:139 msgid "" "You are using a guest account, data entered will be deleted after a week." msgstr "" "Vous utilisez un compte invité, les données rentrées seront effacées après " "une semaine." -#: core/templates/template.html:143 +#: core/templates/template.html:144 msgid "Create some demo entries" msgstr "Créer des entrées de démo" -#: core/templates/template.html:180 software/templates/features.html:547 +#: core/templates/template.html:192 software/templates/features.html:547 #: software/templates/tos.html:7 msgid "Terms of service" msgstr "Conditions d’utilisation" @@ -953,7 +918,7 @@ msgstr "Conditions d’utilisation" msgid "Features" msgstr "Fonctionnalités" -#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:54 +#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:59 msgid "API key" msgstr "Clé API" @@ -999,17 +964,17 @@ msgstr "Générer votre nouvelle clé API" msgid "Documentation" msgstr "Documentation" -#: core/templates/user/delete_account.html:4 -#: core/templates/user/preferences.html:59 +#: core/templates/user/delete_account.html:3 +#: core/templates/user/preferences.html:62 msgid "Delete account" msgstr "Supprimer votre compte" -#: core/templates/user/delete_account.html:17 +#: core/templates/user/delete_account.html:9 #: exercises/templates/history/overview.html:93 msgid "Are you sure?" msgstr "Êtes-vous sûr·e ?" -#: core/templates/user/delete_account.html:22 +#: core/templates/user/delete_account.html:14 #, python-format msgid "" "This action will delete the user account \"%(username)s\".\n" @@ -1032,22 +997,22 @@ msgstr "Mot de passe oublié ?" #: core/templates/user/overview.html:25 core/templates/user/overview.html:68 #: core/templates/user/overview.html:112 core/templates/user/overview.html:144 -#: core/templates/user/overview.html:330 core/templates/user/overview.html:369 -#: core/templates/user/overview.html:405 +#: core/templates/user/overview.html:348 core/templates/user/overview.html:390 +#: core/templates/user/overview.html:426 #, python-format msgid "last %(number)s" msgstr "dernier %(number)s" #: core/templates/user/overview.html:27 core/templates/user/overview.html:146 -#: core/templates/user/overview.html:325 core/templates/user/overview.html:364 -#: core/templates/user/overview.html:400 gym/templates/gym/member_list.html:210 -#: gym/templates/gym/member_list.html:243 -#: gym/templates/gym/member_list.html:280 +#: core/templates/user/overview.html:343 core/templates/user/overview.html:382 +#: core/templates/user/overview.html:421 gym/templates/gym/member_list.html:226 +#: gym/templates/gym/member_list.html:262 +#: gym/templates/gym/member_list.html:302 msgid "Overview" msgstr "Aperçu" #: core/templates/user/overview.html:28 -#: manager/templates/schedule/view.html:163 +#: manager/templates/schedule/view.html:125 #: manager/templates/workout/overview.html:39 manager/views/schedule_step.py:60 msgid "Add workout" msgstr "Ajouter une séance" @@ -1079,38 +1044,36 @@ msgstr "Description" msgid "Number of logs (days)" msgstr "Nombre de journaux (jours)" -#: core/templates/user/overview.html:37 core/views/user.py:600 +#: core/templates/user/overview.html:37 core/views/user.py:599 #: gym/templates/gym/email_inactive_members.html:4 gym/views/gym.py:158 msgid "Last activity" msgstr "Dernière activité" #: core/templates/user/overview.html:58 #: manager/templates/calendar/month.html:128 -#: manager/templates/schedule/view.html:144 #: manager/templates/workout/overview.html:28 msgid "No workouts found." msgstr "Pas de séance trouvée." #: core/templates/user/overview.html:68 manager/forms.py:280 -#: manager/templates/workout/view.html:106 +#: manager/templates/workout/view.html:114 msgid "Log" msgstr "Journal" #: core/templates/user/overview.html:77 manager/models/session.py:83 -#: manager/templates/calendar/partial_overview_table.html:52 +#: manager/templates/calendar/partial_overview_table.html:54 msgid "General impression" msgstr "Impression générale" -#: core/templates/user/overview.html:78 core/templates/user/overview.html:369 +#: core/templates/user/overview.html:78 core/templates/user/overview.html:390 #: manager/models/session.py:73 -#: manager/templates/calendar/partial_overview_table.html:56 -#: manager/templates/workout/log.html:89 +#: manager/templates/calendar/partial_overview_table.html:58 msgid "Notes" msgstr "Notes" #: core/templates/user/overview.html:79 #: exercises/templates/history/overview.html:30 -#: manager/templates/calendar/partial_overview_table.html:42 +#: manager/templates/calendar/partial_overview_table.html:44 msgid "Time" msgstr "Temps" @@ -1148,123 +1111,123 @@ msgstr "Lipides" msgid "kcal" msgstr "kcal" -#: core/templates/user/overview.html:201 core/templates/user/overview.html:322 -#: core/templates/user/overview.html:361 core/templates/user/overview.html:397 -#: core/templates/user/overview.html:442 gym/templates/gym/list.html:42 -#: gym/templates/gym/member_list.html:84 gym/templates/gym/member_list.html:137 -#: gym/templates/gym/member_list.html:173 -#: gym/templates/gym/member_list.html:207 -#: gym/templates/gym/member_list.html:240 -#: gym/templates/gym/member_list.html:277 -#: manager/templates/schedule/view.html:100 +#: core/templates/user/overview.html:201 core/templates/user/overview.html:340 +#: core/templates/user/overview.html:379 core/templates/user/overview.html:418 +#: core/templates/user/overview.html:463 gym/templates/gym/list.html:45 +#: gym/templates/gym/member_list.html:91 gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:187 +#: gym/templates/gym/member_list.html:223 +#: gym/templates/gym/member_list.html:259 +#: gym/templates/gym/member_list.html:299 +#: manager/templates/schedule/view.html:54 msgid "Actions" msgstr "Actions" -#: core/templates/user/overview.html:207 +#: core/templates/user/overview.html:210 msgid "Deactivate user" msgstr "Désactiver l'utilisateur" -#: core/templates/user/overview.html:209 +#: core/templates/user/overview.html:214 msgid "Activate user" msgstr "Activer l'utilisateur" -#: core/templates/user/overview.html:211 +#: core/templates/user/overview.html:223 msgid "Reset user password" msgstr "Réinitialiser le mot de passe utilisateur" -#: core/templates/user/overview.html:214 gym/templates/gym/member_list.html:30 +#: core/templates/user/overview.html:227 gym/templates/gym/member_list.html:30 msgid "Roles" msgstr "Rôles" -#: core/templates/user/overview.html:225 +#: core/templates/user/overview.html:243 msgid "Password reset confirmation" msgstr "Confirmation de mot de passe réinitialisé" -#: core/templates/user/overview.html:229 +#: core/templates/user/overview.html:247 msgid "Do you really want to change this user's password?" msgstr "Voulez-vous vraiment changer ce mot de passe utilisateur's ?" -#: core/templates/user/overview.html:232 +#: core/templates/user/overview.html:250 #: exercises/templates/history/overview.html:106 msgid "No" msgstr "Non" -#: core/templates/user/overview.html:233 +#: core/templates/user/overview.html:251 #: exercises/templates/history/overview.html:99 msgid "Yes" msgstr "Oui" -#: core/templates/user/overview.html:254 gym/templates/gym/member_list.html:93 +#: core/templates/user/overview.html:272 gym/templates/gym/member_list.html:105 msgid "Details" msgstr "Détails" -#: core/templates/user/overview.html:258 gym/views/export.py:57 -#: manager/helpers.py:86 manager/templates/schedule/view.html:98 +#: core/templates/user/overview.html:276 gym/views/export.py:57 +#: manager/helpers.py:86 manager/templates/schedule/view.html:52 msgid "Nr." msgstr "N°" -#: core/templates/user/overview.html:280 gym/models/contract.py:287 +#: core/templates/user/overview.html:298 gym/models/contract.py:287 #: gym/models/gym.py:50 gym/templates/contract/view.html:75 -#: gym/templates/gym/member_list.html:100 gym/views/export.py:68 +#: gym/templates/gym/member_list.html:112 gym/views/export.py:68 msgid "Phone" msgstr "Téléphone" -#: core/templates/user/overview.html:284 gym/templates/contract/view.html:87 -#: gym/templates/gym/member_list.html:118 +#: core/templates/user/overview.html:302 gym/templates/contract/view.html:87 +#: gym/templates/gym/member_list.html:130 msgid "Address" msgstr "Adresse" -#: core/templates/user/overview.html:295 +#: core/templates/user/overview.html:313 msgid "Registered" msgstr "Enregistré" -#: core/templates/user/overview.html:299 +#: core/templates/user/overview.html:317 msgid "Last login" msgstr "Dernière connexion" -#: core/templates/user/overview.html:304 +#: core/templates/user/overview.html:322 msgid "Status" msgstr "Statut" -#: core/templates/user/overview.html:307 +#: core/templates/user/overview.html:325 msgid "Active" msgstr "Actif" -#: core/templates/user/overview.html:309 +#: core/templates/user/overview.html:327 msgid "Inactive" msgstr "Inactifs" -#: core/templates/user/overview.html:330 gym/templates/contract/list.html:4 -#: gym/templates/gym/member_list.html:202 +#: core/templates/user/overview.html:348 gym/templates/contract/list.html:4 +#: gym/templates/gym/member_list.html:218 msgid "Contracts" msgstr "Contrats" -#: core/templates/user/overview.html:405 gym/templates/document/list.html:4 +#: core/templates/user/overview.html:426 gym/templates/document/list.html:4 msgid "Documents" msgstr "Documents" -#: core/templates/user/overview.html:412 gym/templates/document/list.html:32 -#: manager/forms.py:292 manager/templates/workout/view.html:132 +#: core/templates/user/overview.html:433 gym/templates/document/list.html:33 +#: manager/forms.py:292 manager/templates/workout/view.html:143 msgid "Download" msgstr "Télécharger" -#: core/templates/user/overview.html:450 gym/views/admin_config.py:44 +#: core/templates/user/overview.html:474 gym/views/admin_config.py:44 #: gym/views/admin_config.py:58 gym/views/user_config.py:46 msgid "Configuration" msgstr "Configuration" -#: core/templates/user/overview.html:453 gym/models/user_config.py:92 +#: core/templates/user/overview.html:477 gym/models/user_config.py:92 msgid "Include in inactive overview" msgstr "Inclure dans un aperçu inactif" -#: core/templates/user/overview.html:486 +#: core/templates/user/overview.html:510 #, python-format msgid "Admin login is only available for users in %(gym_name)s" msgstr "" "La connexion Admin est uniquement disponible pour les utilisateurs de " "%(gym_name)s" -#: core/templates/user/overview.html:490 +#: core/templates/user/overview.html:514 msgid "Log in as this user" msgstr "Connectez-vous en tant que cet utilisateur" @@ -1284,19 +1247,19 @@ msgstr "Email non vérifié" msgid "Send verification email" msgstr "Envoyer un email de vérification" -#: core/templates/user/preferences.html:30 +#: core/templates/user/preferences.html:31 msgid "You need to verify your email to contribute exercises" msgstr "Vous devez vérifier votre email pour contribuer aux exercices" -#: core/templates/user/preferences.html:50 core/views/user.py:611 +#: core/templates/user/preferences.html:55 core/views/user.py:610 msgid "Change password" msgstr "Changer le mot de passe" -#: core/templatetags/wger_extras.py:205 i18n.tpl:37 +#: core/templatetags/wger_extras.py:197 i18n.tpl:37 msgid "kg" msgstr "kg" -#: core/templatetags/wger_extras.py:207 +#: core/templatetags/wger_extras.py:199 #: nutrition/templates/ingredient/view.html:60 #: nutrition/templates/ingredient/view.html:66 #: nutrition/templates/ingredient/view.html:73 @@ -1308,11 +1271,11 @@ msgctxt "weight unit, i.e. grams" msgid "g" msgstr "g" -#: core/templatetags/wger_extras.py:210 i18n.tpl:38 +#: core/templatetags/wger_extras.py:202 i18n.tpl:38 msgid "lb" msgstr "lb" -#: core/templatetags/wger_extras.py:212 +#: core/templatetags/wger_extras.py:204 msgctxt "weight unit, i.e. ounces" msgid "oz" msgstr "oz" @@ -1339,13 +1302,13 @@ msgid "Delete {0}?" msgstr "Supprimer {0} ?" #: core/views/languages.py:111 core/views/license.py:85 -#: core/views/repetition_units.py:86 core/views/user.py:474 +#: core/views/repetition_units.py:86 core/views/user.py:473 #: core/views/weight_units.py:86 exercises/views/categories.py:98 #: exercises/views/equipment.py:81 exercises/views/muscles.py:87 #: gym/views/admin_notes.py:161 gym/views/config.py:68 #: gym/views/contract.py:186 gym/views/contract_option.py:123 #: gym/views/contract_type.py:123 gym/views/document.py:171 -#: gym/views/gym.py:463 manager/views/day.py:100 manager/views/schedule.py:333 +#: gym/views/gym.py:463 manager/views/day.py:96 manager/views/schedule.py:333 #: manager/views/workout.py:267 nutrition/views/ingredient.py:145 #: nutrition/views/unit.py:143 #, python-brace-format @@ -1375,48 +1338,48 @@ msgstr "Envoyer" msgid "Your feedback was successfully sent. Thank you!" msgstr "Votrecommentaire a été envoyé avec succès. Merci !" -#: core/views/user.py:156 +#: core/views/user.py:155 #, python-brace-format msgid "Account \"{0}\" was successfully deleted" msgstr "Le compte « {0} » a été supprimé avec succès" -#: core/views/user.py:292 +#: core/views/user.py:291 msgid "You were successfully registered" msgstr "Vous avez été enregistré·e avec succès" -#: core/views/user.py:351 +#: core/views/user.py:350 msgid "Settings successfully updated" msgstr "Paramètres mis à jour" -#: core/views/user.py:390 +#: core/views/user.py:389 msgid "The user was successfully deactivated" msgstr "L'utilisateur a été correctement désactivé" -#: core/views/user.py:427 +#: core/views/user.py:426 msgid "The user was successfully activated" msgstr "L'utilisateur a été activé avec succès" -#: core/views/user.py:442 +#: core/views/user.py:441 msgid "Edit user" msgstr "Modifier l’utilisateur" -#: core/views/user.py:597 gym/templates/gym/member_list.html:26 +#: core/views/user.py:596 gym/templates/gym/member_list.html:26 #: gym/views/gym.py:158 msgid "ID" msgstr "ID" -#: core/views/user.py:598 gym/forms.py:95 gym/templates/contract/view.html:55 +#: core/views/user.py:597 gym/forms.py:95 gym/templates/contract/view.html:55 #: gym/templates/gym/member_list.html:27 gym/views/export.py:59 #: gym/views/gym.py:158 gym/views/gym.py:217 msgid "Username" msgstr "Nom d’utilisateur" -#: core/views/user.py:601 gym/templates/gym/new_user.html:34 +#: core/views/user.py:600 gym/templates/gym/new_user.html:34 #: gym/views/export.py:58 gym/views/gym.py:217 msgid "Gym" msgstr "Activités" -#: core/views/user.py:660 +#: core/views/user.py:659 #, python-format msgid "A verification email was sent to %(email)s" msgstr "Un email de vérification a été envoyé à %(email)s" @@ -1569,11 +1532,6 @@ msgstr "Codec, nom long" msgid "Equipment list" msgstr "Liste d'équipement" -#: exercises/templates/equipment/admin-overview.html:39 -#: exercises/views/equipment.py:92 -msgid "Add new equipment" -msgstr "Ajouter de nouveaux équipements" - #: exercises/templates/history/overview.html:11 msgid "Exercise admin history" msgstr "Historique d'exercice admin" @@ -1621,11 +1579,6 @@ msgstr "Annuler les modifications" msgid "Muscle overview" msgstr "Résumé du muscle" -#: exercises/templates/muscles/admin-overview.html:38 -#: exercises/views/muscles.py:68 -msgid "Add muscle" -msgstr "Ajouter un muscle" - #: exercises/views/categories.py:72 msgid "Add category" msgstr "Ajouter catégorie" @@ -1634,6 +1587,10 @@ msgstr "Ajouter catégorie" msgid "This will also delete all exercises in this category." msgstr "Ceci supprimera également tous les exercices de la catégorie." +#: exercises/views/equipment.py:92 +msgid "Add new equipment" +msgstr "Ajouter de nouveaux équipements" + #: exercises/views/equipment.py:104 exercises/views/equipment.py:115 msgid "Delete equipment?" msgstr "Supprimer équipement ?" @@ -1642,6 +1599,10 @@ msgstr "Supprimer équipement ?" msgid "This will delete the exercise from all workouts." msgstr "Ceci supprimera l'exercice de toutes les séances." +#: exercises/views/muscles.py:68 +msgid "Add muscle" +msgstr "Ajouter un muscle" + #: gallery/templates/images/overview.html:62 msgid "Add image" msgstr "Ajouter une image" @@ -1731,7 +1692,7 @@ msgid "Contract is active" msgstr "Le contrat est actif" #: gym/models/contract.py:237 gym/templates/contract/view.html:69 -#: manager/models/schedule.py:61 manager/templates/schedule/view.html:67 +#: manager/models/schedule.py:61 manager/templates/schedule/view.html:21 msgid "Start date" msgstr "Date de début" @@ -1767,7 +1728,7 @@ msgstr "Administrateur : peur gérer les utilisateurs d'une salle de sport" msgid "Admin: can administrate the different gyms" msgstr "Administrateur : peut gérer les différentes salles de sport" -#: gym/models/gym.py:65 gym/templates/gym/member_list.html:114 +#: gym/models/gym.py:65 gym/templates/gym/member_list.html:126 msgid "Owner" msgstr "Propriétaire" @@ -1779,7 +1740,7 @@ msgstr "" "Nombre de semaines depuis la dernière fois qu’un utilisateur s’est connecté " "pour le considérer comme inactif" -#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:152 +#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:166 msgid "Show name in header" msgstr "Afficher le nom dans l’en-tête" @@ -1792,7 +1753,7 @@ msgstr "Afficher le nom de la salle de sport dans l’en-tête du site" msgid "Configuration for {self.gym.name}" msgstr "Configuration pour {self.gym.name}" -#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:184 +#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:200 msgid "Overview of inactive members" msgstr "Vue d’ensemble des membres inactifs" @@ -1817,7 +1778,7 @@ msgstr "Utilisera le nom du fichier si rien n'est renseigné" msgid "User notes" msgstr "Notes de l'utilisateur" -#: gym/templates/contract/list.html:36 +#: gym/templates/contract/list.html:34 msgid "Show" msgstr "Afficher" @@ -1845,11 +1806,11 @@ msgstr "" msgid "Gym list" msgstr "Liste d’activités" -#: gym/templates/gym/list.html:50 +#: gym/templates/gym/list.html:53 msgid "Global gym configuration" msgstr "Configuration globale" -#: gym/templates/gym/list.html:67 gym/views/gym.py:171 +#: gym/templates/gym/list.html:69 gym/views/gym.py:171 msgid "Add new gym" msgstr "Ajouter une nouvelle activité" @@ -1861,43 +1822,43 @@ msgstr "Administrateurs et entraîneurs" msgid "Gym manager" msgstr "Gestionnaire d’activités" -#: gym/templates/gym/member_list.html:69 +#: gym/templates/gym/member_list.html:76 msgid "This gym has no administrators or trainers" msgstr "La salle de sport n’a pas d’administrateurs ou d’entraîneurs" -#: gym/templates/gym/member_list.html:88 +#: gym/templates/gym/member_list.html:98 msgid "Export" msgstr "Exporter" -#: gym/templates/gym/member_list.html:125 +#: gym/templates/gym/member_list.html:137 msgid "Members" msgstr "Membres" -#: gym/templates/gym/member_list.html:145 +#: gym/templates/gym/member_list.html:159 msgid "Gym configuration" msgstr "Configuration d’activités" -#: gym/templates/gym/member_list.html:148 +#: gym/templates/gym/member_list.html:162 msgid "Inactive members" msgstr "Membres inactifs" -#: gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:163 msgid "weeks" msgstr "semaines" -#: gym/templates/gym/member_list.html:181 +#: gym/templates/gym/member_list.html:197 msgid "My configuration" msgstr "Ma configuration" -#: gym/templates/gym/member_list.html:215 +#: gym/templates/gym/member_list.html:234 msgid "Types" msgstr "Types" -#: gym/templates/gym/member_list.html:285 +#: gym/templates/gym/member_list.html:307 msgid "Emails" msgstr "Courriels" -#: gym/templates/gym/member_list.html:315 +#: gym/templates/gym/member_list.html:336 msgid "Add member" msgstr "Ajouter un membre" @@ -2196,28 +2157,38 @@ msgstr "Chercher aussi le nom des ingrédients en anglais" msgid "Unit" msgstr "Unité" +#: manager/forms.py:191 manager/models/log.py:103 manager/models/setting.py:102 +#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 +msgid "RiR" +msgstr "ReR" + #: manager/forms.py:279 msgid "Type" msgstr "Type" -#: manager/forms.py:280 manager/templates/workout/view.html:113 +#: manager/forms.py:280 manager/templates/workout/view.html:122 msgid "Table" msgstr "Tableau" -#: manager/forms.py:282 manager/templates/workout/view.html:119 +#: manager/forms.py:282 manager/templates/workout/view.html:129 msgid "with images" msgstr "avec des images" -#: manager/forms.py:283 manager/templates/workout/view.html:125 +#: manager/forms.py:283 manager/templates/workout/view.html:136 msgid "with comments" msgstr "avec commentaires" +#: manager/helpers.py:86 manager/models/setting.py:72 +#: manager/templates/set/formset.html:9 +msgid "Reps" +msgstr "Reps" + #: manager/management/commands/email-reminders.py:121 msgid "Workout will expire soon" msgstr "L’entraînement va bientôt expirer" #: manager/models/day.py:34 manager/models/log.py:58 -#: manager/models/session.py:60 manager/templates/schedule/view.html:102 +#: manager/models/session.py:60 manager/templates/schedule/view.html:56 #: manager/templates/workout/view.html:9 manager/templates/workout/view.html:17 #: manager/views/pdf.py:85 manager/views/pdf.py:161 #: manager/views/schedule.py:151 manager/views/schedule.py:221 @@ -2241,7 +2212,7 @@ msgid "Name or short description of the schedule. For example 'Program XYZ'." msgstr "" "Nom ou courte description du programme. Par exemple : « Programme XYZ »." -#: manager/models/schedule.py:65 manager/templates/schedule/view.html:71 +#: manager/models/schedule.py:65 manager/templates/schedule/view.html:25 msgid "Schedule active" msgstr "Programme actif" @@ -2255,7 +2226,7 @@ msgstr "" "montré, notamment sur le tableau de bord). Tous les autres programmes seront " "marqués comme inactifs" -#: manager/models/schedule.py:77 manager/templates/schedule/view.html:81 +#: manager/models/schedule.py:77 manager/templates/schedule/view.html:35 msgid "Is a loop" msgstr "Est une boucle" @@ -2276,7 +2247,7 @@ msgid "The duration in weeks" msgstr "Durée en semaines" #: manager/models/schedule_step.py:64 manager/models/set.py:53 -#: manager/models/setting.py:113 nutrition/models/meal.py:55 +#: manager/models/setting.py:113 nutrition/models/meal.py:53 #: nutrition/models/meal_item.py:66 msgid "Order" msgstr "Ordre" @@ -2417,7 +2388,7 @@ msgstr "Vue d'ensemble des journaux" msgid "Workout session" msgstr "Séance d'entraînement" -#: manager/templates/calendar/partial_overview_table.html:27 +#: manager/templates/calendar/partial_overview_table.html:26 msgid "Delete with logs" msgstr "Supprimer avec les journaux" @@ -2441,21 +2412,27 @@ msgstr "" "existe,\n" "elle sera simplement modifiée. Les entrées de poids sont toujours ajoutées." -#: manager/templates/schedule/overview.html:5 +#: manager/templates/schedule/overview.html:4 msgid "Your schedules" msgstr "Vos programmes" #: manager/templates/schedule/overview.html:19 -#: manager/templates/schedule/view.html:131 -#: manager/templates/schedule/view.html:183 +#: manager/templates/schedule/view.html:96 +#: manager/templates/schedule/view.html:146 #: manager/templates/workout/overview.html:16 msgid "active" msgstr "actif" -#: manager/templates/schedule/overview.html:28 +#: manager/templates/schedule/overview.html:27 msgid "No schedules found." msgstr "Aucun programme trouvé." +#: manager/templates/schedule/overview.html:28 +#, fuzzy +#| msgid "Add one now." +msgid "Add one now" +msgstr "En ajouter une." + #: manager/templates/schedule/overview.html:36 msgid "" "Schedules are collections of workouts that you do in\n" @@ -2465,12 +2442,20 @@ msgstr "" "les uns après les autres." #: manager/templates/schedule/overview.html:39 +#, fuzzy +#| msgid "" +#| "You can indicate how long you want to do each workout\n" +#| " before jumping to the next. It is also possible to create a loop, " +#| "so you\n" +#| " always do the same workouts in succession, e.g. A > B > C > A > B " +#| "> C and so on." msgid "" "You can indicate how long you want to do each workout\n" " before jumping to the next. It is also possible to create a loop, so " "you\n" " always do the same workouts in succession, e.g. A > B > C > A > B > " -"C and so on." +"C and so\n" +" on." msgstr "" "Vous pouvez indiquer combien de temps vous voulez faire chaque séance\n" "avant de passer à la suivante. Il est également possible de créer une " @@ -2478,7 +2463,7 @@ msgstr "" "pour faire toujours les mêmes entraînements en succession, par exemple A > B " "> C > A > B > C etc." -#: manager/templates/schedule/overview.html:43 +#: manager/templates/schedule/overview.html:44 msgid "" "The currently active schedule will remain active (and be\n" " shown e.g. in your dashboard) till it reaches the last workout or " @@ -2498,7 +2483,7 @@ msgstr "Ajouter un programme" msgid "Schedule" msgstr "Programme" -#: manager/templates/schedule/view.html:85 +#: manager/templates/schedule/view.html:39 msgid "" "This schedule is a loop and will go through the workouts above till you " "deactivate it" @@ -2506,19 +2491,15 @@ msgstr "" "Ce programme est une boucle et passera par toutes séances jusqu'à ce que " "vous l’arrêtiez" -#: manager/templates/schedule/view.html:103 +#: manager/templates/schedule/view.html:57 msgid "Weeks" msgstr "Semaines" -#: manager/templates/schedule/view.html:115 -msgid "Move me" -msgstr "Déplacez-moi" - -#: manager/templates/schedule/view.html:156 +#: manager/templates/schedule/view.html:121 msgid "Start schedule" msgstr "Démarrer le programme" -#: manager/templates/schedule/view.html:187 +#: manager/templates/schedule/view.html:150 #, python-format msgid "" "%(weeks)s Week\n" @@ -2533,11 +2514,11 @@ msgstr[1] "" "%(weeks)s semaines\n" " " -#: manager/templates/schedule/view.html:221 +#: manager/templates/schedule/view.html:184 msgid "Adding workouts" msgstr "Ajout de séances" -#: manager/templates/schedule/view.html:223 +#: manager/templates/schedule/view.html:186 msgid "" "Add as many workouts to the schedule as you want. You can\n" " edit the order by dragging and dropping them. It's also possible " @@ -2549,48 +2530,48 @@ msgstr "" "Vous pouvez changer l’ordre par glisser-déposer.\n" "C’est également possible d’ajouter une séance plus d’une fois." -#: manager/templates/schedule/view.html:232 -#: manager/templates/schedule/view.html:243 -#: manager/templates/schedule/view.html:290 +#: manager/templates/schedule/view.html:195 +#: manager/templates/schedule/view.html:209 +#: manager/templates/schedule/view.html:263 #: manager/templates/workout/view.html:69 -#: manager/templates/workout/view.html:79 -#: manager/templates/workout/view.html:178 +#: manager/templates/workout/view.html:83 +#: manager/templates/workout/view.html:192 msgid "Export calendar file" msgstr "Exporter en tant que fichier calendrier" -#: manager/templates/schedule/view.html:236 +#: manager/templates/schedule/view.html:201 msgid "Export this schedule as a calendar file." msgstr "Exporter ce programme dans un fichier de calendrier." -#: manager/templates/schedule/view.html:237 -#: manager/templates/workout/view.html:74 +#: manager/templates/schedule/view.html:202 +#: manager/templates/workout/view.html:76 +#, fuzzy +#| msgid "" +#| "You can then import the file it into your calendar\n" +#| " application for example google calendar, outlook " +#| "or iCal. This will create\n" +#| " an appointment for each training day with the " +#| "appropriate exercises." msgid "" "You can then import the file it into your calendar\n" " application for example google calendar, outlook or " "iCal. This will create\n" " an appointment for each training day with the " -"appropriate exercises." +"appropriate\n" +" exercises." msgstr "" "Vous pouvez ensuite importer le fichier dans votre application de " "calendrier,\n" "par exemple Google Agenda, Outlook ou iCal. Ceci va créer un rendez-vous\n" "pour chaque jour d'entraînement avec les exercices appropriés." -#: manager/templates/schedule/view.html:258 -#: manager/templates/schedule/view.html:294 -#: manager/templates/workout/view.html:94 -#: manager/templates/workout/view.html:174 +#: manager/templates/schedule/view.html:225 +#: manager/templates/schedule/view.html:268 +#: manager/templates/workout/view.html:99 +#: manager/templates/workout/view.html:188 msgid "Download as PDF" msgstr "Télécharger au format PDF" -#: manager/templates/schedule/view.html:299 -msgid "Edit schedule" -msgstr "Modifier le programme" - -#: manager/templates/schedule/view.html:304 -msgid "Delete schedule" -msgstr "Supprimer le programme" - #: manager/templates/set/add.html:9 #, python-format msgid "Add exercises to day \"%(day_name)s\"" @@ -2672,59 +2653,6 @@ msgstr "" "Vous allez régulièrement recevoir ces rappels jusqu'à ce que vous entrez " "votre poids actuel." -#: manager/templates/workout/log.html:10 manager/templates/workout/log.html:11 -msgid "Weight log" -msgstr "Journal de pesée" - -#: manager/templates/workout/log.html:29 -msgid "Weight log for workout" -msgstr "Journal de poids pour la séance" - -#: manager/templates/workout/log.html:49 -msgid "Add weight log to this day" -msgstr "Ajouter un journal de poids à ce jour" - -#: manager/templates/workout/log.html:69 -msgid "No weight entries here." -msgstr "Aucune entrée de poids ici." - -#: manager/templates/workout/log.html:77 -msgid "No exercises for this day." -msgstr "Aucun exercice pour cette journée." - -#: manager/templates/workout/log.html:90 -msgid "" -"This page shows the weight logs belonging to this workout\n" -"only. Click on an exercise to see all the historical data for\n" -"it." -msgstr "" -"Cette page affiche les journaux poids appartenant à cette séance " -"d’entraînement\n" -"seulement. Cliquez sur un exercice pour voir toutes les données historiques " -"pour\n" -"elle." - -#: manager/templates/workout/log.html:94 -msgid "" -"If on a single day there is more than one entry with the\n" -"same number of repetitions, but different weights, only the entry with the\n" -"higher weight is shown in the diagram." -msgstr "" -"Si sur une seule journée, il y a plus d’une entrée avec le\n" -"même nombre de répétitions, mais de poids différents, seul l’entrée avec le\n" -"poids le plus élevé est indiquée sur le diagramme." - -#: manager/templates/workout/log.html:98 -msgid "" -"Note that only entries with a weight unit (kg or lb) and\n" -"repetitions are charted, other combinations such as time or until failure\n" -"are ignored here." -msgstr "" -"Notez que seules les écritures avec une unité de poids (kg ou lb) et\n" -"les répétitions sont cartographiées, d’autres combinaisons comme le temps ou " -"jusqu'à l'échec\n" -"sont ignorés ici." - #: manager/templates/workout/overview.html:25 msgid "No templates found." msgstr "Aucun modèle n'a été trouvé." @@ -2761,27 +2689,23 @@ msgstr "Ajouter des entraînements aux jours" msgid "Set the repetitions for each set" msgstr "Définir les répétitions pour chaque série" -#: manager/templates/workout/view.html:73 +#: manager/templates/workout/view.html:75 msgid "Export this workout as a calendar file." msgstr "Exporter cette séance en un fichier de calendrier." -#: manager/templates/workout/view.html:144 +#: manager/templates/workout/view.html:156 msgid "Logs" msgstr "Journaux" -#: manager/templates/workout/view.html:146 +#: manager/templates/workout/view.html:159 msgid "View logs" msgstr "Voir les journaux" -#: manager/templates/workout/view.html:169 manager/views/schedule_step.py:99 -msgid "Edit workout" -msgstr "Modifier la séance" - -#: manager/templates/workout/view.html:182 manager/views/workout.py:281 +#: manager/templates/workout/view.html:195 manager/views/workout.py:281 msgid "Mark as template" msgstr "Marquer comme modèle" -#: manager/views/day.py:109 +#: manager/views/day.py:105 msgid "Add workout day" msgstr "Ajouter un jour d'entrainement" @@ -2798,6 +2722,10 @@ msgstr "Séance pour %s" msgid "Create schedule" msgstr "Créer un programme" +#: manager/views/schedule_step.py:99 +msgid "Edit workout" +msgstr "Modifier la séance" + #: manager/views/workout.py:209 msgid "Copy workout" msgstr "Copier une séance" @@ -2922,7 +2850,7 @@ msgstr "Quantité en grammes" msgid "Unit amount, e.g. \"1 Cup\" or \"1/2 spoon\"" msgstr "Quantité, par exemple « 1 tasse » ou « 1/2 cuillère »" -#: nutrition/models/log.py:52 nutrition/models/meal.py:50 +#: nutrition/models/log.py:52 nutrition/models/meal.py:48 #: nutrition/models/meal_item.py:48 nutrition/models/plan.py:108 msgid "Nutrition plan" msgstr "Plan de nutrition" @@ -2935,11 +2863,11 @@ msgstr "Repas" msgid "Date and Time (Approx.)" msgstr "Date et heure (Approx.)" -#: nutrition/models/meal.py:62 +#: nutrition/models/meal.py:60 msgid "Time (approx)" msgstr "Temps (approx.)" -#: nutrition/models/meal.py:69 +#: nutrition/models/meal.py:67 msgid "" "Give meals a textual description / name such as \"Breakfast\" or \"after " "workout\"" @@ -2968,64 +2896,6 @@ msgstr "" "d’objectif de calories. Vous pouvez utiliser la calculatrice ou entrez la " "valeur vous-même." -#: nutrition/templates/bmi/form.html:62 -msgid "Results" -msgstr "Résultats" - -#: nutrition/templates/bmi/form.html:63 -msgid "Your BMI is: " -msgstr "Votre IMC est : " - -#: nutrition/templates/bmi/form.html:71 -msgid "Legend" -msgstr "Légende" - -#: nutrition/templates/bmi/form.html:75 -msgid "Adipositas III" -msgstr "Obésité III" - -#: nutrition/templates/bmi/form.html:79 -msgid "Adipositas II" -msgstr "Obésité II" - -#: nutrition/templates/bmi/form.html:83 -msgid "Adipositas I" -msgstr "Obésité I" - -#: nutrition/templates/bmi/form.html:87 -msgid "Overweight" -msgstr "Surcharge pondérale" - -#: nutrition/templates/bmi/form.html:91 -msgid "Normal weight" -msgstr "Poids normal" - -#: nutrition/templates/bmi/form.html:95 -msgid "Slight underweight" -msgstr "Insuffisance pondérale légère" - -#: nutrition/templates/bmi/form.html:99 -msgid "Moderate underweight" -msgstr "Insuffisance pondérale modérée" - -#: nutrition/templates/bmi/form.html:103 -msgid "Strong underweight" -msgstr "Forte insuffisance pondérale" - -#: nutrition/templates/bmi/form.html:117 -msgid "" -"Use the form to calculate your BMI (Body Mass Index).\n" -"If you have entered data in the weight section, the last entry will\n" -"be used automatically. Otherwise the weight you enter here will be saved\n" -"in a new entry." -msgstr "" -"Utilisez le formulaire pour calculer votre IMC (indice de masse " -"corporelle).\n" -"Si vous avez entré des données dans la section poids, la dernière entrée " -"sera\n" -"utilisée automatiquement. Dans le cas contraire, le poids que vous entrez " -"ici sera sauvegardé dans une nouvelle entrée." - #: nutrition/templates/ingredient/email_new.tpl:1 #, python-format msgid "" @@ -3084,10 +2954,6 @@ msgstr "Aucun ingrédient." msgid "Search" msgstr "Recherche" -#: nutrition/templates/ingredient/overview.html:62 -msgid "Add ingredient" -msgstr "Ajouter un ingrédient" - #: nutrition/templates/ingredient/view.html:45 nutrition/views/plan.py:229 msgid "Macronutrients" msgstr "Macronutriments" @@ -3107,20 +2973,11 @@ msgstr "n.A." msgid "Others" msgstr "Autres" -#: nutrition/templates/ingredient/view.html:144 -#: nutrition/templates/units/list.html:46 nutrition/views/unit.py:86 +#: nutrition/templates/ingredient/view.html:143 +#: nutrition/templates/units/list.html:50 nutrition/views/unit.py:86 msgid "Add new weight unit" msgstr "Ajouter une nouvelle unité de poids" -#: nutrition/templates/ingredient/view.html:206 -#: nutrition/templates/ingredient/view.html:209 -msgid "Edit ingredient" -msgstr "Modifier l’ingrédient" - -#: nutrition/templates/ingredient/view.html:213 -msgid "Delete ingredient" -msgstr "Supprimer l'ingrédient" - #: nutrition/templates/rate/form.html:25 msgid "Basal metabolic rate" msgstr "Taux métabolique basal" @@ -3205,19 +3062,6 @@ msgstr "" "basez votre plan de nutrition sur ces valeurs, observez pendant quelques " "semaines et changer le montant total si nécessaire." -#: nutrition/views/bmi.py:89 -msgid "Please make sure your height is within the appropriate range." -msgstr "" -"Veuillez vous assurer que votre taille se situe dans la plage appropriée." - -#: nutrition/views/bmi.py:92 -msgid "140 to 230" -msgstr "140 à 230" - -#: nutrition/views/bmi.py:94 -msgid "56 to 90" -msgstr "56 à 90" - #: nutrition/views/ingredient.py:157 msgid "Add a new ingredient" msgstr "Ajouter un nouvel ingrédient" @@ -3770,6 +3614,149 @@ msgstr "Supprimé avec succès." msgid "Delete weight entry for the %s" msgstr "Supprimer l’entrée de poids pour le %s" +#~ msgid "Move me" +#~ msgstr "Déplacez-moi" + +#~ msgid "Results" +#~ msgstr "Résultats" + +#~ msgid "Your BMI is: " +#~ msgstr "Votre IMC est : " + +#~ msgid "Legend" +#~ msgstr "Légende" + +#~ msgid "Adipositas III" +#~ msgstr "Obésité III" + +#~ msgid "Adipositas II" +#~ msgstr "Obésité II" + +#~ msgid "Adipositas I" +#~ msgstr "Obésité I" + +#~ msgid "Overweight" +#~ msgstr "Surcharge pondérale" + +#~ msgid "Normal weight" +#~ msgstr "Poids normal" + +#~ msgid "Slight underweight" +#~ msgstr "Insuffisance pondérale légère" + +#~ msgid "Moderate underweight" +#~ msgstr "Insuffisance pondérale modérée" + +#~ msgid "Strong underweight" +#~ msgstr "Forte insuffisance pondérale" + +#~ msgid "" +#~ "Use the form to calculate your BMI (Body Mass Index).\n" +#~ "If you have entered data in the weight section, the last entry will\n" +#~ "be used automatically. Otherwise the weight you enter here will be saved\n" +#~ "in a new entry." +#~ msgstr "" +#~ "Utilisez le formulaire pour calculer votre IMC (indice de masse " +#~ "corporelle).\n" +#~ "Si vous avez entré des données dans la section poids, la dernière entrée " +#~ "sera\n" +#~ "utilisée automatiquement. Dans le cas contraire, le poids que vous entrez " +#~ "ici sera sauvegardé dans une nouvelle entrée." + +#~ msgid "Please make sure your height is within the appropriate range." +#~ msgstr "" +#~ "Veuillez vous assurer que votre taille se situe dans la plage appropriée." + +#~ msgid "140 to 230" +#~ msgstr "140 à 230" + +#~ msgid "56 to 90" +#~ msgstr "56 à 90" + +#~ msgid "" +#~ "If a license has been localized, e.g. the Creative Commons\n" +#~ " licenses for the different countries, add them as separate " +#~ "entries here." +#~ msgstr "" +#~ "Si une licence a été localisée, par exemple les licences Creative " +#~ "Commons\n" +#~ "pour les différents pays, ajoutez-les comme des entrées distinctes ici." + +#~ msgid "Add weight log" +#~ msgstr "Ajouter un journal de poids" + +#~ msgid "This exercise has no repetitions." +#~ msgstr "Cet exercice n'a pas de répétition." + +#~ msgid "Edit them now." +#~ msgstr "Modifiez-les maintenant." + +#~ msgid "Add exercises to this workout day" +#~ msgstr "Ajouter des exercices à cette séance" + +#~ msgid "Edit schedule" +#~ msgstr "Modifier le programme" + +#~ msgid "Delete schedule" +#~ msgstr "Supprimer le programme" + +#~ msgid "Weight log" +#~ msgstr "Journal de pesée" + +#~ msgid "Weight log for workout" +#~ msgstr "Journal de poids pour la séance" + +#~ msgid "Add weight log to this day" +#~ msgstr "Ajouter un journal de poids à ce jour" + +#~ msgid "No weight entries here." +#~ msgstr "Aucune entrée de poids ici." + +#~ msgid "No exercises for this day." +#~ msgstr "Aucun exercice pour cette journée." + +#~ msgid "" +#~ "This page shows the weight logs belonging to this workout\n" +#~ "only. Click on an exercise to see all the historical data for\n" +#~ "it." +#~ msgstr "" +#~ "Cette page affiche les journaux poids appartenant à cette séance " +#~ "d’entraînement\n" +#~ "seulement. Cliquez sur un exercice pour voir toutes les données " +#~ "historiques pour\n" +#~ "elle." + +#~ msgid "" +#~ "If on a single day there is more than one entry with the\n" +#~ "same number of repetitions, but different weights, only the entry with " +#~ "the\n" +#~ "higher weight is shown in the diagram." +#~ msgstr "" +#~ "Si sur une seule journée, il y a plus d’une entrée avec le\n" +#~ "même nombre de répétitions, mais de poids différents, seul l’entrée avec " +#~ "le\n" +#~ "poids le plus élevé est indiquée sur le diagramme." + +#~ msgid "" +#~ "Note that only entries with a weight unit (kg or lb) and\n" +#~ "repetitions are charted, other combinations such as time or until " +#~ "failure\n" +#~ "are ignored here." +#~ msgstr "" +#~ "Notez que seules les écritures avec une unité de poids (kg ou lb) et\n" +#~ "les répétitions sont cartographiées, d’autres combinaisons comme le temps " +#~ "ou jusqu'à l'échec\n" +#~ "sont ignorés ici." + +#~ msgid "Add ingredient" +#~ msgstr "Ajouter un ingrédient" + +#~ msgid "Edit ingredient" +#~ msgstr "Modifier l’ingrédient" + +#~ msgid "Delete ingredient" +#~ msgstr "Supprimer l'ingrédient" + #~ msgid "Ingredients pending review" #~ msgstr "Ingrédients en attente d'examen" diff --git a/wger/locale/he/LC_MESSAGES/django.po b/wger/locale/he/LC_MESSAGES/django.po index ecb8b160e..732983243 100644 --- a/wger/locale/he/LC_MESSAGES/django.po +++ b/wger/locale/he/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-14 15:59+0200\n" +"POT-Creation-Date: 2024-11-14 19:23+0100\n" "PO-Revision-Date: 2024-05-24 13:09+0000\n" "Last-Translator: Tsz Hong CHAN \n" "Language-Team: Hebrew \n" @@ -18,7 +18,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Weblate 5.6-dev\n" -#: config/models/gym_config.py:46 gym/templates/gym/list.html:53 +#: config/models/gym_config.py:46 gym/templates/gym/list.html:56 msgid "Default gym" msgstr "" @@ -28,28 +28,28 @@ msgid "" "registered users to this gym and update all existing users without a gym." msgstr "" -#: config/views/gym_config.py:42 core/templates/language/view.html:67 -#: core/templates/license/list.html:17 core/templates/misc/license/list.html:18 +#: config/views/gym_config.py:42 core/templates/language/view.html:64 +#: core/templates/license/list.html:17 #: core/templates/repetition_unit/list.html:18 -#: core/templates/tags/render_day.html:39 -#: core/templates/tags/render_day.html:75 core/templates/user/overview.html:204 -#: core/templates/user/overview.html:445 +#: core/templates/user/overview.html:204 core/templates/user/overview.html:467 #: core/templates/weight_unit/list.html:18 #: exercises/templates/categories/admin-overview.html:17 #: exercises/templates/equipment/admin-overview.html:17 -#: exercises/templates/muscles/admin-overview.html:17 -#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:32 -#: gym/templates/contract/list.html:31 gym/templates/contract/view.html:107 -#: gym/templates/contract_option/list.html:32 -#: gym/templates/contract_type/list.html:32 gym/templates/document/list.html:38 -#: gym/templates/gym/list.html:20 gym/templates/gym/list.html:46 -#: gym/templates/gym/member_list.html:87 gym/templates/gym/member_list.html:140 -#: gym/templates/gym/member_list.html:176 -#: manager/templates/calendar/day.html:68 -#: manager/templates/calendar/month.html:85 -#: manager/templates/calendar/partial_overview_table.html:18 -#: manager/templates/schedule/view.html:118 -#: nutrition/templates/ingredient/view.html:165 +#: exercises/templates/muscles/admin-overview.html:16 +#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:31 +#: gym/templates/contract/list.html:30 gym/templates/contract/view.html:106 +#: gym/templates/contract_option/list.html:29 +#: gym/templates/contract_type/list.html:30 gym/templates/document/list.html:38 +#: gym/templates/gym/list.html:19 gym/templates/gym/list.html:48 +#: gym/templates/gym/member_list.html:94 gym/templates/gym/member_list.html:152 +#: gym/templates/gym/member_list.html:190 +#: manager/templates/calendar/day.html:67 +#: manager/templates/calendar/month.html:84 +#: manager/templates/calendar/partial_overview_table.html:16 +#: manager/templates/schedule/view.html:271 +#: manager/templates/workout/view.html:181 +#: nutrition/templates/ingredient/view.html:164 +#: nutrition/templates/ingredient/view.html:209 #: nutrition/templates/units/list.html:19 msgid "Edit" msgstr "" @@ -83,25 +83,25 @@ msgstr "" msgid "Empty placeholder schedule" msgstr "" -#: core/forms.py:69 core/templates/navigation.html:285 -#: core/templates/navigation.html:291 core/templates/user/login.html:4 +#: core/forms.py:69 core/templates/navigation.html:284 +#: core/templates/navigation.html:290 core/templates/user/login.html:4 #: software/templates/features.html:82 software/templates/features.html:427 msgid "Login" msgstr "" -#: core/forms.py:108 core/forms.py:214 gym/views/export.py:61 +#: core/forms.py:108 core/forms.py:216 gym/views/export.py:61 #: gym/views/gym.py:217 msgid "First name" msgstr "" -#: core/forms.py:109 core/forms.py:215 core/templates/user/overview.html:266 +#: core/forms.py:109 core/forms.py:217 core/templates/user/overview.html:284 #: gym/views/export.py:62 gym/views/gym.py:217 msgid "Last name" msgstr "" -#: core/forms.py:111 core/forms.py:180 core/templates/user/overview.html:270 +#: core/forms.py:111 core/forms.py:182 core/templates/user/overview.html:288 #: gym/models/contract.py:256 gym/models/gym.py:58 -#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:104 +#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:116 #: gym/templates/gym/new_user.html:30 gym/views/export.py:60 #: mailer/templates/mailer/gym/form.html:4 #: mailer/templates/mailer/gym/overview.html:4 @@ -118,94 +118,93 @@ msgstr "" msgid "Date of Birth" msgstr "" -#: core/forms.py:148 +#: core/forms.py:149 msgid "Personal data" msgstr "" -#: core/forms.py:159 +#: core/forms.py:161 msgid "Workout reminders" msgstr "" -#: core/forms.py:166 +#: core/forms.py:168 msgid "Other settings" msgstr "" -#: core/forms.py:174 core/views/user.py:624 core/views/user.py:639 -#: core/views/user.py:651 gym/forms.py:73 manager/templates/log/add.html:65 +#: core/forms.py:176 core/views/user.py:623 core/views/user.py:638 +#: core/views/user.py:650 gym/forms.py:73 manager/templates/log/add.html:65 #: manager/templates/set/add.html:70 manager/views/workout.py:203 #: utils/generic_views.py:143 msgid "Save" msgstr "" -#: core/forms.py:181 +#: core/forms.py:183 msgid "Used for password resets and, optionally, email reminders." msgstr "" -#: core/forms.py:210 +#: core/forms.py:212 msgid "This e-mail address is already in use." msgstr "" -#: core/forms.py:231 gym/templates/gym/new_user.html:26 +#: core/forms.py:233 gym/templates/gym/new_user.html:26 #: gym/templates/gym/reset_user_password.html:24 gym/views/gym.py:217 msgid "Password" msgstr "" -#: core/forms.py:233 +#: core/forms.py:235 msgid "Please enter your current password." msgstr "" -#: core/forms.py:242 core/templates/language/view.html:73 -#: core/templates/license/list.html:19 core/templates/misc/license/list.html:22 -#: core/templates/repetition_unit/list.html:20 -#: core/templates/tags/render_day.html:45 -#: core/templates/tags/render_day.html:81 core/templates/user/overview.html:217 -#: core/templates/weight_unit/list.html:20 -#: exercises/templates/categories/admin-overview.html:19 -#: exercises/templates/equipment/admin-overview.html:19 -#: exercises/templates/muscles/admin-overview.html:19 -#: gym/templates/admin_notes/list.html:40 -#: gym/templates/contract_option/list.html:41 -#: gym/templates/contract_type/list.html:41 gym/templates/document/list.html:46 -#: gym/templates/gym/list.html:22 manager/templates/calendar/day.html:73 -#: manager/templates/calendar/month.html:89 -#: manager/templates/calendar/partial_overview_table.html:23 -#: manager/templates/schedule/view.html:122 -#: manager/templates/workout/view.html:188 -#: nutrition/templates/ingredient/view.html:166 +#: core/forms.py:244 core/templates/language/view.html:70 +#: core/templates/license/list.html:21 +#: core/templates/repetition_unit/list.html:22 +#: core/templates/user/overview.html:233 +#: core/templates/weight_unit/list.html:22 +#: exercises/templates/categories/admin-overview.html:21 +#: exercises/templates/equipment/admin-overview.html:21 +#: exercises/templates/muscles/admin-overview.html:20 +#: gym/templates/admin_notes/list.html:37 +#: gym/templates/contract_option/list.html:35 +#: gym/templates/contract_type/list.html:36 gym/templates/document/list.html:46 +#: gym/templates/gym/list.html:23 manager/templates/calendar/day.html:73 +#: manager/templates/calendar/month.html:88 +#: manager/templates/calendar/partial_overview_table.html:22 +#: manager/templates/schedule/view.html:277 +#: manager/templates/workout/view.html:202 +#: nutrition/templates/ingredient/view.html:168 #: nutrition/templates/ingredient/view.html:215 -#: nutrition/templates/units/list.html:22 +#: nutrition/templates/units/list.html:25 msgid "Delete" msgstr "" -#: core/forms.py:251 +#: core/forms.py:253 msgid "Invalid password" msgstr "" -#: core/forms.py:263 core/forms.py:338 +#: core/forms.py:265 core/forms.py:340 msgid "The form is secured with reCAPTCHA" msgstr "" -#: core/forms.py:279 core/forms.py:301 core/templates/navigation.html:285 -#: core/templates/navigation.html:297 core/templates/template.html:149 -#: core/templates/user/login.html:20 core/views/user.py:298 +#: core/forms.py:281 core/forms.py:303 core/templates/navigation.html:284 +#: core/templates/navigation.html:296 core/templates/template.html:150 +#: core/templates/user/login.html:20 core/views/user.py:297 #: software/templates/features.html:87 software/templates/features.html:422 msgid "Register" msgstr "" -#: core/forms.py:315 software/templates/features.html:45 +#: core/forms.py:317 software/templates/features.html:45 msgid "Contact" msgstr "" -#: core/forms.py:316 +#: core/forms.py:318 msgid "Some way of answering you (e-mail, etc.)" msgstr "" -#: core/forms.py:324 exercises/models/comment.py:58 manager/models/set.py:61 +#: core/forms.py:326 exercises/models/comment.py:58 manager/models/set.py:61 #: manager/models/setting.py:114 nutrition/models/log.py:77 msgid "Comment" msgstr "" -#: core/forms.py:325 +#: core/forms.py:327 msgid "What do you want to say?" msgstr "" @@ -420,18 +419,18 @@ msgid "The sum of all hours has to be 24" msgstr "" #: core/models/rep_unit.py:36 core/models/weight_unit.py:36 -#: core/templates/user/overview.html:262 core/views/user.py:599 +#: core/templates/user/overview.html:280 core/views/user.py:598 #: exercises/models/category.py:29 exercises/models/equipment.py:29 #: exercises/models/exercise.py:59 exercises/models/muscle.py:36 #: gym/models/contract.py:52 gym/models/contract.py:103 gym/models/gym.py:46 #: gym/models/user_document.py:84 gym/templates/contract/view.html:50 -#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:96 +#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:108 #: gym/views/gym.py:158 manager/models/schedule.py:55 #: manager/models/workout.py:57 measurements/models/category.py:36 #: nutrition/models/ingredient.py:111 -#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:67 +#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:65 #: nutrition/models/weight_unit.py:38 -#: nutrition/templates/ingredient/view.html:152 +#: nutrition/templates/ingredient/view.html:151 msgid "Name" msgstr "" @@ -476,7 +475,7 @@ msgstr "" msgid "Back to \"%(target)s\"" msgstr "" -#: core/templates/delete.html:15 +#: core/templates/delete.html:4 msgid "Are you sure you want to delete this? This action cannot be undone." msgstr "" @@ -528,7 +527,7 @@ msgstr "" msgid "Dashboard" msgstr "" -#: core/templates/language/overview.html:4 core/templates/navigation.html:345 +#: core/templates/language/overview.html:4 core/templates/navigation.html:344 msgid "Languages" msgstr "" @@ -538,79 +537,72 @@ msgstr "" #: core/templates/language/overview.html:22 #: manager/templates/calendar/month.html:132 -#: manager/templates/schedule/overview.html:28 -#: manager/templates/schedule/view.html:144 +#: manager/templates/schedule/view.html:107 #: manager/templates/workout/overview.html:28 #: nutrition/templates/ingredient/overview.html:38 msgid "Add one now." msgstr "" -#: core/templates/language/overview.html:35 core/templates/license/list.html:40 -#: core/templates/misc/license/list.html:43 -#: core/templates/repetition_unit/list.html:43 -#: core/templates/user/overview.html:326 core/templates/user/overview.html:365 -#: core/templates/user/overview.html:401 -#: core/templates/weight_unit/list.html:43 core/views/languages.py:74 +#: core/templates/language/overview.html:34 core/templates/license/list.html:43 +#: core/templates/repetition_unit/list.html:46 +#: core/templates/user/overview.html:344 core/templates/user/overview.html:384 +#: core/templates/user/overview.html:422 +#: core/templates/weight_unit/list.html:46 core/views/languages.py:74 #: core/views/license.py:66 core/views/repetition_units.py:66 #: core/views/weight_units.py:66 -#: exercises/templates/categories/admin-overview.html:38 -#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:67 -#: gym/templates/contract/list.html:73 -#: gym/templates/contract_option/list.html:72 -#: gym/templates/contract_type/list.html:72 gym/templates/document/list.html:79 -#: gym/templates/gym/member_list.html:211 -#: gym/templates/gym/member_list.html:244 -#: gym/templates/gym/member_list.html:281 +#: exercises/templates/categories/admin-overview.html:40 +#: exercises/templates/equipment/admin-overview.html:39 +#: exercises/templates/muscles/admin-overview.html:40 +#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:64 +#: gym/templates/contract/list.html:69 +#: gym/templates/contract_option/list.html:65 +#: gym/templates/contract_type/list.html:66 gym/templates/document/list.html:78 +#: gym/templates/gym/member_list.html:228 +#: gym/templates/gym/member_list.html:264 +#: gym/templates/gym/member_list.html:303 #: mailer/templates/mailer/gym/overview.html:43 +#: nutrition/templates/ingredient/overview.html:60 msgid "Add" msgstr "" #: core/templates/language/view.html:61 core/templates/user/api_key.html:44 -#: core/templates/user/preferences.html:45 gym/models/contract.py:203 -#: gym/templates/contract/view.html:41 gym/templates/contract/view.html:106 -#: gym/templates/gym/member_list.html:248 -#: manager/templates/schedule/view.html:285 -#: manager/templates/workout/view.html:163 -#: nutrition/templates/ingredient/view.html:202 +#: core/templates/user/preferences.html:50 gym/models/contract.py:203 +#: gym/templates/contract/view.html:41 gym/templates/gym/member_list.html:270 +#: manager/templates/schedule/view.html:257 +#: manager/templates/workout/view.html:177 +#: nutrition/templates/ingredient/view.html:206 msgid "Options" msgstr "" -#: core/templates/license/list.html:4 core/templates/misc/license/list.html:4 +#: core/templates/license/list.html:4 msgid "License list" msgstr "" -#: core/templates/license/list.html:26 core/templates/misc/license/list.html:30 -#: core/templates/repetition_unit/list.html:28 +#: core/templates/license/list.html:30 +#: core/templates/repetition_unit/list.html:32 #: core/templates/user/overview.html:104 core/templates/user/overview.html:136 -#: core/templates/user/overview.html:185 core/templates/user/overview.html:347 -#: core/templates/user/overview.html:383 core/templates/user/overview.html:427 -#: core/templates/weight_unit/list.html:28 -#: exercises/templates/categories/admin-overview.html:26 -#: exercises/templates/equipment/admin-overview.html:26 -#: exercises/templates/muscles/admin-overview.html:26 -#: gym/templates/admin_notes/list.html:52 gym/templates/contract/list.html:60 -#: gym/templates/contract_option/list.html:58 -#: gym/templates/contract_type/list.html:58 gym/templates/document/list.html:64 -#: gym/templates/gym/list.html:29 gym/templates/gym/member_list.html:229 -#: gym/templates/gym/member_list.html:262 -#: gym/templates/gym/member_list.html:299 +#: core/templates/user/overview.html:185 core/templates/user/overview.html:365 +#: core/templates/user/overview.html:404 core/templates/user/overview.html:448 +#: core/templates/weight_unit/list.html:32 +#: exercises/templates/categories/admin-overview.html:30 +#: exercises/templates/equipment/admin-overview.html:30 +#: exercises/templates/muscles/admin-overview.html:29 +#: gym/templates/admin_notes/list.html:50 gym/templates/contract/list.html:57 +#: gym/templates/contract_option/list.html:52 +#: gym/templates/contract_type/list.html:53 gym/templates/document/list.html:64 +#: gym/templates/gym/list.html:32 gym/templates/gym/member_list.html:248 +#: gym/templates/gym/member_list.html:284 +#: gym/templates/gym/member_list.html:321 #: mailer/templates/mailer/gym/overview.html:30 -#: manager/templates/calendar/day.html:87 -#: nutrition/templates/units/list.html:29 +#: manager/templates/calendar/day.html:88 +#: nutrition/templates/units/list.html:34 msgid "Nothing found" msgstr "" -#: core/templates/misc/about.html:4 core/templates/template.html:175 +#: core/templates/misc/about.html:4 core/templates/template.html:187 msgid "Imprint" msgstr "" -#: core/templates/misc/license/list.html:47 -msgid "" -"If a license has been localized, e.g. the Creative Commons\n" -" licenses for the different countries, add them as separate " -"entries here." -msgstr "" - #: core/templates/navigation.html:28 software/templates/features.html:437 msgid "Training" msgstr "" @@ -655,8 +647,8 @@ msgstr "" msgid "Exercises" msgstr "" -#: core/templates/navigation.html:111 core/templates/navigation.html:184 -#: core/templates/navigation.html:340 +#: core/templates/navigation.html:111 core/templates/navigation.html:185 +#: core/templates/navigation.html:339 msgid "Administration" msgstr "" @@ -685,7 +677,7 @@ msgstr "" msgid "Nutrition plans" msgstr "" -#: core/templates/navigation.html:165 nutrition/templates/bmi/form.html:50 +#: core/templates/navigation.html:165 msgid "BMI calculator" msgstr "" @@ -693,87 +685,87 @@ msgstr "" msgid "Daily calories calculator" msgstr "" -#: core/templates/navigation.html:179 +#: core/templates/navigation.html:180 #: nutrition/templates/ingredient/overview.html:10 msgid "Ingredient overview" msgstr "" -#: core/templates/navigation.html:187 nutrition/templates/units/list.html:6 +#: core/templates/navigation.html:189 nutrition/templates/units/list.html:6 msgid "Ingredient weight units" msgstr "" -#: core/templates/navigation.html:203 software/templates/features.html:442 +#: core/templates/navigation.html:205 software/templates/features.html:442 msgid "Body weight" msgstr "" -#: core/templates/navigation.html:210 core/templates/user/overview.html:114 +#: core/templates/navigation.html:212 core/templates/user/overview.html:114 msgid "Weight overview" msgstr "" -#: core/templates/navigation.html:217 weight/views.py:65 +#: core/templates/navigation.html:216 weight/views.py:65 msgid "Add weight entry" msgstr "" -#: core/templates/navigation.html:231 +#: core/templates/navigation.html:230 msgid "About this software" msgstr "" -#: core/templates/navigation.html:237 software/templates/about_us.html:5 +#: core/templates/navigation.html:236 software/templates/about_us.html:5 msgid "About us" msgstr "" -#: core/templates/navigation.html:243 software/templates/features.html:507 +#: core/templates/navigation.html:242 software/templates/features.html:507 msgid "REST API" msgstr "" -#: core/templates/navigation.html:249 utils/models.py:45 +#: core/templates/navigation.html:248 utils/models.py:45 msgid "License" msgstr "" -#: core/templates/navigation.html:255 +#: core/templates/navigation.html:254 msgid "Developer documentation" msgstr "" -#: core/templates/navigation.html:262 +#: core/templates/navigation.html:261 msgid "Get the code" msgstr "" -#: core/templates/navigation.html:269 core/templates/template.html:214 +#: core/templates/navigation.html:268 core/templates/template.html:226 #: software/templates/features.html:582 msgid "Translate" msgstr "" -#: core/templates/navigation.html:303 core/templates/user/login.html:28 +#: core/templates/navigation.html:302 core/templates/user/login.html:28 msgid "Reset password" msgstr "" -#: core/templates/navigation.html:321 +#: core/templates/navigation.html:320 msgid "My preferences" msgstr "" -#: core/templates/navigation.html:330 +#: core/templates/navigation.html:329 msgid "Logout" msgstr "" -#: core/templates/navigation.html:353 +#: core/templates/navigation.html:352 msgid "Licenses" msgstr "" -#: core/templates/navigation.html:361 +#: core/templates/navigation.html:360 #: core/templates/repetition_unit/list.html:4 msgid "Repetition units" msgstr "" -#: core/templates/navigation.html:369 core/templates/weight_unit/list.html:4 +#: core/templates/navigation.html:368 core/templates/weight_unit/list.html:4 #: nutrition/templates/ingredient/view.html:141 msgid "Weight units" msgstr "" -#: core/templates/navigation.html:377 core/templates/user/list.html:4 +#: core/templates/navigation.html:376 core/templates/user/list.html:4 msgid "User list" msgstr "" -#: core/templates/navigation.html:383 +#: core/templates/navigation.html:382 msgid "Gyms" msgstr "" @@ -832,55 +824,28 @@ msgstr "" msgid "next" msgstr "" -#: core/templates/tags/render_day.html:34 -msgid "Add weight log" +#: core/templates/tags/render_day.html:44 +msgid "Placeholder image for translation" msgstr "" -#: core/templates/tags/render_day.html:116 -msgid "Placeholder image for exercise" -msgstr "" - -#: core/templates/tags/render_day.html:133 -msgid "This exercise has no repetitions." -msgstr "" - -#: core/templates/tags/render_day.html:136 -msgid "Edit them now." -msgstr "" - -#: core/templates/tags/render_day.html:162 -msgid "Add exercises to this workout day" -msgstr "" - -#: core/templates/tags/render_weight_log.html:17 manager/helpers.py:86 -#: manager/models/setting.py:72 manager/templates/set/formset.html:9 -msgid "Reps" -msgstr "" - -#: core/templates/tags/render_weight_log.html:30 manager/forms.py:191 -#: manager/models/log.py:103 manager/models/setting.py:102 -#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 -msgid "RiR" -msgstr "" - -#: core/templates/template.html:122 manager/templates/calendar/month.html:138 -#: manager/templates/schedule/view.html:248 -#: manager/templates/schedule/view.html:269 -#: manager/templates/workout/view.html:84 -#: manager/templates/workout/view.html:137 +#: core/templates/template.html:123 manager/templates/calendar/month.html:138 +#: manager/templates/schedule/view.html:215 +#: manager/templates/schedule/view.html:240 +#: manager/templates/workout/view.html:89 +#: manager/templates/workout/view.html:149 msgid "Close" msgstr "" -#: core/templates/template.html:138 +#: core/templates/template.html:139 msgid "" "You are using a guest account, data entered will be deleted after a week." msgstr "" -#: core/templates/template.html:143 +#: core/templates/template.html:144 msgid "Create some demo entries" msgstr "" -#: core/templates/template.html:180 software/templates/features.html:547 +#: core/templates/template.html:192 software/templates/features.html:547 #: software/templates/tos.html:7 msgid "Terms of service" msgstr "" @@ -889,7 +854,7 @@ msgstr "" msgid "Features" msgstr "" -#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:54 +#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:59 msgid "API key" msgstr "" @@ -928,17 +893,17 @@ msgstr "" msgid "Documentation" msgstr "" -#: core/templates/user/delete_account.html:4 -#: core/templates/user/preferences.html:59 +#: core/templates/user/delete_account.html:3 +#: core/templates/user/preferences.html:62 msgid "Delete account" msgstr "" -#: core/templates/user/delete_account.html:17 +#: core/templates/user/delete_account.html:9 #: exercises/templates/history/overview.html:93 msgid "Are you sure?" msgstr "" -#: core/templates/user/delete_account.html:22 +#: core/templates/user/delete_account.html:14 #, python-format msgid "" "This action will delete the user account \"%(username)s\".\n" @@ -957,22 +922,22 @@ msgstr "" #: core/templates/user/overview.html:25 core/templates/user/overview.html:68 #: core/templates/user/overview.html:112 core/templates/user/overview.html:144 -#: core/templates/user/overview.html:330 core/templates/user/overview.html:369 -#: core/templates/user/overview.html:405 +#: core/templates/user/overview.html:348 core/templates/user/overview.html:390 +#: core/templates/user/overview.html:426 #, python-format msgid "last %(number)s" msgstr "" #: core/templates/user/overview.html:27 core/templates/user/overview.html:146 -#: core/templates/user/overview.html:325 core/templates/user/overview.html:364 -#: core/templates/user/overview.html:400 gym/templates/gym/member_list.html:210 -#: gym/templates/gym/member_list.html:243 -#: gym/templates/gym/member_list.html:280 +#: core/templates/user/overview.html:343 core/templates/user/overview.html:382 +#: core/templates/user/overview.html:421 gym/templates/gym/member_list.html:226 +#: gym/templates/gym/member_list.html:262 +#: gym/templates/gym/member_list.html:302 msgid "Overview" msgstr "" #: core/templates/user/overview.html:28 -#: manager/templates/schedule/view.html:163 +#: manager/templates/schedule/view.html:125 #: manager/templates/workout/overview.html:39 manager/views/schedule_step.py:60 msgid "Add workout" msgstr "" @@ -1004,38 +969,36 @@ msgstr "" msgid "Number of logs (days)" msgstr "" -#: core/templates/user/overview.html:37 core/views/user.py:600 +#: core/templates/user/overview.html:37 core/views/user.py:599 #: gym/templates/gym/email_inactive_members.html:4 gym/views/gym.py:158 msgid "Last activity" msgstr "" #: core/templates/user/overview.html:58 #: manager/templates/calendar/month.html:128 -#: manager/templates/schedule/view.html:144 #: manager/templates/workout/overview.html:28 msgid "No workouts found." msgstr "" #: core/templates/user/overview.html:68 manager/forms.py:280 -#: manager/templates/workout/view.html:106 +#: manager/templates/workout/view.html:114 msgid "Log" msgstr "" #: core/templates/user/overview.html:77 manager/models/session.py:83 -#: manager/templates/calendar/partial_overview_table.html:52 +#: manager/templates/calendar/partial_overview_table.html:54 msgid "General impression" msgstr "" -#: core/templates/user/overview.html:78 core/templates/user/overview.html:369 +#: core/templates/user/overview.html:78 core/templates/user/overview.html:390 #: manager/models/session.py:73 -#: manager/templates/calendar/partial_overview_table.html:56 -#: manager/templates/workout/log.html:89 +#: manager/templates/calendar/partial_overview_table.html:58 msgid "Notes" msgstr "" #: core/templates/user/overview.html:79 #: exercises/templates/history/overview.html:30 -#: manager/templates/calendar/partial_overview_table.html:42 +#: manager/templates/calendar/partial_overview_table.html:44 msgid "Time" msgstr "" @@ -1073,121 +1036,121 @@ msgstr "" msgid "kcal" msgstr "" -#: core/templates/user/overview.html:201 core/templates/user/overview.html:322 -#: core/templates/user/overview.html:361 core/templates/user/overview.html:397 -#: core/templates/user/overview.html:442 gym/templates/gym/list.html:42 -#: gym/templates/gym/member_list.html:84 gym/templates/gym/member_list.html:137 -#: gym/templates/gym/member_list.html:173 -#: gym/templates/gym/member_list.html:207 -#: gym/templates/gym/member_list.html:240 -#: gym/templates/gym/member_list.html:277 -#: manager/templates/schedule/view.html:100 +#: core/templates/user/overview.html:201 core/templates/user/overview.html:340 +#: core/templates/user/overview.html:379 core/templates/user/overview.html:418 +#: core/templates/user/overview.html:463 gym/templates/gym/list.html:45 +#: gym/templates/gym/member_list.html:91 gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:187 +#: gym/templates/gym/member_list.html:223 +#: gym/templates/gym/member_list.html:259 +#: gym/templates/gym/member_list.html:299 +#: manager/templates/schedule/view.html:54 msgid "Actions" msgstr "" -#: core/templates/user/overview.html:207 +#: core/templates/user/overview.html:210 msgid "Deactivate user" msgstr "" -#: core/templates/user/overview.html:209 +#: core/templates/user/overview.html:214 msgid "Activate user" msgstr "" -#: core/templates/user/overview.html:211 +#: core/templates/user/overview.html:223 msgid "Reset user password" msgstr "" -#: core/templates/user/overview.html:214 gym/templates/gym/member_list.html:30 +#: core/templates/user/overview.html:227 gym/templates/gym/member_list.html:30 msgid "Roles" msgstr "" -#: core/templates/user/overview.html:225 +#: core/templates/user/overview.html:243 msgid "Password reset confirmation" msgstr "" -#: core/templates/user/overview.html:229 +#: core/templates/user/overview.html:247 msgid "Do you really want to change this user's password?" msgstr "" -#: core/templates/user/overview.html:232 +#: core/templates/user/overview.html:250 #: exercises/templates/history/overview.html:106 msgid "No" msgstr "" -#: core/templates/user/overview.html:233 +#: core/templates/user/overview.html:251 #: exercises/templates/history/overview.html:99 msgid "Yes" msgstr "" -#: core/templates/user/overview.html:254 gym/templates/gym/member_list.html:93 +#: core/templates/user/overview.html:272 gym/templates/gym/member_list.html:105 msgid "Details" msgstr "" -#: core/templates/user/overview.html:258 gym/views/export.py:57 -#: manager/helpers.py:86 manager/templates/schedule/view.html:98 +#: core/templates/user/overview.html:276 gym/views/export.py:57 +#: manager/helpers.py:86 manager/templates/schedule/view.html:52 msgid "Nr." msgstr "" -#: core/templates/user/overview.html:280 gym/models/contract.py:287 +#: core/templates/user/overview.html:298 gym/models/contract.py:287 #: gym/models/gym.py:50 gym/templates/contract/view.html:75 -#: gym/templates/gym/member_list.html:100 gym/views/export.py:68 +#: gym/templates/gym/member_list.html:112 gym/views/export.py:68 msgid "Phone" msgstr "" -#: core/templates/user/overview.html:284 gym/templates/contract/view.html:87 -#: gym/templates/gym/member_list.html:118 +#: core/templates/user/overview.html:302 gym/templates/contract/view.html:87 +#: gym/templates/gym/member_list.html:130 msgid "Address" msgstr "" -#: core/templates/user/overview.html:295 +#: core/templates/user/overview.html:313 msgid "Registered" msgstr "" -#: core/templates/user/overview.html:299 +#: core/templates/user/overview.html:317 msgid "Last login" msgstr "" -#: core/templates/user/overview.html:304 +#: core/templates/user/overview.html:322 msgid "Status" msgstr "" -#: core/templates/user/overview.html:307 +#: core/templates/user/overview.html:325 msgid "Active" msgstr "" -#: core/templates/user/overview.html:309 +#: core/templates/user/overview.html:327 msgid "Inactive" msgstr "" -#: core/templates/user/overview.html:330 gym/templates/contract/list.html:4 -#: gym/templates/gym/member_list.html:202 +#: core/templates/user/overview.html:348 gym/templates/contract/list.html:4 +#: gym/templates/gym/member_list.html:218 msgid "Contracts" msgstr "" -#: core/templates/user/overview.html:405 gym/templates/document/list.html:4 +#: core/templates/user/overview.html:426 gym/templates/document/list.html:4 msgid "Documents" msgstr "" -#: core/templates/user/overview.html:412 gym/templates/document/list.html:32 -#: manager/forms.py:292 manager/templates/workout/view.html:132 +#: core/templates/user/overview.html:433 gym/templates/document/list.html:33 +#: manager/forms.py:292 manager/templates/workout/view.html:143 msgid "Download" msgstr "הורדה" -#: core/templates/user/overview.html:450 gym/views/admin_config.py:44 +#: core/templates/user/overview.html:474 gym/views/admin_config.py:44 #: gym/views/admin_config.py:58 gym/views/user_config.py:46 msgid "Configuration" msgstr "" -#: core/templates/user/overview.html:453 gym/models/user_config.py:92 +#: core/templates/user/overview.html:477 gym/models/user_config.py:92 msgid "Include in inactive overview" msgstr "" -#: core/templates/user/overview.html:486 +#: core/templates/user/overview.html:510 #, python-format msgid "Admin login is only available for users in %(gym_name)s" msgstr "" -#: core/templates/user/overview.html:490 +#: core/templates/user/overview.html:514 msgid "Log in as this user" msgstr "" @@ -1207,19 +1170,19 @@ msgstr "" msgid "Send verification email" msgstr "" -#: core/templates/user/preferences.html:30 +#: core/templates/user/preferences.html:31 msgid "You need to verify your email to contribute exercises" msgstr "" -#: core/templates/user/preferences.html:50 core/views/user.py:611 +#: core/templates/user/preferences.html:55 core/views/user.py:610 msgid "Change password" msgstr "" -#: core/templatetags/wger_extras.py:205 i18n.tpl:37 +#: core/templatetags/wger_extras.py:197 i18n.tpl:37 msgid "kg" msgstr "" -#: core/templatetags/wger_extras.py:207 +#: core/templatetags/wger_extras.py:199 #: nutrition/templates/ingredient/view.html:60 #: nutrition/templates/ingredient/view.html:66 #: nutrition/templates/ingredient/view.html:73 @@ -1231,11 +1194,11 @@ msgctxt "weight unit, i.e. grams" msgid "g" msgstr "" -#: core/templatetags/wger_extras.py:210 i18n.tpl:38 +#: core/templatetags/wger_extras.py:202 i18n.tpl:38 msgid "lb" msgstr "" -#: core/templatetags/wger_extras.py:212 +#: core/templatetags/wger_extras.py:204 msgctxt "weight unit, i.e. ounces" msgid "oz" msgstr "" @@ -1262,13 +1225,13 @@ msgid "Delete {0}?" msgstr "" #: core/views/languages.py:111 core/views/license.py:85 -#: core/views/repetition_units.py:86 core/views/user.py:474 +#: core/views/repetition_units.py:86 core/views/user.py:473 #: core/views/weight_units.py:86 exercises/views/categories.py:98 #: exercises/views/equipment.py:81 exercises/views/muscles.py:87 #: gym/views/admin_notes.py:161 gym/views/config.py:68 #: gym/views/contract.py:186 gym/views/contract_option.py:123 #: gym/views/contract_type.py:123 gym/views/document.py:171 -#: gym/views/gym.py:463 manager/views/day.py:100 manager/views/schedule.py:333 +#: gym/views/gym.py:463 manager/views/day.py:96 manager/views/schedule.py:333 #: manager/views/workout.py:267 nutrition/views/ingredient.py:145 #: nutrition/views/unit.py:143 #, python-brace-format @@ -1294,48 +1257,48 @@ msgstr "" msgid "Your feedback was successfully sent. Thank you!" msgstr "" -#: core/views/user.py:156 +#: core/views/user.py:155 #, python-brace-format msgid "Account \"{0}\" was successfully deleted" msgstr "" -#: core/views/user.py:292 +#: core/views/user.py:291 msgid "You were successfully registered" msgstr "" -#: core/views/user.py:351 +#: core/views/user.py:350 msgid "Settings successfully updated" msgstr "" -#: core/views/user.py:390 +#: core/views/user.py:389 msgid "The user was successfully deactivated" msgstr "" -#: core/views/user.py:427 +#: core/views/user.py:426 msgid "The user was successfully activated" msgstr "" -#: core/views/user.py:442 +#: core/views/user.py:441 msgid "Edit user" msgstr "" -#: core/views/user.py:597 gym/templates/gym/member_list.html:26 +#: core/views/user.py:596 gym/templates/gym/member_list.html:26 #: gym/views/gym.py:158 msgid "ID" msgstr "" -#: core/views/user.py:598 gym/forms.py:95 gym/templates/contract/view.html:55 +#: core/views/user.py:597 gym/forms.py:95 gym/templates/contract/view.html:55 #: gym/templates/gym/member_list.html:27 gym/views/export.py:59 #: gym/views/gym.py:158 gym/views/gym.py:217 msgid "Username" msgstr "" -#: core/views/user.py:601 gym/templates/gym/new_user.html:34 +#: core/views/user.py:600 gym/templates/gym/new_user.html:34 #: gym/views/export.py:58 gym/views/gym.py:217 msgid "Gym" msgstr "" -#: core/views/user.py:660 +#: core/views/user.py:659 #, python-format msgid "A verification email was sent to %(email)s" msgstr "" @@ -1485,11 +1448,6 @@ msgstr "" msgid "Equipment list" msgstr "" -#: exercises/templates/equipment/admin-overview.html:39 -#: exercises/views/equipment.py:92 -msgid "Add new equipment" -msgstr "" - #: exercises/templates/history/overview.html:11 msgid "Exercise admin history" msgstr "" @@ -1537,11 +1495,6 @@ msgstr "" msgid "Muscle overview" msgstr "" -#: exercises/templates/muscles/admin-overview.html:38 -#: exercises/views/muscles.py:68 -msgid "Add muscle" -msgstr "" - #: exercises/views/categories.py:72 msgid "Add category" msgstr "" @@ -1550,6 +1503,10 @@ msgstr "" msgid "This will also delete all exercises in this category." msgstr "" +#: exercises/views/equipment.py:92 +msgid "Add new equipment" +msgstr "" + #: exercises/views/equipment.py:104 exercises/views/equipment.py:115 msgid "Delete equipment?" msgstr "" @@ -1558,6 +1515,10 @@ msgstr "" msgid "This will delete the exercise from all workouts." msgstr "" +#: exercises/views/muscles.py:68 +msgid "Add muscle" +msgstr "" + #: gallery/templates/images/overview.html:62 msgid "Add image" msgstr "" @@ -1643,7 +1604,7 @@ msgid "Contract is active" msgstr "" #: gym/models/contract.py:237 gym/templates/contract/view.html:69 -#: manager/models/schedule.py:61 manager/templates/schedule/view.html:67 +#: manager/models/schedule.py:61 manager/templates/schedule/view.html:21 msgid "Start date" msgstr "" @@ -1679,7 +1640,7 @@ msgstr "" msgid "Admin: can administrate the different gyms" msgstr "" -#: gym/models/gym.py:65 gym/templates/gym/member_list.html:114 +#: gym/models/gym.py:65 gym/templates/gym/member_list.html:126 msgid "Owner" msgstr "" @@ -1689,7 +1650,7 @@ msgid "" "considered inactive" msgstr "" -#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:152 +#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:166 msgid "Show name in header" msgstr "" @@ -1702,7 +1663,7 @@ msgstr "" msgid "Configuration for {self.gym.name}" msgstr "" -#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:184 +#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:200 msgid "Overview of inactive members" msgstr "" @@ -1726,7 +1687,7 @@ msgstr "" msgid "User notes" msgstr "" -#: gym/templates/contract/list.html:36 +#: gym/templates/contract/list.html:34 msgid "Show" msgstr "" @@ -1752,11 +1713,11 @@ msgstr "" msgid "Gym list" msgstr "" -#: gym/templates/gym/list.html:50 +#: gym/templates/gym/list.html:53 msgid "Global gym configuration" msgstr "" -#: gym/templates/gym/list.html:67 gym/views/gym.py:171 +#: gym/templates/gym/list.html:69 gym/views/gym.py:171 msgid "Add new gym" msgstr "" @@ -1768,43 +1729,43 @@ msgstr "" msgid "Gym manager" msgstr "" -#: gym/templates/gym/member_list.html:69 +#: gym/templates/gym/member_list.html:76 msgid "This gym has no administrators or trainers" msgstr "" -#: gym/templates/gym/member_list.html:88 +#: gym/templates/gym/member_list.html:98 msgid "Export" msgstr "" -#: gym/templates/gym/member_list.html:125 +#: gym/templates/gym/member_list.html:137 msgid "Members" msgstr "" -#: gym/templates/gym/member_list.html:145 +#: gym/templates/gym/member_list.html:159 msgid "Gym configuration" msgstr "" -#: gym/templates/gym/member_list.html:148 +#: gym/templates/gym/member_list.html:162 msgid "Inactive members" msgstr "" -#: gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:163 msgid "weeks" msgstr "" -#: gym/templates/gym/member_list.html:181 +#: gym/templates/gym/member_list.html:197 msgid "My configuration" msgstr "" -#: gym/templates/gym/member_list.html:215 +#: gym/templates/gym/member_list.html:234 msgid "Types" msgstr "" -#: gym/templates/gym/member_list.html:285 +#: gym/templates/gym/member_list.html:307 msgid "Emails" msgstr "" -#: gym/templates/gym/member_list.html:315 +#: gym/templates/gym/member_list.html:336 msgid "Add member" msgstr "" @@ -2089,28 +2050,38 @@ msgstr "" msgid "Unit" msgstr "" +#: manager/forms.py:191 manager/models/log.py:103 manager/models/setting.py:102 +#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 +msgid "RiR" +msgstr "" + #: manager/forms.py:279 msgid "Type" msgstr "" -#: manager/forms.py:280 manager/templates/workout/view.html:113 +#: manager/forms.py:280 manager/templates/workout/view.html:122 msgid "Table" msgstr "" -#: manager/forms.py:282 manager/templates/workout/view.html:119 +#: manager/forms.py:282 manager/templates/workout/view.html:129 msgid "with images" msgstr "" -#: manager/forms.py:283 manager/templates/workout/view.html:125 +#: manager/forms.py:283 manager/templates/workout/view.html:136 msgid "with comments" msgstr "" +#: manager/helpers.py:86 manager/models/setting.py:72 +#: manager/templates/set/formset.html:9 +msgid "Reps" +msgstr "" + #: manager/management/commands/email-reminders.py:121 msgid "Workout will expire soon" msgstr "" #: manager/models/day.py:34 manager/models/log.py:58 -#: manager/models/session.py:60 manager/templates/schedule/view.html:102 +#: manager/models/session.py:60 manager/templates/schedule/view.html:56 #: manager/templates/workout/view.html:9 manager/templates/workout/view.html:17 #: manager/views/pdf.py:85 manager/views/pdf.py:161 #: manager/views/schedule.py:151 manager/views/schedule.py:221 @@ -2131,7 +2102,7 @@ msgstr "" msgid "Name or short description of the schedule. For example 'Program XYZ'." msgstr "" -#: manager/models/schedule.py:65 manager/templates/schedule/view.html:71 +#: manager/models/schedule.py:65 manager/templates/schedule/view.html:25 msgid "Schedule active" msgstr "" @@ -2142,7 +2113,7 @@ msgid "" "inactive" msgstr "" -#: manager/models/schedule.py:77 manager/templates/schedule/view.html:81 +#: manager/models/schedule.py:77 manager/templates/schedule/view.html:35 msgid "Is a loop" msgstr "" @@ -2161,7 +2132,7 @@ msgid "The duration in weeks" msgstr "" #: manager/models/schedule_step.py:64 manager/models/set.py:53 -#: manager/models/setting.py:113 nutrition/models/meal.py:55 +#: manager/models/setting.py:113 nutrition/models/meal.py:53 #: nutrition/models/meal_item.py:66 msgid "Order" msgstr "" @@ -2293,7 +2264,7 @@ msgstr "" msgid "Workout session" msgstr "" -#: manager/templates/calendar/partial_overview_table.html:27 +#: manager/templates/calendar/partial_overview_table.html:26 msgid "Delete with logs" msgstr "" @@ -2313,21 +2284,25 @@ msgid "" "will simply be edited. Weight entries are always added." msgstr "" -#: manager/templates/schedule/overview.html:5 +#: manager/templates/schedule/overview.html:4 msgid "Your schedules" msgstr "" #: manager/templates/schedule/overview.html:19 -#: manager/templates/schedule/view.html:131 -#: manager/templates/schedule/view.html:183 +#: manager/templates/schedule/view.html:96 +#: manager/templates/schedule/view.html:146 #: manager/templates/workout/overview.html:16 msgid "active" msgstr "" -#: manager/templates/schedule/overview.html:28 +#: manager/templates/schedule/overview.html:27 msgid "No schedules found." msgstr "" +#: manager/templates/schedule/overview.html:28 +msgid "Add one now" +msgstr "" + #: manager/templates/schedule/overview.html:36 msgid "" "Schedules are collections of workouts that you do in\n" @@ -2340,10 +2315,11 @@ msgid "" " before jumping to the next. It is also possible to create a loop, so " "you\n" " always do the same workouts in succession, e.g. A > B > C > A > B > " -"C and so on." +"C and so\n" +" on." msgstr "" -#: manager/templates/schedule/overview.html:43 +#: manager/templates/schedule/overview.html:44 msgid "" "The currently active schedule will remain active (and be\n" " shown e.g. in your dashboard) till it reaches the last workout or " @@ -2359,25 +2335,21 @@ msgstr "" msgid "Schedule" msgstr "" -#: manager/templates/schedule/view.html:85 +#: manager/templates/schedule/view.html:39 msgid "" "This schedule is a loop and will go through the workouts above till you " "deactivate it" msgstr "" -#: manager/templates/schedule/view.html:103 +#: manager/templates/schedule/view.html:57 msgid "Weeks" msgstr "" -#: manager/templates/schedule/view.html:115 -msgid "Move me" -msgstr "" - -#: manager/templates/schedule/view.html:156 +#: manager/templates/schedule/view.html:121 msgid "Start schedule" msgstr "" -#: manager/templates/schedule/view.html:187 +#: manager/templates/schedule/view.html:150 #, python-format msgid "" "%(weeks)s Week\n" @@ -2388,11 +2360,11 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: manager/templates/schedule/view.html:221 +#: manager/templates/schedule/view.html:184 msgid "Adding workouts" msgstr "" -#: manager/templates/schedule/view.html:223 +#: manager/templates/schedule/view.html:186 msgid "" "Add as many workouts to the schedule as you want. You can\n" " edit the order by dragging and dropping them. It's also possible " @@ -2400,44 +2372,37 @@ msgid "" " than once." msgstr "" -#: manager/templates/schedule/view.html:232 -#: manager/templates/schedule/view.html:243 -#: manager/templates/schedule/view.html:290 +#: manager/templates/schedule/view.html:195 +#: manager/templates/schedule/view.html:209 +#: manager/templates/schedule/view.html:263 #: manager/templates/workout/view.html:69 -#: manager/templates/workout/view.html:79 -#: manager/templates/workout/view.html:178 +#: manager/templates/workout/view.html:83 +#: manager/templates/workout/view.html:192 msgid "Export calendar file" msgstr "" -#: manager/templates/schedule/view.html:236 +#: manager/templates/schedule/view.html:201 msgid "Export this schedule as a calendar file." msgstr "" -#: manager/templates/schedule/view.html:237 -#: manager/templates/workout/view.html:74 +#: manager/templates/schedule/view.html:202 +#: manager/templates/workout/view.html:76 msgid "" "You can then import the file it into your calendar\n" " application for example google calendar, outlook or " "iCal. This will create\n" " an appointment for each training day with the " -"appropriate exercises." +"appropriate\n" +" exercises." msgstr "" -#: manager/templates/schedule/view.html:258 -#: manager/templates/schedule/view.html:294 -#: manager/templates/workout/view.html:94 -#: manager/templates/workout/view.html:174 +#: manager/templates/schedule/view.html:225 +#: manager/templates/schedule/view.html:268 +#: manager/templates/workout/view.html:99 +#: manager/templates/workout/view.html:188 msgid "Download as PDF" msgstr "" -#: manager/templates/schedule/view.html:299 -msgid "Edit schedule" -msgstr "" - -#: manager/templates/schedule/view.html:304 -msgid "Delete schedule" -msgstr "" - #: manager/templates/set/add.html:9 #, python-format msgid "Add exercises to day \"%(day_name)s\"" @@ -2502,47 +2467,6 @@ msgid "" "You will regularly receive such reminders till you enter your current weight." msgstr "" -#: manager/templates/workout/log.html:10 manager/templates/workout/log.html:11 -msgid "Weight log" -msgstr "" - -#: manager/templates/workout/log.html:29 -msgid "Weight log for workout" -msgstr "" - -#: manager/templates/workout/log.html:49 -msgid "Add weight log to this day" -msgstr "" - -#: manager/templates/workout/log.html:69 -msgid "No weight entries here." -msgstr "" - -#: manager/templates/workout/log.html:77 -msgid "No exercises for this day." -msgstr "" - -#: manager/templates/workout/log.html:90 -msgid "" -"This page shows the weight logs belonging to this workout\n" -"only. Click on an exercise to see all the historical data for\n" -"it." -msgstr "" - -#: manager/templates/workout/log.html:94 -msgid "" -"If on a single day there is more than one entry with the\n" -"same number of repetitions, but different weights, only the entry with the\n" -"higher weight is shown in the diagram." -msgstr "" - -#: manager/templates/workout/log.html:98 -msgid "" -"Note that only entries with a weight unit (kg or lb) and\n" -"repetitions are charted, other combinations such as time or until failure\n" -"are ignored here." -msgstr "" - #: manager/templates/workout/overview.html:25 msgid "No templates found." msgstr "" @@ -2578,27 +2502,23 @@ msgstr "" msgid "Set the repetitions for each set" msgstr "" -#: manager/templates/workout/view.html:73 +#: manager/templates/workout/view.html:75 msgid "Export this workout as a calendar file." msgstr "" -#: manager/templates/workout/view.html:144 +#: manager/templates/workout/view.html:156 msgid "Logs" msgstr "" -#: manager/templates/workout/view.html:146 +#: manager/templates/workout/view.html:159 msgid "View logs" msgstr "" -#: manager/templates/workout/view.html:169 manager/views/schedule_step.py:99 -msgid "Edit workout" -msgstr "" - -#: manager/templates/workout/view.html:182 manager/views/workout.py:281 +#: manager/templates/workout/view.html:195 manager/views/workout.py:281 msgid "Mark as template" msgstr "" -#: manager/views/day.py:109 +#: manager/views/day.py:105 msgid "Add workout day" msgstr "" @@ -2615,6 +2535,10 @@ msgstr "" msgid "Create schedule" msgstr "" +#: manager/views/schedule_step.py:99 +msgid "Edit workout" +msgstr "" + #: manager/views/workout.py:209 msgid "Copy workout" msgstr "" @@ -2736,7 +2660,7 @@ msgstr "" msgid "Unit amount, e.g. \"1 Cup\" or \"1/2 spoon\"" msgstr "" -#: nutrition/models/log.py:52 nutrition/models/meal.py:50 +#: nutrition/models/log.py:52 nutrition/models/meal.py:48 #: nutrition/models/meal_item.py:48 nutrition/models/plan.py:108 msgid "Nutrition plan" msgstr "" @@ -2749,11 +2673,11 @@ msgstr "" msgid "Date and Time (Approx.)" msgstr "" -#: nutrition/models/meal.py:62 +#: nutrition/models/meal.py:60 msgid "Time (approx)" msgstr "" -#: nutrition/models/meal.py:69 +#: nutrition/models/meal.py:67 msgid "" "Give meals a textual description / name such as \"Breakfast\" or \"after " "workout\"" @@ -2775,58 +2699,6 @@ msgid "" "calories. You can use the calculator or enter the value yourself." msgstr "" -#: nutrition/templates/bmi/form.html:62 -msgid "Results" -msgstr "" - -#: nutrition/templates/bmi/form.html:63 -msgid "Your BMI is: " -msgstr "" - -#: nutrition/templates/bmi/form.html:71 -msgid "Legend" -msgstr "" - -#: nutrition/templates/bmi/form.html:75 -msgid "Adipositas III" -msgstr "" - -#: nutrition/templates/bmi/form.html:79 -msgid "Adipositas II" -msgstr "" - -#: nutrition/templates/bmi/form.html:83 -msgid "Adipositas I" -msgstr "" - -#: nutrition/templates/bmi/form.html:87 -msgid "Overweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:91 -msgid "Normal weight" -msgstr "" - -#: nutrition/templates/bmi/form.html:95 -msgid "Slight underweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:99 -msgid "Moderate underweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:103 -msgid "Strong underweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:117 -msgid "" -"Use the form to calculate your BMI (Body Mass Index).\n" -"If you have entered data in the weight section, the last entry will\n" -"be used automatically. Otherwise the weight you enter here will be saved\n" -"in a new entry." -msgstr "" - #: nutrition/templates/ingredient/email_new.tpl:1 #, python-format msgid "" @@ -2872,10 +2744,6 @@ msgstr "" msgid "Search" msgstr "" -#: nutrition/templates/ingredient/overview.html:62 -msgid "Add ingredient" -msgstr "" - #: nutrition/templates/ingredient/view.html:45 nutrition/views/plan.py:229 msgid "Macronutrients" msgstr "" @@ -2895,20 +2763,11 @@ msgstr "" msgid "Others" msgstr "" -#: nutrition/templates/ingredient/view.html:144 -#: nutrition/templates/units/list.html:46 nutrition/views/unit.py:86 +#: nutrition/templates/ingredient/view.html:143 +#: nutrition/templates/units/list.html:50 nutrition/views/unit.py:86 msgid "Add new weight unit" msgstr "" -#: nutrition/templates/ingredient/view.html:206 -#: nutrition/templates/ingredient/view.html:209 -msgid "Edit ingredient" -msgstr "" - -#: nutrition/templates/ingredient/view.html:213 -msgid "Delete ingredient" -msgstr "" - #: nutrition/templates/rate/form.html:25 msgid "Basal metabolic rate" msgstr "" @@ -2977,18 +2836,6 @@ msgid "" "yourself for some weeks and change the total amount if needed." msgstr "" -#: nutrition/views/bmi.py:89 -msgid "Please make sure your height is within the appropriate range." -msgstr "" - -#: nutrition/views/bmi.py:92 -msgid "140 to 230" -msgstr "" - -#: nutrition/views/bmi.py:94 -msgid "56 to 90" -msgstr "" - #: nutrition/views/ingredient.py:157 msgid "Add a new ingredient" msgstr "" diff --git a/wger/locale/hi/LC_MESSAGES/django.po b/wger/locale/hi/LC_MESSAGES/django.po index e11f2dbdf..8d33ceff1 100644 --- a/wger/locale/hi/LC_MESSAGES/django.po +++ b/wger/locale/hi/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-14 15:59+0200\n" +"POT-Creation-Date: 2024-11-14 19:23+0100\n" "PO-Revision-Date: 2024-10-04 07:15+0000\n" "Last-Translator: Ritik Sharma \n" "Language-Team: Hindi \n" @@ -18,7 +18,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.8-dev\n" -#: config/models/gym_config.py:46 gym/templates/gym/list.html:53 +#: config/models/gym_config.py:46 gym/templates/gym/list.html:56 msgid "Default gym" msgstr "डिफ़ॉल्ट जिम" @@ -27,31 +27,31 @@ msgid "" "Select the default gym for this installation. This will assign all new " "registered users to this gym and update all existing users without a gym." msgstr "" -"इस इंस्टॉलेशन के लिए डिफ़ॉल्ट जिम चुनें। यह सभी नए पंजीकृत उपयोगकर्ताओं को इस जिम को असाइन करेगा और बिना जि" -"म वाले सभी मौजूदा उपयोगकर्ताओं को अपडेट करेगा।" +"इस इंस्टॉलेशन के लिए डिफ़ॉल्ट जिम चुनें। यह सभी नए पंजीकृत उपयोगकर्ताओं को इस जिम को " +"असाइन करेगा और बिना जिम वाले सभी मौजूदा उपयोगकर्ताओं को अपडेट करेगा।" -#: config/views/gym_config.py:42 core/templates/language/view.html:67 -#: core/templates/license/list.html:17 core/templates/misc/license/list.html:18 +#: config/views/gym_config.py:42 core/templates/language/view.html:64 +#: core/templates/license/list.html:17 #: core/templates/repetition_unit/list.html:18 -#: core/templates/tags/render_day.html:39 -#: core/templates/tags/render_day.html:75 core/templates/user/overview.html:204 -#: core/templates/user/overview.html:445 +#: core/templates/user/overview.html:204 core/templates/user/overview.html:467 #: core/templates/weight_unit/list.html:18 #: exercises/templates/categories/admin-overview.html:17 #: exercises/templates/equipment/admin-overview.html:17 -#: exercises/templates/muscles/admin-overview.html:17 -#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:32 -#: gym/templates/contract/list.html:31 gym/templates/contract/view.html:107 -#: gym/templates/contract_option/list.html:32 -#: gym/templates/contract_type/list.html:32 gym/templates/document/list.html:38 -#: gym/templates/gym/list.html:20 gym/templates/gym/list.html:46 -#: gym/templates/gym/member_list.html:87 gym/templates/gym/member_list.html:140 -#: gym/templates/gym/member_list.html:176 -#: manager/templates/calendar/day.html:68 -#: manager/templates/calendar/month.html:85 -#: manager/templates/calendar/partial_overview_table.html:18 -#: manager/templates/schedule/view.html:118 -#: nutrition/templates/ingredient/view.html:165 +#: exercises/templates/muscles/admin-overview.html:16 +#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:31 +#: gym/templates/contract/list.html:30 gym/templates/contract/view.html:106 +#: gym/templates/contract_option/list.html:29 +#: gym/templates/contract_type/list.html:30 gym/templates/document/list.html:38 +#: gym/templates/gym/list.html:19 gym/templates/gym/list.html:48 +#: gym/templates/gym/member_list.html:94 gym/templates/gym/member_list.html:152 +#: gym/templates/gym/member_list.html:190 +#: manager/templates/calendar/day.html:67 +#: manager/templates/calendar/month.html:84 +#: manager/templates/calendar/partial_overview_table.html:16 +#: manager/templates/schedule/view.html:271 +#: manager/templates/workout/view.html:181 +#: nutrition/templates/ingredient/view.html:164 +#: nutrition/templates/ingredient/view.html:209 #: nutrition/templates/units/list.html:19 msgid "Edit" msgstr "संपादन" @@ -85,25 +85,25 @@ msgstr "मेरा शानदार वर्कआउट शेड्यू msgid "Empty placeholder schedule" msgstr "" -#: core/forms.py:69 core/templates/navigation.html:285 -#: core/templates/navigation.html:291 core/templates/user/login.html:4 +#: core/forms.py:69 core/templates/navigation.html:284 +#: core/templates/navigation.html:290 core/templates/user/login.html:4 #: software/templates/features.html:82 software/templates/features.html:427 msgid "Login" msgstr "" -#: core/forms.py:108 core/forms.py:214 gym/views/export.py:61 +#: core/forms.py:108 core/forms.py:216 gym/views/export.py:61 #: gym/views/gym.py:217 msgid "First name" msgstr "" -#: core/forms.py:109 core/forms.py:215 core/templates/user/overview.html:266 +#: core/forms.py:109 core/forms.py:217 core/templates/user/overview.html:284 #: gym/views/export.py:62 gym/views/gym.py:217 msgid "Last name" msgstr "" -#: core/forms.py:111 core/forms.py:180 core/templates/user/overview.html:270 +#: core/forms.py:111 core/forms.py:182 core/templates/user/overview.html:288 #: gym/models/contract.py:256 gym/models/gym.py:58 -#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:104 +#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:116 #: gym/templates/gym/new_user.html:30 gym/views/export.py:60 #: mailer/templates/mailer/gym/form.html:4 #: mailer/templates/mailer/gym/overview.html:4 @@ -120,94 +120,93 @@ msgstr "" msgid "Date of Birth" msgstr "" -#: core/forms.py:148 +#: core/forms.py:149 msgid "Personal data" msgstr "" -#: core/forms.py:159 +#: core/forms.py:161 msgid "Workout reminders" msgstr "" -#: core/forms.py:166 +#: core/forms.py:168 msgid "Other settings" msgstr "" -#: core/forms.py:174 core/views/user.py:624 core/views/user.py:639 -#: core/views/user.py:651 gym/forms.py:73 manager/templates/log/add.html:65 +#: core/forms.py:176 core/views/user.py:623 core/views/user.py:638 +#: core/views/user.py:650 gym/forms.py:73 manager/templates/log/add.html:65 #: manager/templates/set/add.html:70 manager/views/workout.py:203 #: utils/generic_views.py:143 msgid "Save" msgstr "" -#: core/forms.py:181 +#: core/forms.py:183 msgid "Used for password resets and, optionally, email reminders." msgstr "" -#: core/forms.py:210 +#: core/forms.py:212 msgid "This e-mail address is already in use." msgstr "" -#: core/forms.py:231 gym/templates/gym/new_user.html:26 +#: core/forms.py:233 gym/templates/gym/new_user.html:26 #: gym/templates/gym/reset_user_password.html:24 gym/views/gym.py:217 msgid "Password" msgstr "" -#: core/forms.py:233 +#: core/forms.py:235 msgid "Please enter your current password." msgstr "" -#: core/forms.py:242 core/templates/language/view.html:73 -#: core/templates/license/list.html:19 core/templates/misc/license/list.html:22 -#: core/templates/repetition_unit/list.html:20 -#: core/templates/tags/render_day.html:45 -#: core/templates/tags/render_day.html:81 core/templates/user/overview.html:217 -#: core/templates/weight_unit/list.html:20 -#: exercises/templates/categories/admin-overview.html:19 -#: exercises/templates/equipment/admin-overview.html:19 -#: exercises/templates/muscles/admin-overview.html:19 -#: gym/templates/admin_notes/list.html:40 -#: gym/templates/contract_option/list.html:41 -#: gym/templates/contract_type/list.html:41 gym/templates/document/list.html:46 -#: gym/templates/gym/list.html:22 manager/templates/calendar/day.html:73 -#: manager/templates/calendar/month.html:89 -#: manager/templates/calendar/partial_overview_table.html:23 -#: manager/templates/schedule/view.html:122 -#: manager/templates/workout/view.html:188 -#: nutrition/templates/ingredient/view.html:166 +#: core/forms.py:244 core/templates/language/view.html:70 +#: core/templates/license/list.html:21 +#: core/templates/repetition_unit/list.html:22 +#: core/templates/user/overview.html:233 +#: core/templates/weight_unit/list.html:22 +#: exercises/templates/categories/admin-overview.html:21 +#: exercises/templates/equipment/admin-overview.html:21 +#: exercises/templates/muscles/admin-overview.html:20 +#: gym/templates/admin_notes/list.html:37 +#: gym/templates/contract_option/list.html:35 +#: gym/templates/contract_type/list.html:36 gym/templates/document/list.html:46 +#: gym/templates/gym/list.html:23 manager/templates/calendar/day.html:73 +#: manager/templates/calendar/month.html:88 +#: manager/templates/calendar/partial_overview_table.html:22 +#: manager/templates/schedule/view.html:277 +#: manager/templates/workout/view.html:202 +#: nutrition/templates/ingredient/view.html:168 #: nutrition/templates/ingredient/view.html:215 -#: nutrition/templates/units/list.html:22 +#: nutrition/templates/units/list.html:25 msgid "Delete" msgstr "मिटादे" -#: core/forms.py:251 +#: core/forms.py:253 msgid "Invalid password" msgstr "" -#: core/forms.py:263 core/forms.py:338 +#: core/forms.py:265 core/forms.py:340 msgid "The form is secured with reCAPTCHA" msgstr "" -#: core/forms.py:279 core/forms.py:301 core/templates/navigation.html:285 -#: core/templates/navigation.html:297 core/templates/template.html:149 -#: core/templates/user/login.html:20 core/views/user.py:298 +#: core/forms.py:281 core/forms.py:303 core/templates/navigation.html:284 +#: core/templates/navigation.html:296 core/templates/template.html:150 +#: core/templates/user/login.html:20 core/views/user.py:297 #: software/templates/features.html:87 software/templates/features.html:422 msgid "Register" msgstr "" -#: core/forms.py:315 software/templates/features.html:45 +#: core/forms.py:317 software/templates/features.html:45 msgid "Contact" msgstr "" -#: core/forms.py:316 +#: core/forms.py:318 msgid "Some way of answering you (e-mail, etc.)" msgstr "" -#: core/forms.py:324 exercises/models/comment.py:58 manager/models/set.py:61 +#: core/forms.py:326 exercises/models/comment.py:58 manager/models/set.py:61 #: manager/models/setting.py:114 nutrition/models/log.py:77 msgid "Comment" msgstr "" -#: core/forms.py:325 +#: core/forms.py:327 msgid "What do you want to say?" msgstr "" @@ -422,18 +421,18 @@ msgid "The sum of all hours has to be 24" msgstr "" #: core/models/rep_unit.py:36 core/models/weight_unit.py:36 -#: core/templates/user/overview.html:262 core/views/user.py:599 +#: core/templates/user/overview.html:280 core/views/user.py:598 #: exercises/models/category.py:29 exercises/models/equipment.py:29 #: exercises/models/exercise.py:59 exercises/models/muscle.py:36 #: gym/models/contract.py:52 gym/models/contract.py:103 gym/models/gym.py:46 #: gym/models/user_document.py:84 gym/templates/contract/view.html:50 -#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:96 +#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:108 #: gym/views/gym.py:158 manager/models/schedule.py:55 #: manager/models/workout.py:57 measurements/models/category.py:36 #: nutrition/models/ingredient.py:111 -#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:67 +#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:65 #: nutrition/models/weight_unit.py:38 -#: nutrition/templates/ingredient/view.html:152 +#: nutrition/templates/ingredient/view.html:151 msgid "Name" msgstr "" @@ -478,7 +477,7 @@ msgstr "" msgid "Back to \"%(target)s\"" msgstr "" -#: core/templates/delete.html:15 +#: core/templates/delete.html:4 msgid "Are you sure you want to delete this? This action cannot be undone." msgstr "" @@ -530,7 +529,7 @@ msgstr "" msgid "Dashboard" msgstr "" -#: core/templates/language/overview.html:4 core/templates/navigation.html:345 +#: core/templates/language/overview.html:4 core/templates/navigation.html:344 msgid "Languages" msgstr "भाषाएँ" @@ -540,79 +539,72 @@ msgstr "कुछ नहीं मिला" #: core/templates/language/overview.html:22 #: manager/templates/calendar/month.html:132 -#: manager/templates/schedule/overview.html:28 -#: manager/templates/schedule/view.html:144 +#: manager/templates/schedule/view.html:107 #: manager/templates/workout/overview.html:28 #: nutrition/templates/ingredient/overview.html:38 msgid "Add one now." msgstr "एक नया जोड़ें |" -#: core/templates/language/overview.html:35 core/templates/license/list.html:40 -#: core/templates/misc/license/list.html:43 -#: core/templates/repetition_unit/list.html:43 -#: core/templates/user/overview.html:326 core/templates/user/overview.html:365 -#: core/templates/user/overview.html:401 -#: core/templates/weight_unit/list.html:43 core/views/languages.py:74 +#: core/templates/language/overview.html:34 core/templates/license/list.html:43 +#: core/templates/repetition_unit/list.html:46 +#: core/templates/user/overview.html:344 core/templates/user/overview.html:384 +#: core/templates/user/overview.html:422 +#: core/templates/weight_unit/list.html:46 core/views/languages.py:74 #: core/views/license.py:66 core/views/repetition_units.py:66 #: core/views/weight_units.py:66 -#: exercises/templates/categories/admin-overview.html:38 -#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:67 -#: gym/templates/contract/list.html:73 -#: gym/templates/contract_option/list.html:72 -#: gym/templates/contract_type/list.html:72 gym/templates/document/list.html:79 -#: gym/templates/gym/member_list.html:211 -#: gym/templates/gym/member_list.html:244 -#: gym/templates/gym/member_list.html:281 +#: exercises/templates/categories/admin-overview.html:40 +#: exercises/templates/equipment/admin-overview.html:39 +#: exercises/templates/muscles/admin-overview.html:40 +#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:64 +#: gym/templates/contract/list.html:69 +#: gym/templates/contract_option/list.html:65 +#: gym/templates/contract_type/list.html:66 gym/templates/document/list.html:78 +#: gym/templates/gym/member_list.html:228 +#: gym/templates/gym/member_list.html:264 +#: gym/templates/gym/member_list.html:303 #: mailer/templates/mailer/gym/overview.html:43 +#: nutrition/templates/ingredient/overview.html:60 msgid "Add" msgstr "जोड़ें" #: core/templates/language/view.html:61 core/templates/user/api_key.html:44 -#: core/templates/user/preferences.html:45 gym/models/contract.py:203 -#: gym/templates/contract/view.html:41 gym/templates/contract/view.html:106 -#: gym/templates/gym/member_list.html:248 -#: manager/templates/schedule/view.html:285 -#: manager/templates/workout/view.html:163 -#: nutrition/templates/ingredient/view.html:202 +#: core/templates/user/preferences.html:50 gym/models/contract.py:203 +#: gym/templates/contract/view.html:41 gym/templates/gym/member_list.html:270 +#: manager/templates/schedule/view.html:257 +#: manager/templates/workout/view.html:177 +#: nutrition/templates/ingredient/view.html:206 msgid "Options" msgstr "" -#: core/templates/license/list.html:4 core/templates/misc/license/list.html:4 +#: core/templates/license/list.html:4 msgid "License list" msgstr "" -#: core/templates/license/list.html:26 core/templates/misc/license/list.html:30 -#: core/templates/repetition_unit/list.html:28 +#: core/templates/license/list.html:30 +#: core/templates/repetition_unit/list.html:32 #: core/templates/user/overview.html:104 core/templates/user/overview.html:136 -#: core/templates/user/overview.html:185 core/templates/user/overview.html:347 -#: core/templates/user/overview.html:383 core/templates/user/overview.html:427 -#: core/templates/weight_unit/list.html:28 -#: exercises/templates/categories/admin-overview.html:26 -#: exercises/templates/equipment/admin-overview.html:26 -#: exercises/templates/muscles/admin-overview.html:26 -#: gym/templates/admin_notes/list.html:52 gym/templates/contract/list.html:60 -#: gym/templates/contract_option/list.html:58 -#: gym/templates/contract_type/list.html:58 gym/templates/document/list.html:64 -#: gym/templates/gym/list.html:29 gym/templates/gym/member_list.html:229 -#: gym/templates/gym/member_list.html:262 -#: gym/templates/gym/member_list.html:299 +#: core/templates/user/overview.html:185 core/templates/user/overview.html:365 +#: core/templates/user/overview.html:404 core/templates/user/overview.html:448 +#: core/templates/weight_unit/list.html:32 +#: exercises/templates/categories/admin-overview.html:30 +#: exercises/templates/equipment/admin-overview.html:30 +#: exercises/templates/muscles/admin-overview.html:29 +#: gym/templates/admin_notes/list.html:50 gym/templates/contract/list.html:57 +#: gym/templates/contract_option/list.html:52 +#: gym/templates/contract_type/list.html:53 gym/templates/document/list.html:64 +#: gym/templates/gym/list.html:32 gym/templates/gym/member_list.html:248 +#: gym/templates/gym/member_list.html:284 +#: gym/templates/gym/member_list.html:321 #: mailer/templates/mailer/gym/overview.html:30 -#: manager/templates/calendar/day.html:87 -#: nutrition/templates/units/list.html:29 +#: manager/templates/calendar/day.html:88 +#: nutrition/templates/units/list.html:34 msgid "Nothing found" msgstr "" -#: core/templates/misc/about.html:4 core/templates/template.html:175 +#: core/templates/misc/about.html:4 core/templates/template.html:187 msgid "Imprint" msgstr "" -#: core/templates/misc/license/list.html:47 -msgid "" -"If a license has been localized, e.g. the Creative Commons\n" -" licenses for the different countries, add them as separate " -"entries here." -msgstr "" - #: core/templates/navigation.html:28 software/templates/features.html:437 msgid "Training" msgstr "" @@ -657,8 +649,8 @@ msgstr "" msgid "Exercises" msgstr "व्यायाम" -#: core/templates/navigation.html:111 core/templates/navigation.html:184 -#: core/templates/navigation.html:340 +#: core/templates/navigation.html:111 core/templates/navigation.html:185 +#: core/templates/navigation.html:339 msgid "Administration" msgstr "" @@ -689,7 +681,7 @@ msgstr "" msgid "Nutrition plans" msgstr "" -#: core/templates/navigation.html:165 nutrition/templates/bmi/form.html:50 +#: core/templates/navigation.html:165 msgid "BMI calculator" msgstr "" @@ -697,87 +689,87 @@ msgstr "" msgid "Daily calories calculator" msgstr "" -#: core/templates/navigation.html:179 +#: core/templates/navigation.html:180 #: nutrition/templates/ingredient/overview.html:10 msgid "Ingredient overview" msgstr "" -#: core/templates/navigation.html:187 nutrition/templates/units/list.html:6 +#: core/templates/navigation.html:189 nutrition/templates/units/list.html:6 msgid "Ingredient weight units" msgstr "" -#: core/templates/navigation.html:203 software/templates/features.html:442 +#: core/templates/navigation.html:205 software/templates/features.html:442 msgid "Body weight" msgstr "" -#: core/templates/navigation.html:210 core/templates/user/overview.html:114 +#: core/templates/navigation.html:212 core/templates/user/overview.html:114 msgid "Weight overview" msgstr "" -#: core/templates/navigation.html:217 weight/views.py:65 +#: core/templates/navigation.html:216 weight/views.py:65 msgid "Add weight entry" msgstr "" -#: core/templates/navigation.html:231 +#: core/templates/navigation.html:230 msgid "About this software" msgstr "" -#: core/templates/navigation.html:237 software/templates/about_us.html:5 +#: core/templates/navigation.html:236 software/templates/about_us.html:5 msgid "About us" msgstr "" -#: core/templates/navigation.html:243 software/templates/features.html:507 +#: core/templates/navigation.html:242 software/templates/features.html:507 msgid "REST API" msgstr "" -#: core/templates/navigation.html:249 utils/models.py:45 +#: core/templates/navigation.html:248 utils/models.py:45 msgid "License" msgstr "" -#: core/templates/navigation.html:255 +#: core/templates/navigation.html:254 msgid "Developer documentation" msgstr "" -#: core/templates/navigation.html:262 +#: core/templates/navigation.html:261 msgid "Get the code" msgstr "" -#: core/templates/navigation.html:269 core/templates/template.html:214 +#: core/templates/navigation.html:268 core/templates/template.html:226 #: software/templates/features.html:582 msgid "Translate" msgstr "" -#: core/templates/navigation.html:303 core/templates/user/login.html:28 +#: core/templates/navigation.html:302 core/templates/user/login.html:28 msgid "Reset password" msgstr "" -#: core/templates/navigation.html:321 +#: core/templates/navigation.html:320 msgid "My preferences" msgstr "" -#: core/templates/navigation.html:330 +#: core/templates/navigation.html:329 msgid "Logout" msgstr "" -#: core/templates/navigation.html:353 +#: core/templates/navigation.html:352 msgid "Licenses" msgstr "" -#: core/templates/navigation.html:361 +#: core/templates/navigation.html:360 #: core/templates/repetition_unit/list.html:4 msgid "Repetition units" msgstr "" -#: core/templates/navigation.html:369 core/templates/weight_unit/list.html:4 +#: core/templates/navigation.html:368 core/templates/weight_unit/list.html:4 #: nutrition/templates/ingredient/view.html:141 msgid "Weight units" msgstr "" -#: core/templates/navigation.html:377 core/templates/user/list.html:4 +#: core/templates/navigation.html:376 core/templates/user/list.html:4 msgid "User list" msgstr "" -#: core/templates/navigation.html:383 +#: core/templates/navigation.html:382 msgid "Gyms" msgstr "" @@ -836,55 +828,28 @@ msgstr "" msgid "next" msgstr "" -#: core/templates/tags/render_day.html:34 -msgid "Add weight log" +#: core/templates/tags/render_day.html:44 +msgid "Placeholder image for translation" msgstr "" -#: core/templates/tags/render_day.html:116 -msgid "Placeholder image for exercise" -msgstr "" - -#: core/templates/tags/render_day.html:133 -msgid "This exercise has no repetitions." -msgstr "" - -#: core/templates/tags/render_day.html:136 -msgid "Edit them now." -msgstr "" - -#: core/templates/tags/render_day.html:162 -msgid "Add exercises to this workout day" -msgstr "" - -#: core/templates/tags/render_weight_log.html:17 manager/helpers.py:86 -#: manager/models/setting.py:72 manager/templates/set/formset.html:9 -msgid "Reps" -msgstr "" - -#: core/templates/tags/render_weight_log.html:30 manager/forms.py:191 -#: manager/models/log.py:103 manager/models/setting.py:102 -#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 -msgid "RiR" -msgstr "" - -#: core/templates/template.html:122 manager/templates/calendar/month.html:138 -#: manager/templates/schedule/view.html:248 -#: manager/templates/schedule/view.html:269 -#: manager/templates/workout/view.html:84 -#: manager/templates/workout/view.html:137 +#: core/templates/template.html:123 manager/templates/calendar/month.html:138 +#: manager/templates/schedule/view.html:215 +#: manager/templates/schedule/view.html:240 +#: manager/templates/workout/view.html:89 +#: manager/templates/workout/view.html:149 msgid "Close" msgstr "" -#: core/templates/template.html:138 +#: core/templates/template.html:139 msgid "" "You are using a guest account, data entered will be deleted after a week." msgstr "" -#: core/templates/template.html:143 +#: core/templates/template.html:144 msgid "Create some demo entries" msgstr "" -#: core/templates/template.html:180 software/templates/features.html:547 +#: core/templates/template.html:192 software/templates/features.html:547 #: software/templates/tos.html:7 msgid "Terms of service" msgstr "" @@ -893,7 +858,7 @@ msgstr "" msgid "Features" msgstr "" -#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:54 +#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:59 msgid "API key" msgstr "" @@ -932,17 +897,17 @@ msgstr "" msgid "Documentation" msgstr "" -#: core/templates/user/delete_account.html:4 -#: core/templates/user/preferences.html:59 +#: core/templates/user/delete_account.html:3 +#: core/templates/user/preferences.html:62 msgid "Delete account" msgstr "" -#: core/templates/user/delete_account.html:17 +#: core/templates/user/delete_account.html:9 #: exercises/templates/history/overview.html:93 msgid "Are you sure?" msgstr "" -#: core/templates/user/delete_account.html:22 +#: core/templates/user/delete_account.html:14 #, python-format msgid "" "This action will delete the user account \"%(username)s\".\n" @@ -961,22 +926,22 @@ msgstr "" #: core/templates/user/overview.html:25 core/templates/user/overview.html:68 #: core/templates/user/overview.html:112 core/templates/user/overview.html:144 -#: core/templates/user/overview.html:330 core/templates/user/overview.html:369 -#: core/templates/user/overview.html:405 +#: core/templates/user/overview.html:348 core/templates/user/overview.html:390 +#: core/templates/user/overview.html:426 #, python-format msgid "last %(number)s" msgstr "" #: core/templates/user/overview.html:27 core/templates/user/overview.html:146 -#: core/templates/user/overview.html:325 core/templates/user/overview.html:364 -#: core/templates/user/overview.html:400 gym/templates/gym/member_list.html:210 -#: gym/templates/gym/member_list.html:243 -#: gym/templates/gym/member_list.html:280 +#: core/templates/user/overview.html:343 core/templates/user/overview.html:382 +#: core/templates/user/overview.html:421 gym/templates/gym/member_list.html:226 +#: gym/templates/gym/member_list.html:262 +#: gym/templates/gym/member_list.html:302 msgid "Overview" msgstr "" #: core/templates/user/overview.html:28 -#: manager/templates/schedule/view.html:163 +#: manager/templates/schedule/view.html:125 #: manager/templates/workout/overview.html:39 manager/views/schedule_step.py:60 msgid "Add workout" msgstr "" @@ -1008,38 +973,36 @@ msgstr "" msgid "Number of logs (days)" msgstr "" -#: core/templates/user/overview.html:37 core/views/user.py:600 +#: core/templates/user/overview.html:37 core/views/user.py:599 #: gym/templates/gym/email_inactive_members.html:4 gym/views/gym.py:158 msgid "Last activity" msgstr "" #: core/templates/user/overview.html:58 #: manager/templates/calendar/month.html:128 -#: manager/templates/schedule/view.html:144 #: manager/templates/workout/overview.html:28 msgid "No workouts found." msgstr "" #: core/templates/user/overview.html:68 manager/forms.py:280 -#: manager/templates/workout/view.html:106 +#: manager/templates/workout/view.html:114 msgid "Log" msgstr "" #: core/templates/user/overview.html:77 manager/models/session.py:83 -#: manager/templates/calendar/partial_overview_table.html:52 +#: manager/templates/calendar/partial_overview_table.html:54 msgid "General impression" msgstr "" -#: core/templates/user/overview.html:78 core/templates/user/overview.html:369 +#: core/templates/user/overview.html:78 core/templates/user/overview.html:390 #: manager/models/session.py:73 -#: manager/templates/calendar/partial_overview_table.html:56 -#: manager/templates/workout/log.html:89 +#: manager/templates/calendar/partial_overview_table.html:58 msgid "Notes" msgstr "" #: core/templates/user/overview.html:79 #: exercises/templates/history/overview.html:30 -#: manager/templates/calendar/partial_overview_table.html:42 +#: manager/templates/calendar/partial_overview_table.html:44 msgid "Time" msgstr "" @@ -1077,121 +1040,121 @@ msgstr "" msgid "kcal" msgstr "" -#: core/templates/user/overview.html:201 core/templates/user/overview.html:322 -#: core/templates/user/overview.html:361 core/templates/user/overview.html:397 -#: core/templates/user/overview.html:442 gym/templates/gym/list.html:42 -#: gym/templates/gym/member_list.html:84 gym/templates/gym/member_list.html:137 -#: gym/templates/gym/member_list.html:173 -#: gym/templates/gym/member_list.html:207 -#: gym/templates/gym/member_list.html:240 -#: gym/templates/gym/member_list.html:277 -#: manager/templates/schedule/view.html:100 +#: core/templates/user/overview.html:201 core/templates/user/overview.html:340 +#: core/templates/user/overview.html:379 core/templates/user/overview.html:418 +#: core/templates/user/overview.html:463 gym/templates/gym/list.html:45 +#: gym/templates/gym/member_list.html:91 gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:187 +#: gym/templates/gym/member_list.html:223 +#: gym/templates/gym/member_list.html:259 +#: gym/templates/gym/member_list.html:299 +#: manager/templates/schedule/view.html:54 msgid "Actions" msgstr "" -#: core/templates/user/overview.html:207 +#: core/templates/user/overview.html:210 msgid "Deactivate user" msgstr "" -#: core/templates/user/overview.html:209 +#: core/templates/user/overview.html:214 msgid "Activate user" msgstr "" -#: core/templates/user/overview.html:211 +#: core/templates/user/overview.html:223 msgid "Reset user password" msgstr "" -#: core/templates/user/overview.html:214 gym/templates/gym/member_list.html:30 +#: core/templates/user/overview.html:227 gym/templates/gym/member_list.html:30 msgid "Roles" msgstr "" -#: core/templates/user/overview.html:225 +#: core/templates/user/overview.html:243 msgid "Password reset confirmation" msgstr "" -#: core/templates/user/overview.html:229 +#: core/templates/user/overview.html:247 msgid "Do you really want to change this user's password?" msgstr "" -#: core/templates/user/overview.html:232 +#: core/templates/user/overview.html:250 #: exercises/templates/history/overview.html:106 msgid "No" msgstr "" -#: core/templates/user/overview.html:233 +#: core/templates/user/overview.html:251 #: exercises/templates/history/overview.html:99 msgid "Yes" msgstr "" -#: core/templates/user/overview.html:254 gym/templates/gym/member_list.html:93 +#: core/templates/user/overview.html:272 gym/templates/gym/member_list.html:105 msgid "Details" msgstr "" -#: core/templates/user/overview.html:258 gym/views/export.py:57 -#: manager/helpers.py:86 manager/templates/schedule/view.html:98 +#: core/templates/user/overview.html:276 gym/views/export.py:57 +#: manager/helpers.py:86 manager/templates/schedule/view.html:52 msgid "Nr." msgstr "" -#: core/templates/user/overview.html:280 gym/models/contract.py:287 +#: core/templates/user/overview.html:298 gym/models/contract.py:287 #: gym/models/gym.py:50 gym/templates/contract/view.html:75 -#: gym/templates/gym/member_list.html:100 gym/views/export.py:68 +#: gym/templates/gym/member_list.html:112 gym/views/export.py:68 msgid "Phone" msgstr "" -#: core/templates/user/overview.html:284 gym/templates/contract/view.html:87 -#: gym/templates/gym/member_list.html:118 +#: core/templates/user/overview.html:302 gym/templates/contract/view.html:87 +#: gym/templates/gym/member_list.html:130 msgid "Address" msgstr "" -#: core/templates/user/overview.html:295 +#: core/templates/user/overview.html:313 msgid "Registered" msgstr "" -#: core/templates/user/overview.html:299 +#: core/templates/user/overview.html:317 msgid "Last login" msgstr "" -#: core/templates/user/overview.html:304 +#: core/templates/user/overview.html:322 msgid "Status" msgstr "" -#: core/templates/user/overview.html:307 +#: core/templates/user/overview.html:325 msgid "Active" msgstr "" -#: core/templates/user/overview.html:309 +#: core/templates/user/overview.html:327 msgid "Inactive" msgstr "" -#: core/templates/user/overview.html:330 gym/templates/contract/list.html:4 -#: gym/templates/gym/member_list.html:202 +#: core/templates/user/overview.html:348 gym/templates/contract/list.html:4 +#: gym/templates/gym/member_list.html:218 msgid "Contracts" msgstr "" -#: core/templates/user/overview.html:405 gym/templates/document/list.html:4 +#: core/templates/user/overview.html:426 gym/templates/document/list.html:4 msgid "Documents" msgstr "" -#: core/templates/user/overview.html:412 gym/templates/document/list.html:32 -#: manager/forms.py:292 manager/templates/workout/view.html:132 +#: core/templates/user/overview.html:433 gym/templates/document/list.html:33 +#: manager/forms.py:292 manager/templates/workout/view.html:143 msgid "Download" msgstr "" -#: core/templates/user/overview.html:450 gym/views/admin_config.py:44 +#: core/templates/user/overview.html:474 gym/views/admin_config.py:44 #: gym/views/admin_config.py:58 gym/views/user_config.py:46 msgid "Configuration" msgstr "" -#: core/templates/user/overview.html:453 gym/models/user_config.py:92 +#: core/templates/user/overview.html:477 gym/models/user_config.py:92 msgid "Include in inactive overview" msgstr "" -#: core/templates/user/overview.html:486 +#: core/templates/user/overview.html:510 #, python-format msgid "Admin login is only available for users in %(gym_name)s" msgstr "" -#: core/templates/user/overview.html:490 +#: core/templates/user/overview.html:514 msgid "Log in as this user" msgstr "" @@ -1211,19 +1174,19 @@ msgstr "" msgid "Send verification email" msgstr "" -#: core/templates/user/preferences.html:30 +#: core/templates/user/preferences.html:31 msgid "You need to verify your email to contribute exercises" msgstr "" -#: core/templates/user/preferences.html:50 core/views/user.py:611 +#: core/templates/user/preferences.html:55 core/views/user.py:610 msgid "Change password" msgstr "" -#: core/templatetags/wger_extras.py:205 i18n.tpl:37 +#: core/templatetags/wger_extras.py:197 i18n.tpl:37 msgid "kg" msgstr "" -#: core/templatetags/wger_extras.py:207 +#: core/templatetags/wger_extras.py:199 #: nutrition/templates/ingredient/view.html:60 #: nutrition/templates/ingredient/view.html:66 #: nutrition/templates/ingredient/view.html:73 @@ -1235,11 +1198,11 @@ msgctxt "weight unit, i.e. grams" msgid "g" msgstr "" -#: core/templatetags/wger_extras.py:210 i18n.tpl:38 +#: core/templatetags/wger_extras.py:202 i18n.tpl:38 msgid "lb" msgstr "" -#: core/templatetags/wger_extras.py:212 +#: core/templatetags/wger_extras.py:204 msgctxt "weight unit, i.e. ounces" msgid "oz" msgstr "" @@ -1266,13 +1229,13 @@ msgid "Delete {0}?" msgstr "" #: core/views/languages.py:111 core/views/license.py:85 -#: core/views/repetition_units.py:86 core/views/user.py:474 +#: core/views/repetition_units.py:86 core/views/user.py:473 #: core/views/weight_units.py:86 exercises/views/categories.py:98 #: exercises/views/equipment.py:81 exercises/views/muscles.py:87 #: gym/views/admin_notes.py:161 gym/views/config.py:68 #: gym/views/contract.py:186 gym/views/contract_option.py:123 #: gym/views/contract_type.py:123 gym/views/document.py:171 -#: gym/views/gym.py:463 manager/views/day.py:100 manager/views/schedule.py:333 +#: gym/views/gym.py:463 manager/views/day.py:96 manager/views/schedule.py:333 #: manager/views/workout.py:267 nutrition/views/ingredient.py:145 #: nutrition/views/unit.py:143 #, python-brace-format @@ -1298,48 +1261,48 @@ msgstr "" msgid "Your feedback was successfully sent. Thank you!" msgstr "" -#: core/views/user.py:156 +#: core/views/user.py:155 #, python-brace-format msgid "Account \"{0}\" was successfully deleted" msgstr "" -#: core/views/user.py:292 +#: core/views/user.py:291 msgid "You were successfully registered" msgstr "" -#: core/views/user.py:351 +#: core/views/user.py:350 msgid "Settings successfully updated" msgstr "" -#: core/views/user.py:390 +#: core/views/user.py:389 msgid "The user was successfully deactivated" msgstr "" -#: core/views/user.py:427 +#: core/views/user.py:426 msgid "The user was successfully activated" msgstr "" -#: core/views/user.py:442 +#: core/views/user.py:441 msgid "Edit user" msgstr "" -#: core/views/user.py:597 gym/templates/gym/member_list.html:26 +#: core/views/user.py:596 gym/templates/gym/member_list.html:26 #: gym/views/gym.py:158 msgid "ID" msgstr "" -#: core/views/user.py:598 gym/forms.py:95 gym/templates/contract/view.html:55 +#: core/views/user.py:597 gym/forms.py:95 gym/templates/contract/view.html:55 #: gym/templates/gym/member_list.html:27 gym/views/export.py:59 #: gym/views/gym.py:158 gym/views/gym.py:217 msgid "Username" msgstr "" -#: core/views/user.py:601 gym/templates/gym/new_user.html:34 +#: core/views/user.py:600 gym/templates/gym/new_user.html:34 #: gym/views/export.py:58 gym/views/gym.py:217 msgid "Gym" msgstr "" -#: core/views/user.py:660 +#: core/views/user.py:659 #, python-format msgid "A verification email was sent to %(email)s" msgstr "" @@ -1489,11 +1452,6 @@ msgstr "" msgid "Equipment list" msgstr "" -#: exercises/templates/equipment/admin-overview.html:39 -#: exercises/views/equipment.py:92 -msgid "Add new equipment" -msgstr "" - #: exercises/templates/history/overview.html:11 msgid "Exercise admin history" msgstr "" @@ -1541,11 +1499,6 @@ msgstr "" msgid "Muscle overview" msgstr "" -#: exercises/templates/muscles/admin-overview.html:38 -#: exercises/views/muscles.py:68 -msgid "Add muscle" -msgstr "" - #: exercises/views/categories.py:72 msgid "Add category" msgstr "" @@ -1554,6 +1507,10 @@ msgstr "" msgid "This will also delete all exercises in this category." msgstr "" +#: exercises/views/equipment.py:92 +msgid "Add new equipment" +msgstr "" + #: exercises/views/equipment.py:104 exercises/views/equipment.py:115 msgid "Delete equipment?" msgstr "" @@ -1562,6 +1519,10 @@ msgstr "" msgid "This will delete the exercise from all workouts." msgstr "" +#: exercises/views/muscles.py:68 +msgid "Add muscle" +msgstr "" + #: gallery/templates/images/overview.html:62 msgid "Add image" msgstr "" @@ -1647,7 +1608,7 @@ msgid "Contract is active" msgstr "" #: gym/models/contract.py:237 gym/templates/contract/view.html:69 -#: manager/models/schedule.py:61 manager/templates/schedule/view.html:67 +#: manager/models/schedule.py:61 manager/templates/schedule/view.html:21 msgid "Start date" msgstr "" @@ -1683,7 +1644,7 @@ msgstr "" msgid "Admin: can administrate the different gyms" msgstr "" -#: gym/models/gym.py:65 gym/templates/gym/member_list.html:114 +#: gym/models/gym.py:65 gym/templates/gym/member_list.html:126 msgid "Owner" msgstr "" @@ -1693,7 +1654,7 @@ msgid "" "considered inactive" msgstr "" -#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:152 +#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:166 msgid "Show name in header" msgstr "" @@ -1706,7 +1667,7 @@ msgstr "" msgid "Configuration for {self.gym.name}" msgstr "" -#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:184 +#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:200 msgid "Overview of inactive members" msgstr "" @@ -1730,7 +1691,7 @@ msgstr "" msgid "User notes" msgstr "" -#: gym/templates/contract/list.html:36 +#: gym/templates/contract/list.html:34 msgid "Show" msgstr "" @@ -1756,11 +1717,11 @@ msgstr "" msgid "Gym list" msgstr "" -#: gym/templates/gym/list.html:50 +#: gym/templates/gym/list.html:53 msgid "Global gym configuration" msgstr "" -#: gym/templates/gym/list.html:67 gym/views/gym.py:171 +#: gym/templates/gym/list.html:69 gym/views/gym.py:171 msgid "Add new gym" msgstr "" @@ -1772,43 +1733,43 @@ msgstr "" msgid "Gym manager" msgstr "" -#: gym/templates/gym/member_list.html:69 +#: gym/templates/gym/member_list.html:76 msgid "This gym has no administrators or trainers" msgstr "" -#: gym/templates/gym/member_list.html:88 +#: gym/templates/gym/member_list.html:98 msgid "Export" msgstr "" -#: gym/templates/gym/member_list.html:125 +#: gym/templates/gym/member_list.html:137 msgid "Members" msgstr "" -#: gym/templates/gym/member_list.html:145 +#: gym/templates/gym/member_list.html:159 msgid "Gym configuration" msgstr "" -#: gym/templates/gym/member_list.html:148 +#: gym/templates/gym/member_list.html:162 msgid "Inactive members" msgstr "" -#: gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:163 msgid "weeks" msgstr "" -#: gym/templates/gym/member_list.html:181 +#: gym/templates/gym/member_list.html:197 msgid "My configuration" msgstr "" -#: gym/templates/gym/member_list.html:215 +#: gym/templates/gym/member_list.html:234 msgid "Types" msgstr "" -#: gym/templates/gym/member_list.html:285 +#: gym/templates/gym/member_list.html:307 msgid "Emails" msgstr "" -#: gym/templates/gym/member_list.html:315 +#: gym/templates/gym/member_list.html:336 msgid "Add member" msgstr "" @@ -2093,28 +2054,38 @@ msgstr "" msgid "Unit" msgstr "" +#: manager/forms.py:191 manager/models/log.py:103 manager/models/setting.py:102 +#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 +msgid "RiR" +msgstr "" + #: manager/forms.py:279 msgid "Type" msgstr "" -#: manager/forms.py:280 manager/templates/workout/view.html:113 +#: manager/forms.py:280 manager/templates/workout/view.html:122 msgid "Table" msgstr "" -#: manager/forms.py:282 manager/templates/workout/view.html:119 +#: manager/forms.py:282 manager/templates/workout/view.html:129 msgid "with images" msgstr "" -#: manager/forms.py:283 manager/templates/workout/view.html:125 +#: manager/forms.py:283 manager/templates/workout/view.html:136 msgid "with comments" msgstr "" +#: manager/helpers.py:86 manager/models/setting.py:72 +#: manager/templates/set/formset.html:9 +msgid "Reps" +msgstr "" + #: manager/management/commands/email-reminders.py:121 msgid "Workout will expire soon" msgstr "" #: manager/models/day.py:34 manager/models/log.py:58 -#: manager/models/session.py:60 manager/templates/schedule/view.html:102 +#: manager/models/session.py:60 manager/templates/schedule/view.html:56 #: manager/templates/workout/view.html:9 manager/templates/workout/view.html:17 #: manager/views/pdf.py:85 manager/views/pdf.py:161 #: manager/views/schedule.py:151 manager/views/schedule.py:221 @@ -2135,7 +2106,7 @@ msgstr "" msgid "Name or short description of the schedule. For example 'Program XYZ'." msgstr "" -#: manager/models/schedule.py:65 manager/templates/schedule/view.html:71 +#: manager/models/schedule.py:65 manager/templates/schedule/view.html:25 msgid "Schedule active" msgstr "" @@ -2146,7 +2117,7 @@ msgid "" "inactive" msgstr "" -#: manager/models/schedule.py:77 manager/templates/schedule/view.html:81 +#: manager/models/schedule.py:77 manager/templates/schedule/view.html:35 msgid "Is a loop" msgstr "" @@ -2165,7 +2136,7 @@ msgid "The duration in weeks" msgstr "" #: manager/models/schedule_step.py:64 manager/models/set.py:53 -#: manager/models/setting.py:113 nutrition/models/meal.py:55 +#: manager/models/setting.py:113 nutrition/models/meal.py:53 #: nutrition/models/meal_item.py:66 msgid "Order" msgstr "" @@ -2297,7 +2268,7 @@ msgstr "" msgid "Workout session" msgstr "" -#: manager/templates/calendar/partial_overview_table.html:27 +#: manager/templates/calendar/partial_overview_table.html:26 msgid "Delete with logs" msgstr "" @@ -2317,21 +2288,27 @@ msgid "" "will simply be edited. Weight entries are always added." msgstr "" -#: manager/templates/schedule/overview.html:5 +#: manager/templates/schedule/overview.html:4 msgid "Your schedules" msgstr "" #: manager/templates/schedule/overview.html:19 -#: manager/templates/schedule/view.html:131 -#: manager/templates/schedule/view.html:183 +#: manager/templates/schedule/view.html:96 +#: manager/templates/schedule/view.html:146 #: manager/templates/workout/overview.html:16 msgid "active" msgstr "" -#: manager/templates/schedule/overview.html:28 +#: manager/templates/schedule/overview.html:27 msgid "No schedules found." msgstr "" +#: manager/templates/schedule/overview.html:28 +#, fuzzy +#| msgid "Add one now." +msgid "Add one now" +msgstr "एक नया जोड़ें |" + #: manager/templates/schedule/overview.html:36 msgid "" "Schedules are collections of workouts that you do in\n" @@ -2344,10 +2321,11 @@ msgid "" " before jumping to the next. It is also possible to create a loop, so " "you\n" " always do the same workouts in succession, e.g. A > B > C > A > B > " -"C and so on." +"C and so\n" +" on." msgstr "" -#: manager/templates/schedule/overview.html:43 +#: manager/templates/schedule/overview.html:44 msgid "" "The currently active schedule will remain active (and be\n" " shown e.g. in your dashboard) till it reaches the last workout or " @@ -2363,25 +2341,21 @@ msgstr "" msgid "Schedule" msgstr "" -#: manager/templates/schedule/view.html:85 +#: manager/templates/schedule/view.html:39 msgid "" "This schedule is a loop and will go through the workouts above till you " "deactivate it" msgstr "" -#: manager/templates/schedule/view.html:103 +#: manager/templates/schedule/view.html:57 msgid "Weeks" msgstr "" -#: manager/templates/schedule/view.html:115 -msgid "Move me" -msgstr "" - -#: manager/templates/schedule/view.html:156 +#: manager/templates/schedule/view.html:121 msgid "Start schedule" msgstr "" -#: manager/templates/schedule/view.html:187 +#: manager/templates/schedule/view.html:150 #, python-format msgid "" "%(weeks)s Week\n" @@ -2392,11 +2366,11 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: manager/templates/schedule/view.html:221 +#: manager/templates/schedule/view.html:184 msgid "Adding workouts" msgstr "" -#: manager/templates/schedule/view.html:223 +#: manager/templates/schedule/view.html:186 msgid "" "Add as many workouts to the schedule as you want. You can\n" " edit the order by dragging and dropping them. It's also possible " @@ -2404,44 +2378,37 @@ msgid "" " than once." msgstr "" -#: manager/templates/schedule/view.html:232 -#: manager/templates/schedule/view.html:243 -#: manager/templates/schedule/view.html:290 +#: manager/templates/schedule/view.html:195 +#: manager/templates/schedule/view.html:209 +#: manager/templates/schedule/view.html:263 #: manager/templates/workout/view.html:69 -#: manager/templates/workout/view.html:79 -#: manager/templates/workout/view.html:178 +#: manager/templates/workout/view.html:83 +#: manager/templates/workout/view.html:192 msgid "Export calendar file" msgstr "" -#: manager/templates/schedule/view.html:236 +#: manager/templates/schedule/view.html:201 msgid "Export this schedule as a calendar file." msgstr "" -#: manager/templates/schedule/view.html:237 -#: manager/templates/workout/view.html:74 +#: manager/templates/schedule/view.html:202 +#: manager/templates/workout/view.html:76 msgid "" "You can then import the file it into your calendar\n" " application for example google calendar, outlook or " "iCal. This will create\n" " an appointment for each training day with the " -"appropriate exercises." +"appropriate\n" +" exercises." msgstr "" -#: manager/templates/schedule/view.html:258 -#: manager/templates/schedule/view.html:294 -#: manager/templates/workout/view.html:94 -#: manager/templates/workout/view.html:174 +#: manager/templates/schedule/view.html:225 +#: manager/templates/schedule/view.html:268 +#: manager/templates/workout/view.html:99 +#: manager/templates/workout/view.html:188 msgid "Download as PDF" msgstr "" -#: manager/templates/schedule/view.html:299 -msgid "Edit schedule" -msgstr "" - -#: manager/templates/schedule/view.html:304 -msgid "Delete schedule" -msgstr "" - #: manager/templates/set/add.html:9 #, python-format msgid "Add exercises to day \"%(day_name)s\"" @@ -2506,47 +2473,6 @@ msgid "" "You will regularly receive such reminders till you enter your current weight." msgstr "" -#: manager/templates/workout/log.html:10 manager/templates/workout/log.html:11 -msgid "Weight log" -msgstr "" - -#: manager/templates/workout/log.html:29 -msgid "Weight log for workout" -msgstr "" - -#: manager/templates/workout/log.html:49 -msgid "Add weight log to this day" -msgstr "" - -#: manager/templates/workout/log.html:69 -msgid "No weight entries here." -msgstr "" - -#: manager/templates/workout/log.html:77 -msgid "No exercises for this day." -msgstr "" - -#: manager/templates/workout/log.html:90 -msgid "" -"This page shows the weight logs belonging to this workout\n" -"only. Click on an exercise to see all the historical data for\n" -"it." -msgstr "" - -#: manager/templates/workout/log.html:94 -msgid "" -"If on a single day there is more than one entry with the\n" -"same number of repetitions, but different weights, only the entry with the\n" -"higher weight is shown in the diagram." -msgstr "" - -#: manager/templates/workout/log.html:98 -msgid "" -"Note that only entries with a weight unit (kg or lb) and\n" -"repetitions are charted, other combinations such as time or until failure\n" -"are ignored here." -msgstr "" - #: manager/templates/workout/overview.html:25 msgid "No templates found." msgstr "" @@ -2582,27 +2508,23 @@ msgstr "" msgid "Set the repetitions for each set" msgstr "" -#: manager/templates/workout/view.html:73 +#: manager/templates/workout/view.html:75 msgid "Export this workout as a calendar file." msgstr "" -#: manager/templates/workout/view.html:144 +#: manager/templates/workout/view.html:156 msgid "Logs" msgstr "" -#: manager/templates/workout/view.html:146 +#: manager/templates/workout/view.html:159 msgid "View logs" msgstr "" -#: manager/templates/workout/view.html:169 manager/views/schedule_step.py:99 -msgid "Edit workout" -msgstr "" - -#: manager/templates/workout/view.html:182 manager/views/workout.py:281 +#: manager/templates/workout/view.html:195 manager/views/workout.py:281 msgid "Mark as template" msgstr "" -#: manager/views/day.py:109 +#: manager/views/day.py:105 msgid "Add workout day" msgstr "" @@ -2619,6 +2541,10 @@ msgstr "" msgid "Create schedule" msgstr "" +#: manager/views/schedule_step.py:99 +msgid "Edit workout" +msgstr "" + #: manager/views/workout.py:209 msgid "Copy workout" msgstr "" @@ -2740,7 +2666,7 @@ msgstr "" msgid "Unit amount, e.g. \"1 Cup\" or \"1/2 spoon\"" msgstr "" -#: nutrition/models/log.py:52 nutrition/models/meal.py:50 +#: nutrition/models/log.py:52 nutrition/models/meal.py:48 #: nutrition/models/meal_item.py:48 nutrition/models/plan.py:108 msgid "Nutrition plan" msgstr "" @@ -2753,11 +2679,11 @@ msgstr "" msgid "Date and Time (Approx.)" msgstr "" -#: nutrition/models/meal.py:62 +#: nutrition/models/meal.py:60 msgid "Time (approx)" msgstr "" -#: nutrition/models/meal.py:69 +#: nutrition/models/meal.py:67 msgid "" "Give meals a textual description / name such as \"Breakfast\" or \"after " "workout\"" @@ -2779,58 +2705,6 @@ msgid "" "calories. You can use the calculator or enter the value yourself." msgstr "" -#: nutrition/templates/bmi/form.html:62 -msgid "Results" -msgstr "" - -#: nutrition/templates/bmi/form.html:63 -msgid "Your BMI is: " -msgstr "" - -#: nutrition/templates/bmi/form.html:71 -msgid "Legend" -msgstr "" - -#: nutrition/templates/bmi/form.html:75 -msgid "Adipositas III" -msgstr "" - -#: nutrition/templates/bmi/form.html:79 -msgid "Adipositas II" -msgstr "" - -#: nutrition/templates/bmi/form.html:83 -msgid "Adipositas I" -msgstr "" - -#: nutrition/templates/bmi/form.html:87 -msgid "Overweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:91 -msgid "Normal weight" -msgstr "" - -#: nutrition/templates/bmi/form.html:95 -msgid "Slight underweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:99 -msgid "Moderate underweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:103 -msgid "Strong underweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:117 -msgid "" -"Use the form to calculate your BMI (Body Mass Index).\n" -"If you have entered data in the weight section, the last entry will\n" -"be used automatically. Otherwise the weight you enter here will be saved\n" -"in a new entry." -msgstr "" - #: nutrition/templates/ingredient/email_new.tpl:1 #, python-format msgid "" @@ -2876,10 +2750,6 @@ msgstr "" msgid "Search" msgstr "" -#: nutrition/templates/ingredient/overview.html:62 -msgid "Add ingredient" -msgstr "" - #: nutrition/templates/ingredient/view.html:45 nutrition/views/plan.py:229 msgid "Macronutrients" msgstr "" @@ -2899,20 +2769,11 @@ msgstr "" msgid "Others" msgstr "" -#: nutrition/templates/ingredient/view.html:144 -#: nutrition/templates/units/list.html:46 nutrition/views/unit.py:86 +#: nutrition/templates/ingredient/view.html:143 +#: nutrition/templates/units/list.html:50 nutrition/views/unit.py:86 msgid "Add new weight unit" msgstr "" -#: nutrition/templates/ingredient/view.html:206 -#: nutrition/templates/ingredient/view.html:209 -msgid "Edit ingredient" -msgstr "" - -#: nutrition/templates/ingredient/view.html:213 -msgid "Delete ingredient" -msgstr "" - #: nutrition/templates/rate/form.html:25 msgid "Basal metabolic rate" msgstr "" @@ -2981,18 +2842,6 @@ msgid "" "yourself for some weeks and change the total amount if needed." msgstr "" -#: nutrition/views/bmi.py:89 -msgid "Please make sure your height is within the appropriate range." -msgstr "" - -#: nutrition/views/bmi.py:92 -msgid "140 to 230" -msgstr "" - -#: nutrition/views/bmi.py:94 -msgid "56 to 90" -msgstr "" - #: nutrition/views/ingredient.py:157 msgid "Add a new ingredient" msgstr "" diff --git a/wger/locale/hr/LC_MESSAGES/django.po b/wger/locale/hr/LC_MESSAGES/django.po index 00292094f..b508019a4 100644 --- a/wger/locale/hr/LC_MESSAGES/django.po +++ b/wger/locale/hr/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-14 15:49+0200\n" +"POT-Creation-Date: 2024-11-14 19:23+0100\n" "PO-Revision-Date: 2024-07-31 17:09+0000\n" "Last-Translator: Milo Ivir \n" "Language-Team: Croatian \n" @@ -19,7 +19,7 @@ msgstr "" "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Generator: Weblate 5.7-dev\n" -#: config/models/gym_config.py:46 gym/templates/gym/list.html:53 +#: config/models/gym_config.py:46 gym/templates/gym/list.html:56 msgid "Default gym" msgstr "Standardna teretana" @@ -32,28 +32,28 @@ msgstr "" "registrirane korisnike ovoj teretani i aktualizirati sve postojeće korisnike " "bez teretane." -#: config/views/gym_config.py:42 core/templates/language/view.html:67 -#: core/templates/license/list.html:17 core/templates/misc/license/list.html:18 +#: config/views/gym_config.py:42 core/templates/language/view.html:64 +#: core/templates/license/list.html:17 #: core/templates/repetition_unit/list.html:18 -#: core/templates/tags/render_day.html:39 -#: core/templates/tags/render_day.html:75 core/templates/user/overview.html:204 -#: core/templates/user/overview.html:445 +#: core/templates/user/overview.html:204 core/templates/user/overview.html:467 #: core/templates/weight_unit/list.html:18 #: exercises/templates/categories/admin-overview.html:17 #: exercises/templates/equipment/admin-overview.html:17 -#: exercises/templates/muscles/admin-overview.html:17 -#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:32 -#: gym/templates/contract/list.html:31 gym/templates/contract/view.html:107 -#: gym/templates/contract_option/list.html:32 -#: gym/templates/contract_type/list.html:32 gym/templates/document/list.html:38 -#: gym/templates/gym/list.html:20 gym/templates/gym/list.html:46 -#: gym/templates/gym/member_list.html:87 gym/templates/gym/member_list.html:140 -#: gym/templates/gym/member_list.html:176 -#: manager/templates/calendar/day.html:68 -#: manager/templates/calendar/month.html:85 -#: manager/templates/calendar/partial_overview_table.html:18 -#: manager/templates/schedule/view.html:118 -#: nutrition/templates/ingredient/view.html:165 +#: exercises/templates/muscles/admin-overview.html:16 +#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:31 +#: gym/templates/contract/list.html:30 gym/templates/contract/view.html:106 +#: gym/templates/contract_option/list.html:29 +#: gym/templates/contract_type/list.html:30 gym/templates/document/list.html:38 +#: gym/templates/gym/list.html:19 gym/templates/gym/list.html:48 +#: gym/templates/gym/member_list.html:94 gym/templates/gym/member_list.html:152 +#: gym/templates/gym/member_list.html:190 +#: manager/templates/calendar/day.html:67 +#: manager/templates/calendar/month.html:84 +#: manager/templates/calendar/partial_overview_table.html:16 +#: manager/templates/schedule/view.html:271 +#: manager/templates/workout/view.html:181 +#: nutrition/templates/ingredient/view.html:164 +#: nutrition/templates/ingredient/view.html:209 #: nutrition/templates/units/list.html:19 msgid "Edit" msgstr "Uredi" @@ -87,25 +87,25 @@ msgstr "Moj raspored treninga" msgid "Empty placeholder schedule" msgstr "Prazan primjer rasporeda" -#: core/forms.py:69 core/templates/navigation.html:285 -#: core/templates/navigation.html:291 core/templates/user/login.html:4 +#: core/forms.py:69 core/templates/navigation.html:284 +#: core/templates/navigation.html:290 core/templates/user/login.html:4 #: software/templates/features.html:82 software/templates/features.html:427 msgid "Login" msgstr "Prijava" -#: core/forms.py:108 core/forms.py:214 gym/views/export.py:61 +#: core/forms.py:108 core/forms.py:216 gym/views/export.py:61 #: gym/views/gym.py:217 msgid "First name" msgstr "Ime" -#: core/forms.py:109 core/forms.py:215 core/templates/user/overview.html:266 +#: core/forms.py:109 core/forms.py:217 core/templates/user/overview.html:284 #: gym/views/export.py:62 gym/views/gym.py:217 msgid "Last name" msgstr "Prezime" -#: core/forms.py:111 core/forms.py:180 core/templates/user/overview.html:270 +#: core/forms.py:111 core/forms.py:182 core/templates/user/overview.html:288 #: gym/models/contract.py:256 gym/models/gym.py:58 -#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:104 +#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:116 #: gym/templates/gym/new_user.html:30 gym/views/export.py:60 #: mailer/templates/mailer/gym/form.html:4 #: mailer/templates/mailer/gym/overview.html:4 @@ -123,95 +123,94 @@ msgstr "" msgid "Date of Birth" msgstr "Datum rođenja" -#: core/forms.py:148 +#: core/forms.py:149 msgid "Personal data" msgstr "Osobni podaci" -#: core/forms.py:159 +#: core/forms.py:161 msgid "Workout reminders" msgstr "Podsjetitelji za treninge" -#: core/forms.py:166 +#: core/forms.py:168 msgid "Other settings" msgstr "Druge postavke" -#: core/forms.py:174 core/views/user.py:624 core/views/user.py:639 -#: core/views/user.py:651 gym/forms.py:73 manager/templates/log/add.html:65 +#: core/forms.py:176 core/views/user.py:623 core/views/user.py:638 +#: core/views/user.py:650 gym/forms.py:73 manager/templates/log/add.html:65 #: manager/templates/set/add.html:70 manager/views/workout.py:203 #: utils/generic_views.py:143 msgid "Save" msgstr "Spremi" -#: core/forms.py:181 +#: core/forms.py:183 msgid "Used for password resets and, optionally, email reminders." msgstr "" "Koristi se za obnavljanje lozinki i opcionalno za podsjetnike putem e-pošte." -#: core/forms.py:210 +#: core/forms.py:212 msgid "This e-mail address is already in use." msgstr "Ova se e-mail adresa već koristi." -#: core/forms.py:231 gym/templates/gym/new_user.html:26 +#: core/forms.py:233 gym/templates/gym/new_user.html:26 #: gym/templates/gym/reset_user_password.html:24 gym/views/gym.py:217 msgid "Password" msgstr "Lozinka" -#: core/forms.py:233 +#: core/forms.py:235 msgid "Please enter your current password." msgstr "Upiši svoju aktualnu lozinku." -#: core/forms.py:242 core/templates/language/view.html:73 -#: core/templates/license/list.html:19 core/templates/misc/license/list.html:22 -#: core/templates/repetition_unit/list.html:20 -#: core/templates/tags/render_day.html:45 -#: core/templates/tags/render_day.html:81 core/templates/user/overview.html:217 -#: core/templates/weight_unit/list.html:20 -#: exercises/templates/categories/admin-overview.html:19 -#: exercises/templates/equipment/admin-overview.html:19 -#: exercises/templates/muscles/admin-overview.html:19 -#: gym/templates/admin_notes/list.html:40 -#: gym/templates/contract_option/list.html:41 -#: gym/templates/contract_type/list.html:41 gym/templates/document/list.html:46 -#: gym/templates/gym/list.html:22 manager/templates/calendar/day.html:73 -#: manager/templates/calendar/month.html:89 -#: manager/templates/calendar/partial_overview_table.html:23 -#: manager/templates/schedule/view.html:122 -#: manager/templates/workout/view.html:188 -#: nutrition/templates/ingredient/view.html:166 +#: core/forms.py:244 core/templates/language/view.html:70 +#: core/templates/license/list.html:21 +#: core/templates/repetition_unit/list.html:22 +#: core/templates/user/overview.html:233 +#: core/templates/weight_unit/list.html:22 +#: exercises/templates/categories/admin-overview.html:21 +#: exercises/templates/equipment/admin-overview.html:21 +#: exercises/templates/muscles/admin-overview.html:20 +#: gym/templates/admin_notes/list.html:37 +#: gym/templates/contract_option/list.html:35 +#: gym/templates/contract_type/list.html:36 gym/templates/document/list.html:46 +#: gym/templates/gym/list.html:23 manager/templates/calendar/day.html:73 +#: manager/templates/calendar/month.html:88 +#: manager/templates/calendar/partial_overview_table.html:22 +#: manager/templates/schedule/view.html:277 +#: manager/templates/workout/view.html:202 +#: nutrition/templates/ingredient/view.html:168 #: nutrition/templates/ingredient/view.html:215 -#: nutrition/templates/units/list.html:22 +#: nutrition/templates/units/list.html:25 msgid "Delete" msgstr "Izbriši" -#: core/forms.py:251 +#: core/forms.py:253 msgid "Invalid password" msgstr "Neispravna lozinka" -#: core/forms.py:263 core/forms.py:338 +#: core/forms.py:265 core/forms.py:340 msgid "The form is secured with reCAPTCHA" msgstr "Obrazac je zaštićen pomoću reCAPTCHA" -#: core/forms.py:279 core/forms.py:301 core/templates/navigation.html:285 -#: core/templates/navigation.html:297 core/templates/template.html:149 -#: core/templates/user/login.html:20 core/views/user.py:298 +#: core/forms.py:281 core/forms.py:303 core/templates/navigation.html:284 +#: core/templates/navigation.html:296 core/templates/template.html:150 +#: core/templates/user/login.html:20 core/views/user.py:297 #: software/templates/features.html:87 software/templates/features.html:422 msgid "Register" msgstr "Registracija" -#: core/forms.py:315 software/templates/features.html:45 +#: core/forms.py:317 software/templates/features.html:45 msgid "Contact" msgstr "Kontakt" -#: core/forms.py:316 +#: core/forms.py:318 msgid "Some way of answering you (e-mail, etc.)" msgstr "Neki način slanja odgovora (e-mail, itd.)" -#: core/forms.py:324 exercises/models/comment.py:58 manager/models/set.py:61 +#: core/forms.py:326 exercises/models/comment.py:58 manager/models/set.py:61 #: manager/models/setting.py:114 nutrition/models/log.py:77 msgid "Comment" msgstr "Komentar" -#: core/forms.py:325 +#: core/forms.py:327 msgid "What do you want to say?" msgstr "Što želiš reći?" @@ -441,18 +440,18 @@ msgid "The sum of all hours has to be 24" msgstr "Zbroj svih sati mora biti 24" #: core/models/rep_unit.py:36 core/models/weight_unit.py:36 -#: core/templates/user/overview.html:262 core/views/user.py:599 +#: core/templates/user/overview.html:280 core/views/user.py:598 #: exercises/models/category.py:29 exercises/models/equipment.py:29 #: exercises/models/exercise.py:59 exercises/models/muscle.py:36 #: gym/models/contract.py:52 gym/models/contract.py:103 gym/models/gym.py:46 #: gym/models/user_document.py:84 gym/templates/contract/view.html:50 -#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:96 +#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:108 #: gym/views/gym.py:158 manager/models/schedule.py:55 #: manager/models/workout.py:57 measurements/models/category.py:36 #: nutrition/models/ingredient.py:111 -#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:67 +#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:65 #: nutrition/models/weight_unit.py:38 -#: nutrition/templates/ingredient/view.html:152 +#: nutrition/templates/ingredient/view.html:151 msgid "Name" msgstr "Ime" @@ -504,7 +503,7 @@ msgstr "" msgid "Back to \"%(target)s\"" msgstr "Natrag na „%(target)s”" -#: core/templates/delete.html:15 +#: core/templates/delete.html:4 msgid "Are you sure you want to delete this? This action cannot be undone." msgstr "Stvarno želiš ovo izbrisati? Ova je nepovratna radnja." @@ -558,7 +557,7 @@ msgstr "" msgid "Dashboard" msgstr "Kontrolna ploča" -#: core/templates/language/overview.html:4 core/templates/navigation.html:345 +#: core/templates/language/overview.html:4 core/templates/navigation.html:344 msgid "Languages" msgstr "Jezici" @@ -568,81 +567,72 @@ msgstr "Ništa nije pronađeno." #: core/templates/language/overview.html:22 #: manager/templates/calendar/month.html:132 -#: manager/templates/schedule/overview.html:28 -#: manager/templates/schedule/view.html:144 +#: manager/templates/schedule/view.html:107 #: manager/templates/workout/overview.html:28 #: nutrition/templates/ingredient/overview.html:38 msgid "Add one now." msgstr "Dodaj jedan sada." -#: core/templates/language/overview.html:35 core/templates/license/list.html:40 -#: core/templates/misc/license/list.html:43 -#: core/templates/repetition_unit/list.html:43 -#: core/templates/user/overview.html:326 core/templates/user/overview.html:365 -#: core/templates/user/overview.html:401 -#: core/templates/weight_unit/list.html:43 core/views/languages.py:74 +#: core/templates/language/overview.html:34 core/templates/license/list.html:43 +#: core/templates/repetition_unit/list.html:46 +#: core/templates/user/overview.html:344 core/templates/user/overview.html:384 +#: core/templates/user/overview.html:422 +#: core/templates/weight_unit/list.html:46 core/views/languages.py:74 #: core/views/license.py:66 core/views/repetition_units.py:66 #: core/views/weight_units.py:66 -#: exercises/templates/categories/admin-overview.html:38 -#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:67 -#: gym/templates/contract/list.html:73 -#: gym/templates/contract_option/list.html:72 -#: gym/templates/contract_type/list.html:72 gym/templates/document/list.html:79 -#: gym/templates/gym/member_list.html:211 -#: gym/templates/gym/member_list.html:244 -#: gym/templates/gym/member_list.html:281 +#: exercises/templates/categories/admin-overview.html:40 +#: exercises/templates/equipment/admin-overview.html:39 +#: exercises/templates/muscles/admin-overview.html:40 +#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:64 +#: gym/templates/contract/list.html:69 +#: gym/templates/contract_option/list.html:65 +#: gym/templates/contract_type/list.html:66 gym/templates/document/list.html:78 +#: gym/templates/gym/member_list.html:228 +#: gym/templates/gym/member_list.html:264 +#: gym/templates/gym/member_list.html:303 #: mailer/templates/mailer/gym/overview.html:43 +#: nutrition/templates/ingredient/overview.html:60 msgid "Add" msgstr "Dodaj" #: core/templates/language/view.html:61 core/templates/user/api_key.html:44 -#: core/templates/user/preferences.html:45 gym/models/contract.py:203 -#: gym/templates/contract/view.html:41 gym/templates/contract/view.html:106 -#: gym/templates/gym/member_list.html:248 -#: manager/templates/schedule/view.html:285 -#: manager/templates/workout/view.html:163 -#: nutrition/templates/ingredient/view.html:202 +#: core/templates/user/preferences.html:50 gym/models/contract.py:203 +#: gym/templates/contract/view.html:41 gym/templates/gym/member_list.html:270 +#: manager/templates/schedule/view.html:257 +#: manager/templates/workout/view.html:177 +#: nutrition/templates/ingredient/view.html:206 msgid "Options" msgstr "Opcije" -#: core/templates/license/list.html:4 core/templates/misc/license/list.html:4 +#: core/templates/license/list.html:4 msgid "License list" msgstr "Popis licenca" -#: core/templates/license/list.html:26 core/templates/misc/license/list.html:30 -#: core/templates/repetition_unit/list.html:28 +#: core/templates/license/list.html:30 +#: core/templates/repetition_unit/list.html:32 #: core/templates/user/overview.html:104 core/templates/user/overview.html:136 -#: core/templates/user/overview.html:185 core/templates/user/overview.html:347 -#: core/templates/user/overview.html:383 core/templates/user/overview.html:427 -#: core/templates/weight_unit/list.html:28 -#: exercises/templates/categories/admin-overview.html:26 -#: exercises/templates/equipment/admin-overview.html:26 -#: exercises/templates/muscles/admin-overview.html:26 -#: gym/templates/admin_notes/list.html:52 gym/templates/contract/list.html:60 -#: gym/templates/contract_option/list.html:58 -#: gym/templates/contract_type/list.html:58 gym/templates/document/list.html:64 -#: gym/templates/gym/list.html:29 gym/templates/gym/member_list.html:229 -#: gym/templates/gym/member_list.html:262 -#: gym/templates/gym/member_list.html:299 +#: core/templates/user/overview.html:185 core/templates/user/overview.html:365 +#: core/templates/user/overview.html:404 core/templates/user/overview.html:448 +#: core/templates/weight_unit/list.html:32 +#: exercises/templates/categories/admin-overview.html:30 +#: exercises/templates/equipment/admin-overview.html:30 +#: exercises/templates/muscles/admin-overview.html:29 +#: gym/templates/admin_notes/list.html:50 gym/templates/contract/list.html:57 +#: gym/templates/contract_option/list.html:52 +#: gym/templates/contract_type/list.html:53 gym/templates/document/list.html:64 +#: gym/templates/gym/list.html:32 gym/templates/gym/member_list.html:248 +#: gym/templates/gym/member_list.html:284 +#: gym/templates/gym/member_list.html:321 #: mailer/templates/mailer/gym/overview.html:30 -#: manager/templates/calendar/day.html:87 -#: nutrition/templates/units/list.html:29 +#: manager/templates/calendar/day.html:88 +#: nutrition/templates/units/list.html:34 msgid "Nothing found" msgstr "Ništa nije pronađeno" -#: core/templates/misc/about.html:4 core/templates/template.html:175 +#: core/templates/misc/about.html:4 core/templates/template.html:187 msgid "Imprint" msgstr "Impresum" -#: core/templates/misc/license/list.html:47 -msgid "" -"If a license has been localized, e.g. the Creative Commons\n" -" licenses for the different countries, add them as separate " -"entries here." -msgstr "" -"Ako je licenca lokalizirana, npr. Creative Commons\n" -" licence za različite zemlje, dodaj ih kao zasebne unose ovdje." - #: core/templates/navigation.html:28 software/templates/features.html:437 msgid "Training" msgstr "Treniranje" @@ -687,8 +677,8 @@ msgstr "Javni predlošci" msgid "Exercises" msgstr "Vježbe" -#: core/templates/navigation.html:111 core/templates/navigation.html:184 -#: core/templates/navigation.html:340 +#: core/templates/navigation.html:111 core/templates/navigation.html:185 +#: core/templates/navigation.html:339 msgid "Administration" msgstr "Administracija" @@ -717,7 +707,7 @@ msgstr "Prehrana" msgid "Nutrition plans" msgstr "Planovi prehrane" -#: core/templates/navigation.html:165 nutrition/templates/bmi/form.html:50 +#: core/templates/navigation.html:165 msgid "BMI calculator" msgstr "Kalkulator indeksa tjelesne mase" @@ -725,87 +715,87 @@ msgstr "Kalkulator indeksa tjelesne mase" msgid "Daily calories calculator" msgstr "Kalkulator dnevnih kalorija" -#: core/templates/navigation.html:179 +#: core/templates/navigation.html:180 #: nutrition/templates/ingredient/overview.html:10 msgid "Ingredient overview" msgstr "Pregled sastojaka" -#: core/templates/navigation.html:187 nutrition/templates/units/list.html:6 +#: core/templates/navigation.html:189 nutrition/templates/units/list.html:6 msgid "Ingredient weight units" msgstr "Jedinica težine sastojka" -#: core/templates/navigation.html:203 software/templates/features.html:442 +#: core/templates/navigation.html:205 software/templates/features.html:442 msgid "Body weight" msgstr "Tjelesna težina" -#: core/templates/navigation.html:210 core/templates/user/overview.html:114 +#: core/templates/navigation.html:212 core/templates/user/overview.html:114 msgid "Weight overview" msgstr "Pregled težine" -#: core/templates/navigation.html:217 weight/views.py:65 +#: core/templates/navigation.html:216 weight/views.py:65 msgid "Add weight entry" msgstr "Dodaj unos težine" -#: core/templates/navigation.html:231 +#: core/templates/navigation.html:230 msgid "About this software" msgstr "O ovom softveru" -#: core/templates/navigation.html:237 software/templates/about_us.html:5 +#: core/templates/navigation.html:236 software/templates/about_us.html:5 msgid "About us" msgstr "O nama" -#: core/templates/navigation.html:243 software/templates/features.html:507 +#: core/templates/navigation.html:242 software/templates/features.html:507 msgid "REST API" msgstr "REST API" -#: core/templates/navigation.html:249 utils/models.py:45 +#: core/templates/navigation.html:248 utils/models.py:45 msgid "License" msgstr "Licenca" -#: core/templates/navigation.html:255 +#: core/templates/navigation.html:254 msgid "Developer documentation" msgstr "Dokumentacija za programere" -#: core/templates/navigation.html:262 +#: core/templates/navigation.html:261 msgid "Get the code" msgstr "Nabavi kôd" -#: core/templates/navigation.html:269 core/templates/template.html:214 +#: core/templates/navigation.html:268 core/templates/template.html:226 #: software/templates/features.html:582 msgid "Translate" msgstr "Prevodi" -#: core/templates/navigation.html:303 core/templates/user/login.html:28 +#: core/templates/navigation.html:302 core/templates/user/login.html:28 msgid "Reset password" msgstr "Obnovi lozinku" -#: core/templates/navigation.html:321 +#: core/templates/navigation.html:320 msgid "My preferences" msgstr "Moje postavke" -#: core/templates/navigation.html:330 +#: core/templates/navigation.html:329 msgid "Logout" msgstr "Odjava" -#: core/templates/navigation.html:353 +#: core/templates/navigation.html:352 msgid "Licenses" msgstr "Licence" -#: core/templates/navigation.html:361 +#: core/templates/navigation.html:360 #: core/templates/repetition_unit/list.html:4 msgid "Repetition units" msgstr "Jedinice ponavljanja" -#: core/templates/navigation.html:369 core/templates/weight_unit/list.html:4 +#: core/templates/navigation.html:368 core/templates/weight_unit/list.html:4 #: nutrition/templates/ingredient/view.html:141 msgid "Weight units" msgstr "Jedinice težine" -#: core/templates/navigation.html:377 core/templates/user/list.html:4 +#: core/templates/navigation.html:376 core/templates/user/list.html:4 msgid "User list" msgstr "Popis korisnika" -#: core/templates/navigation.html:383 +#: core/templates/navigation.html:382 msgid "Gyms" msgstr "Teretane" @@ -868,56 +858,31 @@ msgstr "prethodno" msgid "next" msgstr "dalje" -#: core/templates/tags/render_day.html:34 -msgid "Add weight log" -msgstr "Dodaj zapis težine" - -#: core/templates/tags/render_day.html:116 -msgid "Placeholder image for exercise" +#: core/templates/tags/render_day.html:44 +#, fuzzy +#| msgid "Placeholder image for exercise" +msgid "Placeholder image for translation" msgstr "Primjer slike za vježbu" -#: core/templates/tags/render_day.html:133 -msgid "This exercise has no repetitions." -msgstr "Ova vježba nema ponavljanja." - -#: core/templates/tags/render_day.html:136 -msgid "Edit them now." -msgstr "Uredi ih sada." - -#: core/templates/tags/render_day.html:162 -msgid "Add exercises to this workout day" -msgstr "Dodaj vježbe za ovaj dan treninga" - -#: core/templates/tags/render_weight_log.html:17 manager/helpers.py:86 -#: manager/models/setting.py:72 manager/templates/set/formset.html:9 -msgid "Reps" -msgstr "Ponavljanja" - -#: core/templates/tags/render_weight_log.html:30 manager/forms.py:191 -#: manager/models/log.py:103 manager/models/setting.py:102 -#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 -msgid "RiR" -msgstr "PUR" - -#: core/templates/template.html:122 manager/templates/calendar/month.html:138 -#: manager/templates/schedule/view.html:248 -#: manager/templates/schedule/view.html:269 -#: manager/templates/workout/view.html:84 -#: manager/templates/workout/view.html:137 +#: core/templates/template.html:123 manager/templates/calendar/month.html:138 +#: manager/templates/schedule/view.html:215 +#: manager/templates/schedule/view.html:240 +#: manager/templates/workout/view.html:89 +#: manager/templates/workout/view.html:149 msgid "Close" msgstr "Zatvori" -#: core/templates/template.html:138 +#: core/templates/template.html:139 msgid "" "You are using a guest account, data entered will be deleted after a week." msgstr "" "Koristiš račun gosta, upisani podaci će se izbrisati nakon tjedan dana." -#: core/templates/template.html:143 +#: core/templates/template.html:144 msgid "Create some demo entries" msgstr "Stvori neke demo snimke" -#: core/templates/template.html:180 software/templates/features.html:547 +#: core/templates/template.html:192 software/templates/features.html:547 #: software/templates/tos.html:7 msgid "Terms of service" msgstr "Uvjeti usluge" @@ -926,7 +891,7 @@ msgstr "Uvjeti usluge" msgid "Features" msgstr "Značajke" -#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:54 +#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:59 msgid "API key" msgstr "API ključ" @@ -970,17 +935,17 @@ msgstr "Generiraj novi API ključ" msgid "Documentation" msgstr "Dokumentacija" -#: core/templates/user/delete_account.html:4 -#: core/templates/user/preferences.html:59 +#: core/templates/user/delete_account.html:3 +#: core/templates/user/preferences.html:62 msgid "Delete account" msgstr "Izbriši račun" -#: core/templates/user/delete_account.html:17 +#: core/templates/user/delete_account.html:9 #: exercises/templates/history/overview.html:93 msgid "Are you sure?" msgstr "Jesi li siguran/na?" -#: core/templates/user/delete_account.html:22 +#: core/templates/user/delete_account.html:14 #, python-format msgid "" "This action will delete the user account \"%(username)s\".\n" @@ -1003,22 +968,22 @@ msgstr "Zaboravio/la si lozinku?" #: core/templates/user/overview.html:25 core/templates/user/overview.html:68 #: core/templates/user/overview.html:112 core/templates/user/overview.html:144 -#: core/templates/user/overview.html:330 core/templates/user/overview.html:369 -#: core/templates/user/overview.html:405 +#: core/templates/user/overview.html:348 core/templates/user/overview.html:390 +#: core/templates/user/overview.html:426 #, python-format msgid "last %(number)s" msgstr "zadnjih %(number)s" #: core/templates/user/overview.html:27 core/templates/user/overview.html:146 -#: core/templates/user/overview.html:325 core/templates/user/overview.html:364 -#: core/templates/user/overview.html:400 gym/templates/gym/member_list.html:210 -#: gym/templates/gym/member_list.html:243 -#: gym/templates/gym/member_list.html:280 +#: core/templates/user/overview.html:343 core/templates/user/overview.html:382 +#: core/templates/user/overview.html:421 gym/templates/gym/member_list.html:226 +#: gym/templates/gym/member_list.html:262 +#: gym/templates/gym/member_list.html:302 msgid "Overview" msgstr "Pregled" #: core/templates/user/overview.html:28 -#: manager/templates/schedule/view.html:163 +#: manager/templates/schedule/view.html:125 #: manager/templates/workout/overview.html:39 manager/views/schedule_step.py:60 msgid "Add workout" msgstr "Dodaj trening" @@ -1050,38 +1015,36 @@ msgstr "Opis" msgid "Number of logs (days)" msgstr "Broj zapisa (u danima)" -#: core/templates/user/overview.html:37 core/views/user.py:600 +#: core/templates/user/overview.html:37 core/views/user.py:599 #: gym/templates/gym/email_inactive_members.html:4 gym/views/gym.py:158 msgid "Last activity" msgstr "Zadnja aktivnost" #: core/templates/user/overview.html:58 #: manager/templates/calendar/month.html:128 -#: manager/templates/schedule/view.html:144 #: manager/templates/workout/overview.html:28 msgid "No workouts found." msgstr "Nije pronađen nijedan trening." #: core/templates/user/overview.html:68 manager/forms.py:280 -#: manager/templates/workout/view.html:106 +#: manager/templates/workout/view.html:114 msgid "Log" msgstr "Zapis" #: core/templates/user/overview.html:77 manager/models/session.py:83 -#: manager/templates/calendar/partial_overview_table.html:52 +#: manager/templates/calendar/partial_overview_table.html:54 msgid "General impression" msgstr "Opći dojam" -#: core/templates/user/overview.html:78 core/templates/user/overview.html:369 +#: core/templates/user/overview.html:78 core/templates/user/overview.html:390 #: manager/models/session.py:73 -#: manager/templates/calendar/partial_overview_table.html:56 -#: manager/templates/workout/log.html:89 +#: manager/templates/calendar/partial_overview_table.html:58 msgid "Notes" msgstr "Bilješke" #: core/templates/user/overview.html:79 #: exercises/templates/history/overview.html:30 -#: manager/templates/calendar/partial_overview_table.html:42 +#: manager/templates/calendar/partial_overview_table.html:44 msgid "Time" msgstr "Vrijeme" @@ -1119,121 +1082,121 @@ msgstr "Mast" msgid "kcal" msgstr "kcal" -#: core/templates/user/overview.html:201 core/templates/user/overview.html:322 -#: core/templates/user/overview.html:361 core/templates/user/overview.html:397 -#: core/templates/user/overview.html:442 gym/templates/gym/list.html:42 -#: gym/templates/gym/member_list.html:84 gym/templates/gym/member_list.html:137 -#: gym/templates/gym/member_list.html:173 -#: gym/templates/gym/member_list.html:207 -#: gym/templates/gym/member_list.html:240 -#: gym/templates/gym/member_list.html:277 -#: manager/templates/schedule/view.html:100 +#: core/templates/user/overview.html:201 core/templates/user/overview.html:340 +#: core/templates/user/overview.html:379 core/templates/user/overview.html:418 +#: core/templates/user/overview.html:463 gym/templates/gym/list.html:45 +#: gym/templates/gym/member_list.html:91 gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:187 +#: gym/templates/gym/member_list.html:223 +#: gym/templates/gym/member_list.html:259 +#: gym/templates/gym/member_list.html:299 +#: manager/templates/schedule/view.html:54 msgid "Actions" msgstr "Radnje" -#: core/templates/user/overview.html:207 +#: core/templates/user/overview.html:210 msgid "Deactivate user" msgstr "Deaktiviraj korisnika" -#: core/templates/user/overview.html:209 +#: core/templates/user/overview.html:214 msgid "Activate user" msgstr "Aktiviraj korisnika" -#: core/templates/user/overview.html:211 +#: core/templates/user/overview.html:223 msgid "Reset user password" msgstr "Obnovi korisničku lozinku" -#: core/templates/user/overview.html:214 gym/templates/gym/member_list.html:30 +#: core/templates/user/overview.html:227 gym/templates/gym/member_list.html:30 msgid "Roles" msgstr "Uloge" -#: core/templates/user/overview.html:225 +#: core/templates/user/overview.html:243 msgid "Password reset confirmation" msgstr "Potvrda obnavljanja lozinke" -#: core/templates/user/overview.html:229 +#: core/templates/user/overview.html:247 msgid "Do you really want to change this user's password?" msgstr "Stvarno želiš promijeniti lozinku ovog korisnika?" -#: core/templates/user/overview.html:232 +#: core/templates/user/overview.html:250 #: exercises/templates/history/overview.html:106 msgid "No" msgstr "Ne" -#: core/templates/user/overview.html:233 +#: core/templates/user/overview.html:251 #: exercises/templates/history/overview.html:99 msgid "Yes" msgstr "Da" -#: core/templates/user/overview.html:254 gym/templates/gym/member_list.html:93 +#: core/templates/user/overview.html:272 gym/templates/gym/member_list.html:105 msgid "Details" msgstr "Detalji" -#: core/templates/user/overview.html:258 gym/views/export.py:57 -#: manager/helpers.py:86 manager/templates/schedule/view.html:98 +#: core/templates/user/overview.html:276 gym/views/export.py:57 +#: manager/helpers.py:86 manager/templates/schedule/view.html:52 msgid "Nr." msgstr "Br." -#: core/templates/user/overview.html:280 gym/models/contract.py:287 +#: core/templates/user/overview.html:298 gym/models/contract.py:287 #: gym/models/gym.py:50 gym/templates/contract/view.html:75 -#: gym/templates/gym/member_list.html:100 gym/views/export.py:68 +#: gym/templates/gym/member_list.html:112 gym/views/export.py:68 msgid "Phone" msgstr "Telefon" -#: core/templates/user/overview.html:284 gym/templates/contract/view.html:87 -#: gym/templates/gym/member_list.html:118 +#: core/templates/user/overview.html:302 gym/templates/contract/view.html:87 +#: gym/templates/gym/member_list.html:130 msgid "Address" msgstr "Adresa" -#: core/templates/user/overview.html:295 +#: core/templates/user/overview.html:313 msgid "Registered" msgstr "Registriran" -#: core/templates/user/overview.html:299 +#: core/templates/user/overview.html:317 msgid "Last login" msgstr "Zadnja prijava" -#: core/templates/user/overview.html:304 +#: core/templates/user/overview.html:322 msgid "Status" msgstr "Stanje" -#: core/templates/user/overview.html:307 +#: core/templates/user/overview.html:325 msgid "Active" msgstr "Aktivno" -#: core/templates/user/overview.html:309 +#: core/templates/user/overview.html:327 msgid "Inactive" msgstr "Neaktivno" -#: core/templates/user/overview.html:330 gym/templates/contract/list.html:4 -#: gym/templates/gym/member_list.html:202 +#: core/templates/user/overview.html:348 gym/templates/contract/list.html:4 +#: gym/templates/gym/member_list.html:218 msgid "Contracts" msgstr "Ugovori" -#: core/templates/user/overview.html:405 gym/templates/document/list.html:4 +#: core/templates/user/overview.html:426 gym/templates/document/list.html:4 msgid "Documents" msgstr "Dokumenti" -#: core/templates/user/overview.html:412 gym/templates/document/list.html:32 -#: manager/forms.py:292 manager/templates/workout/view.html:132 +#: core/templates/user/overview.html:433 gym/templates/document/list.html:33 +#: manager/forms.py:292 manager/templates/workout/view.html:143 msgid "Download" msgstr "Preuzimanje" -#: core/templates/user/overview.html:450 gym/views/admin_config.py:44 +#: core/templates/user/overview.html:474 gym/views/admin_config.py:44 #: gym/views/admin_config.py:58 gym/views/user_config.py:46 msgid "Configuration" msgstr "Konfiguracija" -#: core/templates/user/overview.html:453 gym/models/user_config.py:92 +#: core/templates/user/overview.html:477 gym/models/user_config.py:92 msgid "Include in inactive overview" msgstr "Uključi u neaktivni pregled" -#: core/templates/user/overview.html:486 +#: core/templates/user/overview.html:510 #, python-format msgid "Admin login is only available for users in %(gym_name)s" msgstr "Administratorska prijava je dostupna samo korisnicima u %(gym_name)s" -#: core/templates/user/overview.html:490 +#: core/templates/user/overview.html:514 msgid "Log in as this user" msgstr "Prijavi se kao ovaj korisnik" @@ -1253,19 +1216,19 @@ msgstr "Neovjerena e-mail adresa" msgid "Send verification email" msgstr "Pošalji e-mail za ovjeru" -#: core/templates/user/preferences.html:30 +#: core/templates/user/preferences.html:31 msgid "You need to verify your email to contribute exercises" msgstr "Za dodavanje vježbi moraš ovjeriti tvoju e-mail adresu" -#: core/templates/user/preferences.html:50 core/views/user.py:611 +#: core/templates/user/preferences.html:55 core/views/user.py:610 msgid "Change password" msgstr "Promjeni lozinku" -#: core/templatetags/wger_extras.py:205 i18n.tpl:37 +#: core/templatetags/wger_extras.py:197 i18n.tpl:37 msgid "kg" msgstr "kg" -#: core/templatetags/wger_extras.py:207 +#: core/templatetags/wger_extras.py:199 #: nutrition/templates/ingredient/view.html:60 #: nutrition/templates/ingredient/view.html:66 #: nutrition/templates/ingredient/view.html:73 @@ -1277,11 +1240,11 @@ msgctxt "weight unit, i.e. grams" msgid "g" msgstr "g" -#: core/templatetags/wger_extras.py:210 i18n.tpl:38 +#: core/templatetags/wger_extras.py:202 i18n.tpl:38 msgid "lb" msgstr "funta" -#: core/templatetags/wger_extras.py:212 +#: core/templatetags/wger_extras.py:204 msgctxt "weight unit, i.e. ounces" msgid "oz" msgstr "unca" @@ -1308,13 +1271,13 @@ msgid "Delete {0}?" msgstr "Izbrisati {0}?" #: core/views/languages.py:111 core/views/license.py:85 -#: core/views/repetition_units.py:86 core/views/user.py:474 +#: core/views/repetition_units.py:86 core/views/user.py:473 #: core/views/weight_units.py:86 exercises/views/categories.py:98 #: exercises/views/equipment.py:81 exercises/views/muscles.py:87 #: gym/views/admin_notes.py:161 gym/views/config.py:68 #: gym/views/contract.py:186 gym/views/contract_option.py:123 #: gym/views/contract_type.py:123 gym/views/document.py:171 -#: gym/views/gym.py:463 manager/views/day.py:100 manager/views/schedule.py:333 +#: gym/views/gym.py:463 manager/views/day.py:96 manager/views/schedule.py:333 #: manager/views/workout.py:267 nutrition/views/ingredient.py:145 #: nutrition/views/unit.py:143 #, python-brace-format @@ -1343,48 +1306,48 @@ msgstr "Pošalji" msgid "Your feedback was successfully sent. Thank you!" msgstr "Tvoje povratne informacije su uspješno poslane. Hvala!" -#: core/views/user.py:156 +#: core/views/user.py:155 #, python-brace-format msgid "Account \"{0}\" was successfully deleted" msgstr "Račun „{0}” je uspješno izbrisan" -#: core/views/user.py:292 +#: core/views/user.py:291 msgid "You were successfully registered" msgstr "Uspješno si registriran/a" -#: core/views/user.py:351 +#: core/views/user.py:350 msgid "Settings successfully updated" msgstr "Postavke su uspješno aktualizirane" -#: core/views/user.py:390 +#: core/views/user.py:389 msgid "The user was successfully deactivated" msgstr "Korisnik je uspješno deaktiviran" -#: core/views/user.py:427 +#: core/views/user.py:426 msgid "The user was successfully activated" msgstr "Korisnik je uspješno aktiviran" -#: core/views/user.py:442 +#: core/views/user.py:441 msgid "Edit user" msgstr "Uredi korisnika" -#: core/views/user.py:597 gym/templates/gym/member_list.html:26 +#: core/views/user.py:596 gym/templates/gym/member_list.html:26 #: gym/views/gym.py:158 msgid "ID" msgstr "ID" -#: core/views/user.py:598 gym/forms.py:95 gym/templates/contract/view.html:55 +#: core/views/user.py:597 gym/forms.py:95 gym/templates/contract/view.html:55 #: gym/templates/gym/member_list.html:27 gym/views/export.py:59 #: gym/views/gym.py:158 gym/views/gym.py:217 msgid "Username" msgstr "Korisničko ime" -#: core/views/user.py:601 gym/templates/gym/new_user.html:34 +#: core/views/user.py:600 gym/templates/gym/new_user.html:34 #: gym/views/export.py:58 gym/views/gym.py:217 msgid "Gym" msgstr "Teretana" -#: core/views/user.py:660 +#: core/views/user.py:659 #, python-format msgid "A verification email was sent to %(email)s" msgstr "E-mail za ovjeru je poslan na %(email)s" @@ -1536,11 +1499,6 @@ msgstr "Kodek, dugo ime" msgid "Equipment list" msgstr "Popis opreme" -#: exercises/templates/equipment/admin-overview.html:39 -#: exercises/views/equipment.py:92 -msgid "Add new equipment" -msgstr "Dodaj novu opremu" - #: exercises/templates/history/overview.html:11 msgid "Exercise admin history" msgstr "Povijest administratora vježbe" @@ -1588,11 +1546,6 @@ msgstr "Obnovi promjene" msgid "Muscle overview" msgstr "Pregled mičića" -#: exercises/templates/muscles/admin-overview.html:38 -#: exercises/views/muscles.py:68 -msgid "Add muscle" -msgstr "Dodaj mičić" - #: exercises/views/categories.py:72 msgid "Add category" msgstr "Dodaj kategoriju" @@ -1601,6 +1554,10 @@ msgstr "Dodaj kategoriju" msgid "This will also delete all exercises in this category." msgstr "Ovo će također izbrisati sve vježbe u ovoj kategoriji." +#: exercises/views/equipment.py:92 +msgid "Add new equipment" +msgstr "Dodaj novu opremu" + #: exercises/views/equipment.py:104 exercises/views/equipment.py:115 msgid "Delete equipment?" msgstr "Izbrisati opremu?" @@ -1609,6 +1566,10 @@ msgstr "Izbrisati opremu?" msgid "This will delete the exercise from all workouts." msgstr "Ovo že izbrisati vježbu iz svih treninga." +#: exercises/views/muscles.py:68 +msgid "Add muscle" +msgstr "Dodaj mičić" + #: gallery/templates/images/overview.html:62 msgid "Add image" msgstr "Dodaj sliku" @@ -1696,7 +1657,7 @@ msgid "Contract is active" msgstr "Ugovor je aktivan" #: gym/models/contract.py:237 gym/templates/contract/view.html:69 -#: manager/models/schedule.py:61 manager/templates/schedule/view.html:67 +#: manager/models/schedule.py:61 manager/templates/schedule/view.html:21 msgid "Start date" msgstr "Datum početka" @@ -1732,7 +1693,7 @@ msgstr "Administrator: može upravljati korisnicima za teretanu" msgid "Admin: can administrate the different gyms" msgstr "Administrator: može administrirati razne teretane" -#: gym/models/gym.py:65 gym/templates/gym/member_list.html:114 +#: gym/models/gym.py:65 gym/templates/gym/member_list.html:126 msgid "Owner" msgstr "Vlasnik" @@ -1742,7 +1703,7 @@ msgid "" "considered inactive" msgstr "Broj tjedana od zadnje korisničke prijave da bi se smatrao neaktivnim" -#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:152 +#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:166 msgid "Show name in header" msgstr "Prikaži ime u zaglavlju" @@ -1755,7 +1716,7 @@ msgstr "Prikaži ime teretane u zaglavlju web stranice" msgid "Configuration for {self.gym.name}" msgstr "Konfiguracija za {self.gym.name}" -#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:184 +#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:200 msgid "Overview of inactive members" msgstr "Pregled neaktivnih članova" @@ -1779,7 +1740,7 @@ msgstr "Koristit će se ime datoteke ako ništa nije navedeno" msgid "User notes" msgstr "Korisničke bilješke" -#: gym/templates/contract/list.html:36 +#: gym/templates/contract/list.html:34 msgid "Show" msgstr "Prikaži" @@ -1805,11 +1766,11 @@ msgstr "Sljedeći korisnici nisu posjetili teretanu u zadnjih %(weeks)s tjedna" msgid "Gym list" msgstr "Popis teretana" -#: gym/templates/gym/list.html:50 +#: gym/templates/gym/list.html:53 msgid "Global gym configuration" msgstr "Globalna konfiguracija teretane" -#: gym/templates/gym/list.html:67 gym/views/gym.py:171 +#: gym/templates/gym/list.html:69 gym/views/gym.py:171 msgid "Add new gym" msgstr "Dodaj novu teretanu" @@ -1821,43 +1782,43 @@ msgstr "Administratori i treneri" msgid "Gym manager" msgstr "Menadžer teretane" -#: gym/templates/gym/member_list.html:69 +#: gym/templates/gym/member_list.html:76 msgid "This gym has no administrators or trainers" msgstr "Ova teretana nema administratora ili trenera" -#: gym/templates/gym/member_list.html:88 +#: gym/templates/gym/member_list.html:98 msgid "Export" msgstr "Izvoz" -#: gym/templates/gym/member_list.html:125 +#: gym/templates/gym/member_list.html:137 msgid "Members" msgstr "Članovi" -#: gym/templates/gym/member_list.html:145 +#: gym/templates/gym/member_list.html:159 msgid "Gym configuration" msgstr "Konfiguracija teretane" -#: gym/templates/gym/member_list.html:148 +#: gym/templates/gym/member_list.html:162 msgid "Inactive members" msgstr "Neaktivni članovi" -#: gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:163 msgid "weeks" msgstr "tjedni" -#: gym/templates/gym/member_list.html:181 +#: gym/templates/gym/member_list.html:197 msgid "My configuration" msgstr "Moja konfiguracija" -#: gym/templates/gym/member_list.html:215 +#: gym/templates/gym/member_list.html:234 msgid "Types" msgstr "Vrste" -#: gym/templates/gym/member_list.html:285 +#: gym/templates/gym/member_list.html:307 msgid "Emails" msgstr "E-mail adrese" -#: gym/templates/gym/member_list.html:315 +#: gym/templates/gym/member_list.html:336 msgid "Add member" msgstr "Dodaj člana" @@ -2152,28 +2113,38 @@ msgstr "Također traži imena na engleskom jeziku" msgid "Unit" msgstr "Jedinica" +#: manager/forms.py:191 manager/models/log.py:103 manager/models/setting.py:102 +#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 +msgid "RiR" +msgstr "PUR" + #: manager/forms.py:279 msgid "Type" msgstr "Vrsta" -#: manager/forms.py:280 manager/templates/workout/view.html:113 +#: manager/forms.py:280 manager/templates/workout/view.html:122 msgid "Table" msgstr "Tablica" -#: manager/forms.py:282 manager/templates/workout/view.html:119 +#: manager/forms.py:282 manager/templates/workout/view.html:129 msgid "with images" msgstr "sa slikama" -#: manager/forms.py:283 manager/templates/workout/view.html:125 +#: manager/forms.py:283 manager/templates/workout/view.html:136 msgid "with comments" msgstr "s komentarima" +#: manager/helpers.py:86 manager/models/setting.py:72 +#: manager/templates/set/formset.html:9 +msgid "Reps" +msgstr "Ponavljanja" + #: manager/management/commands/email-reminders.py:121 msgid "Workout will expire soon" msgstr "Trening će uskoro isteći" #: manager/models/day.py:34 manager/models/log.py:58 -#: manager/models/session.py:60 manager/templates/schedule/view.html:102 +#: manager/models/session.py:60 manager/templates/schedule/view.html:56 #: manager/templates/workout/view.html:9 manager/templates/workout/view.html:17 #: manager/views/pdf.py:85 manager/views/pdf.py:161 #: manager/views/schedule.py:151 manager/views/schedule.py:221 @@ -2196,7 +2167,7 @@ msgstr "Dan" msgid "Name or short description of the schedule. For example 'Program XYZ'." msgstr "Ime ili kratak opis rasporeda. Na primjer „Program XYZ”." -#: manager/models/schedule.py:65 manager/templates/schedule/view.html:71 +#: manager/models/schedule.py:65 manager/templates/schedule/view.html:25 msgid "Schedule active" msgstr "Raspored je aktivan" @@ -2210,7 +2181,7 @@ msgstr "" "se npr. na tvojoj kontrolnoj ploči). Svi ostali rasporedi će se tada " "označiti kao neaktivni" -#: manager/models/schedule.py:77 manager/templates/schedule/view.html:81 +#: manager/models/schedule.py:77 manager/templates/schedule/view.html:35 msgid "Is a loop" msgstr "Petlja" @@ -2231,7 +2202,7 @@ msgid "The duration in weeks" msgstr "Trajanje u tjednima" #: manager/models/schedule_step.py:64 manager/models/set.py:53 -#: manager/models/setting.py:113 nutrition/models/meal.py:55 +#: manager/models/setting.py:113 nutrition/models/meal.py:53 #: nutrition/models/meal_item.py:66 msgid "Order" msgstr "Redoslijed" @@ -2370,7 +2341,7 @@ msgstr "Pregled zapisa" msgid "Workout session" msgstr "Sesija treninga" -#: manager/templates/calendar/partial_overview_table.html:27 +#: manager/templates/calendar/partial_overview_table.html:26 msgid "Delete with logs" msgstr "Izbriži sa zapisima" @@ -2393,21 +2364,27 @@ msgstr "" "ako za odabrani datum još ne postoji. Ako postoji, jednostavno\n" "će se urediti. Unosi težine se uvijek dodaju." -#: manager/templates/schedule/overview.html:5 +#: manager/templates/schedule/overview.html:4 msgid "Your schedules" msgstr "Tvoji rasporedi" #: manager/templates/schedule/overview.html:19 -#: manager/templates/schedule/view.html:131 -#: manager/templates/schedule/view.html:183 +#: manager/templates/schedule/view.html:96 +#: manager/templates/schedule/view.html:146 #: manager/templates/workout/overview.html:16 msgid "active" msgstr "aktivni" -#: manager/templates/schedule/overview.html:28 +#: manager/templates/schedule/overview.html:27 msgid "No schedules found." msgstr "Nijedan raspored nije pronađen." +#: manager/templates/schedule/overview.html:28 +#, fuzzy +#| msgid "Add one now." +msgid "Add one now" +msgstr "Dodaj jedan sada." + #: manager/templates/schedule/overview.html:36 msgid "" "Schedules are collections of workouts that you do in\n" @@ -2417,19 +2394,27 @@ msgstr "" " u nizu." #: manager/templates/schedule/overview.html:39 +#, fuzzy +#| msgid "" +#| "You can indicate how long you want to do each workout\n" +#| " before jumping to the next. It is also possible to create a loop, " +#| "so you\n" +#| " always do the same workouts in succession, e.g. A > B > C > A > B " +#| "> C and so on." msgid "" "You can indicate how long you want to do each workout\n" " before jumping to the next. It is also possible to create a loop, so " "you\n" " always do the same workouts in succession, e.g. A > B > C > A > B > " -"C and so on." +"C and so\n" +" on." msgstr "" "Možeš označiti vrijeme za svaki trening prije nego što\n" " prijeđeš na sljedeći. Također je moguće napraviti petlju, tako da\n" " uvijek obavljaš iste treninge u nizu, npr. A > B > C > A > B > C i " "tako dalje." -#: manager/templates/schedule/overview.html:43 +#: manager/templates/schedule/overview.html:44 msgid "" "The currently active schedule will remain active (and be\n" " shown e.g. in your dashboard) till it reaches the last workout or " @@ -2448,7 +2433,7 @@ msgstr "Dodaj raspored" msgid "Schedule" msgstr "Raspored" -#: manager/templates/schedule/view.html:85 +#: manager/templates/schedule/view.html:39 msgid "" "This schedule is a loop and will go through the workouts above till you " "deactivate it" @@ -2456,19 +2441,15 @@ msgstr "" "Ovaj raspored je petlja i prolazit će kroz gore navedene treninge sve dok ga " "ne deaktiviraš" -#: manager/templates/schedule/view.html:103 +#: manager/templates/schedule/view.html:57 msgid "Weeks" msgstr "Tjedni" -#: manager/templates/schedule/view.html:115 -msgid "Move me" -msgstr "Pomakni me" - -#: manager/templates/schedule/view.html:156 +#: manager/templates/schedule/view.html:121 msgid "Start schedule" msgstr "Pokreni raspored" -#: manager/templates/schedule/view.html:187 +#: manager/templates/schedule/view.html:150 #, python-format msgid "" "%(weeks)s Week\n" @@ -2486,11 +2467,11 @@ msgstr[2] "" "%(weeks)s tjedana\n" " " -#: manager/templates/schedule/view.html:221 +#: manager/templates/schedule/view.html:184 msgid "Adding workouts" msgstr "Dodavanje treninga" -#: manager/templates/schedule/view.html:223 +#: manager/templates/schedule/view.html:186 msgid "" "Add as many workouts to the schedule as you want. You can\n" " edit the order by dragging and dropping them. It's also possible " @@ -2502,27 +2483,35 @@ msgstr "" "dodati i\n" " više puta." -#: manager/templates/schedule/view.html:232 -#: manager/templates/schedule/view.html:243 -#: manager/templates/schedule/view.html:290 +#: manager/templates/schedule/view.html:195 +#: manager/templates/schedule/view.html:209 +#: manager/templates/schedule/view.html:263 #: manager/templates/workout/view.html:69 -#: manager/templates/workout/view.html:79 -#: manager/templates/workout/view.html:178 +#: manager/templates/workout/view.html:83 +#: manager/templates/workout/view.html:192 msgid "Export calendar file" msgstr "Izvezi datoteku kalendara" -#: manager/templates/schedule/view.html:236 +#: manager/templates/schedule/view.html:201 msgid "Export this schedule as a calendar file." msgstr "Izvezi ovaj raspored kao datoteku kalendara." -#: manager/templates/schedule/view.html:237 -#: manager/templates/workout/view.html:74 +#: manager/templates/schedule/view.html:202 +#: manager/templates/workout/view.html:76 +#, fuzzy +#| msgid "" +#| "You can then import the file it into your calendar\n" +#| " application for example google calendar, outlook " +#| "or iCal. This will create\n" +#| " an appointment for each training day with the " +#| "appropriate exercises." msgid "" "You can then import the file it into your calendar\n" " application for example google calendar, outlook or " "iCal. This will create\n" " an appointment for each training day with the " -"appropriate exercises." +"appropriate\n" +" exercises." msgstr "" "Zatim možeš uvesti datoteku u svoju aplikaciju\n" " kalendara, na primjer google kalendar, outlook ili " @@ -2530,21 +2519,13 @@ msgstr "" " termin za svaki dan treninga s odgovarajućim " "vježbama." -#: manager/templates/schedule/view.html:258 -#: manager/templates/schedule/view.html:294 -#: manager/templates/workout/view.html:94 -#: manager/templates/workout/view.html:174 +#: manager/templates/schedule/view.html:225 +#: manager/templates/schedule/view.html:268 +#: manager/templates/workout/view.html:99 +#: manager/templates/workout/view.html:188 msgid "Download as PDF" msgstr "Preuzmi kao PDF" -#: manager/templates/schedule/view.html:299 -msgid "Edit schedule" -msgstr "Uredi raspored" - -#: manager/templates/schedule/view.html:304 -msgid "Delete schedule" -msgstr "Izbriši raspored" - #: manager/templates/set/add.html:9 #, python-format msgid "Add exercises to day \"%(day_name)s\"" @@ -2620,56 +2601,6 @@ msgid "" "You will regularly receive such reminders till you enter your current weight." msgstr "Takve podsjetnike ćeš primati sve dok ne uneseš svoju aktualnu težinu." -#: manager/templates/workout/log.html:10 manager/templates/workout/log.html:11 -msgid "Weight log" -msgstr "Zapis težine" - -#: manager/templates/workout/log.html:29 -msgid "Weight log for workout" -msgstr "Zapis težine za trening" - -#: manager/templates/workout/log.html:49 -msgid "Add weight log to this day" -msgstr "Dodaj zapis težine za ovaj dan" - -#: manager/templates/workout/log.html:69 -msgid "No weight entries here." -msgstr "Nema unose težine." - -#: manager/templates/workout/log.html:77 -msgid "No exercises for this day." -msgstr "Nema vježbi za ovaj dan." - -#: manager/templates/workout/log.html:90 -msgid "" -"This page shows the weight logs belonging to this workout\n" -"only. Click on an exercise to see all the historical data for\n" -"it." -msgstr "" -"Ova stranica prikazuje zapise težine koji pripadaju samo\n" -"ovoj vježbi. Pritisni na vježbu za prikaz povijesnih\n" -"podataka vježbe." - -#: manager/templates/workout/log.html:94 -msgid "" -"If on a single day there is more than one entry with the\n" -"same number of repetitions, but different weights, only the entry with the\n" -"higher weight is shown in the diagram." -msgstr "" -"Ako u jednom danu postoji više od jednog unosa s istim\n" -"brojem ponavljanja, ali različitim težinama, u dijagramu se prikazuje samo\n" -"unos s većom težinom." - -#: manager/templates/workout/log.html:98 -msgid "" -"Note that only entries with a weight unit (kg or lb) and\n" -"repetitions are charted, other combinations such as time or until failure\n" -"are ignored here." -msgstr "" -"Napomena: prikazuju se samo unosi s jedinicom težine (kg ili lb) i\n" -"ponavljanja, druge kombinacije kao što su vrijeme ili do neuspjeha se\n" -"ovdje zanemaruju." - #: manager/templates/workout/overview.html:25 msgid "No templates found." msgstr "Nije pronađen nijedan predložak." @@ -2705,27 +2636,23 @@ msgstr "Dodaj setove treninga danima" msgid "Set the repetitions for each set" msgstr "Postavi broj ponavljanja za svaki set" -#: manager/templates/workout/view.html:73 +#: manager/templates/workout/view.html:75 msgid "Export this workout as a calendar file." msgstr "Izvezi ovaj traning kao datoteku kalendara." -#: manager/templates/workout/view.html:144 +#: manager/templates/workout/view.html:156 msgid "Logs" msgstr "Zapisi" -#: manager/templates/workout/view.html:146 +#: manager/templates/workout/view.html:159 msgid "View logs" msgstr "Pogledaj zapise" -#: manager/templates/workout/view.html:169 manager/views/schedule_step.py:99 -msgid "Edit workout" -msgstr "Uredi trening" - -#: manager/templates/workout/view.html:182 manager/views/workout.py:281 +#: manager/templates/workout/view.html:195 manager/views/workout.py:281 msgid "Mark as template" msgstr "Označi kao predložak" -#: manager/views/day.py:109 +#: manager/views/day.py:105 msgid "Add workout day" msgstr "Dodaj dan treninga" @@ -2742,6 +2669,10 @@ msgstr "Trening za %s" msgid "Create schedule" msgstr "Stvori raspored" +#: manager/views/schedule_step.py:99 +msgid "Edit workout" +msgstr "Uredi trening" + #: manager/views/workout.py:209 msgid "Copy workout" msgstr "Kopiraj trening" @@ -2865,7 +2796,7 @@ msgstr "Količina u gramima" msgid "Unit amount, e.g. \"1 Cup\" or \"1/2 spoon\"" msgstr "Jedinica količine, npr. „1 šalica” ili „1/2 žlice”" -#: nutrition/models/log.py:52 nutrition/models/meal.py:50 +#: nutrition/models/log.py:52 nutrition/models/meal.py:48 #: nutrition/models/meal_item.py:48 nutrition/models/plan.py:108 msgid "Nutrition plan" msgstr "Plan prehrane" @@ -2878,11 +2809,11 @@ msgstr "Obrok" msgid "Date and Time (Approx.)" msgstr "Datum i vrijeme (otprilike)" -#: nutrition/models/meal.py:62 +#: nutrition/models/meal.py:60 msgid "Time (approx)" msgstr "Vrijeme (otprilike)" -#: nutrition/models/meal.py:69 +#: nutrition/models/meal.py:67 msgid "" "Give meals a textual description / name such as \"Breakfast\" or \"after " "workout\"" @@ -2908,61 +2839,6 @@ msgstr "" "Označi polje ako želiš označiti da ovaj plan ima ciljanu količinu kalorija. " "Možeš koristiti kalkulator ili ručno upisati vrijednost." -#: nutrition/templates/bmi/form.html:62 -msgid "Results" -msgstr "Rezultati" - -#: nutrition/templates/bmi/form.html:63 -msgid "Your BMI is: " -msgstr "Tvoj indeks tjelesne mase (BMI) iznosi: " - -#: nutrition/templates/bmi/form.html:71 -msgid "Legend" -msgstr "Legenda" - -#: nutrition/templates/bmi/form.html:75 -msgid "Adipositas III" -msgstr "Adipoza III" - -#: nutrition/templates/bmi/form.html:79 -msgid "Adipositas II" -msgstr "Adipoza II" - -#: nutrition/templates/bmi/form.html:83 -msgid "Adipositas I" -msgstr "Adipoza I" - -#: nutrition/templates/bmi/form.html:87 -msgid "Overweight" -msgstr "Gojaznost" - -#: nutrition/templates/bmi/form.html:91 -msgid "Normal weight" -msgstr "Normalna težina" - -#: nutrition/templates/bmi/form.html:95 -msgid "Slight underweight" -msgstr "Malo pothranjen" - -#: nutrition/templates/bmi/form.html:99 -msgid "Moderate underweight" -msgstr "Srednje pothranjen" - -#: nutrition/templates/bmi/form.html:103 -msgid "Strong underweight" -msgstr "Jako pothranjen" - -#: nutrition/templates/bmi/form.html:117 -msgid "" -"Use the form to calculate your BMI (Body Mass Index).\n" -"If you have entered data in the weight section, the last entry will\n" -"be used automatically. Otherwise the weight you enter here will be saved\n" -"in a new entry." -msgstr "" -"Pomoću obrasca izračunaj svoj indeks tjelesne mase (BMI).\n" -"Zadnji upisani podaci u odjeljku težine će se automatski koristiti.\n" -"Inače će se ovdje upisana težina spremiti u novi unos." - #: nutrition/templates/ingredient/email_new.tpl:1 #, python-format msgid "" @@ -3018,10 +2894,6 @@ msgstr "Nema satojaka." msgid "Search" msgstr "Traži" -#: nutrition/templates/ingredient/overview.html:62 -msgid "Add ingredient" -msgstr "Dodaj sastojak" - #: nutrition/templates/ingredient/view.html:45 nutrition/views/plan.py:229 msgid "Macronutrients" msgstr "Makronutrijenti" @@ -3041,20 +2913,11 @@ msgstr "--" msgid "Others" msgstr "Drugi" -#: nutrition/templates/ingredient/view.html:144 -#: nutrition/templates/units/list.html:46 nutrition/views/unit.py:86 +#: nutrition/templates/ingredient/view.html:143 +#: nutrition/templates/units/list.html:50 nutrition/views/unit.py:86 msgid "Add new weight unit" msgstr "Dodaj novu jedinicu težine" -#: nutrition/templates/ingredient/view.html:206 -#: nutrition/templates/ingredient/view.html:209 -msgid "Edit ingredient" -msgstr "Uredi sastojak" - -#: nutrition/templates/ingredient/view.html:213 -msgid "Delete ingredient" -msgstr "Izbriši sastojak" - #: nutrition/templates/rate/form.html:25 msgid "Basal metabolic rate" msgstr "Osnovna potreba metabolizma" @@ -3139,18 +3002,6 @@ msgstr "" "temeljiš na ovim vrijednostima, prati razvoj par tjedana i\n" "po potrebi promijeni ukupnu količinu." -#: nutrition/views/bmi.py:89 -msgid "Please make sure your height is within the appropriate range." -msgstr "Provjeri je li je tvoja visina unutar odgovarajućeg raspona." - -#: nutrition/views/bmi.py:92 -msgid "140 to 230" -msgstr "140 do 230" - -#: nutrition/views/bmi.py:94 -msgid "56 to 90" -msgstr "56 do 90" - #: nutrition/views/ingredient.py:157 msgid "Add a new ingredient" msgstr "Dodaj novi sastojak" @@ -3265,7 +3116,7 @@ msgstr "" msgid "Our goal" msgstr "Naš cilj" -#: software/templates/about_us.html:62 +#: software/templates/about_us.html:71 msgid "" "The goal is to build an awesome\n" " and flexible fitness manager, along with a comprehensive and " @@ -3686,6 +3537,141 @@ msgstr "Uspješno izbrisano." msgid "Delete weight entry for the %s" msgstr "Izbriši unos težine za %s" +#~ msgid "Move me" +#~ msgstr "Pomakni me" + +#~ msgid "Results" +#~ msgstr "Rezultati" + +#~ msgid "Your BMI is: " +#~ msgstr "Tvoj indeks tjelesne mase (BMI) iznosi: " + +#~ msgid "Legend" +#~ msgstr "Legenda" + +#~ msgid "Adipositas III" +#~ msgstr "Adipoza III" + +#~ msgid "Adipositas II" +#~ msgstr "Adipoza II" + +#~ msgid "Adipositas I" +#~ msgstr "Adipoza I" + +#~ msgid "Overweight" +#~ msgstr "Gojaznost" + +#~ msgid "Normal weight" +#~ msgstr "Normalna težina" + +#~ msgid "Slight underweight" +#~ msgstr "Malo pothranjen" + +#~ msgid "Moderate underweight" +#~ msgstr "Srednje pothranjen" + +#~ msgid "Strong underweight" +#~ msgstr "Jako pothranjen" + +#~ msgid "" +#~ "Use the form to calculate your BMI (Body Mass Index).\n" +#~ "If you have entered data in the weight section, the last entry will\n" +#~ "be used automatically. Otherwise the weight you enter here will be saved\n" +#~ "in a new entry." +#~ msgstr "" +#~ "Pomoću obrasca izračunaj svoj indeks tjelesne mase (BMI).\n" +#~ "Zadnji upisani podaci u odjeljku težine će se automatski koristiti.\n" +#~ "Inače će se ovdje upisana težina spremiti u novi unos." + +#~ msgid "Please make sure your height is within the appropriate range." +#~ msgstr "Provjeri je li je tvoja visina unutar odgovarajućeg raspona." + +#~ msgid "140 to 230" +#~ msgstr "140 do 230" + +#~ msgid "56 to 90" +#~ msgstr "56 do 90" + +#~ msgid "" +#~ "If a license has been localized, e.g. the Creative Commons\n" +#~ " licenses for the different countries, add them as separate " +#~ "entries here." +#~ msgstr "" +#~ "Ako je licenca lokalizirana, npr. Creative Commons\n" +#~ " licence za različite zemlje, dodaj ih kao zasebne unose ovdje." + +#~ msgid "Add weight log" +#~ msgstr "Dodaj zapis težine" + +#~ msgid "This exercise has no repetitions." +#~ msgstr "Ova vježba nema ponavljanja." + +#~ msgid "Edit them now." +#~ msgstr "Uredi ih sada." + +#~ msgid "Add exercises to this workout day" +#~ msgstr "Dodaj vježbe za ovaj dan treninga" + +#~ msgid "Edit schedule" +#~ msgstr "Uredi raspored" + +#~ msgid "Delete schedule" +#~ msgstr "Izbriši raspored" + +#~ msgid "Weight log" +#~ msgstr "Zapis težine" + +#~ msgid "Weight log for workout" +#~ msgstr "Zapis težine za trening" + +#~ msgid "Add weight log to this day" +#~ msgstr "Dodaj zapis težine za ovaj dan" + +#~ msgid "No weight entries here." +#~ msgstr "Nema unose težine." + +#~ msgid "No exercises for this day." +#~ msgstr "Nema vježbi za ovaj dan." + +#~ msgid "" +#~ "This page shows the weight logs belonging to this workout\n" +#~ "only. Click on an exercise to see all the historical data for\n" +#~ "it." +#~ msgstr "" +#~ "Ova stranica prikazuje zapise težine koji pripadaju samo\n" +#~ "ovoj vježbi. Pritisni na vježbu za prikaz povijesnih\n" +#~ "podataka vježbe." + +#~ msgid "" +#~ "If on a single day there is more than one entry with the\n" +#~ "same number of repetitions, but different weights, only the entry with " +#~ "the\n" +#~ "higher weight is shown in the diagram." +#~ msgstr "" +#~ "Ako u jednom danu postoji više od jednog unosa s istim\n" +#~ "brojem ponavljanja, ali različitim težinama, u dijagramu se prikazuje " +#~ "samo\n" +#~ "unos s većom težinom." + +#~ msgid "" +#~ "Note that only entries with a weight unit (kg or lb) and\n" +#~ "repetitions are charted, other combinations such as time or until " +#~ "failure\n" +#~ "are ignored here." +#~ msgstr "" +#~ "Napomena: prikazuju se samo unosi s jedinicom težine (kg ili lb) i\n" +#~ "ponavljanja, druge kombinacije kao što su vrijeme ili do neuspjeha se\n" +#~ "ovdje zanemaruju." + +#~ msgid "Add ingredient" +#~ msgstr "Dodaj sastojak" + +#~ msgid "Edit ingredient" +#~ msgstr "Uredi sastojak" + +#~ msgid "Delete ingredient" +#~ msgstr "Izbriši sastojak" + #~ msgid "Ingredients pending review" #~ msgstr "Još nepregledani sastojci" diff --git a/wger/locale/hu/LC_MESSAGES/django.po b/wger/locale/hu/LC_MESSAGES/django.po index 248356b18..6c833e7b0 100644 --- a/wger/locale/hu/LC_MESSAGES/django.po +++ b/wger/locale/hu/LC_MESSAGES/django.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: wger Workout Manager\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-14 15:59+0200\n" +"POT-Creation-Date: 2024-11-14 19:23+0100\n" "PO-Revision-Date: 2023-12-29 22:12+0000\n" "Last-Translator: Adam Cool \n" "Language-Team: Hungarian \n" @@ -20,7 +20,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.4-dev\n" -#: config/models/gym_config.py:46 gym/templates/gym/list.html:53 +#: config/models/gym_config.py:46 gym/templates/gym/list.html:56 msgid "Default gym" msgstr "Alapértelmezett edzőterem" @@ -33,28 +33,28 @@ msgstr "" "hozzárendeli az összes újonnan regisztrált felhasználót ehhez az " "edzőteremhez, és frissíti az összes meglévő edzőterem nélküli felhasználót." -#: config/views/gym_config.py:42 core/templates/language/view.html:67 -#: core/templates/license/list.html:17 core/templates/misc/license/list.html:18 +#: config/views/gym_config.py:42 core/templates/language/view.html:64 +#: core/templates/license/list.html:17 #: core/templates/repetition_unit/list.html:18 -#: core/templates/tags/render_day.html:39 -#: core/templates/tags/render_day.html:75 core/templates/user/overview.html:204 -#: core/templates/user/overview.html:445 +#: core/templates/user/overview.html:204 core/templates/user/overview.html:467 #: core/templates/weight_unit/list.html:18 #: exercises/templates/categories/admin-overview.html:17 #: exercises/templates/equipment/admin-overview.html:17 -#: exercises/templates/muscles/admin-overview.html:17 -#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:32 -#: gym/templates/contract/list.html:31 gym/templates/contract/view.html:107 -#: gym/templates/contract_option/list.html:32 -#: gym/templates/contract_type/list.html:32 gym/templates/document/list.html:38 -#: gym/templates/gym/list.html:20 gym/templates/gym/list.html:46 -#: gym/templates/gym/member_list.html:87 gym/templates/gym/member_list.html:140 -#: gym/templates/gym/member_list.html:176 -#: manager/templates/calendar/day.html:68 -#: manager/templates/calendar/month.html:85 -#: manager/templates/calendar/partial_overview_table.html:18 -#: manager/templates/schedule/view.html:118 -#: nutrition/templates/ingredient/view.html:165 +#: exercises/templates/muscles/admin-overview.html:16 +#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:31 +#: gym/templates/contract/list.html:30 gym/templates/contract/view.html:106 +#: gym/templates/contract_option/list.html:29 +#: gym/templates/contract_type/list.html:30 gym/templates/document/list.html:38 +#: gym/templates/gym/list.html:19 gym/templates/gym/list.html:48 +#: gym/templates/gym/member_list.html:94 gym/templates/gym/member_list.html:152 +#: gym/templates/gym/member_list.html:190 +#: manager/templates/calendar/day.html:67 +#: manager/templates/calendar/month.html:84 +#: manager/templates/calendar/partial_overview_table.html:16 +#: manager/templates/schedule/view.html:271 +#: manager/templates/workout/view.html:181 +#: nutrition/templates/ingredient/view.html:164 +#: nutrition/templates/ingredient/view.html:209 #: nutrition/templates/units/list.html:19 msgid "Edit" msgstr "Módosítás" @@ -90,25 +90,25 @@ msgstr "Az én király edzés ütemtervem" msgid "Empty placeholder schedule" msgstr "Üres helyfoglaló ütemterv" -#: core/forms.py:69 core/templates/navigation.html:285 -#: core/templates/navigation.html:291 core/templates/user/login.html:4 +#: core/forms.py:69 core/templates/navigation.html:284 +#: core/templates/navigation.html:290 core/templates/user/login.html:4 #: software/templates/features.html:82 software/templates/features.html:427 msgid "Login" msgstr "Bejelentkezés" -#: core/forms.py:108 core/forms.py:214 gym/views/export.py:61 +#: core/forms.py:108 core/forms.py:216 gym/views/export.py:61 #: gym/views/gym.py:217 msgid "First name" msgstr "Keresztnév" -#: core/forms.py:109 core/forms.py:215 core/templates/user/overview.html:266 +#: core/forms.py:109 core/forms.py:217 core/templates/user/overview.html:284 #: gym/views/export.py:62 gym/views/gym.py:217 msgid "Last name" msgstr "Vezetéknév" -#: core/forms.py:111 core/forms.py:180 core/templates/user/overview.html:270 +#: core/forms.py:111 core/forms.py:182 core/templates/user/overview.html:288 #: gym/models/contract.py:256 gym/models/gym.py:58 -#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:104 +#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:116 #: gym/templates/gym/new_user.html:30 gym/views/export.py:60 #: mailer/templates/mailer/gym/form.html:4 #: mailer/templates/mailer/gym/overview.html:4 @@ -126,95 +126,94 @@ msgstr "" msgid "Date of Birth" msgstr "Születés Időpontja" -#: core/forms.py:148 +#: core/forms.py:149 msgid "Personal data" msgstr "Személyes adat" -#: core/forms.py:159 +#: core/forms.py:161 msgid "Workout reminders" msgstr "Edzés emlékeztetők" -#: core/forms.py:166 +#: core/forms.py:168 msgid "Other settings" msgstr "Egyéb beállítások" -#: core/forms.py:174 core/views/user.py:624 core/views/user.py:639 -#: core/views/user.py:651 gym/forms.py:73 manager/templates/log/add.html:65 +#: core/forms.py:176 core/views/user.py:623 core/views/user.py:638 +#: core/views/user.py:650 gym/forms.py:73 manager/templates/log/add.html:65 #: manager/templates/set/add.html:70 manager/views/workout.py:203 #: utils/generic_views.py:143 msgid "Save" msgstr "Mentés" -#: core/forms.py:181 +#: core/forms.py:183 msgid "Used for password resets and, optionally, email reminders." msgstr "" "Jelszó visszaállításokhoz és opcionálisan, e-mail emlékeztetőkhöz használják." -#: core/forms.py:210 +#: core/forms.py:212 msgid "This e-mail address is already in use." msgstr "Ez az e-mail cím már használatban van." -#: core/forms.py:231 gym/templates/gym/new_user.html:26 +#: core/forms.py:233 gym/templates/gym/new_user.html:26 #: gym/templates/gym/reset_user_password.html:24 gym/views/gym.py:217 msgid "Password" msgstr "Jelszó" -#: core/forms.py:233 +#: core/forms.py:235 msgid "Please enter your current password." msgstr "Kérlek írd be a jelenlegi jelszavad." -#: core/forms.py:242 core/templates/language/view.html:73 -#: core/templates/license/list.html:19 core/templates/misc/license/list.html:22 -#: core/templates/repetition_unit/list.html:20 -#: core/templates/tags/render_day.html:45 -#: core/templates/tags/render_day.html:81 core/templates/user/overview.html:217 -#: core/templates/weight_unit/list.html:20 -#: exercises/templates/categories/admin-overview.html:19 -#: exercises/templates/equipment/admin-overview.html:19 -#: exercises/templates/muscles/admin-overview.html:19 -#: gym/templates/admin_notes/list.html:40 -#: gym/templates/contract_option/list.html:41 -#: gym/templates/contract_type/list.html:41 gym/templates/document/list.html:46 -#: gym/templates/gym/list.html:22 manager/templates/calendar/day.html:73 -#: manager/templates/calendar/month.html:89 -#: manager/templates/calendar/partial_overview_table.html:23 -#: manager/templates/schedule/view.html:122 -#: manager/templates/workout/view.html:188 -#: nutrition/templates/ingredient/view.html:166 +#: core/forms.py:244 core/templates/language/view.html:70 +#: core/templates/license/list.html:21 +#: core/templates/repetition_unit/list.html:22 +#: core/templates/user/overview.html:233 +#: core/templates/weight_unit/list.html:22 +#: exercises/templates/categories/admin-overview.html:21 +#: exercises/templates/equipment/admin-overview.html:21 +#: exercises/templates/muscles/admin-overview.html:20 +#: gym/templates/admin_notes/list.html:37 +#: gym/templates/contract_option/list.html:35 +#: gym/templates/contract_type/list.html:36 gym/templates/document/list.html:46 +#: gym/templates/gym/list.html:23 manager/templates/calendar/day.html:73 +#: manager/templates/calendar/month.html:88 +#: manager/templates/calendar/partial_overview_table.html:22 +#: manager/templates/schedule/view.html:277 +#: manager/templates/workout/view.html:202 +#: nutrition/templates/ingredient/view.html:168 #: nutrition/templates/ingredient/view.html:215 -#: nutrition/templates/units/list.html:22 +#: nutrition/templates/units/list.html:25 msgid "Delete" msgstr "Törlés" -#: core/forms.py:251 +#: core/forms.py:253 msgid "Invalid password" msgstr "Érvénytelen jelszó" -#: core/forms.py:263 core/forms.py:338 +#: core/forms.py:265 core/forms.py:340 msgid "The form is secured with reCAPTCHA" msgstr "Ez az űrlap reCAPTCHA-val van biztosítva" -#: core/forms.py:279 core/forms.py:301 core/templates/navigation.html:285 -#: core/templates/navigation.html:297 core/templates/template.html:149 -#: core/templates/user/login.html:20 core/views/user.py:298 +#: core/forms.py:281 core/forms.py:303 core/templates/navigation.html:284 +#: core/templates/navigation.html:296 core/templates/template.html:150 +#: core/templates/user/login.html:20 core/views/user.py:297 #: software/templates/features.html:87 software/templates/features.html:422 msgid "Register" msgstr "Regisztráció" -#: core/forms.py:315 software/templates/features.html:45 +#: core/forms.py:317 software/templates/features.html:45 msgid "Contact" msgstr "Kapcsolat" -#: core/forms.py:316 +#: core/forms.py:318 msgid "Some way of answering you (e-mail, etc.)" msgstr "Néhány elérhetőség, hogy válaszolni tudjunk: (e-mail, stb.)" -#: core/forms.py:324 exercises/models/comment.py:58 manager/models/set.py:61 +#: core/forms.py:326 exercises/models/comment.py:58 manager/models/set.py:61 #: manager/models/setting.py:114 nutrition/models/log.py:77 msgid "Comment" msgstr "Hozzászólás" -#: core/forms.py:325 +#: core/forms.py:327 msgid "What do you want to say?" msgstr "Mit szeretnél mondani?" @@ -436,18 +435,18 @@ msgid "The sum of all hours has to be 24" msgstr "Az órák összegének meg kell egyeznie 24-el" #: core/models/rep_unit.py:36 core/models/weight_unit.py:36 -#: core/templates/user/overview.html:262 core/views/user.py:599 +#: core/templates/user/overview.html:280 core/views/user.py:598 #: exercises/models/category.py:29 exercises/models/equipment.py:29 #: exercises/models/exercise.py:59 exercises/models/muscle.py:36 #: gym/models/contract.py:52 gym/models/contract.py:103 gym/models/gym.py:46 #: gym/models/user_document.py:84 gym/templates/contract/view.html:50 -#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:96 +#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:108 #: gym/views/gym.py:158 manager/models/schedule.py:55 #: manager/models/workout.py:57 measurements/models/category.py:36 #: nutrition/models/ingredient.py:111 -#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:67 +#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:65 #: nutrition/models/weight_unit.py:38 -#: nutrition/templates/ingredient/view.html:152 +#: nutrition/templates/ingredient/view.html:151 msgid "Name" msgstr "Név" @@ -492,7 +491,7 @@ msgstr "" msgid "Back to \"%(target)s\"" msgstr "Vissza \"%(target)s\"" -#: core/templates/delete.html:15 +#: core/templates/delete.html:4 msgid "Are you sure you want to delete this? This action cannot be undone." msgstr "Biztosan törölni akarod? Ez a művelet nem visszavonható." @@ -548,7 +547,7 @@ msgstr "" msgid "Dashboard" msgstr "Irányítópult" -#: core/templates/language/overview.html:4 core/templates/navigation.html:345 +#: core/templates/language/overview.html:4 core/templates/navigation.html:344 msgid "Languages" msgstr "Nyelvek" @@ -558,79 +557,72 @@ msgstr "Nincs találat." #: core/templates/language/overview.html:22 #: manager/templates/calendar/month.html:132 -#: manager/templates/schedule/overview.html:28 -#: manager/templates/schedule/view.html:144 +#: manager/templates/schedule/view.html:107 #: manager/templates/workout/overview.html:28 #: nutrition/templates/ingredient/overview.html:38 msgid "Add one now." msgstr "Adj hozzá egyet most." -#: core/templates/language/overview.html:35 core/templates/license/list.html:40 -#: core/templates/misc/license/list.html:43 -#: core/templates/repetition_unit/list.html:43 -#: core/templates/user/overview.html:326 core/templates/user/overview.html:365 -#: core/templates/user/overview.html:401 -#: core/templates/weight_unit/list.html:43 core/views/languages.py:74 +#: core/templates/language/overview.html:34 core/templates/license/list.html:43 +#: core/templates/repetition_unit/list.html:46 +#: core/templates/user/overview.html:344 core/templates/user/overview.html:384 +#: core/templates/user/overview.html:422 +#: core/templates/weight_unit/list.html:46 core/views/languages.py:74 #: core/views/license.py:66 core/views/repetition_units.py:66 #: core/views/weight_units.py:66 -#: exercises/templates/categories/admin-overview.html:38 -#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:67 -#: gym/templates/contract/list.html:73 -#: gym/templates/contract_option/list.html:72 -#: gym/templates/contract_type/list.html:72 gym/templates/document/list.html:79 -#: gym/templates/gym/member_list.html:211 -#: gym/templates/gym/member_list.html:244 -#: gym/templates/gym/member_list.html:281 +#: exercises/templates/categories/admin-overview.html:40 +#: exercises/templates/equipment/admin-overview.html:39 +#: exercises/templates/muscles/admin-overview.html:40 +#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:64 +#: gym/templates/contract/list.html:69 +#: gym/templates/contract_option/list.html:65 +#: gym/templates/contract_type/list.html:66 gym/templates/document/list.html:78 +#: gym/templates/gym/member_list.html:228 +#: gym/templates/gym/member_list.html:264 +#: gym/templates/gym/member_list.html:303 #: mailer/templates/mailer/gym/overview.html:43 +#: nutrition/templates/ingredient/overview.html:60 msgid "Add" msgstr "Hozzáadás" #: core/templates/language/view.html:61 core/templates/user/api_key.html:44 -#: core/templates/user/preferences.html:45 gym/models/contract.py:203 -#: gym/templates/contract/view.html:41 gym/templates/contract/view.html:106 -#: gym/templates/gym/member_list.html:248 -#: manager/templates/schedule/view.html:285 -#: manager/templates/workout/view.html:163 -#: nutrition/templates/ingredient/view.html:202 +#: core/templates/user/preferences.html:50 gym/models/contract.py:203 +#: gym/templates/contract/view.html:41 gym/templates/gym/member_list.html:270 +#: manager/templates/schedule/view.html:257 +#: manager/templates/workout/view.html:177 +#: nutrition/templates/ingredient/view.html:206 msgid "Options" msgstr "Beállítások" -#: core/templates/license/list.html:4 core/templates/misc/license/list.html:4 +#: core/templates/license/list.html:4 msgid "License list" msgstr "Licenc lista" -#: core/templates/license/list.html:26 core/templates/misc/license/list.html:30 -#: core/templates/repetition_unit/list.html:28 +#: core/templates/license/list.html:30 +#: core/templates/repetition_unit/list.html:32 #: core/templates/user/overview.html:104 core/templates/user/overview.html:136 -#: core/templates/user/overview.html:185 core/templates/user/overview.html:347 -#: core/templates/user/overview.html:383 core/templates/user/overview.html:427 -#: core/templates/weight_unit/list.html:28 -#: exercises/templates/categories/admin-overview.html:26 -#: exercises/templates/equipment/admin-overview.html:26 -#: exercises/templates/muscles/admin-overview.html:26 -#: gym/templates/admin_notes/list.html:52 gym/templates/contract/list.html:60 -#: gym/templates/contract_option/list.html:58 -#: gym/templates/contract_type/list.html:58 gym/templates/document/list.html:64 -#: gym/templates/gym/list.html:29 gym/templates/gym/member_list.html:229 -#: gym/templates/gym/member_list.html:262 -#: gym/templates/gym/member_list.html:299 +#: core/templates/user/overview.html:185 core/templates/user/overview.html:365 +#: core/templates/user/overview.html:404 core/templates/user/overview.html:448 +#: core/templates/weight_unit/list.html:32 +#: exercises/templates/categories/admin-overview.html:30 +#: exercises/templates/equipment/admin-overview.html:30 +#: exercises/templates/muscles/admin-overview.html:29 +#: gym/templates/admin_notes/list.html:50 gym/templates/contract/list.html:57 +#: gym/templates/contract_option/list.html:52 +#: gym/templates/contract_type/list.html:53 gym/templates/document/list.html:64 +#: gym/templates/gym/list.html:32 gym/templates/gym/member_list.html:248 +#: gym/templates/gym/member_list.html:284 +#: gym/templates/gym/member_list.html:321 #: mailer/templates/mailer/gym/overview.html:30 -#: manager/templates/calendar/day.html:87 -#: nutrition/templates/units/list.html:29 +#: manager/templates/calendar/day.html:88 +#: nutrition/templates/units/list.html:34 msgid "Nothing found" msgstr "Nincs találat" -#: core/templates/misc/about.html:4 core/templates/template.html:175 +#: core/templates/misc/about.html:4 core/templates/template.html:187 msgid "Imprint" msgstr "" -#: core/templates/misc/license/list.html:47 -msgid "" -"If a license has been localized, e.g. the Creative Commons\n" -" licenses for the different countries, add them as separate " -"entries here." -msgstr "" - #: core/templates/navigation.html:28 software/templates/features.html:437 msgid "Training" msgstr "" @@ -679,8 +671,8 @@ msgstr "" msgid "Exercises" msgstr "Gyakorlatok" -#: core/templates/navigation.html:111 core/templates/navigation.html:184 -#: core/templates/navigation.html:340 +#: core/templates/navigation.html:111 core/templates/navigation.html:185 +#: core/templates/navigation.html:339 msgid "Administration" msgstr "Adminisztráció" @@ -711,7 +703,7 @@ msgstr "Táplálkozás" msgid "Nutrition plans" msgstr "Táplálkozási tervek" -#: core/templates/navigation.html:165 nutrition/templates/bmi/form.html:50 +#: core/templates/navigation.html:165 msgid "BMI calculator" msgstr "BMI kalkulátor" @@ -719,87 +711,87 @@ msgstr "BMI kalkulátor" msgid "Daily calories calculator" msgstr "Napi kalória kalkulátor" -#: core/templates/navigation.html:179 +#: core/templates/navigation.html:180 #: nutrition/templates/ingredient/overview.html:10 msgid "Ingredient overview" msgstr "Összetevő áttekintés" -#: core/templates/navigation.html:187 nutrition/templates/units/list.html:6 +#: core/templates/navigation.html:189 nutrition/templates/units/list.html:6 msgid "Ingredient weight units" msgstr "Összetevő súly egységek" -#: core/templates/navigation.html:203 software/templates/features.html:442 +#: core/templates/navigation.html:205 software/templates/features.html:442 msgid "Body weight" msgstr "" -#: core/templates/navigation.html:210 core/templates/user/overview.html:114 +#: core/templates/navigation.html:212 core/templates/user/overview.html:114 msgid "Weight overview" msgstr "Súly áttekintés" -#: core/templates/navigation.html:217 weight/views.py:65 +#: core/templates/navigation.html:216 weight/views.py:65 msgid "Add weight entry" msgstr "Új súly bejegyzés hozzáadása" -#: core/templates/navigation.html:231 +#: core/templates/navigation.html:230 msgid "About this software" msgstr "Erről a szoftverről" -#: core/templates/navigation.html:237 software/templates/about_us.html:5 +#: core/templates/navigation.html:236 software/templates/about_us.html:5 msgid "About us" msgstr "Rólunk" -#: core/templates/navigation.html:243 software/templates/features.html:507 +#: core/templates/navigation.html:242 software/templates/features.html:507 msgid "REST API" msgstr "REST API" -#: core/templates/navigation.html:249 utils/models.py:45 +#: core/templates/navigation.html:248 utils/models.py:45 msgid "License" msgstr "Licenc" -#: core/templates/navigation.html:255 +#: core/templates/navigation.html:254 msgid "Developer documentation" msgstr "" -#: core/templates/navigation.html:262 +#: core/templates/navigation.html:261 msgid "Get the code" msgstr "Szerezd meg a kódot" -#: core/templates/navigation.html:269 core/templates/template.html:214 +#: core/templates/navigation.html:268 core/templates/template.html:226 #: software/templates/features.html:582 msgid "Translate" msgstr "Lefordítás" -#: core/templates/navigation.html:303 core/templates/user/login.html:28 +#: core/templates/navigation.html:302 core/templates/user/login.html:28 msgid "Reset password" msgstr "Új jelszó igénylése" -#: core/templates/navigation.html:321 +#: core/templates/navigation.html:320 msgid "My preferences" msgstr "Beállításaim" -#: core/templates/navigation.html:330 +#: core/templates/navigation.html:329 msgid "Logout" msgstr "Kijelentkezés" -#: core/templates/navigation.html:353 +#: core/templates/navigation.html:352 msgid "Licenses" msgstr "Licencek" -#: core/templates/navigation.html:361 +#: core/templates/navigation.html:360 #: core/templates/repetition_unit/list.html:4 msgid "Repetition units" msgstr "" -#: core/templates/navigation.html:369 core/templates/weight_unit/list.html:4 +#: core/templates/navigation.html:368 core/templates/weight_unit/list.html:4 #: nutrition/templates/ingredient/view.html:141 msgid "Weight units" msgstr "" -#: core/templates/navigation.html:377 core/templates/user/list.html:4 +#: core/templates/navigation.html:376 core/templates/user/list.html:4 msgid "User list" msgstr "" -#: core/templates/navigation.html:383 +#: core/templates/navigation.html:382 msgid "Gyms" msgstr "Edzőtermek" @@ -858,57 +850,32 @@ msgstr "előző" msgid "next" msgstr "következő" -#: core/templates/tags/render_day.html:34 -msgid "Add weight log" -msgstr "" - -#: core/templates/tags/render_day.html:116 -msgid "Placeholder image for exercise" +#: core/templates/tags/render_day.html:44 +#, fuzzy +#| msgid "Placeholder image for exercise" +msgid "Placeholder image for translation" msgstr "Helyfoglaló kép a gyakorlathoz" -#: core/templates/tags/render_day.html:133 -msgid "This exercise has no repetitions." -msgstr "A gyakorlatnak nincsenek ismétlései." - -#: core/templates/tags/render_day.html:136 -msgid "Edit them now." -msgstr "" - -#: core/templates/tags/render_day.html:162 -msgid "Add exercises to this workout day" -msgstr "Gyakorlat hozzáadása ehhez az edzés naphoz" - -#: core/templates/tags/render_weight_log.html:17 manager/helpers.py:86 -#: manager/models/setting.py:72 manager/templates/set/formset.html:9 -msgid "Reps" -msgstr "Ismétlés" - -#: core/templates/tags/render_weight_log.html:30 manager/forms.py:191 -#: manager/models/log.py:103 manager/models/setting.py:102 -#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 -msgid "RiR" -msgstr "" - -#: core/templates/template.html:122 manager/templates/calendar/month.html:138 -#: manager/templates/schedule/view.html:248 -#: manager/templates/schedule/view.html:269 -#: manager/templates/workout/view.html:84 -#: manager/templates/workout/view.html:137 +#: core/templates/template.html:123 manager/templates/calendar/month.html:138 +#: manager/templates/schedule/view.html:215 +#: manager/templates/schedule/view.html:240 +#: manager/templates/workout/view.html:89 +#: manager/templates/workout/view.html:149 msgid "Close" msgstr "Bezárás" -#: core/templates/template.html:138 +#: core/templates/template.html:139 msgid "" "You are using a guest account, data entered will be deleted after a week." msgstr "" "Vendég hozzáférést használsz. A használat során bevitt adatok egy hét után " "törlésre kerülnek." -#: core/templates/template.html:143 +#: core/templates/template.html:144 msgid "Create some demo entries" msgstr "Készíts egy pár demó bejegyzést" -#: core/templates/template.html:180 software/templates/features.html:547 +#: core/templates/template.html:192 software/templates/features.html:547 #: software/templates/tos.html:7 msgid "Terms of service" msgstr "" @@ -917,7 +884,7 @@ msgstr "" msgid "Features" msgstr "Funkciók" -#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:54 +#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:59 msgid "API key" msgstr "API kulcs" @@ -956,17 +923,17 @@ msgstr "Új API kulcs generálása" msgid "Documentation" msgstr "Dokumentáció" -#: core/templates/user/delete_account.html:4 -#: core/templates/user/preferences.html:59 +#: core/templates/user/delete_account.html:3 +#: core/templates/user/preferences.html:62 msgid "Delete account" msgstr "Fiók törlése" -#: core/templates/user/delete_account.html:17 +#: core/templates/user/delete_account.html:9 #: exercises/templates/history/overview.html:93 msgid "Are you sure?" msgstr "Biztos vagy benne?" -#: core/templates/user/delete_account.html:22 +#: core/templates/user/delete_account.html:14 #, python-format msgid "" "This action will delete the user account \"%(username)s\".\n" @@ -985,22 +952,22 @@ msgstr "Elfelejtett jelszó?" #: core/templates/user/overview.html:25 core/templates/user/overview.html:68 #: core/templates/user/overview.html:112 core/templates/user/overview.html:144 -#: core/templates/user/overview.html:330 core/templates/user/overview.html:369 -#: core/templates/user/overview.html:405 +#: core/templates/user/overview.html:348 core/templates/user/overview.html:390 +#: core/templates/user/overview.html:426 #, python-format msgid "last %(number)s" msgstr "utolsó %(number)s" #: core/templates/user/overview.html:27 core/templates/user/overview.html:146 -#: core/templates/user/overview.html:325 core/templates/user/overview.html:364 -#: core/templates/user/overview.html:400 gym/templates/gym/member_list.html:210 -#: gym/templates/gym/member_list.html:243 -#: gym/templates/gym/member_list.html:280 +#: core/templates/user/overview.html:343 core/templates/user/overview.html:382 +#: core/templates/user/overview.html:421 gym/templates/gym/member_list.html:226 +#: gym/templates/gym/member_list.html:262 +#: gym/templates/gym/member_list.html:302 msgid "Overview" msgstr "Áttekintés" #: core/templates/user/overview.html:28 -#: manager/templates/schedule/view.html:163 +#: manager/templates/schedule/view.html:125 #: manager/templates/workout/overview.html:39 manager/views/schedule_step.py:60 msgid "Add workout" msgstr "Edzés hozzáadása" @@ -1032,38 +999,36 @@ msgstr "Leírás" msgid "Number of logs (days)" msgstr "Bejegyzések száma (napok)" -#: core/templates/user/overview.html:37 core/views/user.py:600 +#: core/templates/user/overview.html:37 core/views/user.py:599 #: gym/templates/gym/email_inactive_members.html:4 gym/views/gym.py:158 msgid "Last activity" msgstr "Utolsó tevékenység" #: core/templates/user/overview.html:58 #: manager/templates/calendar/month.html:128 -#: manager/templates/schedule/view.html:144 #: manager/templates/workout/overview.html:28 msgid "No workouts found." msgstr "Nem található edzés." #: core/templates/user/overview.html:68 manager/forms.py:280 -#: manager/templates/workout/view.html:106 +#: manager/templates/workout/view.html:114 msgid "Log" msgstr "Bejegyzések" #: core/templates/user/overview.html:77 manager/models/session.py:83 -#: manager/templates/calendar/partial_overview_table.html:52 +#: manager/templates/calendar/partial_overview_table.html:54 msgid "General impression" msgstr "Általános benyomás" -#: core/templates/user/overview.html:78 core/templates/user/overview.html:369 +#: core/templates/user/overview.html:78 core/templates/user/overview.html:390 #: manager/models/session.py:73 -#: manager/templates/calendar/partial_overview_table.html:56 -#: manager/templates/workout/log.html:89 +#: manager/templates/calendar/partial_overview_table.html:58 msgid "Notes" msgstr "Megjegyzések" #: core/templates/user/overview.html:79 #: exercises/templates/history/overview.html:30 -#: manager/templates/calendar/partial_overview_table.html:42 +#: manager/templates/calendar/partial_overview_table.html:44 msgid "Time" msgstr "Idő" @@ -1101,121 +1066,121 @@ msgstr "Zsír" msgid "kcal" msgstr "kcal" -#: core/templates/user/overview.html:201 core/templates/user/overview.html:322 -#: core/templates/user/overview.html:361 core/templates/user/overview.html:397 -#: core/templates/user/overview.html:442 gym/templates/gym/list.html:42 -#: gym/templates/gym/member_list.html:84 gym/templates/gym/member_list.html:137 -#: gym/templates/gym/member_list.html:173 -#: gym/templates/gym/member_list.html:207 -#: gym/templates/gym/member_list.html:240 -#: gym/templates/gym/member_list.html:277 -#: manager/templates/schedule/view.html:100 +#: core/templates/user/overview.html:201 core/templates/user/overview.html:340 +#: core/templates/user/overview.html:379 core/templates/user/overview.html:418 +#: core/templates/user/overview.html:463 gym/templates/gym/list.html:45 +#: gym/templates/gym/member_list.html:91 gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:187 +#: gym/templates/gym/member_list.html:223 +#: gym/templates/gym/member_list.html:259 +#: gym/templates/gym/member_list.html:299 +#: manager/templates/schedule/view.html:54 msgid "Actions" msgstr "Műveletek" -#: core/templates/user/overview.html:207 +#: core/templates/user/overview.html:210 msgid "Deactivate user" msgstr "Felhasználó deaktiviálása" -#: core/templates/user/overview.html:209 +#: core/templates/user/overview.html:214 msgid "Activate user" msgstr "Felhasználó aktiválása" -#: core/templates/user/overview.html:211 +#: core/templates/user/overview.html:223 msgid "Reset user password" msgstr "" -#: core/templates/user/overview.html:214 gym/templates/gym/member_list.html:30 +#: core/templates/user/overview.html:227 gym/templates/gym/member_list.html:30 msgid "Roles" msgstr "Szerepek" -#: core/templates/user/overview.html:225 +#: core/templates/user/overview.html:243 msgid "Password reset confirmation" msgstr "Jelszó igénylés megerősítése" -#: core/templates/user/overview.html:229 +#: core/templates/user/overview.html:247 msgid "Do you really want to change this user's password?" msgstr "" -#: core/templates/user/overview.html:232 +#: core/templates/user/overview.html:250 #: exercises/templates/history/overview.html:106 msgid "No" msgstr "" -#: core/templates/user/overview.html:233 +#: core/templates/user/overview.html:251 #: exercises/templates/history/overview.html:99 msgid "Yes" msgstr "" -#: core/templates/user/overview.html:254 gym/templates/gym/member_list.html:93 +#: core/templates/user/overview.html:272 gym/templates/gym/member_list.html:105 msgid "Details" msgstr "Részletek" -#: core/templates/user/overview.html:258 gym/views/export.py:57 -#: manager/helpers.py:86 manager/templates/schedule/view.html:98 +#: core/templates/user/overview.html:276 gym/views/export.py:57 +#: manager/helpers.py:86 manager/templates/schedule/view.html:52 msgid "Nr." msgstr "sz." -#: core/templates/user/overview.html:280 gym/models/contract.py:287 +#: core/templates/user/overview.html:298 gym/models/contract.py:287 #: gym/models/gym.py:50 gym/templates/contract/view.html:75 -#: gym/templates/gym/member_list.html:100 gym/views/export.py:68 +#: gym/templates/gym/member_list.html:112 gym/views/export.py:68 msgid "Phone" msgstr "Telefon" -#: core/templates/user/overview.html:284 gym/templates/contract/view.html:87 -#: gym/templates/gym/member_list.html:118 +#: core/templates/user/overview.html:302 gym/templates/contract/view.html:87 +#: gym/templates/gym/member_list.html:130 msgid "Address" msgstr "Cím" -#: core/templates/user/overview.html:295 +#: core/templates/user/overview.html:313 msgid "Registered" msgstr "Regisztrálva" -#: core/templates/user/overview.html:299 +#: core/templates/user/overview.html:317 msgid "Last login" msgstr "Utolsó bejelentkezés" -#: core/templates/user/overview.html:304 +#: core/templates/user/overview.html:322 msgid "Status" msgstr "Státusz" -#: core/templates/user/overview.html:307 +#: core/templates/user/overview.html:325 msgid "Active" msgstr "Aktív" -#: core/templates/user/overview.html:309 +#: core/templates/user/overview.html:327 msgid "Inactive" msgstr "Inaktív" -#: core/templates/user/overview.html:330 gym/templates/contract/list.html:4 -#: gym/templates/gym/member_list.html:202 +#: core/templates/user/overview.html:348 gym/templates/contract/list.html:4 +#: gym/templates/gym/member_list.html:218 msgid "Contracts" msgstr "" -#: core/templates/user/overview.html:405 gym/templates/document/list.html:4 +#: core/templates/user/overview.html:426 gym/templates/document/list.html:4 msgid "Documents" msgstr "Dokumentumok" -#: core/templates/user/overview.html:412 gym/templates/document/list.html:32 -#: manager/forms.py:292 manager/templates/workout/view.html:132 +#: core/templates/user/overview.html:433 gym/templates/document/list.html:33 +#: manager/forms.py:292 manager/templates/workout/view.html:143 msgid "Download" msgstr "Letöltés" -#: core/templates/user/overview.html:450 gym/views/admin_config.py:44 +#: core/templates/user/overview.html:474 gym/views/admin_config.py:44 #: gym/views/admin_config.py:58 gym/views/user_config.py:46 msgid "Configuration" msgstr "Beállítás" -#: core/templates/user/overview.html:453 gym/models/user_config.py:92 +#: core/templates/user/overview.html:477 gym/models/user_config.py:92 msgid "Include in inactive overview" msgstr "" -#: core/templates/user/overview.html:486 +#: core/templates/user/overview.html:510 #, python-format msgid "Admin login is only available for users in %(gym_name)s" msgstr "" -#: core/templates/user/overview.html:490 +#: core/templates/user/overview.html:514 msgid "Log in as this user" msgstr "Bejelentkezés mint ez a felhasználó" @@ -1235,19 +1200,19 @@ msgstr "" msgid "Send verification email" msgstr "" -#: core/templates/user/preferences.html:30 +#: core/templates/user/preferences.html:31 msgid "You need to verify your email to contribute exercises" msgstr "" -#: core/templates/user/preferences.html:50 core/views/user.py:611 +#: core/templates/user/preferences.html:55 core/views/user.py:610 msgid "Change password" msgstr "Jelszó megváltoztatása" -#: core/templatetags/wger_extras.py:205 i18n.tpl:37 +#: core/templatetags/wger_extras.py:197 i18n.tpl:37 msgid "kg" msgstr "kg" -#: core/templatetags/wger_extras.py:207 +#: core/templatetags/wger_extras.py:199 #: nutrition/templates/ingredient/view.html:60 #: nutrition/templates/ingredient/view.html:66 #: nutrition/templates/ingredient/view.html:73 @@ -1259,11 +1224,11 @@ msgctxt "weight unit, i.e. grams" msgid "g" msgstr "g" -#: core/templatetags/wger_extras.py:210 i18n.tpl:38 +#: core/templatetags/wger_extras.py:202 i18n.tpl:38 msgid "lb" msgstr "" -#: core/templatetags/wger_extras.py:212 +#: core/templatetags/wger_extras.py:204 msgctxt "weight unit, i.e. ounces" msgid "oz" msgstr "" @@ -1290,13 +1255,13 @@ msgid "Delete {0}?" msgstr "Töröljem {0}?" #: core/views/languages.py:111 core/views/license.py:85 -#: core/views/repetition_units.py:86 core/views/user.py:474 +#: core/views/repetition_units.py:86 core/views/user.py:473 #: core/views/weight_units.py:86 exercises/views/categories.py:98 #: exercises/views/equipment.py:81 exercises/views/muscles.py:87 #: gym/views/admin_notes.py:161 gym/views/config.py:68 #: gym/views/contract.py:186 gym/views/contract_option.py:123 #: gym/views/contract_type.py:123 gym/views/document.py:171 -#: gym/views/gym.py:463 manager/views/day.py:100 manager/views/schedule.py:333 +#: gym/views/gym.py:463 manager/views/day.py:96 manager/views/schedule.py:333 #: manager/views/workout.py:267 nutrition/views/ingredient.py:145 #: nutrition/views/unit.py:143 #, python-brace-format @@ -1322,48 +1287,48 @@ msgstr "" msgid "Your feedback was successfully sent. Thank you!" msgstr "A visszajelzésed sikeresen elküldtük. Köszönjük!" -#: core/views/user.py:156 +#: core/views/user.py:155 #, python-brace-format msgid "Account \"{0}\" was successfully deleted" msgstr "A \"{0}\" fiók sikeresen törölve" -#: core/views/user.py:292 +#: core/views/user.py:291 msgid "You were successfully registered" msgstr "Sikeresen regisztráltál" -#: core/views/user.py:351 +#: core/views/user.py:350 msgid "Settings successfully updated" msgstr "Beállítások sikeresen frissítve" -#: core/views/user.py:390 +#: core/views/user.py:389 msgid "The user was successfully deactivated" msgstr "A felhasználó sikeresen deaktiválva" -#: core/views/user.py:427 +#: core/views/user.py:426 msgid "The user was successfully activated" msgstr "A felhasználó sikeresen aktiválva" -#: core/views/user.py:442 +#: core/views/user.py:441 msgid "Edit user" msgstr "Felhasználó módosítása" -#: core/views/user.py:597 gym/templates/gym/member_list.html:26 +#: core/views/user.py:596 gym/templates/gym/member_list.html:26 #: gym/views/gym.py:158 msgid "ID" msgstr "ID" -#: core/views/user.py:598 gym/forms.py:95 gym/templates/contract/view.html:55 +#: core/views/user.py:597 gym/forms.py:95 gym/templates/contract/view.html:55 #: gym/templates/gym/member_list.html:27 gym/views/export.py:59 #: gym/views/gym.py:158 gym/views/gym.py:217 msgid "Username" msgstr "Felhasználónév" -#: core/views/user.py:601 gym/templates/gym/new_user.html:34 +#: core/views/user.py:600 gym/templates/gym/new_user.html:34 #: gym/views/export.py:58 gym/views/gym.py:217 msgid "Gym" msgstr "Edzőterem" -#: core/views/user.py:660 +#: core/views/user.py:659 #, python-format msgid "A verification email was sent to %(email)s" msgstr "" @@ -1519,11 +1484,6 @@ msgstr "" msgid "Equipment list" msgstr "Felszerelés lista" -#: exercises/templates/equipment/admin-overview.html:39 -#: exercises/views/equipment.py:92 -msgid "Add new equipment" -msgstr "Új felszerelés hozzáadása" - #: exercises/templates/history/overview.html:11 #, fuzzy #| msgid "Exercise Categories" @@ -1577,11 +1537,6 @@ msgstr "" msgid "Muscle overview" msgstr "Izom áttekintés" -#: exercises/templates/muscles/admin-overview.html:38 -#: exercises/views/muscles.py:68 -msgid "Add muscle" -msgstr "Izom hozzáadása" - #: exercises/views/categories.py:72 msgid "Add category" msgstr "Kategória hozzáadása" @@ -1590,6 +1545,10 @@ msgstr "Kategória hozzáadása" msgid "This will also delete all exercises in this category." msgstr "Ez a művelet az összes a kategóriában lévő gyakorlatot törölni fogja." +#: exercises/views/equipment.py:92 +msgid "Add new equipment" +msgstr "Új felszerelés hozzáadása" + #: exercises/views/equipment.py:104 exercises/views/equipment.py:115 msgid "Delete equipment?" msgstr "Felszerelés törlése?" @@ -1598,6 +1557,10 @@ msgstr "Felszerelés törlése?" msgid "This will delete the exercise from all workouts." msgstr "Ez a művelet törölni fogja az edzésben lévő összes gyakorlatot." +#: exercises/views/muscles.py:68 +msgid "Add muscle" +msgstr "Izom hozzáadása" + #: gallery/templates/images/overview.html:62 #, fuzzy #| msgid "Add new image" @@ -1687,7 +1650,7 @@ msgid "Contract is active" msgstr "" #: gym/models/contract.py:237 gym/templates/contract/view.html:69 -#: manager/models/schedule.py:61 manager/templates/schedule/view.html:67 +#: manager/models/schedule.py:61 manager/templates/schedule/view.html:21 msgid "Start date" msgstr "Kezdés dátuma" @@ -1723,7 +1686,7 @@ msgstr "" msgid "Admin: can administrate the different gyms" msgstr "" -#: gym/models/gym.py:65 gym/templates/gym/member_list.html:114 +#: gym/models/gym.py:65 gym/templates/gym/member_list.html:126 msgid "Owner" msgstr "Tulajdonos" @@ -1733,7 +1696,7 @@ msgid "" "considered inactive" msgstr "" -#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:152 +#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:166 msgid "Show name in header" msgstr "" @@ -1747,7 +1710,7 @@ msgstr "" msgid "Configuration for {self.gym.name}" msgstr "{} beállításai" -#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:184 +#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:200 msgid "Overview of inactive members" msgstr "" @@ -1771,7 +1734,7 @@ msgstr "" msgid "User notes" msgstr "Felhasználói megjegyzések" -#: gym/templates/contract/list.html:36 +#: gym/templates/contract/list.html:34 msgid "Show" msgstr "Megmutat" @@ -1797,11 +1760,11 @@ msgstr "" msgid "Gym list" msgstr "Edzőterem lista" -#: gym/templates/gym/list.html:50 +#: gym/templates/gym/list.html:53 msgid "Global gym configuration" msgstr "Globális edzőterem beállítás" -#: gym/templates/gym/list.html:67 gym/views/gym.py:171 +#: gym/templates/gym/list.html:69 gym/views/gym.py:171 msgid "Add new gym" msgstr "Új edzőterem hozzáadása" @@ -1813,43 +1776,43 @@ msgstr "Adminisztrátorok és edzők" msgid "Gym manager" msgstr "Edzőterem menedzser" -#: gym/templates/gym/member_list.html:69 +#: gym/templates/gym/member_list.html:76 msgid "This gym has no administrators or trainers" msgstr "" -#: gym/templates/gym/member_list.html:88 +#: gym/templates/gym/member_list.html:98 msgid "Export" msgstr "" -#: gym/templates/gym/member_list.html:125 +#: gym/templates/gym/member_list.html:137 msgid "Members" msgstr "Tagok" -#: gym/templates/gym/member_list.html:145 +#: gym/templates/gym/member_list.html:159 msgid "Gym configuration" msgstr "Edzőterem beállítás" -#: gym/templates/gym/member_list.html:148 +#: gym/templates/gym/member_list.html:162 msgid "Inactive members" msgstr "Inaktív tagok" -#: gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:163 msgid "weeks" msgstr "hetek" -#: gym/templates/gym/member_list.html:181 +#: gym/templates/gym/member_list.html:197 msgid "My configuration" msgstr "Saját beállítás" -#: gym/templates/gym/member_list.html:215 +#: gym/templates/gym/member_list.html:234 msgid "Types" msgstr "" -#: gym/templates/gym/member_list.html:285 +#: gym/templates/gym/member_list.html:307 msgid "Emails" msgstr "" -#: gym/templates/gym/member_list.html:315 +#: gym/templates/gym/member_list.html:336 msgid "Add member" msgstr "Tag hozzáadása" @@ -2142,28 +2105,38 @@ msgstr "Használjon hozzávalókat Angolul is" msgid "Unit" msgstr "" +#: manager/forms.py:191 manager/models/log.py:103 manager/models/setting.py:102 +#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 +msgid "RiR" +msgstr "" + #: manager/forms.py:279 msgid "Type" msgstr "" -#: manager/forms.py:280 manager/templates/workout/view.html:113 +#: manager/forms.py:280 manager/templates/workout/view.html:122 msgid "Table" msgstr "" -#: manager/forms.py:282 manager/templates/workout/view.html:119 +#: manager/forms.py:282 manager/templates/workout/view.html:129 msgid "with images" msgstr "" -#: manager/forms.py:283 manager/templates/workout/view.html:125 +#: manager/forms.py:283 manager/templates/workout/view.html:136 msgid "with comments" msgstr "" +#: manager/helpers.py:86 manager/models/setting.py:72 +#: manager/templates/set/formset.html:9 +msgid "Reps" +msgstr "Ismétlés" + #: manager/management/commands/email-reminders.py:121 msgid "Workout will expire soon" msgstr "" #: manager/models/day.py:34 manager/models/log.py:58 -#: manager/models/session.py:60 manager/templates/schedule/view.html:102 +#: manager/models/session.py:60 manager/templates/schedule/view.html:56 #: manager/templates/workout/view.html:9 manager/templates/workout/view.html:17 #: manager/views/pdf.py:85 manager/views/pdf.py:161 #: manager/views/schedule.py:151 manager/views/schedule.py:221 @@ -2184,7 +2157,7 @@ msgstr "Nap" msgid "Name or short description of the schedule. For example 'Program XYZ'." msgstr "" -#: manager/models/schedule.py:65 manager/templates/schedule/view.html:71 +#: manager/models/schedule.py:65 manager/templates/schedule/view.html:25 msgid "Schedule active" msgstr "" @@ -2195,7 +2168,7 @@ msgid "" "inactive" msgstr "" -#: manager/models/schedule.py:77 manager/templates/schedule/view.html:81 +#: manager/models/schedule.py:77 manager/templates/schedule/view.html:35 msgid "Is a loop" msgstr "" @@ -2214,7 +2187,7 @@ msgid "The duration in weeks" msgstr "Az időtartam hetekben" #: manager/models/schedule_step.py:64 manager/models/set.py:53 -#: manager/models/setting.py:113 nutrition/models/meal.py:55 +#: manager/models/setting.py:113 nutrition/models/meal.py:53 #: nutrition/models/meal_item.py:66 msgid "Order" msgstr "Sorrend" @@ -2348,7 +2321,7 @@ msgstr "" msgid "Workout session" msgstr "" -#: manager/templates/calendar/partial_overview_table.html:27 +#: manager/templates/calendar/partial_overview_table.html:26 msgid "Delete with logs" msgstr "" @@ -2368,21 +2341,27 @@ msgid "" "will simply be edited. Weight entries are always added." msgstr "" -#: manager/templates/schedule/overview.html:5 +#: manager/templates/schedule/overview.html:4 msgid "Your schedules" msgstr "Ütemterveid" #: manager/templates/schedule/overview.html:19 -#: manager/templates/schedule/view.html:131 -#: manager/templates/schedule/view.html:183 +#: manager/templates/schedule/view.html:96 +#: manager/templates/schedule/view.html:146 #: manager/templates/workout/overview.html:16 msgid "active" msgstr "aktív" -#: manager/templates/schedule/overview.html:28 +#: manager/templates/schedule/overview.html:27 msgid "No schedules found." msgstr "Nem található ütemterv." +#: manager/templates/schedule/overview.html:28 +#, fuzzy +#| msgid "Add one now." +msgid "Add one now" +msgstr "Adj hozzá egyet most." + #: manager/templates/schedule/overview.html:36 msgid "" "Schedules are collections of workouts that you do in\n" @@ -2395,10 +2374,11 @@ msgid "" " before jumping to the next. It is also possible to create a loop, so " "you\n" " always do the same workouts in succession, e.g. A > B > C > A > B > " -"C and so on." +"C and so\n" +" on." msgstr "" -#: manager/templates/schedule/overview.html:43 +#: manager/templates/schedule/overview.html:44 msgid "" "The currently active schedule will remain active (and be\n" " shown e.g. in your dashboard) till it reaches the last workout or " @@ -2414,25 +2394,21 @@ msgstr "Ütemterv hozzáadása" msgid "Schedule" msgstr "ütemterv" -#: manager/templates/schedule/view.html:85 +#: manager/templates/schedule/view.html:39 msgid "" "This schedule is a loop and will go through the workouts above till you " "deactivate it" msgstr "" -#: manager/templates/schedule/view.html:103 +#: manager/templates/schedule/view.html:57 msgid "Weeks" msgstr "Hetek" -#: manager/templates/schedule/view.html:115 -msgid "Move me" -msgstr "" - -#: manager/templates/schedule/view.html:156 +#: manager/templates/schedule/view.html:121 msgid "Start schedule" msgstr "Ütemterv indítása" -#: manager/templates/schedule/view.html:187 +#: manager/templates/schedule/view.html:150 #, python-format msgid "" "%(weeks)s Week\n" @@ -2443,11 +2419,11 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: manager/templates/schedule/view.html:221 +#: manager/templates/schedule/view.html:184 msgid "Adding workouts" msgstr "Edzések hozzáadása" -#: manager/templates/schedule/view.html:223 +#: manager/templates/schedule/view.html:186 msgid "" "Add as many workouts to the schedule as you want. You can\n" " edit the order by dragging and dropping them. It's also possible " @@ -2455,44 +2431,37 @@ msgid "" " than once." msgstr "" -#: manager/templates/schedule/view.html:232 -#: manager/templates/schedule/view.html:243 -#: manager/templates/schedule/view.html:290 +#: manager/templates/schedule/view.html:195 +#: manager/templates/schedule/view.html:209 +#: manager/templates/schedule/view.html:263 #: manager/templates/workout/view.html:69 -#: manager/templates/workout/view.html:79 -#: manager/templates/workout/view.html:178 +#: manager/templates/workout/view.html:83 +#: manager/templates/workout/view.html:192 msgid "Export calendar file" msgstr "Calendar fájl exportálása" -#: manager/templates/schedule/view.html:236 +#: manager/templates/schedule/view.html:201 msgid "Export this schedule as a calendar file." msgstr "Az ütemterv exportálása calendar fájlként." -#: manager/templates/schedule/view.html:237 -#: manager/templates/workout/view.html:74 +#: manager/templates/schedule/view.html:202 +#: manager/templates/workout/view.html:76 msgid "" "You can then import the file it into your calendar\n" " application for example google calendar, outlook or " "iCal. This will create\n" " an appointment for each training day with the " -"appropriate exercises." +"appropriate\n" +" exercises." msgstr "" -#: manager/templates/schedule/view.html:258 -#: manager/templates/schedule/view.html:294 -#: manager/templates/workout/view.html:94 -#: manager/templates/workout/view.html:174 +#: manager/templates/schedule/view.html:225 +#: manager/templates/schedule/view.html:268 +#: manager/templates/workout/view.html:99 +#: manager/templates/workout/view.html:188 msgid "Download as PDF" msgstr "PDF letöltése" -#: manager/templates/schedule/view.html:299 -msgid "Edit schedule" -msgstr "Ütemterv szerkesztése" - -#: manager/templates/schedule/view.html:304 -msgid "Delete schedule" -msgstr "Ütemterv törlése" - #: manager/templates/set/add.html:9 #, python-format msgid "Add exercises to day \"%(day_name)s\"" @@ -2557,47 +2526,6 @@ msgid "" "You will regularly receive such reminders till you enter your current weight." msgstr "" -#: manager/templates/workout/log.html:10 manager/templates/workout/log.html:11 -msgid "Weight log" -msgstr "Testsúly napló" - -#: manager/templates/workout/log.html:29 -msgid "Weight log for workout" -msgstr "" - -#: manager/templates/workout/log.html:49 -msgid "Add weight log to this day" -msgstr "Testsúly bejegyzés hozzáadása ehhez a naphoz" - -#: manager/templates/workout/log.html:69 -msgid "No weight entries here." -msgstr "" - -#: manager/templates/workout/log.html:77 -msgid "No exercises for this day." -msgstr "" - -#: manager/templates/workout/log.html:90 -msgid "" -"This page shows the weight logs belonging to this workout\n" -"only. Click on an exercise to see all the historical data for\n" -"it." -msgstr "" - -#: manager/templates/workout/log.html:94 -msgid "" -"If on a single day there is more than one entry with the\n" -"same number of repetitions, but different weights, only the entry with the\n" -"higher weight is shown in the diagram." -msgstr "" - -#: manager/templates/workout/log.html:98 -msgid "" -"Note that only entries with a weight unit (kg or lb) and\n" -"repetitions are charted, other combinations such as time or until failure\n" -"are ignored here." -msgstr "" - #: manager/templates/workout/overview.html:25 #, fuzzy #| msgid "No schedules found." @@ -2637,27 +2565,23 @@ msgstr "" msgid "Set the repetitions for each set" msgstr "" -#: manager/templates/workout/view.html:73 +#: manager/templates/workout/view.html:75 msgid "Export this workout as a calendar file." msgstr "" -#: manager/templates/workout/view.html:144 +#: manager/templates/workout/view.html:156 msgid "Logs" msgstr "" -#: manager/templates/workout/view.html:146 +#: manager/templates/workout/view.html:159 msgid "View logs" msgstr "" -#: manager/templates/workout/view.html:169 manager/views/schedule_step.py:99 -msgid "Edit workout" -msgstr "Edzés módosítása" - -#: manager/templates/workout/view.html:182 manager/views/workout.py:281 +#: manager/templates/workout/view.html:195 manager/views/workout.py:281 msgid "Mark as template" msgstr "" -#: manager/views/day.py:109 +#: manager/views/day.py:105 msgid "Add workout day" msgstr "" @@ -2674,6 +2598,10 @@ msgstr "" msgid "Create schedule" msgstr "Ütemterv létrehozása" +#: manager/views/schedule_step.py:99 +msgid "Edit workout" +msgstr "Edzés módosítása" + #: manager/views/workout.py:209 msgid "Copy workout" msgstr "Edzés másolása" @@ -2801,7 +2729,7 @@ msgstr "" msgid "Unit amount, e.g. \"1 Cup\" or \"1/2 spoon\"" msgstr "" -#: nutrition/models/log.py:52 nutrition/models/meal.py:50 +#: nutrition/models/log.py:52 nutrition/models/meal.py:48 #: nutrition/models/meal_item.py:48 nutrition/models/plan.py:108 msgid "Nutrition plan" msgstr "Táplálkozási terv" @@ -2814,11 +2742,11 @@ msgstr "" msgid "Date and Time (Approx.)" msgstr "" -#: nutrition/models/meal.py:62 +#: nutrition/models/meal.py:60 msgid "Time (approx)" msgstr "" -#: nutrition/models/meal.py:69 +#: nutrition/models/meal.py:67 msgid "" "Give meals a textual description / name such as \"Breakfast\" or \"after " "workout\"" @@ -2840,58 +2768,6 @@ msgid "" "calories. You can use the calculator or enter the value yourself." msgstr "" -#: nutrition/templates/bmi/form.html:62 -msgid "Results" -msgstr "Eredmények" - -#: nutrition/templates/bmi/form.html:63 -msgid "Your BMI is: " -msgstr "" - -#: nutrition/templates/bmi/form.html:71 -msgid "Legend" -msgstr "" - -#: nutrition/templates/bmi/form.html:75 -msgid "Adipositas III" -msgstr "" - -#: nutrition/templates/bmi/form.html:79 -msgid "Adipositas II" -msgstr "" - -#: nutrition/templates/bmi/form.html:83 -msgid "Adipositas I" -msgstr "" - -#: nutrition/templates/bmi/form.html:87 -msgid "Overweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:91 -msgid "Normal weight" -msgstr "" - -#: nutrition/templates/bmi/form.html:95 -msgid "Slight underweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:99 -msgid "Moderate underweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:103 -msgid "Strong underweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:117 -msgid "" -"Use the form to calculate your BMI (Body Mass Index).\n" -"If you have entered data in the weight section, the last entry will\n" -"be used automatically. Otherwise the weight you enter here will be saved\n" -"in a new entry." -msgstr "" - #: nutrition/templates/ingredient/email_new.tpl:1 #, python-format msgid "" @@ -2937,10 +2813,6 @@ msgstr "Nincs összetevő." msgid "Search" msgstr "Keresés" -#: nutrition/templates/ingredient/overview.html:62 -msgid "Add ingredient" -msgstr "Összetevő hozzáadása" - #: nutrition/templates/ingredient/view.html:45 nutrition/views/plan.py:229 msgid "Macronutrients" msgstr "" @@ -2960,20 +2832,11 @@ msgstr "" msgid "Others" msgstr "" -#: nutrition/templates/ingredient/view.html:144 -#: nutrition/templates/units/list.html:46 nutrition/views/unit.py:86 +#: nutrition/templates/ingredient/view.html:143 +#: nutrition/templates/units/list.html:50 nutrition/views/unit.py:86 msgid "Add new weight unit" msgstr "" -#: nutrition/templates/ingredient/view.html:206 -#: nutrition/templates/ingredient/view.html:209 -msgid "Edit ingredient" -msgstr "" - -#: nutrition/templates/ingredient/view.html:213 -msgid "Delete ingredient" -msgstr "" - #: nutrition/templates/rate/form.html:25 msgid "Basal metabolic rate" msgstr "" @@ -3042,18 +2905,6 @@ msgid "" "yourself for some weeks and change the total amount if needed." msgstr "" -#: nutrition/views/bmi.py:89 -msgid "Please make sure your height is within the appropriate range." -msgstr "" - -#: nutrition/views/bmi.py:92 -msgid "140 to 230" -msgstr "" - -#: nutrition/views/bmi.py:94 -msgid "56 to 90" -msgstr "" - #: nutrition/views/ingredient.py:157 msgid "Add a new ingredient" msgstr "" @@ -3552,6 +3403,30 @@ msgstr "" msgid "Delete weight entry for the %s" msgstr "" +#~ msgid "Results" +#~ msgstr "Eredmények" + +#~ msgid "This exercise has no repetitions." +#~ msgstr "A gyakorlatnak nincsenek ismétlései." + +#~ msgid "Add exercises to this workout day" +#~ msgstr "Gyakorlat hozzáadása ehhez az edzés naphoz" + +#~ msgid "Edit schedule" +#~ msgstr "Ütemterv szerkesztése" + +#~ msgid "Delete schedule" +#~ msgstr "Ütemterv törlése" + +#~ msgid "Weight log" +#~ msgstr "Testsúly napló" + +#~ msgid "Add weight log to this day" +#~ msgstr "Testsúly bejegyzés hozzáadása ehhez a naphoz" + +#~ msgid "Add ingredient" +#~ msgstr "Összetevő hozzáadása" + #~ msgid "Ingredients pending review" #~ msgstr "Ellenőrzésre váró összetevők" diff --git a/wger/locale/it/LC_MESSAGES/django.po b/wger/locale/it/LC_MESSAGES/django.po index dde92693d..24bc1aba5 100644 --- a/wger/locale/it/LC_MESSAGES/django.po +++ b/wger/locale/it/LC_MESSAGES/django.po @@ -15,7 +15,7 @@ msgid "" msgstr "" "Project-Id-Version: wger Workout Manager\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-14 15:59+0200\n" +"POT-Creation-Date: 2024-11-14 19:23+0100\n" "PO-Revision-Date: 2024-04-05 23:01+0000\n" "Last-Translator: Federico Pierantoni \n" "Language-Team: Italian \n" @@ -26,7 +26,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.5-dev\n" -#: config/models/gym_config.py:46 gym/templates/gym/list.html:53 +#: config/models/gym_config.py:46 gym/templates/gym/list.html:56 msgid "Default gym" msgstr "Palestra Predefinita" @@ -39,28 +39,28 @@ msgstr "" "sarà assegnata a tutti i nuovi utenti e a tutti gli utenti già registrati " "che non ne hanno una." -#: config/views/gym_config.py:42 core/templates/language/view.html:67 -#: core/templates/license/list.html:17 core/templates/misc/license/list.html:18 +#: config/views/gym_config.py:42 core/templates/language/view.html:64 +#: core/templates/license/list.html:17 #: core/templates/repetition_unit/list.html:18 -#: core/templates/tags/render_day.html:39 -#: core/templates/tags/render_day.html:75 core/templates/user/overview.html:204 -#: core/templates/user/overview.html:445 +#: core/templates/user/overview.html:204 core/templates/user/overview.html:467 #: core/templates/weight_unit/list.html:18 #: exercises/templates/categories/admin-overview.html:17 #: exercises/templates/equipment/admin-overview.html:17 -#: exercises/templates/muscles/admin-overview.html:17 -#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:32 -#: gym/templates/contract/list.html:31 gym/templates/contract/view.html:107 -#: gym/templates/contract_option/list.html:32 -#: gym/templates/contract_type/list.html:32 gym/templates/document/list.html:38 -#: gym/templates/gym/list.html:20 gym/templates/gym/list.html:46 -#: gym/templates/gym/member_list.html:87 gym/templates/gym/member_list.html:140 -#: gym/templates/gym/member_list.html:176 -#: manager/templates/calendar/day.html:68 -#: manager/templates/calendar/month.html:85 -#: manager/templates/calendar/partial_overview_table.html:18 -#: manager/templates/schedule/view.html:118 -#: nutrition/templates/ingredient/view.html:165 +#: exercises/templates/muscles/admin-overview.html:16 +#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:31 +#: gym/templates/contract/list.html:30 gym/templates/contract/view.html:106 +#: gym/templates/contract_option/list.html:29 +#: gym/templates/contract_type/list.html:30 gym/templates/document/list.html:38 +#: gym/templates/gym/list.html:19 gym/templates/gym/list.html:48 +#: gym/templates/gym/member_list.html:94 gym/templates/gym/member_list.html:152 +#: gym/templates/gym/member_list.html:190 +#: manager/templates/calendar/day.html:67 +#: manager/templates/calendar/month.html:84 +#: manager/templates/calendar/partial_overview_table.html:16 +#: manager/templates/schedule/view.html:271 +#: manager/templates/workout/view.html:181 +#: nutrition/templates/ingredient/view.html:164 +#: nutrition/templates/ingredient/view.html:209 #: nutrition/templates/units/list.html:19 msgid "Edit" msgstr "Modifica" @@ -94,25 +94,25 @@ msgstr "Il mio programma di allenamento" msgid "Empty placeholder schedule" msgstr "Programma segnaposto vuoto" -#: core/forms.py:69 core/templates/navigation.html:285 -#: core/templates/navigation.html:291 core/templates/user/login.html:4 +#: core/forms.py:69 core/templates/navigation.html:284 +#: core/templates/navigation.html:290 core/templates/user/login.html:4 #: software/templates/features.html:82 software/templates/features.html:427 msgid "Login" msgstr "Entra" -#: core/forms.py:108 core/forms.py:214 gym/views/export.py:61 +#: core/forms.py:108 core/forms.py:216 gym/views/export.py:61 #: gym/views/gym.py:217 msgid "First name" msgstr "Nome" -#: core/forms.py:109 core/forms.py:215 core/templates/user/overview.html:266 +#: core/forms.py:109 core/forms.py:217 core/templates/user/overview.html:284 #: gym/views/export.py:62 gym/views/gym.py:217 msgid "Last name" msgstr "Cognome" -#: core/forms.py:111 core/forms.py:180 core/templates/user/overview.html:270 +#: core/forms.py:111 core/forms.py:182 core/templates/user/overview.html:288 #: gym/models/contract.py:256 gym/models/gym.py:58 -#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:104 +#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:116 #: gym/templates/gym/new_user.html:30 gym/views/export.py:60 #: mailer/templates/mailer/gym/form.html:4 #: mailer/templates/mailer/gym/overview.html:4 @@ -131,96 +131,95 @@ msgstr "" msgid "Date of Birth" msgstr "Data di nascita" -#: core/forms.py:148 +#: core/forms.py:149 msgid "Personal data" msgstr "Dati personali" -#: core/forms.py:159 +#: core/forms.py:161 msgid "Workout reminders" msgstr "Promemoria allenamento" -#: core/forms.py:166 +#: core/forms.py:168 msgid "Other settings" msgstr "Altre impostazioni" -#: core/forms.py:174 core/views/user.py:624 core/views/user.py:639 -#: core/views/user.py:651 gym/forms.py:73 manager/templates/log/add.html:65 +#: core/forms.py:176 core/views/user.py:623 core/views/user.py:638 +#: core/views/user.py:650 gym/forms.py:73 manager/templates/log/add.html:65 #: manager/templates/set/add.html:70 manager/views/workout.py:203 #: utils/generic_views.py:143 msgid "Save" msgstr "Salva" -#: core/forms.py:181 +#: core/forms.py:183 msgid "Used for password resets and, optionally, email reminders." msgstr "" "Usato per reimpostare la password e, opzionalmente, per i promemoria via e-" "mail." -#: core/forms.py:210 +#: core/forms.py:212 msgid "This e-mail address is already in use." msgstr "Questo indirizzo e-mail è già in uso." -#: core/forms.py:231 gym/templates/gym/new_user.html:26 +#: core/forms.py:233 gym/templates/gym/new_user.html:26 #: gym/templates/gym/reset_user_password.html:24 gym/views/gym.py:217 msgid "Password" msgstr "Password" -#: core/forms.py:233 +#: core/forms.py:235 msgid "Please enter your current password." msgstr "Si prega di inserire la tua password attuale." -#: core/forms.py:242 core/templates/language/view.html:73 -#: core/templates/license/list.html:19 core/templates/misc/license/list.html:22 -#: core/templates/repetition_unit/list.html:20 -#: core/templates/tags/render_day.html:45 -#: core/templates/tags/render_day.html:81 core/templates/user/overview.html:217 -#: core/templates/weight_unit/list.html:20 -#: exercises/templates/categories/admin-overview.html:19 -#: exercises/templates/equipment/admin-overview.html:19 -#: exercises/templates/muscles/admin-overview.html:19 -#: gym/templates/admin_notes/list.html:40 -#: gym/templates/contract_option/list.html:41 -#: gym/templates/contract_type/list.html:41 gym/templates/document/list.html:46 -#: gym/templates/gym/list.html:22 manager/templates/calendar/day.html:73 -#: manager/templates/calendar/month.html:89 -#: manager/templates/calendar/partial_overview_table.html:23 -#: manager/templates/schedule/view.html:122 -#: manager/templates/workout/view.html:188 -#: nutrition/templates/ingredient/view.html:166 +#: core/forms.py:244 core/templates/language/view.html:70 +#: core/templates/license/list.html:21 +#: core/templates/repetition_unit/list.html:22 +#: core/templates/user/overview.html:233 +#: core/templates/weight_unit/list.html:22 +#: exercises/templates/categories/admin-overview.html:21 +#: exercises/templates/equipment/admin-overview.html:21 +#: exercises/templates/muscles/admin-overview.html:20 +#: gym/templates/admin_notes/list.html:37 +#: gym/templates/contract_option/list.html:35 +#: gym/templates/contract_type/list.html:36 gym/templates/document/list.html:46 +#: gym/templates/gym/list.html:23 manager/templates/calendar/day.html:73 +#: manager/templates/calendar/month.html:88 +#: manager/templates/calendar/partial_overview_table.html:22 +#: manager/templates/schedule/view.html:277 +#: manager/templates/workout/view.html:202 +#: nutrition/templates/ingredient/view.html:168 #: nutrition/templates/ingredient/view.html:215 -#: nutrition/templates/units/list.html:22 +#: nutrition/templates/units/list.html:25 msgid "Delete" msgstr "Elimina" -#: core/forms.py:251 +#: core/forms.py:253 msgid "Invalid password" msgstr "Password non valida" -#: core/forms.py:263 core/forms.py:338 +#: core/forms.py:265 core/forms.py:340 msgid "The form is secured with reCAPTCHA" msgstr "Questo modulo è protetto con reCAPTCHA" -#: core/forms.py:279 core/forms.py:301 core/templates/navigation.html:285 -#: core/templates/navigation.html:297 core/templates/template.html:149 -#: core/templates/user/login.html:20 core/views/user.py:298 +#: core/forms.py:281 core/forms.py:303 core/templates/navigation.html:284 +#: core/templates/navigation.html:296 core/templates/template.html:150 +#: core/templates/user/login.html:20 core/views/user.py:297 #: software/templates/features.html:87 software/templates/features.html:422 msgid "Register" msgstr "Registrati" -#: core/forms.py:315 software/templates/features.html:45 +#: core/forms.py:317 software/templates/features.html:45 msgid "Contact" msgstr "Contatto" -#: core/forms.py:316 +#: core/forms.py:318 msgid "Some way of answering you (e-mail, etc.)" msgstr "Un modo per contattarti (e-mail, ecc.)" -#: core/forms.py:324 exercises/models/comment.py:58 manager/models/set.py:61 +#: core/forms.py:326 exercises/models/comment.py:58 manager/models/set.py:61 #: manager/models/setting.py:114 nutrition/models/log.py:77 msgid "Comment" msgstr "Commento" -#: core/forms.py:325 +#: core/forms.py:327 msgid "What do you want to say?" msgstr "Che cosa vuoi dire?" @@ -460,18 +459,18 @@ msgid "The sum of all hours has to be 24" msgstr "La somma di tutte le ore deve essere 24" #: core/models/rep_unit.py:36 core/models/weight_unit.py:36 -#: core/templates/user/overview.html:262 core/views/user.py:599 +#: core/templates/user/overview.html:280 core/views/user.py:598 #: exercises/models/category.py:29 exercises/models/equipment.py:29 #: exercises/models/exercise.py:59 exercises/models/muscle.py:36 #: gym/models/contract.py:52 gym/models/contract.py:103 gym/models/gym.py:46 #: gym/models/user_document.py:84 gym/templates/contract/view.html:50 -#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:96 +#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:108 #: gym/views/gym.py:158 manager/models/schedule.py:55 #: manager/models/workout.py:57 measurements/models/category.py:36 #: nutrition/models/ingredient.py:111 -#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:67 +#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:65 #: nutrition/models/weight_unit.py:38 -#: nutrition/templates/ingredient/view.html:152 +#: nutrition/templates/ingredient/view.html:151 msgid "Name" msgstr "Nome" @@ -524,7 +523,7 @@ msgstr "" msgid "Back to \"%(target)s\"" msgstr "Ritorna a «%(target)s»" -#: core/templates/delete.html:15 +#: core/templates/delete.html:4 msgid "Are you sure you want to delete this? This action cannot be undone." msgstr "Sei sicuro/a di volerlo eliminare? Questa azione sarà permanente." @@ -577,7 +576,7 @@ msgstr "Clicca sul seguente link per confermare la tua email: %(link)s" msgid "Dashboard" msgstr "Pagina principale" -#: core/templates/language/overview.html:4 core/templates/navigation.html:345 +#: core/templates/language/overview.html:4 core/templates/navigation.html:344 msgid "Languages" msgstr "Lingue" @@ -587,81 +586,72 @@ msgstr "Nessun risultato." #: core/templates/language/overview.html:22 #: manager/templates/calendar/month.html:132 -#: manager/templates/schedule/overview.html:28 -#: manager/templates/schedule/view.html:144 +#: manager/templates/schedule/view.html:107 #: manager/templates/workout/overview.html:28 #: nutrition/templates/ingredient/overview.html:38 msgid "Add one now." msgstr "Aggiungine uno adesso." -#: core/templates/language/overview.html:35 core/templates/license/list.html:40 -#: core/templates/misc/license/list.html:43 -#: core/templates/repetition_unit/list.html:43 -#: core/templates/user/overview.html:326 core/templates/user/overview.html:365 -#: core/templates/user/overview.html:401 -#: core/templates/weight_unit/list.html:43 core/views/languages.py:74 +#: core/templates/language/overview.html:34 core/templates/license/list.html:43 +#: core/templates/repetition_unit/list.html:46 +#: core/templates/user/overview.html:344 core/templates/user/overview.html:384 +#: core/templates/user/overview.html:422 +#: core/templates/weight_unit/list.html:46 core/views/languages.py:74 #: core/views/license.py:66 core/views/repetition_units.py:66 #: core/views/weight_units.py:66 -#: exercises/templates/categories/admin-overview.html:38 -#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:67 -#: gym/templates/contract/list.html:73 -#: gym/templates/contract_option/list.html:72 -#: gym/templates/contract_type/list.html:72 gym/templates/document/list.html:79 -#: gym/templates/gym/member_list.html:211 -#: gym/templates/gym/member_list.html:244 -#: gym/templates/gym/member_list.html:281 +#: exercises/templates/categories/admin-overview.html:40 +#: exercises/templates/equipment/admin-overview.html:39 +#: exercises/templates/muscles/admin-overview.html:40 +#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:64 +#: gym/templates/contract/list.html:69 +#: gym/templates/contract_option/list.html:65 +#: gym/templates/contract_type/list.html:66 gym/templates/document/list.html:78 +#: gym/templates/gym/member_list.html:228 +#: gym/templates/gym/member_list.html:264 +#: gym/templates/gym/member_list.html:303 #: mailer/templates/mailer/gym/overview.html:43 +#: nutrition/templates/ingredient/overview.html:60 msgid "Add" msgstr "Aggiungi" #: core/templates/language/view.html:61 core/templates/user/api_key.html:44 -#: core/templates/user/preferences.html:45 gym/models/contract.py:203 -#: gym/templates/contract/view.html:41 gym/templates/contract/view.html:106 -#: gym/templates/gym/member_list.html:248 -#: manager/templates/schedule/view.html:285 -#: manager/templates/workout/view.html:163 -#: nutrition/templates/ingredient/view.html:202 +#: core/templates/user/preferences.html:50 gym/models/contract.py:203 +#: gym/templates/contract/view.html:41 gym/templates/gym/member_list.html:270 +#: manager/templates/schedule/view.html:257 +#: manager/templates/workout/view.html:177 +#: nutrition/templates/ingredient/view.html:206 msgid "Options" msgstr "Opzioni" -#: core/templates/license/list.html:4 core/templates/misc/license/list.html:4 +#: core/templates/license/list.html:4 msgid "License list" msgstr "Elenco delle licenze" -#: core/templates/license/list.html:26 core/templates/misc/license/list.html:30 -#: core/templates/repetition_unit/list.html:28 +#: core/templates/license/list.html:30 +#: core/templates/repetition_unit/list.html:32 #: core/templates/user/overview.html:104 core/templates/user/overview.html:136 -#: core/templates/user/overview.html:185 core/templates/user/overview.html:347 -#: core/templates/user/overview.html:383 core/templates/user/overview.html:427 -#: core/templates/weight_unit/list.html:28 -#: exercises/templates/categories/admin-overview.html:26 -#: exercises/templates/equipment/admin-overview.html:26 -#: exercises/templates/muscles/admin-overview.html:26 -#: gym/templates/admin_notes/list.html:52 gym/templates/contract/list.html:60 -#: gym/templates/contract_option/list.html:58 -#: gym/templates/contract_type/list.html:58 gym/templates/document/list.html:64 -#: gym/templates/gym/list.html:29 gym/templates/gym/member_list.html:229 -#: gym/templates/gym/member_list.html:262 -#: gym/templates/gym/member_list.html:299 +#: core/templates/user/overview.html:185 core/templates/user/overview.html:365 +#: core/templates/user/overview.html:404 core/templates/user/overview.html:448 +#: core/templates/weight_unit/list.html:32 +#: exercises/templates/categories/admin-overview.html:30 +#: exercises/templates/equipment/admin-overview.html:30 +#: exercises/templates/muscles/admin-overview.html:29 +#: gym/templates/admin_notes/list.html:50 gym/templates/contract/list.html:57 +#: gym/templates/contract_option/list.html:52 +#: gym/templates/contract_type/list.html:53 gym/templates/document/list.html:64 +#: gym/templates/gym/list.html:32 gym/templates/gym/member_list.html:248 +#: gym/templates/gym/member_list.html:284 +#: gym/templates/gym/member_list.html:321 #: mailer/templates/mailer/gym/overview.html:30 -#: manager/templates/calendar/day.html:87 -#: nutrition/templates/units/list.html:29 +#: manager/templates/calendar/day.html:88 +#: nutrition/templates/units/list.html:34 msgid "Nothing found" msgstr "Trovato niente" -#: core/templates/misc/about.html:4 core/templates/template.html:175 +#: core/templates/misc/about.html:4 core/templates/template.html:187 msgid "Imprint" msgstr "Impressum" -#: core/templates/misc/license/list.html:47 -msgid "" -"If a license has been localized, e.g. the Creative Commons\n" -" licenses for the different countries, add them as separate " -"entries here." -msgstr "" -"Se una licenza è stata localizzata, ad es. le licenze Creative Commons\n" -" per i diversi paesi, aggiungile qui come voci separate." - #: core/templates/navigation.html:28 software/templates/features.html:437 msgid "Training" msgstr "Allenamento" @@ -706,8 +696,8 @@ msgstr "Modelli pubblici" msgid "Exercises" msgstr "Esercizi" -#: core/templates/navigation.html:111 core/templates/navigation.html:184 -#: core/templates/navigation.html:340 +#: core/templates/navigation.html:111 core/templates/navigation.html:185 +#: core/templates/navigation.html:339 msgid "Administration" msgstr "Amministrazione" @@ -736,7 +726,7 @@ msgstr "Piano nutrizionale" msgid "Nutrition plans" msgstr "Piani nutrizionali" -#: core/templates/navigation.html:165 nutrition/templates/bmi/form.html:50 +#: core/templates/navigation.html:165 msgid "BMI calculator" msgstr "Calcolatore IMC" @@ -744,87 +734,87 @@ msgstr "Calcolatore IMC" msgid "Daily calories calculator" msgstr "Calcolo calorie giornaliere" -#: core/templates/navigation.html:179 +#: core/templates/navigation.html:180 #: nutrition/templates/ingredient/overview.html:10 msgid "Ingredient overview" msgstr "Panoramica alimenti" -#: core/templates/navigation.html:187 nutrition/templates/units/list.html:6 +#: core/templates/navigation.html:189 nutrition/templates/units/list.html:6 msgid "Ingredient weight units" msgstr "Unità di peso ingrediente" -#: core/templates/navigation.html:203 software/templates/features.html:442 +#: core/templates/navigation.html:205 software/templates/features.html:442 msgid "Body weight" msgstr "Peso corporeo" -#: core/templates/navigation.html:210 core/templates/user/overview.html:114 +#: core/templates/navigation.html:212 core/templates/user/overview.html:114 msgid "Weight overview" msgstr "Panoramica peso corporeo" -#: core/templates/navigation.html:217 weight/views.py:65 +#: core/templates/navigation.html:216 weight/views.py:65 msgid "Add weight entry" msgstr "Aggiungi peso corporeo" -#: core/templates/navigation.html:231 +#: core/templates/navigation.html:230 msgid "About this software" msgstr "Informazioni su questo software" -#: core/templates/navigation.html:237 software/templates/about_us.html:5 +#: core/templates/navigation.html:236 software/templates/about_us.html:5 msgid "About us" msgstr "Chi siamo" -#: core/templates/navigation.html:243 software/templates/features.html:507 +#: core/templates/navigation.html:242 software/templates/features.html:507 msgid "REST API" msgstr "REST API" -#: core/templates/navigation.html:249 utils/models.py:45 +#: core/templates/navigation.html:248 utils/models.py:45 msgid "License" msgstr "Licenza" -#: core/templates/navigation.html:255 +#: core/templates/navigation.html:254 msgid "Developer documentation" msgstr "Documentazione dello sviluppatore" -#: core/templates/navigation.html:262 +#: core/templates/navigation.html:261 msgid "Get the code" msgstr "Ottieni il codice" -#: core/templates/navigation.html:269 core/templates/template.html:214 +#: core/templates/navigation.html:268 core/templates/template.html:226 #: software/templates/features.html:582 msgid "Translate" msgstr "Traduci" -#: core/templates/navigation.html:303 core/templates/user/login.html:28 +#: core/templates/navigation.html:302 core/templates/user/login.html:28 msgid "Reset password" msgstr "Reimposta la password" -#: core/templates/navigation.html:321 +#: core/templates/navigation.html:320 msgid "My preferences" msgstr "Preferenze" -#: core/templates/navigation.html:330 +#: core/templates/navigation.html:329 msgid "Logout" msgstr "Esci" -#: core/templates/navigation.html:353 +#: core/templates/navigation.html:352 msgid "Licenses" msgstr "Licenza" -#: core/templates/navigation.html:361 +#: core/templates/navigation.html:360 #: core/templates/repetition_unit/list.html:4 msgid "Repetition units" msgstr "Unità di ripetizione" -#: core/templates/navigation.html:369 core/templates/weight_unit/list.html:4 +#: core/templates/navigation.html:368 core/templates/weight_unit/list.html:4 #: nutrition/templates/ingredient/view.html:141 msgid "Weight units" msgstr "Unità peso" -#: core/templates/navigation.html:377 core/templates/user/list.html:4 +#: core/templates/navigation.html:376 core/templates/user/list.html:4 msgid "User list" msgstr "Lista utenti" -#: core/templates/navigation.html:383 +#: core/templates/navigation.html:382 msgid "Gyms" msgstr "Palestre" @@ -888,57 +878,32 @@ msgstr "precedente" msgid "next" msgstr "successivo" -#: core/templates/tags/render_day.html:34 -msgid "Add weight log" -msgstr "Aggiungi record peso" - -#: core/templates/tags/render_day.html:116 -msgid "Placeholder image for exercise" +#: core/templates/tags/render_day.html:44 +#, fuzzy +#| msgid "Placeholder image for exercise" +msgid "Placeholder image for translation" msgstr "Immagine segnaposto per l'esercizio" -#: core/templates/tags/render_day.html:133 -msgid "This exercise has no repetitions." -msgstr "Questo esercizio non ha ripetizioni." - -#: core/templates/tags/render_day.html:136 -msgid "Edit them now." -msgstr "Modificali ora." - -#: core/templates/tags/render_day.html:162 -msgid "Add exercises to this workout day" -msgstr "Aggiungi esercizi per questo giorno di allenamento" - -#: core/templates/tags/render_weight_log.html:17 manager/helpers.py:86 -#: manager/models/setting.py:72 manager/templates/set/formset.html:9 -msgid "Reps" -msgstr "Ripetizioni" - -#: core/templates/tags/render_weight_log.html:30 manager/forms.py:191 -#: manager/models/log.py:103 manager/models/setting.py:102 -#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 -msgid "RiR" -msgstr "RiR" - -#: core/templates/template.html:122 manager/templates/calendar/month.html:138 -#: manager/templates/schedule/view.html:248 -#: manager/templates/schedule/view.html:269 -#: manager/templates/workout/view.html:84 -#: manager/templates/workout/view.html:137 +#: core/templates/template.html:123 manager/templates/calendar/month.html:138 +#: manager/templates/schedule/view.html:215 +#: manager/templates/schedule/view.html:240 +#: manager/templates/workout/view.html:89 +#: manager/templates/workout/view.html:149 msgid "Close" msgstr "Chiudi" -#: core/templates/template.html:138 +#: core/templates/template.html:139 msgid "" "You are using a guest account, data entered will be deleted after a week." msgstr "" "Stai usando un account ospite, i dati inseriti verranno cancellati dopo una " "settimana." -#: core/templates/template.html:143 +#: core/templates/template.html:144 msgid "Create some demo entries" msgstr "Crea alcune voci demo" -#: core/templates/template.html:180 software/templates/features.html:547 +#: core/templates/template.html:192 software/templates/features.html:547 #: software/templates/tos.html:7 msgid "Terms of service" msgstr "Termini di servizio" @@ -947,7 +912,7 @@ msgstr "Termini di servizio" msgid "Features" msgstr "Caratteristiche" -#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:54 +#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:59 msgid "API key" msgstr "Chiave API" @@ -992,17 +957,17 @@ msgstr "Genera una nuova chiave API" msgid "Documentation" msgstr "Documentazione" -#: core/templates/user/delete_account.html:4 -#: core/templates/user/preferences.html:59 +#: core/templates/user/delete_account.html:3 +#: core/templates/user/preferences.html:62 msgid "Delete account" msgstr "Cancella account" -#: core/templates/user/delete_account.html:17 +#: core/templates/user/delete_account.html:9 #: exercises/templates/history/overview.html:93 msgid "Are you sure?" msgstr "Sei sicuro/a?" -#: core/templates/user/delete_account.html:22 +#: core/templates/user/delete_account.html:14 #, python-format msgid "" "This action will delete the user account \"%(username)s\".\n" @@ -1025,22 +990,22 @@ msgstr "Password dimenticata?" #: core/templates/user/overview.html:25 core/templates/user/overview.html:68 #: core/templates/user/overview.html:112 core/templates/user/overview.html:144 -#: core/templates/user/overview.html:330 core/templates/user/overview.html:369 -#: core/templates/user/overview.html:405 +#: core/templates/user/overview.html:348 core/templates/user/overview.html:390 +#: core/templates/user/overview.html:426 #, python-format msgid "last %(number)s" msgstr "ultimo %(number)s" #: core/templates/user/overview.html:27 core/templates/user/overview.html:146 -#: core/templates/user/overview.html:325 core/templates/user/overview.html:364 -#: core/templates/user/overview.html:400 gym/templates/gym/member_list.html:210 -#: gym/templates/gym/member_list.html:243 -#: gym/templates/gym/member_list.html:280 +#: core/templates/user/overview.html:343 core/templates/user/overview.html:382 +#: core/templates/user/overview.html:421 gym/templates/gym/member_list.html:226 +#: gym/templates/gym/member_list.html:262 +#: gym/templates/gym/member_list.html:302 msgid "Overview" msgstr "Panoramica" #: core/templates/user/overview.html:28 -#: manager/templates/schedule/view.html:163 +#: manager/templates/schedule/view.html:125 #: manager/templates/workout/overview.html:39 manager/views/schedule_step.py:60 msgid "Add workout" msgstr "Aggiungi allenamento" @@ -1072,38 +1037,36 @@ msgstr "Descrizione" msgid "Number of logs (days)" msgstr "Numero di registri (giorni)" -#: core/templates/user/overview.html:37 core/views/user.py:600 +#: core/templates/user/overview.html:37 core/views/user.py:599 #: gym/templates/gym/email_inactive_members.html:4 gym/views/gym.py:158 msgid "Last activity" msgstr "Ultima attività" #: core/templates/user/overview.html:58 #: manager/templates/calendar/month.html:128 -#: manager/templates/schedule/view.html:144 #: manager/templates/workout/overview.html:28 msgid "No workouts found." msgstr "Nessun allenamento trovato." #: core/templates/user/overview.html:68 manager/forms.py:280 -#: manager/templates/workout/view.html:106 +#: manager/templates/workout/view.html:114 msgid "Log" msgstr "Diario" #: core/templates/user/overview.html:77 manager/models/session.py:83 -#: manager/templates/calendar/partial_overview_table.html:52 +#: manager/templates/calendar/partial_overview_table.html:54 msgid "General impression" msgstr "Impressioni generali" -#: core/templates/user/overview.html:78 core/templates/user/overview.html:369 +#: core/templates/user/overview.html:78 core/templates/user/overview.html:390 #: manager/models/session.py:73 -#: manager/templates/calendar/partial_overview_table.html:56 -#: manager/templates/workout/log.html:89 +#: manager/templates/calendar/partial_overview_table.html:58 msgid "Notes" msgstr "Note" #: core/templates/user/overview.html:79 #: exercises/templates/history/overview.html:30 -#: manager/templates/calendar/partial_overview_table.html:42 +#: manager/templates/calendar/partial_overview_table.html:44 msgid "Time" msgstr "Tempo" @@ -1141,121 +1104,121 @@ msgstr "Grassi" msgid "kcal" msgstr "kcal" -#: core/templates/user/overview.html:201 core/templates/user/overview.html:322 -#: core/templates/user/overview.html:361 core/templates/user/overview.html:397 -#: core/templates/user/overview.html:442 gym/templates/gym/list.html:42 -#: gym/templates/gym/member_list.html:84 gym/templates/gym/member_list.html:137 -#: gym/templates/gym/member_list.html:173 -#: gym/templates/gym/member_list.html:207 -#: gym/templates/gym/member_list.html:240 -#: gym/templates/gym/member_list.html:277 -#: manager/templates/schedule/view.html:100 +#: core/templates/user/overview.html:201 core/templates/user/overview.html:340 +#: core/templates/user/overview.html:379 core/templates/user/overview.html:418 +#: core/templates/user/overview.html:463 gym/templates/gym/list.html:45 +#: gym/templates/gym/member_list.html:91 gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:187 +#: gym/templates/gym/member_list.html:223 +#: gym/templates/gym/member_list.html:259 +#: gym/templates/gym/member_list.html:299 +#: manager/templates/schedule/view.html:54 msgid "Actions" msgstr "Azioni" -#: core/templates/user/overview.html:207 +#: core/templates/user/overview.html:210 msgid "Deactivate user" msgstr "Disattiva utente" -#: core/templates/user/overview.html:209 +#: core/templates/user/overview.html:214 msgid "Activate user" msgstr "Attiva utente" -#: core/templates/user/overview.html:211 +#: core/templates/user/overview.html:223 msgid "Reset user password" msgstr "Reset password utente" -#: core/templates/user/overview.html:214 gym/templates/gym/member_list.html:30 +#: core/templates/user/overview.html:227 gym/templates/gym/member_list.html:30 msgid "Roles" msgstr "Ruoli" -#: core/templates/user/overview.html:225 +#: core/templates/user/overview.html:243 msgid "Password reset confirmation" msgstr "Reset password confermato" -#: core/templates/user/overview.html:229 +#: core/templates/user/overview.html:247 msgid "Do you really want to change this user's password?" msgstr "Vuoi veramente cambiare la password di questo user's?" -#: core/templates/user/overview.html:232 +#: core/templates/user/overview.html:250 #: exercises/templates/history/overview.html:106 msgid "No" msgstr "No" -#: core/templates/user/overview.html:233 +#: core/templates/user/overview.html:251 #: exercises/templates/history/overview.html:99 msgid "Yes" msgstr "Si" -#: core/templates/user/overview.html:254 gym/templates/gym/member_list.html:93 +#: core/templates/user/overview.html:272 gym/templates/gym/member_list.html:105 msgid "Details" msgstr "Dettagli" -#: core/templates/user/overview.html:258 gym/views/export.py:57 -#: manager/helpers.py:86 manager/templates/schedule/view.html:98 +#: core/templates/user/overview.html:276 gym/views/export.py:57 +#: manager/helpers.py:86 manager/templates/schedule/view.html:52 msgid "Nr." msgstr "Numero" -#: core/templates/user/overview.html:280 gym/models/contract.py:287 +#: core/templates/user/overview.html:298 gym/models/contract.py:287 #: gym/models/gym.py:50 gym/templates/contract/view.html:75 -#: gym/templates/gym/member_list.html:100 gym/views/export.py:68 +#: gym/templates/gym/member_list.html:112 gym/views/export.py:68 msgid "Phone" msgstr "Numero" -#: core/templates/user/overview.html:284 gym/templates/contract/view.html:87 -#: gym/templates/gym/member_list.html:118 +#: core/templates/user/overview.html:302 gym/templates/contract/view.html:87 +#: gym/templates/gym/member_list.html:130 msgid "Address" msgstr "Via" -#: core/templates/user/overview.html:295 +#: core/templates/user/overview.html:313 msgid "Registered" msgstr "Registrato" -#: core/templates/user/overview.html:299 +#: core/templates/user/overview.html:317 msgid "Last login" msgstr "Ultimo login" -#: core/templates/user/overview.html:304 +#: core/templates/user/overview.html:322 msgid "Status" msgstr "Stato" -#: core/templates/user/overview.html:307 +#: core/templates/user/overview.html:325 msgid "Active" msgstr "Attivo" -#: core/templates/user/overview.html:309 +#: core/templates/user/overview.html:327 msgid "Inactive" msgstr "Inattivo" -#: core/templates/user/overview.html:330 gym/templates/contract/list.html:4 -#: gym/templates/gym/member_list.html:202 +#: core/templates/user/overview.html:348 gym/templates/contract/list.html:4 +#: gym/templates/gym/member_list.html:218 msgid "Contracts" msgstr "Contratti" -#: core/templates/user/overview.html:405 gym/templates/document/list.html:4 +#: core/templates/user/overview.html:426 gym/templates/document/list.html:4 msgid "Documents" msgstr "Documenti" -#: core/templates/user/overview.html:412 gym/templates/document/list.html:32 -#: manager/forms.py:292 manager/templates/workout/view.html:132 +#: core/templates/user/overview.html:433 gym/templates/document/list.html:33 +#: manager/forms.py:292 manager/templates/workout/view.html:143 msgid "Download" msgstr "Scarica" -#: core/templates/user/overview.html:450 gym/views/admin_config.py:44 +#: core/templates/user/overview.html:474 gym/views/admin_config.py:44 #: gym/views/admin_config.py:58 gym/views/user_config.py:46 msgid "Configuration" msgstr "Configurazione" -#: core/templates/user/overview.html:453 gym/models/user_config.py:92 +#: core/templates/user/overview.html:477 gym/models/user_config.py:92 msgid "Include in inactive overview" msgstr "Includi in una panoramica inattiva" -#: core/templates/user/overview.html:486 +#: core/templates/user/overview.html:510 #, python-format msgid "Admin login is only available for users in %(gym_name)s" msgstr "Accesso amministratore disponibile per %(gym_name)s" -#: core/templates/user/overview.html:490 +#: core/templates/user/overview.html:514 msgid "Log in as this user" msgstr "Entra come questo utente" @@ -1275,19 +1238,19 @@ msgstr "Email non verificata" msgid "Send verification email" msgstr "Invia email di verifica" -#: core/templates/user/preferences.html:30 +#: core/templates/user/preferences.html:31 msgid "You need to verify your email to contribute exercises" msgstr "Devi confermare l'email per contribuire agli esercizi" -#: core/templates/user/preferences.html:50 core/views/user.py:611 +#: core/templates/user/preferences.html:55 core/views/user.py:610 msgid "Change password" msgstr "Cambia la password" -#: core/templatetags/wger_extras.py:205 i18n.tpl:37 +#: core/templatetags/wger_extras.py:197 i18n.tpl:37 msgid "kg" msgstr "kg" -#: core/templatetags/wger_extras.py:207 +#: core/templatetags/wger_extras.py:199 #: nutrition/templates/ingredient/view.html:60 #: nutrition/templates/ingredient/view.html:66 #: nutrition/templates/ingredient/view.html:73 @@ -1299,11 +1262,11 @@ msgctxt "weight unit, i.e. grams" msgid "g" msgstr "g" -#: core/templatetags/wger_extras.py:210 i18n.tpl:38 +#: core/templatetags/wger_extras.py:202 i18n.tpl:38 msgid "lb" msgstr "lb" -#: core/templatetags/wger_extras.py:212 +#: core/templatetags/wger_extras.py:204 msgctxt "weight unit, i.e. ounces" msgid "oz" msgstr "oz" @@ -1330,13 +1293,13 @@ msgid "Delete {0}?" msgstr "Eliminare {0}?" #: core/views/languages.py:111 core/views/license.py:85 -#: core/views/repetition_units.py:86 core/views/user.py:474 +#: core/views/repetition_units.py:86 core/views/user.py:473 #: core/views/weight_units.py:86 exercises/views/categories.py:98 #: exercises/views/equipment.py:81 exercises/views/muscles.py:87 #: gym/views/admin_notes.py:161 gym/views/config.py:68 #: gym/views/contract.py:186 gym/views/contract_option.py:123 #: gym/views/contract_type.py:123 gym/views/document.py:171 -#: gym/views/gym.py:463 manager/views/day.py:100 manager/views/schedule.py:333 +#: gym/views/gym.py:463 manager/views/day.py:96 manager/views/schedule.py:333 #: manager/views/workout.py:267 nutrition/views/ingredient.py:145 #: nutrition/views/unit.py:143 #, python-brace-format @@ -1366,48 +1329,48 @@ msgstr "Invia" msgid "Your feedback was successfully sent. Thank you!" msgstr "Il tuo commento è stato mandato con successo. Grazie!" -#: core/views/user.py:156 +#: core/views/user.py:155 #, python-brace-format msgid "Account \"{0}\" was successfully deleted" msgstr "L'account «{0}» è stato eliminato con successo" -#: core/views/user.py:292 +#: core/views/user.py:291 msgid "You were successfully registered" msgstr "Ti sei registrato/a con successo" -#: core/views/user.py:351 +#: core/views/user.py:350 msgid "Settings successfully updated" msgstr "Impostazioni aggiornate con successo" -#: core/views/user.py:390 +#: core/views/user.py:389 msgid "The user was successfully deactivated" msgstr "Utente è stato disattivato con successo" -#: core/views/user.py:427 +#: core/views/user.py:426 msgid "The user was successfully activated" msgstr "Utente è stato attivato con successo" -#: core/views/user.py:442 +#: core/views/user.py:441 msgid "Edit user" msgstr "Modifica utente" -#: core/views/user.py:597 gym/templates/gym/member_list.html:26 +#: core/views/user.py:596 gym/templates/gym/member_list.html:26 #: gym/views/gym.py:158 msgid "ID" msgstr "ID" -#: core/views/user.py:598 gym/forms.py:95 gym/templates/contract/view.html:55 +#: core/views/user.py:597 gym/forms.py:95 gym/templates/contract/view.html:55 #: gym/templates/gym/member_list.html:27 gym/views/export.py:59 #: gym/views/gym.py:158 gym/views/gym.py:217 msgid "Username" msgstr "Nome utente" -#: core/views/user.py:601 gym/templates/gym/new_user.html:34 +#: core/views/user.py:600 gym/templates/gym/new_user.html:34 #: gym/views/export.py:58 gym/views/gym.py:217 msgid "Gym" msgstr "Palestra" -#: core/views/user.py:660 +#: core/views/user.py:659 #, python-format msgid "A verification email was sent to %(email)s" msgstr "Un'email di verifica è stata inviata a %(email)s" @@ -1560,11 +1523,6 @@ msgstr "Codec, nome completo" msgid "Equipment list" msgstr "Lista attrezzatura" -#: exercises/templates/equipment/admin-overview.html:39 -#: exercises/views/equipment.py:92 -msgid "Add new equipment" -msgstr "Aggiungi nuova attrezzatura" - #: exercises/templates/history/overview.html:11 msgid "Exercise admin history" msgstr "Storico allenamenti admin" @@ -1612,11 +1570,6 @@ msgstr "Ripristina cambiamenti" msgid "Muscle overview" msgstr "Prospetto dei muscoli" -#: exercises/templates/muscles/admin-overview.html:38 -#: exercises/views/muscles.py:68 -msgid "Add muscle" -msgstr "Aggiungi muscolo" - #: exercises/views/categories.py:72 msgid "Add category" msgstr "Aggiungi categoria" @@ -1625,6 +1578,10 @@ msgstr "Aggiungi categoria" msgid "This will also delete all exercises in this category." msgstr "Saranno cancellati tutti gli esercizi della categoria." +#: exercises/views/equipment.py:92 +msgid "Add new equipment" +msgstr "Aggiungi nuova attrezzatura" + #: exercises/views/equipment.py:104 exercises/views/equipment.py:115 msgid "Delete equipment?" msgstr "Cancella attrezzatura?" @@ -1633,6 +1590,10 @@ msgstr "Cancella attrezzatura?" msgid "This will delete the exercise from all workouts." msgstr "L'esercizio sarà eliminato da tutti gli allenamenti." +#: exercises/views/muscles.py:68 +msgid "Add muscle" +msgstr "Aggiungi muscolo" + #: gallery/templates/images/overview.html:62 msgid "Add image" msgstr "Aggiungi immagine" @@ -1718,7 +1679,7 @@ msgid "Contract is active" msgstr "Contratto è attivo" #: gym/models/contract.py:237 gym/templates/contract/view.html:69 -#: manager/models/schedule.py:61 manager/templates/schedule/view.html:67 +#: manager/models/schedule.py:61 manager/templates/schedule/view.html:21 msgid "Start date" msgstr "Data di partenza" @@ -1754,7 +1715,7 @@ msgstr "Amministratore: può gestire gli utenti per una palestra" msgid "Admin: can administrate the different gyms" msgstr "Amministratore: puoi amministrare le diverse palestre" -#: gym/models/gym.py:65 gym/templates/gym/member_list.html:114 +#: gym/models/gym.py:65 gym/templates/gym/member_list.html:126 msgid "Owner" msgstr "Proprietario" @@ -1766,7 +1727,7 @@ msgstr "" "Numero di settimane dall'ultima volta in cui un utente ha registrato la sua " "presenza per essere considerato inattivo" -#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:152 +#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:166 msgid "Show name in header" msgstr "Mostra nome nell'intestazione" @@ -1779,7 +1740,7 @@ msgstr "Mostra il nome della palestra nell'intestazione del sito" msgid "Configuration for {self.gym.name}" msgstr "Configurazione per {self.gym.name}" -#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:184 +#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:200 msgid "Overview of inactive members" msgstr "Panoramica dei membri inattivi" @@ -1803,7 +1764,7 @@ msgstr "Userà il nome del file se non viene fornito nulla" msgid "User notes" msgstr "Note utente" -#: gym/templates/contract/list.html:36 +#: gym/templates/contract/list.html:34 msgid "Show" msgstr "Mostra" @@ -1831,11 +1792,11 @@ msgstr "" msgid "Gym list" msgstr "Lista palestre" -#: gym/templates/gym/list.html:50 +#: gym/templates/gym/list.html:53 msgid "Global gym configuration" msgstr "Configurazione globale" -#: gym/templates/gym/list.html:67 gym/views/gym.py:171 +#: gym/templates/gym/list.html:69 gym/views/gym.py:171 msgid "Add new gym" msgstr "Aggiungi nuova palestra" @@ -1847,43 +1808,43 @@ msgstr "Amministratori e istruttori" msgid "Gym manager" msgstr "Responsabile della palestra" -#: gym/templates/gym/member_list.html:69 +#: gym/templates/gym/member_list.html:76 msgid "This gym has no administrators or trainers" msgstr "Questa palestra non ha amministratori o allenatori" -#: gym/templates/gym/member_list.html:88 +#: gym/templates/gym/member_list.html:98 msgid "Export" msgstr "Esporta" -#: gym/templates/gym/member_list.html:125 +#: gym/templates/gym/member_list.html:137 msgid "Members" msgstr "Membri" -#: gym/templates/gym/member_list.html:145 +#: gym/templates/gym/member_list.html:159 msgid "Gym configuration" msgstr "Configurazione della palestra" -#: gym/templates/gym/member_list.html:148 +#: gym/templates/gym/member_list.html:162 msgid "Inactive members" msgstr "Membri inattivi" -#: gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:163 msgid "weeks" msgstr "settimane" -#: gym/templates/gym/member_list.html:181 +#: gym/templates/gym/member_list.html:197 msgid "My configuration" msgstr "La mia configurazione" -#: gym/templates/gym/member_list.html:215 +#: gym/templates/gym/member_list.html:234 msgid "Types" msgstr "Tipi" -#: gym/templates/gym/member_list.html:285 +#: gym/templates/gym/member_list.html:307 msgid "Emails" msgstr "E-mail" -#: gym/templates/gym/member_list.html:315 +#: gym/templates/gym/member_list.html:336 msgid "Add member" msgstr "Aggiungi membro" @@ -2178,28 +2139,38 @@ msgstr "Usa anche i nomi in inglese" msgid "Unit" msgstr "Unità" +#: manager/forms.py:191 manager/models/log.py:103 manager/models/setting.py:102 +#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 +msgid "RiR" +msgstr "RiR" + #: manager/forms.py:279 msgid "Type" msgstr "Tipo" -#: manager/forms.py:280 manager/templates/workout/view.html:113 +#: manager/forms.py:280 manager/templates/workout/view.html:122 msgid "Table" msgstr "Tabella" -#: manager/forms.py:282 manager/templates/workout/view.html:119 +#: manager/forms.py:282 manager/templates/workout/view.html:129 msgid "with images" msgstr "con immagini" -#: manager/forms.py:283 manager/templates/workout/view.html:125 +#: manager/forms.py:283 manager/templates/workout/view.html:136 msgid "with comments" msgstr "con commenti" +#: manager/helpers.py:86 manager/models/setting.py:72 +#: manager/templates/set/formset.html:9 +msgid "Reps" +msgstr "Ripetizioni" + #: manager/management/commands/email-reminders.py:121 msgid "Workout will expire soon" msgstr "L'allenamento scadrà presto" #: manager/models/day.py:34 manager/models/log.py:58 -#: manager/models/session.py:60 manager/templates/schedule/view.html:102 +#: manager/models/session.py:60 manager/templates/schedule/view.html:56 #: manager/templates/workout/view.html:9 manager/templates/workout/view.html:17 #: manager/views/pdf.py:85 manager/views/pdf.py:161 #: manager/views/schedule.py:151 manager/views/schedule.py:221 @@ -2223,7 +2194,7 @@ msgid "Name or short description of the schedule. For example 'Program XYZ'." msgstr "" "Nome o breve descrizione della programmazione. Per esempio «Programma XYZ»." -#: manager/models/schedule.py:65 manager/templates/schedule/view.html:71 +#: manager/models/schedule.py:65 manager/templates/schedule/view.html:25 msgid "Schedule active" msgstr "Programmazione attiva" @@ -2237,7 +2208,7 @@ msgstr "" "mostrata ad esempio sul tuo cruscotto. Tutte le altre programmazioni sarà " "poste a non attive" -#: manager/models/schedule.py:77 manager/templates/schedule/view.html:81 +#: manager/models/schedule.py:77 manager/templates/schedule/view.html:35 msgid "Is a loop" msgstr "È un ciclo" @@ -2258,7 +2229,7 @@ msgid "The duration in weeks" msgstr "Durata in settimane" #: manager/models/schedule_step.py:64 manager/models/set.py:53 -#: manager/models/setting.py:113 nutrition/models/meal.py:55 +#: manager/models/setting.py:113 nutrition/models/meal.py:53 #: nutrition/models/meal_item.py:66 msgid "Order" msgstr "Ordine" @@ -2402,7 +2373,7 @@ msgstr "Panoramica del registro" msgid "Workout session" msgstr "Sessione di allenamento" -#: manager/templates/calendar/partial_overview_table.html:27 +#: manager/templates/calendar/partial_overview_table.html:26 msgid "Delete with logs" msgstr "Elimina con i registri" @@ -2425,21 +2396,27 @@ msgstr "" "creata se non ce n'è già una per la data selezionata. Se c'è,\n" "sarà semplicemente modificata. Le voci di peso vengono sempre aggiunte." -#: manager/templates/schedule/overview.html:5 +#: manager/templates/schedule/overview.html:4 msgid "Your schedules" msgstr "Le tue programmazioni" #: manager/templates/schedule/overview.html:19 -#: manager/templates/schedule/view.html:131 -#: manager/templates/schedule/view.html:183 +#: manager/templates/schedule/view.html:96 +#: manager/templates/schedule/view.html:146 #: manager/templates/workout/overview.html:16 msgid "active" msgstr "attivo" -#: manager/templates/schedule/overview.html:28 +#: manager/templates/schedule/overview.html:27 msgid "No schedules found." msgstr "Nessuna programmazione trovata." +#: manager/templates/schedule/overview.html:28 +#, fuzzy +#| msgid "Add one now." +msgid "Add one now" +msgstr "Aggiungine uno adesso." + #: manager/templates/schedule/overview.html:36 msgid "" "Schedules are collections of workouts that you do in\n" @@ -2449,19 +2426,27 @@ msgstr "" "successione." #: manager/templates/schedule/overview.html:39 +#, fuzzy +#| msgid "" +#| "You can indicate how long you want to do each workout\n" +#| " before jumping to the next. It is also possible to create a loop, " +#| "so you\n" +#| " always do the same workouts in succession, e.g. A > B > C > A > B " +#| "> C and so on." msgid "" "You can indicate how long you want to do each workout\n" " before jumping to the next. It is also possible to create a loop, so " "you\n" " always do the same workouts in succession, e.g. A > B > C > A > B > " -"C and so on." +"C and so\n" +" on." msgstr "" "Puoi indicare per quanto tempo vuoi fare ogni allenamento\n" "prima di saltare al prossimo. È anche possibile creare un ciclo, in modo da " "fare\n" "gli stessi allenamenti in successione, ad es. A> B> C> A> B> C e così via." -#: manager/templates/schedule/overview.html:43 +#: manager/templates/schedule/overview.html:44 msgid "" "The currently active schedule will remain active (and be\n" " shown e.g. in your dashboard) till it reaches the last workout or " @@ -2481,7 +2466,7 @@ msgstr "Aggiungi programmazione" msgid "Schedule" msgstr "Programmazione" -#: manager/templates/schedule/view.html:85 +#: manager/templates/schedule/view.html:39 msgid "" "This schedule is a loop and will go through the workouts above till you " "deactivate it" @@ -2489,19 +2474,15 @@ msgstr "" "Questo programma è un ciclo e passerà attraverso gli allenamenti che vedi " "sopra fino a quando non lo disattivi" -#: manager/templates/schedule/view.html:103 +#: manager/templates/schedule/view.html:57 msgid "Weeks" msgstr "Settimane" -#: manager/templates/schedule/view.html:115 -msgid "Move me" -msgstr "Spostami" - -#: manager/templates/schedule/view.html:156 +#: manager/templates/schedule/view.html:121 msgid "Start schedule" msgstr "Inizia programmazione" -#: manager/templates/schedule/view.html:187 +#: manager/templates/schedule/view.html:150 #, python-format msgid "" "%(weeks)s Week\n" @@ -2516,11 +2497,11 @@ msgstr[1] "" "Settimane %(weeks)s\n" " " -#: manager/templates/schedule/view.html:221 +#: manager/templates/schedule/view.html:184 msgid "Adding workouts" msgstr "Aggiungi allenamenti" -#: manager/templates/schedule/view.html:223 +#: manager/templates/schedule/view.html:186 msgid "" "Add as many workouts to the schedule as you want. You can\n" " edit the order by dragging and dropping them. It's also possible " @@ -2532,27 +2513,35 @@ msgstr "" "possibile aggiungere un allenamento più\n" " di una volta." -#: manager/templates/schedule/view.html:232 -#: manager/templates/schedule/view.html:243 -#: manager/templates/schedule/view.html:290 +#: manager/templates/schedule/view.html:195 +#: manager/templates/schedule/view.html:209 +#: manager/templates/schedule/view.html:263 #: manager/templates/workout/view.html:69 -#: manager/templates/workout/view.html:79 -#: manager/templates/workout/view.html:178 +#: manager/templates/workout/view.html:83 +#: manager/templates/workout/view.html:192 msgid "Export calendar file" msgstr "Esporta il file del calendario" -#: manager/templates/schedule/view.html:236 +#: manager/templates/schedule/view.html:201 msgid "Export this schedule as a calendar file." msgstr "Esporta questo programma come un file di calendario." -#: manager/templates/schedule/view.html:237 -#: manager/templates/workout/view.html:74 +#: manager/templates/schedule/view.html:202 +#: manager/templates/workout/view.html:76 +#, fuzzy +#| msgid "" +#| "You can then import the file it into your calendar\n" +#| " application for example google calendar, outlook " +#| "or iCal. This will create\n" +#| " an appointment for each training day with the " +#| "appropriate exercises." msgid "" "You can then import the file it into your calendar\n" " application for example google calendar, outlook or " "iCal. This will create\n" " an appointment for each training day with the " -"appropriate exercises." +"appropriate\n" +" exercises." msgstr "" "Puoi quindi importare il file nella tua applicazione di calendario\n" " come ad esempio google calendar, outlook o iCal. " @@ -2560,21 +2549,13 @@ msgstr "" " un appuntamento per ogni giorno di allenamento con " "gli esercizi appropriati." -#: manager/templates/schedule/view.html:258 -#: manager/templates/schedule/view.html:294 -#: manager/templates/workout/view.html:94 -#: manager/templates/workout/view.html:174 +#: manager/templates/schedule/view.html:225 +#: manager/templates/schedule/view.html:268 +#: manager/templates/workout/view.html:99 +#: manager/templates/workout/view.html:188 msgid "Download as PDF" msgstr "Scarica come PDF" -#: manager/templates/schedule/view.html:299 -msgid "Edit schedule" -msgstr "Modifica programma" - -#: manager/templates/schedule/view.html:304 -msgid "Delete schedule" -msgstr "Elimina programma" - #: manager/templates/set/add.html:9 #, python-format msgid "Add exercises to day \"%(day_name)s\"" @@ -2656,57 +2637,6 @@ msgid "" msgstr "" "Riceverai regolarmente tali promemoria finché non inserisci il peso corrente." -#: manager/templates/workout/log.html:10 manager/templates/workout/log.html:11 -msgid "Weight log" -msgstr "Diario dei pesi" - -#: manager/templates/workout/log.html:29 -msgid "Weight log for workout" -msgstr "Registro di peso per allenamento" - -#: manager/templates/workout/log.html:49 -msgid "Add weight log to this day" -msgstr "Aggiungi peso registrato di oggi" - -#: manager/templates/workout/log.html:69 -msgid "No weight entries here." -msgstr "Nessuna voce di peso qui." - -#: manager/templates/workout/log.html:77 -msgid "No exercises for this day." -msgstr "Nessun esercizio per questo giorno." - -#: manager/templates/workout/log.html:90 -msgid "" -"This page shows the weight logs belonging to this workout\n" -"only. Click on an exercise to see all the historical data for\n" -"it." -msgstr "" -"Questa pagina mostra i registri del peso che appartengono solo a questo\n" -"allenamento. \n" -"Fai clic su un esercizio per visualizzare tutti i dati storici." - -#: manager/templates/workout/log.html:94 -msgid "" -"If on a single day there is more than one entry with the\n" -"same number of repetitions, but different weights, only the entry with the\n" -"higher weight is shown in the diagram." -msgstr "" -"Se in un solo giorno c'è più di una voce con lo\n" -"stesso numero di ripetizioni, ma diversi pesi, solo la voce con il\n" -" peso più elevato sarà mostrato nel diagramma." - -#: manager/templates/workout/log.html:98 -msgid "" -"Note that only entries with a weight unit (kg or lb) and\n" -"repetitions are charted, other combinations such as time or until failure\n" -"are ignored here." -msgstr "" -"Si noti che solo le voci con un'unità di peso (kg o lb) e\n" -"le ripetizioni sono tracciate, altre combinazioni come il tempo o fino al " -"fallimento\n" -"sono ignorati qui." - #: manager/templates/workout/overview.html:25 msgid "No templates found." msgstr "Nessun modello trovato." @@ -2744,27 +2674,23 @@ msgstr "Aggiungi set allenamento a giorni" msgid "Set the repetitions for each set" msgstr "Imposta le ripetizioni per ciascun set" -#: manager/templates/workout/view.html:73 +#: manager/templates/workout/view.html:75 msgid "Export this workout as a calendar file." msgstr "Esporta questo allenamento come un file di calendario." -#: manager/templates/workout/view.html:144 +#: manager/templates/workout/view.html:156 msgid "Logs" msgstr "Records" -#: manager/templates/workout/view.html:146 +#: manager/templates/workout/view.html:159 msgid "View logs" msgstr "Guarda records" -#: manager/templates/workout/view.html:169 manager/views/schedule_step.py:99 -msgid "Edit workout" -msgstr "Modifica allenamento" - -#: manager/templates/workout/view.html:182 manager/views/workout.py:281 +#: manager/templates/workout/view.html:195 manager/views/workout.py:281 msgid "Mark as template" msgstr "Contrassegna come modello" -#: manager/views/day.py:109 +#: manager/views/day.py:105 msgid "Add workout day" msgstr "Aggiungi giorno di allenamento" @@ -2781,6 +2707,10 @@ msgstr "Allenamento per %s" msgid "Create schedule" msgstr "Crea programmazione" +#: manager/views/schedule_step.py:99 +msgid "Edit workout" +msgstr "Modifica allenamento" + #: manager/views/workout.py:209 msgid "Copy workout" msgstr "Copia allenamento" @@ -2904,7 +2834,7 @@ msgstr "Quantità in grammi" msgid "Unit amount, e.g. \"1 Cup\" or \"1/2 spoon\"" msgstr "Importo unitario, ad es. «1 tazza» o «1/2 cucchiaio»" -#: nutrition/models/log.py:52 nutrition/models/meal.py:50 +#: nutrition/models/log.py:52 nutrition/models/meal.py:48 #: nutrition/models/meal_item.py:48 nutrition/models/plan.py:108 msgid "Nutrition plan" msgstr "Piano nutrizionale" @@ -2917,11 +2847,11 @@ msgstr "Pasto" msgid "Date and Time (Approx.)" msgstr "Data e Ora (Approssimative)" -#: nutrition/models/meal.py:62 +#: nutrition/models/meal.py:60 msgid "Time (approx)" msgstr "Orario (approssimativo)" -#: nutrition/models/meal.py:69 +#: nutrition/models/meal.py:67 msgid "" "Give meals a textual description / name such as \"Breakfast\" or \"after " "workout\"" @@ -2950,63 +2880,6 @@ msgstr "" "quantità di calorie da raggiungere. Puoi usare la calcolatrice o inserire il " "valore tu stesso." -#: nutrition/templates/bmi/form.html:62 -msgid "Results" -msgstr "Risultati" - -#: nutrition/templates/bmi/form.html:63 -msgid "Your BMI is: " -msgstr "Il tuo IMC è " - -#: nutrition/templates/bmi/form.html:71 -msgid "Legend" -msgstr "Leggenda" - -#: nutrition/templates/bmi/form.html:75 -msgid "Adipositas III" -msgstr "Obesità III" - -#: nutrition/templates/bmi/form.html:79 -msgid "Adipositas II" -msgstr "Obesità II" - -#: nutrition/templates/bmi/form.html:83 -msgid "Adipositas I" -msgstr "Obesità I" - -#: nutrition/templates/bmi/form.html:87 -msgid "Overweight" -msgstr "Sovrappeso" - -#: nutrition/templates/bmi/form.html:91 -msgid "Normal weight" -msgstr "Normopeso" - -#: nutrition/templates/bmi/form.html:95 -msgid "Slight underweight" -msgstr "Leggermente sottopeso" - -#: nutrition/templates/bmi/form.html:99 -msgid "Moderate underweight" -msgstr "Moderatamente sottopeso" - -#: nutrition/templates/bmi/form.html:103 -msgid "Strong underweight" -msgstr "Fortemente sottopeso" - -#: nutrition/templates/bmi/form.html:117 -msgid "" -"Use the form to calculate your BMI (Body Mass Index).\n" -"If you have entered data in the weight section, the last entry will\n" -"be used automatically. Otherwise the weight you enter here will be saved\n" -"in a new entry." -msgstr "" -"Usa questo strumento per calcolare il tuo indice di massa corporea (BMI).\n" -"Se sono stati immessi dati nella sezione relativa al peso, verrà " -"automaticamente utilizzata l'ultima voce inserita.\n" -"Altrimenti il peso che inserisci qui verrà salvato\n" -"in una nuova voce." - #: nutrition/templates/ingredient/email_new.tpl:1 #, python-format msgid "" @@ -3066,10 +2939,6 @@ msgstr "Nessun ingrediente." msgid "Search" msgstr "Ricerca" -#: nutrition/templates/ingredient/overview.html:62 -msgid "Add ingredient" -msgstr "Aggiungi ingrediente" - #: nutrition/templates/ingredient/view.html:45 nutrition/views/plan.py:229 msgid "Macronutrients" msgstr "Macronutrienti" @@ -3089,20 +2958,11 @@ msgstr "n.D." msgid "Others" msgstr "Altri" -#: nutrition/templates/ingredient/view.html:144 -#: nutrition/templates/units/list.html:46 nutrition/views/unit.py:86 +#: nutrition/templates/ingredient/view.html:143 +#: nutrition/templates/units/list.html:50 nutrition/views/unit.py:86 msgid "Add new weight unit" msgstr "Aggiungi una nuova unità di peso" -#: nutrition/templates/ingredient/view.html:206 -#: nutrition/templates/ingredient/view.html:209 -msgid "Edit ingredient" -msgstr "Modifica ingrediente" - -#: nutrition/templates/ingredient/view.html:213 -msgid "Delete ingredient" -msgstr "Cancella ingrediente" - #: nutrition/templates/rate/form.html:25 msgid "Basal metabolic rate" msgstr "Metabolismo basale" @@ -3190,18 +3050,6 @@ msgstr "" "osserva\n" "te stesso per alcune settimane e modificare l'importo totale, se necessario." -#: nutrition/views/bmi.py:89 -msgid "Please make sure your height is within the appropriate range." -msgstr "Assicurarsi che la vostra altezza sia all'interno dell'intervallo." - -#: nutrition/views/bmi.py:92 -msgid "140 to 230" -msgstr "140 a 230" - -#: nutrition/views/bmi.py:94 -msgid "56 to 90" -msgstr "56 a 90" - #: nutrition/views/ingredient.py:157 msgid "Add a new ingredient" msgstr "Aggiungi un nuovo ingrediente" @@ -3753,6 +3601,144 @@ msgstr "Cancellato con successo." msgid "Delete weight entry for the %s" msgstr "Cancellato il peso inserito di %s" +#~ msgid "Move me" +#~ msgstr "Spostami" + +#~ msgid "Results" +#~ msgstr "Risultati" + +#~ msgid "Your BMI is: " +#~ msgstr "Il tuo IMC è " + +#~ msgid "Legend" +#~ msgstr "Leggenda" + +#~ msgid "Adipositas III" +#~ msgstr "Obesità III" + +#~ msgid "Adipositas II" +#~ msgstr "Obesità II" + +#~ msgid "Adipositas I" +#~ msgstr "Obesità I" + +#~ msgid "Overweight" +#~ msgstr "Sovrappeso" + +#~ msgid "Normal weight" +#~ msgstr "Normopeso" + +#~ msgid "Slight underweight" +#~ msgstr "Leggermente sottopeso" + +#~ msgid "Moderate underweight" +#~ msgstr "Moderatamente sottopeso" + +#~ msgid "Strong underweight" +#~ msgstr "Fortemente sottopeso" + +#~ msgid "" +#~ "Use the form to calculate your BMI (Body Mass Index).\n" +#~ "If you have entered data in the weight section, the last entry will\n" +#~ "be used automatically. Otherwise the weight you enter here will be saved\n" +#~ "in a new entry." +#~ msgstr "" +#~ "Usa questo strumento per calcolare il tuo indice di massa corporea " +#~ "(BMI).\n" +#~ "Se sono stati immessi dati nella sezione relativa al peso, verrà " +#~ "automaticamente utilizzata l'ultima voce inserita.\n" +#~ "Altrimenti il peso che inserisci qui verrà salvato\n" +#~ "in una nuova voce." + +#~ msgid "Please make sure your height is within the appropriate range." +#~ msgstr "Assicurarsi che la vostra altezza sia all'interno dell'intervallo." + +#~ msgid "140 to 230" +#~ msgstr "140 a 230" + +#~ msgid "56 to 90" +#~ msgstr "56 a 90" + +#~ msgid "" +#~ "If a license has been localized, e.g. the Creative Commons\n" +#~ " licenses for the different countries, add them as separate " +#~ "entries here." +#~ msgstr "" +#~ "Se una licenza è stata localizzata, ad es. le licenze Creative Commons\n" +#~ " per i diversi paesi, aggiungile qui come voci separate." + +#~ msgid "Add weight log" +#~ msgstr "Aggiungi record peso" + +#~ msgid "This exercise has no repetitions." +#~ msgstr "Questo esercizio non ha ripetizioni." + +#~ msgid "Edit them now." +#~ msgstr "Modificali ora." + +#~ msgid "Add exercises to this workout day" +#~ msgstr "Aggiungi esercizi per questo giorno di allenamento" + +#~ msgid "Edit schedule" +#~ msgstr "Modifica programma" + +#~ msgid "Delete schedule" +#~ msgstr "Elimina programma" + +#~ msgid "Weight log" +#~ msgstr "Diario dei pesi" + +#~ msgid "Weight log for workout" +#~ msgstr "Registro di peso per allenamento" + +#~ msgid "Add weight log to this day" +#~ msgstr "Aggiungi peso registrato di oggi" + +#~ msgid "No weight entries here." +#~ msgstr "Nessuna voce di peso qui." + +#~ msgid "No exercises for this day." +#~ msgstr "Nessun esercizio per questo giorno." + +#~ msgid "" +#~ "This page shows the weight logs belonging to this workout\n" +#~ "only. Click on an exercise to see all the historical data for\n" +#~ "it." +#~ msgstr "" +#~ "Questa pagina mostra i registri del peso che appartengono solo a questo\n" +#~ "allenamento. \n" +#~ "Fai clic su un esercizio per visualizzare tutti i dati storici." + +#~ msgid "" +#~ "If on a single day there is more than one entry with the\n" +#~ "same number of repetitions, but different weights, only the entry with " +#~ "the\n" +#~ "higher weight is shown in the diagram." +#~ msgstr "" +#~ "Se in un solo giorno c'è più di una voce con lo\n" +#~ "stesso numero di ripetizioni, ma diversi pesi, solo la voce con il\n" +#~ " peso più elevato sarà mostrato nel diagramma." + +#~ msgid "" +#~ "Note that only entries with a weight unit (kg or lb) and\n" +#~ "repetitions are charted, other combinations such as time or until " +#~ "failure\n" +#~ "are ignored here." +#~ msgstr "" +#~ "Si noti che solo le voci con un'unità di peso (kg o lb) e\n" +#~ "le ripetizioni sono tracciate, altre combinazioni come il tempo o fino al " +#~ "fallimento\n" +#~ "sono ignorati qui." + +#~ msgid "Add ingredient" +#~ msgstr "Aggiungi ingrediente" + +#~ msgid "Edit ingredient" +#~ msgstr "Modifica ingrediente" + +#~ msgid "Delete ingredient" +#~ msgstr "Cancella ingrediente" + #~ msgid "Ingredients pending review" #~ msgstr "Ingredienti in attesa di revisione" diff --git a/wger/locale/ja/LC_MESSAGES/django.po b/wger/locale/ja/LC_MESSAGES/django.po index fb02d5d61..bcc11bff9 100644 --- a/wger/locale/ja/LC_MESSAGES/django.po +++ b/wger/locale/ja/LC_MESSAGES/django.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: wger Workout Manager\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-14 15:59+0200\n" +"POT-Creation-Date: 2024-11-14 19:23+0100\n" "PO-Revision-Date: 2023-12-27 14:07+0000\n" "Last-Translator: sasukeiscool \n" "Language-Team: Japanese \n" @@ -22,7 +22,7 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 5.4-dev\n" -#: config/models/gym_config.py:46 gym/templates/gym/list.html:53 +#: config/models/gym_config.py:46 gym/templates/gym/list.html:56 msgid "Default gym" msgstr "デフォルトジム" @@ -32,28 +32,28 @@ msgid "" "registered users to this gym and update all existing users without a gym." msgstr "" -#: config/views/gym_config.py:42 core/templates/language/view.html:67 -#: core/templates/license/list.html:17 core/templates/misc/license/list.html:18 +#: config/views/gym_config.py:42 core/templates/language/view.html:64 +#: core/templates/license/list.html:17 #: core/templates/repetition_unit/list.html:18 -#: core/templates/tags/render_day.html:39 -#: core/templates/tags/render_day.html:75 core/templates/user/overview.html:204 -#: core/templates/user/overview.html:445 +#: core/templates/user/overview.html:204 core/templates/user/overview.html:467 #: core/templates/weight_unit/list.html:18 #: exercises/templates/categories/admin-overview.html:17 #: exercises/templates/equipment/admin-overview.html:17 -#: exercises/templates/muscles/admin-overview.html:17 -#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:32 -#: gym/templates/contract/list.html:31 gym/templates/contract/view.html:107 -#: gym/templates/contract_option/list.html:32 -#: gym/templates/contract_type/list.html:32 gym/templates/document/list.html:38 -#: gym/templates/gym/list.html:20 gym/templates/gym/list.html:46 -#: gym/templates/gym/member_list.html:87 gym/templates/gym/member_list.html:140 -#: gym/templates/gym/member_list.html:176 -#: manager/templates/calendar/day.html:68 -#: manager/templates/calendar/month.html:85 -#: manager/templates/calendar/partial_overview_table.html:18 -#: manager/templates/schedule/view.html:118 -#: nutrition/templates/ingredient/view.html:165 +#: exercises/templates/muscles/admin-overview.html:16 +#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:31 +#: gym/templates/contract/list.html:30 gym/templates/contract/view.html:106 +#: gym/templates/contract_option/list.html:29 +#: gym/templates/contract_type/list.html:30 gym/templates/document/list.html:38 +#: gym/templates/gym/list.html:19 gym/templates/gym/list.html:48 +#: gym/templates/gym/member_list.html:94 gym/templates/gym/member_list.html:152 +#: gym/templates/gym/member_list.html:190 +#: manager/templates/calendar/day.html:67 +#: manager/templates/calendar/month.html:84 +#: manager/templates/calendar/partial_overview_table.html:16 +#: manager/templates/schedule/view.html:271 +#: manager/templates/workout/view.html:181 +#: nutrition/templates/ingredient/view.html:164 +#: nutrition/templates/ingredient/view.html:209 #: nutrition/templates/units/list.html:19 msgid "Edit" msgstr "編集" @@ -87,25 +87,25 @@ msgstr "" msgid "Empty placeholder schedule" msgstr "" -#: core/forms.py:69 core/templates/navigation.html:285 -#: core/templates/navigation.html:291 core/templates/user/login.html:4 +#: core/forms.py:69 core/templates/navigation.html:284 +#: core/templates/navigation.html:290 core/templates/user/login.html:4 #: software/templates/features.html:82 software/templates/features.html:427 msgid "Login" msgstr "ログイン" -#: core/forms.py:108 core/forms.py:214 gym/views/export.py:61 +#: core/forms.py:108 core/forms.py:216 gym/views/export.py:61 #: gym/views/gym.py:217 msgid "First name" msgstr "名前" -#: core/forms.py:109 core/forms.py:215 core/templates/user/overview.html:266 +#: core/forms.py:109 core/forms.py:217 core/templates/user/overview.html:284 #: gym/views/export.py:62 gym/views/gym.py:217 msgid "Last name" msgstr "姓" -#: core/forms.py:111 core/forms.py:180 core/templates/user/overview.html:270 +#: core/forms.py:111 core/forms.py:182 core/templates/user/overview.html:288 #: gym/models/contract.py:256 gym/models/gym.py:58 -#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:104 +#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:116 #: gym/templates/gym/new_user.html:30 gym/views/export.py:60 #: mailer/templates/mailer/gym/form.html:4 #: mailer/templates/mailer/gym/overview.html:4 @@ -122,96 +122,95 @@ msgstr "" msgid "Date of Birth" msgstr "生年月日" -#: core/forms.py:148 +#: core/forms.py:149 msgid "Personal data" msgstr "パーソナルデータ" -#: core/forms.py:159 +#: core/forms.py:161 msgid "Workout reminders" msgstr "" -#: core/forms.py:166 +#: core/forms.py:168 msgid "Other settings" msgstr "その他の設定" -#: core/forms.py:174 core/views/user.py:624 core/views/user.py:639 -#: core/views/user.py:651 gym/forms.py:73 manager/templates/log/add.html:65 +#: core/forms.py:176 core/views/user.py:623 core/views/user.py:638 +#: core/views/user.py:650 gym/forms.py:73 manager/templates/log/add.html:65 #: manager/templates/set/add.html:70 manager/views/workout.py:203 #: utils/generic_views.py:143 msgid "Save" msgstr "保存" -#: core/forms.py:181 +#: core/forms.py:183 msgid "Used for password resets and, optionally, email reminders." msgstr "" -#: core/forms.py:210 +#: core/forms.py:212 #, fuzzy #| msgid "This email is already used." msgid "This e-mail address is already in use." msgstr "このメールアドレスは既に登録済みです。" -#: core/forms.py:231 gym/templates/gym/new_user.html:26 +#: core/forms.py:233 gym/templates/gym/new_user.html:26 #: gym/templates/gym/reset_user_password.html:24 gym/views/gym.py:217 msgid "Password" msgstr "パスワード" -#: core/forms.py:233 +#: core/forms.py:235 msgid "Please enter your current password." msgstr "現在のパスワードを入力してください。" -#: core/forms.py:242 core/templates/language/view.html:73 -#: core/templates/license/list.html:19 core/templates/misc/license/list.html:22 -#: core/templates/repetition_unit/list.html:20 -#: core/templates/tags/render_day.html:45 -#: core/templates/tags/render_day.html:81 core/templates/user/overview.html:217 -#: core/templates/weight_unit/list.html:20 -#: exercises/templates/categories/admin-overview.html:19 -#: exercises/templates/equipment/admin-overview.html:19 -#: exercises/templates/muscles/admin-overview.html:19 -#: gym/templates/admin_notes/list.html:40 -#: gym/templates/contract_option/list.html:41 -#: gym/templates/contract_type/list.html:41 gym/templates/document/list.html:46 -#: gym/templates/gym/list.html:22 manager/templates/calendar/day.html:73 -#: manager/templates/calendar/month.html:89 -#: manager/templates/calendar/partial_overview_table.html:23 -#: manager/templates/schedule/view.html:122 -#: manager/templates/workout/view.html:188 -#: nutrition/templates/ingredient/view.html:166 +#: core/forms.py:244 core/templates/language/view.html:70 +#: core/templates/license/list.html:21 +#: core/templates/repetition_unit/list.html:22 +#: core/templates/user/overview.html:233 +#: core/templates/weight_unit/list.html:22 +#: exercises/templates/categories/admin-overview.html:21 +#: exercises/templates/equipment/admin-overview.html:21 +#: exercises/templates/muscles/admin-overview.html:20 +#: gym/templates/admin_notes/list.html:37 +#: gym/templates/contract_option/list.html:35 +#: gym/templates/contract_type/list.html:36 gym/templates/document/list.html:46 +#: gym/templates/gym/list.html:23 manager/templates/calendar/day.html:73 +#: manager/templates/calendar/month.html:88 +#: manager/templates/calendar/partial_overview_table.html:22 +#: manager/templates/schedule/view.html:277 +#: manager/templates/workout/view.html:202 +#: nutrition/templates/ingredient/view.html:168 #: nutrition/templates/ingredient/view.html:215 -#: nutrition/templates/units/list.html:22 +#: nutrition/templates/units/list.html:25 msgid "Delete" msgstr "削除" -#: core/forms.py:251 +#: core/forms.py:253 msgid "Invalid password" msgstr "パスワードは無効です。" -#: core/forms.py:263 core/forms.py:338 +#: core/forms.py:265 core/forms.py:340 msgid "The form is secured with reCAPTCHA" msgstr "" -#: core/forms.py:279 core/forms.py:301 core/templates/navigation.html:285 -#: core/templates/navigation.html:297 core/templates/template.html:149 -#: core/templates/user/login.html:20 core/views/user.py:298 +#: core/forms.py:281 core/forms.py:303 core/templates/navigation.html:284 +#: core/templates/navigation.html:296 core/templates/template.html:150 +#: core/templates/user/login.html:20 core/views/user.py:297 #: software/templates/features.html:87 software/templates/features.html:422 msgid "Register" msgstr "登録" -#: core/forms.py:315 software/templates/features.html:45 +#: core/forms.py:317 software/templates/features.html:45 msgid "Contact" msgstr "問い合わせ" -#: core/forms.py:316 +#: core/forms.py:318 msgid "Some way of answering you (e-mail, etc.)" msgstr "" -#: core/forms.py:324 exercises/models/comment.py:58 manager/models/set.py:61 +#: core/forms.py:326 exercises/models/comment.py:58 manager/models/set.py:61 #: manager/models/setting.py:114 nutrition/models/log.py:77 msgid "Comment" msgstr "コメント" -#: core/forms.py:325 +#: core/forms.py:327 msgid "What do you want to say?" msgstr "" @@ -428,18 +427,18 @@ msgid "The sum of all hours has to be 24" msgstr "" #: core/models/rep_unit.py:36 core/models/weight_unit.py:36 -#: core/templates/user/overview.html:262 core/views/user.py:599 +#: core/templates/user/overview.html:280 core/views/user.py:598 #: exercises/models/category.py:29 exercises/models/equipment.py:29 #: exercises/models/exercise.py:59 exercises/models/muscle.py:36 #: gym/models/contract.py:52 gym/models/contract.py:103 gym/models/gym.py:46 #: gym/models/user_document.py:84 gym/templates/contract/view.html:50 -#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:96 +#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:108 #: gym/views/gym.py:158 manager/models/schedule.py:55 #: manager/models/workout.py:57 measurements/models/category.py:36 #: nutrition/models/ingredient.py:111 -#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:67 +#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:65 #: nutrition/models/weight_unit.py:38 -#: nutrition/templates/ingredient/view.html:152 +#: nutrition/templates/ingredient/view.html:151 msgid "Name" msgstr "" @@ -484,7 +483,7 @@ msgstr "" msgid "Back to \"%(target)s\"" msgstr "" -#: core/templates/delete.html:15 +#: core/templates/delete.html:4 msgid "Are you sure you want to delete this? This action cannot be undone." msgstr "" @@ -540,7 +539,7 @@ msgstr "" msgid "Dashboard" msgstr "ダッシュボード" -#: core/templates/language/overview.html:4 core/templates/navigation.html:345 +#: core/templates/language/overview.html:4 core/templates/navigation.html:344 msgid "Languages" msgstr "言語" @@ -550,79 +549,72 @@ msgstr "" #: core/templates/language/overview.html:22 #: manager/templates/calendar/month.html:132 -#: manager/templates/schedule/overview.html:28 -#: manager/templates/schedule/view.html:144 +#: manager/templates/schedule/view.html:107 #: manager/templates/workout/overview.html:28 #: nutrition/templates/ingredient/overview.html:38 msgid "Add one now." msgstr "今すぐ追加する" -#: core/templates/language/overview.html:35 core/templates/license/list.html:40 -#: core/templates/misc/license/list.html:43 -#: core/templates/repetition_unit/list.html:43 -#: core/templates/user/overview.html:326 core/templates/user/overview.html:365 -#: core/templates/user/overview.html:401 -#: core/templates/weight_unit/list.html:43 core/views/languages.py:74 +#: core/templates/language/overview.html:34 core/templates/license/list.html:43 +#: core/templates/repetition_unit/list.html:46 +#: core/templates/user/overview.html:344 core/templates/user/overview.html:384 +#: core/templates/user/overview.html:422 +#: core/templates/weight_unit/list.html:46 core/views/languages.py:74 #: core/views/license.py:66 core/views/repetition_units.py:66 #: core/views/weight_units.py:66 -#: exercises/templates/categories/admin-overview.html:38 -#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:67 -#: gym/templates/contract/list.html:73 -#: gym/templates/contract_option/list.html:72 -#: gym/templates/contract_type/list.html:72 gym/templates/document/list.html:79 -#: gym/templates/gym/member_list.html:211 -#: gym/templates/gym/member_list.html:244 -#: gym/templates/gym/member_list.html:281 +#: exercises/templates/categories/admin-overview.html:40 +#: exercises/templates/equipment/admin-overview.html:39 +#: exercises/templates/muscles/admin-overview.html:40 +#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:64 +#: gym/templates/contract/list.html:69 +#: gym/templates/contract_option/list.html:65 +#: gym/templates/contract_type/list.html:66 gym/templates/document/list.html:78 +#: gym/templates/gym/member_list.html:228 +#: gym/templates/gym/member_list.html:264 +#: gym/templates/gym/member_list.html:303 #: mailer/templates/mailer/gym/overview.html:43 +#: nutrition/templates/ingredient/overview.html:60 msgid "Add" msgstr "追加" #: core/templates/language/view.html:61 core/templates/user/api_key.html:44 -#: core/templates/user/preferences.html:45 gym/models/contract.py:203 -#: gym/templates/contract/view.html:41 gym/templates/contract/view.html:106 -#: gym/templates/gym/member_list.html:248 -#: manager/templates/schedule/view.html:285 -#: manager/templates/workout/view.html:163 -#: nutrition/templates/ingredient/view.html:202 +#: core/templates/user/preferences.html:50 gym/models/contract.py:203 +#: gym/templates/contract/view.html:41 gym/templates/gym/member_list.html:270 +#: manager/templates/schedule/view.html:257 +#: manager/templates/workout/view.html:177 +#: nutrition/templates/ingredient/view.html:206 msgid "Options" msgstr "オプション" -#: core/templates/license/list.html:4 core/templates/misc/license/list.html:4 +#: core/templates/license/list.html:4 msgid "License list" msgstr "" -#: core/templates/license/list.html:26 core/templates/misc/license/list.html:30 -#: core/templates/repetition_unit/list.html:28 +#: core/templates/license/list.html:30 +#: core/templates/repetition_unit/list.html:32 #: core/templates/user/overview.html:104 core/templates/user/overview.html:136 -#: core/templates/user/overview.html:185 core/templates/user/overview.html:347 -#: core/templates/user/overview.html:383 core/templates/user/overview.html:427 -#: core/templates/weight_unit/list.html:28 -#: exercises/templates/categories/admin-overview.html:26 -#: exercises/templates/equipment/admin-overview.html:26 -#: exercises/templates/muscles/admin-overview.html:26 -#: gym/templates/admin_notes/list.html:52 gym/templates/contract/list.html:60 -#: gym/templates/contract_option/list.html:58 -#: gym/templates/contract_type/list.html:58 gym/templates/document/list.html:64 -#: gym/templates/gym/list.html:29 gym/templates/gym/member_list.html:229 -#: gym/templates/gym/member_list.html:262 -#: gym/templates/gym/member_list.html:299 +#: core/templates/user/overview.html:185 core/templates/user/overview.html:365 +#: core/templates/user/overview.html:404 core/templates/user/overview.html:448 +#: core/templates/weight_unit/list.html:32 +#: exercises/templates/categories/admin-overview.html:30 +#: exercises/templates/equipment/admin-overview.html:30 +#: exercises/templates/muscles/admin-overview.html:29 +#: gym/templates/admin_notes/list.html:50 gym/templates/contract/list.html:57 +#: gym/templates/contract_option/list.html:52 +#: gym/templates/contract_type/list.html:53 gym/templates/document/list.html:64 +#: gym/templates/gym/list.html:32 gym/templates/gym/member_list.html:248 +#: gym/templates/gym/member_list.html:284 +#: gym/templates/gym/member_list.html:321 #: mailer/templates/mailer/gym/overview.html:30 -#: manager/templates/calendar/day.html:87 -#: nutrition/templates/units/list.html:29 +#: manager/templates/calendar/day.html:88 +#: nutrition/templates/units/list.html:34 msgid "Nothing found" msgstr "" -#: core/templates/misc/about.html:4 core/templates/template.html:175 +#: core/templates/misc/about.html:4 core/templates/template.html:187 msgid "Imprint" msgstr "" -#: core/templates/misc/license/list.html:47 -msgid "" -"If a license has been localized, e.g. the Creative Commons\n" -" licenses for the different countries, add them as separate " -"entries here." -msgstr "" - #: core/templates/navigation.html:28 software/templates/features.html:437 msgid "Training" msgstr "" @@ -667,8 +659,8 @@ msgstr "" msgid "Exercises" msgstr "運動" -#: core/templates/navigation.html:111 core/templates/navigation.html:184 -#: core/templates/navigation.html:340 +#: core/templates/navigation.html:111 core/templates/navigation.html:185 +#: core/templates/navigation.html:339 msgid "Administration" msgstr "" @@ -699,7 +691,7 @@ msgstr "" msgid "Nutrition plans" msgstr "" -#: core/templates/navigation.html:165 nutrition/templates/bmi/form.html:50 +#: core/templates/navigation.html:165 msgid "BMI calculator" msgstr "BMI計算" @@ -707,87 +699,87 @@ msgstr "BMI計算" msgid "Daily calories calculator" msgstr "" -#: core/templates/navigation.html:179 +#: core/templates/navigation.html:180 #: nutrition/templates/ingredient/overview.html:10 msgid "Ingredient overview" msgstr "" -#: core/templates/navigation.html:187 nutrition/templates/units/list.html:6 +#: core/templates/navigation.html:189 nutrition/templates/units/list.html:6 msgid "Ingredient weight units" msgstr "" -#: core/templates/navigation.html:203 software/templates/features.html:442 +#: core/templates/navigation.html:205 software/templates/features.html:442 msgid "Body weight" msgstr "" -#: core/templates/navigation.html:210 core/templates/user/overview.html:114 +#: core/templates/navigation.html:212 core/templates/user/overview.html:114 msgid "Weight overview" msgstr "" -#: core/templates/navigation.html:217 weight/views.py:65 +#: core/templates/navigation.html:216 weight/views.py:65 msgid "Add weight entry" msgstr "" -#: core/templates/navigation.html:231 +#: core/templates/navigation.html:230 msgid "About this software" msgstr "" -#: core/templates/navigation.html:237 software/templates/about_us.html:5 +#: core/templates/navigation.html:236 software/templates/about_us.html:5 msgid "About us" msgstr "" -#: core/templates/navigation.html:243 software/templates/features.html:507 +#: core/templates/navigation.html:242 software/templates/features.html:507 msgid "REST API" msgstr "" -#: core/templates/navigation.html:249 utils/models.py:45 +#: core/templates/navigation.html:248 utils/models.py:45 msgid "License" msgstr "ライセンス" -#: core/templates/navigation.html:255 +#: core/templates/navigation.html:254 msgid "Developer documentation" msgstr "" -#: core/templates/navigation.html:262 +#: core/templates/navigation.html:261 msgid "Get the code" msgstr "" -#: core/templates/navigation.html:269 core/templates/template.html:214 +#: core/templates/navigation.html:268 core/templates/template.html:226 #: software/templates/features.html:582 msgid "Translate" msgstr "翻訳" -#: core/templates/navigation.html:303 core/templates/user/login.html:28 +#: core/templates/navigation.html:302 core/templates/user/login.html:28 msgid "Reset password" msgstr "パスワード再設定" -#: core/templates/navigation.html:321 +#: core/templates/navigation.html:320 msgid "My preferences" msgstr "" -#: core/templates/navigation.html:330 +#: core/templates/navigation.html:329 msgid "Logout" msgstr "ロッグアウト" -#: core/templates/navigation.html:353 +#: core/templates/navigation.html:352 msgid "Licenses" msgstr "" -#: core/templates/navigation.html:361 +#: core/templates/navigation.html:360 #: core/templates/repetition_unit/list.html:4 msgid "Repetition units" msgstr "" -#: core/templates/navigation.html:369 core/templates/weight_unit/list.html:4 +#: core/templates/navigation.html:368 core/templates/weight_unit/list.html:4 #: nutrition/templates/ingredient/view.html:141 msgid "Weight units" msgstr "" -#: core/templates/navigation.html:377 core/templates/user/list.html:4 +#: core/templates/navigation.html:376 core/templates/user/list.html:4 msgid "User list" msgstr "" -#: core/templates/navigation.html:383 +#: core/templates/navigation.html:382 msgid "Gyms" msgstr "" @@ -846,55 +838,28 @@ msgstr "" msgid "next" msgstr "" -#: core/templates/tags/render_day.html:34 -msgid "Add weight log" +#: core/templates/tags/render_day.html:44 +msgid "Placeholder image for translation" msgstr "" -#: core/templates/tags/render_day.html:116 -msgid "Placeholder image for exercise" -msgstr "" - -#: core/templates/tags/render_day.html:133 -msgid "This exercise has no repetitions." -msgstr "" - -#: core/templates/tags/render_day.html:136 -msgid "Edit them now." -msgstr "" - -#: core/templates/tags/render_day.html:162 -msgid "Add exercises to this workout day" -msgstr "" - -#: core/templates/tags/render_weight_log.html:17 manager/helpers.py:86 -#: manager/models/setting.py:72 manager/templates/set/formset.html:9 -msgid "Reps" -msgstr "回" - -#: core/templates/tags/render_weight_log.html:30 manager/forms.py:191 -#: manager/models/log.py:103 manager/models/setting.py:102 -#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 -msgid "RiR" -msgstr "" - -#: core/templates/template.html:122 manager/templates/calendar/month.html:138 -#: manager/templates/schedule/view.html:248 -#: manager/templates/schedule/view.html:269 -#: manager/templates/workout/view.html:84 -#: manager/templates/workout/view.html:137 +#: core/templates/template.html:123 manager/templates/calendar/month.html:138 +#: manager/templates/schedule/view.html:215 +#: manager/templates/schedule/view.html:240 +#: manager/templates/workout/view.html:89 +#: manager/templates/workout/view.html:149 msgid "Close" msgstr "閉じる" -#: core/templates/template.html:138 +#: core/templates/template.html:139 msgid "" "You are using a guest account, data entered will be deleted after a week." msgstr "" -#: core/templates/template.html:143 +#: core/templates/template.html:144 msgid "Create some demo entries" msgstr "" -#: core/templates/template.html:180 software/templates/features.html:547 +#: core/templates/template.html:192 software/templates/features.html:547 #: software/templates/tos.html:7 msgid "Terms of service" msgstr "使用条件" @@ -903,7 +868,7 @@ msgstr "使用条件" msgid "Features" msgstr "" -#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:54 +#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:59 msgid "API key" msgstr "APIキー" @@ -942,17 +907,17 @@ msgstr "" msgid "Documentation" msgstr "" -#: core/templates/user/delete_account.html:4 -#: core/templates/user/preferences.html:59 +#: core/templates/user/delete_account.html:3 +#: core/templates/user/preferences.html:62 msgid "Delete account" msgstr "" -#: core/templates/user/delete_account.html:17 +#: core/templates/user/delete_account.html:9 #: exercises/templates/history/overview.html:93 msgid "Are you sure?" msgstr "" -#: core/templates/user/delete_account.html:22 +#: core/templates/user/delete_account.html:14 #, python-format msgid "" "This action will delete the user account \"%(username)s\".\n" @@ -971,22 +936,22 @@ msgstr "" #: core/templates/user/overview.html:25 core/templates/user/overview.html:68 #: core/templates/user/overview.html:112 core/templates/user/overview.html:144 -#: core/templates/user/overview.html:330 core/templates/user/overview.html:369 -#: core/templates/user/overview.html:405 +#: core/templates/user/overview.html:348 core/templates/user/overview.html:390 +#: core/templates/user/overview.html:426 #, python-format msgid "last %(number)s" msgstr "" #: core/templates/user/overview.html:27 core/templates/user/overview.html:146 -#: core/templates/user/overview.html:325 core/templates/user/overview.html:364 -#: core/templates/user/overview.html:400 gym/templates/gym/member_list.html:210 -#: gym/templates/gym/member_list.html:243 -#: gym/templates/gym/member_list.html:280 +#: core/templates/user/overview.html:343 core/templates/user/overview.html:382 +#: core/templates/user/overview.html:421 gym/templates/gym/member_list.html:226 +#: gym/templates/gym/member_list.html:262 +#: gym/templates/gym/member_list.html:302 msgid "Overview" msgstr "" #: core/templates/user/overview.html:28 -#: manager/templates/schedule/view.html:163 +#: manager/templates/schedule/view.html:125 #: manager/templates/workout/overview.html:39 manager/views/schedule_step.py:60 msgid "Add workout" msgstr "ワークアウトを追加する" @@ -1018,38 +983,36 @@ msgstr "" msgid "Number of logs (days)" msgstr "" -#: core/templates/user/overview.html:37 core/views/user.py:600 +#: core/templates/user/overview.html:37 core/views/user.py:599 #: gym/templates/gym/email_inactive_members.html:4 gym/views/gym.py:158 msgid "Last activity" msgstr "" #: core/templates/user/overview.html:58 #: manager/templates/calendar/month.html:128 -#: manager/templates/schedule/view.html:144 #: manager/templates/workout/overview.html:28 msgid "No workouts found." msgstr "" #: core/templates/user/overview.html:68 manager/forms.py:280 -#: manager/templates/workout/view.html:106 +#: manager/templates/workout/view.html:114 msgid "Log" msgstr "" #: core/templates/user/overview.html:77 manager/models/session.py:83 -#: manager/templates/calendar/partial_overview_table.html:52 +#: manager/templates/calendar/partial_overview_table.html:54 msgid "General impression" msgstr "" -#: core/templates/user/overview.html:78 core/templates/user/overview.html:369 +#: core/templates/user/overview.html:78 core/templates/user/overview.html:390 #: manager/models/session.py:73 -#: manager/templates/calendar/partial_overview_table.html:56 -#: manager/templates/workout/log.html:89 +#: manager/templates/calendar/partial_overview_table.html:58 msgid "Notes" msgstr "" #: core/templates/user/overview.html:79 #: exercises/templates/history/overview.html:30 -#: manager/templates/calendar/partial_overview_table.html:42 +#: manager/templates/calendar/partial_overview_table.html:44 msgid "Time" msgstr "" @@ -1087,121 +1050,121 @@ msgstr "脂肪質" msgid "kcal" msgstr "kcal" -#: core/templates/user/overview.html:201 core/templates/user/overview.html:322 -#: core/templates/user/overview.html:361 core/templates/user/overview.html:397 -#: core/templates/user/overview.html:442 gym/templates/gym/list.html:42 -#: gym/templates/gym/member_list.html:84 gym/templates/gym/member_list.html:137 -#: gym/templates/gym/member_list.html:173 -#: gym/templates/gym/member_list.html:207 -#: gym/templates/gym/member_list.html:240 -#: gym/templates/gym/member_list.html:277 -#: manager/templates/schedule/view.html:100 +#: core/templates/user/overview.html:201 core/templates/user/overview.html:340 +#: core/templates/user/overview.html:379 core/templates/user/overview.html:418 +#: core/templates/user/overview.html:463 gym/templates/gym/list.html:45 +#: gym/templates/gym/member_list.html:91 gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:187 +#: gym/templates/gym/member_list.html:223 +#: gym/templates/gym/member_list.html:259 +#: gym/templates/gym/member_list.html:299 +#: manager/templates/schedule/view.html:54 msgid "Actions" msgstr "" -#: core/templates/user/overview.html:207 +#: core/templates/user/overview.html:210 msgid "Deactivate user" msgstr "" -#: core/templates/user/overview.html:209 +#: core/templates/user/overview.html:214 msgid "Activate user" msgstr "" -#: core/templates/user/overview.html:211 +#: core/templates/user/overview.html:223 msgid "Reset user password" msgstr "" -#: core/templates/user/overview.html:214 gym/templates/gym/member_list.html:30 +#: core/templates/user/overview.html:227 gym/templates/gym/member_list.html:30 msgid "Roles" msgstr "" -#: core/templates/user/overview.html:225 +#: core/templates/user/overview.html:243 msgid "Password reset confirmation" msgstr "" -#: core/templates/user/overview.html:229 +#: core/templates/user/overview.html:247 msgid "Do you really want to change this user's password?" msgstr "" -#: core/templates/user/overview.html:232 +#: core/templates/user/overview.html:250 #: exercises/templates/history/overview.html:106 msgid "No" msgstr "" -#: core/templates/user/overview.html:233 +#: core/templates/user/overview.html:251 #: exercises/templates/history/overview.html:99 msgid "Yes" msgstr "" -#: core/templates/user/overview.html:254 gym/templates/gym/member_list.html:93 +#: core/templates/user/overview.html:272 gym/templates/gym/member_list.html:105 msgid "Details" msgstr "" -#: core/templates/user/overview.html:258 gym/views/export.py:57 -#: manager/helpers.py:86 manager/templates/schedule/view.html:98 +#: core/templates/user/overview.html:276 gym/views/export.py:57 +#: manager/helpers.py:86 manager/templates/schedule/view.html:52 msgid "Nr." msgstr "" -#: core/templates/user/overview.html:280 gym/models/contract.py:287 +#: core/templates/user/overview.html:298 gym/models/contract.py:287 #: gym/models/gym.py:50 gym/templates/contract/view.html:75 -#: gym/templates/gym/member_list.html:100 gym/views/export.py:68 +#: gym/templates/gym/member_list.html:112 gym/views/export.py:68 msgid "Phone" msgstr "" -#: core/templates/user/overview.html:284 gym/templates/contract/view.html:87 -#: gym/templates/gym/member_list.html:118 +#: core/templates/user/overview.html:302 gym/templates/contract/view.html:87 +#: gym/templates/gym/member_list.html:130 msgid "Address" msgstr "" -#: core/templates/user/overview.html:295 +#: core/templates/user/overview.html:313 msgid "Registered" msgstr "" -#: core/templates/user/overview.html:299 +#: core/templates/user/overview.html:317 msgid "Last login" msgstr "" -#: core/templates/user/overview.html:304 +#: core/templates/user/overview.html:322 msgid "Status" msgstr "" -#: core/templates/user/overview.html:307 +#: core/templates/user/overview.html:325 msgid "Active" msgstr "" -#: core/templates/user/overview.html:309 +#: core/templates/user/overview.html:327 msgid "Inactive" msgstr "" -#: core/templates/user/overview.html:330 gym/templates/contract/list.html:4 -#: gym/templates/gym/member_list.html:202 +#: core/templates/user/overview.html:348 gym/templates/contract/list.html:4 +#: gym/templates/gym/member_list.html:218 msgid "Contracts" msgstr "" -#: core/templates/user/overview.html:405 gym/templates/document/list.html:4 +#: core/templates/user/overview.html:426 gym/templates/document/list.html:4 msgid "Documents" msgstr "" -#: core/templates/user/overview.html:412 gym/templates/document/list.html:32 -#: manager/forms.py:292 manager/templates/workout/view.html:132 +#: core/templates/user/overview.html:433 gym/templates/document/list.html:33 +#: manager/forms.py:292 manager/templates/workout/view.html:143 msgid "Download" msgstr "ダウンロード" -#: core/templates/user/overview.html:450 gym/views/admin_config.py:44 +#: core/templates/user/overview.html:474 gym/views/admin_config.py:44 #: gym/views/admin_config.py:58 gym/views/user_config.py:46 msgid "Configuration" msgstr "設定" -#: core/templates/user/overview.html:453 gym/models/user_config.py:92 +#: core/templates/user/overview.html:477 gym/models/user_config.py:92 msgid "Include in inactive overview" msgstr "" -#: core/templates/user/overview.html:486 +#: core/templates/user/overview.html:510 #, python-format msgid "Admin login is only available for users in %(gym_name)s" msgstr "" -#: core/templates/user/overview.html:490 +#: core/templates/user/overview.html:514 msgid "Log in as this user" msgstr "" @@ -1221,19 +1184,19 @@ msgstr "" msgid "Send verification email" msgstr "" -#: core/templates/user/preferences.html:30 +#: core/templates/user/preferences.html:31 msgid "You need to verify your email to contribute exercises" msgstr "" -#: core/templates/user/preferences.html:50 core/views/user.py:611 +#: core/templates/user/preferences.html:55 core/views/user.py:610 msgid "Change password" msgstr "" -#: core/templatetags/wger_extras.py:205 i18n.tpl:37 +#: core/templatetags/wger_extras.py:197 i18n.tpl:37 msgid "kg" msgstr "kg" -#: core/templatetags/wger_extras.py:207 +#: core/templatetags/wger_extras.py:199 #: nutrition/templates/ingredient/view.html:60 #: nutrition/templates/ingredient/view.html:66 #: nutrition/templates/ingredient/view.html:73 @@ -1245,11 +1208,11 @@ msgctxt "weight unit, i.e. grams" msgid "g" msgstr "g" -#: core/templatetags/wger_extras.py:210 i18n.tpl:38 +#: core/templatetags/wger_extras.py:202 i18n.tpl:38 msgid "lb" msgstr "lb" -#: core/templatetags/wger_extras.py:212 +#: core/templatetags/wger_extras.py:204 msgctxt "weight unit, i.e. ounces" msgid "oz" msgstr "oz" @@ -1276,13 +1239,13 @@ msgid "Delete {0}?" msgstr "" #: core/views/languages.py:111 core/views/license.py:85 -#: core/views/repetition_units.py:86 core/views/user.py:474 +#: core/views/repetition_units.py:86 core/views/user.py:473 #: core/views/weight_units.py:86 exercises/views/categories.py:98 #: exercises/views/equipment.py:81 exercises/views/muscles.py:87 #: gym/views/admin_notes.py:161 gym/views/config.py:68 #: gym/views/contract.py:186 gym/views/contract_option.py:123 #: gym/views/contract_type.py:123 gym/views/document.py:171 -#: gym/views/gym.py:463 manager/views/day.py:100 manager/views/schedule.py:333 +#: gym/views/gym.py:463 manager/views/day.py:96 manager/views/schedule.py:333 #: manager/views/workout.py:267 nutrition/views/ingredient.py:145 #: nutrition/views/unit.py:143 #, python-brace-format @@ -1308,48 +1271,48 @@ msgstr "" msgid "Your feedback was successfully sent. Thank you!" msgstr "" -#: core/views/user.py:156 +#: core/views/user.py:155 #, python-brace-format msgid "Account \"{0}\" was successfully deleted" msgstr "" -#: core/views/user.py:292 +#: core/views/user.py:291 msgid "You were successfully registered" msgstr "" -#: core/views/user.py:351 +#: core/views/user.py:350 msgid "Settings successfully updated" msgstr "" -#: core/views/user.py:390 +#: core/views/user.py:389 msgid "The user was successfully deactivated" msgstr "" -#: core/views/user.py:427 +#: core/views/user.py:426 msgid "The user was successfully activated" msgstr "" -#: core/views/user.py:442 +#: core/views/user.py:441 msgid "Edit user" msgstr "" -#: core/views/user.py:597 gym/templates/gym/member_list.html:26 +#: core/views/user.py:596 gym/templates/gym/member_list.html:26 #: gym/views/gym.py:158 msgid "ID" msgstr "" -#: core/views/user.py:598 gym/forms.py:95 gym/templates/contract/view.html:55 +#: core/views/user.py:597 gym/forms.py:95 gym/templates/contract/view.html:55 #: gym/templates/gym/member_list.html:27 gym/views/export.py:59 #: gym/views/gym.py:158 gym/views/gym.py:217 msgid "Username" msgstr "" -#: core/views/user.py:601 gym/templates/gym/new_user.html:34 +#: core/views/user.py:600 gym/templates/gym/new_user.html:34 #: gym/views/export.py:58 gym/views/gym.py:217 msgid "Gym" msgstr "" -#: core/views/user.py:660 +#: core/views/user.py:659 #, python-format msgid "A verification email was sent to %(email)s" msgstr "" @@ -1501,11 +1464,6 @@ msgstr "" msgid "Equipment list" msgstr "" -#: exercises/templates/equipment/admin-overview.html:39 -#: exercises/views/equipment.py:92 -msgid "Add new equipment" -msgstr "" - #: exercises/templates/history/overview.html:11 msgid "Exercise admin history" msgstr "" @@ -1555,11 +1513,6 @@ msgstr "" msgid "Muscle overview" msgstr "" -#: exercises/templates/muscles/admin-overview.html:38 -#: exercises/views/muscles.py:68 -msgid "Add muscle" -msgstr "" - #: exercises/views/categories.py:72 msgid "Add category" msgstr "" @@ -1568,6 +1521,10 @@ msgstr "" msgid "This will also delete all exercises in this category." msgstr "" +#: exercises/views/equipment.py:92 +msgid "Add new equipment" +msgstr "" + #: exercises/views/equipment.py:104 exercises/views/equipment.py:115 msgid "Delete equipment?" msgstr "" @@ -1576,6 +1533,10 @@ msgstr "" msgid "This will delete the exercise from all workouts." msgstr "" +#: exercises/views/muscles.py:68 +msgid "Add muscle" +msgstr "" + #: gallery/templates/images/overview.html:62 #, fuzzy #| msgid "Add member" @@ -1663,7 +1624,7 @@ msgid "Contract is active" msgstr "" #: gym/models/contract.py:237 gym/templates/contract/view.html:69 -#: manager/models/schedule.py:61 manager/templates/schedule/view.html:67 +#: manager/models/schedule.py:61 manager/templates/schedule/view.html:21 msgid "Start date" msgstr "" @@ -1699,7 +1660,7 @@ msgstr "" msgid "Admin: can administrate the different gyms" msgstr "" -#: gym/models/gym.py:65 gym/templates/gym/member_list.html:114 +#: gym/models/gym.py:65 gym/templates/gym/member_list.html:126 msgid "Owner" msgstr "" @@ -1709,7 +1670,7 @@ msgid "" "considered inactive" msgstr "" -#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:152 +#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:166 msgid "Show name in header" msgstr "" @@ -1722,7 +1683,7 @@ msgstr "" msgid "Configuration for {self.gym.name}" msgstr "" -#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:184 +#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:200 msgid "Overview of inactive members" msgstr "" @@ -1746,7 +1707,7 @@ msgstr "" msgid "User notes" msgstr "" -#: gym/templates/contract/list.html:36 +#: gym/templates/contract/list.html:34 msgid "Show" msgstr "表示" @@ -1772,11 +1733,11 @@ msgstr "" msgid "Gym list" msgstr "" -#: gym/templates/gym/list.html:50 +#: gym/templates/gym/list.html:53 msgid "Global gym configuration" msgstr "" -#: gym/templates/gym/list.html:67 gym/views/gym.py:171 +#: gym/templates/gym/list.html:69 gym/views/gym.py:171 msgid "Add new gym" msgstr "" @@ -1788,43 +1749,43 @@ msgstr "" msgid "Gym manager" msgstr "" -#: gym/templates/gym/member_list.html:69 +#: gym/templates/gym/member_list.html:76 msgid "This gym has no administrators or trainers" msgstr "" -#: gym/templates/gym/member_list.html:88 +#: gym/templates/gym/member_list.html:98 msgid "Export" msgstr "エクスポート" -#: gym/templates/gym/member_list.html:125 +#: gym/templates/gym/member_list.html:137 msgid "Members" msgstr "メンバー" -#: gym/templates/gym/member_list.html:145 +#: gym/templates/gym/member_list.html:159 msgid "Gym configuration" msgstr "" -#: gym/templates/gym/member_list.html:148 +#: gym/templates/gym/member_list.html:162 msgid "Inactive members" msgstr "" -#: gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:163 msgid "weeks" msgstr "" -#: gym/templates/gym/member_list.html:181 +#: gym/templates/gym/member_list.html:197 msgid "My configuration" msgstr "" -#: gym/templates/gym/member_list.html:215 +#: gym/templates/gym/member_list.html:234 msgid "Types" msgstr "" -#: gym/templates/gym/member_list.html:285 +#: gym/templates/gym/member_list.html:307 msgid "Emails" msgstr "" -#: gym/templates/gym/member_list.html:315 +#: gym/templates/gym/member_list.html:336 msgid "Add member" msgstr "メンバーを追加" @@ -2117,28 +2078,38 @@ msgstr "" msgid "Unit" msgstr "単位" +#: manager/forms.py:191 manager/models/log.py:103 manager/models/setting.py:102 +#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 +msgid "RiR" +msgstr "" + #: manager/forms.py:279 msgid "Type" msgstr "" -#: manager/forms.py:280 manager/templates/workout/view.html:113 +#: manager/forms.py:280 manager/templates/workout/view.html:122 msgid "Table" msgstr "" -#: manager/forms.py:282 manager/templates/workout/view.html:119 +#: manager/forms.py:282 manager/templates/workout/view.html:129 msgid "with images" msgstr "" -#: manager/forms.py:283 manager/templates/workout/view.html:125 +#: manager/forms.py:283 manager/templates/workout/view.html:136 msgid "with comments" msgstr "" +#: manager/helpers.py:86 manager/models/setting.py:72 +#: manager/templates/set/formset.html:9 +msgid "Reps" +msgstr "回" + #: manager/management/commands/email-reminders.py:121 msgid "Workout will expire soon" msgstr "" #: manager/models/day.py:34 manager/models/log.py:58 -#: manager/models/session.py:60 manager/templates/schedule/view.html:102 +#: manager/models/session.py:60 manager/templates/schedule/view.html:56 #: manager/templates/workout/view.html:9 manager/templates/workout/view.html:17 #: manager/views/pdf.py:85 manager/views/pdf.py:161 #: manager/views/schedule.py:151 manager/views/schedule.py:221 @@ -2159,7 +2130,7 @@ msgstr "" msgid "Name or short description of the schedule. For example 'Program XYZ'." msgstr "" -#: manager/models/schedule.py:65 manager/templates/schedule/view.html:71 +#: manager/models/schedule.py:65 manager/templates/schedule/view.html:25 msgid "Schedule active" msgstr "" @@ -2170,7 +2141,7 @@ msgid "" "inactive" msgstr "" -#: manager/models/schedule.py:77 manager/templates/schedule/view.html:81 +#: manager/models/schedule.py:77 manager/templates/schedule/view.html:35 msgid "Is a loop" msgstr "" @@ -2189,7 +2160,7 @@ msgid "The duration in weeks" msgstr "" #: manager/models/schedule_step.py:64 manager/models/set.py:53 -#: manager/models/setting.py:113 nutrition/models/meal.py:55 +#: manager/models/setting.py:113 nutrition/models/meal.py:53 #: nutrition/models/meal_item.py:66 msgid "Order" msgstr "" @@ -2321,7 +2292,7 @@ msgstr "" msgid "Workout session" msgstr "" -#: manager/templates/calendar/partial_overview_table.html:27 +#: manager/templates/calendar/partial_overview_table.html:26 msgid "Delete with logs" msgstr "" @@ -2341,21 +2312,27 @@ msgid "" "will simply be edited. Weight entries are always added." msgstr "" -#: manager/templates/schedule/overview.html:5 +#: manager/templates/schedule/overview.html:4 msgid "Your schedules" msgstr "" #: manager/templates/schedule/overview.html:19 -#: manager/templates/schedule/view.html:131 -#: manager/templates/schedule/view.html:183 +#: manager/templates/schedule/view.html:96 +#: manager/templates/schedule/view.html:146 #: manager/templates/workout/overview.html:16 msgid "active" msgstr "" -#: manager/templates/schedule/overview.html:28 +#: manager/templates/schedule/overview.html:27 msgid "No schedules found." msgstr "" +#: manager/templates/schedule/overview.html:28 +#, fuzzy +#| msgid "Add one now." +msgid "Add one now" +msgstr "今すぐ追加する" + #: manager/templates/schedule/overview.html:36 msgid "" "Schedules are collections of workouts that you do in\n" @@ -2368,10 +2345,11 @@ msgid "" " before jumping to the next. It is also possible to create a loop, so " "you\n" " always do the same workouts in succession, e.g. A > B > C > A > B > " -"C and so on." +"C and so\n" +" on." msgstr "" -#: manager/templates/schedule/overview.html:43 +#: manager/templates/schedule/overview.html:44 msgid "" "The currently active schedule will remain active (and be\n" " shown e.g. in your dashboard) till it reaches the last workout or " @@ -2387,25 +2365,21 @@ msgstr "" msgid "Schedule" msgstr "スケジュール" -#: manager/templates/schedule/view.html:85 +#: manager/templates/schedule/view.html:39 msgid "" "This schedule is a loop and will go through the workouts above till you " "deactivate it" msgstr "" -#: manager/templates/schedule/view.html:103 +#: manager/templates/schedule/view.html:57 msgid "Weeks" msgstr "" -#: manager/templates/schedule/view.html:115 -msgid "Move me" -msgstr "" - -#: manager/templates/schedule/view.html:156 +#: manager/templates/schedule/view.html:121 msgid "Start schedule" msgstr "" -#: manager/templates/schedule/view.html:187 +#: manager/templates/schedule/view.html:150 #, python-format msgid "" "%(weeks)s Week\n" @@ -2415,11 +2389,11 @@ msgid_plural "" " " msgstr[0] "" -#: manager/templates/schedule/view.html:221 +#: manager/templates/schedule/view.html:184 msgid "Adding workouts" msgstr "" -#: manager/templates/schedule/view.html:223 +#: manager/templates/schedule/view.html:186 msgid "" "Add as many workouts to the schedule as you want. You can\n" " edit the order by dragging and dropping them. It's also possible " @@ -2427,44 +2401,37 @@ msgid "" " than once." msgstr "" -#: manager/templates/schedule/view.html:232 -#: manager/templates/schedule/view.html:243 -#: manager/templates/schedule/view.html:290 +#: manager/templates/schedule/view.html:195 +#: manager/templates/schedule/view.html:209 +#: manager/templates/schedule/view.html:263 #: manager/templates/workout/view.html:69 -#: manager/templates/workout/view.html:79 -#: manager/templates/workout/view.html:178 +#: manager/templates/workout/view.html:83 +#: manager/templates/workout/view.html:192 msgid "Export calendar file" msgstr "" -#: manager/templates/schedule/view.html:236 +#: manager/templates/schedule/view.html:201 msgid "Export this schedule as a calendar file." msgstr "" -#: manager/templates/schedule/view.html:237 -#: manager/templates/workout/view.html:74 +#: manager/templates/schedule/view.html:202 +#: manager/templates/workout/view.html:76 msgid "" "You can then import the file it into your calendar\n" " application for example google calendar, outlook or " "iCal. This will create\n" " an appointment for each training day with the " -"appropriate exercises." +"appropriate\n" +" exercises." msgstr "" -#: manager/templates/schedule/view.html:258 -#: manager/templates/schedule/view.html:294 -#: manager/templates/workout/view.html:94 -#: manager/templates/workout/view.html:174 +#: manager/templates/schedule/view.html:225 +#: manager/templates/schedule/view.html:268 +#: manager/templates/workout/view.html:99 +#: manager/templates/workout/view.html:188 msgid "Download as PDF" msgstr "" -#: manager/templates/schedule/view.html:299 -msgid "Edit schedule" -msgstr "" - -#: manager/templates/schedule/view.html:304 -msgid "Delete schedule" -msgstr "" - #: manager/templates/set/add.html:9 #, python-format msgid "Add exercises to day \"%(day_name)s\"" @@ -2529,47 +2496,6 @@ msgid "" "You will regularly receive such reminders till you enter your current weight." msgstr "" -#: manager/templates/workout/log.html:10 manager/templates/workout/log.html:11 -msgid "Weight log" -msgstr "" - -#: manager/templates/workout/log.html:29 -msgid "Weight log for workout" -msgstr "" - -#: manager/templates/workout/log.html:49 -msgid "Add weight log to this day" -msgstr "" - -#: manager/templates/workout/log.html:69 -msgid "No weight entries here." -msgstr "" - -#: manager/templates/workout/log.html:77 -msgid "No exercises for this day." -msgstr "" - -#: manager/templates/workout/log.html:90 -msgid "" -"This page shows the weight logs belonging to this workout\n" -"only. Click on an exercise to see all the historical data for\n" -"it." -msgstr "" - -#: manager/templates/workout/log.html:94 -msgid "" -"If on a single day there is more than one entry with the\n" -"same number of repetitions, but different weights, only the entry with the\n" -"higher weight is shown in the diagram." -msgstr "" - -#: manager/templates/workout/log.html:98 -msgid "" -"Note that only entries with a weight unit (kg or lb) and\n" -"repetitions are charted, other combinations such as time or until failure\n" -"are ignored here." -msgstr "" - #: manager/templates/workout/overview.html:25 msgid "No templates found." msgstr "" @@ -2607,27 +2533,23 @@ msgstr "" msgid "Set the repetitions for each set" msgstr "" -#: manager/templates/workout/view.html:73 +#: manager/templates/workout/view.html:75 msgid "Export this workout as a calendar file." msgstr "" -#: manager/templates/workout/view.html:144 +#: manager/templates/workout/view.html:156 msgid "Logs" msgstr "" -#: manager/templates/workout/view.html:146 +#: manager/templates/workout/view.html:159 msgid "View logs" msgstr "" -#: manager/templates/workout/view.html:169 manager/views/schedule_step.py:99 -msgid "Edit workout" -msgstr "" - -#: manager/templates/workout/view.html:182 manager/views/workout.py:281 +#: manager/templates/workout/view.html:195 manager/views/workout.py:281 msgid "Mark as template" msgstr "" -#: manager/views/day.py:109 +#: manager/views/day.py:105 msgid "Add workout day" msgstr "" @@ -2644,6 +2566,10 @@ msgstr "" msgid "Create schedule" msgstr "" +#: manager/views/schedule_step.py:99 +msgid "Edit workout" +msgstr "" + #: manager/views/workout.py:209 msgid "Copy workout" msgstr "" @@ -2771,7 +2697,7 @@ msgstr "" msgid "Unit amount, e.g. \"1 Cup\" or \"1/2 spoon\"" msgstr "" -#: nutrition/models/log.py:52 nutrition/models/meal.py:50 +#: nutrition/models/log.py:52 nutrition/models/meal.py:48 #: nutrition/models/meal_item.py:48 nutrition/models/plan.py:108 msgid "Nutrition plan" msgstr "" @@ -2784,11 +2710,11 @@ msgstr "" msgid "Date and Time (Approx.)" msgstr "" -#: nutrition/models/meal.py:62 +#: nutrition/models/meal.py:60 msgid "Time (approx)" msgstr "" -#: nutrition/models/meal.py:69 +#: nutrition/models/meal.py:67 msgid "" "Give meals a textual description / name such as \"Breakfast\" or \"after " "workout\"" @@ -2810,58 +2736,6 @@ msgid "" "calories. You can use the calculator or enter the value yourself." msgstr "" -#: nutrition/templates/bmi/form.html:62 -msgid "Results" -msgstr "結果" - -#: nutrition/templates/bmi/form.html:63 -msgid "Your BMI is: " -msgstr "あなたのBMIは" - -#: nutrition/templates/bmi/form.html:71 -msgid "Legend" -msgstr "" - -#: nutrition/templates/bmi/form.html:75 -msgid "Adipositas III" -msgstr "" - -#: nutrition/templates/bmi/form.html:79 -msgid "Adipositas II" -msgstr "" - -#: nutrition/templates/bmi/form.html:83 -msgid "Adipositas I" -msgstr "" - -#: nutrition/templates/bmi/form.html:87 -msgid "Overweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:91 -msgid "Normal weight" -msgstr "" - -#: nutrition/templates/bmi/form.html:95 -msgid "Slight underweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:99 -msgid "Moderate underweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:103 -msgid "Strong underweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:117 -msgid "" -"Use the form to calculate your BMI (Body Mass Index).\n" -"If you have entered data in the weight section, the last entry will\n" -"be used automatically. Otherwise the weight you enter here will be saved\n" -"in a new entry." -msgstr "" - #: nutrition/templates/ingredient/email_new.tpl:1 #, python-format msgid "" @@ -2907,10 +2781,6 @@ msgstr "" msgid "Search" msgstr "" -#: nutrition/templates/ingredient/overview.html:62 -msgid "Add ingredient" -msgstr "" - #: nutrition/templates/ingredient/view.html:45 nutrition/views/plan.py:229 msgid "Macronutrients" msgstr "" @@ -2930,20 +2800,11 @@ msgstr "" msgid "Others" msgstr "" -#: nutrition/templates/ingredient/view.html:144 -#: nutrition/templates/units/list.html:46 nutrition/views/unit.py:86 +#: nutrition/templates/ingredient/view.html:143 +#: nutrition/templates/units/list.html:50 nutrition/views/unit.py:86 msgid "Add new weight unit" msgstr "" -#: nutrition/templates/ingredient/view.html:206 -#: nutrition/templates/ingredient/view.html:209 -msgid "Edit ingredient" -msgstr "" - -#: nutrition/templates/ingredient/view.html:213 -msgid "Delete ingredient" -msgstr "" - #: nutrition/templates/rate/form.html:25 msgid "Basal metabolic rate" msgstr "" @@ -3012,18 +2873,6 @@ msgid "" "yourself for some weeks and change the total amount if needed." msgstr "" -#: nutrition/views/bmi.py:89 -msgid "Please make sure your height is within the appropriate range." -msgstr "" - -#: nutrition/views/bmi.py:92 -msgid "140 to 230" -msgstr "" - -#: nutrition/views/bmi.py:94 -msgid "56 to 90" -msgstr "" - #: nutrition/views/ingredient.py:157 msgid "Add a new ingredient" msgstr "" @@ -3510,6 +3359,12 @@ msgstr "" msgid "Delete weight entry for the %s" msgstr "" +#~ msgid "Results" +#~ msgstr "結果" + +#~ msgid "Your BMI is: " +#~ msgstr "あなたのBMIは" + #~ msgid "Fibres" #~ msgstr "食物繊維" diff --git a/wger/locale/ko/LC_MESSAGES/django.po b/wger/locale/ko/LC_MESSAGES/django.po index 603b3475b..8e9245999 100644 --- a/wger/locale/ko/LC_MESSAGES/django.po +++ b/wger/locale/ko/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: wger Workout Manager\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-14 15:59+0200\n" +"POT-Creation-Date: 2024-11-14 19:23+0100\n" "PO-Revision-Date: 2022-01-21 19:55+0000\n" "Last-Translator: namong79 \n" "Language-Team: Korean \n" @@ -19,7 +19,7 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 4.11-dev\n" -#: config/models/gym_config.py:46 gym/templates/gym/list.html:53 +#: config/models/gym_config.py:46 gym/templates/gym/list.html:56 msgid "Default gym" msgstr "기본 Gym" @@ -31,28 +31,28 @@ msgstr "" "이 설치에 대한 기본 Gym을 선택하십시오. 새로 등록된 모든 사용자가 이 Gym에 할" "당되고, Gym이 없는 모든 기존 사용자가 업데이트됩니다." -#: config/views/gym_config.py:42 core/templates/language/view.html:67 -#: core/templates/license/list.html:17 core/templates/misc/license/list.html:18 +#: config/views/gym_config.py:42 core/templates/language/view.html:64 +#: core/templates/license/list.html:17 #: core/templates/repetition_unit/list.html:18 -#: core/templates/tags/render_day.html:39 -#: core/templates/tags/render_day.html:75 core/templates/user/overview.html:204 -#: core/templates/user/overview.html:445 +#: core/templates/user/overview.html:204 core/templates/user/overview.html:467 #: core/templates/weight_unit/list.html:18 #: exercises/templates/categories/admin-overview.html:17 #: exercises/templates/equipment/admin-overview.html:17 -#: exercises/templates/muscles/admin-overview.html:17 -#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:32 -#: gym/templates/contract/list.html:31 gym/templates/contract/view.html:107 -#: gym/templates/contract_option/list.html:32 -#: gym/templates/contract_type/list.html:32 gym/templates/document/list.html:38 -#: gym/templates/gym/list.html:20 gym/templates/gym/list.html:46 -#: gym/templates/gym/member_list.html:87 gym/templates/gym/member_list.html:140 -#: gym/templates/gym/member_list.html:176 -#: manager/templates/calendar/day.html:68 -#: manager/templates/calendar/month.html:85 -#: manager/templates/calendar/partial_overview_table.html:18 -#: manager/templates/schedule/view.html:118 -#: nutrition/templates/ingredient/view.html:165 +#: exercises/templates/muscles/admin-overview.html:16 +#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:31 +#: gym/templates/contract/list.html:30 gym/templates/contract/view.html:106 +#: gym/templates/contract_option/list.html:29 +#: gym/templates/contract_type/list.html:30 gym/templates/document/list.html:38 +#: gym/templates/gym/list.html:19 gym/templates/gym/list.html:48 +#: gym/templates/gym/member_list.html:94 gym/templates/gym/member_list.html:152 +#: gym/templates/gym/member_list.html:190 +#: manager/templates/calendar/day.html:67 +#: manager/templates/calendar/month.html:84 +#: manager/templates/calendar/partial_overview_table.html:16 +#: manager/templates/schedule/view.html:271 +#: manager/templates/workout/view.html:181 +#: nutrition/templates/ingredient/view.html:164 +#: nutrition/templates/ingredient/view.html:209 #: nutrition/templates/units/list.html:19 msgid "Edit" msgstr "수정" @@ -88,25 +88,25 @@ msgstr "" msgid "Empty placeholder schedule" msgstr "" -#: core/forms.py:69 core/templates/navigation.html:285 -#: core/templates/navigation.html:291 core/templates/user/login.html:4 +#: core/forms.py:69 core/templates/navigation.html:284 +#: core/templates/navigation.html:290 core/templates/user/login.html:4 #: software/templates/features.html:82 software/templates/features.html:427 msgid "Login" msgstr "로그인" -#: core/forms.py:108 core/forms.py:214 gym/views/export.py:61 +#: core/forms.py:108 core/forms.py:216 gym/views/export.py:61 #: gym/views/gym.py:217 msgid "First name" msgstr "이름" -#: core/forms.py:109 core/forms.py:215 core/templates/user/overview.html:266 +#: core/forms.py:109 core/forms.py:217 core/templates/user/overview.html:284 #: gym/views/export.py:62 gym/views/gym.py:217 msgid "Last name" msgstr "성" -#: core/forms.py:111 core/forms.py:180 core/templates/user/overview.html:270 +#: core/forms.py:111 core/forms.py:182 core/templates/user/overview.html:288 #: gym/models/contract.py:256 gym/models/gym.py:58 -#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:104 +#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:116 #: gym/templates/gym/new_user.html:30 gym/views/export.py:60 #: mailer/templates/mailer/gym/form.html:4 #: mailer/templates/mailer/gym/overview.html:4 @@ -125,98 +125,97 @@ msgstr "비밀번호 재설정 및 이메일 알람(option)에 사용됩니다." msgid "Date of Birth" msgstr "생일" -#: core/forms.py:148 +#: core/forms.py:149 msgid "Personal data" msgstr "개인 정보" -#: core/forms.py:159 +#: core/forms.py:161 msgid "Workout reminders" msgstr "Workout 리마인더" -#: core/forms.py:166 +#: core/forms.py:168 msgid "Other settings" msgstr "기타 설정" -#: core/forms.py:174 core/views/user.py:624 core/views/user.py:639 -#: core/views/user.py:651 gym/forms.py:73 manager/templates/log/add.html:65 +#: core/forms.py:176 core/views/user.py:623 core/views/user.py:638 +#: core/views/user.py:650 gym/forms.py:73 manager/templates/log/add.html:65 #: manager/templates/set/add.html:70 manager/views/workout.py:203 #: utils/generic_views.py:143 msgid "Save" msgstr "저장" -#: core/forms.py:181 +#: core/forms.py:183 msgid "Used for password resets and, optionally, email reminders." msgstr "비밀번호 재설정 및 이메일 알람(option)에 사용됩니다." -#: core/forms.py:210 +#: core/forms.py:212 #, fuzzy #| msgid "This email is already used." msgid "This e-mail address is already in use." msgstr "이 이메일은 사용중입니다." -#: core/forms.py:231 gym/templates/gym/new_user.html:26 +#: core/forms.py:233 gym/templates/gym/new_user.html:26 #: gym/templates/gym/reset_user_password.html:24 gym/views/gym.py:217 msgid "Password" msgstr "비밀번호" -#: core/forms.py:233 +#: core/forms.py:235 msgid "Please enter your current password." msgstr "현재 비밀번호를 입력해주세요." -#: core/forms.py:242 core/templates/language/view.html:73 -#: core/templates/license/list.html:19 core/templates/misc/license/list.html:22 -#: core/templates/repetition_unit/list.html:20 -#: core/templates/tags/render_day.html:45 -#: core/templates/tags/render_day.html:81 core/templates/user/overview.html:217 -#: core/templates/weight_unit/list.html:20 -#: exercises/templates/categories/admin-overview.html:19 -#: exercises/templates/equipment/admin-overview.html:19 -#: exercises/templates/muscles/admin-overview.html:19 -#: gym/templates/admin_notes/list.html:40 -#: gym/templates/contract_option/list.html:41 -#: gym/templates/contract_type/list.html:41 gym/templates/document/list.html:46 -#: gym/templates/gym/list.html:22 manager/templates/calendar/day.html:73 -#: manager/templates/calendar/month.html:89 -#: manager/templates/calendar/partial_overview_table.html:23 -#: manager/templates/schedule/view.html:122 -#: manager/templates/workout/view.html:188 -#: nutrition/templates/ingredient/view.html:166 +#: core/forms.py:244 core/templates/language/view.html:70 +#: core/templates/license/list.html:21 +#: core/templates/repetition_unit/list.html:22 +#: core/templates/user/overview.html:233 +#: core/templates/weight_unit/list.html:22 +#: exercises/templates/categories/admin-overview.html:21 +#: exercises/templates/equipment/admin-overview.html:21 +#: exercises/templates/muscles/admin-overview.html:20 +#: gym/templates/admin_notes/list.html:37 +#: gym/templates/contract_option/list.html:35 +#: gym/templates/contract_type/list.html:36 gym/templates/document/list.html:46 +#: gym/templates/gym/list.html:23 manager/templates/calendar/day.html:73 +#: manager/templates/calendar/month.html:88 +#: manager/templates/calendar/partial_overview_table.html:22 +#: manager/templates/schedule/view.html:277 +#: manager/templates/workout/view.html:202 +#: nutrition/templates/ingredient/view.html:168 #: nutrition/templates/ingredient/view.html:215 -#: nutrition/templates/units/list.html:22 +#: nutrition/templates/units/list.html:25 msgid "Delete" msgstr "삭제" -#: core/forms.py:251 +#: core/forms.py:253 msgid "Invalid password" msgstr "유효하지 않은 비밀번호" -#: core/forms.py:263 core/forms.py:338 +#: core/forms.py:265 core/forms.py:340 msgid "The form is secured with reCAPTCHA" msgstr "" -#: core/forms.py:279 core/forms.py:301 core/templates/navigation.html:285 -#: core/templates/navigation.html:297 core/templates/template.html:149 -#: core/templates/user/login.html:20 core/views/user.py:298 +#: core/forms.py:281 core/forms.py:303 core/templates/navigation.html:284 +#: core/templates/navigation.html:296 core/templates/template.html:150 +#: core/templates/user/login.html:20 core/views/user.py:297 #: software/templates/features.html:87 software/templates/features.html:422 msgid "Register" msgstr "등록" -#: core/forms.py:315 software/templates/features.html:45 +#: core/forms.py:317 software/templates/features.html:45 msgid "Contact" msgstr "연락" -#: core/forms.py:316 +#: core/forms.py:318 #, fuzzy #| msgid "Some way of answering you (email, etc.)" msgid "Some way of answering you (e-mail, etc.)" msgstr "답변방법 (이메일 등)" -#: core/forms.py:324 exercises/models/comment.py:58 manager/models/set.py:61 +#: core/forms.py:326 exercises/models/comment.py:58 manager/models/set.py:61 #: manager/models/setting.py:114 nutrition/models/log.py:77 msgid "Comment" msgstr "Comment" -#: core/forms.py:325 +#: core/forms.py:327 msgid "What do you want to say?" msgstr "" @@ -433,18 +432,18 @@ msgid "The sum of all hours has to be 24" msgstr "" #: core/models/rep_unit.py:36 core/models/weight_unit.py:36 -#: core/templates/user/overview.html:262 core/views/user.py:599 +#: core/templates/user/overview.html:280 core/views/user.py:598 #: exercises/models/category.py:29 exercises/models/equipment.py:29 #: exercises/models/exercise.py:59 exercises/models/muscle.py:36 #: gym/models/contract.py:52 gym/models/contract.py:103 gym/models/gym.py:46 #: gym/models/user_document.py:84 gym/templates/contract/view.html:50 -#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:96 +#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:108 #: gym/views/gym.py:158 manager/models/schedule.py:55 #: manager/models/workout.py:57 measurements/models/category.py:36 #: nutrition/models/ingredient.py:111 -#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:67 +#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:65 #: nutrition/models/weight_unit.py:38 -#: nutrition/templates/ingredient/view.html:152 +#: nutrition/templates/ingredient/view.html:151 msgid "Name" msgstr "" @@ -489,7 +488,7 @@ msgstr "" msgid "Back to \"%(target)s\"" msgstr "" -#: core/templates/delete.html:15 +#: core/templates/delete.html:4 msgid "Are you sure you want to delete this? This action cannot be undone." msgstr "" @@ -546,7 +545,7 @@ msgstr "" msgid "Dashboard" msgstr "대시보드" -#: core/templates/language/overview.html:4 core/templates/navigation.html:345 +#: core/templates/language/overview.html:4 core/templates/navigation.html:344 msgid "Languages" msgstr "언어" @@ -556,79 +555,72 @@ msgstr "찾을 수 없음." #: core/templates/language/overview.html:22 #: manager/templates/calendar/month.html:132 -#: manager/templates/schedule/overview.html:28 -#: manager/templates/schedule/view.html:144 +#: manager/templates/schedule/view.html:107 #: manager/templates/workout/overview.html:28 #: nutrition/templates/ingredient/overview.html:38 msgid "Add one now." msgstr "추가하세요." -#: core/templates/language/overview.html:35 core/templates/license/list.html:40 -#: core/templates/misc/license/list.html:43 -#: core/templates/repetition_unit/list.html:43 -#: core/templates/user/overview.html:326 core/templates/user/overview.html:365 -#: core/templates/user/overview.html:401 -#: core/templates/weight_unit/list.html:43 core/views/languages.py:74 +#: core/templates/language/overview.html:34 core/templates/license/list.html:43 +#: core/templates/repetition_unit/list.html:46 +#: core/templates/user/overview.html:344 core/templates/user/overview.html:384 +#: core/templates/user/overview.html:422 +#: core/templates/weight_unit/list.html:46 core/views/languages.py:74 #: core/views/license.py:66 core/views/repetition_units.py:66 #: core/views/weight_units.py:66 -#: exercises/templates/categories/admin-overview.html:38 -#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:67 -#: gym/templates/contract/list.html:73 -#: gym/templates/contract_option/list.html:72 -#: gym/templates/contract_type/list.html:72 gym/templates/document/list.html:79 -#: gym/templates/gym/member_list.html:211 -#: gym/templates/gym/member_list.html:244 -#: gym/templates/gym/member_list.html:281 +#: exercises/templates/categories/admin-overview.html:40 +#: exercises/templates/equipment/admin-overview.html:39 +#: exercises/templates/muscles/admin-overview.html:40 +#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:64 +#: gym/templates/contract/list.html:69 +#: gym/templates/contract_option/list.html:65 +#: gym/templates/contract_type/list.html:66 gym/templates/document/list.html:78 +#: gym/templates/gym/member_list.html:228 +#: gym/templates/gym/member_list.html:264 +#: gym/templates/gym/member_list.html:303 #: mailer/templates/mailer/gym/overview.html:43 +#: nutrition/templates/ingredient/overview.html:60 msgid "Add" msgstr "추가" #: core/templates/language/view.html:61 core/templates/user/api_key.html:44 -#: core/templates/user/preferences.html:45 gym/models/contract.py:203 -#: gym/templates/contract/view.html:41 gym/templates/contract/view.html:106 -#: gym/templates/gym/member_list.html:248 -#: manager/templates/schedule/view.html:285 -#: manager/templates/workout/view.html:163 -#: nutrition/templates/ingredient/view.html:202 +#: core/templates/user/preferences.html:50 gym/models/contract.py:203 +#: gym/templates/contract/view.html:41 gym/templates/gym/member_list.html:270 +#: manager/templates/schedule/view.html:257 +#: manager/templates/workout/view.html:177 +#: nutrition/templates/ingredient/view.html:206 msgid "Options" msgstr "옵션" -#: core/templates/license/list.html:4 core/templates/misc/license/list.html:4 +#: core/templates/license/list.html:4 msgid "License list" msgstr "라이센스 리스트" -#: core/templates/license/list.html:26 core/templates/misc/license/list.html:30 -#: core/templates/repetition_unit/list.html:28 +#: core/templates/license/list.html:30 +#: core/templates/repetition_unit/list.html:32 #: core/templates/user/overview.html:104 core/templates/user/overview.html:136 -#: core/templates/user/overview.html:185 core/templates/user/overview.html:347 -#: core/templates/user/overview.html:383 core/templates/user/overview.html:427 -#: core/templates/weight_unit/list.html:28 -#: exercises/templates/categories/admin-overview.html:26 -#: exercises/templates/equipment/admin-overview.html:26 -#: exercises/templates/muscles/admin-overview.html:26 -#: gym/templates/admin_notes/list.html:52 gym/templates/contract/list.html:60 -#: gym/templates/contract_option/list.html:58 -#: gym/templates/contract_type/list.html:58 gym/templates/document/list.html:64 -#: gym/templates/gym/list.html:29 gym/templates/gym/member_list.html:229 -#: gym/templates/gym/member_list.html:262 -#: gym/templates/gym/member_list.html:299 +#: core/templates/user/overview.html:185 core/templates/user/overview.html:365 +#: core/templates/user/overview.html:404 core/templates/user/overview.html:448 +#: core/templates/weight_unit/list.html:32 +#: exercises/templates/categories/admin-overview.html:30 +#: exercises/templates/equipment/admin-overview.html:30 +#: exercises/templates/muscles/admin-overview.html:29 +#: gym/templates/admin_notes/list.html:50 gym/templates/contract/list.html:57 +#: gym/templates/contract_option/list.html:52 +#: gym/templates/contract_type/list.html:53 gym/templates/document/list.html:64 +#: gym/templates/gym/list.html:32 gym/templates/gym/member_list.html:248 +#: gym/templates/gym/member_list.html:284 +#: gym/templates/gym/member_list.html:321 #: mailer/templates/mailer/gym/overview.html:30 -#: manager/templates/calendar/day.html:87 -#: nutrition/templates/units/list.html:29 +#: manager/templates/calendar/day.html:88 +#: nutrition/templates/units/list.html:34 msgid "Nothing found" msgstr "" -#: core/templates/misc/about.html:4 core/templates/template.html:175 +#: core/templates/misc/about.html:4 core/templates/template.html:187 msgid "Imprint" msgstr "" -#: core/templates/misc/license/list.html:47 -msgid "" -"If a license has been localized, e.g. the Creative Commons\n" -" licenses for the different countries, add them as separate " -"entries here." -msgstr "" - #: core/templates/navigation.html:28 software/templates/features.html:437 msgid "Training" msgstr "Training" @@ -677,8 +669,8 @@ msgstr "" msgid "Exercises" msgstr "운동" -#: core/templates/navigation.html:111 core/templates/navigation.html:184 -#: core/templates/navigation.html:340 +#: core/templates/navigation.html:111 core/templates/navigation.html:185 +#: core/templates/navigation.html:339 msgid "Administration" msgstr "" @@ -709,7 +701,7 @@ msgstr "영양" msgid "Nutrition plans" msgstr "" -#: core/templates/navigation.html:165 nutrition/templates/bmi/form.html:50 +#: core/templates/navigation.html:165 msgid "BMI calculator" msgstr "" @@ -717,87 +709,87 @@ msgstr "" msgid "Daily calories calculator" msgstr "" -#: core/templates/navigation.html:179 +#: core/templates/navigation.html:180 #: nutrition/templates/ingredient/overview.html:10 msgid "Ingredient overview" msgstr "" -#: core/templates/navigation.html:187 nutrition/templates/units/list.html:6 +#: core/templates/navigation.html:189 nutrition/templates/units/list.html:6 msgid "Ingredient weight units" msgstr "" -#: core/templates/navigation.html:203 software/templates/features.html:442 +#: core/templates/navigation.html:205 software/templates/features.html:442 msgid "Body weight" msgstr "체중" -#: core/templates/navigation.html:210 core/templates/user/overview.html:114 +#: core/templates/navigation.html:212 core/templates/user/overview.html:114 msgid "Weight overview" msgstr "체중 개요" -#: core/templates/navigation.html:217 weight/views.py:65 +#: core/templates/navigation.html:216 weight/views.py:65 msgid "Add weight entry" msgstr "체중 기록 추가" -#: core/templates/navigation.html:231 +#: core/templates/navigation.html:230 msgid "About this software" msgstr "" -#: core/templates/navigation.html:237 software/templates/about_us.html:5 +#: core/templates/navigation.html:236 software/templates/about_us.html:5 msgid "About us" msgstr "" -#: core/templates/navigation.html:243 software/templates/features.html:507 +#: core/templates/navigation.html:242 software/templates/features.html:507 msgid "REST API" msgstr "" -#: core/templates/navigation.html:249 utils/models.py:45 +#: core/templates/navigation.html:248 utils/models.py:45 msgid "License" msgstr "" -#: core/templates/navigation.html:255 +#: core/templates/navigation.html:254 msgid "Developer documentation" msgstr "" -#: core/templates/navigation.html:262 +#: core/templates/navigation.html:261 msgid "Get the code" msgstr "" -#: core/templates/navigation.html:269 core/templates/template.html:214 +#: core/templates/navigation.html:268 core/templates/template.html:226 #: software/templates/features.html:582 msgid "Translate" msgstr "" -#: core/templates/navigation.html:303 core/templates/user/login.html:28 +#: core/templates/navigation.html:302 core/templates/user/login.html:28 msgid "Reset password" msgstr "" -#: core/templates/navigation.html:321 +#: core/templates/navigation.html:320 msgid "My preferences" msgstr "내 환경설정" -#: core/templates/navigation.html:330 +#: core/templates/navigation.html:329 msgid "Logout" msgstr "로그아웃" -#: core/templates/navigation.html:353 +#: core/templates/navigation.html:352 msgid "Licenses" msgstr "" -#: core/templates/navigation.html:361 +#: core/templates/navigation.html:360 #: core/templates/repetition_unit/list.html:4 msgid "Repetition units" msgstr "" -#: core/templates/navigation.html:369 core/templates/weight_unit/list.html:4 +#: core/templates/navigation.html:368 core/templates/weight_unit/list.html:4 #: nutrition/templates/ingredient/view.html:141 msgid "Weight units" msgstr "무게 단위" -#: core/templates/navigation.html:377 core/templates/user/list.html:4 +#: core/templates/navigation.html:376 core/templates/user/list.html:4 msgid "User list" msgstr "사용자 리스트" -#: core/templates/navigation.html:383 +#: core/templates/navigation.html:382 msgid "Gyms" msgstr "Gyms" @@ -856,55 +848,28 @@ msgstr "" msgid "next" msgstr "" -#: core/templates/tags/render_day.html:34 -msgid "Add weight log" -msgstr "체중 기록 추가" - -#: core/templates/tags/render_day.html:116 -msgid "Placeholder image for exercise" +#: core/templates/tags/render_day.html:44 +msgid "Placeholder image for translation" msgstr "" -#: core/templates/tags/render_day.html:133 -msgid "This exercise has no repetitions." -msgstr "" - -#: core/templates/tags/render_day.html:136 -msgid "Edit them now." -msgstr "" - -#: core/templates/tags/render_day.html:162 -msgid "Add exercises to this workout day" -msgstr "" - -#: core/templates/tags/render_weight_log.html:17 manager/helpers.py:86 -#: manager/models/setting.py:72 manager/templates/set/formset.html:9 -msgid "Reps" -msgstr "" - -#: core/templates/tags/render_weight_log.html:30 manager/forms.py:191 -#: manager/models/log.py:103 manager/models/setting.py:102 -#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 -msgid "RiR" -msgstr "" - -#: core/templates/template.html:122 manager/templates/calendar/month.html:138 -#: manager/templates/schedule/view.html:248 -#: manager/templates/schedule/view.html:269 -#: manager/templates/workout/view.html:84 -#: manager/templates/workout/view.html:137 +#: core/templates/template.html:123 manager/templates/calendar/month.html:138 +#: manager/templates/schedule/view.html:215 +#: manager/templates/schedule/view.html:240 +#: manager/templates/workout/view.html:89 +#: manager/templates/workout/view.html:149 msgid "Close" msgstr "" -#: core/templates/template.html:138 +#: core/templates/template.html:139 msgid "" "You are using a guest account, data entered will be deleted after a week." msgstr "" -#: core/templates/template.html:143 +#: core/templates/template.html:144 msgid "Create some demo entries" msgstr "" -#: core/templates/template.html:180 software/templates/features.html:547 +#: core/templates/template.html:192 software/templates/features.html:547 #: software/templates/tos.html:7 msgid "Terms of service" msgstr "" @@ -913,7 +878,7 @@ msgstr "" msgid "Features" msgstr "" -#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:54 +#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:59 msgid "API key" msgstr "" @@ -952,17 +917,17 @@ msgstr "" msgid "Documentation" msgstr "" -#: core/templates/user/delete_account.html:4 -#: core/templates/user/preferences.html:59 +#: core/templates/user/delete_account.html:3 +#: core/templates/user/preferences.html:62 msgid "Delete account" msgstr "" -#: core/templates/user/delete_account.html:17 +#: core/templates/user/delete_account.html:9 #: exercises/templates/history/overview.html:93 msgid "Are you sure?" msgstr "" -#: core/templates/user/delete_account.html:22 +#: core/templates/user/delete_account.html:14 #, python-format msgid "" "This action will delete the user account \"%(username)s\".\n" @@ -984,22 +949,22 @@ msgstr "" #: core/templates/user/overview.html:25 core/templates/user/overview.html:68 #: core/templates/user/overview.html:112 core/templates/user/overview.html:144 -#: core/templates/user/overview.html:330 core/templates/user/overview.html:369 -#: core/templates/user/overview.html:405 +#: core/templates/user/overview.html:348 core/templates/user/overview.html:390 +#: core/templates/user/overview.html:426 #, python-format msgid "last %(number)s" msgstr "" #: core/templates/user/overview.html:27 core/templates/user/overview.html:146 -#: core/templates/user/overview.html:325 core/templates/user/overview.html:364 -#: core/templates/user/overview.html:400 gym/templates/gym/member_list.html:210 -#: gym/templates/gym/member_list.html:243 -#: gym/templates/gym/member_list.html:280 +#: core/templates/user/overview.html:343 core/templates/user/overview.html:382 +#: core/templates/user/overview.html:421 gym/templates/gym/member_list.html:226 +#: gym/templates/gym/member_list.html:262 +#: gym/templates/gym/member_list.html:302 msgid "Overview" msgstr "" #: core/templates/user/overview.html:28 -#: manager/templates/schedule/view.html:163 +#: manager/templates/schedule/view.html:125 #: manager/templates/workout/overview.html:39 manager/views/schedule_step.py:60 msgid "Add workout" msgstr "Workout 추가" @@ -1031,38 +996,36 @@ msgstr "" msgid "Number of logs (days)" msgstr "" -#: core/templates/user/overview.html:37 core/views/user.py:600 +#: core/templates/user/overview.html:37 core/views/user.py:599 #: gym/templates/gym/email_inactive_members.html:4 gym/views/gym.py:158 msgid "Last activity" msgstr "최종 활동" #: core/templates/user/overview.html:58 #: manager/templates/calendar/month.html:128 -#: manager/templates/schedule/view.html:144 #: manager/templates/workout/overview.html:28 msgid "No workouts found." msgstr "Workout을 찾을 수 없음." #: core/templates/user/overview.html:68 manager/forms.py:280 -#: manager/templates/workout/view.html:106 +#: manager/templates/workout/view.html:114 msgid "Log" msgstr "" #: core/templates/user/overview.html:77 manager/models/session.py:83 -#: manager/templates/calendar/partial_overview_table.html:52 +#: manager/templates/calendar/partial_overview_table.html:54 msgid "General impression" msgstr "" -#: core/templates/user/overview.html:78 core/templates/user/overview.html:369 +#: core/templates/user/overview.html:78 core/templates/user/overview.html:390 #: manager/models/session.py:73 -#: manager/templates/calendar/partial_overview_table.html:56 -#: manager/templates/workout/log.html:89 +#: manager/templates/calendar/partial_overview_table.html:58 msgid "Notes" msgstr "" #: core/templates/user/overview.html:79 #: exercises/templates/history/overview.html:30 -#: manager/templates/calendar/partial_overview_table.html:42 +#: manager/templates/calendar/partial_overview_table.html:44 msgid "Time" msgstr "" @@ -1100,121 +1063,121 @@ msgstr "" msgid "kcal" msgstr "" -#: core/templates/user/overview.html:201 core/templates/user/overview.html:322 -#: core/templates/user/overview.html:361 core/templates/user/overview.html:397 -#: core/templates/user/overview.html:442 gym/templates/gym/list.html:42 -#: gym/templates/gym/member_list.html:84 gym/templates/gym/member_list.html:137 -#: gym/templates/gym/member_list.html:173 -#: gym/templates/gym/member_list.html:207 -#: gym/templates/gym/member_list.html:240 -#: gym/templates/gym/member_list.html:277 -#: manager/templates/schedule/view.html:100 +#: core/templates/user/overview.html:201 core/templates/user/overview.html:340 +#: core/templates/user/overview.html:379 core/templates/user/overview.html:418 +#: core/templates/user/overview.html:463 gym/templates/gym/list.html:45 +#: gym/templates/gym/member_list.html:91 gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:187 +#: gym/templates/gym/member_list.html:223 +#: gym/templates/gym/member_list.html:259 +#: gym/templates/gym/member_list.html:299 +#: manager/templates/schedule/view.html:54 msgid "Actions" msgstr "Actions" -#: core/templates/user/overview.html:207 +#: core/templates/user/overview.html:210 msgid "Deactivate user" msgstr "" -#: core/templates/user/overview.html:209 +#: core/templates/user/overview.html:214 msgid "Activate user" msgstr "" -#: core/templates/user/overview.html:211 +#: core/templates/user/overview.html:223 msgid "Reset user password" msgstr "" -#: core/templates/user/overview.html:214 gym/templates/gym/member_list.html:30 +#: core/templates/user/overview.html:227 gym/templates/gym/member_list.html:30 msgid "Roles" msgstr "" -#: core/templates/user/overview.html:225 +#: core/templates/user/overview.html:243 msgid "Password reset confirmation" msgstr "" -#: core/templates/user/overview.html:229 +#: core/templates/user/overview.html:247 msgid "Do you really want to change this user's password?" msgstr "" -#: core/templates/user/overview.html:232 +#: core/templates/user/overview.html:250 #: exercises/templates/history/overview.html:106 msgid "No" msgstr "" -#: core/templates/user/overview.html:233 +#: core/templates/user/overview.html:251 #: exercises/templates/history/overview.html:99 msgid "Yes" msgstr "" -#: core/templates/user/overview.html:254 gym/templates/gym/member_list.html:93 +#: core/templates/user/overview.html:272 gym/templates/gym/member_list.html:105 msgid "Details" msgstr "세부정보" -#: core/templates/user/overview.html:258 gym/views/export.py:57 -#: manager/helpers.py:86 manager/templates/schedule/view.html:98 +#: core/templates/user/overview.html:276 gym/views/export.py:57 +#: manager/helpers.py:86 manager/templates/schedule/view.html:52 msgid "Nr." msgstr "" -#: core/templates/user/overview.html:280 gym/models/contract.py:287 +#: core/templates/user/overview.html:298 gym/models/contract.py:287 #: gym/models/gym.py:50 gym/templates/contract/view.html:75 -#: gym/templates/gym/member_list.html:100 gym/views/export.py:68 +#: gym/templates/gym/member_list.html:112 gym/views/export.py:68 msgid "Phone" msgstr "" -#: core/templates/user/overview.html:284 gym/templates/contract/view.html:87 -#: gym/templates/gym/member_list.html:118 +#: core/templates/user/overview.html:302 gym/templates/contract/view.html:87 +#: gym/templates/gym/member_list.html:130 msgid "Address" msgstr "주소" -#: core/templates/user/overview.html:295 +#: core/templates/user/overview.html:313 msgid "Registered" msgstr "" -#: core/templates/user/overview.html:299 +#: core/templates/user/overview.html:317 msgid "Last login" msgstr "최종 로그인" -#: core/templates/user/overview.html:304 +#: core/templates/user/overview.html:322 msgid "Status" msgstr "" -#: core/templates/user/overview.html:307 +#: core/templates/user/overview.html:325 msgid "Active" msgstr "" -#: core/templates/user/overview.html:309 +#: core/templates/user/overview.html:327 msgid "Inactive" msgstr "" -#: core/templates/user/overview.html:330 gym/templates/contract/list.html:4 -#: gym/templates/gym/member_list.html:202 +#: core/templates/user/overview.html:348 gym/templates/contract/list.html:4 +#: gym/templates/gym/member_list.html:218 msgid "Contracts" msgstr "" -#: core/templates/user/overview.html:405 gym/templates/document/list.html:4 +#: core/templates/user/overview.html:426 gym/templates/document/list.html:4 msgid "Documents" msgstr "" -#: core/templates/user/overview.html:412 gym/templates/document/list.html:32 -#: manager/forms.py:292 manager/templates/workout/view.html:132 +#: core/templates/user/overview.html:433 gym/templates/document/list.html:33 +#: manager/forms.py:292 manager/templates/workout/view.html:143 msgid "Download" msgstr "" -#: core/templates/user/overview.html:450 gym/views/admin_config.py:44 +#: core/templates/user/overview.html:474 gym/views/admin_config.py:44 #: gym/views/admin_config.py:58 gym/views/user_config.py:46 msgid "Configuration" msgstr "설정" -#: core/templates/user/overview.html:453 gym/models/user_config.py:92 +#: core/templates/user/overview.html:477 gym/models/user_config.py:92 msgid "Include in inactive overview" msgstr "" -#: core/templates/user/overview.html:486 +#: core/templates/user/overview.html:510 #, python-format msgid "Admin login is only available for users in %(gym_name)s" msgstr "" -#: core/templates/user/overview.html:490 +#: core/templates/user/overview.html:514 msgid "Log in as this user" msgstr "" @@ -1236,19 +1199,19 @@ msgstr "" msgid "Send verification email" msgstr "" -#: core/templates/user/preferences.html:30 +#: core/templates/user/preferences.html:31 msgid "You need to verify your email to contribute exercises" msgstr "" -#: core/templates/user/preferences.html:50 core/views/user.py:611 +#: core/templates/user/preferences.html:55 core/views/user.py:610 msgid "Change password" msgstr "" -#: core/templatetags/wger_extras.py:205 i18n.tpl:37 +#: core/templatetags/wger_extras.py:197 i18n.tpl:37 msgid "kg" msgstr "" -#: core/templatetags/wger_extras.py:207 +#: core/templatetags/wger_extras.py:199 #: nutrition/templates/ingredient/view.html:60 #: nutrition/templates/ingredient/view.html:66 #: nutrition/templates/ingredient/view.html:73 @@ -1260,11 +1223,11 @@ msgctxt "weight unit, i.e. grams" msgid "g" msgstr "" -#: core/templatetags/wger_extras.py:210 i18n.tpl:38 +#: core/templatetags/wger_extras.py:202 i18n.tpl:38 msgid "lb" msgstr "" -#: core/templatetags/wger_extras.py:212 +#: core/templatetags/wger_extras.py:204 msgctxt "weight unit, i.e. ounces" msgid "oz" msgstr "" @@ -1291,13 +1254,13 @@ msgid "Delete {0}?" msgstr "" #: core/views/languages.py:111 core/views/license.py:85 -#: core/views/repetition_units.py:86 core/views/user.py:474 +#: core/views/repetition_units.py:86 core/views/user.py:473 #: core/views/weight_units.py:86 exercises/views/categories.py:98 #: exercises/views/equipment.py:81 exercises/views/muscles.py:87 #: gym/views/admin_notes.py:161 gym/views/config.py:68 #: gym/views/contract.py:186 gym/views/contract_option.py:123 #: gym/views/contract_type.py:123 gym/views/document.py:171 -#: gym/views/gym.py:463 manager/views/day.py:100 manager/views/schedule.py:333 +#: gym/views/gym.py:463 manager/views/day.py:96 manager/views/schedule.py:333 #: manager/views/workout.py:267 nutrition/views/ingredient.py:145 #: nutrition/views/unit.py:143 #, python-brace-format @@ -1323,48 +1286,48 @@ msgstr "" msgid "Your feedback was successfully sent. Thank you!" msgstr "" -#: core/views/user.py:156 +#: core/views/user.py:155 #, python-brace-format msgid "Account \"{0}\" was successfully deleted" msgstr "" -#: core/views/user.py:292 +#: core/views/user.py:291 msgid "You were successfully registered" msgstr "" -#: core/views/user.py:351 +#: core/views/user.py:350 msgid "Settings successfully updated" msgstr "설정이 업데이트 되었습니다." -#: core/views/user.py:390 +#: core/views/user.py:389 msgid "The user was successfully deactivated" msgstr "" -#: core/views/user.py:427 +#: core/views/user.py:426 msgid "The user was successfully activated" msgstr "" -#: core/views/user.py:442 +#: core/views/user.py:441 msgid "Edit user" msgstr "" -#: core/views/user.py:597 gym/templates/gym/member_list.html:26 +#: core/views/user.py:596 gym/templates/gym/member_list.html:26 #: gym/views/gym.py:158 msgid "ID" msgstr "" -#: core/views/user.py:598 gym/forms.py:95 gym/templates/contract/view.html:55 +#: core/views/user.py:597 gym/forms.py:95 gym/templates/contract/view.html:55 #: gym/templates/gym/member_list.html:27 gym/views/export.py:59 #: gym/views/gym.py:158 gym/views/gym.py:217 msgid "Username" msgstr "사용자이름" -#: core/views/user.py:601 gym/templates/gym/new_user.html:34 +#: core/views/user.py:600 gym/templates/gym/new_user.html:34 #: gym/views/export.py:58 gym/views/gym.py:217 msgid "Gym" msgstr "Gym" -#: core/views/user.py:660 +#: core/views/user.py:659 #, python-format msgid "A verification email was sent to %(email)s" msgstr "" @@ -1520,11 +1483,6 @@ msgstr "" msgid "Equipment list" msgstr "장비 리스트" -#: exercises/templates/equipment/admin-overview.html:39 -#: exercises/views/equipment.py:92 -msgid "Add new equipment" -msgstr "새 장비 추가" - #: exercises/templates/history/overview.html:11 #, fuzzy #| msgid "Exercise day" @@ -1576,11 +1534,6 @@ msgstr "" msgid "Muscle overview" msgstr "" -#: exercises/templates/muscles/admin-overview.html:38 -#: exercises/views/muscles.py:68 -msgid "Add muscle" -msgstr "근육 추가" - #: exercises/views/categories.py:72 msgid "Add category" msgstr "카테고리 추가" @@ -1589,6 +1542,10 @@ msgstr "카테고리 추가" msgid "This will also delete all exercises in this category." msgstr "" +#: exercises/views/equipment.py:92 +msgid "Add new equipment" +msgstr "새 장비 추가" + #: exercises/views/equipment.py:104 exercises/views/equipment.py:115 msgid "Delete equipment?" msgstr "" @@ -1597,6 +1554,10 @@ msgstr "" msgid "This will delete the exercise from all workouts." msgstr "" +#: exercises/views/muscles.py:68 +msgid "Add muscle" +msgstr "근육 추가" + #: gallery/templates/images/overview.html:62 #, fuzzy #| msgid "Add new image" @@ -1684,7 +1645,7 @@ msgid "Contract is active" msgstr "" #: gym/models/contract.py:237 gym/templates/contract/view.html:69 -#: manager/models/schedule.py:61 manager/templates/schedule/view.html:67 +#: manager/models/schedule.py:61 manager/templates/schedule/view.html:21 msgid "Start date" msgstr "시작 날짜" @@ -1720,7 +1681,7 @@ msgstr "Admin : Gym 사용자를 관리할 수 있습니다." msgid "Admin: can administrate the different gyms" msgstr "Admin : 다른 Gym을 관리할 수 있습니다." -#: gym/models/gym.py:65 gym/templates/gym/member_list.html:114 +#: gym/models/gym.py:65 gym/templates/gym/member_list.html:126 msgid "Owner" msgstr "" @@ -1730,7 +1691,7 @@ msgid "" "considered inactive" msgstr "" -#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:152 +#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:166 msgid "Show name in header" msgstr "" @@ -1743,7 +1704,7 @@ msgstr "Site Header에 Gym 이름 표시" msgid "Configuration for {self.gym.name}" msgstr "" -#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:184 +#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:200 msgid "Overview of inactive members" msgstr "" @@ -1767,7 +1728,7 @@ msgstr "" msgid "User notes" msgstr "" -#: gym/templates/contract/list.html:36 +#: gym/templates/contract/list.html:34 msgid "Show" msgstr "보기" @@ -1793,11 +1754,11 @@ msgstr "다음 사용자는 지난 %(weeks)s주 동안 체육관을 방문하지 msgid "Gym list" msgstr "Gym 리스트" -#: gym/templates/gym/list.html:50 +#: gym/templates/gym/list.html:53 msgid "Global gym configuration" msgstr "" -#: gym/templates/gym/list.html:67 gym/views/gym.py:171 +#: gym/templates/gym/list.html:69 gym/views/gym.py:171 msgid "Add new gym" msgstr "새 Gym 추가" @@ -1809,43 +1770,43 @@ msgstr "관리자와 트레이너" msgid "Gym manager" msgstr "" -#: gym/templates/gym/member_list.html:69 +#: gym/templates/gym/member_list.html:76 msgid "This gym has no administrators or trainers" msgstr "이 Gym은 관리자와 트레이너가 없습니다." -#: gym/templates/gym/member_list.html:88 +#: gym/templates/gym/member_list.html:98 msgid "Export" msgstr "내보내기" -#: gym/templates/gym/member_list.html:125 +#: gym/templates/gym/member_list.html:137 msgid "Members" msgstr "" -#: gym/templates/gym/member_list.html:145 +#: gym/templates/gym/member_list.html:159 msgid "Gym configuration" msgstr "" -#: gym/templates/gym/member_list.html:148 +#: gym/templates/gym/member_list.html:162 msgid "Inactive members" msgstr "" -#: gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:163 msgid "weeks" msgstr "" -#: gym/templates/gym/member_list.html:181 +#: gym/templates/gym/member_list.html:197 msgid "My configuration" msgstr "" -#: gym/templates/gym/member_list.html:215 +#: gym/templates/gym/member_list.html:234 msgid "Types" msgstr "" -#: gym/templates/gym/member_list.html:285 +#: gym/templates/gym/member_list.html:307 msgid "Emails" msgstr "이메일" -#: gym/templates/gym/member_list.html:315 +#: gym/templates/gym/member_list.html:336 msgid "Add member" msgstr "멤버 추가" @@ -2143,28 +2104,38 @@ msgstr "" msgid "Unit" msgstr "" +#: manager/forms.py:191 manager/models/log.py:103 manager/models/setting.py:102 +#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 +msgid "RiR" +msgstr "" + #: manager/forms.py:279 msgid "Type" msgstr "" -#: manager/forms.py:280 manager/templates/workout/view.html:113 +#: manager/forms.py:280 manager/templates/workout/view.html:122 msgid "Table" msgstr "" -#: manager/forms.py:282 manager/templates/workout/view.html:119 +#: manager/forms.py:282 manager/templates/workout/view.html:129 msgid "with images" msgstr "" -#: manager/forms.py:283 manager/templates/workout/view.html:125 +#: manager/forms.py:283 manager/templates/workout/view.html:136 msgid "with comments" msgstr "" +#: manager/helpers.py:86 manager/models/setting.py:72 +#: manager/templates/set/formset.html:9 +msgid "Reps" +msgstr "" + #: manager/management/commands/email-reminders.py:121 msgid "Workout will expire soon" msgstr "" #: manager/models/day.py:34 manager/models/log.py:58 -#: manager/models/session.py:60 manager/templates/schedule/view.html:102 +#: manager/models/session.py:60 manager/templates/schedule/view.html:56 #: manager/templates/workout/view.html:9 manager/templates/workout/view.html:17 #: manager/views/pdf.py:85 manager/views/pdf.py:161 #: manager/views/schedule.py:151 manager/views/schedule.py:221 @@ -2185,7 +2156,7 @@ msgstr "일" msgid "Name or short description of the schedule. For example 'Program XYZ'." msgstr "" -#: manager/models/schedule.py:65 manager/templates/schedule/view.html:71 +#: manager/models/schedule.py:65 manager/templates/schedule/view.html:25 msgid "Schedule active" msgstr "일정 활성화" @@ -2196,7 +2167,7 @@ msgid "" "inactive" msgstr "" -#: manager/models/schedule.py:77 manager/templates/schedule/view.html:81 +#: manager/models/schedule.py:77 manager/templates/schedule/view.html:35 msgid "Is a loop" msgstr "" @@ -2215,7 +2186,7 @@ msgid "The duration in weeks" msgstr "" #: manager/models/schedule_step.py:64 manager/models/set.py:53 -#: manager/models/setting.py:113 nutrition/models/meal.py:55 +#: manager/models/setting.py:113 nutrition/models/meal.py:53 #: nutrition/models/meal_item.py:66 msgid "Order" msgstr "" @@ -2351,7 +2322,7 @@ msgstr "" msgid "Workout session" msgstr "" -#: manager/templates/calendar/partial_overview_table.html:27 +#: manager/templates/calendar/partial_overview_table.html:26 msgid "Delete with logs" msgstr "" @@ -2371,21 +2342,27 @@ msgid "" "will simply be edited. Weight entries are always added." msgstr "" -#: manager/templates/schedule/overview.html:5 +#: manager/templates/schedule/overview.html:4 msgid "Your schedules" msgstr "일정" #: manager/templates/schedule/overview.html:19 -#: manager/templates/schedule/view.html:131 -#: manager/templates/schedule/view.html:183 +#: manager/templates/schedule/view.html:96 +#: manager/templates/schedule/view.html:146 #: manager/templates/workout/overview.html:16 msgid "active" msgstr "" -#: manager/templates/schedule/overview.html:28 +#: manager/templates/schedule/overview.html:27 msgid "No schedules found." msgstr "일정이 없습니다." +#: manager/templates/schedule/overview.html:28 +#, fuzzy +#| msgid "Add one now." +msgid "Add one now" +msgstr "추가하세요." + #: manager/templates/schedule/overview.html:36 #, fuzzy #| msgid "" @@ -2408,14 +2385,15 @@ msgid "" " before jumping to the next. It is also possible to create a loop, so " "you\n" " always do the same workouts in succession, e.g. A > B > C > A > B > " -"C and so on." +"C and so\n" +" on." msgstr "" "다음으로 이동하기 전에 각 Workout을 얼마나 오래 할 것인지 표시할 수 있습니" "다. \n" "루프를 만들 수 있으므로 항상 동일한 운동을 연속적으로 수행합니다. \n" "e.g. A> B> C> A> B> C 등등." -#: manager/templates/schedule/overview.html:43 +#: manager/templates/schedule/overview.html:44 #, fuzzy #| msgid "" #| "The currently active schedule will remain active (and be\n" @@ -2440,25 +2418,21 @@ msgstr "일정 추가" msgid "Schedule" msgstr "일정" -#: manager/templates/schedule/view.html:85 +#: manager/templates/schedule/view.html:39 msgid "" "This schedule is a loop and will go through the workouts above till you " "deactivate it" msgstr "" -#: manager/templates/schedule/view.html:103 +#: manager/templates/schedule/view.html:57 msgid "Weeks" msgstr "" -#: manager/templates/schedule/view.html:115 -msgid "Move me" -msgstr "" - -#: manager/templates/schedule/view.html:156 +#: manager/templates/schedule/view.html:121 msgid "Start schedule" msgstr "일정 시작" -#: manager/templates/schedule/view.html:187 +#: manager/templates/schedule/view.html:150 #, python-format msgid "" "%(weeks)s Week\n" @@ -2468,11 +2442,11 @@ msgid_plural "" " " msgstr[0] "" -#: manager/templates/schedule/view.html:221 +#: manager/templates/schedule/view.html:184 msgid "Adding workouts" msgstr "" -#: manager/templates/schedule/view.html:223 +#: manager/templates/schedule/view.html:186 msgid "" "Add as many workouts to the schedule as you want. You can\n" " edit the order by dragging and dropping them. It's also possible " @@ -2480,44 +2454,37 @@ msgid "" " than once." msgstr "" -#: manager/templates/schedule/view.html:232 -#: manager/templates/schedule/view.html:243 -#: manager/templates/schedule/view.html:290 +#: manager/templates/schedule/view.html:195 +#: manager/templates/schedule/view.html:209 +#: manager/templates/schedule/view.html:263 #: manager/templates/workout/view.html:69 -#: manager/templates/workout/view.html:79 -#: manager/templates/workout/view.html:178 +#: manager/templates/workout/view.html:83 +#: manager/templates/workout/view.html:192 msgid "Export calendar file" msgstr "달력 파일 내보내기" -#: manager/templates/schedule/view.html:236 +#: manager/templates/schedule/view.html:201 msgid "Export this schedule as a calendar file." msgstr "이 일정을 달력 파일로 내보내기" -#: manager/templates/schedule/view.html:237 -#: manager/templates/workout/view.html:74 +#: manager/templates/schedule/view.html:202 +#: manager/templates/workout/view.html:76 msgid "" "You can then import the file it into your calendar\n" " application for example google calendar, outlook or " "iCal. This will create\n" " an appointment for each training day with the " -"appropriate exercises." +"appropriate\n" +" exercises." msgstr "" -#: manager/templates/schedule/view.html:258 -#: manager/templates/schedule/view.html:294 -#: manager/templates/workout/view.html:94 -#: manager/templates/workout/view.html:174 +#: manager/templates/schedule/view.html:225 +#: manager/templates/schedule/view.html:268 +#: manager/templates/workout/view.html:99 +#: manager/templates/workout/view.html:188 msgid "Download as PDF" msgstr "" -#: manager/templates/schedule/view.html:299 -msgid "Edit schedule" -msgstr "일정 수정" - -#: manager/templates/schedule/view.html:304 -msgid "Delete schedule" -msgstr "일정 삭제" - #: manager/templates/set/add.html:9 #, python-format msgid "Add exercises to day \"%(day_name)s\"" @@ -2582,49 +2549,6 @@ msgid "" "You will regularly receive such reminders till you enter your current weight." msgstr "" -#: manager/templates/workout/log.html:10 manager/templates/workout/log.html:11 -msgid "Weight log" -msgstr "" - -#: manager/templates/workout/log.html:29 -msgid "Weight log for workout" -msgstr "" - -#: manager/templates/workout/log.html:49 -msgid "Add weight log to this day" -msgstr "운동 로그 추가하기" - -#: manager/templates/workout/log.html:69 -msgid "No weight entries here." -msgstr "" - -#: manager/templates/workout/log.html:77 -msgid "No exercises for this day." -msgstr "" - -#: manager/templates/workout/log.html:90 -msgid "" -"This page shows the weight logs belonging to this workout\n" -"only. Click on an exercise to see all the historical data for\n" -"it." -msgstr "" - -#: manager/templates/workout/log.html:94 -msgid "" -"If on a single day there is more than one entry with the\n" -"same number of repetitions, but different weights, only the entry with the\n" -"higher weight is shown in the diagram." -msgstr "" - -#: manager/templates/workout/log.html:98 -msgid "" -"Note that only entries with a weight unit (kg or lb) and\n" -"repetitions are charted, other combinations such as time or until failure\n" -"are ignored here." -msgstr "" -"무게 단위 (kg 또는 lb)와 반복이 있는 항목만 차트로 표시되며,\n" -"시간 또는 실패 전까지의 항목은 무시됩니다." - #: manager/templates/workout/overview.html:25 #, fuzzy #| msgid "No schedules found." @@ -2664,27 +2588,23 @@ msgstr "" msgid "Set the repetitions for each set" msgstr "" -#: manager/templates/workout/view.html:73 +#: manager/templates/workout/view.html:75 msgid "Export this workout as a calendar file." msgstr "이 Workout을 달력파일로 내보내기" -#: manager/templates/workout/view.html:144 +#: manager/templates/workout/view.html:156 msgid "Logs" msgstr "" -#: manager/templates/workout/view.html:146 +#: manager/templates/workout/view.html:159 msgid "View logs" msgstr "" -#: manager/templates/workout/view.html:169 manager/views/schedule_step.py:99 -msgid "Edit workout" -msgstr "" - -#: manager/templates/workout/view.html:182 manager/views/workout.py:281 +#: manager/templates/workout/view.html:195 manager/views/workout.py:281 msgid "Mark as template" msgstr "" -#: manager/views/day.py:109 +#: manager/views/day.py:105 msgid "Add workout day" msgstr "" @@ -2701,6 +2621,10 @@ msgstr "" msgid "Create schedule" msgstr "일정 생성" +#: manager/views/schedule_step.py:99 +msgid "Edit workout" +msgstr "" + #: manager/views/workout.py:209 msgid "Copy workout" msgstr "" @@ -2828,7 +2752,7 @@ msgstr "" msgid "Unit amount, e.g. \"1 Cup\" or \"1/2 spoon\"" msgstr "" -#: nutrition/models/log.py:52 nutrition/models/meal.py:50 +#: nutrition/models/log.py:52 nutrition/models/meal.py:48 #: nutrition/models/meal_item.py:48 nutrition/models/plan.py:108 msgid "Nutrition plan" msgstr "" @@ -2841,11 +2765,11 @@ msgstr "" msgid "Date and Time (Approx.)" msgstr "" -#: nutrition/models/meal.py:62 +#: nutrition/models/meal.py:60 msgid "Time (approx)" msgstr "" -#: nutrition/models/meal.py:69 +#: nutrition/models/meal.py:67 msgid "" "Give meals a textual description / name such as \"Breakfast\" or \"after " "workout\"" @@ -2867,58 +2791,6 @@ msgid "" "calories. You can use the calculator or enter the value yourself." msgstr "" -#: nutrition/templates/bmi/form.html:62 -msgid "Results" -msgstr "" - -#: nutrition/templates/bmi/form.html:63 -msgid "Your BMI is: " -msgstr "" - -#: nutrition/templates/bmi/form.html:71 -msgid "Legend" -msgstr "" - -#: nutrition/templates/bmi/form.html:75 -msgid "Adipositas III" -msgstr "" - -#: nutrition/templates/bmi/form.html:79 -msgid "Adipositas II" -msgstr "" - -#: nutrition/templates/bmi/form.html:83 -msgid "Adipositas I" -msgstr "" - -#: nutrition/templates/bmi/form.html:87 -msgid "Overweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:91 -msgid "Normal weight" -msgstr "" - -#: nutrition/templates/bmi/form.html:95 -msgid "Slight underweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:99 -msgid "Moderate underweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:103 -msgid "Strong underweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:117 -msgid "" -"Use the form to calculate your BMI (Body Mass Index).\n" -"If you have entered data in the weight section, the last entry will\n" -"be used automatically. Otherwise the weight you enter here will be saved\n" -"in a new entry." -msgstr "" - #: nutrition/templates/ingredient/email_new.tpl:1 #, python-format msgid "" @@ -2968,10 +2840,6 @@ msgstr "" msgid "Search" msgstr "" -#: nutrition/templates/ingredient/overview.html:62 -msgid "Add ingredient" -msgstr "" - #: nutrition/templates/ingredient/view.html:45 nutrition/views/plan.py:229 msgid "Macronutrients" msgstr "" @@ -2991,20 +2859,11 @@ msgstr "" msgid "Others" msgstr "" -#: nutrition/templates/ingredient/view.html:144 -#: nutrition/templates/units/list.html:46 nutrition/views/unit.py:86 +#: nutrition/templates/ingredient/view.html:143 +#: nutrition/templates/units/list.html:50 nutrition/views/unit.py:86 msgid "Add new weight unit" msgstr "" -#: nutrition/templates/ingredient/view.html:206 -#: nutrition/templates/ingredient/view.html:209 -msgid "Edit ingredient" -msgstr "" - -#: nutrition/templates/ingredient/view.html:213 -msgid "Delete ingredient" -msgstr "" - #: nutrition/templates/rate/form.html:25 msgid "Basal metabolic rate" msgstr "" @@ -3073,18 +2932,6 @@ msgid "" "yourself for some weeks and change the total amount if needed." msgstr "" -#: nutrition/views/bmi.py:89 -msgid "Please make sure your height is within the appropriate range." -msgstr "" - -#: nutrition/views/bmi.py:92 -msgid "140 to 230" -msgstr "" - -#: nutrition/views/bmi.py:94 -msgid "56 to 90" -msgstr "" - #: nutrition/views/ingredient.py:157 msgid "Add a new ingredient" msgstr "" @@ -3573,6 +3420,27 @@ msgstr "삭제되었습니다." msgid "Delete weight entry for the %s" msgstr "" +#~ msgid "Add weight log" +#~ msgstr "체중 기록 추가" + +#~ msgid "Edit schedule" +#~ msgstr "일정 수정" + +#~ msgid "Delete schedule" +#~ msgstr "일정 삭제" + +#~ msgid "Add weight log to this day" +#~ msgstr "운동 로그 추가하기" + +#~ msgid "" +#~ "Note that only entries with a weight unit (kg or lb) and\n" +#~ "repetitions are charted, other combinations such as time or until " +#~ "failure\n" +#~ "are ignored here." +#~ msgstr "" +#~ "무게 단위 (kg 또는 lb)와 반복이 있는 항목만 차트로 표시되며,\n" +#~ "시간 또는 실패 전까지의 항목은 무시됩니다." + #~ msgid "Submission date" #~ msgstr "제출일" diff --git a/wger/locale/nl/LC_MESSAGES/django.po b/wger/locale/nl/LC_MESSAGES/django.po index 0b850519b..f8035b60c 100644 --- a/wger/locale/nl/LC_MESSAGES/django.po +++ b/wger/locale/nl/LC_MESSAGES/django.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: wger Workout Manager\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-14 15:59+0200\n" +"POT-Creation-Date: 2024-11-14 19:23+0100\n" "PO-Revision-Date: 2024-05-29 22:09+0000\n" "Last-Translator: SilverServerT \n" "Language-Team: Dutch \n" @@ -25,7 +25,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.6-dev\n" -#: config/models/gym_config.py:46 gym/templates/gym/list.html:53 +#: config/models/gym_config.py:46 gym/templates/gym/list.html:56 msgid "Default gym" msgstr "Standaard sportschool" @@ -38,28 +38,28 @@ msgstr "" "nieuwe geregistreerde gebruikers aan deze sportschool toevoegen en alle " "bestaande gebruikers zonder sportschool bijwerken." -#: config/views/gym_config.py:42 core/templates/language/view.html:67 -#: core/templates/license/list.html:17 core/templates/misc/license/list.html:18 +#: config/views/gym_config.py:42 core/templates/language/view.html:64 +#: core/templates/license/list.html:17 #: core/templates/repetition_unit/list.html:18 -#: core/templates/tags/render_day.html:39 -#: core/templates/tags/render_day.html:75 core/templates/user/overview.html:204 -#: core/templates/user/overview.html:445 +#: core/templates/user/overview.html:204 core/templates/user/overview.html:467 #: core/templates/weight_unit/list.html:18 #: exercises/templates/categories/admin-overview.html:17 #: exercises/templates/equipment/admin-overview.html:17 -#: exercises/templates/muscles/admin-overview.html:17 -#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:32 -#: gym/templates/contract/list.html:31 gym/templates/contract/view.html:107 -#: gym/templates/contract_option/list.html:32 -#: gym/templates/contract_type/list.html:32 gym/templates/document/list.html:38 -#: gym/templates/gym/list.html:20 gym/templates/gym/list.html:46 -#: gym/templates/gym/member_list.html:87 gym/templates/gym/member_list.html:140 -#: gym/templates/gym/member_list.html:176 -#: manager/templates/calendar/day.html:68 -#: manager/templates/calendar/month.html:85 -#: manager/templates/calendar/partial_overview_table.html:18 -#: manager/templates/schedule/view.html:118 -#: nutrition/templates/ingredient/view.html:165 +#: exercises/templates/muscles/admin-overview.html:16 +#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:31 +#: gym/templates/contract/list.html:30 gym/templates/contract/view.html:106 +#: gym/templates/contract_option/list.html:29 +#: gym/templates/contract_type/list.html:30 gym/templates/document/list.html:38 +#: gym/templates/gym/list.html:19 gym/templates/gym/list.html:48 +#: gym/templates/gym/member_list.html:94 gym/templates/gym/member_list.html:152 +#: gym/templates/gym/member_list.html:190 +#: manager/templates/calendar/day.html:67 +#: manager/templates/calendar/month.html:84 +#: manager/templates/calendar/partial_overview_table.html:16 +#: manager/templates/schedule/view.html:271 +#: manager/templates/workout/view.html:181 +#: nutrition/templates/ingredient/view.html:164 +#: nutrition/templates/ingredient/view.html:209 #: nutrition/templates/units/list.html:19 msgid "Edit" msgstr "Bewerk" @@ -94,25 +94,25 @@ msgstr "Mijn hip workoutschema" msgid "Empty placeholder schedule" msgstr "Leeg tijdelijk schema" -#: core/forms.py:69 core/templates/navigation.html:285 -#: core/templates/navigation.html:291 core/templates/user/login.html:4 +#: core/forms.py:69 core/templates/navigation.html:284 +#: core/templates/navigation.html:290 core/templates/user/login.html:4 #: software/templates/features.html:82 software/templates/features.html:427 msgid "Login" msgstr "Aanmelden" -#: core/forms.py:108 core/forms.py:214 gym/views/export.py:61 +#: core/forms.py:108 core/forms.py:216 gym/views/export.py:61 #: gym/views/gym.py:217 msgid "First name" msgstr "Voornaam" -#: core/forms.py:109 core/forms.py:215 core/templates/user/overview.html:266 +#: core/forms.py:109 core/forms.py:217 core/templates/user/overview.html:284 #: gym/views/export.py:62 gym/views/gym.py:217 msgid "Last name" msgstr "Achternaam" -#: core/forms.py:111 core/forms.py:180 core/templates/user/overview.html:270 +#: core/forms.py:111 core/forms.py:182 core/templates/user/overview.html:288 #: gym/models/contract.py:256 gym/models/gym.py:58 -#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:104 +#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:116 #: gym/templates/gym/new_user.html:30 gym/views/export.py:60 #: mailer/templates/mailer/gym/form.html:4 #: mailer/templates/mailer/gym/overview.html:4 @@ -131,96 +131,95 @@ msgstr "" msgid "Date of Birth" msgstr "Geboortedatum" -#: core/forms.py:148 +#: core/forms.py:149 msgid "Personal data" msgstr "Persoonlijke gegevens" -#: core/forms.py:159 +#: core/forms.py:161 msgid "Workout reminders" msgstr "Workout-herinneringen" -#: core/forms.py:166 +#: core/forms.py:168 msgid "Other settings" msgstr "Overige instellingen" -#: core/forms.py:174 core/views/user.py:624 core/views/user.py:639 -#: core/views/user.py:651 gym/forms.py:73 manager/templates/log/add.html:65 +#: core/forms.py:176 core/views/user.py:623 core/views/user.py:638 +#: core/views/user.py:650 gym/forms.py:73 manager/templates/log/add.html:65 #: manager/templates/set/add.html:70 manager/views/workout.py:203 #: utils/generic_views.py:143 msgid "Save" msgstr "Opslaan" -#: core/forms.py:181 +#: core/forms.py:183 msgid "Used for password resets and, optionally, email reminders." msgstr "" "Wordt gebruikt voor het resetten van een wachtwoord en optioneel voor e-mail " "herinneringen." -#: core/forms.py:210 +#: core/forms.py:212 msgid "This e-mail address is already in use." msgstr "Dit e-mailadres wordt al gebruikt." -#: core/forms.py:231 gym/templates/gym/new_user.html:26 +#: core/forms.py:233 gym/templates/gym/new_user.html:26 #: gym/templates/gym/reset_user_password.html:24 gym/views/gym.py:217 msgid "Password" msgstr "Wachtwoord" -#: core/forms.py:233 +#: core/forms.py:235 msgid "Please enter your current password." msgstr "Gelieve je huidige wachtwoord in te geven." -#: core/forms.py:242 core/templates/language/view.html:73 -#: core/templates/license/list.html:19 core/templates/misc/license/list.html:22 -#: core/templates/repetition_unit/list.html:20 -#: core/templates/tags/render_day.html:45 -#: core/templates/tags/render_day.html:81 core/templates/user/overview.html:217 -#: core/templates/weight_unit/list.html:20 -#: exercises/templates/categories/admin-overview.html:19 -#: exercises/templates/equipment/admin-overview.html:19 -#: exercises/templates/muscles/admin-overview.html:19 -#: gym/templates/admin_notes/list.html:40 -#: gym/templates/contract_option/list.html:41 -#: gym/templates/contract_type/list.html:41 gym/templates/document/list.html:46 -#: gym/templates/gym/list.html:22 manager/templates/calendar/day.html:73 -#: manager/templates/calendar/month.html:89 -#: manager/templates/calendar/partial_overview_table.html:23 -#: manager/templates/schedule/view.html:122 -#: manager/templates/workout/view.html:188 -#: nutrition/templates/ingredient/view.html:166 +#: core/forms.py:244 core/templates/language/view.html:70 +#: core/templates/license/list.html:21 +#: core/templates/repetition_unit/list.html:22 +#: core/templates/user/overview.html:233 +#: core/templates/weight_unit/list.html:22 +#: exercises/templates/categories/admin-overview.html:21 +#: exercises/templates/equipment/admin-overview.html:21 +#: exercises/templates/muscles/admin-overview.html:20 +#: gym/templates/admin_notes/list.html:37 +#: gym/templates/contract_option/list.html:35 +#: gym/templates/contract_type/list.html:36 gym/templates/document/list.html:46 +#: gym/templates/gym/list.html:23 manager/templates/calendar/day.html:73 +#: manager/templates/calendar/month.html:88 +#: manager/templates/calendar/partial_overview_table.html:22 +#: manager/templates/schedule/view.html:277 +#: manager/templates/workout/view.html:202 +#: nutrition/templates/ingredient/view.html:168 #: nutrition/templates/ingredient/view.html:215 -#: nutrition/templates/units/list.html:22 +#: nutrition/templates/units/list.html:25 msgid "Delete" msgstr "Verwijder" -#: core/forms.py:251 +#: core/forms.py:253 msgid "Invalid password" msgstr "Ongeldig wachtwoord" -#: core/forms.py:263 core/forms.py:338 +#: core/forms.py:265 core/forms.py:340 msgid "The form is secured with reCAPTCHA" msgstr "Dit formulier is beveiligd met reCAPTCHA" -#: core/forms.py:279 core/forms.py:301 core/templates/navigation.html:285 -#: core/templates/navigation.html:297 core/templates/template.html:149 -#: core/templates/user/login.html:20 core/views/user.py:298 +#: core/forms.py:281 core/forms.py:303 core/templates/navigation.html:284 +#: core/templates/navigation.html:296 core/templates/template.html:150 +#: core/templates/user/login.html:20 core/views/user.py:297 #: software/templates/features.html:87 software/templates/features.html:422 msgid "Register" msgstr "Registreer" -#: core/forms.py:315 software/templates/features.html:45 +#: core/forms.py:317 software/templates/features.html:45 msgid "Contact" msgstr "Contact" -#: core/forms.py:316 +#: core/forms.py:318 msgid "Some way of answering you (e-mail, etc.)" msgstr "Een manier om je te beantwoorden (e-mail, etc.)" -#: core/forms.py:324 exercises/models/comment.py:58 manager/models/set.py:61 +#: core/forms.py:326 exercises/models/comment.py:58 manager/models/set.py:61 #: manager/models/setting.py:114 nutrition/models/log.py:77 msgid "Comment" msgstr "Opmerking" -#: core/forms.py:325 +#: core/forms.py:327 msgid "What do you want to say?" msgstr "Wat wil je zeggen?" @@ -457,18 +456,18 @@ msgid "The sum of all hours has to be 24" msgstr "Het toaal van alle uren moet 24 zijn" #: core/models/rep_unit.py:36 core/models/weight_unit.py:36 -#: core/templates/user/overview.html:262 core/views/user.py:599 +#: core/templates/user/overview.html:280 core/views/user.py:598 #: exercises/models/category.py:29 exercises/models/equipment.py:29 #: exercises/models/exercise.py:59 exercises/models/muscle.py:36 #: gym/models/contract.py:52 gym/models/contract.py:103 gym/models/gym.py:46 #: gym/models/user_document.py:84 gym/templates/contract/view.html:50 -#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:96 +#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:108 #: gym/views/gym.py:158 manager/models/schedule.py:55 #: manager/models/workout.py:57 measurements/models/category.py:36 #: nutrition/models/ingredient.py:111 -#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:67 +#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:65 #: nutrition/models/weight_unit.py:38 -#: nutrition/templates/ingredient/view.html:152 +#: nutrition/templates/ingredient/view.html:151 msgid "Name" msgstr "Naam" @@ -520,10 +519,10 @@ msgstr "" msgid "Back to \"%(target)s\"" msgstr "Terug naar \"%(target)s\"" -#: core/templates/delete.html:15 +#: core/templates/delete.html:4 msgid "Are you sure you want to delete this? This action cannot be undone." msgstr "" -"Ben je zeker dat je dit wil verwijderen? Deze actie kan niet ongedaan worden " +"Weet je zeker dit je d wil verwijderen? Deze actie kan niet ongedaan worden " "gemaakt." #: core/templates/email_verification/confirm_template.html:4 @@ -574,7 +573,7 @@ msgstr "Aub, klik op de volgende link om je email te bevestigen %(link)s" msgid "Dashboard" msgstr "Dashboard" -#: core/templates/language/overview.html:4 core/templates/navigation.html:345 +#: core/templates/language/overview.html:4 core/templates/navigation.html:344 msgid "Languages" msgstr "Talen" @@ -584,83 +583,72 @@ msgstr "Niets gevonden." #: core/templates/language/overview.html:22 #: manager/templates/calendar/month.html:132 -#: manager/templates/schedule/overview.html:28 -#: manager/templates/schedule/view.html:144 +#: manager/templates/schedule/view.html:107 #: manager/templates/workout/overview.html:28 #: nutrition/templates/ingredient/overview.html:38 msgid "Add one now." msgstr "Voeg er een toe." -#: core/templates/language/overview.html:35 core/templates/license/list.html:40 -#: core/templates/misc/license/list.html:43 -#: core/templates/repetition_unit/list.html:43 -#: core/templates/user/overview.html:326 core/templates/user/overview.html:365 -#: core/templates/user/overview.html:401 -#: core/templates/weight_unit/list.html:43 core/views/languages.py:74 +#: core/templates/language/overview.html:34 core/templates/license/list.html:43 +#: core/templates/repetition_unit/list.html:46 +#: core/templates/user/overview.html:344 core/templates/user/overview.html:384 +#: core/templates/user/overview.html:422 +#: core/templates/weight_unit/list.html:46 core/views/languages.py:74 #: core/views/license.py:66 core/views/repetition_units.py:66 #: core/views/weight_units.py:66 -#: exercises/templates/categories/admin-overview.html:38 -#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:67 -#: gym/templates/contract/list.html:73 -#: gym/templates/contract_option/list.html:72 -#: gym/templates/contract_type/list.html:72 gym/templates/document/list.html:79 -#: gym/templates/gym/member_list.html:211 -#: gym/templates/gym/member_list.html:244 -#: gym/templates/gym/member_list.html:281 +#: exercises/templates/categories/admin-overview.html:40 +#: exercises/templates/equipment/admin-overview.html:39 +#: exercises/templates/muscles/admin-overview.html:40 +#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:64 +#: gym/templates/contract/list.html:69 +#: gym/templates/contract_option/list.html:65 +#: gym/templates/contract_type/list.html:66 gym/templates/document/list.html:78 +#: gym/templates/gym/member_list.html:228 +#: gym/templates/gym/member_list.html:264 +#: gym/templates/gym/member_list.html:303 #: mailer/templates/mailer/gym/overview.html:43 +#: nutrition/templates/ingredient/overview.html:60 msgid "Add" msgstr "Aanmaken" #: core/templates/language/view.html:61 core/templates/user/api_key.html:44 -#: core/templates/user/preferences.html:45 gym/models/contract.py:203 -#: gym/templates/contract/view.html:41 gym/templates/contract/view.html:106 -#: gym/templates/gym/member_list.html:248 -#: manager/templates/schedule/view.html:285 -#: manager/templates/workout/view.html:163 -#: nutrition/templates/ingredient/view.html:202 +#: core/templates/user/preferences.html:50 gym/models/contract.py:203 +#: gym/templates/contract/view.html:41 gym/templates/gym/member_list.html:270 +#: manager/templates/schedule/view.html:257 +#: manager/templates/workout/view.html:177 +#: nutrition/templates/ingredient/view.html:206 msgid "Options" msgstr "Opties" -#: core/templates/license/list.html:4 core/templates/misc/license/list.html:4 +#: core/templates/license/list.html:4 msgid "License list" msgstr "Licentielijst" -#: core/templates/license/list.html:26 core/templates/misc/license/list.html:30 -#: core/templates/repetition_unit/list.html:28 +#: core/templates/license/list.html:30 +#: core/templates/repetition_unit/list.html:32 #: core/templates/user/overview.html:104 core/templates/user/overview.html:136 -#: core/templates/user/overview.html:185 core/templates/user/overview.html:347 -#: core/templates/user/overview.html:383 core/templates/user/overview.html:427 -#: core/templates/weight_unit/list.html:28 -#: exercises/templates/categories/admin-overview.html:26 -#: exercises/templates/equipment/admin-overview.html:26 -#: exercises/templates/muscles/admin-overview.html:26 -#: gym/templates/admin_notes/list.html:52 gym/templates/contract/list.html:60 -#: gym/templates/contract_option/list.html:58 -#: gym/templates/contract_type/list.html:58 gym/templates/document/list.html:64 -#: gym/templates/gym/list.html:29 gym/templates/gym/member_list.html:229 -#: gym/templates/gym/member_list.html:262 -#: gym/templates/gym/member_list.html:299 +#: core/templates/user/overview.html:185 core/templates/user/overview.html:365 +#: core/templates/user/overview.html:404 core/templates/user/overview.html:448 +#: core/templates/weight_unit/list.html:32 +#: exercises/templates/categories/admin-overview.html:30 +#: exercises/templates/equipment/admin-overview.html:30 +#: exercises/templates/muscles/admin-overview.html:29 +#: gym/templates/admin_notes/list.html:50 gym/templates/contract/list.html:57 +#: gym/templates/contract_option/list.html:52 +#: gym/templates/contract_type/list.html:53 gym/templates/document/list.html:64 +#: gym/templates/gym/list.html:32 gym/templates/gym/member_list.html:248 +#: gym/templates/gym/member_list.html:284 +#: gym/templates/gym/member_list.html:321 #: mailer/templates/mailer/gym/overview.html:30 -#: manager/templates/calendar/day.html:87 -#: nutrition/templates/units/list.html:29 +#: manager/templates/calendar/day.html:88 +#: nutrition/templates/units/list.html:34 msgid "Nothing found" msgstr "Niets gevonden" -#: core/templates/misc/about.html:4 core/templates/template.html:175 +#: core/templates/misc/about.html:4 core/templates/template.html:187 msgid "Imprint" msgstr "Afdruk" -#: core/templates/misc/license/list.html:47 -#, fuzzy -msgid "" -"If a license has been localized, e.g. the Creative Commons\n" -" licenses for the different countries, add them as separate " -"entries here." -msgstr "" -"Als een licentie werd gelokaliseerd, zoals bvb. de Creative Commons\n" -"licenties voor verschillende landen, voeg ze ze dan hier toe als aparte " -"ingaven." - #: core/templates/navigation.html:28 software/templates/features.html:437 msgid "Training" msgstr "Training" @@ -705,8 +693,8 @@ msgstr "Publieke schemas" msgid "Exercises" msgstr "Oefeningen" -#: core/templates/navigation.html:111 core/templates/navigation.html:184 -#: core/templates/navigation.html:340 +#: core/templates/navigation.html:111 core/templates/navigation.html:185 +#: core/templates/navigation.html:339 msgid "Administration" msgstr "Administratie" @@ -736,7 +724,7 @@ msgstr "Voeding" msgid "Nutrition plans" msgstr "Voedingsplannen" -#: core/templates/navigation.html:165 nutrition/templates/bmi/form.html:50 +#: core/templates/navigation.html:165 msgid "BMI calculator" msgstr "BMI-calculator" @@ -744,87 +732,87 @@ msgstr "BMI-calculator" msgid "Daily calories calculator" msgstr "Dagelijkse calorieëncalculator" -#: core/templates/navigation.html:179 +#: core/templates/navigation.html:180 #: nutrition/templates/ingredient/overview.html:10 msgid "Ingredient overview" msgstr "Ingrediëntenoverzicht" -#: core/templates/navigation.html:187 nutrition/templates/units/list.html:6 +#: core/templates/navigation.html:189 nutrition/templates/units/list.html:6 msgid "Ingredient weight units" msgstr "Gewichteenheden ingrediënt" -#: core/templates/navigation.html:203 software/templates/features.html:442 +#: core/templates/navigation.html:205 software/templates/features.html:442 msgid "Body weight" msgstr "Lichaamsgewicht" -#: core/templates/navigation.html:210 core/templates/user/overview.html:114 +#: core/templates/navigation.html:212 core/templates/user/overview.html:114 msgid "Weight overview" msgstr "Gewichtsoverzicht" -#: core/templates/navigation.html:217 weight/views.py:65 +#: core/templates/navigation.html:216 weight/views.py:65 msgid "Add weight entry" msgstr "Voeg gewichtmeting toe" -#: core/templates/navigation.html:231 +#: core/templates/navigation.html:230 msgid "About this software" msgstr "Over deze software" -#: core/templates/navigation.html:237 software/templates/about_us.html:5 +#: core/templates/navigation.html:236 software/templates/about_us.html:5 msgid "About us" msgstr "Over ons" -#: core/templates/navigation.html:243 software/templates/features.html:507 +#: core/templates/navigation.html:242 software/templates/features.html:507 msgid "REST API" msgstr "REST API" -#: core/templates/navigation.html:249 utils/models.py:45 +#: core/templates/navigation.html:248 utils/models.py:45 msgid "License" msgstr "Licentie" -#: core/templates/navigation.html:255 +#: core/templates/navigation.html:254 msgid "Developer documentation" msgstr "Developer documentatie" -#: core/templates/navigation.html:262 +#: core/templates/navigation.html:261 msgid "Get the code" msgstr "Download de code" -#: core/templates/navigation.html:269 core/templates/template.html:214 +#: core/templates/navigation.html:268 core/templates/template.html:226 #: software/templates/features.html:582 msgid "Translate" msgstr "Vertaal" -#: core/templates/navigation.html:303 core/templates/user/login.html:28 +#: core/templates/navigation.html:302 core/templates/user/login.html:28 msgid "Reset password" msgstr "Reset wachtwoord" -#: core/templates/navigation.html:321 +#: core/templates/navigation.html:320 msgid "My preferences" msgstr "Mijn voorkeuren" -#: core/templates/navigation.html:330 +#: core/templates/navigation.html:329 msgid "Logout" msgstr "Afmelden" -#: core/templates/navigation.html:353 +#: core/templates/navigation.html:352 msgid "Licenses" msgstr "Licenties" -#: core/templates/navigation.html:361 +#: core/templates/navigation.html:360 #: core/templates/repetition_unit/list.html:4 msgid "Repetition units" msgstr "Herhalingen" -#: core/templates/navigation.html:369 core/templates/weight_unit/list.html:4 +#: core/templates/navigation.html:368 core/templates/weight_unit/list.html:4 #: nutrition/templates/ingredient/view.html:141 msgid "Weight units" msgstr "Gewichteenheden" -#: core/templates/navigation.html:377 core/templates/user/list.html:4 +#: core/templates/navigation.html:376 core/templates/user/list.html:4 msgid "User list" msgstr "Gebruikerslijst" -#: core/templates/navigation.html:383 +#: core/templates/navigation.html:382 msgid "Gyms" msgstr "Gyms" @@ -834,7 +822,7 @@ msgstr "Wachtwoord-reset voltooid" #: core/templates/registration/password_reset_complete.html:8 msgid "Your password has been set. You may go ahead and log in now." -msgstr "Je wachtwoord werd ingesteld. Je kan jezelf nu aanmelden." +msgstr "Je wachtwoord is ingesteld. Je kan jezelf nu aanmelden." #: core/templates/registration/password_reset_complete.html:10 msgid "Log in" @@ -842,7 +830,7 @@ msgstr "Aanmelden" #: core/templates/registration/password_reset_done.html:4 msgid "Password reset successful" -msgstr "Wachtwoord-reset niet geslaagd" +msgstr "Wachtwoord opnieuw instellen niet geslaagd" #: core/templates/registration/password_reset_done.html:8 msgid "" @@ -872,7 +860,7 @@ msgstr "Je gebruikersnaam, in geval je deze vergeten bent:" #: core/templates/registration/password_reset_email.html:11 msgid "Thanks for using our site!" -msgstr "Bedankt om onze site te gebruiken!" +msgstr "Bedankt voor het gebruiken van onze site!" #: core/templates/registration/password_reset_email.html:13 #, python-format @@ -888,56 +876,31 @@ msgstr "vorige" msgid "next" msgstr "volgende" -#: core/templates/tags/render_day.html:34 -msgid "Add weight log" -msgstr "Voeg gewichtlog toe" +#: core/templates/tags/render_day.html:44 +#, fuzzy +#| msgid "Placeholder image for exercise" +msgid "Placeholder image for translation" +msgstr "Aanduiding afbeelding voor oefening" -#: core/templates/tags/render_day.html:116 -msgid "Placeholder image for exercise" -msgstr "Placeholder afbeelding voor oefening" - -#: core/templates/tags/render_day.html:133 -msgid "This exercise has no repetitions." -msgstr "Deze oefening heeft geen herhalingen." - -#: core/templates/tags/render_day.html:136 -msgid "Edit them now." -msgstr "Bewerk ze nu." - -#: core/templates/tags/render_day.html:162 -msgid "Add exercises to this workout day" -msgstr "Oefeningen toevoegen aan deze workout-dag." - -#: core/templates/tags/render_weight_log.html:17 manager/helpers.py:86 -#: manager/models/setting.py:72 manager/templates/set/formset.html:9 -msgid "Reps" -msgstr "Herhalingen" - -#: core/templates/tags/render_weight_log.html:30 manager/forms.py:191 -#: manager/models/log.py:103 manager/models/setting.py:102 -#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 -msgid "RiR" -msgstr "RiR" - -#: core/templates/template.html:122 manager/templates/calendar/month.html:138 -#: manager/templates/schedule/view.html:248 -#: manager/templates/schedule/view.html:269 -#: manager/templates/workout/view.html:84 -#: manager/templates/workout/view.html:137 +#: core/templates/template.html:123 manager/templates/calendar/month.html:138 +#: manager/templates/schedule/view.html:215 +#: manager/templates/schedule/view.html:240 +#: manager/templates/workout/view.html:89 +#: manager/templates/workout/view.html:149 msgid "Close" msgstr "Sluit" -#: core/templates/template.html:138 +#: core/templates/template.html:139 msgid "" "You are using a guest account, data entered will be deleted after a week." msgstr "" "Je gebruikt een gastaccount, ingevoerde data wordt verwijderd na een week." -#: core/templates/template.html:143 +#: core/templates/template.html:144 msgid "Create some demo entries" msgstr "Maak wat demo-ingaven aan" -#: core/templates/template.html:180 software/templates/features.html:547 +#: core/templates/template.html:192 software/templates/features.html:547 #: software/templates/tos.html:7 msgid "Terms of service" msgstr "Algemene voorwaarden" @@ -946,7 +909,7 @@ msgstr "Algemene voorwaarden" msgid "Features" msgstr "Functies" -#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:54 +#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:59 msgid "API key" msgstr "API sleutel" @@ -991,17 +954,17 @@ msgstr "Genereer nieuwe API-sleutel" msgid "Documentation" msgstr "Documentatie" -#: core/templates/user/delete_account.html:4 -#: core/templates/user/preferences.html:59 +#: core/templates/user/delete_account.html:3 +#: core/templates/user/preferences.html:62 msgid "Delete account" msgstr "Verwijder account" -#: core/templates/user/delete_account.html:17 +#: core/templates/user/delete_account.html:9 #: exercises/templates/history/overview.html:93 msgid "Are you sure?" msgstr "Ben je zeker?" -#: core/templates/user/delete_account.html:22 +#: core/templates/user/delete_account.html:14 #, python-format msgid "" "This action will delete the user account \"%(username)s\".\n" @@ -1022,22 +985,22 @@ msgstr "Wachtwoord vergeten?" #: core/templates/user/overview.html:25 core/templates/user/overview.html:68 #: core/templates/user/overview.html:112 core/templates/user/overview.html:144 -#: core/templates/user/overview.html:330 core/templates/user/overview.html:369 -#: core/templates/user/overview.html:405 +#: core/templates/user/overview.html:348 core/templates/user/overview.html:390 +#: core/templates/user/overview.html:426 #, python-format msgid "last %(number)s" msgstr "laatste %(number)s" #: core/templates/user/overview.html:27 core/templates/user/overview.html:146 -#: core/templates/user/overview.html:325 core/templates/user/overview.html:364 -#: core/templates/user/overview.html:400 gym/templates/gym/member_list.html:210 -#: gym/templates/gym/member_list.html:243 -#: gym/templates/gym/member_list.html:280 +#: core/templates/user/overview.html:343 core/templates/user/overview.html:382 +#: core/templates/user/overview.html:421 gym/templates/gym/member_list.html:226 +#: gym/templates/gym/member_list.html:262 +#: gym/templates/gym/member_list.html:302 msgid "Overview" msgstr "Overzicht" #: core/templates/user/overview.html:28 -#: manager/templates/schedule/view.html:163 +#: manager/templates/schedule/view.html:125 #: manager/templates/workout/overview.html:39 manager/views/schedule_step.py:60 msgid "Add workout" msgstr "Workout toevoegen" @@ -1069,38 +1032,36 @@ msgstr "Beschrijving" msgid "Number of logs (days)" msgstr "Aantal logs (dagen)" -#: core/templates/user/overview.html:37 core/views/user.py:600 +#: core/templates/user/overview.html:37 core/views/user.py:599 #: gym/templates/gym/email_inactive_members.html:4 gym/views/gym.py:158 msgid "Last activity" msgstr "Laatste activiteit" #: core/templates/user/overview.html:58 #: manager/templates/calendar/month.html:128 -#: manager/templates/schedule/view.html:144 #: manager/templates/workout/overview.html:28 msgid "No workouts found." msgstr "Geen workouts gevonden." #: core/templates/user/overview.html:68 manager/forms.py:280 -#: manager/templates/workout/view.html:106 +#: manager/templates/workout/view.html:114 msgid "Log" msgstr "Log" #: core/templates/user/overview.html:77 manager/models/session.py:83 -#: manager/templates/calendar/partial_overview_table.html:52 +#: manager/templates/calendar/partial_overview_table.html:54 msgid "General impression" msgstr "Algemene indruk" -#: core/templates/user/overview.html:78 core/templates/user/overview.html:369 +#: core/templates/user/overview.html:78 core/templates/user/overview.html:390 #: manager/models/session.py:73 -#: manager/templates/calendar/partial_overview_table.html:56 -#: manager/templates/workout/log.html:89 +#: manager/templates/calendar/partial_overview_table.html:58 msgid "Notes" msgstr "Notities" #: core/templates/user/overview.html:79 #: exercises/templates/history/overview.html:30 -#: manager/templates/calendar/partial_overview_table.html:42 +#: manager/templates/calendar/partial_overview_table.html:44 msgid "Time" msgstr "Tijd" @@ -1138,121 +1099,121 @@ msgstr "Vet" msgid "kcal" msgstr "kcal" -#: core/templates/user/overview.html:201 core/templates/user/overview.html:322 -#: core/templates/user/overview.html:361 core/templates/user/overview.html:397 -#: core/templates/user/overview.html:442 gym/templates/gym/list.html:42 -#: gym/templates/gym/member_list.html:84 gym/templates/gym/member_list.html:137 -#: gym/templates/gym/member_list.html:173 -#: gym/templates/gym/member_list.html:207 -#: gym/templates/gym/member_list.html:240 -#: gym/templates/gym/member_list.html:277 -#: manager/templates/schedule/view.html:100 +#: core/templates/user/overview.html:201 core/templates/user/overview.html:340 +#: core/templates/user/overview.html:379 core/templates/user/overview.html:418 +#: core/templates/user/overview.html:463 gym/templates/gym/list.html:45 +#: gym/templates/gym/member_list.html:91 gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:187 +#: gym/templates/gym/member_list.html:223 +#: gym/templates/gym/member_list.html:259 +#: gym/templates/gym/member_list.html:299 +#: manager/templates/schedule/view.html:54 msgid "Actions" msgstr "Acties" -#: core/templates/user/overview.html:207 +#: core/templates/user/overview.html:210 msgid "Deactivate user" msgstr "Gebruiker deactiveren" -#: core/templates/user/overview.html:209 +#: core/templates/user/overview.html:214 msgid "Activate user" msgstr "Activeer gebruiker" -#: core/templates/user/overview.html:211 +#: core/templates/user/overview.html:223 msgid "Reset user password" msgstr "Reset gebruikers wachtwoord" -#: core/templates/user/overview.html:214 gym/templates/gym/member_list.html:30 +#: core/templates/user/overview.html:227 gym/templates/gym/member_list.html:30 msgid "Roles" msgstr "Rollen" -#: core/templates/user/overview.html:225 +#: core/templates/user/overview.html:243 msgid "Password reset confirmation" msgstr "Bevestiging wachtwoord-reset" -#: core/templates/user/overview.html:229 +#: core/templates/user/overview.html:247 msgid "Do you really want to change this user's password?" msgstr "Weet je zeker dat je het wachtwoord van deze gebruiker wilt wijzigen?" -#: core/templates/user/overview.html:232 +#: core/templates/user/overview.html:250 #: exercises/templates/history/overview.html:106 msgid "No" msgstr "Nee" -#: core/templates/user/overview.html:233 +#: core/templates/user/overview.html:251 #: exercises/templates/history/overview.html:99 msgid "Yes" msgstr "Ja" -#: core/templates/user/overview.html:254 gym/templates/gym/member_list.html:93 +#: core/templates/user/overview.html:272 gym/templates/gym/member_list.html:105 msgid "Details" msgstr "Details" -#: core/templates/user/overview.html:258 gym/views/export.py:57 -#: manager/helpers.py:86 manager/templates/schedule/view.html:98 +#: core/templates/user/overview.html:276 gym/views/export.py:57 +#: manager/helpers.py:86 manager/templates/schedule/view.html:52 msgid "Nr." msgstr "Nr." -#: core/templates/user/overview.html:280 gym/models/contract.py:287 +#: core/templates/user/overview.html:298 gym/models/contract.py:287 #: gym/models/gym.py:50 gym/templates/contract/view.html:75 -#: gym/templates/gym/member_list.html:100 gym/views/export.py:68 +#: gym/templates/gym/member_list.html:112 gym/views/export.py:68 msgid "Phone" msgstr "Telefoon" -#: core/templates/user/overview.html:284 gym/templates/contract/view.html:87 -#: gym/templates/gym/member_list.html:118 +#: core/templates/user/overview.html:302 gym/templates/contract/view.html:87 +#: gym/templates/gym/member_list.html:130 msgid "Address" msgstr "Adres" -#: core/templates/user/overview.html:295 +#: core/templates/user/overview.html:313 msgid "Registered" msgstr "Geregistreerd" -#: core/templates/user/overview.html:299 +#: core/templates/user/overview.html:317 msgid "Last login" msgstr "Laatste aanmelding" -#: core/templates/user/overview.html:304 +#: core/templates/user/overview.html:322 msgid "Status" msgstr "Status" -#: core/templates/user/overview.html:307 +#: core/templates/user/overview.html:325 msgid "Active" msgstr "Actief" -#: core/templates/user/overview.html:309 +#: core/templates/user/overview.html:327 msgid "Inactive" msgstr "Inactief" -#: core/templates/user/overview.html:330 gym/templates/contract/list.html:4 -#: gym/templates/gym/member_list.html:202 +#: core/templates/user/overview.html:348 gym/templates/contract/list.html:4 +#: gym/templates/gym/member_list.html:218 msgid "Contracts" msgstr "Contracten" -#: core/templates/user/overview.html:405 gym/templates/document/list.html:4 +#: core/templates/user/overview.html:426 gym/templates/document/list.html:4 msgid "Documents" msgstr "Documenten" -#: core/templates/user/overview.html:412 gym/templates/document/list.html:32 -#: manager/forms.py:292 manager/templates/workout/view.html:132 +#: core/templates/user/overview.html:433 gym/templates/document/list.html:33 +#: manager/forms.py:292 manager/templates/workout/view.html:143 msgid "Download" msgstr "Download" -#: core/templates/user/overview.html:450 gym/views/admin_config.py:44 +#: core/templates/user/overview.html:474 gym/views/admin_config.py:44 #: gym/views/admin_config.py:58 gym/views/user_config.py:46 msgid "Configuration" msgstr "Configuratie" -#: core/templates/user/overview.html:453 gym/models/user_config.py:92 +#: core/templates/user/overview.html:477 gym/models/user_config.py:92 msgid "Include in inactive overview" msgstr "Opnemen in inactief overzicht" -#: core/templates/user/overview.html:486 +#: core/templates/user/overview.html:510 #, python-format msgid "Admin login is only available for users in %(gym_name)s" msgstr "Inloggen voor beheerders is enkel beschikbaar in %(gym_name)s" -#: core/templates/user/overview.html:490 +#: core/templates/user/overview.html:514 msgid "Log in as this user" msgstr "Aanmelden als deze gebruiker" @@ -1272,19 +1233,19 @@ msgstr "Onbevestigde email" msgid "Send verification email" msgstr "Verstuur bevestigingsemail" -#: core/templates/user/preferences.html:30 +#: core/templates/user/preferences.html:31 msgid "You need to verify your email to contribute exercises" msgstr "Je moet jouw email bevestigen om bij te dragen aan oefeningen" -#: core/templates/user/preferences.html:50 core/views/user.py:611 +#: core/templates/user/preferences.html:55 core/views/user.py:610 msgid "Change password" msgstr "Verander wachtwoord" -#: core/templatetags/wger_extras.py:205 i18n.tpl:37 +#: core/templatetags/wger_extras.py:197 i18n.tpl:37 msgid "kg" msgstr "kg" -#: core/templatetags/wger_extras.py:207 +#: core/templatetags/wger_extras.py:199 #: nutrition/templates/ingredient/view.html:60 #: nutrition/templates/ingredient/view.html:66 #: nutrition/templates/ingredient/view.html:73 @@ -1296,11 +1257,11 @@ msgctxt "weight unit, i.e. grams" msgid "g" msgstr "g" -#: core/templatetags/wger_extras.py:210 i18n.tpl:38 +#: core/templatetags/wger_extras.py:202 i18n.tpl:38 msgid "lb" msgstr "lb" -#: core/templatetags/wger_extras.py:212 +#: core/templatetags/wger_extras.py:204 msgctxt "weight unit, i.e. ounces" msgid "oz" msgstr "oz" @@ -1327,13 +1288,13 @@ msgid "Delete {0}?" msgstr "Verwijder {0}?" #: core/views/languages.py:111 core/views/license.py:85 -#: core/views/repetition_units.py:86 core/views/user.py:474 +#: core/views/repetition_units.py:86 core/views/user.py:473 #: core/views/weight_units.py:86 exercises/views/categories.py:98 #: exercises/views/equipment.py:81 exercises/views/muscles.py:87 #: gym/views/admin_notes.py:161 gym/views/config.py:68 #: gym/views/contract.py:186 gym/views/contract_option.py:123 #: gym/views/contract_type.py:123 gym/views/document.py:171 -#: gym/views/gym.py:463 manager/views/day.py:100 manager/views/schedule.py:333 +#: gym/views/gym.py:463 manager/views/day.py:96 manager/views/schedule.py:333 #: manager/views/workout.py:267 nutrition/views/ingredient.py:145 #: nutrition/views/unit.py:143 #, python-brace-format @@ -1362,48 +1323,48 @@ msgstr "Insturen" msgid "Your feedback was successfully sent. Thank you!" msgstr "Je feedback werd met succes verzonden. Bedankt!" -#: core/views/user.py:156 +#: core/views/user.py:155 #, python-brace-format msgid "Account \"{0}\" was successfully deleted" msgstr "Account \"{0}\" werd met succes verwijderd" -#: core/views/user.py:292 +#: core/views/user.py:291 msgid "You were successfully registered" msgstr "Je bent met succes geregistreerd" -#: core/views/user.py:351 +#: core/views/user.py:350 msgid "Settings successfully updated" msgstr "Instellingen met succes aangepast" -#: core/views/user.py:390 +#: core/views/user.py:389 msgid "The user was successfully deactivated" msgstr "De gebruiker werd met succes gedeactiveerd" -#: core/views/user.py:427 +#: core/views/user.py:426 msgid "The user was successfully activated" msgstr "De gebruiker werd met succes geactiveerd" -#: core/views/user.py:442 +#: core/views/user.py:441 msgid "Edit user" msgstr "Bewerk gebruiker" -#: core/views/user.py:597 gym/templates/gym/member_list.html:26 +#: core/views/user.py:596 gym/templates/gym/member_list.html:26 #: gym/views/gym.py:158 msgid "ID" msgstr "ID" -#: core/views/user.py:598 gym/forms.py:95 gym/templates/contract/view.html:55 +#: core/views/user.py:597 gym/forms.py:95 gym/templates/contract/view.html:55 #: gym/templates/gym/member_list.html:27 gym/views/export.py:59 #: gym/views/gym.py:158 gym/views/gym.py:217 msgid "Username" msgstr "Gebruikersnaam" -#: core/views/user.py:601 gym/templates/gym/new_user.html:34 +#: core/views/user.py:600 gym/templates/gym/new_user.html:34 #: gym/views/export.py:58 gym/views/gym.py:217 msgid "Gym" msgstr "Gym" -#: core/views/user.py:660 +#: core/views/user.py:659 #, python-format msgid "A verification email was sent to %(email)s" msgstr "Een bevestigingsmail is verstuurd naar %(email)s" @@ -1558,11 +1519,6 @@ msgstr "Codec, lange naam" msgid "Equipment list" msgstr "Materiaallijst" -#: exercises/templates/equipment/admin-overview.html:39 -#: exercises/views/equipment.py:92 -msgid "Add new equipment" -msgstr "Materiaal toevoegen" - #: exercises/templates/history/overview.html:11 #, fuzzy msgid "Exercise admin history" @@ -1613,11 +1569,6 @@ msgstr "Draai veranderingen terug" msgid "Muscle overview" msgstr "Spieroverzicht" -#: exercises/templates/muscles/admin-overview.html:38 -#: exercises/views/muscles.py:68 -msgid "Add muscle" -msgstr "Creëer spier" - #: exercises/views/categories.py:72 msgid "Add category" msgstr "Creëer categorie" @@ -1626,6 +1577,10 @@ msgstr "Creëer categorie" msgid "This will also delete all exercises in this category." msgstr "Dit zal ook alle oefeningen in deze categorie verwijderen." +#: exercises/views/equipment.py:92 +msgid "Add new equipment" +msgstr "Materiaal toevoegen" + #: exercises/views/equipment.py:104 exercises/views/equipment.py:115 msgid "Delete equipment?" msgstr "Materiaal verwijderen?" @@ -1634,6 +1589,10 @@ msgstr "Materiaal verwijderen?" msgid "This will delete the exercise from all workouts." msgstr "Dit zal de oefening van alle workouts verwijderen." +#: exercises/views/muscles.py:68 +msgid "Add muscle" +msgstr "Creëer spier" + #: gallery/templates/images/overview.html:62 #, fuzzy msgid "Add image" @@ -1721,7 +1680,7 @@ msgid "Contract is active" msgstr "Contract is actief" #: gym/models/contract.py:237 gym/templates/contract/view.html:69 -#: manager/models/schedule.py:61 manager/templates/schedule/view.html:67 +#: manager/models/schedule.py:61 manager/templates/schedule/view.html:21 msgid "Start date" msgstr "Startdatum" @@ -1757,7 +1716,7 @@ msgstr "Beheerder: kan gebruikers van een gym beheren" msgid "Admin: can administrate the different gyms" msgstr "Beheerder: kan de verschillende gyms beheren" -#: gym/models/gym.py:65 gym/templates/gym/member_list.html:114 +#: gym/models/gym.py:65 gym/templates/gym/member_list.html:126 msgid "Owner" msgstr "Eigenaar" @@ -1769,7 +1728,7 @@ msgstr "" "Aantal weken sinds een gebruiker voor het laatst zijn aanwezigheid logde " "vooraleer als inactief beschouwd te worden" -#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:152 +#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:166 msgid "Show name in header" msgstr "Toon naam in hoofding" @@ -1782,7 +1741,7 @@ msgstr "Toon de naam van de gym in de hoofding van de site" msgid "Configuration for {self.gym.name}" msgstr "Configuratie voor {self.gym.name}" -#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:184 +#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:200 msgid "Overview of inactive members" msgstr "Overzicht van inactieve leden" @@ -1806,7 +1765,7 @@ msgstr "Zal bestandsnaam gebruiken indien niets voorzien" msgid "User notes" msgstr "Gebruikersnotities" -#: gym/templates/contract/list.html:36 +#: gym/templates/contract/list.html:34 msgid "Show" msgstr "Toon" @@ -1832,11 +1791,11 @@ msgstr "De volgende gebruikers hebben in de laatste %(weeks)s geen gym bezocht" msgid "Gym list" msgstr "Gym-lijst" -#: gym/templates/gym/list.html:50 +#: gym/templates/gym/list.html:53 msgid "Global gym configuration" msgstr "Globale gym-configuratie" -#: gym/templates/gym/list.html:67 gym/views/gym.py:171 +#: gym/templates/gym/list.html:69 gym/views/gym.py:171 msgid "Add new gym" msgstr "Nieuwe gym toevoegen" @@ -1848,43 +1807,43 @@ msgstr "Beheerders en trainers" msgid "Gym manager" msgstr "Gym-beheerder" -#: gym/templates/gym/member_list.html:69 +#: gym/templates/gym/member_list.html:76 msgid "This gym has no administrators or trainers" msgstr "Deze gym heeft geen beheerders of trainers" -#: gym/templates/gym/member_list.html:88 +#: gym/templates/gym/member_list.html:98 msgid "Export" msgstr "Exporteer" -#: gym/templates/gym/member_list.html:125 +#: gym/templates/gym/member_list.html:137 msgid "Members" msgstr "Leden" -#: gym/templates/gym/member_list.html:145 +#: gym/templates/gym/member_list.html:159 msgid "Gym configuration" msgstr "Gym-configuratie" -#: gym/templates/gym/member_list.html:148 +#: gym/templates/gym/member_list.html:162 msgid "Inactive members" msgstr "Inactieve leden" -#: gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:163 msgid "weeks" msgstr "weken" -#: gym/templates/gym/member_list.html:181 +#: gym/templates/gym/member_list.html:197 msgid "My configuration" msgstr "Mijn configuratie" -#: gym/templates/gym/member_list.html:215 +#: gym/templates/gym/member_list.html:234 msgid "Types" msgstr "Types" -#: gym/templates/gym/member_list.html:285 +#: gym/templates/gym/member_list.html:307 msgid "Emails" msgstr "E-mails" -#: gym/templates/gym/member_list.html:315 +#: gym/templates/gym/member_list.html:336 msgid "Add member" msgstr "Lid toevoegen" @@ -2181,28 +2140,38 @@ msgstr "Zoek ook in Engelse namen" msgid "Unit" msgstr "Eenheid" +#: manager/forms.py:191 manager/models/log.py:103 manager/models/setting.py:102 +#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 +msgid "RiR" +msgstr "RiR" + #: manager/forms.py:279 msgid "Type" msgstr "Type" -#: manager/forms.py:280 manager/templates/workout/view.html:113 +#: manager/forms.py:280 manager/templates/workout/view.html:122 msgid "Table" msgstr "Tabel" -#: manager/forms.py:282 manager/templates/workout/view.html:119 +#: manager/forms.py:282 manager/templates/workout/view.html:129 msgid "with images" msgstr "met afbeelding" -#: manager/forms.py:283 manager/templates/workout/view.html:125 +#: manager/forms.py:283 manager/templates/workout/view.html:136 msgid "with comments" msgstr "met reacties" +#: manager/helpers.py:86 manager/models/setting.py:72 +#: manager/templates/set/formset.html:9 +msgid "Reps" +msgstr "Herhalingen" + #: manager/management/commands/email-reminders.py:121 msgid "Workout will expire soon" msgstr "Workout zal spoedig vervallen" #: manager/models/day.py:34 manager/models/log.py:58 -#: manager/models/session.py:60 manager/templates/schedule/view.html:102 +#: manager/models/session.py:60 manager/templates/schedule/view.html:56 #: manager/templates/workout/view.html:9 manager/templates/workout/view.html:17 #: manager/views/pdf.py:85 manager/views/pdf.py:161 #: manager/views/schedule.py:151 manager/views/schedule.py:221 @@ -2226,7 +2195,7 @@ msgid "Name or short description of the schedule. For example 'Program XYZ'." msgstr "" "Naam of korte beschrijving van het schema. Bijvoorbeeld \"Programma X\"." -#: manager/models/schedule.py:65 manager/templates/schedule/view.html:71 +#: manager/models/schedule.py:65 manager/templates/schedule/view.html:25 msgid "Schedule active" msgstr "Schema actief" @@ -2240,7 +2209,7 @@ msgstr "" "op o.a. je dashboard). Alle andere schema's zullen dan worden gemarkeerd als " "inactief." -#: manager/models/schedule.py:77 manager/templates/schedule/view.html:81 +#: manager/models/schedule.py:77 manager/templates/schedule/view.html:35 msgid "Is a loop" msgstr "Is een herhaling" @@ -2261,7 +2230,7 @@ msgid "The duration in weeks" msgstr "De duurtijd in weken" #: manager/models/schedule_step.py:64 manager/models/set.py:53 -#: manager/models/setting.py:113 nutrition/models/meal.py:55 +#: manager/models/setting.py:113 nutrition/models/meal.py:53 #: nutrition/models/meal_item.py:66 msgid "Order" msgstr "Volgorde" @@ -2403,7 +2372,7 @@ msgstr "Logoverzicht" msgid "Workout session" msgstr "Trainingssessie" -#: manager/templates/calendar/partial_overview_table.html:27 +#: manager/templates/calendar/partial_overview_table.html:26 msgid "Delete with logs" msgstr "" @@ -2427,21 +2396,27 @@ msgstr "" "Als er een is, zal deze worden bewerkt. Gewichtingaven worden altijd " "toegevoegd." -#: manager/templates/schedule/overview.html:5 +#: manager/templates/schedule/overview.html:4 msgid "Your schedules" msgstr "Je schema's" #: manager/templates/schedule/overview.html:19 -#: manager/templates/schedule/view.html:131 -#: manager/templates/schedule/view.html:183 +#: manager/templates/schedule/view.html:96 +#: manager/templates/schedule/view.html:146 #: manager/templates/workout/overview.html:16 msgid "active" msgstr "Actief" -#: manager/templates/schedule/overview.html:28 +#: manager/templates/schedule/overview.html:27 msgid "No schedules found." msgstr "Geen schema's gevonden." +#: manager/templates/schedule/overview.html:28 +#, fuzzy +#| msgid "Add one now." +msgid "Add one now" +msgstr "Voeg er een toe." + #: manager/templates/schedule/overview.html:36 msgid "" "Schedules are collections of workouts that you do in\n" @@ -2451,19 +2426,27 @@ msgstr "" "na elkaar uitvoert." #: manager/templates/schedule/overview.html:39 +#, fuzzy +#| msgid "" +#| "You can indicate how long you want to do each workout\n" +#| " before jumping to the next. It is also possible to create a loop, " +#| "so you\n" +#| " always do the same workouts in succession, e.g. A > B > C > A > B " +#| "> C and so on." msgid "" "You can indicate how long you want to do each workout\n" " before jumping to the next. It is also possible to create a loop, so " "you\n" " always do the same workouts in succession, e.g. A > B > C > A > B > " -"C and so on." +"C and so\n" +" on." msgstr "" "Je kan aangeven hoe lang je elke workout wil doen\n" "alvorens naar de volgende te gaan. het is ook mogelijk een lus te creëren, " "zodat\n" "je altijd dezelfde workouits na elkaar doet. Bvb. A > B > C > A > B > C enz." -#: manager/templates/schedule/overview.html:43 +#: manager/templates/schedule/overview.html:44 #, fuzzy msgid "" "The currently active schedule will remain active (and be\n" @@ -2483,7 +2466,7 @@ msgstr "Schema toevoegen" msgid "Schedule" msgstr "Planning" -#: manager/templates/schedule/view.html:85 +#: manager/templates/schedule/view.html:39 msgid "" "This schedule is a loop and will go through the workouts above till you " "deactivate it" @@ -2491,19 +2474,15 @@ msgstr "" "Dit schema is een lus en zal door de workouts hierboven gaan totdat je het " "deactiveert." -#: manager/templates/schedule/view.html:103 +#: manager/templates/schedule/view.html:57 msgid "Weeks" msgstr "Weken" -#: manager/templates/schedule/view.html:115 -msgid "Move me" -msgstr "Verplaats me" - -#: manager/templates/schedule/view.html:156 +#: manager/templates/schedule/view.html:121 msgid "Start schedule" msgstr "Start schema" -#: manager/templates/schedule/view.html:187 +#: manager/templates/schedule/view.html:150 #, python-format msgid "" "%(weeks)s Week\n" @@ -2518,11 +2497,11 @@ msgstr[1] "" "%(weeks)s Weken\n" " " -#: manager/templates/schedule/view.html:221 +#: manager/templates/schedule/view.html:184 msgid "Adding workouts" msgstr "Workouts toevoegen" -#: manager/templates/schedule/view.html:223 +#: manager/templates/schedule/view.html:186 msgid "" "Add as many workouts to the schedule as you want. You can\n" " edit the order by dragging and dropping them. It's also possible " @@ -2530,48 +2509,41 @@ msgid "" " than once." msgstr "" -#: manager/templates/schedule/view.html:232 -#: manager/templates/schedule/view.html:243 -#: manager/templates/schedule/view.html:290 +#: manager/templates/schedule/view.html:195 +#: manager/templates/schedule/view.html:209 +#: manager/templates/schedule/view.html:263 #: manager/templates/workout/view.html:69 -#: manager/templates/workout/view.html:79 -#: manager/templates/workout/view.html:178 +#: manager/templates/workout/view.html:83 +#: manager/templates/workout/view.html:192 msgid "Export calendar file" msgstr "Exporteer kalenderbestand" -#: manager/templates/schedule/view.html:236 +#: manager/templates/schedule/view.html:201 msgid "Export this schedule as a calendar file." msgstr "Exporteer dit schema als een kalenderbestand." -#: manager/templates/schedule/view.html:237 -#: manager/templates/workout/view.html:74 +#: manager/templates/schedule/view.html:202 +#: manager/templates/workout/view.html:76 #, fuzzy msgid "" "You can then import the file it into your calendar\n" " application for example google calendar, outlook or " "iCal. This will create\n" " an appointment for each training day with the " -"appropriate exercises." +"appropriate\n" +" exercises." msgstr "" "Hierna kan je het bestand importeren in je kalender-applicatie, bijvoorbeeld " "Google Calendar, Outlook of iCal. Dit zal een afspraak creëren op elke " "trainingdag met de geschikte oefeningen." -#: manager/templates/schedule/view.html:258 -#: manager/templates/schedule/view.html:294 -#: manager/templates/workout/view.html:94 -#: manager/templates/workout/view.html:174 +#: manager/templates/schedule/view.html:225 +#: manager/templates/schedule/view.html:268 +#: manager/templates/workout/view.html:99 +#: manager/templates/workout/view.html:188 msgid "Download as PDF" msgstr "Download als PDF" -#: manager/templates/schedule/view.html:299 -msgid "Edit schedule" -msgstr "Bewerk schema" - -#: manager/templates/schedule/view.html:304 -msgid "Delete schedule" -msgstr "Verwijder schema" - #: manager/templates/set/add.html:9 #, python-format msgid "Add exercises to day \"%(day_name)s\"" @@ -2644,53 +2616,6 @@ msgid "" "You will regularly receive such reminders till you enter your current weight." msgstr "" -#: manager/templates/workout/log.html:10 manager/templates/workout/log.html:11 -msgid "Weight log" -msgstr "Gewichtlog" - -#: manager/templates/workout/log.html:29 -msgid "Weight log for workout" -msgstr "Gewichtlog voor workout" - -#: manager/templates/workout/log.html:49 -msgid "Add weight log to this day" -msgstr "Voeg gewichtslog toe aan deze dag" - -#: manager/templates/workout/log.html:69 -msgid "No weight entries here." -msgstr "Geen gewichtingaven hier." - -#: manager/templates/workout/log.html:77 -msgid "No exercises for this day." -msgstr "Geen oefeningen voor deze dag." - -#: manager/templates/workout/log.html:90 -msgid "" -"This page shows the weight logs belonging to this workout\n" -"only. Click on an exercise to see all the historical data for\n" -"it." -msgstr "" -"Deze pagina toont enkel de gewichtingaven behorende aan \n" -"deze workout. Klik op een oefening om alle historische data\n" -"ervoor te zien." - -#: manager/templates/workout/log.html:94 -msgid "" -"If on a single day there is more than one entry with the\n" -"same number of repetitions, but different weights, only the entry with the\n" -"higher weight is shown in the diagram." -msgstr "" -"Als er op eenzelfde dag meer dan één ingave is met \n" -"hetzelfde aantal herhalingen, maar verschillende gewichten, zal enkel \n" -"de ingave met het grotere gewicht getoond worden in de grafiek." - -#: manager/templates/workout/log.html:98 -msgid "" -"Note that only entries with a weight unit (kg or lb) and\n" -"repetitions are charted, other combinations such as time or until failure\n" -"are ignored here." -msgstr "" - #: manager/templates/workout/overview.html:25 #, fuzzy msgid "No templates found." @@ -2731,27 +2656,23 @@ msgstr "Voeg workout-sets toe aan daen" msgid "Set the repetitions for each set" msgstr "Stel de herhalingen in voor elke set" -#: manager/templates/workout/view.html:73 +#: manager/templates/workout/view.html:75 msgid "Export this workout as a calendar file." msgstr "Exporteer deze workout als kalenderbestand" -#: manager/templates/workout/view.html:144 +#: manager/templates/workout/view.html:156 msgid "Logs" msgstr "Logs" -#: manager/templates/workout/view.html:146 +#: manager/templates/workout/view.html:159 msgid "View logs" msgstr "Bekijk logs" -#: manager/templates/workout/view.html:169 manager/views/schedule_step.py:99 -msgid "Edit workout" -msgstr "Bewerk workout" - -#: manager/templates/workout/view.html:182 manager/views/workout.py:281 +#: manager/templates/workout/view.html:195 manager/views/workout.py:281 msgid "Mark as template" msgstr "" -#: manager/views/day.py:109 +#: manager/views/day.py:105 msgid "Add workout day" msgstr "Voeg workout-dag toe" @@ -2768,6 +2689,10 @@ msgstr "Workout voor %s" msgid "Create schedule" msgstr "Schema aanmaken" +#: manager/views/schedule_step.py:99 +msgid "Edit workout" +msgstr "Bewerk workout" + #: manager/views/workout.py:209 msgid "Copy workout" msgstr "Kopieer workout" @@ -2894,7 +2819,7 @@ msgstr "Hoeveelheid in grammen" msgid "Unit amount, e.g. \"1 Cup\" or \"1/2 spoon\"" msgstr "Eenheidshoeveelheid, bvb. \"1 kopje\" of \"1/2 lepel\"" -#: nutrition/models/log.py:52 nutrition/models/meal.py:50 +#: nutrition/models/log.py:52 nutrition/models/meal.py:48 #: nutrition/models/meal_item.py:48 nutrition/models/plan.py:108 msgid "Nutrition plan" msgstr "Voedingsplan" @@ -2908,11 +2833,11 @@ msgstr "Maaltijd" msgid "Date and Time (Approx.)" msgstr "Tijd (ongeveer)" -#: nutrition/models/meal.py:62 +#: nutrition/models/meal.py:60 msgid "Time (approx)" msgstr "Tijd (ongeveer)" -#: nutrition/models/meal.py:69 +#: nutrition/models/meal.py:67 msgid "" "Give meals a textual description / name such as \"Breakfast\" or \"after " "workout\"" @@ -2938,62 +2863,6 @@ msgstr "" "Aanvinken als je dit plan wil aanduiden als hebbende een doelhoeveelheid " "calorieën. Je kan de calculator gebruiken of de hoeveelheid zelf invullen." -#: nutrition/templates/bmi/form.html:62 -msgid "Results" -msgstr "Resultaten" - -#: nutrition/templates/bmi/form.html:63 -msgid "Your BMI is: " -msgstr "Je BMI is:" - -#: nutrition/templates/bmi/form.html:71 -msgid "Legend" -msgstr "Legende" - -#: nutrition/templates/bmi/form.html:75 -msgid "Adipositas III" -msgstr "Adipositas III" - -#: nutrition/templates/bmi/form.html:79 -msgid "Adipositas II" -msgstr "Adipositas II" - -#: nutrition/templates/bmi/form.html:83 -msgid "Adipositas I" -msgstr "Adipositas I" - -#: nutrition/templates/bmi/form.html:87 -msgid "Overweight" -msgstr "Overgewicht" - -#: nutrition/templates/bmi/form.html:91 -msgid "Normal weight" -msgstr "Normaal gewicht" - -#: nutrition/templates/bmi/form.html:95 -msgid "Slight underweight" -msgstr "Licht ondergewicht" - -#: nutrition/templates/bmi/form.html:99 -msgid "Moderate underweight" -msgstr "Tamelijk ondergewicht" - -#: nutrition/templates/bmi/form.html:103 -msgid "Strong underweight" -msgstr "Sterk ondergewicht" - -#: nutrition/templates/bmi/form.html:117 -msgid "" -"Use the form to calculate your BMI (Body Mass Index).\n" -"If you have entered data in the weight section, the last entry will\n" -"be used automatically. Otherwise the weight you enter here will be saved\n" -"in a new entry." -msgstr "" -"Gebruik het formulier om je BMI (Body Mass Index) te berekenen. Als je data " -"hebt ingevoerd in de gewicht-sectie zal de laatste invoer automatisch " -"gebruikt worden. Anders zal het gewicht dat je hier invult opgeslagen worden " -"als nieuwe ingave." - #: nutrition/templates/ingredient/email_new.tpl:1 #, python-format msgid "" @@ -3053,10 +2922,6 @@ msgstr "Geen ingrediënten." msgid "Search" msgstr "Zoek" -#: nutrition/templates/ingredient/overview.html:62 -msgid "Add ingredient" -msgstr "Ingrediënt toevoegen" - #: nutrition/templates/ingredient/view.html:45 nutrition/views/plan.py:229 msgid "Macronutrients" msgstr "Macrovoedingstoffen" @@ -3076,20 +2941,11 @@ msgstr "Nvt." msgid "Others" msgstr "Anderen" -#: nutrition/templates/ingredient/view.html:144 -#: nutrition/templates/units/list.html:46 nutrition/views/unit.py:86 +#: nutrition/templates/ingredient/view.html:143 +#: nutrition/templates/units/list.html:50 nutrition/views/unit.py:86 msgid "Add new weight unit" msgstr "Voeg gewichteenheid toe" -#: nutrition/templates/ingredient/view.html:206 -#: nutrition/templates/ingredient/view.html:209 -msgid "Edit ingredient" -msgstr "Bewerk ingrediënt" - -#: nutrition/templates/ingredient/view.html:213 -msgid "Delete ingredient" -msgstr "Verwijder ingrediënt" - #: nutrition/templates/rate/form.html:25 msgid "Basal metabolic rate" msgstr "Basaal metabolisme" @@ -3175,18 +3031,6 @@ msgstr "" "schatting zijn. Als je je voedingsplan op deze waarden baseert, observeer " "jezelf dan voor enkele weken en verander de totale hoeveelheid indien nodig." -#: nutrition/views/bmi.py:89 -msgid "Please make sure your height is within the appropriate range." -msgstr "" - -#: nutrition/views/bmi.py:92 -msgid "140 to 230" -msgstr "" - -#: nutrition/views/bmi.py:94 -msgid "56 to 90" -msgstr "" - #: nutrition/views/ingredient.py:157 msgid "Add a new ingredient" msgstr "Nieuw ingrediënt toevoegen" @@ -3705,6 +3549,124 @@ msgstr "Met succes verwijderd." msgid "Delete weight entry for the %s" msgstr "Verwijder gewichtsingave voor de %s" +#~ msgid "Move me" +#~ msgstr "Verplaats me" + +#~ msgid "Results" +#~ msgstr "Resultaten" + +#~ msgid "Your BMI is: " +#~ msgstr "Je BMI is:" + +#~ msgid "Legend" +#~ msgstr "Legende" + +#~ msgid "Adipositas III" +#~ msgstr "Adipositas III" + +#~ msgid "Adipositas II" +#~ msgstr "Adipositas II" + +#~ msgid "Adipositas I" +#~ msgstr "Adipositas I" + +#~ msgid "Overweight" +#~ msgstr "Overgewicht" + +#~ msgid "Normal weight" +#~ msgstr "Normaal gewicht" + +#~ msgid "Slight underweight" +#~ msgstr "Licht ondergewicht" + +#~ msgid "Moderate underweight" +#~ msgstr "Tamelijk ondergewicht" + +#~ msgid "Strong underweight" +#~ msgstr "Sterk ondergewicht" + +#~ msgid "" +#~ "Use the form to calculate your BMI (Body Mass Index).\n" +#~ "If you have entered data in the weight section, the last entry will\n" +#~ "be used automatically. Otherwise the weight you enter here will be saved\n" +#~ "in a new entry." +#~ msgstr "" +#~ "Gebruik het formulier om je BMI (Body Mass Index) te berekenen. Als je " +#~ "data hebt ingevoerd in de gewicht-sectie zal de laatste invoer " +#~ "automatisch gebruikt worden. Anders zal het gewicht dat je hier invult " +#~ "opgeslagen worden als nieuwe ingave." + +#, fuzzy +#~ msgid "" +#~ "If a license has been localized, e.g. the Creative Commons\n" +#~ " licenses for the different countries, add them as separate " +#~ "entries here." +#~ msgstr "" +#~ "Als een licentie werd gelokaliseerd, zoals bvb. de Creative Commons\n" +#~ "licenties voor verschillende landen, voeg ze ze dan hier toe als aparte " +#~ "ingaven." + +#~ msgid "Add weight log" +#~ msgstr "Voeg gewichtlog toe" + +#~ msgid "This exercise has no repetitions." +#~ msgstr "Deze oefening heeft geen herhalingen." + +#~ msgid "Edit them now." +#~ msgstr "Bewerk ze nu." + +#~ msgid "Add exercises to this workout day" +#~ msgstr "Oefeningen toevoegen aan deze workout-dag." + +#~ msgid "Edit schedule" +#~ msgstr "Bewerk schema" + +#~ msgid "Delete schedule" +#~ msgstr "Verwijder schema" + +#~ msgid "Weight log" +#~ msgstr "Gewichtlog" + +#~ msgid "Weight log for workout" +#~ msgstr "Gewichtlog voor workout" + +#~ msgid "Add weight log to this day" +#~ msgstr "Voeg gewichtslog toe aan deze dag" + +#~ msgid "No weight entries here." +#~ msgstr "Geen gewichtingaven hier." + +#~ msgid "No exercises for this day." +#~ msgstr "Geen oefeningen voor deze dag." + +#~ msgid "" +#~ "This page shows the weight logs belonging to this workout\n" +#~ "only. Click on an exercise to see all the historical data for\n" +#~ "it." +#~ msgstr "" +#~ "Deze pagina toont enkel de gewichtingaven behorende aan \n" +#~ "deze workout. Klik op een oefening om alle historische data\n" +#~ "ervoor te zien." + +#~ msgid "" +#~ "If on a single day there is more than one entry with the\n" +#~ "same number of repetitions, but different weights, only the entry with " +#~ "the\n" +#~ "higher weight is shown in the diagram." +#~ msgstr "" +#~ "Als er op eenzelfde dag meer dan één ingave is met \n" +#~ "hetzelfde aantal herhalingen, maar verschillende gewichten, zal enkel \n" +#~ "de ingave met het grotere gewicht getoond worden in de grafiek." + +#~ msgid "Add ingredient" +#~ msgstr "Ingrediënt toevoegen" + +#~ msgid "Edit ingredient" +#~ msgstr "Bewerk ingrediënt" + +#~ msgid "Delete ingredient" +#~ msgstr "Verwijder ingrediënt" + #~ msgid "Ingredients pending review" #~ msgstr "Ingrediënten in overweging" diff --git a/wger/locale/no/LC_MESSAGES/django.po b/wger/locale/no/LC_MESSAGES/django.po index bd29241b7..c11895a70 100644 --- a/wger/locale/no/LC_MESSAGES/django.po +++ b/wger/locale/no/LC_MESSAGES/django.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: wger Workout Manager\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-14 15:59+0200\n" +"POT-Creation-Date: 2024-11-14 19:23+0100\n" "PO-Revision-Date: 2024-08-20 18:09+0000\n" "Last-Translator: GS Bacon \n" "Language-Team: Norwegian Bokmål B > C > A > B > " -"C and so on." +"C and so\n" +" on." msgstr "" "Du kan angi hvor lenge du ønsker å gjøre hver trening\n" "før du hopper til neste. Det er også mulig å lage en løkke, så\n" "alltid gjøre de samme treningsøktene på rad, f.eks A> B> C> A> B> C og så " "videre." -#: manager/templates/schedule/overview.html:43 +#: manager/templates/schedule/overview.html:44 #, fuzzy #| msgid "" #| "The currently active schedule will remain active (and be\n" @@ -2525,7 +2499,7 @@ msgstr "Legg til timeplan" msgid "Schedule" msgstr "Timeplan" -#: manager/templates/schedule/view.html:85 +#: manager/templates/schedule/view.html:39 msgid "" "This schedule is a loop and will go through the workouts above till you " "deactivate it" @@ -2533,19 +2507,15 @@ msgstr "" "Denne timeplanen er en loop, og vil gå gjennom treningsøktene ovenfor til du " "deaktivere den" -#: manager/templates/schedule/view.html:103 +#: manager/templates/schedule/view.html:57 msgid "Weeks" msgstr "Uker" -#: manager/templates/schedule/view.html:115 -msgid "Move me" -msgstr "Flytt meg" - -#: manager/templates/schedule/view.html:156 +#: manager/templates/schedule/view.html:121 msgid "Start schedule" msgstr "Start timeplan" -#: manager/templates/schedule/view.html:187 +#: manager/templates/schedule/view.html:150 #, fuzzy, python-format #| msgid "" #| "%(weeks)s Week\n" @@ -2566,11 +2536,11 @@ msgstr[1] "" "%(weeks)s Uker\n" " " -#: manager/templates/schedule/view.html:221 +#: manager/templates/schedule/view.html:184 msgid "Adding workouts" msgstr "Legger til treningsøkter" -#: manager/templates/schedule/view.html:223 +#: manager/templates/schedule/view.html:186 #, fuzzy #| msgid "" #| "Add as many workouts to the schedule as you want. You can\n" @@ -2588,21 +2558,21 @@ msgstr "" "en treningsøkt mer\n" "enn én gang." -#: manager/templates/schedule/view.html:232 -#: manager/templates/schedule/view.html:243 -#: manager/templates/schedule/view.html:290 +#: manager/templates/schedule/view.html:195 +#: manager/templates/schedule/view.html:209 +#: manager/templates/schedule/view.html:263 #: manager/templates/workout/view.html:69 -#: manager/templates/workout/view.html:79 -#: manager/templates/workout/view.html:178 +#: manager/templates/workout/view.html:83 +#: manager/templates/workout/view.html:192 msgid "Export calendar file" msgstr "Eksporter kalender fil" -#: manager/templates/schedule/view.html:236 +#: manager/templates/schedule/view.html:201 msgid "Export this schedule as a calendar file." msgstr "Eksporter denne timeplanen som kalenderfil." -#: manager/templates/schedule/view.html:237 -#: manager/templates/workout/view.html:74 +#: manager/templates/schedule/view.html:202 +#: manager/templates/workout/view.html:76 #, fuzzy #| msgid "" #| "You can then import the file it into your calendar\n" @@ -2614,27 +2584,20 @@ msgid "" " application for example google calendar, outlook or " "iCal. This will create\n" " an appointment for each training day with the " -"appropriate exercises." +"appropriate\n" +" exercises." msgstr "" "Du kan deretter importere denne filen inn i kalenderen din,\n" "for eksempel Google Kalender, Outlook eller iCal. Dette vil skape\n" "en avtale for hver treningsdag med riktige øvelser." -#: manager/templates/schedule/view.html:258 -#: manager/templates/schedule/view.html:294 -#: manager/templates/workout/view.html:94 -#: manager/templates/workout/view.html:174 +#: manager/templates/schedule/view.html:225 +#: manager/templates/schedule/view.html:268 +#: manager/templates/workout/view.html:99 +#: manager/templates/workout/view.html:188 msgid "Download as PDF" msgstr "Last ned som PDF" -#: manager/templates/schedule/view.html:299 -msgid "Edit schedule" -msgstr "Endre timeplan" - -#: manager/templates/schedule/view.html:304 -msgid "Delete schedule" -msgstr "Slett timeplan" - #: manager/templates/set/add.html:9 #, python-format msgid "Add exercises to day \"%(day_name)s\"" @@ -2712,56 +2675,6 @@ msgid "" msgstr "" "Du vil jevnlig motta slike påminnelser til du skriver inn din nåværende vekt." -#: manager/templates/workout/log.html:10 manager/templates/workout/log.html:11 -msgid "Weight log" -msgstr "Vektlogg" - -#: manager/templates/workout/log.html:29 -msgid "Weight log for workout" -msgstr "Vektlogg for denne treningsøkten" - -#: manager/templates/workout/log.html:49 -msgid "Add weight log to this day" -msgstr "Legg til vektlogg for denne dagen" - -#: manager/templates/workout/log.html:69 -msgid "No weight entries here." -msgstr "Ingen vektoppføring her." - -#: manager/templates/workout/log.html:77 -msgid "No exercises for this day." -msgstr "Ingen øvelser for denne dagen." - -#: manager/templates/workout/log.html:90 -msgid "" -"This page shows the weight logs belonging to this workout\n" -"only. Click on an exercise to see all the historical data for\n" -"it." -msgstr "" -"Denne siden viser vekt loggene som kun tilhører denne treningsøkten\n" -"Klikk på en øvelse for å se alle de historiske \n" -"data." - -#: manager/templates/workout/log.html:94 -msgid "" -"If on a single day there is more than one entry with the\n" -"same number of repetitions, but different weights, only the entry with the\n" -"higher weight is shown in the diagram." -msgstr "" -"Hvis på en enkelt dag det er mer enn én oppføring med\n" -"samme antall repetisjoner, men forskjellige vekter, vil kun oppføringen med\n" -"høyere vekt er vist vises i diagrammet." - -#: manager/templates/workout/log.html:98 -msgid "" -"Note that only entries with a weight unit (kg or lb) and\n" -"repetitions are charted, other combinations such as time or until failure\n" -"are ignored here." -msgstr "" -"Merk at bare oppføringer med en vektenhet (kg eller lb) og\n" -"gjentakelser er kartlagt, andre kombinasjoner som tid eller til utmattelse\n" -"blir ignorert her." - #: manager/templates/workout/overview.html:25 msgid "No templates found." msgstr "Fant ingen maler." @@ -2797,27 +2710,23 @@ msgstr "Legg til treningssett til dager" msgid "Set the repetitions for each set" msgstr "Sett repetisjoner for hvert sett" -#: manager/templates/workout/view.html:73 +#: manager/templates/workout/view.html:75 msgid "Export this workout as a calendar file." msgstr "Eksporter denne treningsøkten som kalenderfil." -#: manager/templates/workout/view.html:144 +#: manager/templates/workout/view.html:156 msgid "Logs" msgstr "Logg" -#: manager/templates/workout/view.html:146 +#: manager/templates/workout/view.html:159 msgid "View logs" msgstr "Vis logger" -#: manager/templates/workout/view.html:169 manager/views/schedule_step.py:99 -msgid "Edit workout" -msgstr "Endre treningsøkt" - -#: manager/templates/workout/view.html:182 manager/views/workout.py:281 +#: manager/templates/workout/view.html:195 manager/views/workout.py:281 msgid "Mark as template" msgstr "Marker som mal" -#: manager/views/day.py:109 +#: manager/views/day.py:105 msgid "Add workout day" msgstr "Legg til treningsdag" @@ -2834,6 +2743,10 @@ msgstr "Treningsøkt for %s" msgid "Create schedule" msgstr "Opprett timeplan" +#: manager/views/schedule_step.py:99 +msgid "Edit workout" +msgstr "Endre treningsøkt" + #: manager/views/workout.py:209 msgid "Copy workout" msgstr "Kopier treningsøkt" @@ -2964,7 +2877,7 @@ msgstr "Mengde i gram" msgid "Unit amount, e.g. \"1 Cup\" or \"1/2 spoon\"" msgstr "Enhetsmengde , f.eks \"1 kopp\" eller \"1/2 skje\"" -#: nutrition/models/log.py:52 nutrition/models/meal.py:50 +#: nutrition/models/log.py:52 nutrition/models/meal.py:48 #: nutrition/models/meal_item.py:48 nutrition/models/plan.py:108 msgid "Nutrition plan" msgstr "Ernæringsplan" @@ -2979,11 +2892,11 @@ msgstr "Måltid" msgid "Date and Time (Approx.)" msgstr "Tid (ca)" -#: nutrition/models/meal.py:62 +#: nutrition/models/meal.py:60 msgid "Time (approx)" msgstr "Tid (ca)" -#: nutrition/models/meal.py:69 +#: nutrition/models/meal.py:67 msgid "" "Give meals a textual description / name such as \"Breakfast\" or \"after " "workout\"" @@ -3009,62 +2922,6 @@ msgstr "" "Kryss av i boksen hvis du ønsker å markere denne planen som et mål med " "mengde kalorier. Du kan bruke kalkulator eller angi verdien selv." -#: nutrition/templates/bmi/form.html:62 -msgid "Results" -msgstr "Resultat" - -#: nutrition/templates/bmi/form.html:63 -msgid "Your BMI is: " -msgstr "Din BMI er:" - -#: nutrition/templates/bmi/form.html:71 -msgid "Legend" -msgstr "Forklaring" - -#: nutrition/templates/bmi/form.html:75 -msgid "Adipositas III" -msgstr "Adipositas III" - -#: nutrition/templates/bmi/form.html:79 -msgid "Adipositas II" -msgstr "Adipositas II" - -#: nutrition/templates/bmi/form.html:83 -msgid "Adipositas I" -msgstr "Adipositas I" - -#: nutrition/templates/bmi/form.html:87 -msgid "Overweight" -msgstr "Overvektig" - -#: nutrition/templates/bmi/form.html:91 -msgid "Normal weight" -msgstr "Normal vekt" - -#: nutrition/templates/bmi/form.html:95 -msgid "Slight underweight" -msgstr "Litt undervektig" - -#: nutrition/templates/bmi/form.html:99 -msgid "Moderate underweight" -msgstr "Moderat undervektig" - -#: nutrition/templates/bmi/form.html:103 -msgid "Strong underweight" -msgstr "Sterkt undervektig" - -#: nutrition/templates/bmi/form.html:117 -msgid "" -"Use the form to calculate your BMI (Body Mass Index).\n" -"If you have entered data in the weight section, the last entry will\n" -"be used automatically. Otherwise the weight you enter here will be saved\n" -"in a new entry." -msgstr "" -"Bruk skjemaet til å beregne din BMI (Body Mass Index).\n" -"Hvis du har lagt inn data i vekt delen, vil den siste oppføringen\n" -"brukes automatisk. Ellers vil vekten du oppgir her vil bli lagret\n" -"i en ny oppføring." - #: nutrition/templates/ingredient/email_new.tpl:1 #, fuzzy, python-format msgid "" @@ -3121,10 +2978,6 @@ msgstr "Ingen ingredienser." msgid "Search" msgstr "Søk" -#: nutrition/templates/ingredient/overview.html:62 -msgid "Add ingredient" -msgstr "Legg til ingrediens" - #: nutrition/templates/ingredient/view.html:45 nutrition/views/plan.py:229 msgid "Macronutrients" msgstr "Makronæringsstoffer" @@ -3144,20 +2997,11 @@ msgstr "n.A." msgid "Others" msgstr "Andre" -#: nutrition/templates/ingredient/view.html:144 -#: nutrition/templates/units/list.html:46 nutrition/views/unit.py:86 +#: nutrition/templates/ingredient/view.html:143 +#: nutrition/templates/units/list.html:50 nutrition/views/unit.py:86 msgid "Add new weight unit" msgstr "Legg til vekt enhet" -#: nutrition/templates/ingredient/view.html:206 -#: nutrition/templates/ingredient/view.html:209 -msgid "Edit ingredient" -msgstr "Endre ingrediens" - -#: nutrition/templates/ingredient/view.html:213 -msgid "Delete ingredient" -msgstr "Slett ingrediens" - #: nutrition/templates/rate/form.html:25 msgid "Basal metabolic rate" msgstr "Basal metabolic rate" @@ -3243,18 +3087,6 @@ msgstr "" "nødvendig\n" "selv i noen uker om det totale beløpet må endres." -#: nutrition/views/bmi.py:89 -msgid "Please make sure your height is within the appropriate range." -msgstr "" - -#: nutrition/views/bmi.py:92 -msgid "140 to 230" -msgstr "" - -#: nutrition/views/bmi.py:94 -msgid "56 to 90" -msgstr "" - #: nutrition/views/ingredient.py:157 msgid "Add a new ingredient" msgstr "Legg til ny ingrediens" @@ -3811,6 +3643,139 @@ msgstr "Slettet." msgid "Delete weight entry for the %s" msgstr "Slett vektoppføring for %s" +#~ msgid "Move me" +#~ msgstr "Flytt meg" + +#~ msgid "Results" +#~ msgstr "Resultat" + +#~ msgid "Your BMI is: " +#~ msgstr "Din BMI er:" + +#~ msgid "Legend" +#~ msgstr "Forklaring" + +#~ msgid "Adipositas III" +#~ msgstr "Adipositas III" + +#~ msgid "Adipositas II" +#~ msgstr "Adipositas II" + +#~ msgid "Adipositas I" +#~ msgstr "Adipositas I" + +#~ msgid "Overweight" +#~ msgstr "Overvektig" + +#~ msgid "Normal weight" +#~ msgstr "Normal vekt" + +#~ msgid "Slight underweight" +#~ msgstr "Litt undervektig" + +#~ msgid "Moderate underweight" +#~ msgstr "Moderat undervektig" + +#~ msgid "Strong underweight" +#~ msgstr "Sterkt undervektig" + +#~ msgid "" +#~ "Use the form to calculate your BMI (Body Mass Index).\n" +#~ "If you have entered data in the weight section, the last entry will\n" +#~ "be used automatically. Otherwise the weight you enter here will be saved\n" +#~ "in a new entry." +#~ msgstr "" +#~ "Bruk skjemaet til å beregne din BMI (Body Mass Index).\n" +#~ "Hvis du har lagt inn data i vekt delen, vil den siste oppføringen\n" +#~ "brukes automatisk. Ellers vil vekten du oppgir her vil bli lagret\n" +#~ "i en ny oppføring." + +#, fuzzy +#~| msgid "" +#~| "If a license has been localized, e.g. the Creative Commons\n" +#~| "licenses for the different countries, add them as separate entries here." +#~ msgid "" +#~ "If a license has been localized, e.g. the Creative Commons\n" +#~ " licenses for the different countries, add them as separate " +#~ "entries here." +#~ msgstr "" +#~ "Hvis en lisens er en lokal lisens, feks Creative Commons\n" +#~ "lisenser for de ulike landene, legges dem til som separate oppføringer " +#~ "her." + +#~ msgid "Add weight log" +#~ msgstr "Legg til vektlogg" + +#~ msgid "This exercise has no repetitions." +#~ msgstr "Denne øvelsen har ingen repetisjoner." + +#~ msgid "Edit them now." +#~ msgstr "Rediger dem nå." + +#~ msgid "Add exercises to this workout day" +#~ msgstr "Legg til øvelser for denne treningsdagen" + +#~ msgid "Edit schedule" +#~ msgstr "Endre timeplan" + +#~ msgid "Delete schedule" +#~ msgstr "Slett timeplan" + +#~ msgid "Weight log" +#~ msgstr "Vektlogg" + +#~ msgid "Weight log for workout" +#~ msgstr "Vektlogg for denne treningsøkten" + +#~ msgid "Add weight log to this day" +#~ msgstr "Legg til vektlogg for denne dagen" + +#~ msgid "No weight entries here." +#~ msgstr "Ingen vektoppføring her." + +#~ msgid "No exercises for this day." +#~ msgstr "Ingen øvelser for denne dagen." + +#~ msgid "" +#~ "This page shows the weight logs belonging to this workout\n" +#~ "only. Click on an exercise to see all the historical data for\n" +#~ "it." +#~ msgstr "" +#~ "Denne siden viser vekt loggene som kun tilhører denne treningsøkten\n" +#~ "Klikk på en øvelse for å se alle de historiske \n" +#~ "data." + +#~ msgid "" +#~ "If on a single day there is more than one entry with the\n" +#~ "same number of repetitions, but different weights, only the entry with " +#~ "the\n" +#~ "higher weight is shown in the diagram." +#~ msgstr "" +#~ "Hvis på en enkelt dag det er mer enn én oppføring med\n" +#~ "samme antall repetisjoner, men forskjellige vekter, vil kun oppføringen " +#~ "med\n" +#~ "høyere vekt er vist vises i diagrammet." + +#~ msgid "" +#~ "Note that only entries with a weight unit (kg or lb) and\n" +#~ "repetitions are charted, other combinations such as time or until " +#~ "failure\n" +#~ "are ignored here." +#~ msgstr "" +#~ "Merk at bare oppføringer med en vektenhet (kg eller lb) og\n" +#~ "gjentakelser er kartlagt, andre kombinasjoner som tid eller til " +#~ "utmattelse\n" +#~ "blir ignorert her." + +#~ msgid "Add ingredient" +#~ msgstr "Legg til ingrediens" + +#~ msgid "Edit ingredient" +#~ msgstr "Endre ingrediens" + +#~ msgid "Delete ingredient" +#~ msgstr "Slett ingrediens" + #~ msgid "Ingredients pending review" #~ msgstr "Ingredienser som venter på godkjenning" diff --git a/wger/locale/os/LC_MESSAGES/django.po b/wger/locale/os/LC_MESSAGES/django.po index 04006e0c5..c3145ce20 100644 --- a/wger/locale/os/LC_MESSAGES/django.po +++ b/wger/locale/os/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: wger Workout Manager\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-14 15:59+0200\n" +"POT-Creation-Date: 2024-11-14 19:23+0100\n" "PO-Revision-Date: 2021-04-11 18:54+0000\n" "Last-Translator: rge \n" "Language-Team: Ossetic (http://www.transifex.com/rge/wger-workout-manager/" @@ -19,7 +19,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: config/models/gym_config.py:46 gym/templates/gym/list.html:53 +#: config/models/gym_config.py:46 gym/templates/gym/list.html:56 msgid "Default gym" msgstr "" @@ -29,28 +29,28 @@ msgid "" "registered users to this gym and update all existing users without a gym." msgstr "" -#: config/views/gym_config.py:42 core/templates/language/view.html:67 -#: core/templates/license/list.html:17 core/templates/misc/license/list.html:18 +#: config/views/gym_config.py:42 core/templates/language/view.html:64 +#: core/templates/license/list.html:17 #: core/templates/repetition_unit/list.html:18 -#: core/templates/tags/render_day.html:39 -#: core/templates/tags/render_day.html:75 core/templates/user/overview.html:204 -#: core/templates/user/overview.html:445 +#: core/templates/user/overview.html:204 core/templates/user/overview.html:467 #: core/templates/weight_unit/list.html:18 #: exercises/templates/categories/admin-overview.html:17 #: exercises/templates/equipment/admin-overview.html:17 -#: exercises/templates/muscles/admin-overview.html:17 -#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:32 -#: gym/templates/contract/list.html:31 gym/templates/contract/view.html:107 -#: gym/templates/contract_option/list.html:32 -#: gym/templates/contract_type/list.html:32 gym/templates/document/list.html:38 -#: gym/templates/gym/list.html:20 gym/templates/gym/list.html:46 -#: gym/templates/gym/member_list.html:87 gym/templates/gym/member_list.html:140 -#: gym/templates/gym/member_list.html:176 -#: manager/templates/calendar/day.html:68 -#: manager/templates/calendar/month.html:85 -#: manager/templates/calendar/partial_overview_table.html:18 -#: manager/templates/schedule/view.html:118 -#: nutrition/templates/ingredient/view.html:165 +#: exercises/templates/muscles/admin-overview.html:16 +#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:31 +#: gym/templates/contract/list.html:30 gym/templates/contract/view.html:106 +#: gym/templates/contract_option/list.html:29 +#: gym/templates/contract_type/list.html:30 gym/templates/document/list.html:38 +#: gym/templates/gym/list.html:19 gym/templates/gym/list.html:48 +#: gym/templates/gym/member_list.html:94 gym/templates/gym/member_list.html:152 +#: gym/templates/gym/member_list.html:190 +#: manager/templates/calendar/day.html:67 +#: manager/templates/calendar/month.html:84 +#: manager/templates/calendar/partial_overview_table.html:16 +#: manager/templates/schedule/view.html:271 +#: manager/templates/workout/view.html:181 +#: nutrition/templates/ingredient/view.html:164 +#: nutrition/templates/ingredient/view.html:209 #: nutrition/templates/units/list.html:19 msgid "Edit" msgstr "Ивын" @@ -84,25 +84,25 @@ msgstr "" msgid "Empty placeholder schedule" msgstr "" -#: core/forms.py:69 core/templates/navigation.html:285 -#: core/templates/navigation.html:291 core/templates/user/login.html:4 +#: core/forms.py:69 core/templates/navigation.html:284 +#: core/templates/navigation.html:290 core/templates/user/login.html:4 #: software/templates/features.html:82 software/templates/features.html:427 msgid "Login" msgstr "" -#: core/forms.py:108 core/forms.py:214 gym/views/export.py:61 +#: core/forms.py:108 core/forms.py:216 gym/views/export.py:61 #: gym/views/gym.py:217 msgid "First name" msgstr "" -#: core/forms.py:109 core/forms.py:215 core/templates/user/overview.html:266 +#: core/forms.py:109 core/forms.py:217 core/templates/user/overview.html:284 #: gym/views/export.py:62 gym/views/gym.py:217 msgid "Last name" msgstr "" -#: core/forms.py:111 core/forms.py:180 core/templates/user/overview.html:270 +#: core/forms.py:111 core/forms.py:182 core/templates/user/overview.html:288 #: gym/models/contract.py:256 gym/models/gym.py:58 -#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:104 +#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:116 #: gym/templates/gym/new_user.html:30 gym/views/export.py:60 #: mailer/templates/mailer/gym/form.html:4 #: mailer/templates/mailer/gym/overview.html:4 @@ -119,94 +119,93 @@ msgstr "" msgid "Date of Birth" msgstr "" -#: core/forms.py:148 +#: core/forms.py:149 msgid "Personal data" msgstr "" -#: core/forms.py:159 +#: core/forms.py:161 msgid "Workout reminders" msgstr "" -#: core/forms.py:166 +#: core/forms.py:168 msgid "Other settings" msgstr "" -#: core/forms.py:174 core/views/user.py:624 core/views/user.py:639 -#: core/views/user.py:651 gym/forms.py:73 manager/templates/log/add.html:65 +#: core/forms.py:176 core/views/user.py:623 core/views/user.py:638 +#: core/views/user.py:650 gym/forms.py:73 manager/templates/log/add.html:65 #: manager/templates/set/add.html:70 manager/views/workout.py:203 #: utils/generic_views.py:143 msgid "Save" msgstr "" -#: core/forms.py:181 +#: core/forms.py:183 msgid "Used for password resets and, optionally, email reminders." msgstr "" -#: core/forms.py:210 +#: core/forms.py:212 msgid "This e-mail address is already in use." msgstr "" -#: core/forms.py:231 gym/templates/gym/new_user.html:26 +#: core/forms.py:233 gym/templates/gym/new_user.html:26 #: gym/templates/gym/reset_user_password.html:24 gym/views/gym.py:217 msgid "Password" msgstr "" -#: core/forms.py:233 +#: core/forms.py:235 msgid "Please enter your current password." msgstr "" -#: core/forms.py:242 core/templates/language/view.html:73 -#: core/templates/license/list.html:19 core/templates/misc/license/list.html:22 -#: core/templates/repetition_unit/list.html:20 -#: core/templates/tags/render_day.html:45 -#: core/templates/tags/render_day.html:81 core/templates/user/overview.html:217 -#: core/templates/weight_unit/list.html:20 -#: exercises/templates/categories/admin-overview.html:19 -#: exercises/templates/equipment/admin-overview.html:19 -#: exercises/templates/muscles/admin-overview.html:19 -#: gym/templates/admin_notes/list.html:40 -#: gym/templates/contract_option/list.html:41 -#: gym/templates/contract_type/list.html:41 gym/templates/document/list.html:46 -#: gym/templates/gym/list.html:22 manager/templates/calendar/day.html:73 -#: manager/templates/calendar/month.html:89 -#: manager/templates/calendar/partial_overview_table.html:23 -#: manager/templates/schedule/view.html:122 -#: manager/templates/workout/view.html:188 -#: nutrition/templates/ingredient/view.html:166 +#: core/forms.py:244 core/templates/language/view.html:70 +#: core/templates/license/list.html:21 +#: core/templates/repetition_unit/list.html:22 +#: core/templates/user/overview.html:233 +#: core/templates/weight_unit/list.html:22 +#: exercises/templates/categories/admin-overview.html:21 +#: exercises/templates/equipment/admin-overview.html:21 +#: exercises/templates/muscles/admin-overview.html:20 +#: gym/templates/admin_notes/list.html:37 +#: gym/templates/contract_option/list.html:35 +#: gym/templates/contract_type/list.html:36 gym/templates/document/list.html:46 +#: gym/templates/gym/list.html:23 manager/templates/calendar/day.html:73 +#: manager/templates/calendar/month.html:88 +#: manager/templates/calendar/partial_overview_table.html:22 +#: manager/templates/schedule/view.html:277 +#: manager/templates/workout/view.html:202 +#: nutrition/templates/ingredient/view.html:168 #: nutrition/templates/ingredient/view.html:215 -#: nutrition/templates/units/list.html:22 +#: nutrition/templates/units/list.html:25 msgid "Delete" msgstr "Схафын" -#: core/forms.py:251 +#: core/forms.py:253 msgid "Invalid password" msgstr "" -#: core/forms.py:263 core/forms.py:338 +#: core/forms.py:265 core/forms.py:340 msgid "The form is secured with reCAPTCHA" msgstr "" -#: core/forms.py:279 core/forms.py:301 core/templates/navigation.html:285 -#: core/templates/navigation.html:297 core/templates/template.html:149 -#: core/templates/user/login.html:20 core/views/user.py:298 +#: core/forms.py:281 core/forms.py:303 core/templates/navigation.html:284 +#: core/templates/navigation.html:296 core/templates/template.html:150 +#: core/templates/user/login.html:20 core/views/user.py:297 #: software/templates/features.html:87 software/templates/features.html:422 msgid "Register" msgstr "" -#: core/forms.py:315 software/templates/features.html:45 +#: core/forms.py:317 software/templates/features.html:45 msgid "Contact" msgstr "" -#: core/forms.py:316 +#: core/forms.py:318 msgid "Some way of answering you (e-mail, etc.)" msgstr "" -#: core/forms.py:324 exercises/models/comment.py:58 manager/models/set.py:61 +#: core/forms.py:326 exercises/models/comment.py:58 manager/models/set.py:61 #: manager/models/setting.py:114 nutrition/models/log.py:77 msgid "Comment" msgstr "Хъуыды" -#: core/forms.py:325 +#: core/forms.py:327 msgid "What do you want to say?" msgstr "" @@ -423,18 +422,18 @@ msgid "The sum of all hours has to be 24" msgstr "" #: core/models/rep_unit.py:36 core/models/weight_unit.py:36 -#: core/templates/user/overview.html:262 core/views/user.py:599 +#: core/templates/user/overview.html:280 core/views/user.py:598 #: exercises/models/category.py:29 exercises/models/equipment.py:29 #: exercises/models/exercise.py:59 exercises/models/muscle.py:36 #: gym/models/contract.py:52 gym/models/contract.py:103 gym/models/gym.py:46 #: gym/models/user_document.py:84 gym/templates/contract/view.html:50 -#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:96 +#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:108 #: gym/views/gym.py:158 manager/models/schedule.py:55 #: manager/models/workout.py:57 measurements/models/category.py:36 #: nutrition/models/ingredient.py:111 -#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:67 +#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:65 #: nutrition/models/weight_unit.py:38 -#: nutrition/templates/ingredient/view.html:152 +#: nutrition/templates/ingredient/view.html:151 msgid "Name" msgstr "Ном" @@ -479,7 +478,7 @@ msgstr "" msgid "Back to \"%(target)s\"" msgstr "" -#: core/templates/delete.html:15 +#: core/templates/delete.html:4 msgid "Are you sure you want to delete this? This action cannot be undone." msgstr "" @@ -535,7 +534,7 @@ msgstr "" msgid "Dashboard" msgstr "" -#: core/templates/language/overview.html:4 core/templates/navigation.html:345 +#: core/templates/language/overview.html:4 core/templates/navigation.html:344 msgid "Languages" msgstr "" @@ -545,79 +544,72 @@ msgstr "" #: core/templates/language/overview.html:22 #: manager/templates/calendar/month.html:132 -#: manager/templates/schedule/overview.html:28 -#: manager/templates/schedule/view.html:144 +#: manager/templates/schedule/view.html:107 #: manager/templates/workout/overview.html:28 #: nutrition/templates/ingredient/overview.html:38 msgid "Add one now." msgstr "" -#: core/templates/language/overview.html:35 core/templates/license/list.html:40 -#: core/templates/misc/license/list.html:43 -#: core/templates/repetition_unit/list.html:43 -#: core/templates/user/overview.html:326 core/templates/user/overview.html:365 -#: core/templates/user/overview.html:401 -#: core/templates/weight_unit/list.html:43 core/views/languages.py:74 +#: core/templates/language/overview.html:34 core/templates/license/list.html:43 +#: core/templates/repetition_unit/list.html:46 +#: core/templates/user/overview.html:344 core/templates/user/overview.html:384 +#: core/templates/user/overview.html:422 +#: core/templates/weight_unit/list.html:46 core/views/languages.py:74 #: core/views/license.py:66 core/views/repetition_units.py:66 #: core/views/weight_units.py:66 -#: exercises/templates/categories/admin-overview.html:38 -#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:67 -#: gym/templates/contract/list.html:73 -#: gym/templates/contract_option/list.html:72 -#: gym/templates/contract_type/list.html:72 gym/templates/document/list.html:79 -#: gym/templates/gym/member_list.html:211 -#: gym/templates/gym/member_list.html:244 -#: gym/templates/gym/member_list.html:281 +#: exercises/templates/categories/admin-overview.html:40 +#: exercises/templates/equipment/admin-overview.html:39 +#: exercises/templates/muscles/admin-overview.html:40 +#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:64 +#: gym/templates/contract/list.html:69 +#: gym/templates/contract_option/list.html:65 +#: gym/templates/contract_type/list.html:66 gym/templates/document/list.html:78 +#: gym/templates/gym/member_list.html:228 +#: gym/templates/gym/member_list.html:264 +#: gym/templates/gym/member_list.html:303 #: mailer/templates/mailer/gym/overview.html:43 +#: nutrition/templates/ingredient/overview.html:60 msgid "Add" msgstr "Бафтауын" #: core/templates/language/view.html:61 core/templates/user/api_key.html:44 -#: core/templates/user/preferences.html:45 gym/models/contract.py:203 -#: gym/templates/contract/view.html:41 gym/templates/contract/view.html:106 -#: gym/templates/gym/member_list.html:248 -#: manager/templates/schedule/view.html:285 -#: manager/templates/workout/view.html:163 -#: nutrition/templates/ingredient/view.html:202 +#: core/templates/user/preferences.html:50 gym/models/contract.py:203 +#: gym/templates/contract/view.html:41 gym/templates/gym/member_list.html:270 +#: manager/templates/schedule/view.html:257 +#: manager/templates/workout/view.html:177 +#: nutrition/templates/ingredient/view.html:206 msgid "Options" msgstr "Фадӕттӕ" -#: core/templates/license/list.html:4 core/templates/misc/license/list.html:4 +#: core/templates/license/list.html:4 msgid "License list" msgstr "" -#: core/templates/license/list.html:26 core/templates/misc/license/list.html:30 -#: core/templates/repetition_unit/list.html:28 +#: core/templates/license/list.html:30 +#: core/templates/repetition_unit/list.html:32 #: core/templates/user/overview.html:104 core/templates/user/overview.html:136 -#: core/templates/user/overview.html:185 core/templates/user/overview.html:347 -#: core/templates/user/overview.html:383 core/templates/user/overview.html:427 -#: core/templates/weight_unit/list.html:28 -#: exercises/templates/categories/admin-overview.html:26 -#: exercises/templates/equipment/admin-overview.html:26 -#: exercises/templates/muscles/admin-overview.html:26 -#: gym/templates/admin_notes/list.html:52 gym/templates/contract/list.html:60 -#: gym/templates/contract_option/list.html:58 -#: gym/templates/contract_type/list.html:58 gym/templates/document/list.html:64 -#: gym/templates/gym/list.html:29 gym/templates/gym/member_list.html:229 -#: gym/templates/gym/member_list.html:262 -#: gym/templates/gym/member_list.html:299 +#: core/templates/user/overview.html:185 core/templates/user/overview.html:365 +#: core/templates/user/overview.html:404 core/templates/user/overview.html:448 +#: core/templates/weight_unit/list.html:32 +#: exercises/templates/categories/admin-overview.html:30 +#: exercises/templates/equipment/admin-overview.html:30 +#: exercises/templates/muscles/admin-overview.html:29 +#: gym/templates/admin_notes/list.html:50 gym/templates/contract/list.html:57 +#: gym/templates/contract_option/list.html:52 +#: gym/templates/contract_type/list.html:53 gym/templates/document/list.html:64 +#: gym/templates/gym/list.html:32 gym/templates/gym/member_list.html:248 +#: gym/templates/gym/member_list.html:284 +#: gym/templates/gym/member_list.html:321 #: mailer/templates/mailer/gym/overview.html:30 -#: manager/templates/calendar/day.html:87 -#: nutrition/templates/units/list.html:29 +#: manager/templates/calendar/day.html:88 +#: nutrition/templates/units/list.html:34 msgid "Nothing found" msgstr "" -#: core/templates/misc/about.html:4 core/templates/template.html:175 +#: core/templates/misc/about.html:4 core/templates/template.html:187 msgid "Imprint" msgstr "" -#: core/templates/misc/license/list.html:47 -msgid "" -"If a license has been localized, e.g. the Creative Commons\n" -" licenses for the different countries, add them as separate " -"entries here." -msgstr "" - #: core/templates/navigation.html:28 software/templates/features.html:437 msgid "Training" msgstr "Фӕлтӕрд" @@ -662,8 +654,8 @@ msgstr "" msgid "Exercises" msgstr "Фӕлтӕрӕнтӕ" -#: core/templates/navigation.html:111 core/templates/navigation.html:184 -#: core/templates/navigation.html:340 +#: core/templates/navigation.html:111 core/templates/navigation.html:185 +#: core/templates/navigation.html:339 msgid "Administration" msgstr "Администраци" @@ -694,7 +686,7 @@ msgstr "" msgid "Nutrition plans" msgstr "" -#: core/templates/navigation.html:165 nutrition/templates/bmi/form.html:50 +#: core/templates/navigation.html:165 msgid "BMI calculator" msgstr "" @@ -702,87 +694,87 @@ msgstr "" msgid "Daily calories calculator" msgstr "" -#: core/templates/navigation.html:179 +#: core/templates/navigation.html:180 #: nutrition/templates/ingredient/overview.html:10 msgid "Ingredient overview" msgstr "" -#: core/templates/navigation.html:187 nutrition/templates/units/list.html:6 +#: core/templates/navigation.html:189 nutrition/templates/units/list.html:6 msgid "Ingredient weight units" msgstr "" -#: core/templates/navigation.html:203 software/templates/features.html:442 +#: core/templates/navigation.html:205 software/templates/features.html:442 msgid "Body weight" msgstr "" -#: core/templates/navigation.html:210 core/templates/user/overview.html:114 +#: core/templates/navigation.html:212 core/templates/user/overview.html:114 msgid "Weight overview" msgstr "" -#: core/templates/navigation.html:217 weight/views.py:65 +#: core/templates/navigation.html:216 weight/views.py:65 msgid "Add weight entry" msgstr "" -#: core/templates/navigation.html:231 +#: core/templates/navigation.html:230 msgid "About this software" msgstr "" -#: core/templates/navigation.html:237 software/templates/about_us.html:5 +#: core/templates/navigation.html:236 software/templates/about_us.html:5 msgid "About us" msgstr "" -#: core/templates/navigation.html:243 software/templates/features.html:507 +#: core/templates/navigation.html:242 software/templates/features.html:507 msgid "REST API" msgstr "" -#: core/templates/navigation.html:249 utils/models.py:45 +#: core/templates/navigation.html:248 utils/models.py:45 msgid "License" msgstr "" -#: core/templates/navigation.html:255 +#: core/templates/navigation.html:254 msgid "Developer documentation" msgstr "" -#: core/templates/navigation.html:262 +#: core/templates/navigation.html:261 msgid "Get the code" msgstr "" -#: core/templates/navigation.html:269 core/templates/template.html:214 +#: core/templates/navigation.html:268 core/templates/template.html:226 #: software/templates/features.html:582 msgid "Translate" msgstr "" -#: core/templates/navigation.html:303 core/templates/user/login.html:28 +#: core/templates/navigation.html:302 core/templates/user/login.html:28 msgid "Reset password" msgstr "" -#: core/templates/navigation.html:321 +#: core/templates/navigation.html:320 msgid "My preferences" msgstr "" -#: core/templates/navigation.html:330 +#: core/templates/navigation.html:329 msgid "Logout" msgstr "" -#: core/templates/navigation.html:353 +#: core/templates/navigation.html:352 msgid "Licenses" msgstr "" -#: core/templates/navigation.html:361 +#: core/templates/navigation.html:360 #: core/templates/repetition_unit/list.html:4 msgid "Repetition units" msgstr "" -#: core/templates/navigation.html:369 core/templates/weight_unit/list.html:4 +#: core/templates/navigation.html:368 core/templates/weight_unit/list.html:4 #: nutrition/templates/ingredient/view.html:141 msgid "Weight units" msgstr "" -#: core/templates/navigation.html:377 core/templates/user/list.html:4 +#: core/templates/navigation.html:376 core/templates/user/list.html:4 msgid "User list" msgstr "" -#: core/templates/navigation.html:383 +#: core/templates/navigation.html:382 msgid "Gyms" msgstr "" @@ -841,55 +833,28 @@ msgstr "" msgid "next" msgstr "" -#: core/templates/tags/render_day.html:34 -msgid "Add weight log" +#: core/templates/tags/render_day.html:44 +msgid "Placeholder image for translation" msgstr "" -#: core/templates/tags/render_day.html:116 -msgid "Placeholder image for exercise" -msgstr "" - -#: core/templates/tags/render_day.html:133 -msgid "This exercise has no repetitions." -msgstr "" - -#: core/templates/tags/render_day.html:136 -msgid "Edit them now." -msgstr "" - -#: core/templates/tags/render_day.html:162 -msgid "Add exercises to this workout day" -msgstr "" - -#: core/templates/tags/render_weight_log.html:17 manager/helpers.py:86 -#: manager/models/setting.py:72 manager/templates/set/formset.html:9 -msgid "Reps" -msgstr "" - -#: core/templates/tags/render_weight_log.html:30 manager/forms.py:191 -#: manager/models/log.py:103 manager/models/setting.py:102 -#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 -msgid "RiR" -msgstr "" - -#: core/templates/template.html:122 manager/templates/calendar/month.html:138 -#: manager/templates/schedule/view.html:248 -#: manager/templates/schedule/view.html:269 -#: manager/templates/workout/view.html:84 -#: manager/templates/workout/view.html:137 +#: core/templates/template.html:123 manager/templates/calendar/month.html:138 +#: manager/templates/schedule/view.html:215 +#: manager/templates/schedule/view.html:240 +#: manager/templates/workout/view.html:89 +#: manager/templates/workout/view.html:149 msgid "Close" msgstr "" -#: core/templates/template.html:138 +#: core/templates/template.html:139 msgid "" "You are using a guest account, data entered will be deleted after a week." msgstr "" -#: core/templates/template.html:143 +#: core/templates/template.html:144 msgid "Create some demo entries" msgstr "" -#: core/templates/template.html:180 software/templates/features.html:547 +#: core/templates/template.html:192 software/templates/features.html:547 #: software/templates/tos.html:7 msgid "Terms of service" msgstr "" @@ -898,7 +863,7 @@ msgstr "" msgid "Features" msgstr "" -#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:54 +#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:59 msgid "API key" msgstr "" @@ -937,17 +902,17 @@ msgstr "" msgid "Documentation" msgstr "" -#: core/templates/user/delete_account.html:4 -#: core/templates/user/preferences.html:59 +#: core/templates/user/delete_account.html:3 +#: core/templates/user/preferences.html:62 msgid "Delete account" msgstr "" -#: core/templates/user/delete_account.html:17 +#: core/templates/user/delete_account.html:9 #: exercises/templates/history/overview.html:93 msgid "Are you sure?" msgstr "" -#: core/templates/user/delete_account.html:22 +#: core/templates/user/delete_account.html:14 #, python-format msgid "" "This action will delete the user account \"%(username)s\".\n" @@ -966,22 +931,22 @@ msgstr "" #: core/templates/user/overview.html:25 core/templates/user/overview.html:68 #: core/templates/user/overview.html:112 core/templates/user/overview.html:144 -#: core/templates/user/overview.html:330 core/templates/user/overview.html:369 -#: core/templates/user/overview.html:405 +#: core/templates/user/overview.html:348 core/templates/user/overview.html:390 +#: core/templates/user/overview.html:426 #, python-format msgid "last %(number)s" msgstr "" #: core/templates/user/overview.html:27 core/templates/user/overview.html:146 -#: core/templates/user/overview.html:325 core/templates/user/overview.html:364 -#: core/templates/user/overview.html:400 gym/templates/gym/member_list.html:210 -#: gym/templates/gym/member_list.html:243 -#: gym/templates/gym/member_list.html:280 +#: core/templates/user/overview.html:343 core/templates/user/overview.html:382 +#: core/templates/user/overview.html:421 gym/templates/gym/member_list.html:226 +#: gym/templates/gym/member_list.html:262 +#: gym/templates/gym/member_list.html:302 msgid "Overview" msgstr "" #: core/templates/user/overview.html:28 -#: manager/templates/schedule/view.html:163 +#: manager/templates/schedule/view.html:125 #: manager/templates/workout/overview.html:39 manager/views/schedule_step.py:60 msgid "Add workout" msgstr "" @@ -1013,38 +978,36 @@ msgstr "Ӕмбарынгӕнӕн" msgid "Number of logs (days)" msgstr "" -#: core/templates/user/overview.html:37 core/views/user.py:600 +#: core/templates/user/overview.html:37 core/views/user.py:599 #: gym/templates/gym/email_inactive_members.html:4 gym/views/gym.py:158 msgid "Last activity" msgstr "" #: core/templates/user/overview.html:58 #: manager/templates/calendar/month.html:128 -#: manager/templates/schedule/view.html:144 #: manager/templates/workout/overview.html:28 msgid "No workouts found." msgstr "" #: core/templates/user/overview.html:68 manager/forms.py:280 -#: manager/templates/workout/view.html:106 +#: manager/templates/workout/view.html:114 msgid "Log" msgstr "" #: core/templates/user/overview.html:77 manager/models/session.py:83 -#: manager/templates/calendar/partial_overview_table.html:52 +#: manager/templates/calendar/partial_overview_table.html:54 msgid "General impression" msgstr "" -#: core/templates/user/overview.html:78 core/templates/user/overview.html:369 +#: core/templates/user/overview.html:78 core/templates/user/overview.html:390 #: manager/models/session.py:73 -#: manager/templates/calendar/partial_overview_table.html:56 -#: manager/templates/workout/log.html:89 +#: manager/templates/calendar/partial_overview_table.html:58 msgid "Notes" msgstr "" #: core/templates/user/overview.html:79 #: exercises/templates/history/overview.html:30 -#: manager/templates/calendar/partial_overview_table.html:42 +#: manager/templates/calendar/partial_overview_table.html:44 msgid "Time" msgstr "" @@ -1082,121 +1045,121 @@ msgstr "" msgid "kcal" msgstr "" -#: core/templates/user/overview.html:201 core/templates/user/overview.html:322 -#: core/templates/user/overview.html:361 core/templates/user/overview.html:397 -#: core/templates/user/overview.html:442 gym/templates/gym/list.html:42 -#: gym/templates/gym/member_list.html:84 gym/templates/gym/member_list.html:137 -#: gym/templates/gym/member_list.html:173 -#: gym/templates/gym/member_list.html:207 -#: gym/templates/gym/member_list.html:240 -#: gym/templates/gym/member_list.html:277 -#: manager/templates/schedule/view.html:100 +#: core/templates/user/overview.html:201 core/templates/user/overview.html:340 +#: core/templates/user/overview.html:379 core/templates/user/overview.html:418 +#: core/templates/user/overview.html:463 gym/templates/gym/list.html:45 +#: gym/templates/gym/member_list.html:91 gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:187 +#: gym/templates/gym/member_list.html:223 +#: gym/templates/gym/member_list.html:259 +#: gym/templates/gym/member_list.html:299 +#: manager/templates/schedule/view.html:54 msgid "Actions" msgstr "" -#: core/templates/user/overview.html:207 +#: core/templates/user/overview.html:210 msgid "Deactivate user" msgstr "" -#: core/templates/user/overview.html:209 +#: core/templates/user/overview.html:214 msgid "Activate user" msgstr "" -#: core/templates/user/overview.html:211 +#: core/templates/user/overview.html:223 msgid "Reset user password" msgstr "" -#: core/templates/user/overview.html:214 gym/templates/gym/member_list.html:30 +#: core/templates/user/overview.html:227 gym/templates/gym/member_list.html:30 msgid "Roles" msgstr "" -#: core/templates/user/overview.html:225 +#: core/templates/user/overview.html:243 msgid "Password reset confirmation" msgstr "" -#: core/templates/user/overview.html:229 +#: core/templates/user/overview.html:247 msgid "Do you really want to change this user's password?" msgstr "" -#: core/templates/user/overview.html:232 +#: core/templates/user/overview.html:250 #: exercises/templates/history/overview.html:106 msgid "No" msgstr "" -#: core/templates/user/overview.html:233 +#: core/templates/user/overview.html:251 #: exercises/templates/history/overview.html:99 msgid "Yes" msgstr "" -#: core/templates/user/overview.html:254 gym/templates/gym/member_list.html:93 +#: core/templates/user/overview.html:272 gym/templates/gym/member_list.html:105 msgid "Details" msgstr "" -#: core/templates/user/overview.html:258 gym/views/export.py:57 -#: manager/helpers.py:86 manager/templates/schedule/view.html:98 +#: core/templates/user/overview.html:276 gym/views/export.py:57 +#: manager/helpers.py:86 manager/templates/schedule/view.html:52 msgid "Nr." msgstr "Н." -#: core/templates/user/overview.html:280 gym/models/contract.py:287 +#: core/templates/user/overview.html:298 gym/models/contract.py:287 #: gym/models/gym.py:50 gym/templates/contract/view.html:75 -#: gym/templates/gym/member_list.html:100 gym/views/export.py:68 +#: gym/templates/gym/member_list.html:112 gym/views/export.py:68 msgid "Phone" msgstr "" -#: core/templates/user/overview.html:284 gym/templates/contract/view.html:87 -#: gym/templates/gym/member_list.html:118 +#: core/templates/user/overview.html:302 gym/templates/contract/view.html:87 +#: gym/templates/gym/member_list.html:130 msgid "Address" msgstr "" -#: core/templates/user/overview.html:295 +#: core/templates/user/overview.html:313 msgid "Registered" msgstr "" -#: core/templates/user/overview.html:299 +#: core/templates/user/overview.html:317 msgid "Last login" msgstr "" -#: core/templates/user/overview.html:304 +#: core/templates/user/overview.html:322 msgid "Status" msgstr "" -#: core/templates/user/overview.html:307 +#: core/templates/user/overview.html:325 msgid "Active" msgstr "" -#: core/templates/user/overview.html:309 +#: core/templates/user/overview.html:327 msgid "Inactive" msgstr "" -#: core/templates/user/overview.html:330 gym/templates/contract/list.html:4 -#: gym/templates/gym/member_list.html:202 +#: core/templates/user/overview.html:348 gym/templates/contract/list.html:4 +#: gym/templates/gym/member_list.html:218 msgid "Contracts" msgstr "" -#: core/templates/user/overview.html:405 gym/templates/document/list.html:4 +#: core/templates/user/overview.html:426 gym/templates/document/list.html:4 msgid "Documents" msgstr "" -#: core/templates/user/overview.html:412 gym/templates/document/list.html:32 -#: manager/forms.py:292 manager/templates/workout/view.html:132 +#: core/templates/user/overview.html:433 gym/templates/document/list.html:33 +#: manager/forms.py:292 manager/templates/workout/view.html:143 msgid "Download" msgstr "" -#: core/templates/user/overview.html:450 gym/views/admin_config.py:44 +#: core/templates/user/overview.html:474 gym/views/admin_config.py:44 #: gym/views/admin_config.py:58 gym/views/user_config.py:46 msgid "Configuration" msgstr "" -#: core/templates/user/overview.html:453 gym/models/user_config.py:92 +#: core/templates/user/overview.html:477 gym/models/user_config.py:92 msgid "Include in inactive overview" msgstr "" -#: core/templates/user/overview.html:486 +#: core/templates/user/overview.html:510 #, python-format msgid "Admin login is only available for users in %(gym_name)s" msgstr "" -#: core/templates/user/overview.html:490 +#: core/templates/user/overview.html:514 msgid "Log in as this user" msgstr "" @@ -1216,19 +1179,19 @@ msgstr "" msgid "Send verification email" msgstr "" -#: core/templates/user/preferences.html:30 +#: core/templates/user/preferences.html:31 msgid "You need to verify your email to contribute exercises" msgstr "" -#: core/templates/user/preferences.html:50 core/views/user.py:611 +#: core/templates/user/preferences.html:55 core/views/user.py:610 msgid "Change password" msgstr "" -#: core/templatetags/wger_extras.py:205 i18n.tpl:37 +#: core/templatetags/wger_extras.py:197 i18n.tpl:37 msgid "kg" msgstr "" -#: core/templatetags/wger_extras.py:207 +#: core/templatetags/wger_extras.py:199 #: nutrition/templates/ingredient/view.html:60 #: nutrition/templates/ingredient/view.html:66 #: nutrition/templates/ingredient/view.html:73 @@ -1240,11 +1203,11 @@ msgctxt "weight unit, i.e. grams" msgid "g" msgstr "" -#: core/templatetags/wger_extras.py:210 i18n.tpl:38 +#: core/templatetags/wger_extras.py:202 i18n.tpl:38 msgid "lb" msgstr "" -#: core/templatetags/wger_extras.py:212 +#: core/templatetags/wger_extras.py:204 msgctxt "weight unit, i.e. ounces" msgid "oz" msgstr "" @@ -1271,13 +1234,13 @@ msgid "Delete {0}?" msgstr "" #: core/views/languages.py:111 core/views/license.py:85 -#: core/views/repetition_units.py:86 core/views/user.py:474 +#: core/views/repetition_units.py:86 core/views/user.py:473 #: core/views/weight_units.py:86 exercises/views/categories.py:98 #: exercises/views/equipment.py:81 exercises/views/muscles.py:87 #: gym/views/admin_notes.py:161 gym/views/config.py:68 #: gym/views/contract.py:186 gym/views/contract_option.py:123 #: gym/views/contract_type.py:123 gym/views/document.py:171 -#: gym/views/gym.py:463 manager/views/day.py:100 manager/views/schedule.py:333 +#: gym/views/gym.py:463 manager/views/day.py:96 manager/views/schedule.py:333 #: manager/views/workout.py:267 nutrition/views/ingredient.py:145 #: nutrition/views/unit.py:143 #, python-brace-format @@ -1303,48 +1266,48 @@ msgstr "" msgid "Your feedback was successfully sent. Thank you!" msgstr "" -#: core/views/user.py:156 +#: core/views/user.py:155 #, python-brace-format msgid "Account \"{0}\" was successfully deleted" msgstr "" -#: core/views/user.py:292 +#: core/views/user.py:291 msgid "You were successfully registered" msgstr "" -#: core/views/user.py:351 +#: core/views/user.py:350 msgid "Settings successfully updated" msgstr "" -#: core/views/user.py:390 +#: core/views/user.py:389 msgid "The user was successfully deactivated" msgstr "" -#: core/views/user.py:427 +#: core/views/user.py:426 msgid "The user was successfully activated" msgstr "" -#: core/views/user.py:442 +#: core/views/user.py:441 msgid "Edit user" msgstr "" -#: core/views/user.py:597 gym/templates/gym/member_list.html:26 +#: core/views/user.py:596 gym/templates/gym/member_list.html:26 #: gym/views/gym.py:158 msgid "ID" msgstr "" -#: core/views/user.py:598 gym/forms.py:95 gym/templates/contract/view.html:55 +#: core/views/user.py:597 gym/forms.py:95 gym/templates/contract/view.html:55 #: gym/templates/gym/member_list.html:27 gym/views/export.py:59 #: gym/views/gym.py:158 gym/views/gym.py:217 msgid "Username" msgstr "" -#: core/views/user.py:601 gym/templates/gym/new_user.html:34 +#: core/views/user.py:600 gym/templates/gym/new_user.html:34 #: gym/views/export.py:58 gym/views/gym.py:217 msgid "Gym" msgstr "" -#: core/views/user.py:660 +#: core/views/user.py:659 #, python-format msgid "A verification email was sent to %(email)s" msgstr "" @@ -1498,11 +1461,6 @@ msgstr "" msgid "Equipment list" msgstr "" -#: exercises/templates/equipment/admin-overview.html:39 -#: exercises/views/equipment.py:92 -msgid "Add new equipment" -msgstr "" - #: exercises/templates/history/overview.html:11 #, fuzzy #| msgid "Exercise Categories" @@ -1554,11 +1512,6 @@ msgstr "" msgid "Muscle overview" msgstr "" -#: exercises/templates/muscles/admin-overview.html:38 -#: exercises/views/muscles.py:68 -msgid "Add muscle" -msgstr "Мускул бафтауын" - #: exercises/views/categories.py:72 msgid "Add category" msgstr "Ӕмбырд бафтауын" @@ -1567,6 +1520,10 @@ msgstr "Ӕмбырд бафтауын" msgid "This will also delete all exercises in this category." msgstr "" +#: exercises/views/equipment.py:92 +msgid "Add new equipment" +msgstr "" + #: exercises/views/equipment.py:104 exercises/views/equipment.py:115 msgid "Delete equipment?" msgstr "" @@ -1575,6 +1532,10 @@ msgstr "" msgid "This will delete the exercise from all workouts." msgstr "" +#: exercises/views/muscles.py:68 +msgid "Add muscle" +msgstr "Мускул бафтауын" + #: gallery/templates/images/overview.html:62 #, fuzzy #| msgid "Add muscle" @@ -1662,7 +1623,7 @@ msgid "Contract is active" msgstr "" #: gym/models/contract.py:237 gym/templates/contract/view.html:69 -#: manager/models/schedule.py:61 manager/templates/schedule/view.html:67 +#: manager/models/schedule.py:61 manager/templates/schedule/view.html:21 msgid "Start date" msgstr "" @@ -1698,7 +1659,7 @@ msgstr "" msgid "Admin: can administrate the different gyms" msgstr "" -#: gym/models/gym.py:65 gym/templates/gym/member_list.html:114 +#: gym/models/gym.py:65 gym/templates/gym/member_list.html:126 msgid "Owner" msgstr "" @@ -1708,7 +1669,7 @@ msgid "" "considered inactive" msgstr "" -#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:152 +#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:166 msgid "Show name in header" msgstr "" @@ -1721,7 +1682,7 @@ msgstr "" msgid "Configuration for {self.gym.name}" msgstr "" -#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:184 +#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:200 msgid "Overview of inactive members" msgstr "" @@ -1745,7 +1706,7 @@ msgstr "" msgid "User notes" msgstr "" -#: gym/templates/contract/list.html:36 +#: gym/templates/contract/list.html:34 msgid "Show" msgstr "" @@ -1771,11 +1732,11 @@ msgstr "" msgid "Gym list" msgstr "" -#: gym/templates/gym/list.html:50 +#: gym/templates/gym/list.html:53 msgid "Global gym configuration" msgstr "" -#: gym/templates/gym/list.html:67 gym/views/gym.py:171 +#: gym/templates/gym/list.html:69 gym/views/gym.py:171 msgid "Add new gym" msgstr "" @@ -1787,43 +1748,43 @@ msgstr "" msgid "Gym manager" msgstr "" -#: gym/templates/gym/member_list.html:69 +#: gym/templates/gym/member_list.html:76 msgid "This gym has no administrators or trainers" msgstr "" -#: gym/templates/gym/member_list.html:88 +#: gym/templates/gym/member_list.html:98 msgid "Export" msgstr "" -#: gym/templates/gym/member_list.html:125 +#: gym/templates/gym/member_list.html:137 msgid "Members" msgstr "" -#: gym/templates/gym/member_list.html:145 +#: gym/templates/gym/member_list.html:159 msgid "Gym configuration" msgstr "" -#: gym/templates/gym/member_list.html:148 +#: gym/templates/gym/member_list.html:162 msgid "Inactive members" msgstr "" -#: gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:163 msgid "weeks" msgstr "" -#: gym/templates/gym/member_list.html:181 +#: gym/templates/gym/member_list.html:197 msgid "My configuration" msgstr "" -#: gym/templates/gym/member_list.html:215 +#: gym/templates/gym/member_list.html:234 msgid "Types" msgstr "" -#: gym/templates/gym/member_list.html:285 +#: gym/templates/gym/member_list.html:307 msgid "Emails" msgstr "" -#: gym/templates/gym/member_list.html:315 +#: gym/templates/gym/member_list.html:336 msgid "Add member" msgstr "" @@ -2108,28 +2069,38 @@ msgstr "" msgid "Unit" msgstr "" +#: manager/forms.py:191 manager/models/log.py:103 manager/models/setting.py:102 +#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 +msgid "RiR" +msgstr "" + #: manager/forms.py:279 msgid "Type" msgstr "" -#: manager/forms.py:280 manager/templates/workout/view.html:113 +#: manager/forms.py:280 manager/templates/workout/view.html:122 msgid "Table" msgstr "" -#: manager/forms.py:282 manager/templates/workout/view.html:119 +#: manager/forms.py:282 manager/templates/workout/view.html:129 msgid "with images" msgstr "" -#: manager/forms.py:283 manager/templates/workout/view.html:125 +#: manager/forms.py:283 manager/templates/workout/view.html:136 msgid "with comments" msgstr "" +#: manager/helpers.py:86 manager/models/setting.py:72 +#: manager/templates/set/formset.html:9 +msgid "Reps" +msgstr "" + #: manager/management/commands/email-reminders.py:121 msgid "Workout will expire soon" msgstr "" #: manager/models/day.py:34 manager/models/log.py:58 -#: manager/models/session.py:60 manager/templates/schedule/view.html:102 +#: manager/models/session.py:60 manager/templates/schedule/view.html:56 #: manager/templates/workout/view.html:9 manager/templates/workout/view.html:17 #: manager/views/pdf.py:85 manager/views/pdf.py:161 #: manager/views/schedule.py:151 manager/views/schedule.py:221 @@ -2150,7 +2121,7 @@ msgstr "" msgid "Name or short description of the schedule. For example 'Program XYZ'." msgstr "" -#: manager/models/schedule.py:65 manager/templates/schedule/view.html:71 +#: manager/models/schedule.py:65 manager/templates/schedule/view.html:25 msgid "Schedule active" msgstr "" @@ -2161,7 +2132,7 @@ msgid "" "inactive" msgstr "" -#: manager/models/schedule.py:77 manager/templates/schedule/view.html:81 +#: manager/models/schedule.py:77 manager/templates/schedule/view.html:35 msgid "Is a loop" msgstr "" @@ -2180,7 +2151,7 @@ msgid "The duration in weeks" msgstr "" #: manager/models/schedule_step.py:64 manager/models/set.py:53 -#: manager/models/setting.py:113 nutrition/models/meal.py:55 +#: manager/models/setting.py:113 nutrition/models/meal.py:53 #: nutrition/models/meal_item.py:66 msgid "Order" msgstr "" @@ -2312,7 +2283,7 @@ msgstr "" msgid "Workout session" msgstr "" -#: manager/templates/calendar/partial_overview_table.html:27 +#: manager/templates/calendar/partial_overview_table.html:26 msgid "Delete with logs" msgstr "" @@ -2332,21 +2303,27 @@ msgid "" "will simply be edited. Weight entries are always added." msgstr "" -#: manager/templates/schedule/overview.html:5 +#: manager/templates/schedule/overview.html:4 msgid "Your schedules" msgstr "" #: manager/templates/schedule/overview.html:19 -#: manager/templates/schedule/view.html:131 -#: manager/templates/schedule/view.html:183 +#: manager/templates/schedule/view.html:96 +#: manager/templates/schedule/view.html:146 #: manager/templates/workout/overview.html:16 msgid "active" msgstr "" -#: manager/templates/schedule/overview.html:28 +#: manager/templates/schedule/overview.html:27 msgid "No schedules found." msgstr "" +#: manager/templates/schedule/overview.html:28 +#, fuzzy +#| msgid "Add new exercise" +msgid "Add one now" +msgstr "Ног фӕлтӕрӕн бафтауын" + #: manager/templates/schedule/overview.html:36 msgid "" "Schedules are collections of workouts that you do in\n" @@ -2359,10 +2336,11 @@ msgid "" " before jumping to the next. It is also possible to create a loop, so " "you\n" " always do the same workouts in succession, e.g. A > B > C > A > B > " -"C and so on." +"C and so\n" +" on." msgstr "" -#: manager/templates/schedule/overview.html:43 +#: manager/templates/schedule/overview.html:44 msgid "" "The currently active schedule will remain active (and be\n" " shown e.g. in your dashboard) till it reaches the last workout or " @@ -2378,25 +2356,21 @@ msgstr "" msgid "Schedule" msgstr "" -#: manager/templates/schedule/view.html:85 +#: manager/templates/schedule/view.html:39 msgid "" "This schedule is a loop and will go through the workouts above till you " "deactivate it" msgstr "" -#: manager/templates/schedule/view.html:103 +#: manager/templates/schedule/view.html:57 msgid "Weeks" msgstr "" -#: manager/templates/schedule/view.html:115 -msgid "Move me" -msgstr "" - -#: manager/templates/schedule/view.html:156 +#: manager/templates/schedule/view.html:121 msgid "Start schedule" msgstr "" -#: manager/templates/schedule/view.html:187 +#: manager/templates/schedule/view.html:150 #, python-format msgid "" "%(weeks)s Week\n" @@ -2407,11 +2381,11 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: manager/templates/schedule/view.html:221 +#: manager/templates/schedule/view.html:184 msgid "Adding workouts" msgstr "" -#: manager/templates/schedule/view.html:223 +#: manager/templates/schedule/view.html:186 msgid "" "Add as many workouts to the schedule as you want. You can\n" " edit the order by dragging and dropping them. It's also possible " @@ -2419,44 +2393,37 @@ msgid "" " than once." msgstr "" -#: manager/templates/schedule/view.html:232 -#: manager/templates/schedule/view.html:243 -#: manager/templates/schedule/view.html:290 +#: manager/templates/schedule/view.html:195 +#: manager/templates/schedule/view.html:209 +#: manager/templates/schedule/view.html:263 #: manager/templates/workout/view.html:69 -#: manager/templates/workout/view.html:79 -#: manager/templates/workout/view.html:178 +#: manager/templates/workout/view.html:83 +#: manager/templates/workout/view.html:192 msgid "Export calendar file" msgstr "" -#: manager/templates/schedule/view.html:236 +#: manager/templates/schedule/view.html:201 msgid "Export this schedule as a calendar file." msgstr "" -#: manager/templates/schedule/view.html:237 -#: manager/templates/workout/view.html:74 +#: manager/templates/schedule/view.html:202 +#: manager/templates/workout/view.html:76 msgid "" "You can then import the file it into your calendar\n" " application for example google calendar, outlook or " "iCal. This will create\n" " an appointment for each training day with the " -"appropriate exercises." +"appropriate\n" +" exercises." msgstr "" -#: manager/templates/schedule/view.html:258 -#: manager/templates/schedule/view.html:294 -#: manager/templates/workout/view.html:94 -#: manager/templates/workout/view.html:174 +#: manager/templates/schedule/view.html:225 +#: manager/templates/schedule/view.html:268 +#: manager/templates/workout/view.html:99 +#: manager/templates/workout/view.html:188 msgid "Download as PDF" msgstr "" -#: manager/templates/schedule/view.html:299 -msgid "Edit schedule" -msgstr "" - -#: manager/templates/schedule/view.html:304 -msgid "Delete schedule" -msgstr "" - #: manager/templates/set/add.html:9 #, python-format msgid "Add exercises to day \"%(day_name)s\"" @@ -2521,47 +2488,6 @@ msgid "" "You will regularly receive such reminders till you enter your current weight." msgstr "" -#: manager/templates/workout/log.html:10 manager/templates/workout/log.html:11 -msgid "Weight log" -msgstr "" - -#: manager/templates/workout/log.html:29 -msgid "Weight log for workout" -msgstr "" - -#: manager/templates/workout/log.html:49 -msgid "Add weight log to this day" -msgstr "" - -#: manager/templates/workout/log.html:69 -msgid "No weight entries here." -msgstr "" - -#: manager/templates/workout/log.html:77 -msgid "No exercises for this day." -msgstr "" - -#: manager/templates/workout/log.html:90 -msgid "" -"This page shows the weight logs belonging to this workout\n" -"only. Click on an exercise to see all the historical data for\n" -"it." -msgstr "" - -#: manager/templates/workout/log.html:94 -msgid "" -"If on a single day there is more than one entry with the\n" -"same number of repetitions, but different weights, only the entry with the\n" -"higher weight is shown in the diagram." -msgstr "" - -#: manager/templates/workout/log.html:98 -msgid "" -"Note that only entries with a weight unit (kg or lb) and\n" -"repetitions are charted, other combinations such as time or until failure\n" -"are ignored here." -msgstr "" - #: manager/templates/workout/overview.html:25 msgid "No templates found." msgstr "" @@ -2597,27 +2523,23 @@ msgstr "" msgid "Set the repetitions for each set" msgstr "" -#: manager/templates/workout/view.html:73 +#: manager/templates/workout/view.html:75 msgid "Export this workout as a calendar file." msgstr "" -#: manager/templates/workout/view.html:144 +#: manager/templates/workout/view.html:156 msgid "Logs" msgstr "" -#: manager/templates/workout/view.html:146 +#: manager/templates/workout/view.html:159 msgid "View logs" msgstr "" -#: manager/templates/workout/view.html:169 manager/views/schedule_step.py:99 -msgid "Edit workout" -msgstr "" - -#: manager/templates/workout/view.html:182 manager/views/workout.py:281 +#: manager/templates/workout/view.html:195 manager/views/workout.py:281 msgid "Mark as template" msgstr "" -#: manager/views/day.py:109 +#: manager/views/day.py:105 msgid "Add workout day" msgstr "" @@ -2634,6 +2556,10 @@ msgstr "" msgid "Create schedule" msgstr "" +#: manager/views/schedule_step.py:99 +msgid "Edit workout" +msgstr "" + #: manager/views/workout.py:209 msgid "Copy workout" msgstr "" @@ -2755,7 +2681,7 @@ msgstr "" msgid "Unit amount, e.g. \"1 Cup\" or \"1/2 spoon\"" msgstr "" -#: nutrition/models/log.py:52 nutrition/models/meal.py:50 +#: nutrition/models/log.py:52 nutrition/models/meal.py:48 #: nutrition/models/meal_item.py:48 nutrition/models/plan.py:108 msgid "Nutrition plan" msgstr "" @@ -2768,11 +2694,11 @@ msgstr "" msgid "Date and Time (Approx.)" msgstr "" -#: nutrition/models/meal.py:62 +#: nutrition/models/meal.py:60 msgid "Time (approx)" msgstr "" -#: nutrition/models/meal.py:69 +#: nutrition/models/meal.py:67 msgid "" "Give meals a textual description / name such as \"Breakfast\" or \"after " "workout\"" @@ -2794,58 +2720,6 @@ msgid "" "calories. You can use the calculator or enter the value yourself." msgstr "" -#: nutrition/templates/bmi/form.html:62 -msgid "Results" -msgstr "" - -#: nutrition/templates/bmi/form.html:63 -msgid "Your BMI is: " -msgstr "" - -#: nutrition/templates/bmi/form.html:71 -msgid "Legend" -msgstr "" - -#: nutrition/templates/bmi/form.html:75 -msgid "Adipositas III" -msgstr "" - -#: nutrition/templates/bmi/form.html:79 -msgid "Adipositas II" -msgstr "" - -#: nutrition/templates/bmi/form.html:83 -msgid "Adipositas I" -msgstr "" - -#: nutrition/templates/bmi/form.html:87 -msgid "Overweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:91 -msgid "Normal weight" -msgstr "" - -#: nutrition/templates/bmi/form.html:95 -msgid "Slight underweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:99 -msgid "Moderate underweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:103 -msgid "Strong underweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:117 -msgid "" -"Use the form to calculate your BMI (Body Mass Index).\n" -"If you have entered data in the weight section, the last entry will\n" -"be used automatically. Otherwise the weight you enter here will be saved\n" -"in a new entry." -msgstr "" - #: nutrition/templates/ingredient/email_new.tpl:1 #, python-format msgid "" @@ -2891,10 +2765,6 @@ msgstr "" msgid "Search" msgstr "Агурын" -#: nutrition/templates/ingredient/overview.html:62 -msgid "Add ingredient" -msgstr "" - #: nutrition/templates/ingredient/view.html:45 nutrition/views/plan.py:229 msgid "Macronutrients" msgstr "" @@ -2914,20 +2784,11 @@ msgstr "" msgid "Others" msgstr "" -#: nutrition/templates/ingredient/view.html:144 -#: nutrition/templates/units/list.html:46 nutrition/views/unit.py:86 +#: nutrition/templates/ingredient/view.html:143 +#: nutrition/templates/units/list.html:50 nutrition/views/unit.py:86 msgid "Add new weight unit" msgstr "" -#: nutrition/templates/ingredient/view.html:206 -#: nutrition/templates/ingredient/view.html:209 -msgid "Edit ingredient" -msgstr "" - -#: nutrition/templates/ingredient/view.html:213 -msgid "Delete ingredient" -msgstr "" - #: nutrition/templates/rate/form.html:25 msgid "Basal metabolic rate" msgstr "" @@ -2996,18 +2857,6 @@ msgid "" "yourself for some weeks and change the total amount if needed." msgstr "" -#: nutrition/views/bmi.py:89 -msgid "Please make sure your height is within the appropriate range." -msgstr "" - -#: nutrition/views/bmi.py:92 -msgid "140 to 230" -msgstr "" - -#: nutrition/views/bmi.py:94 -msgid "56 to 90" -msgstr "" - #: nutrition/views/ingredient.py:157 msgid "Add a new ingredient" msgstr "" @@ -3511,11 +3360,6 @@ msgstr "" #~ msgid "Use link to create one" #~ msgstr "Спайда кӕн ӕрвитӕнӕй, цӕмӕй дзы саразай" -#, fuzzy -#~| msgid "Add new exercise" -#~ msgid "Add new video" -#~ msgstr "Ног фӕлтӕрӕн бафтауын" - #~ msgid "Comments for this exercise" #~ msgstr "Ацы фӕлтӕрӕны тыххӕй хъуыдытӕ" diff --git a/wger/locale/pl/LC_MESSAGES/django.po b/wger/locale/pl/LC_MESSAGES/django.po index 2c52d93c4..47d947860 100644 --- a/wger/locale/pl/LC_MESSAGES/django.po +++ b/wger/locale/pl/LC_MESSAGES/django.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: wger Workout Manager\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-14 15:59+0200\n" +"POT-Creation-Date: 2024-11-14 19:23+0100\n" "PO-Revision-Date: 2024-08-15 15:09+0000\n" "Last-Translator: Dawid Panyło \n" "Language-Team: Polish \n" @@ -22,12 +22,12 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (" -"n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " +"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && " +"(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && " "n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" "X-Generator: Weblate 5.7\n" -#: config/models/gym_config.py:46 gym/templates/gym/list.html:53 +#: config/models/gym_config.py:46 gym/templates/gym/list.html:56 msgid "Default gym" msgstr "Domyślna siłownia" @@ -40,28 +40,28 @@ msgstr "" "przypisywani wszyscy nowi użytkownicy oraz obecni użytkownicy bez określonej " "siłowni." -#: config/views/gym_config.py:42 core/templates/language/view.html:67 -#: core/templates/license/list.html:17 core/templates/misc/license/list.html:18 +#: config/views/gym_config.py:42 core/templates/language/view.html:64 +#: core/templates/license/list.html:17 #: core/templates/repetition_unit/list.html:18 -#: core/templates/tags/render_day.html:39 -#: core/templates/tags/render_day.html:75 core/templates/user/overview.html:204 -#: core/templates/user/overview.html:445 +#: core/templates/user/overview.html:204 core/templates/user/overview.html:467 #: core/templates/weight_unit/list.html:18 #: exercises/templates/categories/admin-overview.html:17 #: exercises/templates/equipment/admin-overview.html:17 -#: exercises/templates/muscles/admin-overview.html:17 -#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:32 -#: gym/templates/contract/list.html:31 gym/templates/contract/view.html:107 -#: gym/templates/contract_option/list.html:32 -#: gym/templates/contract_type/list.html:32 gym/templates/document/list.html:38 -#: gym/templates/gym/list.html:20 gym/templates/gym/list.html:46 -#: gym/templates/gym/member_list.html:87 gym/templates/gym/member_list.html:140 -#: gym/templates/gym/member_list.html:176 -#: manager/templates/calendar/day.html:68 -#: manager/templates/calendar/month.html:85 -#: manager/templates/calendar/partial_overview_table.html:18 -#: manager/templates/schedule/view.html:118 -#: nutrition/templates/ingredient/view.html:165 +#: exercises/templates/muscles/admin-overview.html:16 +#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:31 +#: gym/templates/contract/list.html:30 gym/templates/contract/view.html:106 +#: gym/templates/contract_option/list.html:29 +#: gym/templates/contract_type/list.html:30 gym/templates/document/list.html:38 +#: gym/templates/gym/list.html:19 gym/templates/gym/list.html:48 +#: gym/templates/gym/member_list.html:94 gym/templates/gym/member_list.html:152 +#: gym/templates/gym/member_list.html:190 +#: manager/templates/calendar/day.html:67 +#: manager/templates/calendar/month.html:84 +#: manager/templates/calendar/partial_overview_table.html:16 +#: manager/templates/schedule/view.html:271 +#: manager/templates/workout/view.html:181 +#: nutrition/templates/ingredient/view.html:164 +#: nutrition/templates/ingredient/view.html:209 #: nutrition/templates/units/list.html:19 msgid "Edit" msgstr "Edytuj" @@ -95,25 +95,25 @@ msgstr "Mój fajny harmonogram treningu" msgid "Empty placeholder schedule" msgstr "Pusty zapychacz harmonogramu" -#: core/forms.py:69 core/templates/navigation.html:285 -#: core/templates/navigation.html:291 core/templates/user/login.html:4 +#: core/forms.py:69 core/templates/navigation.html:284 +#: core/templates/navigation.html:290 core/templates/user/login.html:4 #: software/templates/features.html:82 software/templates/features.html:427 msgid "Login" msgstr "Zaloguj" -#: core/forms.py:108 core/forms.py:214 gym/views/export.py:61 +#: core/forms.py:108 core/forms.py:216 gym/views/export.py:61 #: gym/views/gym.py:217 msgid "First name" msgstr "Imię" -#: core/forms.py:109 core/forms.py:215 core/templates/user/overview.html:266 +#: core/forms.py:109 core/forms.py:217 core/templates/user/overview.html:284 #: gym/views/export.py:62 gym/views/gym.py:217 msgid "Last name" msgstr "Nazwisko" -#: core/forms.py:111 core/forms.py:180 core/templates/user/overview.html:270 +#: core/forms.py:111 core/forms.py:182 core/templates/user/overview.html:288 #: gym/models/contract.py:256 gym/models/gym.py:58 -#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:104 +#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:116 #: gym/templates/gym/new_user.html:30 gym/views/export.py:60 #: mailer/templates/mailer/gym/form.html:4 #: mailer/templates/mailer/gym/overview.html:4 @@ -130,94 +130,93 @@ msgstr "Używany do resetowania hasła i przypomnień e-mail." msgid "Date of Birth" msgstr "Data urodzenia" -#: core/forms.py:148 +#: core/forms.py:149 msgid "Personal data" msgstr "Dane personalne" -#: core/forms.py:159 +#: core/forms.py:161 msgid "Workout reminders" msgstr "Przypomnienia treningowe" -#: core/forms.py:166 +#: core/forms.py:168 msgid "Other settings" msgstr "Inne ustawienia" -#: core/forms.py:174 core/views/user.py:624 core/views/user.py:639 -#: core/views/user.py:651 gym/forms.py:73 manager/templates/log/add.html:65 +#: core/forms.py:176 core/views/user.py:623 core/views/user.py:638 +#: core/views/user.py:650 gym/forms.py:73 manager/templates/log/add.html:65 #: manager/templates/set/add.html:70 manager/views/workout.py:203 #: utils/generic_views.py:143 msgid "Save" msgstr "Zapisz" -#: core/forms.py:181 +#: core/forms.py:183 msgid "Used for password resets and, optionally, email reminders." msgstr "Używany do resetowania hasła i przypomnień." -#: core/forms.py:210 +#: core/forms.py:212 msgid "This e-mail address is already in use." msgstr "Ten adres e-mail jest już zajęty." -#: core/forms.py:231 gym/templates/gym/new_user.html:26 +#: core/forms.py:233 gym/templates/gym/new_user.html:26 #: gym/templates/gym/reset_user_password.html:24 gym/views/gym.py:217 msgid "Password" msgstr "Hasło" -#: core/forms.py:233 +#: core/forms.py:235 msgid "Please enter your current password." msgstr "Wprowadź swoje aktualne hasło." -#: core/forms.py:242 core/templates/language/view.html:73 -#: core/templates/license/list.html:19 core/templates/misc/license/list.html:22 -#: core/templates/repetition_unit/list.html:20 -#: core/templates/tags/render_day.html:45 -#: core/templates/tags/render_day.html:81 core/templates/user/overview.html:217 -#: core/templates/weight_unit/list.html:20 -#: exercises/templates/categories/admin-overview.html:19 -#: exercises/templates/equipment/admin-overview.html:19 -#: exercises/templates/muscles/admin-overview.html:19 -#: gym/templates/admin_notes/list.html:40 -#: gym/templates/contract_option/list.html:41 -#: gym/templates/contract_type/list.html:41 gym/templates/document/list.html:46 -#: gym/templates/gym/list.html:22 manager/templates/calendar/day.html:73 -#: manager/templates/calendar/month.html:89 -#: manager/templates/calendar/partial_overview_table.html:23 -#: manager/templates/schedule/view.html:122 -#: manager/templates/workout/view.html:188 -#: nutrition/templates/ingredient/view.html:166 +#: core/forms.py:244 core/templates/language/view.html:70 +#: core/templates/license/list.html:21 +#: core/templates/repetition_unit/list.html:22 +#: core/templates/user/overview.html:233 +#: core/templates/weight_unit/list.html:22 +#: exercises/templates/categories/admin-overview.html:21 +#: exercises/templates/equipment/admin-overview.html:21 +#: exercises/templates/muscles/admin-overview.html:20 +#: gym/templates/admin_notes/list.html:37 +#: gym/templates/contract_option/list.html:35 +#: gym/templates/contract_type/list.html:36 gym/templates/document/list.html:46 +#: gym/templates/gym/list.html:23 manager/templates/calendar/day.html:73 +#: manager/templates/calendar/month.html:88 +#: manager/templates/calendar/partial_overview_table.html:22 +#: manager/templates/schedule/view.html:277 +#: manager/templates/workout/view.html:202 +#: nutrition/templates/ingredient/view.html:168 #: nutrition/templates/ingredient/view.html:215 -#: nutrition/templates/units/list.html:22 +#: nutrition/templates/units/list.html:25 msgid "Delete" msgstr "Usuń" -#: core/forms.py:251 +#: core/forms.py:253 msgid "Invalid password" msgstr "Hasło nieprawidłowe" -#: core/forms.py:263 core/forms.py:338 +#: core/forms.py:265 core/forms.py:340 msgid "The form is secured with reCAPTCHA" msgstr "Formularz jest chroniony przez reCaptcha" -#: core/forms.py:279 core/forms.py:301 core/templates/navigation.html:285 -#: core/templates/navigation.html:297 core/templates/template.html:149 -#: core/templates/user/login.html:20 core/views/user.py:298 +#: core/forms.py:281 core/forms.py:303 core/templates/navigation.html:284 +#: core/templates/navigation.html:296 core/templates/template.html:150 +#: core/templates/user/login.html:20 core/views/user.py:297 #: software/templates/features.html:87 software/templates/features.html:422 msgid "Register" msgstr "Zarejestruj" -#: core/forms.py:315 software/templates/features.html:45 +#: core/forms.py:317 software/templates/features.html:45 msgid "Contact" msgstr "Kontakt" -#: core/forms.py:316 +#: core/forms.py:318 msgid "Some way of answering you (e-mail, etc.)" msgstr "Wybrany sposób kontaktu (e-mail itp.)" -#: core/forms.py:324 exercises/models/comment.py:58 manager/models/set.py:61 +#: core/forms.py:326 exercises/models/comment.py:58 manager/models/set.py:61 #: manager/models/setting.py:114 nutrition/models/log.py:77 msgid "Comment" msgstr "Komentarz" -#: core/forms.py:325 +#: core/forms.py:327 msgid "What do you want to say?" msgstr "Co chcesz powiedzieć?" @@ -449,18 +448,18 @@ msgid "The sum of all hours has to be 24" msgstr "Godziny muszą sumować się do wartości 24" #: core/models/rep_unit.py:36 core/models/weight_unit.py:36 -#: core/templates/user/overview.html:262 core/views/user.py:599 +#: core/templates/user/overview.html:280 core/views/user.py:598 #: exercises/models/category.py:29 exercises/models/equipment.py:29 #: exercises/models/exercise.py:59 exercises/models/muscle.py:36 #: gym/models/contract.py:52 gym/models/contract.py:103 gym/models/gym.py:46 #: gym/models/user_document.py:84 gym/templates/contract/view.html:50 -#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:96 +#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:108 #: gym/views/gym.py:158 manager/models/schedule.py:55 #: manager/models/workout.py:57 measurements/models/category.py:36 #: nutrition/models/ingredient.py:111 -#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:67 +#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:65 #: nutrition/models/weight_unit.py:38 -#: nutrition/templates/ingredient/view.html:152 +#: nutrition/templates/ingredient/view.html:151 msgid "Name" msgstr "Nazwa" @@ -513,7 +512,7 @@ msgstr "" msgid "Back to \"%(target)s\"" msgstr "Wróć do \"%(target)s\"" -#: core/templates/delete.html:15 +#: core/templates/delete.html:4 msgid "Are you sure you want to delete this? This action cannot be undone." msgstr "Czy na pewno chcesz to usunąć? Tej czynności nie będzie można cofnąć." @@ -565,7 +564,7 @@ msgstr "Kliknij poniższy link, aby potwierdzić swój adres e-mail: %(link)s" msgid "Dashboard" msgstr "Pulpit" -#: core/templates/language/overview.html:4 core/templates/navigation.html:345 +#: core/templates/language/overview.html:4 core/templates/navigation.html:344 msgid "Languages" msgstr "Języki" @@ -575,81 +574,72 @@ msgstr "Nie znaleziono." #: core/templates/language/overview.html:22 #: manager/templates/calendar/month.html:132 -#: manager/templates/schedule/overview.html:28 -#: manager/templates/schedule/view.html:144 +#: manager/templates/schedule/view.html:107 #: manager/templates/workout/overview.html:28 #: nutrition/templates/ingredient/overview.html:38 msgid "Add one now." msgstr "Dodaj jeden teraz." -#: core/templates/language/overview.html:35 core/templates/license/list.html:40 -#: core/templates/misc/license/list.html:43 -#: core/templates/repetition_unit/list.html:43 -#: core/templates/user/overview.html:326 core/templates/user/overview.html:365 -#: core/templates/user/overview.html:401 -#: core/templates/weight_unit/list.html:43 core/views/languages.py:74 +#: core/templates/language/overview.html:34 core/templates/license/list.html:43 +#: core/templates/repetition_unit/list.html:46 +#: core/templates/user/overview.html:344 core/templates/user/overview.html:384 +#: core/templates/user/overview.html:422 +#: core/templates/weight_unit/list.html:46 core/views/languages.py:74 #: core/views/license.py:66 core/views/repetition_units.py:66 #: core/views/weight_units.py:66 -#: exercises/templates/categories/admin-overview.html:38 -#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:67 -#: gym/templates/contract/list.html:73 -#: gym/templates/contract_option/list.html:72 -#: gym/templates/contract_type/list.html:72 gym/templates/document/list.html:79 -#: gym/templates/gym/member_list.html:211 -#: gym/templates/gym/member_list.html:244 -#: gym/templates/gym/member_list.html:281 +#: exercises/templates/categories/admin-overview.html:40 +#: exercises/templates/equipment/admin-overview.html:39 +#: exercises/templates/muscles/admin-overview.html:40 +#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:64 +#: gym/templates/contract/list.html:69 +#: gym/templates/contract_option/list.html:65 +#: gym/templates/contract_type/list.html:66 gym/templates/document/list.html:78 +#: gym/templates/gym/member_list.html:228 +#: gym/templates/gym/member_list.html:264 +#: gym/templates/gym/member_list.html:303 #: mailer/templates/mailer/gym/overview.html:43 +#: nutrition/templates/ingredient/overview.html:60 msgid "Add" msgstr "Dodaj" #: core/templates/language/view.html:61 core/templates/user/api_key.html:44 -#: core/templates/user/preferences.html:45 gym/models/contract.py:203 -#: gym/templates/contract/view.html:41 gym/templates/contract/view.html:106 -#: gym/templates/gym/member_list.html:248 -#: manager/templates/schedule/view.html:285 -#: manager/templates/workout/view.html:163 -#: nutrition/templates/ingredient/view.html:202 +#: core/templates/user/preferences.html:50 gym/models/contract.py:203 +#: gym/templates/contract/view.html:41 gym/templates/gym/member_list.html:270 +#: manager/templates/schedule/view.html:257 +#: manager/templates/workout/view.html:177 +#: nutrition/templates/ingredient/view.html:206 msgid "Options" msgstr "Opcje" -#: core/templates/license/list.html:4 core/templates/misc/license/list.html:4 +#: core/templates/license/list.html:4 msgid "License list" msgstr "Lista licencji" -#: core/templates/license/list.html:26 core/templates/misc/license/list.html:30 -#: core/templates/repetition_unit/list.html:28 +#: core/templates/license/list.html:30 +#: core/templates/repetition_unit/list.html:32 #: core/templates/user/overview.html:104 core/templates/user/overview.html:136 -#: core/templates/user/overview.html:185 core/templates/user/overview.html:347 -#: core/templates/user/overview.html:383 core/templates/user/overview.html:427 -#: core/templates/weight_unit/list.html:28 -#: exercises/templates/categories/admin-overview.html:26 -#: exercises/templates/equipment/admin-overview.html:26 -#: exercises/templates/muscles/admin-overview.html:26 -#: gym/templates/admin_notes/list.html:52 gym/templates/contract/list.html:60 -#: gym/templates/contract_option/list.html:58 -#: gym/templates/contract_type/list.html:58 gym/templates/document/list.html:64 -#: gym/templates/gym/list.html:29 gym/templates/gym/member_list.html:229 -#: gym/templates/gym/member_list.html:262 -#: gym/templates/gym/member_list.html:299 +#: core/templates/user/overview.html:185 core/templates/user/overview.html:365 +#: core/templates/user/overview.html:404 core/templates/user/overview.html:448 +#: core/templates/weight_unit/list.html:32 +#: exercises/templates/categories/admin-overview.html:30 +#: exercises/templates/equipment/admin-overview.html:30 +#: exercises/templates/muscles/admin-overview.html:29 +#: gym/templates/admin_notes/list.html:50 gym/templates/contract/list.html:57 +#: gym/templates/contract_option/list.html:52 +#: gym/templates/contract_type/list.html:53 gym/templates/document/list.html:64 +#: gym/templates/gym/list.html:32 gym/templates/gym/member_list.html:248 +#: gym/templates/gym/member_list.html:284 +#: gym/templates/gym/member_list.html:321 #: mailer/templates/mailer/gym/overview.html:30 -#: manager/templates/calendar/day.html:87 -#: nutrition/templates/units/list.html:29 +#: manager/templates/calendar/day.html:88 +#: nutrition/templates/units/list.html:34 msgid "Nothing found" msgstr "Nic nie znaleziono" -#: core/templates/misc/about.html:4 core/templates/template.html:175 +#: core/templates/misc/about.html:4 core/templates/template.html:187 msgid "Imprint" msgstr "Odcisk" -#: core/templates/misc/license/list.html:47 -msgid "" -"If a license has been localized, e.g. the Creative Commons\n" -" licenses for the different countries, add them as separate " -"entries here." -msgstr "" -"Jeżeli licencje zostały przetłumaczone, np. licencja Creative Commons\n" -" dla różnych krajów, dodaj je tutaj jako osobne wpisy." - #: core/templates/navigation.html:28 software/templates/features.html:437 msgid "Training" msgstr "Trening" @@ -694,8 +684,8 @@ msgstr "Publiczne szablony" msgid "Exercises" msgstr "Ćwiczenia" -#: core/templates/navigation.html:111 core/templates/navigation.html:184 -#: core/templates/navigation.html:340 +#: core/templates/navigation.html:111 core/templates/navigation.html:185 +#: core/templates/navigation.html:339 msgid "Administration" msgstr "Zarządzanie" @@ -724,7 +714,7 @@ msgstr "Żywienie" msgid "Nutrition plans" msgstr "Plany żywienia" -#: core/templates/navigation.html:165 nutrition/templates/bmi/form.html:50 +#: core/templates/navigation.html:165 msgid "BMI calculator" msgstr "Kalkulator BMI" @@ -732,87 +722,87 @@ msgstr "Kalkulator BMI" msgid "Daily calories calculator" msgstr "Kalkulator dziennych kalorii" -#: core/templates/navigation.html:179 +#: core/templates/navigation.html:180 #: nutrition/templates/ingredient/overview.html:10 msgid "Ingredient overview" msgstr "Rozpiska składników" -#: core/templates/navigation.html:187 nutrition/templates/units/list.html:6 +#: core/templates/navigation.html:189 nutrition/templates/units/list.html:6 msgid "Ingredient weight units" msgstr "Jednostka wagowa składników" -#: core/templates/navigation.html:203 software/templates/features.html:442 +#: core/templates/navigation.html:205 software/templates/features.html:442 msgid "Body weight" msgstr "Waga ciała" -#: core/templates/navigation.html:210 core/templates/user/overview.html:114 +#: core/templates/navigation.html:212 core/templates/user/overview.html:114 msgid "Weight overview" msgstr "Wykres masy ciała" -#: core/templates/navigation.html:217 weight/views.py:65 +#: core/templates/navigation.html:216 weight/views.py:65 msgid "Add weight entry" msgstr "Dodaj aktualną wagę" -#: core/templates/navigation.html:231 +#: core/templates/navigation.html:230 msgid "About this software" msgstr "O tym programie" -#: core/templates/navigation.html:237 software/templates/about_us.html:5 +#: core/templates/navigation.html:236 software/templates/about_us.html:5 msgid "About us" msgstr "O nas" -#: core/templates/navigation.html:243 software/templates/features.html:507 +#: core/templates/navigation.html:242 software/templates/features.html:507 msgid "REST API" msgstr "REST API" -#: core/templates/navigation.html:249 utils/models.py:45 +#: core/templates/navigation.html:248 utils/models.py:45 msgid "License" msgstr "Licencja" -#: core/templates/navigation.html:255 +#: core/templates/navigation.html:254 msgid "Developer documentation" msgstr "Dokumentacja" -#: core/templates/navigation.html:262 +#: core/templates/navigation.html:261 msgid "Get the code" msgstr "Pobierz kod źródłowy" -#: core/templates/navigation.html:269 core/templates/template.html:214 +#: core/templates/navigation.html:268 core/templates/template.html:226 #: software/templates/features.html:582 msgid "Translate" msgstr "Tłumacz" -#: core/templates/navigation.html:303 core/templates/user/login.html:28 +#: core/templates/navigation.html:302 core/templates/user/login.html:28 msgid "Reset password" msgstr "Resetuj hasło" -#: core/templates/navigation.html:321 +#: core/templates/navigation.html:320 msgid "My preferences" msgstr "Moje preferencje" -#: core/templates/navigation.html:330 +#: core/templates/navigation.html:329 msgid "Logout" msgstr "Wyloguj" -#: core/templates/navigation.html:353 +#: core/templates/navigation.html:352 msgid "Licenses" msgstr "Licencje" -#: core/templates/navigation.html:361 +#: core/templates/navigation.html:360 #: core/templates/repetition_unit/list.html:4 msgid "Repetition units" msgstr "Jednostki potwórzeń" -#: core/templates/navigation.html:369 core/templates/weight_unit/list.html:4 +#: core/templates/navigation.html:368 core/templates/weight_unit/list.html:4 #: nutrition/templates/ingredient/view.html:141 msgid "Weight units" msgstr "Jednostki wagi" -#: core/templates/navigation.html:377 core/templates/user/list.html:4 +#: core/templates/navigation.html:376 core/templates/user/list.html:4 msgid "User list" msgstr "Lista użytkowników" -#: core/templates/navigation.html:383 +#: core/templates/navigation.html:382 msgid "Gyms" msgstr "Siłownie" @@ -875,57 +865,32 @@ msgstr "poprzednie" msgid "next" msgstr "następne" -#: core/templates/tags/render_day.html:34 -msgid "Add weight log" -msgstr "Dodaj wpis dot. wagi" - -#: core/templates/tags/render_day.html:116 -msgid "Placeholder image for exercise" +#: core/templates/tags/render_day.html:44 +#, fuzzy +#| msgid "Placeholder image for exercise" +msgid "Placeholder image for translation" msgstr "Zapychacz obrazka dla ćwiczenia" -#: core/templates/tags/render_day.html:133 -msgid "This exercise has no repetitions." -msgstr "To ćwiczenie nie ma powtórzeń." - -#: core/templates/tags/render_day.html:136 -msgid "Edit them now." -msgstr "Edytuj je teraz." - -#: core/templates/tags/render_day.html:162 -msgid "Add exercises to this workout day" -msgstr "Dodaj ćwiczenia do tego dnia treningowego" - -#: core/templates/tags/render_weight_log.html:17 manager/helpers.py:86 -#: manager/models/setting.py:72 manager/templates/set/formset.html:9 -msgid "Reps" -msgstr "Powtórzenia" - -#: core/templates/tags/render_weight_log.html:30 manager/forms.py:191 -#: manager/models/log.py:103 manager/models/setting.py:102 -#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 -msgid "RiR" -msgstr "Liczba powtórzeń w rezerwie" - -#: core/templates/template.html:122 manager/templates/calendar/month.html:138 -#: manager/templates/schedule/view.html:248 -#: manager/templates/schedule/view.html:269 -#: manager/templates/workout/view.html:84 -#: manager/templates/workout/view.html:137 +#: core/templates/template.html:123 manager/templates/calendar/month.html:138 +#: manager/templates/schedule/view.html:215 +#: manager/templates/schedule/view.html:240 +#: manager/templates/workout/view.html:89 +#: manager/templates/workout/view.html:149 msgid "Close" msgstr "Zamknij" -#: core/templates/template.html:138 +#: core/templates/template.html:139 msgid "" "You are using a guest account, data entered will be deleted after a week." msgstr "" "Korzystasz z konta gościa, dane wpisane w tym trybie będą skasowane po " "tygodniu." -#: core/templates/template.html:143 +#: core/templates/template.html:144 msgid "Create some demo entries" msgstr "Utwórz kilka przykładowych wpisów" -#: core/templates/template.html:180 software/templates/features.html:547 +#: core/templates/template.html:192 software/templates/features.html:547 #: software/templates/tos.html:7 msgid "Terms of service" msgstr "Warunki świadczenia usługi" @@ -934,7 +899,7 @@ msgstr "Warunki świadczenia usługi" msgid "Features" msgstr "Cechy" -#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:54 +#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:59 msgid "API key" msgstr "Klucz API" @@ -978,17 +943,17 @@ msgstr "Generuj nowy klucz API" msgid "Documentation" msgstr "Dokumentacja" -#: core/templates/user/delete_account.html:4 -#: core/templates/user/preferences.html:59 +#: core/templates/user/delete_account.html:3 +#: core/templates/user/preferences.html:62 msgid "Delete account" msgstr "Usuń konto" -#: core/templates/user/delete_account.html:17 +#: core/templates/user/delete_account.html:9 #: exercises/templates/history/overview.html:93 msgid "Are you sure?" msgstr "Czy na pewno?" -#: core/templates/user/delete_account.html:22 +#: core/templates/user/delete_account.html:14 #, python-format msgid "" "This action will delete the user account \"%(username)s\".\n" @@ -1010,22 +975,22 @@ msgstr "Zapomniałeś hasła?" #: core/templates/user/overview.html:25 core/templates/user/overview.html:68 #: core/templates/user/overview.html:112 core/templates/user/overview.html:144 -#: core/templates/user/overview.html:330 core/templates/user/overview.html:369 -#: core/templates/user/overview.html:405 +#: core/templates/user/overview.html:348 core/templates/user/overview.html:390 +#: core/templates/user/overview.html:426 #, python-format msgid "last %(number)s" msgstr "ostatnie %(number)s" #: core/templates/user/overview.html:27 core/templates/user/overview.html:146 -#: core/templates/user/overview.html:325 core/templates/user/overview.html:364 -#: core/templates/user/overview.html:400 gym/templates/gym/member_list.html:210 -#: gym/templates/gym/member_list.html:243 -#: gym/templates/gym/member_list.html:280 +#: core/templates/user/overview.html:343 core/templates/user/overview.html:382 +#: core/templates/user/overview.html:421 gym/templates/gym/member_list.html:226 +#: gym/templates/gym/member_list.html:262 +#: gym/templates/gym/member_list.html:302 msgid "Overview" msgstr "Podsumowanie" #: core/templates/user/overview.html:28 -#: manager/templates/schedule/view.html:163 +#: manager/templates/schedule/view.html:125 #: manager/templates/workout/overview.html:39 manager/views/schedule_step.py:60 msgid "Add workout" msgstr "Dodaj trening" @@ -1057,38 +1022,36 @@ msgstr "Opis" msgid "Number of logs (days)" msgstr "Liczba logów (dni)" -#: core/templates/user/overview.html:37 core/views/user.py:600 +#: core/templates/user/overview.html:37 core/views/user.py:599 #: gym/templates/gym/email_inactive_members.html:4 gym/views/gym.py:158 msgid "Last activity" msgstr "Ostatnia aktywność" #: core/templates/user/overview.html:58 #: manager/templates/calendar/month.html:128 -#: manager/templates/schedule/view.html:144 #: manager/templates/workout/overview.html:28 msgid "No workouts found." msgstr "Nie znaleziono treningu." #: core/templates/user/overview.html:68 manager/forms.py:280 -#: manager/templates/workout/view.html:106 +#: manager/templates/workout/view.html:114 msgid "Log" msgstr "Log" #: core/templates/user/overview.html:77 manager/models/session.py:83 -#: manager/templates/calendar/partial_overview_table.html:52 +#: manager/templates/calendar/partial_overview_table.html:54 msgid "General impression" msgstr "Ogólna ocena" -#: core/templates/user/overview.html:78 core/templates/user/overview.html:369 +#: core/templates/user/overview.html:78 core/templates/user/overview.html:390 #: manager/models/session.py:73 -#: manager/templates/calendar/partial_overview_table.html:56 -#: manager/templates/workout/log.html:89 +#: manager/templates/calendar/partial_overview_table.html:58 msgid "Notes" msgstr "Notatki" #: core/templates/user/overview.html:79 #: exercises/templates/history/overview.html:30 -#: manager/templates/calendar/partial_overview_table.html:42 +#: manager/templates/calendar/partial_overview_table.html:44 msgid "Time" msgstr "Czas" @@ -1126,123 +1089,123 @@ msgstr "Tłuszcz" msgid "kcal" msgstr "kcal" -#: core/templates/user/overview.html:201 core/templates/user/overview.html:322 -#: core/templates/user/overview.html:361 core/templates/user/overview.html:397 -#: core/templates/user/overview.html:442 gym/templates/gym/list.html:42 -#: gym/templates/gym/member_list.html:84 gym/templates/gym/member_list.html:137 -#: gym/templates/gym/member_list.html:173 -#: gym/templates/gym/member_list.html:207 -#: gym/templates/gym/member_list.html:240 -#: gym/templates/gym/member_list.html:277 -#: manager/templates/schedule/view.html:100 +#: core/templates/user/overview.html:201 core/templates/user/overview.html:340 +#: core/templates/user/overview.html:379 core/templates/user/overview.html:418 +#: core/templates/user/overview.html:463 gym/templates/gym/list.html:45 +#: gym/templates/gym/member_list.html:91 gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:187 +#: gym/templates/gym/member_list.html:223 +#: gym/templates/gym/member_list.html:259 +#: gym/templates/gym/member_list.html:299 +#: manager/templates/schedule/view.html:54 msgid "Actions" msgstr "Akcje" -#: core/templates/user/overview.html:207 +#: core/templates/user/overview.html:210 msgid "Deactivate user" msgstr "Deaktywuj użytkownika" -#: core/templates/user/overview.html:209 +#: core/templates/user/overview.html:214 msgid "Activate user" msgstr "Aktywuj użytkownika" -#: core/templates/user/overview.html:211 +#: core/templates/user/overview.html:223 msgid "Reset user password" msgstr "Resetuj hasło użytkownika" -#: core/templates/user/overview.html:214 gym/templates/gym/member_list.html:30 +#: core/templates/user/overview.html:227 gym/templates/gym/member_list.html:30 msgid "Roles" msgstr "Role" -#: core/templates/user/overview.html:225 +#: core/templates/user/overview.html:243 msgid "Password reset confirmation" msgstr "Potwierdzenie resetu hasła" -#: core/templates/user/overview.html:229 +#: core/templates/user/overview.html:247 msgid "Do you really want to change this user's password?" msgstr "Czy naprawdę chcesz zmienić hasło tego użytkownika?" -#: core/templates/user/overview.html:232 +#: core/templates/user/overview.html:250 #: exercises/templates/history/overview.html:106 msgid "No" msgstr "Nie" -#: core/templates/user/overview.html:233 +#: core/templates/user/overview.html:251 #: exercises/templates/history/overview.html:99 msgid "Yes" msgstr "Tak" -#: core/templates/user/overview.html:254 gym/templates/gym/member_list.html:93 +#: core/templates/user/overview.html:272 gym/templates/gym/member_list.html:105 msgid "Details" msgstr "Szczegóły" -#: core/templates/user/overview.html:258 gym/views/export.py:57 -#: manager/helpers.py:86 manager/templates/schedule/view.html:98 +#: core/templates/user/overview.html:276 gym/views/export.py:57 +#: manager/helpers.py:86 manager/templates/schedule/view.html:52 msgid "Nr." msgstr "Nr." -#: core/templates/user/overview.html:280 gym/models/contract.py:287 +#: core/templates/user/overview.html:298 gym/models/contract.py:287 #: gym/models/gym.py:50 gym/templates/contract/view.html:75 -#: gym/templates/gym/member_list.html:100 gym/views/export.py:68 +#: gym/templates/gym/member_list.html:112 gym/views/export.py:68 msgid "Phone" msgstr "Telefon" -#: core/templates/user/overview.html:284 gym/templates/contract/view.html:87 -#: gym/templates/gym/member_list.html:118 +#: core/templates/user/overview.html:302 gym/templates/contract/view.html:87 +#: gym/templates/gym/member_list.html:130 msgid "Address" msgstr "Adres" -#: core/templates/user/overview.html:295 +#: core/templates/user/overview.html:313 msgid "Registered" msgstr "Zarejestrowano" -#: core/templates/user/overview.html:299 +#: core/templates/user/overview.html:317 msgid "Last login" msgstr "Zalogowany ostatnio" -#: core/templates/user/overview.html:304 +#: core/templates/user/overview.html:322 msgid "Status" msgstr "Status" -#: core/templates/user/overview.html:307 +#: core/templates/user/overview.html:325 msgid "Active" msgstr "Aktywny" -#: core/templates/user/overview.html:309 +#: core/templates/user/overview.html:327 msgid "Inactive" msgstr "Nieaktywny" -#: core/templates/user/overview.html:330 gym/templates/contract/list.html:4 -#: gym/templates/gym/member_list.html:202 +#: core/templates/user/overview.html:348 gym/templates/contract/list.html:4 +#: gym/templates/gym/member_list.html:218 msgid "Contracts" msgstr "Kontrakty" -#: core/templates/user/overview.html:405 gym/templates/document/list.html:4 +#: core/templates/user/overview.html:426 gym/templates/document/list.html:4 msgid "Documents" msgstr "Dokumenty" -#: core/templates/user/overview.html:412 gym/templates/document/list.html:32 -#: manager/forms.py:292 manager/templates/workout/view.html:132 +#: core/templates/user/overview.html:433 gym/templates/document/list.html:33 +#: manager/forms.py:292 manager/templates/workout/view.html:143 msgid "Download" msgstr "Pobierz" -#: core/templates/user/overview.html:450 gym/views/admin_config.py:44 +#: core/templates/user/overview.html:474 gym/views/admin_config.py:44 #: gym/views/admin_config.py:58 gym/views/user_config.py:46 msgid "Configuration" msgstr "Konfiguracja" -#: core/templates/user/overview.html:453 gym/models/user_config.py:92 +#: core/templates/user/overview.html:477 gym/models/user_config.py:92 msgid "Include in inactive overview" msgstr "Uwzględnij w podglądzie nieaktywnych" -#: core/templates/user/overview.html:486 +#: core/templates/user/overview.html:510 #, python-format msgid "Admin login is only available for users in %(gym_name)s" msgstr "" "Logowanie jako administrator dostępne jest tylko dla użytkowników w " "%(gym_name)s" -#: core/templates/user/overview.html:490 +#: core/templates/user/overview.html:514 msgid "Log in as this user" msgstr "Zaloguj się jako ten użytkownik" @@ -1262,19 +1225,19 @@ msgstr "Niezweryfikowany adres e-mail" msgid "Send verification email" msgstr "Wyślij email weryfikacyjny" -#: core/templates/user/preferences.html:30 +#: core/templates/user/preferences.html:31 msgid "You need to verify your email to contribute exercises" msgstr "Aby przesyłać ćwiczenia, musisz zweryfikować swój adres e-mail" -#: core/templates/user/preferences.html:50 core/views/user.py:611 +#: core/templates/user/preferences.html:55 core/views/user.py:610 msgid "Change password" msgstr "Zmień hasło" -#: core/templatetags/wger_extras.py:205 i18n.tpl:37 +#: core/templatetags/wger_extras.py:197 i18n.tpl:37 msgid "kg" msgstr "kg" -#: core/templatetags/wger_extras.py:207 +#: core/templatetags/wger_extras.py:199 #: nutrition/templates/ingredient/view.html:60 #: nutrition/templates/ingredient/view.html:66 #: nutrition/templates/ingredient/view.html:73 @@ -1286,11 +1249,11 @@ msgctxt "weight unit, i.e. grams" msgid "g" msgstr "g" -#: core/templatetags/wger_extras.py:210 i18n.tpl:38 +#: core/templatetags/wger_extras.py:202 i18n.tpl:38 msgid "lb" msgstr "lb" -#: core/templatetags/wger_extras.py:212 +#: core/templatetags/wger_extras.py:204 msgctxt "weight unit, i.e. ounces" msgid "oz" msgstr "oz" @@ -1317,13 +1280,13 @@ msgid "Delete {0}?" msgstr "Usunąć {0}?" #: core/views/languages.py:111 core/views/license.py:85 -#: core/views/repetition_units.py:86 core/views/user.py:474 +#: core/views/repetition_units.py:86 core/views/user.py:473 #: core/views/weight_units.py:86 exercises/views/categories.py:98 #: exercises/views/equipment.py:81 exercises/views/muscles.py:87 #: gym/views/admin_notes.py:161 gym/views/config.py:68 #: gym/views/contract.py:186 gym/views/contract_option.py:123 #: gym/views/contract_type.py:123 gym/views/document.py:171 -#: gym/views/gym.py:463 manager/views/day.py:100 manager/views/schedule.py:333 +#: gym/views/gym.py:463 manager/views/day.py:96 manager/views/schedule.py:333 #: manager/views/workout.py:267 nutrition/views/ingredient.py:145 #: nutrition/views/unit.py:143 #, python-brace-format @@ -1352,48 +1315,48 @@ msgstr "Zapisz" msgid "Your feedback was successfully sent. Thank you!" msgstr "Twoja opinia została poprawnie wysłana. Dziękujemy!" -#: core/views/user.py:156 +#: core/views/user.py:155 #, python-brace-format msgid "Account \"{0}\" was successfully deleted" msgstr "Konto \"{0}\" zostało poprawnie skasowane" -#: core/views/user.py:292 +#: core/views/user.py:291 msgid "You were successfully registered" msgstr "Zostałeś poprawnie zarejestrowany" -#: core/views/user.py:351 +#: core/views/user.py:350 msgid "Settings successfully updated" msgstr "Ustawienia pomyślnie zaktualizowane" -#: core/views/user.py:390 +#: core/views/user.py:389 msgid "The user was successfully deactivated" msgstr "Użytkownik pomyślnie zdezaktywowany" -#: core/views/user.py:427 +#: core/views/user.py:426 msgid "The user was successfully activated" msgstr "Użytkownik pomyślnie aktywowany" -#: core/views/user.py:442 +#: core/views/user.py:441 msgid "Edit user" msgstr "Edytuj użytkownika" -#: core/views/user.py:597 gym/templates/gym/member_list.html:26 +#: core/views/user.py:596 gym/templates/gym/member_list.html:26 #: gym/views/gym.py:158 msgid "ID" msgstr "ID" -#: core/views/user.py:598 gym/forms.py:95 gym/templates/contract/view.html:55 +#: core/views/user.py:597 gym/forms.py:95 gym/templates/contract/view.html:55 #: gym/templates/gym/member_list.html:27 gym/views/export.py:59 #: gym/views/gym.py:158 gym/views/gym.py:217 msgid "Username" msgstr "Nazwa użytkownika" -#: core/views/user.py:601 gym/templates/gym/new_user.html:34 +#: core/views/user.py:600 gym/templates/gym/new_user.html:34 #: gym/views/export.py:58 gym/views/gym.py:217 msgid "Gym" msgstr "Siłownia" -#: core/views/user.py:660 +#: core/views/user.py:659 #, python-format msgid "A verification email was sent to %(email)s" msgstr "E-mail weryfikacyjny został wysłany na adres %(email)s" @@ -1546,11 +1509,6 @@ msgstr "Kod, długa nazwa" msgid "Equipment list" msgstr "Lista sprzętu" -#: exercises/templates/equipment/admin-overview.html:39 -#: exercises/views/equipment.py:92 -msgid "Add new equipment" -msgstr "Dodaj nowy sprzęt" - #: exercises/templates/history/overview.html:11 msgid "Exercise admin history" msgstr "Historia administratora ćwiczeń" @@ -1598,11 +1556,6 @@ msgstr "Przywróć zmiany" msgid "Muscle overview" msgstr "Rozpiska mieśni" -#: exercises/templates/muscles/admin-overview.html:38 -#: exercises/views/muscles.py:68 -msgid "Add muscle" -msgstr "Dodaj mięsień" - #: exercises/views/categories.py:72 msgid "Add category" msgstr "Dodaj kategorię" @@ -1611,6 +1564,10 @@ msgstr "Dodaj kategorię" msgid "This will also delete all exercises in this category." msgstr "To również usunie ćwiczenia w tej kategorii." +#: exercises/views/equipment.py:92 +msgid "Add new equipment" +msgstr "Dodaj nowy sprzęt" + #: exercises/views/equipment.py:104 exercises/views/equipment.py:115 msgid "Delete equipment?" msgstr "Usunąć sprzęt?" @@ -1619,6 +1576,10 @@ msgstr "Usunąć sprzęt?" msgid "This will delete the exercise from all workouts." msgstr "To usunie ćwiczenie ze wszystkich treningów." +#: exercises/views/muscles.py:68 +msgid "Add muscle" +msgstr "Dodaj mięsień" + #: gallery/templates/images/overview.html:62 msgid "Add image" msgstr "Dodaj obraz" @@ -1704,7 +1665,7 @@ msgid "Contract is active" msgstr "Kontrakt jest aktywny" #: gym/models/contract.py:237 gym/templates/contract/view.html:69 -#: manager/models/schedule.py:61 manager/templates/schedule/view.html:67 +#: manager/models/schedule.py:61 manager/templates/schedule/view.html:21 msgid "Start date" msgstr "Data rozpoczęcia" @@ -1740,7 +1701,7 @@ msgstr "Zarządca: może zarządzać członkami siłowni" msgid "Admin: can administrate the different gyms" msgstr "Zarządca: może zarządzać innymi siłowniami" -#: gym/models/gym.py:65 gym/templates/gym/member_list.html:114 +#: gym/models/gym.py:65 gym/templates/gym/member_list.html:126 msgid "Owner" msgstr "Właściciel" @@ -1752,7 +1713,7 @@ msgstr "" "Ilość tygodni od ostatniego zalogowania, po których użytkownik jest uznawany " "za nieaktywnego" -#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:152 +#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:166 msgid "Show name in header" msgstr "Pokaż imię w nagłówku" @@ -1765,7 +1726,7 @@ msgstr "Pokaż nazwę sali treningowej w nagłówku strony" msgid "Configuration for {self.gym.name}" msgstr "Konfiguracja dla {self.gym.name}" -#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:184 +#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:200 msgid "Overview of inactive members" msgstr "Rozpiska nieaktywnych członków" @@ -1789,7 +1750,7 @@ msgstr "Użyje nazwy pliku jeżeli nic nie zostanie wpisane" msgid "User notes" msgstr "Notatki użytkownika" -#: gym/templates/contract/list.html:36 +#: gym/templates/contract/list.html:34 msgid "Show" msgstr "Pokaż" @@ -1816,11 +1777,11 @@ msgstr "" msgid "Gym list" msgstr "Lista siłowni" -#: gym/templates/gym/list.html:50 +#: gym/templates/gym/list.html:53 msgid "Global gym configuration" msgstr "Globalna konfiguracja siłowni" -#: gym/templates/gym/list.html:67 gym/views/gym.py:171 +#: gym/templates/gym/list.html:69 gym/views/gym.py:171 msgid "Add new gym" msgstr "Dodaj nową siłownię" @@ -1832,43 +1793,43 @@ msgstr "Zarządcy i trenerzy" msgid "Gym manager" msgstr "Menadżer siłowni" -#: gym/templates/gym/member_list.html:69 +#: gym/templates/gym/member_list.html:76 msgid "This gym has no administrators or trainers" msgstr "Ta siłownia nie ma żadnych zarządcow ani trenerów" -#: gym/templates/gym/member_list.html:88 +#: gym/templates/gym/member_list.html:98 msgid "Export" msgstr "Eksportuj" -#: gym/templates/gym/member_list.html:125 +#: gym/templates/gym/member_list.html:137 msgid "Members" msgstr "Członkowie" -#: gym/templates/gym/member_list.html:145 +#: gym/templates/gym/member_list.html:159 msgid "Gym configuration" msgstr "Konfiguracja siłowni" -#: gym/templates/gym/member_list.html:148 +#: gym/templates/gym/member_list.html:162 msgid "Inactive members" msgstr "Nieaktywni członkowie" -#: gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:163 msgid "weeks" msgstr "tygodnie" -#: gym/templates/gym/member_list.html:181 +#: gym/templates/gym/member_list.html:197 msgid "My configuration" msgstr "Moja konfiguracja" -#: gym/templates/gym/member_list.html:215 +#: gym/templates/gym/member_list.html:234 msgid "Types" msgstr "Typy" -#: gym/templates/gym/member_list.html:285 +#: gym/templates/gym/member_list.html:307 msgid "Emails" msgstr "Emaile" -#: gym/templates/gym/member_list.html:315 +#: gym/templates/gym/member_list.html:336 msgid "Add member" msgstr "Dodaj członka" @@ -2162,28 +2123,38 @@ msgstr "Szukaj również w języku angielskim" msgid "Unit" msgstr "Jednostka" +#: manager/forms.py:191 manager/models/log.py:103 manager/models/setting.py:102 +#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 +msgid "RiR" +msgstr "Liczba powtórzeń w rezerwie" + #: manager/forms.py:279 msgid "Type" msgstr "Typ" -#: manager/forms.py:280 manager/templates/workout/view.html:113 +#: manager/forms.py:280 manager/templates/workout/view.html:122 msgid "Table" msgstr "Tabela" -#: manager/forms.py:282 manager/templates/workout/view.html:119 +#: manager/forms.py:282 manager/templates/workout/view.html:129 msgid "with images" msgstr "z obrazami" -#: manager/forms.py:283 manager/templates/workout/view.html:125 +#: manager/forms.py:283 manager/templates/workout/view.html:136 msgid "with comments" msgstr "z komentarzami" +#: manager/helpers.py:86 manager/models/setting.py:72 +#: manager/templates/set/formset.html:9 +msgid "Reps" +msgstr "Powtórzenia" + #: manager/management/commands/email-reminders.py:121 msgid "Workout will expire soon" msgstr "Trening wkrótce wygaśnie" #: manager/models/day.py:34 manager/models/log.py:58 -#: manager/models/session.py:60 manager/templates/schedule/view.html:102 +#: manager/models/session.py:60 manager/templates/schedule/view.html:56 #: manager/templates/workout/view.html:9 manager/templates/workout/view.html:17 #: manager/views/pdf.py:85 manager/views/pdf.py:161 #: manager/views/schedule.py:151 manager/views/schedule.py:221 @@ -2206,7 +2177,7 @@ msgstr "Dzień" msgid "Name or short description of the schedule. For example 'Program XYZ'." msgstr "Nazwa bądź krótki opis harmonogramu. Przykładowo \"Program XYZ\"." -#: manager/models/schedule.py:65 manager/templates/schedule/view.html:71 +#: manager/models/schedule.py:65 manager/templates/schedule/view.html:25 msgid "Schedule active" msgstr "Aktywny harmonogram" @@ -2220,7 +2191,7 @@ msgstr "" "odzwierciedlone w kokpicie). Inne harmonogramy zostaną oznaczone jako " "nieaktywne" -#: manager/models/schedule.py:77 manager/templates/schedule/view.html:81 +#: manager/models/schedule.py:77 manager/templates/schedule/view.html:35 msgid "Is a loop" msgstr "Zapętlone" @@ -2240,7 +2211,7 @@ msgid "The duration in weeks" msgstr "Czas trwania w tygodniach" #: manager/models/schedule_step.py:64 manager/models/set.py:53 -#: manager/models/setting.py:113 nutrition/models/meal.py:55 +#: manager/models/setting.py:113 nutrition/models/meal.py:53 #: nutrition/models/meal_item.py:66 msgid "Order" msgstr "Kolejność" @@ -2380,7 +2351,7 @@ msgstr "Rozpiska logów" msgid "Workout session" msgstr "Sesja treningowa" -#: manager/templates/calendar/partial_overview_table.html:27 +#: manager/templates/calendar/partial_overview_table.html:26 msgid "Delete with logs" msgstr "Usuń z logami" @@ -2404,21 +2375,27 @@ msgstr "" "przypadku,\n" "trening będzie edytowany. Wartości ciężarów są zawsze dodawane." -#: manager/templates/schedule/overview.html:5 +#: manager/templates/schedule/overview.html:4 msgid "Your schedules" msgstr "Twoje harmonogramy" #: manager/templates/schedule/overview.html:19 -#: manager/templates/schedule/view.html:131 -#: manager/templates/schedule/view.html:183 +#: manager/templates/schedule/view.html:96 +#: manager/templates/schedule/view.html:146 #: manager/templates/workout/overview.html:16 msgid "active" msgstr "aktywny" -#: manager/templates/schedule/overview.html:28 +#: manager/templates/schedule/overview.html:27 msgid "No schedules found." msgstr "Nie znaleziono harmonogramów." +#: manager/templates/schedule/overview.html:28 +#, fuzzy +#| msgid "Add one now." +msgid "Add one now" +msgstr "Dodaj jeden teraz." + #: manager/templates/schedule/overview.html:36 msgid "" "Schedules are collections of workouts that you do in\n" @@ -2428,12 +2405,20 @@ msgstr "" " określonej kolejności." #: manager/templates/schedule/overview.html:39 +#, fuzzy +#| msgid "" +#| "You can indicate how long you want to do each workout\n" +#| " before jumping to the next. It is also possible to create a loop, " +#| "so you\n" +#| " always do the same workouts in succession, e.g. A > B > C > A > B " +#| "> C and so on." msgid "" "You can indicate how long you want to do each workout\n" " before jumping to the next. It is also possible to create a loop, so " "you\n" " always do the same workouts in succession, e.g. A > B > C > A > B > " -"C and so on." +"C and so\n" +" on." msgstr "" "Możesz ustalić jak długo chcesz wykonywać dany trening\n" " przed przejściem do następnego. Można także zapętlać " @@ -2441,7 +2426,7 @@ msgstr "" " będziesz mógł wykonywać te same treningi w danej kolejności, " "np. A > B > C > A > B > C itd." -#: manager/templates/schedule/overview.html:43 +#: manager/templates/schedule/overview.html:44 msgid "" "The currently active schedule will remain active (and be\n" " shown e.g. in your dashboard) till it reaches the last workout or " @@ -2461,7 +2446,7 @@ msgstr "Dodaj hamonogram" msgid "Schedule" msgstr "Harmonogram" -#: manager/templates/schedule/view.html:85 +#: manager/templates/schedule/view.html:39 msgid "" "This schedule is a loop and will go through the workouts above till you " "deactivate it" @@ -2469,19 +2454,15 @@ msgstr "" "Ten harmonogram jest zapętlony i będzie przechodził przez treningi aż do " "jego dezaktywacji" -#: manager/templates/schedule/view.html:103 +#: manager/templates/schedule/view.html:57 msgid "Weeks" msgstr "Tygodnie" -#: manager/templates/schedule/view.html:115 -msgid "Move me" -msgstr "Przesuń mnie" - -#: manager/templates/schedule/view.html:156 +#: manager/templates/schedule/view.html:121 msgid "Start schedule" msgstr "Rozpocznij harmonogram" -#: manager/templates/schedule/view.html:187 +#: manager/templates/schedule/view.html:150 #, python-format msgid "" "%(weeks)s Week\n" @@ -2502,11 +2483,11 @@ msgstr[3] "" "%(weeks)s tygodni\n" " " -#: manager/templates/schedule/view.html:221 +#: manager/templates/schedule/view.html:184 msgid "Adding workouts" msgstr "Dodawanie treningów" -#: manager/templates/schedule/view.html:223 +#: manager/templates/schedule/view.html:186 msgid "" "Add as many workouts to the schedule as you want. You can\n" " edit the order by dragging and dropping them. It's also possible " @@ -2518,48 +2499,48 @@ msgstr "" "dodać\n" " wielokrotnie." -#: manager/templates/schedule/view.html:232 -#: manager/templates/schedule/view.html:243 -#: manager/templates/schedule/view.html:290 +#: manager/templates/schedule/view.html:195 +#: manager/templates/schedule/view.html:209 +#: manager/templates/schedule/view.html:263 #: manager/templates/workout/view.html:69 -#: manager/templates/workout/view.html:79 -#: manager/templates/workout/view.html:178 +#: manager/templates/workout/view.html:83 +#: manager/templates/workout/view.html:192 msgid "Export calendar file" msgstr "Eksportuj plik kalendarza" -#: manager/templates/schedule/view.html:236 +#: manager/templates/schedule/view.html:201 msgid "Export this schedule as a calendar file." msgstr "Eksportuj ten harmonogram jako plik kalendarza." -#: manager/templates/schedule/view.html:237 -#: manager/templates/workout/view.html:74 +#: manager/templates/schedule/view.html:202 +#: manager/templates/workout/view.html:76 +#, fuzzy +#| msgid "" +#| "You can then import the file it into your calendar\n" +#| " application for example google calendar, outlook " +#| "or iCal. This will create\n" +#| " an appointment for each training day with the " +#| "appropriate exercises." msgid "" "You can then import the file it into your calendar\n" " application for example google calendar, outlook or " "iCal. This will create\n" " an appointment for each training day with the " -"appropriate exercises." +"appropriate\n" +" exercises." msgstr "" "Możesz później importować plik do swojego kalendarza,\n" " np. Google Calendar, Outlook albo iCal. To stworzy\n" " wydarzenie dla każdego treningu, z odpowiednimi " "ćwiczeniami." -#: manager/templates/schedule/view.html:258 -#: manager/templates/schedule/view.html:294 -#: manager/templates/workout/view.html:94 -#: manager/templates/workout/view.html:174 +#: manager/templates/schedule/view.html:225 +#: manager/templates/schedule/view.html:268 +#: manager/templates/workout/view.html:99 +#: manager/templates/workout/view.html:188 msgid "Download as PDF" msgstr "Pobierz jako PDF" -#: manager/templates/schedule/view.html:299 -msgid "Edit schedule" -msgstr "Edytuj harmonogram" - -#: manager/templates/schedule/view.html:304 -msgid "Delete schedule" -msgstr "Usuń harmonogram" - #: manager/templates/set/add.html:9 #, python-format msgid "Add exercises to day \"%(day_name)s\"" @@ -2638,57 +2619,6 @@ msgid "" msgstr "" "Zawsze będziesz widział te powiadomienia, dopóki nie wpiszesz aktualnej wagi." -#: manager/templates/workout/log.html:10 manager/templates/workout/log.html:11 -msgid "Weight log" -msgstr "Wartości ciężarów" - -#: manager/templates/workout/log.html:29 -msgid "Weight log for workout" -msgstr "Wartości ciężarów podczas treningu" - -#: manager/templates/workout/log.html:49 -msgid "Add weight log to this day" -msgstr "Dodaj wartości ciężarów do tego dnia" - -#: manager/templates/workout/log.html:69 -msgid "No weight entries here." -msgstr "Brak aktualnych wag." - -#: manager/templates/workout/log.html:77 -msgid "No exercises for this day." -msgstr "Brak ćwiczeń tego dnia." - -#: manager/templates/workout/log.html:90 -msgid "" -"This page shows the weight logs belonging to this workout\n" -"only. Click on an exercise to see all the historical data for\n" -"it." -msgstr "" -"Ta strona pokazuje wartości ciężarów przynależące tylko do tego treningu.\n" -"Kliknij na ćwiczenie, by zobaczyć jego\n" -"historię." - -#: manager/templates/workout/log.html:94 -msgid "" -"If on a single day there is more than one entry with the\n" -"same number of repetitions, but different weights, only the entry with the\n" -"higher weight is shown in the diagram." -msgstr "" -"Jeżeli danego dnia jest więcej niż jeden wpis z\n" -"taką samą liczbą powtórzeń, ale innymi ciężarami, tylko wpis z\n" -"większymi ciężarami będzie pokazywany na diagramie." - -#: manager/templates/workout/log.html:98 -msgid "" -"Note that only entries with a weight unit (kg or lb) and\n" -"repetitions are charted, other combinations such as time or until failure\n" -"are ignored here." -msgstr "" -"Pamiętaj, że tylko wpisy z wpisanym ciężarem (kilogramy lub funty) i\n" -"powtórzenia są pokazywane na wykresach, inne, takie jak długość trwania " -"ćwiczenia lub ćwiczenia wykonywane do porażki\n" -"są ignorowane." - #: manager/templates/workout/overview.html:25 msgid "No templates found." msgstr "Nie znaleziono szablonów." @@ -2725,27 +2655,23 @@ msgstr "Dodaj zestawy treningów do dni" msgid "Set the repetitions for each set" msgstr "Ustaw powtórzenia dla każdej serii" -#: manager/templates/workout/view.html:73 +#: manager/templates/workout/view.html:75 msgid "Export this workout as a calendar file." msgstr "Eksportuj trening jako plik kalendarza." -#: manager/templates/workout/view.html:144 +#: manager/templates/workout/view.html:156 msgid "Logs" msgstr "Wpisy" -#: manager/templates/workout/view.html:146 +#: manager/templates/workout/view.html:159 msgid "View logs" msgstr "Pokaż wpisy" -#: manager/templates/workout/view.html:169 manager/views/schedule_step.py:99 -msgid "Edit workout" -msgstr "Edytuj trening" - -#: manager/templates/workout/view.html:182 manager/views/workout.py:281 +#: manager/templates/workout/view.html:195 manager/views/workout.py:281 msgid "Mark as template" msgstr "Oznacz jako szablon" -#: manager/views/day.py:109 +#: manager/views/day.py:105 msgid "Add workout day" msgstr "Dodaj dzień treningowy" @@ -2762,6 +2688,10 @@ msgstr "Trening dla %s" msgid "Create schedule" msgstr "Utwórz harmonogram" +#: manager/views/schedule_step.py:99 +msgid "Edit workout" +msgstr "Edytuj trening" + #: manager/views/workout.py:209 msgid "Copy workout" msgstr "Kopiuj trening" @@ -2887,7 +2817,7 @@ msgstr "Ilość w gramach" msgid "Unit amount, e.g. \"1 Cup\" or \"1/2 spoon\"" msgstr "Jednostka ilości, np. \"1 kubek\" lub \"1/2 łyżki\"" -#: nutrition/models/log.py:52 nutrition/models/meal.py:50 +#: nutrition/models/log.py:52 nutrition/models/meal.py:48 #: nutrition/models/meal_item.py:48 nutrition/models/plan.py:108 msgid "Nutrition plan" msgstr "Plan żywienia" @@ -2900,11 +2830,11 @@ msgstr "Posiłek" msgid "Date and Time (Approx.)" msgstr "Data oraz czas (przybliżony)" -#: nutrition/models/meal.py:62 +#: nutrition/models/meal.py:60 msgid "Time (approx)" msgstr "Czas (przybliżony)" -#: nutrition/models/meal.py:69 +#: nutrition/models/meal.py:67 msgid "" "Give meals a textual description / name such as \"Breakfast\" or \"after " "workout\"" @@ -2928,63 +2858,6 @@ msgstr "" "Zaznacz, jeżeli chcesz, by ten plan żywieniowy miał określoną ilość kalorii. " "Możesz użyć kalkulatora albo wpisać wartość samodzielnie." -#: nutrition/templates/bmi/form.html:62 -msgid "Results" -msgstr "Wyniki" - -#: nutrition/templates/bmi/form.html:63 -msgid "Your BMI is: " -msgstr "Twoje BMI to: " - -#: nutrition/templates/bmi/form.html:71 -msgid "Legend" -msgstr "Legenda" - -#: nutrition/templates/bmi/form.html:75 -msgid "Adipositas III" -msgstr "Otyłość 3. stopnia" - -#: nutrition/templates/bmi/form.html:79 -msgid "Adipositas II" -msgstr "Otyłość 2. stopnia" - -#: nutrition/templates/bmi/form.html:83 -msgid "Adipositas I" -msgstr "Otyłość 1. stopnia" - -#: nutrition/templates/bmi/form.html:87 -msgid "Overweight" -msgstr "Nadwaga" - -#: nutrition/templates/bmi/form.html:91 -msgid "Normal weight" -msgstr "Waga w normie" - -#: nutrition/templates/bmi/form.html:95 -msgid "Slight underweight" -msgstr "Nieznaczna niedowaga" - -#: nutrition/templates/bmi/form.html:99 -msgid "Moderate underweight" -msgstr "Średnia niedowaga" - -#: nutrition/templates/bmi/form.html:103 -msgid "Strong underweight" -msgstr "Duża niedowaga" - -#: nutrition/templates/bmi/form.html:117 -msgid "" -"Use the form to calculate your BMI (Body Mass Index).\n" -"If you have entered data in the weight section, the last entry will\n" -"be used automatically. Otherwise the weight you enter here will be saved\n" -"in a new entry." -msgstr "" -"Użyj formularza by wyliczyć swoje BMI (Body Mass Index).\n" -"Jeżeli wpisałeś swoją aktualną wagę, ostatni wpis zostanie\n" -"wykorzystany automatycznie. W innym przypadku wpisana tutaj waga będzie " -"dodana\n" -"jako aktualna waga." - #: nutrition/templates/ingredient/email_new.tpl:1 #, python-format msgid "" @@ -3041,10 +2914,6 @@ msgstr "Brak składników." msgid "Search" msgstr "Szukaj" -#: nutrition/templates/ingredient/overview.html:62 -msgid "Add ingredient" -msgstr "Dodaj składnik" - #: nutrition/templates/ingredient/view.html:45 nutrition/views/plan.py:229 msgid "Macronutrients" msgstr "Makroelementy" @@ -3064,20 +2933,11 @@ msgstr "N/A" msgid "Others" msgstr "Inne" -#: nutrition/templates/ingredient/view.html:144 -#: nutrition/templates/units/list.html:46 nutrition/views/unit.py:86 +#: nutrition/templates/ingredient/view.html:143 +#: nutrition/templates/units/list.html:50 nutrition/views/unit.py:86 msgid "Add new weight unit" msgstr "Dodaj nową jednostkę wagi" -#: nutrition/templates/ingredient/view.html:206 -#: nutrition/templates/ingredient/view.html:209 -msgid "Edit ingredient" -msgstr "Edytuj składnik" - -#: nutrition/templates/ingredient/view.html:213 -msgid "Delete ingredient" -msgstr "Usuń składnik" - #: nutrition/templates/rate/form.html:25 msgid "Basal metabolic rate" msgstr "Podstawowy współczynnik metaboliczny" @@ -3165,18 +3025,6 @@ msgstr "" "swój organizm przez kilka tygodni i w razie potrzeby dostosuj odpowiednie " "wartości." -#: nutrition/views/bmi.py:89 -msgid "Please make sure your height is within the appropriate range." -msgstr "Upewnij się, że Twój wzrost mieści się w odpowiednim zakresie." - -#: nutrition/views/bmi.py:92 -msgid "140 to 230" -msgstr "140 do 230" - -#: nutrition/views/bmi.py:94 -msgid "56 to 90" -msgstr "56 do 90" - #: nutrition/views/ingredient.py:157 msgid "Add a new ingredient" msgstr "Dodaj nowy składnik" @@ -3723,6 +3571,144 @@ msgstr "Usunięto." msgid "Delete weight entry for the %s" msgstr "Usuń wpis wagi dla %s" +#~ msgid "Move me" +#~ msgstr "Przesuń mnie" + +#~ msgid "Results" +#~ msgstr "Wyniki" + +#~ msgid "Your BMI is: " +#~ msgstr "Twoje BMI to: " + +#~ msgid "Legend" +#~ msgstr "Legenda" + +#~ msgid "Adipositas III" +#~ msgstr "Otyłość 3. stopnia" + +#~ msgid "Adipositas II" +#~ msgstr "Otyłość 2. stopnia" + +#~ msgid "Adipositas I" +#~ msgstr "Otyłość 1. stopnia" + +#~ msgid "Overweight" +#~ msgstr "Nadwaga" + +#~ msgid "Normal weight" +#~ msgstr "Waga w normie" + +#~ msgid "Slight underweight" +#~ msgstr "Nieznaczna niedowaga" + +#~ msgid "Moderate underweight" +#~ msgstr "Średnia niedowaga" + +#~ msgid "Strong underweight" +#~ msgstr "Duża niedowaga" + +#~ msgid "" +#~ "Use the form to calculate your BMI (Body Mass Index).\n" +#~ "If you have entered data in the weight section, the last entry will\n" +#~ "be used automatically. Otherwise the weight you enter here will be saved\n" +#~ "in a new entry." +#~ msgstr "" +#~ "Użyj formularza by wyliczyć swoje BMI (Body Mass Index).\n" +#~ "Jeżeli wpisałeś swoją aktualną wagę, ostatni wpis zostanie\n" +#~ "wykorzystany automatycznie. W innym przypadku wpisana tutaj waga będzie " +#~ "dodana\n" +#~ "jako aktualna waga." + +#~ msgid "Please make sure your height is within the appropriate range." +#~ msgstr "Upewnij się, że Twój wzrost mieści się w odpowiednim zakresie." + +#~ msgid "140 to 230" +#~ msgstr "140 do 230" + +#~ msgid "56 to 90" +#~ msgstr "56 do 90" + +#~ msgid "" +#~ "If a license has been localized, e.g. the Creative Commons\n" +#~ " licenses for the different countries, add them as separate " +#~ "entries here." +#~ msgstr "" +#~ "Jeżeli licencje zostały przetłumaczone, np. licencja Creative Commons\n" +#~ " dla różnych krajów, dodaj je tutaj jako osobne wpisy." + +#~ msgid "Add weight log" +#~ msgstr "Dodaj wpis dot. wagi" + +#~ msgid "This exercise has no repetitions." +#~ msgstr "To ćwiczenie nie ma powtórzeń." + +#~ msgid "Edit them now." +#~ msgstr "Edytuj je teraz." + +#~ msgid "Add exercises to this workout day" +#~ msgstr "Dodaj ćwiczenia do tego dnia treningowego" + +#~ msgid "Edit schedule" +#~ msgstr "Edytuj harmonogram" + +#~ msgid "Delete schedule" +#~ msgstr "Usuń harmonogram" + +#~ msgid "Weight log" +#~ msgstr "Wartości ciężarów" + +#~ msgid "Weight log for workout" +#~ msgstr "Wartości ciężarów podczas treningu" + +#~ msgid "Add weight log to this day" +#~ msgstr "Dodaj wartości ciężarów do tego dnia" + +#~ msgid "No weight entries here." +#~ msgstr "Brak aktualnych wag." + +#~ msgid "No exercises for this day." +#~ msgstr "Brak ćwiczeń tego dnia." + +#~ msgid "" +#~ "This page shows the weight logs belonging to this workout\n" +#~ "only. Click on an exercise to see all the historical data for\n" +#~ "it." +#~ msgstr "" +#~ "Ta strona pokazuje wartości ciężarów przynależące tylko do tego " +#~ "treningu.\n" +#~ "Kliknij na ćwiczenie, by zobaczyć jego\n" +#~ "historię." + +#~ msgid "" +#~ "If on a single day there is more than one entry with the\n" +#~ "same number of repetitions, but different weights, only the entry with " +#~ "the\n" +#~ "higher weight is shown in the diagram." +#~ msgstr "" +#~ "Jeżeli danego dnia jest więcej niż jeden wpis z\n" +#~ "taką samą liczbą powtórzeń, ale innymi ciężarami, tylko wpis z\n" +#~ "większymi ciężarami będzie pokazywany na diagramie." + +#~ msgid "" +#~ "Note that only entries with a weight unit (kg or lb) and\n" +#~ "repetitions are charted, other combinations such as time or until " +#~ "failure\n" +#~ "are ignored here." +#~ msgstr "" +#~ "Pamiętaj, że tylko wpisy z wpisanym ciężarem (kilogramy lub funty) i\n" +#~ "powtórzenia są pokazywane na wykresach, inne, takie jak długość trwania " +#~ "ćwiczenia lub ćwiczenia wykonywane do porażki\n" +#~ "są ignorowane." + +#~ msgid "Add ingredient" +#~ msgstr "Dodaj składnik" + +#~ msgid "Edit ingredient" +#~ msgstr "Edytuj składnik" + +#~ msgid "Delete ingredient" +#~ msgstr "Usuń składnik" + #~ msgid "Ingredients pending review" #~ msgstr "Składniki oczekujące na akceptację" diff --git a/wger/locale/pt/LC_MESSAGES/django.po b/wger/locale/pt/LC_MESSAGES/django.po index 54664137f..7b1af2390 100644 --- a/wger/locale/pt/LC_MESSAGES/django.po +++ b/wger/locale/pt/LC_MESSAGES/django.po @@ -15,7 +15,7 @@ msgid "" msgstr "" "Project-Id-Version: wger Workout Manager\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-14 15:59+0200\n" +"POT-Creation-Date: 2024-11-14 19:23+0100\n" "PO-Revision-Date: 2024-03-23 17:01+0000\n" "Last-Translator: Wilton Rodrigues \n" "Language-Team: Portuguese 1;\n" "X-Generator: Weblate 5.5-dev\n" -#: config/models/gym_config.py:46 gym/templates/gym/list.html:53 +#: config/models/gym_config.py:46 gym/templates/gym/list.html:56 msgid "Default gym" msgstr "Academia principal" @@ -39,28 +39,28 @@ msgstr "" "Selecione a academia principal para essa instalação. Isto atribuirá todos os " "novos utilizadores registados e os utilizadores sem academia à essa academia." -#: config/views/gym_config.py:42 core/templates/language/view.html:67 -#: core/templates/license/list.html:17 core/templates/misc/license/list.html:18 +#: config/views/gym_config.py:42 core/templates/language/view.html:64 +#: core/templates/license/list.html:17 #: core/templates/repetition_unit/list.html:18 -#: core/templates/tags/render_day.html:39 -#: core/templates/tags/render_day.html:75 core/templates/user/overview.html:204 -#: core/templates/user/overview.html:445 +#: core/templates/user/overview.html:204 core/templates/user/overview.html:467 #: core/templates/weight_unit/list.html:18 #: exercises/templates/categories/admin-overview.html:17 #: exercises/templates/equipment/admin-overview.html:17 -#: exercises/templates/muscles/admin-overview.html:17 -#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:32 -#: gym/templates/contract/list.html:31 gym/templates/contract/view.html:107 -#: gym/templates/contract_option/list.html:32 -#: gym/templates/contract_type/list.html:32 gym/templates/document/list.html:38 -#: gym/templates/gym/list.html:20 gym/templates/gym/list.html:46 -#: gym/templates/gym/member_list.html:87 gym/templates/gym/member_list.html:140 -#: gym/templates/gym/member_list.html:176 -#: manager/templates/calendar/day.html:68 -#: manager/templates/calendar/month.html:85 -#: manager/templates/calendar/partial_overview_table.html:18 -#: manager/templates/schedule/view.html:118 -#: nutrition/templates/ingredient/view.html:165 +#: exercises/templates/muscles/admin-overview.html:16 +#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:31 +#: gym/templates/contract/list.html:30 gym/templates/contract/view.html:106 +#: gym/templates/contract_option/list.html:29 +#: gym/templates/contract_type/list.html:30 gym/templates/document/list.html:38 +#: gym/templates/gym/list.html:19 gym/templates/gym/list.html:48 +#: gym/templates/gym/member_list.html:94 gym/templates/gym/member_list.html:152 +#: gym/templates/gym/member_list.html:190 +#: manager/templates/calendar/day.html:67 +#: manager/templates/calendar/month.html:84 +#: manager/templates/calendar/partial_overview_table.html:16 +#: manager/templates/schedule/view.html:271 +#: manager/templates/workout/view.html:181 +#: nutrition/templates/ingredient/view.html:164 +#: nutrition/templates/ingredient/view.html:209 #: nutrition/templates/units/list.html:19 msgid "Edit" msgstr "Editar" @@ -94,25 +94,25 @@ msgstr "Minha agenda de treino" msgid "Empty placeholder schedule" msgstr "Agenda de espaço reservado vazia" -#: core/forms.py:69 core/templates/navigation.html:285 -#: core/templates/navigation.html:291 core/templates/user/login.html:4 +#: core/forms.py:69 core/templates/navigation.html:284 +#: core/templates/navigation.html:290 core/templates/user/login.html:4 #: software/templates/features.html:82 software/templates/features.html:427 msgid "Login" msgstr "Login" -#: core/forms.py:108 core/forms.py:214 gym/views/export.py:61 +#: core/forms.py:108 core/forms.py:216 gym/views/export.py:61 #: gym/views/gym.py:217 msgid "First name" msgstr "Primeiro nome" -#: core/forms.py:109 core/forms.py:215 core/templates/user/overview.html:266 +#: core/forms.py:109 core/forms.py:217 core/templates/user/overview.html:284 #: gym/views/export.py:62 gym/views/gym.py:217 msgid "Last name" msgstr "Último nome" -#: core/forms.py:111 core/forms.py:180 core/templates/user/overview.html:270 +#: core/forms.py:111 core/forms.py:182 core/templates/user/overview.html:288 #: gym/models/contract.py:256 gym/models/gym.py:58 -#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:104 +#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:116 #: gym/templates/gym/new_user.html:30 gym/views/export.py:60 #: mailer/templates/mailer/gym/form.html:4 #: mailer/templates/mailer/gym/overview.html:4 @@ -130,95 +130,94 @@ msgstr "" msgid "Date of Birth" msgstr "Data de Nascimento" -#: core/forms.py:148 +#: core/forms.py:149 msgid "Personal data" msgstr "Dados pessoais" -#: core/forms.py:159 +#: core/forms.py:161 msgid "Workout reminders" msgstr "Lembretes de treino" -#: core/forms.py:166 +#: core/forms.py:168 msgid "Other settings" msgstr "Outras configurações" -#: core/forms.py:174 core/views/user.py:624 core/views/user.py:639 -#: core/views/user.py:651 gym/forms.py:73 manager/templates/log/add.html:65 +#: core/forms.py:176 core/views/user.py:623 core/views/user.py:638 +#: core/views/user.py:650 gym/forms.py:73 manager/templates/log/add.html:65 #: manager/templates/set/add.html:70 manager/views/workout.py:203 #: utils/generic_views.py:143 msgid "Save" msgstr "Salvar" -#: core/forms.py:181 +#: core/forms.py:183 msgid "Used for password resets and, optionally, email reminders." msgstr "" "Usado para redefinições de senha e, opcionalmente, lembretes por e-mail." -#: core/forms.py:210 +#: core/forms.py:212 msgid "This e-mail address is already in use." msgstr "Este endereço de e-mail já está sendo usado." -#: core/forms.py:231 gym/templates/gym/new_user.html:26 +#: core/forms.py:233 gym/templates/gym/new_user.html:26 #: gym/templates/gym/reset_user_password.html:24 gym/views/gym.py:217 msgid "Password" msgstr "Senha" -#: core/forms.py:233 +#: core/forms.py:235 msgid "Please enter your current password." msgstr "Por favor informe a sua senha atual." -#: core/forms.py:242 core/templates/language/view.html:73 -#: core/templates/license/list.html:19 core/templates/misc/license/list.html:22 -#: core/templates/repetition_unit/list.html:20 -#: core/templates/tags/render_day.html:45 -#: core/templates/tags/render_day.html:81 core/templates/user/overview.html:217 -#: core/templates/weight_unit/list.html:20 -#: exercises/templates/categories/admin-overview.html:19 -#: exercises/templates/equipment/admin-overview.html:19 -#: exercises/templates/muscles/admin-overview.html:19 -#: gym/templates/admin_notes/list.html:40 -#: gym/templates/contract_option/list.html:41 -#: gym/templates/contract_type/list.html:41 gym/templates/document/list.html:46 -#: gym/templates/gym/list.html:22 manager/templates/calendar/day.html:73 -#: manager/templates/calendar/month.html:89 -#: manager/templates/calendar/partial_overview_table.html:23 -#: manager/templates/schedule/view.html:122 -#: manager/templates/workout/view.html:188 -#: nutrition/templates/ingredient/view.html:166 +#: core/forms.py:244 core/templates/language/view.html:70 +#: core/templates/license/list.html:21 +#: core/templates/repetition_unit/list.html:22 +#: core/templates/user/overview.html:233 +#: core/templates/weight_unit/list.html:22 +#: exercises/templates/categories/admin-overview.html:21 +#: exercises/templates/equipment/admin-overview.html:21 +#: exercises/templates/muscles/admin-overview.html:20 +#: gym/templates/admin_notes/list.html:37 +#: gym/templates/contract_option/list.html:35 +#: gym/templates/contract_type/list.html:36 gym/templates/document/list.html:46 +#: gym/templates/gym/list.html:23 manager/templates/calendar/day.html:73 +#: manager/templates/calendar/month.html:88 +#: manager/templates/calendar/partial_overview_table.html:22 +#: manager/templates/schedule/view.html:277 +#: manager/templates/workout/view.html:202 +#: nutrition/templates/ingredient/view.html:168 #: nutrition/templates/ingredient/view.html:215 -#: nutrition/templates/units/list.html:22 +#: nutrition/templates/units/list.html:25 msgid "Delete" msgstr "Remover" -#: core/forms.py:251 +#: core/forms.py:253 msgid "Invalid password" msgstr "Senha inválida" -#: core/forms.py:263 core/forms.py:338 +#: core/forms.py:265 core/forms.py:340 msgid "The form is secured with reCAPTCHA" msgstr "O formulário está seguro com o reCAPTCHA" -#: core/forms.py:279 core/forms.py:301 core/templates/navigation.html:285 -#: core/templates/navigation.html:297 core/templates/template.html:149 -#: core/templates/user/login.html:20 core/views/user.py:298 +#: core/forms.py:281 core/forms.py:303 core/templates/navigation.html:284 +#: core/templates/navigation.html:296 core/templates/template.html:150 +#: core/templates/user/login.html:20 core/views/user.py:297 #: software/templates/features.html:87 software/templates/features.html:422 msgid "Register" msgstr "Cadastro" -#: core/forms.py:315 software/templates/features.html:45 +#: core/forms.py:317 software/templates/features.html:45 msgid "Contact" msgstr "Contato" -#: core/forms.py:316 +#: core/forms.py:318 msgid "Some way of answering you (e-mail, etc.)" msgstr "Meios de contato (e-mail, etc.)" -#: core/forms.py:324 exercises/models/comment.py:58 manager/models/set.py:61 +#: core/forms.py:326 exercises/models/comment.py:58 manager/models/set.py:61 #: manager/models/setting.py:114 nutrition/models/log.py:77 msgid "Comment" msgstr "Comentário" -#: core/forms.py:325 +#: core/forms.py:327 msgid "What do you want to say?" msgstr "O que você quer dizer?" @@ -453,18 +452,18 @@ msgid "The sum of all hours has to be 24" msgstr "A soma de todas as horas deve ser 24" #: core/models/rep_unit.py:36 core/models/weight_unit.py:36 -#: core/templates/user/overview.html:262 core/views/user.py:599 +#: core/templates/user/overview.html:280 core/views/user.py:598 #: exercises/models/category.py:29 exercises/models/equipment.py:29 #: exercises/models/exercise.py:59 exercises/models/muscle.py:36 #: gym/models/contract.py:52 gym/models/contract.py:103 gym/models/gym.py:46 #: gym/models/user_document.py:84 gym/templates/contract/view.html:50 -#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:96 +#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:108 #: gym/views/gym.py:158 manager/models/schedule.py:55 #: manager/models/workout.py:57 measurements/models/category.py:36 #: nutrition/models/ingredient.py:111 -#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:67 +#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:65 #: nutrition/models/weight_unit.py:38 -#: nutrition/templates/ingredient/view.html:152 +#: nutrition/templates/ingredient/view.html:151 msgid "Name" msgstr "Nome" @@ -516,7 +515,7 @@ msgstr "" msgid "Back to \"%(target)s\"" msgstr "Voltar a \"%(target)s\"" -#: core/templates/delete.html:15 +#: core/templates/delete.html:4 msgid "Are you sure you want to delete this? This action cannot be undone." msgstr "" "Você tem certeza que quer remover isto? Esta ação não pode ser desfeita." @@ -569,7 +568,7 @@ msgstr "Clique no seguinte link para confirmar seu e-mail: %(link)s" msgid "Dashboard" msgstr "Painel" -#: core/templates/language/overview.html:4 core/templates/navigation.html:345 +#: core/templates/language/overview.html:4 core/templates/navigation.html:344 msgid "Languages" msgstr "Idiomas" @@ -579,82 +578,72 @@ msgstr "Não encontrado." #: core/templates/language/overview.html:22 #: manager/templates/calendar/month.html:132 -#: manager/templates/schedule/overview.html:28 -#: manager/templates/schedule/view.html:144 +#: manager/templates/schedule/view.html:107 #: manager/templates/workout/overview.html:28 #: nutrition/templates/ingredient/overview.html:38 msgid "Add one now." msgstr "Adicionar um agora." -#: core/templates/language/overview.html:35 core/templates/license/list.html:40 -#: core/templates/misc/license/list.html:43 -#: core/templates/repetition_unit/list.html:43 -#: core/templates/user/overview.html:326 core/templates/user/overview.html:365 -#: core/templates/user/overview.html:401 -#: core/templates/weight_unit/list.html:43 core/views/languages.py:74 +#: core/templates/language/overview.html:34 core/templates/license/list.html:43 +#: core/templates/repetition_unit/list.html:46 +#: core/templates/user/overview.html:344 core/templates/user/overview.html:384 +#: core/templates/user/overview.html:422 +#: core/templates/weight_unit/list.html:46 core/views/languages.py:74 #: core/views/license.py:66 core/views/repetition_units.py:66 #: core/views/weight_units.py:66 -#: exercises/templates/categories/admin-overview.html:38 -#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:67 -#: gym/templates/contract/list.html:73 -#: gym/templates/contract_option/list.html:72 -#: gym/templates/contract_type/list.html:72 gym/templates/document/list.html:79 -#: gym/templates/gym/member_list.html:211 -#: gym/templates/gym/member_list.html:244 -#: gym/templates/gym/member_list.html:281 +#: exercises/templates/categories/admin-overview.html:40 +#: exercises/templates/equipment/admin-overview.html:39 +#: exercises/templates/muscles/admin-overview.html:40 +#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:64 +#: gym/templates/contract/list.html:69 +#: gym/templates/contract_option/list.html:65 +#: gym/templates/contract_type/list.html:66 gym/templates/document/list.html:78 +#: gym/templates/gym/member_list.html:228 +#: gym/templates/gym/member_list.html:264 +#: gym/templates/gym/member_list.html:303 #: mailer/templates/mailer/gym/overview.html:43 +#: nutrition/templates/ingredient/overview.html:60 msgid "Add" msgstr "Adicionar" #: core/templates/language/view.html:61 core/templates/user/api_key.html:44 -#: core/templates/user/preferences.html:45 gym/models/contract.py:203 -#: gym/templates/contract/view.html:41 gym/templates/contract/view.html:106 -#: gym/templates/gym/member_list.html:248 -#: manager/templates/schedule/view.html:285 -#: manager/templates/workout/view.html:163 -#: nutrition/templates/ingredient/view.html:202 +#: core/templates/user/preferences.html:50 gym/models/contract.py:203 +#: gym/templates/contract/view.html:41 gym/templates/gym/member_list.html:270 +#: manager/templates/schedule/view.html:257 +#: manager/templates/workout/view.html:177 +#: nutrition/templates/ingredient/view.html:206 msgid "Options" msgstr "Opções" -#: core/templates/license/list.html:4 core/templates/misc/license/list.html:4 +#: core/templates/license/list.html:4 msgid "License list" msgstr "Lista de licença" -#: core/templates/license/list.html:26 core/templates/misc/license/list.html:30 -#: core/templates/repetition_unit/list.html:28 +#: core/templates/license/list.html:30 +#: core/templates/repetition_unit/list.html:32 #: core/templates/user/overview.html:104 core/templates/user/overview.html:136 -#: core/templates/user/overview.html:185 core/templates/user/overview.html:347 -#: core/templates/user/overview.html:383 core/templates/user/overview.html:427 -#: core/templates/weight_unit/list.html:28 -#: exercises/templates/categories/admin-overview.html:26 -#: exercises/templates/equipment/admin-overview.html:26 -#: exercises/templates/muscles/admin-overview.html:26 -#: gym/templates/admin_notes/list.html:52 gym/templates/contract/list.html:60 -#: gym/templates/contract_option/list.html:58 -#: gym/templates/contract_type/list.html:58 gym/templates/document/list.html:64 -#: gym/templates/gym/list.html:29 gym/templates/gym/member_list.html:229 -#: gym/templates/gym/member_list.html:262 -#: gym/templates/gym/member_list.html:299 +#: core/templates/user/overview.html:185 core/templates/user/overview.html:365 +#: core/templates/user/overview.html:404 core/templates/user/overview.html:448 +#: core/templates/weight_unit/list.html:32 +#: exercises/templates/categories/admin-overview.html:30 +#: exercises/templates/equipment/admin-overview.html:30 +#: exercises/templates/muscles/admin-overview.html:29 +#: gym/templates/admin_notes/list.html:50 gym/templates/contract/list.html:57 +#: gym/templates/contract_option/list.html:52 +#: gym/templates/contract_type/list.html:53 gym/templates/document/list.html:64 +#: gym/templates/gym/list.html:32 gym/templates/gym/member_list.html:248 +#: gym/templates/gym/member_list.html:284 +#: gym/templates/gym/member_list.html:321 #: mailer/templates/mailer/gym/overview.html:30 -#: manager/templates/calendar/day.html:87 -#: nutrition/templates/units/list.html:29 +#: manager/templates/calendar/day.html:88 +#: nutrition/templates/units/list.html:34 msgid "Nothing found" msgstr "Nada encontrado" -#: core/templates/misc/about.html:4 core/templates/template.html:175 +#: core/templates/misc/about.html:4 core/templates/template.html:187 msgid "Imprint" msgstr "Imprimir" -#: core/templates/misc/license/list.html:47 -msgid "" -"If a license has been localized, e.g. the Creative Commons\n" -" licenses for the different countries, add them as separate " -"entries here." -msgstr "" -"Se uma licença for dependente da localização, como as licenças Creative\n" -" Commons para os differentes países, adicione-as como entradas " -"separadas aqui." - #: core/templates/navigation.html:28 software/templates/features.html:437 msgid "Training" msgstr "Treinamento" @@ -699,8 +688,8 @@ msgstr "Modelos públicos" msgid "Exercises" msgstr "Exercícios" -#: core/templates/navigation.html:111 core/templates/navigation.html:184 -#: core/templates/navigation.html:340 +#: core/templates/navigation.html:111 core/templates/navigation.html:185 +#: core/templates/navigation.html:339 msgid "Administration" msgstr "Administração" @@ -729,7 +718,7 @@ msgstr "Nutrição" msgid "Nutrition plans" msgstr "Planos de nutrição" -#: core/templates/navigation.html:165 nutrition/templates/bmi/form.html:50 +#: core/templates/navigation.html:165 msgid "BMI calculator" msgstr "Calculadora IMC" @@ -737,87 +726,87 @@ msgstr "Calculadora IMC" msgid "Daily calories calculator" msgstr "Calculador de calorias diárias" -#: core/templates/navigation.html:179 +#: core/templates/navigation.html:180 #: nutrition/templates/ingredient/overview.html:10 msgid "Ingredient overview" msgstr "Visão geral do ingrediente" -#: core/templates/navigation.html:187 nutrition/templates/units/list.html:6 +#: core/templates/navigation.html:189 nutrition/templates/units/list.html:6 msgid "Ingredient weight units" msgstr "Unidade de peso dos ingredientes" -#: core/templates/navigation.html:203 software/templates/features.html:442 +#: core/templates/navigation.html:205 software/templates/features.html:442 msgid "Body weight" msgstr "Peso Corporal" -#: core/templates/navigation.html:210 core/templates/user/overview.html:114 +#: core/templates/navigation.html:212 core/templates/user/overview.html:114 msgid "Weight overview" msgstr "Visão geral do peso" -#: core/templates/navigation.html:217 weight/views.py:65 +#: core/templates/navigation.html:216 weight/views.py:65 msgid "Add weight entry" msgstr "Adicionar uma entrada para peso" -#: core/templates/navigation.html:231 +#: core/templates/navigation.html:230 msgid "About this software" msgstr "Sobre este software" -#: core/templates/navigation.html:237 software/templates/about_us.html:5 +#: core/templates/navigation.html:236 software/templates/about_us.html:5 msgid "About us" msgstr "Sobre nós" -#: core/templates/navigation.html:243 software/templates/features.html:507 +#: core/templates/navigation.html:242 software/templates/features.html:507 msgid "REST API" msgstr "API REST" -#: core/templates/navigation.html:249 utils/models.py:45 +#: core/templates/navigation.html:248 utils/models.py:45 msgid "License" msgstr "Licença" -#: core/templates/navigation.html:255 +#: core/templates/navigation.html:254 msgid "Developer documentation" msgstr "Documentação do desenvolvedor" -#: core/templates/navigation.html:262 +#: core/templates/navigation.html:261 msgid "Get the code" msgstr "Obtenha o código fonte" -#: core/templates/navigation.html:269 core/templates/template.html:214 +#: core/templates/navigation.html:268 core/templates/template.html:226 #: software/templates/features.html:582 msgid "Translate" msgstr "Traduzir" -#: core/templates/navigation.html:303 core/templates/user/login.html:28 +#: core/templates/navigation.html:302 core/templates/user/login.html:28 msgid "Reset password" msgstr "Redefinr a senha" -#: core/templates/navigation.html:321 +#: core/templates/navigation.html:320 msgid "My preferences" msgstr "Minhas preferências" -#: core/templates/navigation.html:330 +#: core/templates/navigation.html:329 msgid "Logout" msgstr "Sair" -#: core/templates/navigation.html:353 +#: core/templates/navigation.html:352 msgid "Licenses" msgstr "Licenças" -#: core/templates/navigation.html:361 +#: core/templates/navigation.html:360 #: core/templates/repetition_unit/list.html:4 msgid "Repetition units" msgstr "Unidades de repetição" -#: core/templates/navigation.html:369 core/templates/weight_unit/list.html:4 +#: core/templates/navigation.html:368 core/templates/weight_unit/list.html:4 #: nutrition/templates/ingredient/view.html:141 msgid "Weight units" msgstr "Unidade de peso" -#: core/templates/navigation.html:377 core/templates/user/list.html:4 +#: core/templates/navigation.html:376 core/templates/user/list.html:4 msgid "User list" msgstr "Lista de utilizadores" -#: core/templates/navigation.html:383 +#: core/templates/navigation.html:382 msgid "Gyms" msgstr "Academias" @@ -880,57 +869,32 @@ msgstr "Anterior" msgid "next" msgstr "Próximo" -#: core/templates/tags/render_day.html:34 -msgid "Add weight log" -msgstr "Registrar peso" - -#: core/templates/tags/render_day.html:116 -msgid "Placeholder image for exercise" +#: core/templates/tags/render_day.html:44 +#, fuzzy +#| msgid "Placeholder image for exercise" +msgid "Placeholder image for translation" msgstr "Espaço reservado para imagem do exercício" -#: core/templates/tags/render_day.html:133 -msgid "This exercise has no repetitions." -msgstr "Este exercício não possui repetições." - -#: core/templates/tags/render_day.html:136 -msgid "Edit them now." -msgstr "Edite-os agora." - -#: core/templates/tags/render_day.html:162 -msgid "Add exercises to this workout day" -msgstr "Adicione exercícios para este dia de treino" - -#: core/templates/tags/render_weight_log.html:17 manager/helpers.py:86 -#: manager/models/setting.py:72 manager/templates/set/formset.html:9 -msgid "Reps" -msgstr "Repetições" - -#: core/templates/tags/render_weight_log.html:30 manager/forms.py:191 -#: manager/models/log.py:103 manager/models/setting.py:102 -#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 -msgid "RiR" -msgstr "ReR" - -#: core/templates/template.html:122 manager/templates/calendar/month.html:138 -#: manager/templates/schedule/view.html:248 -#: manager/templates/schedule/view.html:269 -#: manager/templates/workout/view.html:84 -#: manager/templates/workout/view.html:137 +#: core/templates/template.html:123 manager/templates/calendar/month.html:138 +#: manager/templates/schedule/view.html:215 +#: manager/templates/schedule/view.html:240 +#: manager/templates/workout/view.html:89 +#: manager/templates/workout/view.html:149 msgid "Close" msgstr "Fechar" -#: core/templates/template.html:138 +#: core/templates/template.html:139 msgid "" "You are using a guest account, data entered will be deleted after a week." msgstr "" "Você está usando uma conta de convidado, todos os dados cadastrados serão " "apagados depois de uma semana." -#: core/templates/template.html:143 +#: core/templates/template.html:144 msgid "Create some demo entries" msgstr "Crie alguns registros de demonstração" -#: core/templates/template.html:180 software/templates/features.html:547 +#: core/templates/template.html:192 software/templates/features.html:547 #: software/templates/tos.html:7 msgid "Terms of service" msgstr "Termos de uso" @@ -939,7 +903,7 @@ msgstr "Termos de uso" msgid "Features" msgstr "Funcionalidades" -#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:54 +#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:59 msgid "API key" msgstr "API key" @@ -984,17 +948,17 @@ msgstr "Gerar nova API Key" msgid "Documentation" msgstr "Documentação" -#: core/templates/user/delete_account.html:4 -#: core/templates/user/preferences.html:59 +#: core/templates/user/delete_account.html:3 +#: core/templates/user/preferences.html:62 msgid "Delete account" msgstr "Apagar conta" -#: core/templates/user/delete_account.html:17 +#: core/templates/user/delete_account.html:9 #: exercises/templates/history/overview.html:93 msgid "Are you sure?" msgstr "Você tem certeza?" -#: core/templates/user/delete_account.html:22 +#: core/templates/user/delete_account.html:14 #, python-format msgid "" "This action will delete the user account \"%(username)s\".\n" @@ -1017,22 +981,22 @@ msgstr "Esqueceu a senha?" #: core/templates/user/overview.html:25 core/templates/user/overview.html:68 #: core/templates/user/overview.html:112 core/templates/user/overview.html:144 -#: core/templates/user/overview.html:330 core/templates/user/overview.html:369 -#: core/templates/user/overview.html:405 +#: core/templates/user/overview.html:348 core/templates/user/overview.html:390 +#: core/templates/user/overview.html:426 #, python-format msgid "last %(number)s" msgstr "último %(number)s" #: core/templates/user/overview.html:27 core/templates/user/overview.html:146 -#: core/templates/user/overview.html:325 core/templates/user/overview.html:364 -#: core/templates/user/overview.html:400 gym/templates/gym/member_list.html:210 -#: gym/templates/gym/member_list.html:243 -#: gym/templates/gym/member_list.html:280 +#: core/templates/user/overview.html:343 core/templates/user/overview.html:382 +#: core/templates/user/overview.html:421 gym/templates/gym/member_list.html:226 +#: gym/templates/gym/member_list.html:262 +#: gym/templates/gym/member_list.html:302 msgid "Overview" msgstr "Visão geral" #: core/templates/user/overview.html:28 -#: manager/templates/schedule/view.html:163 +#: manager/templates/schedule/view.html:125 #: manager/templates/workout/overview.html:39 manager/views/schedule_step.py:60 msgid "Add workout" msgstr "Adicionar treino" @@ -1064,38 +1028,36 @@ msgstr "descrição" msgid "Number of logs (days)" msgstr "Número de registros (dias)" -#: core/templates/user/overview.html:37 core/views/user.py:600 +#: core/templates/user/overview.html:37 core/views/user.py:599 #: gym/templates/gym/email_inactive_members.html:4 gym/views/gym.py:158 msgid "Last activity" msgstr "Última atividade" #: core/templates/user/overview.html:58 #: manager/templates/calendar/month.html:128 -#: manager/templates/schedule/view.html:144 #: manager/templates/workout/overview.html:28 msgid "No workouts found." msgstr "Nenhum treino encontrado." #: core/templates/user/overview.html:68 manager/forms.py:280 -#: manager/templates/workout/view.html:106 +#: manager/templates/workout/view.html:114 msgid "Log" msgstr "Log" #: core/templates/user/overview.html:77 manager/models/session.py:83 -#: manager/templates/calendar/partial_overview_table.html:52 +#: manager/templates/calendar/partial_overview_table.html:54 msgid "General impression" msgstr "Impressão geral" -#: core/templates/user/overview.html:78 core/templates/user/overview.html:369 +#: core/templates/user/overview.html:78 core/templates/user/overview.html:390 #: manager/models/session.py:73 -#: manager/templates/calendar/partial_overview_table.html:56 -#: manager/templates/workout/log.html:89 +#: manager/templates/calendar/partial_overview_table.html:58 msgid "Notes" msgstr "Notas" #: core/templates/user/overview.html:79 #: exercises/templates/history/overview.html:30 -#: manager/templates/calendar/partial_overview_table.html:42 +#: manager/templates/calendar/partial_overview_table.html:44 msgid "Time" msgstr "Tempo" @@ -1133,122 +1095,122 @@ msgstr "Gordura" msgid "kcal" msgstr "kcal" -#: core/templates/user/overview.html:201 core/templates/user/overview.html:322 -#: core/templates/user/overview.html:361 core/templates/user/overview.html:397 -#: core/templates/user/overview.html:442 gym/templates/gym/list.html:42 -#: gym/templates/gym/member_list.html:84 gym/templates/gym/member_list.html:137 -#: gym/templates/gym/member_list.html:173 -#: gym/templates/gym/member_list.html:207 -#: gym/templates/gym/member_list.html:240 -#: gym/templates/gym/member_list.html:277 -#: manager/templates/schedule/view.html:100 +#: core/templates/user/overview.html:201 core/templates/user/overview.html:340 +#: core/templates/user/overview.html:379 core/templates/user/overview.html:418 +#: core/templates/user/overview.html:463 gym/templates/gym/list.html:45 +#: gym/templates/gym/member_list.html:91 gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:187 +#: gym/templates/gym/member_list.html:223 +#: gym/templates/gym/member_list.html:259 +#: gym/templates/gym/member_list.html:299 +#: manager/templates/schedule/view.html:54 msgid "Actions" msgstr "Ações" -#: core/templates/user/overview.html:207 +#: core/templates/user/overview.html:210 msgid "Deactivate user" msgstr "Utilizador desativado" -#: core/templates/user/overview.html:209 +#: core/templates/user/overview.html:214 msgid "Activate user" msgstr "Utilizador ativo" -#: core/templates/user/overview.html:211 +#: core/templates/user/overview.html:223 msgid "Reset user password" msgstr "Redefinir a senha de utilizador" -#: core/templates/user/overview.html:214 gym/templates/gym/member_list.html:30 +#: core/templates/user/overview.html:227 gym/templates/gym/member_list.html:30 msgid "Roles" msgstr "Papéis" -#: core/templates/user/overview.html:225 +#: core/templates/user/overview.html:243 msgid "Password reset confirmation" msgstr "Confirmação de redefinição da palavra-passe" -#: core/templates/user/overview.html:229 +#: core/templates/user/overview.html:247 msgid "Do you really want to change this user's password?" msgstr "Você realmente deseja alterar a senha deste utilizador' ?" -#: core/templates/user/overview.html:232 +#: core/templates/user/overview.html:250 #: exercises/templates/history/overview.html:106 msgid "No" msgstr "Não" -#: core/templates/user/overview.html:233 +#: core/templates/user/overview.html:251 #: exercises/templates/history/overview.html:99 msgid "Yes" msgstr "Sim" -#: core/templates/user/overview.html:254 gym/templates/gym/member_list.html:93 +#: core/templates/user/overview.html:272 gym/templates/gym/member_list.html:105 msgid "Details" msgstr "Detalhes" -#: core/templates/user/overview.html:258 gym/views/export.py:57 -#: manager/helpers.py:86 manager/templates/schedule/view.html:98 +#: core/templates/user/overview.html:276 gym/views/export.py:57 +#: manager/helpers.py:86 manager/templates/schedule/view.html:52 msgid "Nr." msgstr "Nr." -#: core/templates/user/overview.html:280 gym/models/contract.py:287 +#: core/templates/user/overview.html:298 gym/models/contract.py:287 #: gym/models/gym.py:50 gym/templates/contract/view.html:75 -#: gym/templates/gym/member_list.html:100 gym/views/export.py:68 +#: gym/templates/gym/member_list.html:112 gym/views/export.py:68 msgid "Phone" msgstr "Telefone" -#: core/templates/user/overview.html:284 gym/templates/contract/view.html:87 -#: gym/templates/gym/member_list.html:118 +#: core/templates/user/overview.html:302 gym/templates/contract/view.html:87 +#: gym/templates/gym/member_list.html:130 msgid "Address" msgstr "Endereço" -#: core/templates/user/overview.html:295 +#: core/templates/user/overview.html:313 msgid "Registered" msgstr "Registrado" -#: core/templates/user/overview.html:299 +#: core/templates/user/overview.html:317 msgid "Last login" msgstr "Último Login" -#: core/templates/user/overview.html:304 +#: core/templates/user/overview.html:322 msgid "Status" msgstr "Estado" -#: core/templates/user/overview.html:307 +#: core/templates/user/overview.html:325 msgid "Active" msgstr "Ativo" -#: core/templates/user/overview.html:309 +#: core/templates/user/overview.html:327 msgid "Inactive" msgstr "Inativo" -#: core/templates/user/overview.html:330 gym/templates/contract/list.html:4 -#: gym/templates/gym/member_list.html:202 +#: core/templates/user/overview.html:348 gym/templates/contract/list.html:4 +#: gym/templates/gym/member_list.html:218 msgid "Contracts" msgstr "Contratos" -#: core/templates/user/overview.html:405 gym/templates/document/list.html:4 +#: core/templates/user/overview.html:426 gym/templates/document/list.html:4 msgid "Documents" msgstr "Documentos" -#: core/templates/user/overview.html:412 gym/templates/document/list.html:32 -#: manager/forms.py:292 manager/templates/workout/view.html:132 +#: core/templates/user/overview.html:433 gym/templates/document/list.html:33 +#: manager/forms.py:292 manager/templates/workout/view.html:143 msgid "Download" msgstr "Descarregar" -#: core/templates/user/overview.html:450 gym/views/admin_config.py:44 +#: core/templates/user/overview.html:474 gym/views/admin_config.py:44 #: gym/views/admin_config.py:58 gym/views/user_config.py:46 msgid "Configuration" msgstr "Configuração" -#: core/templates/user/overview.html:453 gym/models/user_config.py:92 +#: core/templates/user/overview.html:477 gym/models/user_config.py:92 msgid "Include in inactive overview" msgstr "Incluir na visão geral inativa" -#: core/templates/user/overview.html:486 +#: core/templates/user/overview.html:510 #, python-format msgid "Admin login is only available for users in %(gym_name)s" msgstr "" "O login de administrador está disponível apenas para usuários no %(gym_name)s" -#: core/templates/user/overview.html:490 +#: core/templates/user/overview.html:514 msgid "Log in as this user" msgstr "Logado como este utilizador" @@ -1268,19 +1230,19 @@ msgstr "E-mail não verificado" msgid "Send verification email" msgstr "Enviar e-mail de verificação" -#: core/templates/user/preferences.html:30 +#: core/templates/user/preferences.html:31 msgid "You need to verify your email to contribute exercises" msgstr "É preciso verificar seu e-mail para contribuir com exercícios" -#: core/templates/user/preferences.html:50 core/views/user.py:611 +#: core/templates/user/preferences.html:55 core/views/user.py:610 msgid "Change password" msgstr "Mudar senha" -#: core/templatetags/wger_extras.py:205 i18n.tpl:37 +#: core/templatetags/wger_extras.py:197 i18n.tpl:37 msgid "kg" msgstr "kg" -#: core/templatetags/wger_extras.py:207 +#: core/templatetags/wger_extras.py:199 #: nutrition/templates/ingredient/view.html:60 #: nutrition/templates/ingredient/view.html:66 #: nutrition/templates/ingredient/view.html:73 @@ -1292,11 +1254,11 @@ msgctxt "weight unit, i.e. grams" msgid "g" msgstr "g" -#: core/templatetags/wger_extras.py:210 i18n.tpl:38 +#: core/templatetags/wger_extras.py:202 i18n.tpl:38 msgid "lb" msgstr "lb" -#: core/templatetags/wger_extras.py:212 +#: core/templatetags/wger_extras.py:204 msgctxt "weight unit, i.e. ounces" msgid "oz" msgstr "oz" @@ -1323,13 +1285,13 @@ msgid "Delete {0}?" msgstr "Remover {0}?" #: core/views/languages.py:111 core/views/license.py:85 -#: core/views/repetition_units.py:86 core/views/user.py:474 +#: core/views/repetition_units.py:86 core/views/user.py:473 #: core/views/weight_units.py:86 exercises/views/categories.py:98 #: exercises/views/equipment.py:81 exercises/views/muscles.py:87 #: gym/views/admin_notes.py:161 gym/views/config.py:68 #: gym/views/contract.py:186 gym/views/contract_option.py:123 #: gym/views/contract_type.py:123 gym/views/document.py:171 -#: gym/views/gym.py:463 manager/views/day.py:100 manager/views/schedule.py:333 +#: gym/views/gym.py:463 manager/views/day.py:96 manager/views/schedule.py:333 #: manager/views/workout.py:267 nutrition/views/ingredient.py:145 #: nutrition/views/unit.py:143 #, python-brace-format @@ -1358,48 +1320,48 @@ msgstr "Submeter" msgid "Your feedback was successfully sent. Thank you!" msgstr "O seu feedback foi enviado com sucesso. Obrigado!" -#: core/views/user.py:156 +#: core/views/user.py:155 #, python-brace-format msgid "Account \"{0}\" was successfully deleted" msgstr "Conta \"{0}\" deletada com sucesso" -#: core/views/user.py:292 +#: core/views/user.py:291 msgid "You were successfully registered" msgstr "Você foi registrado com sucesso" -#: core/views/user.py:351 +#: core/views/user.py:350 msgid "Settings successfully updated" msgstr "Configurações atualizadas com sucesso" -#: core/views/user.py:390 +#: core/views/user.py:389 msgid "The user was successfully deactivated" msgstr "O utilizador foi desativado com sucesso" -#: core/views/user.py:427 +#: core/views/user.py:426 msgid "The user was successfully activated" msgstr "O utilizador foi ativado com sucesso" -#: core/views/user.py:442 +#: core/views/user.py:441 msgid "Edit user" msgstr "Editar utilizador" -#: core/views/user.py:597 gym/templates/gym/member_list.html:26 +#: core/views/user.py:596 gym/templates/gym/member_list.html:26 #: gym/views/gym.py:158 msgid "ID" msgstr "Identificação" -#: core/views/user.py:598 gym/forms.py:95 gym/templates/contract/view.html:55 +#: core/views/user.py:597 gym/forms.py:95 gym/templates/contract/view.html:55 #: gym/templates/gym/member_list.html:27 gym/views/export.py:59 #: gym/views/gym.py:158 gym/views/gym.py:217 msgid "Username" msgstr "utilizador" -#: core/views/user.py:601 gym/templates/gym/new_user.html:34 +#: core/views/user.py:600 gym/templates/gym/new_user.html:34 #: gym/views/export.py:58 gym/views/gym.py:217 msgid "Gym" msgstr "Academia" -#: core/views/user.py:660 +#: core/views/user.py:659 #, python-format msgid "A verification email was sent to %(email)s" msgstr "Um e-mail de verificação foi enviado para %(email)s" @@ -1552,11 +1514,6 @@ msgstr "Codec, nome longo" msgid "Equipment list" msgstr "Lista de equipamento" -#: exercises/templates/equipment/admin-overview.html:39 -#: exercises/views/equipment.py:92 -msgid "Add new equipment" -msgstr "Adicionar novo equipamento" - #: exercises/templates/history/overview.html:11 msgid "Exercise admin history" msgstr "Histórico de administração do exercício" @@ -1604,11 +1561,6 @@ msgstr "Reverter alterações" msgid "Muscle overview" msgstr "Visão geral do músculo" -#: exercises/templates/muscles/admin-overview.html:38 -#: exercises/views/muscles.py:68 -msgid "Add muscle" -msgstr "Adicionar músculo" - #: exercises/views/categories.py:72 msgid "Add category" msgstr "Adicionar categoria" @@ -1617,6 +1569,10 @@ msgstr "Adicionar categoria" msgid "This will also delete all exercises in this category." msgstr "Isto irá, também, apagar todos os exercícios nesta categoria." +#: exercises/views/equipment.py:92 +msgid "Add new equipment" +msgstr "Adicionar novo equipamento" + #: exercises/views/equipment.py:104 exercises/views/equipment.py:115 msgid "Delete equipment?" msgstr "Apagar equipamento?" @@ -1625,6 +1581,10 @@ msgstr "Apagar equipamento?" msgid "This will delete the exercise from all workouts." msgstr "Isto irá apagar o exercício de todos os treinos." +#: exercises/views/muscles.py:68 +msgid "Add muscle" +msgstr "Adicionar músculo" + #: gallery/templates/images/overview.html:62 msgid "Add image" msgstr "Adicionar imagem" @@ -1711,7 +1671,7 @@ msgid "Contract is active" msgstr "Contrato está ativo" #: gym/models/contract.py:237 gym/templates/contract/view.html:69 -#: manager/models/schedule.py:61 manager/templates/schedule/view.html:67 +#: manager/models/schedule.py:61 manager/templates/schedule/view.html:21 msgid "Start date" msgstr "Data início" @@ -1747,7 +1707,7 @@ msgstr "Admin: pode gerir utilizadores por academia" msgid "Admin: can administrate the different gyms" msgstr "Admin: pode administrar academias diferentes" -#: gym/models/gym.py:65 gym/templates/gym/member_list.html:114 +#: gym/models/gym.py:65 gym/templates/gym/member_list.html:126 msgid "Owner" msgstr "Dono" @@ -1759,7 +1719,7 @@ msgstr "" "Número de semanas desde a última vez que um utilizador registrou a sua " "presença para ser considerado inativo" -#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:152 +#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:166 msgid "Show name in header" msgstr "Mostrar o nome no cabeçalho" @@ -1772,7 +1732,7 @@ msgstr "Mostre o nome da academia no cabeçalho do site" msgid "Configuration for {self.gym.name}" msgstr "Configuração para {self.gym.name}" -#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:184 +#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:200 msgid "Overview of inactive members" msgstr "Visão geral dos membros inativos" @@ -1796,7 +1756,7 @@ msgstr "Será usado o nome do ficheiro se nada for informado" msgid "User notes" msgstr "Notas de utilizador" -#: gym/templates/contract/list.html:36 +#: gym/templates/contract/list.html:34 msgid "Show" msgstr "Mostrar" @@ -1824,11 +1784,11 @@ msgstr "" msgid "Gym list" msgstr "Lista da academia" -#: gym/templates/gym/list.html:50 +#: gym/templates/gym/list.html:53 msgid "Global gym configuration" msgstr "Configução global da academia" -#: gym/templates/gym/list.html:67 gym/views/gym.py:171 +#: gym/templates/gym/list.html:69 gym/views/gym.py:171 msgid "Add new gym" msgstr "Adicionar nova academia" @@ -1840,43 +1800,43 @@ msgstr "Administradores e treinadores" msgid "Gym manager" msgstr "Gestor da academia" -#: gym/templates/gym/member_list.html:69 +#: gym/templates/gym/member_list.html:76 msgid "This gym has no administrators or trainers" msgstr "Essa academia não possui administradores ou professores" -#: gym/templates/gym/member_list.html:88 +#: gym/templates/gym/member_list.html:98 msgid "Export" msgstr "Exportar" -#: gym/templates/gym/member_list.html:125 +#: gym/templates/gym/member_list.html:137 msgid "Members" msgstr "Membros" -#: gym/templates/gym/member_list.html:145 +#: gym/templates/gym/member_list.html:159 msgid "Gym configuration" msgstr "Configuração da academia" -#: gym/templates/gym/member_list.html:148 +#: gym/templates/gym/member_list.html:162 msgid "Inactive members" msgstr "Membros inativos" -#: gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:163 msgid "weeks" msgstr "semanas" -#: gym/templates/gym/member_list.html:181 +#: gym/templates/gym/member_list.html:197 msgid "My configuration" msgstr "Minha configuração" -#: gym/templates/gym/member_list.html:215 +#: gym/templates/gym/member_list.html:234 msgid "Types" msgstr "Tipos" -#: gym/templates/gym/member_list.html:285 +#: gym/templates/gym/member_list.html:307 msgid "Emails" msgstr "E-mails" -#: gym/templates/gym/member_list.html:315 +#: gym/templates/gym/member_list.html:336 msgid "Add member" msgstr "Adicionar membro" @@ -2173,28 +2133,38 @@ msgstr "Também buscar nomes em inglês" msgid "Unit" msgstr "Unidade" +#: manager/forms.py:191 manager/models/log.py:103 manager/models/setting.py:102 +#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 +msgid "RiR" +msgstr "ReR" + #: manager/forms.py:279 msgid "Type" msgstr "Tipo" -#: manager/forms.py:280 manager/templates/workout/view.html:113 +#: manager/forms.py:280 manager/templates/workout/view.html:122 msgid "Table" msgstr "Tabela" -#: manager/forms.py:282 manager/templates/workout/view.html:119 +#: manager/forms.py:282 manager/templates/workout/view.html:129 msgid "with images" msgstr "com imagens" -#: manager/forms.py:283 manager/templates/workout/view.html:125 +#: manager/forms.py:283 manager/templates/workout/view.html:136 msgid "with comments" msgstr "com comentários" +#: manager/helpers.py:86 manager/models/setting.py:72 +#: manager/templates/set/formset.html:9 +msgid "Reps" +msgstr "Repetições" + #: manager/management/commands/email-reminders.py:121 msgid "Workout will expire soon" msgstr "Treino irá expirar logo" #: manager/models/day.py:34 manager/models/log.py:58 -#: manager/models/session.py:60 manager/templates/schedule/view.html:102 +#: manager/models/session.py:60 manager/templates/schedule/view.html:56 #: manager/templates/workout/view.html:9 manager/templates/workout/view.html:17 #: manager/views/pdf.py:85 manager/views/pdf.py:161 #: manager/views/schedule.py:151 manager/views/schedule.py:221 @@ -2217,7 +2187,7 @@ msgstr "Dia" msgid "Name or short description of the schedule. For example 'Program XYZ'." msgstr "Nome ou descrição curta da agenda. Por exemplo 'Programa XYZ'." -#: manager/models/schedule.py:65 manager/templates/schedule/view.html:71 +#: manager/models/schedule.py:65 manager/templates/schedule/view.html:25 msgid "Schedule active" msgstr "Agenda ativa" @@ -2231,7 +2201,7 @@ msgstr "" "exercício (irá ser mostrada, por exemplo, na busca). A primeira imagem é " "automaticamente marcada pelo sistema" -#: manager/models/schedule.py:77 manager/templates/schedule/view.html:81 +#: manager/models/schedule.py:77 manager/templates/schedule/view.html:35 msgid "Is a loop" msgstr "É um loop" @@ -2252,7 +2222,7 @@ msgid "The duration in weeks" msgstr "A duração em semanas" #: manager/models/schedule_step.py:64 manager/models/set.py:53 -#: manager/models/setting.py:113 nutrition/models/meal.py:55 +#: manager/models/setting.py:113 nutrition/models/meal.py:53 #: nutrition/models/meal_item.py:66 msgid "Order" msgstr "Ordem" @@ -2394,7 +2364,7 @@ msgstr "Visão geral do Log" msgid "Workout session" msgstr "Sessão de Treinos" -#: manager/templates/calendar/partial_overview_table.html:27 +#: manager/templates/calendar/partial_overview_table.html:26 msgid "Delete with logs" msgstr "Apagar com Logs" @@ -2417,21 +2387,27 @@ msgstr "" "criada se ainda não há uma para data selecionada. Se houver, \n" "será simplismente editada. Registros de peso serão sempre adicionados." -#: manager/templates/schedule/overview.html:5 +#: manager/templates/schedule/overview.html:4 msgid "Your schedules" msgstr "Seus horários" #: manager/templates/schedule/overview.html:19 -#: manager/templates/schedule/view.html:131 -#: manager/templates/schedule/view.html:183 +#: manager/templates/schedule/view.html:96 +#: manager/templates/schedule/view.html:146 #: manager/templates/workout/overview.html:16 msgid "active" msgstr "ativo" -#: manager/templates/schedule/overview.html:28 +#: manager/templates/schedule/overview.html:27 msgid "No schedules found." msgstr "Nenhum horário encontrado." +#: manager/templates/schedule/overview.html:28 +#, fuzzy +#| msgid "Add one now." +msgid "Add one now" +msgstr "Adicionar um agora." + #: manager/templates/schedule/overview.html:36 msgid "" "Schedules are collections of workouts that you do in\n" @@ -2441,12 +2417,20 @@ msgstr "" " sequência." #: manager/templates/schedule/overview.html:39 +#, fuzzy +#| msgid "" +#| "You can indicate how long you want to do each workout\n" +#| " before jumping to the next. It is also possible to create a loop, " +#| "so you\n" +#| " always do the same workouts in succession, e.g. A > B > C > A > B " +#| "> C and so on." msgid "" "You can indicate how long you want to do each workout\n" " before jumping to the next. It is also possible to create a loop, so " "you\n" " always do the same workouts in succession, e.g. A > B > C > A > B > " -"C and so on." +"C and so\n" +" on." msgstr "" "Você pode indicar por quanto tempo quer fazer cada treino\n" " antes de pular para o próximo. Também é possível criar um loop, para " @@ -2454,7 +2438,7 @@ msgstr "" " sempre faça os mesmos treinos em sequência, p. ex. A > B > C > A > B " "> C e assim por diante." -#: manager/templates/schedule/overview.html:43 +#: manager/templates/schedule/overview.html:44 msgid "" "The currently active schedule will remain active (and be\n" " shown e.g. in your dashboard) till it reaches the last workout or " @@ -2474,7 +2458,7 @@ msgstr "Adicionar cronograma" msgid "Schedule" msgstr "Agendar" -#: manager/templates/schedule/view.html:85 +#: manager/templates/schedule/view.html:39 msgid "" "This schedule is a loop and will go through the workouts above till you " "deactivate it" @@ -2482,19 +2466,15 @@ msgstr "" "Este cronograma é um laço de repetição e irá percorrer os treinos acima até " "que você desative-o" -#: manager/templates/schedule/view.html:103 +#: manager/templates/schedule/view.html:57 msgid "Weeks" msgstr "Semanas" -#: manager/templates/schedule/view.html:115 -msgid "Move me" -msgstr "Me mova" - -#: manager/templates/schedule/view.html:156 +#: manager/templates/schedule/view.html:121 msgid "Start schedule" msgstr "Começar um cronograma" -#: manager/templates/schedule/view.html:187 +#: manager/templates/schedule/view.html:150 #, python-format msgid "" "%(weeks)s Week\n" @@ -2509,11 +2489,11 @@ msgstr[1] "" "%(weeks)s Semanas\n" " " -#: manager/templates/schedule/view.html:221 +#: manager/templates/schedule/view.html:184 msgid "Adding workouts" msgstr "Adicionando treinos" -#: manager/templates/schedule/view.html:223 +#: manager/templates/schedule/view.html:186 msgid "" "Add as many workouts to the schedule as you want. You can\n" " edit the order by dragging and dropping them. It's also possible " @@ -2525,27 +2505,35 @@ msgstr "" "adicionar um treino mais\n" " que uma vez." -#: manager/templates/schedule/view.html:232 -#: manager/templates/schedule/view.html:243 -#: manager/templates/schedule/view.html:290 +#: manager/templates/schedule/view.html:195 +#: manager/templates/schedule/view.html:209 +#: manager/templates/schedule/view.html:263 #: manager/templates/workout/view.html:69 -#: manager/templates/workout/view.html:79 -#: manager/templates/workout/view.html:178 +#: manager/templates/workout/view.html:83 +#: manager/templates/workout/view.html:192 msgid "Export calendar file" msgstr "Exportar ficheiro de calendário" -#: manager/templates/schedule/view.html:236 +#: manager/templates/schedule/view.html:201 msgid "Export this schedule as a calendar file." msgstr "Exporte este cronograma com um ficheiro de calendário." -#: manager/templates/schedule/view.html:237 -#: manager/templates/workout/view.html:74 +#: manager/templates/schedule/view.html:202 +#: manager/templates/workout/view.html:76 +#, fuzzy +#| msgid "" +#| "You can then import the file it into your calendar\n" +#| " application for example google calendar, outlook " +#| "or iCal. This will create\n" +#| " an appointment for each training day with the " +#| "appropriate exercises." msgid "" "You can then import the file it into your calendar\n" " application for example google calendar, outlook or " "iCal. This will create\n" " an appointment for each training day with the " -"appropriate exercises." +"appropriate\n" +" exercises." msgstr "" "Pode então importar o arquivo na sua aplicação\n" " de calendário, como, por exemplo o Google Calendar, " @@ -2553,21 +2541,13 @@ msgstr "" " um evento para cada dia de treino, com os exercícios " "apropriados." -#: manager/templates/schedule/view.html:258 -#: manager/templates/schedule/view.html:294 -#: manager/templates/workout/view.html:94 -#: manager/templates/workout/view.html:174 +#: manager/templates/schedule/view.html:225 +#: manager/templates/schedule/view.html:268 +#: manager/templates/workout/view.html:99 +#: manager/templates/workout/view.html:188 msgid "Download as PDF" msgstr "Baixe como PDF" -#: manager/templates/schedule/view.html:299 -msgid "Edit schedule" -msgstr "Editar cronograma" - -#: manager/templates/schedule/view.html:304 -msgid "Delete schedule" -msgstr "Apagar cronograma" - #: manager/templates/set/add.html:9 #, python-format msgid "Add exercises to day \"%(day_name)s\"" @@ -2645,55 +2625,6 @@ msgid "" "You will regularly receive such reminders till you enter your current weight." msgstr "Você receberá esses lembretes até que indique a sua massa atual." -#: manager/templates/workout/log.html:10 manager/templates/workout/log.html:11 -msgid "Weight log" -msgstr "Log de peso" - -#: manager/templates/workout/log.html:29 -msgid "Weight log for workout" -msgstr "Registro de peso para o treino" - -#: manager/templates/workout/log.html:49 -msgid "Add weight log to this day" -msgstr "Adicionar registro de peso à este dia" - -#: manager/templates/workout/log.html:69 -msgid "No weight entries here." -msgstr "Nenhum registro de peso aqui." - -#: manager/templates/workout/log.html:77 -msgid "No exercises for this day." -msgstr "Nenhum exercício para este dia." - -#: manager/templates/workout/log.html:90 -msgid "" -"This page shows the weight logs belonging to this workout\n" -"only. Click on an exercise to see all the historical data for\n" -"it." -msgstr "" -"Esta página mostra o log de peso referente a este treino\n" -"somente. Clique num exercício para ver todo o histórico\n" -"dele." - -#: manager/templates/workout/log.html:94 -msgid "" -"If on a single day there is more than one entry with the\n" -"same number of repetitions, but different weights, only the entry with the\n" -"higher weight is shown in the diagram." -msgstr "" -"Se num dia houver mais que um registo com o\n" -"mesmo número de repetições, mas com diferentes pesos, somente o registo\n" -"com o maior peso é mostrado no diagrama." - -#: manager/templates/workout/log.html:98 -msgid "" -"Note that only entries with a weight unit (kg or lb) and\n" -"repetitions are charted, other combinations such as time or until failure\n" -"are ignored here." -msgstr "" -"Note que somente as entradas com uma unidade de peso (kg ou lb) erepetições " -"são traçadas, outras combinações como tempo ou até falharsão ignoradas aqui." - #: manager/templates/workout/overview.html:25 msgid "No templates found." msgstr "Nenhum template encontrado." @@ -2731,27 +2662,23 @@ msgstr "Adicionar conjunto de treinos aos dias" msgid "Set the repetitions for each set" msgstr "Defina a repetição para cada conjunto" -#: manager/templates/workout/view.html:73 +#: manager/templates/workout/view.html:75 msgid "Export this workout as a calendar file." msgstr "Exporte este treino como um ficheiro de calendário." -#: manager/templates/workout/view.html:144 +#: manager/templates/workout/view.html:156 msgid "Logs" msgstr "registros" -#: manager/templates/workout/view.html:146 +#: manager/templates/workout/view.html:159 msgid "View logs" msgstr "Ver registros" -#: manager/templates/workout/view.html:169 manager/views/schedule_step.py:99 -msgid "Edit workout" -msgstr "Edite treino" - -#: manager/templates/workout/view.html:182 manager/views/workout.py:281 +#: manager/templates/workout/view.html:195 manager/views/workout.py:281 msgid "Mark as template" msgstr "Marcar como modelo" -#: manager/views/day.py:109 +#: manager/views/day.py:105 msgid "Add workout day" msgstr "Adicione dia de treino" @@ -2768,6 +2695,10 @@ msgstr "Treino para %s" msgid "Create schedule" msgstr "Criar cronograma" +#: manager/views/schedule_step.py:99 +msgid "Edit workout" +msgstr "Edite treino" + #: manager/views/workout.py:209 msgid "Copy workout" msgstr "Copiar treino" @@ -2891,7 +2822,7 @@ msgstr "total em gramas" msgid "Unit amount, e.g. \"1 Cup\" or \"1/2 spoon\"" msgstr "Unidade para quantidade, ex. \"1 xícara\" ou \"1/2 colher\"" -#: nutrition/models/log.py:52 nutrition/models/meal.py:50 +#: nutrition/models/log.py:52 nutrition/models/meal.py:48 #: nutrition/models/meal_item.py:48 nutrition/models/plan.py:108 msgid "Nutrition plan" msgstr "Plano de nutrição" @@ -2904,11 +2835,11 @@ msgstr "Refeição" msgid "Date and Time (Approx.)" msgstr "Data e Hora (aprox.)" -#: nutrition/models/meal.py:62 +#: nutrition/models/meal.py:60 msgid "Time (approx)" msgstr "Tempo (aproximado)" -#: nutrition/models/meal.py:69 +#: nutrition/models/meal.py:67 msgid "" "Give meals a textual description / name such as \"Breakfast\" or \"after " "workout\"" @@ -2937,63 +2868,6 @@ msgstr "" "quantidade de calorias. Você pode usar a calculadora ou entrar o valor " "diretamente." -#: nutrition/templates/bmi/form.html:62 -msgid "Results" -msgstr "Resultados" - -#: nutrition/templates/bmi/form.html:63 -msgid "Your BMI is: " -msgstr "Seu IMC é: " - -#: nutrition/templates/bmi/form.html:71 -msgid "Legend" -msgstr "Legenda" - -#: nutrition/templates/bmi/form.html:75 -msgid "Adipositas III" -msgstr "Adipositas III" - -#: nutrition/templates/bmi/form.html:79 -msgid "Adipositas II" -msgstr "Adipositas II" - -#: nutrition/templates/bmi/form.html:83 -msgid "Adipositas I" -msgstr "Adipositas I" - -#: nutrition/templates/bmi/form.html:87 -msgid "Overweight" -msgstr "Sobrepeso" - -#: nutrition/templates/bmi/form.html:91 -msgid "Normal weight" -msgstr "Peso normal" - -#: nutrition/templates/bmi/form.html:95 -msgid "Slight underweight" -msgstr "Leve subpeso" - -#: nutrition/templates/bmi/form.html:99 -msgid "Moderate underweight" -msgstr "Subpeso moderado" - -#: nutrition/templates/bmi/form.html:103 -msgid "Strong underweight" -msgstr "Forte subpeso" - -#: nutrition/templates/bmi/form.html:117 -msgid "" -"Use the form to calculate your BMI (Body Mass Index).\n" -"If you have entered data in the weight section, the last entry will\n" -"be used automatically. Otherwise the weight you enter here will be saved\n" -"in a new entry." -msgstr "" -"Use o formulário para calcular o seu IMC (Índice de Massa Copórea).\n" -"Se você preencheu os dados na seção de peso, o último registr será\n" -"usado automaticamente. De outra forma o peso que você registrou aqui será " -"salvo\n" -"como um novo registro." - #: nutrition/templates/ingredient/email_new.tpl:1 #, python-format msgid "" @@ -3051,10 +2925,6 @@ msgstr "Nenhum ingrediente." msgid "Search" msgstr "Pesquisa" -#: nutrition/templates/ingredient/overview.html:62 -msgid "Add ingredient" -msgstr "Adicione um ingrediente" - #: nutrition/templates/ingredient/view.html:45 nutrition/views/plan.py:229 msgid "Macronutrients" msgstr "Macronutrientes" @@ -3074,20 +2944,11 @@ msgstr "n.d." msgid "Others" msgstr "Outros" -#: nutrition/templates/ingredient/view.html:144 -#: nutrition/templates/units/list.html:46 nutrition/views/unit.py:86 +#: nutrition/templates/ingredient/view.html:143 +#: nutrition/templates/units/list.html:50 nutrition/views/unit.py:86 msgid "Add new weight unit" msgstr "Adicione nova unidade de peso" -#: nutrition/templates/ingredient/view.html:206 -#: nutrition/templates/ingredient/view.html:209 -msgid "Edit ingredient" -msgstr "Edite ingrediente" - -#: nutrition/templates/ingredient/view.html:213 -msgid "Delete ingredient" -msgstr "Apagar ingrediente" - #: nutrition/templates/rate/form.html:25 msgid "Basal metabolic rate" msgstr "Taxa metabólica basal" @@ -3172,18 +3033,6 @@ msgstr "" "uma aproximação. Se você basear o seu plano de nutrição nestes valores, \n" "observe seu desempenho por algumas semanas e faça os ajustes necessários." -#: nutrition/views/bmi.py:89 -msgid "Please make sure your height is within the appropriate range." -msgstr "Assegure-se de que sua altura está dentro do intervalo adequado." - -#: nutrition/views/bmi.py:92 -msgid "140 to 230" -msgstr "140 a 230" - -#: nutrition/views/bmi.py:94 -msgid "56 to 90" -msgstr "56 a 90" - #: nutrition/views/ingredient.py:157 msgid "Add a new ingredient" msgstr "Adicione um novo ingrediente" @@ -3735,6 +3584,143 @@ msgstr "Excluído com sucesso." msgid "Delete weight entry for the %s" msgstr "Excluir entrada de peso para %s" +#~ msgid "Move me" +#~ msgstr "Me mova" + +#~ msgid "Results" +#~ msgstr "Resultados" + +#~ msgid "Your BMI is: " +#~ msgstr "Seu IMC é: " + +#~ msgid "Legend" +#~ msgstr "Legenda" + +#~ msgid "Adipositas III" +#~ msgstr "Adipositas III" + +#~ msgid "Adipositas II" +#~ msgstr "Adipositas II" + +#~ msgid "Adipositas I" +#~ msgstr "Adipositas I" + +#~ msgid "Overweight" +#~ msgstr "Sobrepeso" + +#~ msgid "Normal weight" +#~ msgstr "Peso normal" + +#~ msgid "Slight underweight" +#~ msgstr "Leve subpeso" + +#~ msgid "Moderate underweight" +#~ msgstr "Subpeso moderado" + +#~ msgid "Strong underweight" +#~ msgstr "Forte subpeso" + +#~ msgid "" +#~ "Use the form to calculate your BMI (Body Mass Index).\n" +#~ "If you have entered data in the weight section, the last entry will\n" +#~ "be used automatically. Otherwise the weight you enter here will be saved\n" +#~ "in a new entry." +#~ msgstr "" +#~ "Use o formulário para calcular o seu IMC (Índice de Massa Copórea).\n" +#~ "Se você preencheu os dados na seção de peso, o último registr será\n" +#~ "usado automaticamente. De outra forma o peso que você registrou aqui será " +#~ "salvo\n" +#~ "como um novo registro." + +#~ msgid "Please make sure your height is within the appropriate range." +#~ msgstr "Assegure-se de que sua altura está dentro do intervalo adequado." + +#~ msgid "140 to 230" +#~ msgstr "140 a 230" + +#~ msgid "56 to 90" +#~ msgstr "56 a 90" + +#~ msgid "" +#~ "If a license has been localized, e.g. the Creative Commons\n" +#~ " licenses for the different countries, add them as separate " +#~ "entries here." +#~ msgstr "" +#~ "Se uma licença for dependente da localização, como as licenças Creative\n" +#~ " Commons para os differentes países, adicione-as como " +#~ "entradas separadas aqui." + +#~ msgid "Add weight log" +#~ msgstr "Registrar peso" + +#~ msgid "This exercise has no repetitions." +#~ msgstr "Este exercício não possui repetições." + +#~ msgid "Edit them now." +#~ msgstr "Edite-os agora." + +#~ msgid "Add exercises to this workout day" +#~ msgstr "Adicione exercícios para este dia de treino" + +#~ msgid "Edit schedule" +#~ msgstr "Editar cronograma" + +#~ msgid "Delete schedule" +#~ msgstr "Apagar cronograma" + +#~ msgid "Weight log" +#~ msgstr "Log de peso" + +#~ msgid "Weight log for workout" +#~ msgstr "Registro de peso para o treino" + +#~ msgid "Add weight log to this day" +#~ msgstr "Adicionar registro de peso à este dia" + +#~ msgid "No weight entries here." +#~ msgstr "Nenhum registro de peso aqui." + +#~ msgid "No exercises for this day." +#~ msgstr "Nenhum exercício para este dia." + +#~ msgid "" +#~ "This page shows the weight logs belonging to this workout\n" +#~ "only. Click on an exercise to see all the historical data for\n" +#~ "it." +#~ msgstr "" +#~ "Esta página mostra o log de peso referente a este treino\n" +#~ "somente. Clique num exercício para ver todo o histórico\n" +#~ "dele." + +#~ msgid "" +#~ "If on a single day there is more than one entry with the\n" +#~ "same number of repetitions, but different weights, only the entry with " +#~ "the\n" +#~ "higher weight is shown in the diagram." +#~ msgstr "" +#~ "Se num dia houver mais que um registo com o\n" +#~ "mesmo número de repetições, mas com diferentes pesos, somente o registo\n" +#~ "com o maior peso é mostrado no diagrama." + +#~ msgid "" +#~ "Note that only entries with a weight unit (kg or lb) and\n" +#~ "repetitions are charted, other combinations such as time or until " +#~ "failure\n" +#~ "are ignored here." +#~ msgstr "" +#~ "Note que somente as entradas com uma unidade de peso (kg ou lb) " +#~ "erepetições são traçadas, outras combinações como tempo ou até falharsão " +#~ "ignoradas aqui." + +#~ msgid "Add ingredient" +#~ msgstr "Adicione um ingrediente" + +#~ msgid "Edit ingredient" +#~ msgstr "Edite ingrediente" + +#~ msgid "Delete ingredient" +#~ msgstr "Apagar ingrediente" + #~ msgid "Ingredients pending review" #~ msgstr "Ingredientes pendendo revisão" diff --git a/wger/locale/ro/LC_MESSAGES/django.po b/wger/locale/ro/LC_MESSAGES/django.po index 32a002051..7217f7147 100644 --- a/wger/locale/ro/LC_MESSAGES/django.po +++ b/wger/locale/ro/LC_MESSAGES/django.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: wger Workout Manager\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-14 15:59+0200\n" +"POT-Creation-Date: 2024-11-14 19:23+0100\n" "PO-Revision-Date: 2023-11-24 01:08+0000\n" "Last-Translator: dimii27 \n" "Language-Team: Romanian \n" @@ -23,7 +23,7 @@ msgstr "" "20)) ? 1 : 2;\n" "X-Generator: Weblate 5.2.1-rc\n" -#: config/models/gym_config.py:46 gym/templates/gym/list.html:53 +#: config/models/gym_config.py:46 gym/templates/gym/list.html:56 msgid "Default gym" msgstr "Sala implicită" @@ -36,28 +36,28 @@ msgstr "" "utilizatorii noi înregistrați la această sală și va actualiza toți " "utilizatorii existenți fără o sală." -#: config/views/gym_config.py:42 core/templates/language/view.html:67 -#: core/templates/license/list.html:17 core/templates/misc/license/list.html:18 +#: config/views/gym_config.py:42 core/templates/language/view.html:64 +#: core/templates/license/list.html:17 #: core/templates/repetition_unit/list.html:18 -#: core/templates/tags/render_day.html:39 -#: core/templates/tags/render_day.html:75 core/templates/user/overview.html:204 -#: core/templates/user/overview.html:445 +#: core/templates/user/overview.html:204 core/templates/user/overview.html:467 #: core/templates/weight_unit/list.html:18 #: exercises/templates/categories/admin-overview.html:17 #: exercises/templates/equipment/admin-overview.html:17 -#: exercises/templates/muscles/admin-overview.html:17 -#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:32 -#: gym/templates/contract/list.html:31 gym/templates/contract/view.html:107 -#: gym/templates/contract_option/list.html:32 -#: gym/templates/contract_type/list.html:32 gym/templates/document/list.html:38 -#: gym/templates/gym/list.html:20 gym/templates/gym/list.html:46 -#: gym/templates/gym/member_list.html:87 gym/templates/gym/member_list.html:140 -#: gym/templates/gym/member_list.html:176 -#: manager/templates/calendar/day.html:68 -#: manager/templates/calendar/month.html:85 -#: manager/templates/calendar/partial_overview_table.html:18 -#: manager/templates/schedule/view.html:118 -#: nutrition/templates/ingredient/view.html:165 +#: exercises/templates/muscles/admin-overview.html:16 +#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:31 +#: gym/templates/contract/list.html:30 gym/templates/contract/view.html:106 +#: gym/templates/contract_option/list.html:29 +#: gym/templates/contract_type/list.html:30 gym/templates/document/list.html:38 +#: gym/templates/gym/list.html:19 gym/templates/gym/list.html:48 +#: gym/templates/gym/member_list.html:94 gym/templates/gym/member_list.html:152 +#: gym/templates/gym/member_list.html:190 +#: manager/templates/calendar/day.html:67 +#: manager/templates/calendar/month.html:84 +#: manager/templates/calendar/partial_overview_table.html:16 +#: manager/templates/schedule/view.html:271 +#: manager/templates/workout/view.html:181 +#: nutrition/templates/ingredient/view.html:164 +#: nutrition/templates/ingredient/view.html:209 #: nutrition/templates/units/list.html:19 msgid "Edit" msgstr "Editare" @@ -92,25 +92,25 @@ msgstr "Programul meu cool de antrenament" msgid "Empty placeholder schedule" msgstr "Program substituent gol" -#: core/forms.py:69 core/templates/navigation.html:285 -#: core/templates/navigation.html:291 core/templates/user/login.html:4 +#: core/forms.py:69 core/templates/navigation.html:284 +#: core/templates/navigation.html:290 core/templates/user/login.html:4 #: software/templates/features.html:82 software/templates/features.html:427 msgid "Login" msgstr "Login" -#: core/forms.py:108 core/forms.py:214 gym/views/export.py:61 +#: core/forms.py:108 core/forms.py:216 gym/views/export.py:61 #: gym/views/gym.py:217 msgid "First name" msgstr "Prenume" -#: core/forms.py:109 core/forms.py:215 core/templates/user/overview.html:266 +#: core/forms.py:109 core/forms.py:217 core/templates/user/overview.html:284 #: gym/views/export.py:62 gym/views/gym.py:217 msgid "Last name" msgstr "Nume" -#: core/forms.py:111 core/forms.py:180 core/templates/user/overview.html:270 +#: core/forms.py:111 core/forms.py:182 core/templates/user/overview.html:288 #: gym/models/contract.py:256 gym/models/gym.py:58 -#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:104 +#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:116 #: gym/templates/gym/new_user.html:30 gym/views/export.py:60 #: mailer/templates/mailer/gym/form.html:4 #: mailer/templates/mailer/gym/overview.html:4 @@ -129,96 +129,95 @@ msgstr "" msgid "Date of Birth" msgstr "Data nașterii" -#: core/forms.py:148 +#: core/forms.py:149 msgid "Personal data" msgstr "Date personale" -#: core/forms.py:159 +#: core/forms.py:161 msgid "Workout reminders" msgstr "Mementouri de antrenament" -#: core/forms.py:166 +#: core/forms.py:168 msgid "Other settings" msgstr "Alte setari" -#: core/forms.py:174 core/views/user.py:624 core/views/user.py:639 -#: core/views/user.py:651 gym/forms.py:73 manager/templates/log/add.html:65 +#: core/forms.py:176 core/views/user.py:623 core/views/user.py:638 +#: core/views/user.py:650 gym/forms.py:73 manager/templates/log/add.html:65 #: manager/templates/set/add.html:70 manager/views/workout.py:203 #: utils/generic_views.py:143 msgid "Save" msgstr "Salvează" -#: core/forms.py:181 +#: core/forms.py:183 msgid "Used for password resets and, optionally, email reminders." msgstr "" "Folosit pentru resetarea parolei și, opțional, pentru memento-uri prin e-" "mail." -#: core/forms.py:210 +#: core/forms.py:212 msgid "This e-mail address is already in use." msgstr "Acest email este deja în uz." -#: core/forms.py:231 gym/templates/gym/new_user.html:26 +#: core/forms.py:233 gym/templates/gym/new_user.html:26 #: gym/templates/gym/reset_user_password.html:24 gym/views/gym.py:217 msgid "Password" msgstr "Parola" -#: core/forms.py:233 +#: core/forms.py:235 msgid "Please enter your current password." msgstr "Te rog introdu parola curentă" -#: core/forms.py:242 core/templates/language/view.html:73 -#: core/templates/license/list.html:19 core/templates/misc/license/list.html:22 -#: core/templates/repetition_unit/list.html:20 -#: core/templates/tags/render_day.html:45 -#: core/templates/tags/render_day.html:81 core/templates/user/overview.html:217 -#: core/templates/weight_unit/list.html:20 -#: exercises/templates/categories/admin-overview.html:19 -#: exercises/templates/equipment/admin-overview.html:19 -#: exercises/templates/muscles/admin-overview.html:19 -#: gym/templates/admin_notes/list.html:40 -#: gym/templates/contract_option/list.html:41 -#: gym/templates/contract_type/list.html:41 gym/templates/document/list.html:46 -#: gym/templates/gym/list.html:22 manager/templates/calendar/day.html:73 -#: manager/templates/calendar/month.html:89 -#: manager/templates/calendar/partial_overview_table.html:23 -#: manager/templates/schedule/view.html:122 -#: manager/templates/workout/view.html:188 -#: nutrition/templates/ingredient/view.html:166 +#: core/forms.py:244 core/templates/language/view.html:70 +#: core/templates/license/list.html:21 +#: core/templates/repetition_unit/list.html:22 +#: core/templates/user/overview.html:233 +#: core/templates/weight_unit/list.html:22 +#: exercises/templates/categories/admin-overview.html:21 +#: exercises/templates/equipment/admin-overview.html:21 +#: exercises/templates/muscles/admin-overview.html:20 +#: gym/templates/admin_notes/list.html:37 +#: gym/templates/contract_option/list.html:35 +#: gym/templates/contract_type/list.html:36 gym/templates/document/list.html:46 +#: gym/templates/gym/list.html:23 manager/templates/calendar/day.html:73 +#: manager/templates/calendar/month.html:88 +#: manager/templates/calendar/partial_overview_table.html:22 +#: manager/templates/schedule/view.html:277 +#: manager/templates/workout/view.html:202 +#: nutrition/templates/ingredient/view.html:168 #: nutrition/templates/ingredient/view.html:215 -#: nutrition/templates/units/list.html:22 +#: nutrition/templates/units/list.html:25 msgid "Delete" msgstr "Ștergere" -#: core/forms.py:251 +#: core/forms.py:253 msgid "Invalid password" msgstr "Parola incorectă" -#: core/forms.py:263 core/forms.py:338 +#: core/forms.py:265 core/forms.py:340 msgid "The form is secured with reCAPTCHA" msgstr "Acest formular este securizat cu reCAPTCHA" -#: core/forms.py:279 core/forms.py:301 core/templates/navigation.html:285 -#: core/templates/navigation.html:297 core/templates/template.html:149 -#: core/templates/user/login.html:20 core/views/user.py:298 +#: core/forms.py:281 core/forms.py:303 core/templates/navigation.html:284 +#: core/templates/navigation.html:296 core/templates/template.html:150 +#: core/templates/user/login.html:20 core/views/user.py:297 #: software/templates/features.html:87 software/templates/features.html:422 msgid "Register" msgstr "Inregistreaza-te" -#: core/forms.py:315 software/templates/features.html:45 +#: core/forms.py:317 software/templates/features.html:45 msgid "Contact" msgstr "Contact" -#: core/forms.py:316 +#: core/forms.py:318 msgid "Some way of answering you (e-mail, etc.)" msgstr "Metodă de contactare (e-mail, etc.)" -#: core/forms.py:324 exercises/models/comment.py:58 manager/models/set.py:61 +#: core/forms.py:326 exercises/models/comment.py:58 manager/models/set.py:61 #: manager/models/setting.py:114 nutrition/models/log.py:77 msgid "Comment" msgstr "Comentariu" -#: core/forms.py:325 +#: core/forms.py:327 msgid "What do you want to say?" msgstr "Ce vrei să spui?" @@ -452,18 +451,18 @@ msgid "The sum of all hours has to be 24" msgstr "" #: core/models/rep_unit.py:36 core/models/weight_unit.py:36 -#: core/templates/user/overview.html:262 core/views/user.py:599 +#: core/templates/user/overview.html:280 core/views/user.py:598 #: exercises/models/category.py:29 exercises/models/equipment.py:29 #: exercises/models/exercise.py:59 exercises/models/muscle.py:36 #: gym/models/contract.py:52 gym/models/contract.py:103 gym/models/gym.py:46 #: gym/models/user_document.py:84 gym/templates/contract/view.html:50 -#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:96 +#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:108 #: gym/views/gym.py:158 manager/models/schedule.py:55 #: manager/models/workout.py:57 measurements/models/category.py:36 #: nutrition/models/ingredient.py:111 -#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:67 +#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:65 #: nutrition/models/weight_unit.py:38 -#: nutrition/templates/ingredient/view.html:152 +#: nutrition/templates/ingredient/view.html:151 msgid "Name" msgstr "Numele" @@ -508,7 +507,7 @@ msgstr "" msgid "Back to \"%(target)s\"" msgstr "" -#: core/templates/delete.html:15 +#: core/templates/delete.html:4 msgid "Are you sure you want to delete this? This action cannot be undone." msgstr "" @@ -564,7 +563,7 @@ msgstr "" msgid "Dashboard" msgstr "" -#: core/templates/language/overview.html:4 core/templates/navigation.html:345 +#: core/templates/language/overview.html:4 core/templates/navigation.html:344 msgid "Languages" msgstr "Limbi" @@ -574,79 +573,72 @@ msgstr "" #: core/templates/language/overview.html:22 #: manager/templates/calendar/month.html:132 -#: manager/templates/schedule/overview.html:28 -#: manager/templates/schedule/view.html:144 +#: manager/templates/schedule/view.html:107 #: manager/templates/workout/overview.html:28 #: nutrition/templates/ingredient/overview.html:38 msgid "Add one now." msgstr "" -#: core/templates/language/overview.html:35 core/templates/license/list.html:40 -#: core/templates/misc/license/list.html:43 -#: core/templates/repetition_unit/list.html:43 -#: core/templates/user/overview.html:326 core/templates/user/overview.html:365 -#: core/templates/user/overview.html:401 -#: core/templates/weight_unit/list.html:43 core/views/languages.py:74 +#: core/templates/language/overview.html:34 core/templates/license/list.html:43 +#: core/templates/repetition_unit/list.html:46 +#: core/templates/user/overview.html:344 core/templates/user/overview.html:384 +#: core/templates/user/overview.html:422 +#: core/templates/weight_unit/list.html:46 core/views/languages.py:74 #: core/views/license.py:66 core/views/repetition_units.py:66 #: core/views/weight_units.py:66 -#: exercises/templates/categories/admin-overview.html:38 -#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:67 -#: gym/templates/contract/list.html:73 -#: gym/templates/contract_option/list.html:72 -#: gym/templates/contract_type/list.html:72 gym/templates/document/list.html:79 -#: gym/templates/gym/member_list.html:211 -#: gym/templates/gym/member_list.html:244 -#: gym/templates/gym/member_list.html:281 +#: exercises/templates/categories/admin-overview.html:40 +#: exercises/templates/equipment/admin-overview.html:39 +#: exercises/templates/muscles/admin-overview.html:40 +#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:64 +#: gym/templates/contract/list.html:69 +#: gym/templates/contract_option/list.html:65 +#: gym/templates/contract_type/list.html:66 gym/templates/document/list.html:78 +#: gym/templates/gym/member_list.html:228 +#: gym/templates/gym/member_list.html:264 +#: gym/templates/gym/member_list.html:303 #: mailer/templates/mailer/gym/overview.html:43 +#: nutrition/templates/ingredient/overview.html:60 msgid "Add" msgstr "Adăugare" #: core/templates/language/view.html:61 core/templates/user/api_key.html:44 -#: core/templates/user/preferences.html:45 gym/models/contract.py:203 -#: gym/templates/contract/view.html:41 gym/templates/contract/view.html:106 -#: gym/templates/gym/member_list.html:248 -#: manager/templates/schedule/view.html:285 -#: manager/templates/workout/view.html:163 -#: nutrition/templates/ingredient/view.html:202 +#: core/templates/user/preferences.html:50 gym/models/contract.py:203 +#: gym/templates/contract/view.html:41 gym/templates/gym/member_list.html:270 +#: manager/templates/schedule/view.html:257 +#: manager/templates/workout/view.html:177 +#: nutrition/templates/ingredient/view.html:206 msgid "Options" msgstr "Opțiuni" -#: core/templates/license/list.html:4 core/templates/misc/license/list.html:4 +#: core/templates/license/list.html:4 msgid "License list" msgstr "" -#: core/templates/license/list.html:26 core/templates/misc/license/list.html:30 -#: core/templates/repetition_unit/list.html:28 +#: core/templates/license/list.html:30 +#: core/templates/repetition_unit/list.html:32 #: core/templates/user/overview.html:104 core/templates/user/overview.html:136 -#: core/templates/user/overview.html:185 core/templates/user/overview.html:347 -#: core/templates/user/overview.html:383 core/templates/user/overview.html:427 -#: core/templates/weight_unit/list.html:28 -#: exercises/templates/categories/admin-overview.html:26 -#: exercises/templates/equipment/admin-overview.html:26 -#: exercises/templates/muscles/admin-overview.html:26 -#: gym/templates/admin_notes/list.html:52 gym/templates/contract/list.html:60 -#: gym/templates/contract_option/list.html:58 -#: gym/templates/contract_type/list.html:58 gym/templates/document/list.html:64 -#: gym/templates/gym/list.html:29 gym/templates/gym/member_list.html:229 -#: gym/templates/gym/member_list.html:262 -#: gym/templates/gym/member_list.html:299 +#: core/templates/user/overview.html:185 core/templates/user/overview.html:365 +#: core/templates/user/overview.html:404 core/templates/user/overview.html:448 +#: core/templates/weight_unit/list.html:32 +#: exercises/templates/categories/admin-overview.html:30 +#: exercises/templates/equipment/admin-overview.html:30 +#: exercises/templates/muscles/admin-overview.html:29 +#: gym/templates/admin_notes/list.html:50 gym/templates/contract/list.html:57 +#: gym/templates/contract_option/list.html:52 +#: gym/templates/contract_type/list.html:53 gym/templates/document/list.html:64 +#: gym/templates/gym/list.html:32 gym/templates/gym/member_list.html:248 +#: gym/templates/gym/member_list.html:284 +#: gym/templates/gym/member_list.html:321 #: mailer/templates/mailer/gym/overview.html:30 -#: manager/templates/calendar/day.html:87 -#: nutrition/templates/units/list.html:29 +#: manager/templates/calendar/day.html:88 +#: nutrition/templates/units/list.html:34 msgid "Nothing found" msgstr "" -#: core/templates/misc/about.html:4 core/templates/template.html:175 +#: core/templates/misc/about.html:4 core/templates/template.html:187 msgid "Imprint" msgstr "" -#: core/templates/misc/license/list.html:47 -msgid "" -"If a license has been localized, e.g. the Creative Commons\n" -" licenses for the different countries, add them as separate " -"entries here." -msgstr "" - #: core/templates/navigation.html:28 software/templates/features.html:437 msgid "Training" msgstr "Antrenament" @@ -693,8 +685,8 @@ msgstr "" msgid "Exercises" msgstr "Exerciții" -#: core/templates/navigation.html:111 core/templates/navigation.html:184 -#: core/templates/navigation.html:340 +#: core/templates/navigation.html:111 core/templates/navigation.html:185 +#: core/templates/navigation.html:339 msgid "Administration" msgstr "Administrație" @@ -725,7 +717,7 @@ msgstr "" msgid "Nutrition plans" msgstr "" -#: core/templates/navigation.html:165 nutrition/templates/bmi/form.html:50 +#: core/templates/navigation.html:165 msgid "BMI calculator" msgstr "" @@ -733,87 +725,87 @@ msgstr "" msgid "Daily calories calculator" msgstr "" -#: core/templates/navigation.html:179 +#: core/templates/navigation.html:180 #: nutrition/templates/ingredient/overview.html:10 msgid "Ingredient overview" msgstr "" -#: core/templates/navigation.html:187 nutrition/templates/units/list.html:6 +#: core/templates/navigation.html:189 nutrition/templates/units/list.html:6 msgid "Ingredient weight units" msgstr "" -#: core/templates/navigation.html:203 software/templates/features.html:442 +#: core/templates/navigation.html:205 software/templates/features.html:442 msgid "Body weight" msgstr "" -#: core/templates/navigation.html:210 core/templates/user/overview.html:114 +#: core/templates/navigation.html:212 core/templates/user/overview.html:114 msgid "Weight overview" msgstr "" -#: core/templates/navigation.html:217 weight/views.py:65 +#: core/templates/navigation.html:216 weight/views.py:65 msgid "Add weight entry" msgstr "" -#: core/templates/navigation.html:231 +#: core/templates/navigation.html:230 msgid "About this software" msgstr "" -#: core/templates/navigation.html:237 software/templates/about_us.html:5 +#: core/templates/navigation.html:236 software/templates/about_us.html:5 msgid "About us" msgstr "" -#: core/templates/navigation.html:243 software/templates/features.html:507 +#: core/templates/navigation.html:242 software/templates/features.html:507 msgid "REST API" msgstr "" -#: core/templates/navigation.html:249 utils/models.py:45 +#: core/templates/navigation.html:248 utils/models.py:45 msgid "License" msgstr "" -#: core/templates/navigation.html:255 +#: core/templates/navigation.html:254 msgid "Developer documentation" msgstr "" -#: core/templates/navigation.html:262 +#: core/templates/navigation.html:261 msgid "Get the code" msgstr "" -#: core/templates/navigation.html:269 core/templates/template.html:214 +#: core/templates/navigation.html:268 core/templates/template.html:226 #: software/templates/features.html:582 msgid "Translate" msgstr "" -#: core/templates/navigation.html:303 core/templates/user/login.html:28 +#: core/templates/navigation.html:302 core/templates/user/login.html:28 msgid "Reset password" msgstr "" -#: core/templates/navigation.html:321 +#: core/templates/navigation.html:320 msgid "My preferences" msgstr "" -#: core/templates/navigation.html:330 +#: core/templates/navigation.html:329 msgid "Logout" msgstr "" -#: core/templates/navigation.html:353 +#: core/templates/navigation.html:352 msgid "Licenses" msgstr "" -#: core/templates/navigation.html:361 +#: core/templates/navigation.html:360 #: core/templates/repetition_unit/list.html:4 msgid "Repetition units" msgstr "" -#: core/templates/navigation.html:369 core/templates/weight_unit/list.html:4 +#: core/templates/navigation.html:368 core/templates/weight_unit/list.html:4 #: nutrition/templates/ingredient/view.html:141 msgid "Weight units" msgstr "" -#: core/templates/navigation.html:377 core/templates/user/list.html:4 +#: core/templates/navigation.html:376 core/templates/user/list.html:4 msgid "User list" msgstr "" -#: core/templates/navigation.html:383 +#: core/templates/navigation.html:382 msgid "Gyms" msgstr "" @@ -874,55 +866,28 @@ msgstr "" msgid "next" msgstr "" -#: core/templates/tags/render_day.html:34 -msgid "Add weight log" +#: core/templates/tags/render_day.html:44 +msgid "Placeholder image for translation" msgstr "" -#: core/templates/tags/render_day.html:116 -msgid "Placeholder image for exercise" -msgstr "" - -#: core/templates/tags/render_day.html:133 -msgid "This exercise has no repetitions." -msgstr "" - -#: core/templates/tags/render_day.html:136 -msgid "Edit them now." -msgstr "" - -#: core/templates/tags/render_day.html:162 -msgid "Add exercises to this workout day" -msgstr "" - -#: core/templates/tags/render_weight_log.html:17 manager/helpers.py:86 -#: manager/models/setting.py:72 manager/templates/set/formset.html:9 -msgid "Reps" -msgstr "" - -#: core/templates/tags/render_weight_log.html:30 manager/forms.py:191 -#: manager/models/log.py:103 manager/models/setting.py:102 -#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 -msgid "RiR" -msgstr "" - -#: core/templates/template.html:122 manager/templates/calendar/month.html:138 -#: manager/templates/schedule/view.html:248 -#: manager/templates/schedule/view.html:269 -#: manager/templates/workout/view.html:84 -#: manager/templates/workout/view.html:137 +#: core/templates/template.html:123 manager/templates/calendar/month.html:138 +#: manager/templates/schedule/view.html:215 +#: manager/templates/schedule/view.html:240 +#: manager/templates/workout/view.html:89 +#: manager/templates/workout/view.html:149 msgid "Close" msgstr "" -#: core/templates/template.html:138 +#: core/templates/template.html:139 msgid "" "You are using a guest account, data entered will be deleted after a week." msgstr "" -#: core/templates/template.html:143 +#: core/templates/template.html:144 msgid "Create some demo entries" msgstr "" -#: core/templates/template.html:180 software/templates/features.html:547 +#: core/templates/template.html:192 software/templates/features.html:547 #: software/templates/tos.html:7 msgid "Terms of service" msgstr "" @@ -931,7 +896,7 @@ msgstr "" msgid "Features" msgstr "" -#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:54 +#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:59 msgid "API key" msgstr "" @@ -970,17 +935,17 @@ msgstr "" msgid "Documentation" msgstr "" -#: core/templates/user/delete_account.html:4 -#: core/templates/user/preferences.html:59 +#: core/templates/user/delete_account.html:3 +#: core/templates/user/preferences.html:62 msgid "Delete account" msgstr "" -#: core/templates/user/delete_account.html:17 +#: core/templates/user/delete_account.html:9 #: exercises/templates/history/overview.html:93 msgid "Are you sure?" msgstr "" -#: core/templates/user/delete_account.html:22 +#: core/templates/user/delete_account.html:14 #, python-format msgid "" "This action will delete the user account \"%(username)s\".\n" @@ -999,22 +964,22 @@ msgstr "" #: core/templates/user/overview.html:25 core/templates/user/overview.html:68 #: core/templates/user/overview.html:112 core/templates/user/overview.html:144 -#: core/templates/user/overview.html:330 core/templates/user/overview.html:369 -#: core/templates/user/overview.html:405 +#: core/templates/user/overview.html:348 core/templates/user/overview.html:390 +#: core/templates/user/overview.html:426 #, python-format msgid "last %(number)s" msgstr "" #: core/templates/user/overview.html:27 core/templates/user/overview.html:146 -#: core/templates/user/overview.html:325 core/templates/user/overview.html:364 -#: core/templates/user/overview.html:400 gym/templates/gym/member_list.html:210 -#: gym/templates/gym/member_list.html:243 -#: gym/templates/gym/member_list.html:280 +#: core/templates/user/overview.html:343 core/templates/user/overview.html:382 +#: core/templates/user/overview.html:421 gym/templates/gym/member_list.html:226 +#: gym/templates/gym/member_list.html:262 +#: gym/templates/gym/member_list.html:302 msgid "Overview" msgstr "" #: core/templates/user/overview.html:28 -#: manager/templates/schedule/view.html:163 +#: manager/templates/schedule/view.html:125 #: manager/templates/workout/overview.html:39 manager/views/schedule_step.py:60 msgid "Add workout" msgstr "" @@ -1046,38 +1011,36 @@ msgstr "Descriere" msgid "Number of logs (days)" msgstr "" -#: core/templates/user/overview.html:37 core/views/user.py:600 +#: core/templates/user/overview.html:37 core/views/user.py:599 #: gym/templates/gym/email_inactive_members.html:4 gym/views/gym.py:158 msgid "Last activity" msgstr "" #: core/templates/user/overview.html:58 #: manager/templates/calendar/month.html:128 -#: manager/templates/schedule/view.html:144 #: manager/templates/workout/overview.html:28 msgid "No workouts found." msgstr "" #: core/templates/user/overview.html:68 manager/forms.py:280 -#: manager/templates/workout/view.html:106 +#: manager/templates/workout/view.html:114 msgid "Log" msgstr "" #: core/templates/user/overview.html:77 manager/models/session.py:83 -#: manager/templates/calendar/partial_overview_table.html:52 +#: manager/templates/calendar/partial_overview_table.html:54 msgid "General impression" msgstr "" -#: core/templates/user/overview.html:78 core/templates/user/overview.html:369 +#: core/templates/user/overview.html:78 core/templates/user/overview.html:390 #: manager/models/session.py:73 -#: manager/templates/calendar/partial_overview_table.html:56 -#: manager/templates/workout/log.html:89 +#: manager/templates/calendar/partial_overview_table.html:58 msgid "Notes" msgstr "" #: core/templates/user/overview.html:79 #: exercises/templates/history/overview.html:30 -#: manager/templates/calendar/partial_overview_table.html:42 +#: manager/templates/calendar/partial_overview_table.html:44 msgid "Time" msgstr "" @@ -1115,121 +1078,121 @@ msgstr "" msgid "kcal" msgstr "" -#: core/templates/user/overview.html:201 core/templates/user/overview.html:322 -#: core/templates/user/overview.html:361 core/templates/user/overview.html:397 -#: core/templates/user/overview.html:442 gym/templates/gym/list.html:42 -#: gym/templates/gym/member_list.html:84 gym/templates/gym/member_list.html:137 -#: gym/templates/gym/member_list.html:173 -#: gym/templates/gym/member_list.html:207 -#: gym/templates/gym/member_list.html:240 -#: gym/templates/gym/member_list.html:277 -#: manager/templates/schedule/view.html:100 +#: core/templates/user/overview.html:201 core/templates/user/overview.html:340 +#: core/templates/user/overview.html:379 core/templates/user/overview.html:418 +#: core/templates/user/overview.html:463 gym/templates/gym/list.html:45 +#: gym/templates/gym/member_list.html:91 gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:187 +#: gym/templates/gym/member_list.html:223 +#: gym/templates/gym/member_list.html:259 +#: gym/templates/gym/member_list.html:299 +#: manager/templates/schedule/view.html:54 msgid "Actions" msgstr "" -#: core/templates/user/overview.html:207 +#: core/templates/user/overview.html:210 msgid "Deactivate user" msgstr "" -#: core/templates/user/overview.html:209 +#: core/templates/user/overview.html:214 msgid "Activate user" msgstr "" -#: core/templates/user/overview.html:211 +#: core/templates/user/overview.html:223 msgid "Reset user password" msgstr "" -#: core/templates/user/overview.html:214 gym/templates/gym/member_list.html:30 +#: core/templates/user/overview.html:227 gym/templates/gym/member_list.html:30 msgid "Roles" msgstr "" -#: core/templates/user/overview.html:225 +#: core/templates/user/overview.html:243 msgid "Password reset confirmation" msgstr "Confirmare resetare parolă" -#: core/templates/user/overview.html:229 +#: core/templates/user/overview.html:247 msgid "Do you really want to change this user's password?" msgstr "" -#: core/templates/user/overview.html:232 +#: core/templates/user/overview.html:250 #: exercises/templates/history/overview.html:106 msgid "No" msgstr "" -#: core/templates/user/overview.html:233 +#: core/templates/user/overview.html:251 #: exercises/templates/history/overview.html:99 msgid "Yes" msgstr "" -#: core/templates/user/overview.html:254 gym/templates/gym/member_list.html:93 +#: core/templates/user/overview.html:272 gym/templates/gym/member_list.html:105 msgid "Details" msgstr "" -#: core/templates/user/overview.html:258 gym/views/export.py:57 -#: manager/helpers.py:86 manager/templates/schedule/view.html:98 +#: core/templates/user/overview.html:276 gym/views/export.py:57 +#: manager/helpers.py:86 manager/templates/schedule/view.html:52 msgid "Nr." msgstr "Nr." -#: core/templates/user/overview.html:280 gym/models/contract.py:287 +#: core/templates/user/overview.html:298 gym/models/contract.py:287 #: gym/models/gym.py:50 gym/templates/contract/view.html:75 -#: gym/templates/gym/member_list.html:100 gym/views/export.py:68 +#: gym/templates/gym/member_list.html:112 gym/views/export.py:68 msgid "Phone" msgstr "" -#: core/templates/user/overview.html:284 gym/templates/contract/view.html:87 -#: gym/templates/gym/member_list.html:118 +#: core/templates/user/overview.html:302 gym/templates/contract/view.html:87 +#: gym/templates/gym/member_list.html:130 msgid "Address" msgstr "" -#: core/templates/user/overview.html:295 +#: core/templates/user/overview.html:313 msgid "Registered" msgstr "" -#: core/templates/user/overview.html:299 +#: core/templates/user/overview.html:317 msgid "Last login" msgstr "" -#: core/templates/user/overview.html:304 +#: core/templates/user/overview.html:322 msgid "Status" msgstr "" -#: core/templates/user/overview.html:307 +#: core/templates/user/overview.html:325 msgid "Active" msgstr "" -#: core/templates/user/overview.html:309 +#: core/templates/user/overview.html:327 msgid "Inactive" msgstr "" -#: core/templates/user/overview.html:330 gym/templates/contract/list.html:4 -#: gym/templates/gym/member_list.html:202 +#: core/templates/user/overview.html:348 gym/templates/contract/list.html:4 +#: gym/templates/gym/member_list.html:218 msgid "Contracts" msgstr "" -#: core/templates/user/overview.html:405 gym/templates/document/list.html:4 +#: core/templates/user/overview.html:426 gym/templates/document/list.html:4 msgid "Documents" msgstr "" -#: core/templates/user/overview.html:412 gym/templates/document/list.html:32 -#: manager/forms.py:292 manager/templates/workout/view.html:132 +#: core/templates/user/overview.html:433 gym/templates/document/list.html:33 +#: manager/forms.py:292 manager/templates/workout/view.html:143 msgid "Download" msgstr "" -#: core/templates/user/overview.html:450 gym/views/admin_config.py:44 +#: core/templates/user/overview.html:474 gym/views/admin_config.py:44 #: gym/views/admin_config.py:58 gym/views/user_config.py:46 msgid "Configuration" msgstr "" -#: core/templates/user/overview.html:453 gym/models/user_config.py:92 +#: core/templates/user/overview.html:477 gym/models/user_config.py:92 msgid "Include in inactive overview" msgstr "" -#: core/templates/user/overview.html:486 +#: core/templates/user/overview.html:510 #, python-format msgid "Admin login is only available for users in %(gym_name)s" msgstr "" -#: core/templates/user/overview.html:490 +#: core/templates/user/overview.html:514 msgid "Log in as this user" msgstr "" @@ -1249,19 +1212,19 @@ msgstr "" msgid "Send verification email" msgstr "" -#: core/templates/user/preferences.html:30 +#: core/templates/user/preferences.html:31 msgid "You need to verify your email to contribute exercises" msgstr "" -#: core/templates/user/preferences.html:50 core/views/user.py:611 +#: core/templates/user/preferences.html:55 core/views/user.py:610 msgid "Change password" msgstr "" -#: core/templatetags/wger_extras.py:205 i18n.tpl:37 +#: core/templatetags/wger_extras.py:197 i18n.tpl:37 msgid "kg" msgstr "" -#: core/templatetags/wger_extras.py:207 +#: core/templatetags/wger_extras.py:199 #: nutrition/templates/ingredient/view.html:60 #: nutrition/templates/ingredient/view.html:66 #: nutrition/templates/ingredient/view.html:73 @@ -1273,11 +1236,11 @@ msgctxt "weight unit, i.e. grams" msgid "g" msgstr "" -#: core/templatetags/wger_extras.py:210 i18n.tpl:38 +#: core/templatetags/wger_extras.py:202 i18n.tpl:38 msgid "lb" msgstr "" -#: core/templatetags/wger_extras.py:212 +#: core/templatetags/wger_extras.py:204 msgctxt "weight unit, i.e. ounces" msgid "oz" msgstr "" @@ -1304,13 +1267,13 @@ msgid "Delete {0}?" msgstr "Ștergere {0}?" #: core/views/languages.py:111 core/views/license.py:85 -#: core/views/repetition_units.py:86 core/views/user.py:474 +#: core/views/repetition_units.py:86 core/views/user.py:473 #: core/views/weight_units.py:86 exercises/views/categories.py:98 #: exercises/views/equipment.py:81 exercises/views/muscles.py:87 #: gym/views/admin_notes.py:161 gym/views/config.py:68 #: gym/views/contract.py:186 gym/views/contract_option.py:123 #: gym/views/contract_type.py:123 gym/views/document.py:171 -#: gym/views/gym.py:463 manager/views/day.py:100 manager/views/schedule.py:333 +#: gym/views/gym.py:463 manager/views/day.py:96 manager/views/schedule.py:333 #: manager/views/workout.py:267 nutrition/views/ingredient.py:145 #: nutrition/views/unit.py:143 #, python-brace-format @@ -1336,48 +1299,48 @@ msgstr "" msgid "Your feedback was successfully sent. Thank you!" msgstr "" -#: core/views/user.py:156 +#: core/views/user.py:155 #, python-brace-format msgid "Account \"{0}\" was successfully deleted" msgstr "" -#: core/views/user.py:292 +#: core/views/user.py:291 msgid "You were successfully registered" msgstr "" -#: core/views/user.py:351 +#: core/views/user.py:350 msgid "Settings successfully updated" msgstr "" -#: core/views/user.py:390 +#: core/views/user.py:389 msgid "The user was successfully deactivated" msgstr "" -#: core/views/user.py:427 +#: core/views/user.py:426 msgid "The user was successfully activated" msgstr "" -#: core/views/user.py:442 +#: core/views/user.py:441 msgid "Edit user" msgstr "" -#: core/views/user.py:597 gym/templates/gym/member_list.html:26 +#: core/views/user.py:596 gym/templates/gym/member_list.html:26 #: gym/views/gym.py:158 msgid "ID" msgstr "" -#: core/views/user.py:598 gym/forms.py:95 gym/templates/contract/view.html:55 +#: core/views/user.py:597 gym/forms.py:95 gym/templates/contract/view.html:55 #: gym/templates/gym/member_list.html:27 gym/views/export.py:59 #: gym/views/gym.py:158 gym/views/gym.py:217 msgid "Username" msgstr "" -#: core/views/user.py:601 gym/templates/gym/new_user.html:34 +#: core/views/user.py:600 gym/templates/gym/new_user.html:34 #: gym/views/export.py:58 gym/views/gym.py:217 msgid "Gym" msgstr "" -#: core/views/user.py:660 +#: core/views/user.py:659 #, python-format msgid "A verification email was sent to %(email)s" msgstr "" @@ -1535,11 +1498,6 @@ msgstr "" msgid "Equipment list" msgstr "" -#: exercises/templates/equipment/admin-overview.html:39 -#: exercises/views/equipment.py:92 -msgid "Add new equipment" -msgstr "" - #: exercises/templates/history/overview.html:11 #, fuzzy #| msgid "Exercise Categories" @@ -1594,11 +1552,6 @@ msgstr "" msgid "Muscle overview" msgstr "Prezentarea generală de muschi" -#: exercises/templates/muscles/admin-overview.html:38 -#: exercises/views/muscles.py:68 -msgid "Add muscle" -msgstr "Adaugă un mușchi" - #: exercises/views/categories.py:72 msgid "Add category" msgstr "Adăugați categoria" @@ -1607,6 +1560,10 @@ msgstr "Adăugați categoria" msgid "This will also delete all exercises in this category." msgstr "" +#: exercises/views/equipment.py:92 +msgid "Add new equipment" +msgstr "" + #: exercises/views/equipment.py:104 exercises/views/equipment.py:115 msgid "Delete equipment?" msgstr "" @@ -1615,6 +1572,10 @@ msgstr "" msgid "This will delete the exercise from all workouts." msgstr "" +#: exercises/views/muscles.py:68 +msgid "Add muscle" +msgstr "Adaugă un mușchi" + #: gallery/templates/images/overview.html:62 #, fuzzy #| msgid "Add muscle" @@ -1702,7 +1663,7 @@ msgid "Contract is active" msgstr "" #: gym/models/contract.py:237 gym/templates/contract/view.html:69 -#: manager/models/schedule.py:61 manager/templates/schedule/view.html:67 +#: manager/models/schedule.py:61 manager/templates/schedule/view.html:21 msgid "Start date" msgstr "" @@ -1738,7 +1699,7 @@ msgstr "" msgid "Admin: can administrate the different gyms" msgstr "" -#: gym/models/gym.py:65 gym/templates/gym/member_list.html:114 +#: gym/models/gym.py:65 gym/templates/gym/member_list.html:126 msgid "Owner" msgstr "" @@ -1748,7 +1709,7 @@ msgid "" "considered inactive" msgstr "" -#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:152 +#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:166 msgid "Show name in header" msgstr "" @@ -1761,7 +1722,7 @@ msgstr "" msgid "Configuration for {self.gym.name}" msgstr "" -#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:184 +#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:200 msgid "Overview of inactive members" msgstr "" @@ -1785,7 +1746,7 @@ msgstr "" msgid "User notes" msgstr "" -#: gym/templates/contract/list.html:36 +#: gym/templates/contract/list.html:34 msgid "Show" msgstr "" @@ -1811,11 +1772,11 @@ msgstr "" msgid "Gym list" msgstr "" -#: gym/templates/gym/list.html:50 +#: gym/templates/gym/list.html:53 msgid "Global gym configuration" msgstr "" -#: gym/templates/gym/list.html:67 gym/views/gym.py:171 +#: gym/templates/gym/list.html:69 gym/views/gym.py:171 msgid "Add new gym" msgstr "" @@ -1827,43 +1788,43 @@ msgstr "" msgid "Gym manager" msgstr "" -#: gym/templates/gym/member_list.html:69 +#: gym/templates/gym/member_list.html:76 msgid "This gym has no administrators or trainers" msgstr "" -#: gym/templates/gym/member_list.html:88 +#: gym/templates/gym/member_list.html:98 msgid "Export" msgstr "" -#: gym/templates/gym/member_list.html:125 +#: gym/templates/gym/member_list.html:137 msgid "Members" msgstr "" -#: gym/templates/gym/member_list.html:145 +#: gym/templates/gym/member_list.html:159 msgid "Gym configuration" msgstr "" -#: gym/templates/gym/member_list.html:148 +#: gym/templates/gym/member_list.html:162 msgid "Inactive members" msgstr "" -#: gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:163 msgid "weeks" msgstr "" -#: gym/templates/gym/member_list.html:181 +#: gym/templates/gym/member_list.html:197 msgid "My configuration" msgstr "" -#: gym/templates/gym/member_list.html:215 +#: gym/templates/gym/member_list.html:234 msgid "Types" msgstr "" -#: gym/templates/gym/member_list.html:285 +#: gym/templates/gym/member_list.html:307 msgid "Emails" msgstr "" -#: gym/templates/gym/member_list.html:315 +#: gym/templates/gym/member_list.html:336 msgid "Add member" msgstr "" @@ -2160,28 +2121,38 @@ msgstr "Folosește și ingrediente din limba Engleză" msgid "Unit" msgstr "" +#: manager/forms.py:191 manager/models/log.py:103 manager/models/setting.py:102 +#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 +msgid "RiR" +msgstr "" + #: manager/forms.py:279 msgid "Type" msgstr "" -#: manager/forms.py:280 manager/templates/workout/view.html:113 +#: manager/forms.py:280 manager/templates/workout/view.html:122 msgid "Table" msgstr "" -#: manager/forms.py:282 manager/templates/workout/view.html:119 +#: manager/forms.py:282 manager/templates/workout/view.html:129 msgid "with images" msgstr "" -#: manager/forms.py:283 manager/templates/workout/view.html:125 +#: manager/forms.py:283 manager/templates/workout/view.html:136 msgid "with comments" msgstr "" +#: manager/helpers.py:86 manager/models/setting.py:72 +#: manager/templates/set/formset.html:9 +msgid "Reps" +msgstr "" + #: manager/management/commands/email-reminders.py:121 msgid "Workout will expire soon" msgstr "" #: manager/models/day.py:34 manager/models/log.py:58 -#: manager/models/session.py:60 manager/templates/schedule/view.html:102 +#: manager/models/session.py:60 manager/templates/schedule/view.html:56 #: manager/templates/workout/view.html:9 manager/templates/workout/view.html:17 #: manager/views/pdf.py:85 manager/views/pdf.py:161 #: manager/views/schedule.py:151 manager/views/schedule.py:221 @@ -2202,7 +2173,7 @@ msgstr "" msgid "Name or short description of the schedule. For example 'Program XYZ'." msgstr "" -#: manager/models/schedule.py:65 manager/templates/schedule/view.html:71 +#: manager/models/schedule.py:65 manager/templates/schedule/view.html:25 msgid "Schedule active" msgstr "" @@ -2213,7 +2184,7 @@ msgid "" "inactive" msgstr "" -#: manager/models/schedule.py:77 manager/templates/schedule/view.html:81 +#: manager/models/schedule.py:77 manager/templates/schedule/view.html:35 msgid "Is a loop" msgstr "" @@ -2232,7 +2203,7 @@ msgid "The duration in weeks" msgstr "" #: manager/models/schedule_step.py:64 manager/models/set.py:53 -#: manager/models/setting.py:113 nutrition/models/meal.py:55 +#: manager/models/setting.py:113 nutrition/models/meal.py:53 #: nutrition/models/meal_item.py:66 msgid "Order" msgstr "" @@ -2366,7 +2337,7 @@ msgstr "" msgid "Workout session" msgstr "" -#: manager/templates/calendar/partial_overview_table.html:27 +#: manager/templates/calendar/partial_overview_table.html:26 msgid "Delete with logs" msgstr "" @@ -2386,21 +2357,27 @@ msgid "" "will simply be edited. Weight entries are always added." msgstr "" -#: manager/templates/schedule/overview.html:5 +#: manager/templates/schedule/overview.html:4 msgid "Your schedules" msgstr "" #: manager/templates/schedule/overview.html:19 -#: manager/templates/schedule/view.html:131 -#: manager/templates/schedule/view.html:183 +#: manager/templates/schedule/view.html:96 +#: manager/templates/schedule/view.html:146 #: manager/templates/workout/overview.html:16 msgid "active" msgstr "" -#: manager/templates/schedule/overview.html:28 +#: manager/templates/schedule/overview.html:27 msgid "No schedules found." msgstr "" +#: manager/templates/schedule/overview.html:28 +#, fuzzy +#| msgid "Add new exercise" +msgid "Add one now" +msgstr "Adăugați un exercițiu nou" + #: manager/templates/schedule/overview.html:36 msgid "" "Schedules are collections of workouts that you do in\n" @@ -2413,10 +2390,11 @@ msgid "" " before jumping to the next. It is also possible to create a loop, so " "you\n" " always do the same workouts in succession, e.g. A > B > C > A > B > " -"C and so on." +"C and so\n" +" on." msgstr "" -#: manager/templates/schedule/overview.html:43 +#: manager/templates/schedule/overview.html:44 msgid "" "The currently active schedule will remain active (and be\n" " shown e.g. in your dashboard) till it reaches the last workout or " @@ -2432,25 +2410,21 @@ msgstr "" msgid "Schedule" msgstr "" -#: manager/templates/schedule/view.html:85 +#: manager/templates/schedule/view.html:39 msgid "" "This schedule is a loop and will go through the workouts above till you " "deactivate it" msgstr "" -#: manager/templates/schedule/view.html:103 +#: manager/templates/schedule/view.html:57 msgid "Weeks" msgstr "" -#: manager/templates/schedule/view.html:115 -msgid "Move me" -msgstr "" - -#: manager/templates/schedule/view.html:156 +#: manager/templates/schedule/view.html:121 msgid "Start schedule" msgstr "" -#: manager/templates/schedule/view.html:187 +#: manager/templates/schedule/view.html:150 #, python-format msgid "" "%(weeks)s Week\n" @@ -2462,11 +2436,11 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: manager/templates/schedule/view.html:221 +#: manager/templates/schedule/view.html:184 msgid "Adding workouts" msgstr "" -#: manager/templates/schedule/view.html:223 +#: manager/templates/schedule/view.html:186 msgid "" "Add as many workouts to the schedule as you want. You can\n" " edit the order by dragging and dropping them. It's also possible " @@ -2474,44 +2448,37 @@ msgid "" " than once." msgstr "" -#: manager/templates/schedule/view.html:232 -#: manager/templates/schedule/view.html:243 -#: manager/templates/schedule/view.html:290 +#: manager/templates/schedule/view.html:195 +#: manager/templates/schedule/view.html:209 +#: manager/templates/schedule/view.html:263 #: manager/templates/workout/view.html:69 -#: manager/templates/workout/view.html:79 -#: manager/templates/workout/view.html:178 +#: manager/templates/workout/view.html:83 +#: manager/templates/workout/view.html:192 msgid "Export calendar file" msgstr "" -#: manager/templates/schedule/view.html:236 +#: manager/templates/schedule/view.html:201 msgid "Export this schedule as a calendar file." msgstr "" -#: manager/templates/schedule/view.html:237 -#: manager/templates/workout/view.html:74 +#: manager/templates/schedule/view.html:202 +#: manager/templates/workout/view.html:76 msgid "" "You can then import the file it into your calendar\n" " application for example google calendar, outlook or " "iCal. This will create\n" " an appointment for each training day with the " -"appropriate exercises." +"appropriate\n" +" exercises." msgstr "" -#: manager/templates/schedule/view.html:258 -#: manager/templates/schedule/view.html:294 -#: manager/templates/workout/view.html:94 -#: manager/templates/workout/view.html:174 +#: manager/templates/schedule/view.html:225 +#: manager/templates/schedule/view.html:268 +#: manager/templates/workout/view.html:99 +#: manager/templates/workout/view.html:188 msgid "Download as PDF" msgstr "" -#: manager/templates/schedule/view.html:299 -msgid "Edit schedule" -msgstr "" - -#: manager/templates/schedule/view.html:304 -msgid "Delete schedule" -msgstr "" - #: manager/templates/set/add.html:9 #, python-format msgid "Add exercises to day \"%(day_name)s\"" @@ -2576,47 +2543,6 @@ msgid "" "You will regularly receive such reminders till you enter your current weight." msgstr "" -#: manager/templates/workout/log.html:10 manager/templates/workout/log.html:11 -msgid "Weight log" -msgstr "Jurnalul de greutate" - -#: manager/templates/workout/log.html:29 -msgid "Weight log for workout" -msgstr "" - -#: manager/templates/workout/log.html:49 -msgid "Add weight log to this day" -msgstr "" - -#: manager/templates/workout/log.html:69 -msgid "No weight entries here." -msgstr "" - -#: manager/templates/workout/log.html:77 -msgid "No exercises for this day." -msgstr "" - -#: manager/templates/workout/log.html:90 -msgid "" -"This page shows the weight logs belonging to this workout\n" -"only. Click on an exercise to see all the historical data for\n" -"it." -msgstr "" - -#: manager/templates/workout/log.html:94 -msgid "" -"If on a single day there is more than one entry with the\n" -"same number of repetitions, but different weights, only the entry with the\n" -"higher weight is shown in the diagram." -msgstr "" - -#: manager/templates/workout/log.html:98 -msgid "" -"Note that only entries with a weight unit (kg or lb) and\n" -"repetitions are charted, other combinations such as time or until failure\n" -"are ignored here." -msgstr "" - #: manager/templates/workout/overview.html:25 msgid "No templates found." msgstr "" @@ -2652,27 +2578,23 @@ msgstr "" msgid "Set the repetitions for each set" msgstr "" -#: manager/templates/workout/view.html:73 +#: manager/templates/workout/view.html:75 msgid "Export this workout as a calendar file." msgstr "" -#: manager/templates/workout/view.html:144 +#: manager/templates/workout/view.html:156 msgid "Logs" msgstr "" -#: manager/templates/workout/view.html:146 +#: manager/templates/workout/view.html:159 msgid "View logs" msgstr "" -#: manager/templates/workout/view.html:169 manager/views/schedule_step.py:99 -msgid "Edit workout" -msgstr "" - -#: manager/templates/workout/view.html:182 manager/views/workout.py:281 +#: manager/templates/workout/view.html:195 manager/views/workout.py:281 msgid "Mark as template" msgstr "" -#: manager/views/day.py:109 +#: manager/views/day.py:105 msgid "Add workout day" msgstr "" @@ -2689,6 +2611,10 @@ msgstr "" msgid "Create schedule" msgstr "" +#: manager/views/schedule_step.py:99 +msgid "Edit workout" +msgstr "" + #: manager/views/workout.py:209 msgid "Copy workout" msgstr "" @@ -2816,7 +2742,7 @@ msgstr "" msgid "Unit amount, e.g. \"1 Cup\" or \"1/2 spoon\"" msgstr "" -#: nutrition/models/log.py:52 nutrition/models/meal.py:50 +#: nutrition/models/log.py:52 nutrition/models/meal.py:48 #: nutrition/models/meal_item.py:48 nutrition/models/plan.py:108 msgid "Nutrition plan" msgstr "" @@ -2829,11 +2755,11 @@ msgstr "" msgid "Date and Time (Approx.)" msgstr "" -#: nutrition/models/meal.py:62 +#: nutrition/models/meal.py:60 msgid "Time (approx)" msgstr "" -#: nutrition/models/meal.py:69 +#: nutrition/models/meal.py:67 msgid "" "Give meals a textual description / name such as \"Breakfast\" or \"after " "workout\"" @@ -2855,58 +2781,6 @@ msgid "" "calories. You can use the calculator or enter the value yourself." msgstr "" -#: nutrition/templates/bmi/form.html:62 -msgid "Results" -msgstr "" - -#: nutrition/templates/bmi/form.html:63 -msgid "Your BMI is: " -msgstr "" - -#: nutrition/templates/bmi/form.html:71 -msgid "Legend" -msgstr "" - -#: nutrition/templates/bmi/form.html:75 -msgid "Adipositas III" -msgstr "" - -#: nutrition/templates/bmi/form.html:79 -msgid "Adipositas II" -msgstr "" - -#: nutrition/templates/bmi/form.html:83 -msgid "Adipositas I" -msgstr "" - -#: nutrition/templates/bmi/form.html:87 -msgid "Overweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:91 -msgid "Normal weight" -msgstr "" - -#: nutrition/templates/bmi/form.html:95 -msgid "Slight underweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:99 -msgid "Moderate underweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:103 -msgid "Strong underweight" -msgstr "" - -#: nutrition/templates/bmi/form.html:117 -msgid "" -"Use the form to calculate your BMI (Body Mass Index).\n" -"If you have entered data in the weight section, the last entry will\n" -"be used automatically. Otherwise the weight you enter here will be saved\n" -"in a new entry." -msgstr "" - #: nutrition/templates/ingredient/email_new.tpl:1 #, python-format msgid "" @@ -2957,10 +2831,6 @@ msgstr "" msgid "Search" msgstr "Căutare" -#: nutrition/templates/ingredient/overview.html:62 -msgid "Add ingredient" -msgstr "" - #: nutrition/templates/ingredient/view.html:45 nutrition/views/plan.py:229 msgid "Macronutrients" msgstr "" @@ -2980,20 +2850,11 @@ msgstr "" msgid "Others" msgstr "" -#: nutrition/templates/ingredient/view.html:144 -#: nutrition/templates/units/list.html:46 nutrition/views/unit.py:86 +#: nutrition/templates/ingredient/view.html:143 +#: nutrition/templates/units/list.html:50 nutrition/views/unit.py:86 msgid "Add new weight unit" msgstr "" -#: nutrition/templates/ingredient/view.html:206 -#: nutrition/templates/ingredient/view.html:209 -msgid "Edit ingredient" -msgstr "" - -#: nutrition/templates/ingredient/view.html:213 -msgid "Delete ingredient" -msgstr "" - #: nutrition/templates/rate/form.html:25 msgid "Basal metabolic rate" msgstr "" @@ -3062,18 +2923,6 @@ msgid "" "yourself for some weeks and change the total amount if needed." msgstr "" -#: nutrition/views/bmi.py:89 -msgid "Please make sure your height is within the appropriate range." -msgstr "" - -#: nutrition/views/bmi.py:92 -msgid "140 to 230" -msgstr "" - -#: nutrition/views/bmi.py:94 -msgid "56 to 90" -msgstr "" - #: nutrition/views/ingredient.py:157 msgid "Add a new ingredient" msgstr "" @@ -3560,6 +3409,9 @@ msgstr "Șters cu succes." msgid "Delete weight entry for the %s" msgstr "Ștergeți greutatea pentru %s" +#~ msgid "Weight log" +#~ msgstr "Jurnalul de greutate" + #~ msgid "Submission date" #~ msgstr "Data depunerii" @@ -3626,11 +3478,6 @@ msgstr "Ștergeți greutatea pentru %s" #~ msgstr "" #~ "Până atunci el nu va fi indicat in prezentarea generală sau in căutare." -#, fuzzy -#~| msgid "Add new exercise" -#~ msgid "Add new video" -#~ msgstr "Adăugați un exercițiu nou" - #~ msgid "Comments for this exercise" #~ msgstr "Comentarii pentru acest exercițiu" diff --git a/wger/locale/ru/LC_MESSAGES/django.po b/wger/locale/ru/LC_MESSAGES/django.po index 041e40ef6..24bd5d06d 100644 --- a/wger/locale/ru/LC_MESSAGES/django.po +++ b/wger/locale/ru/LC_MESSAGES/django.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: wger Workout Manager\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-14 15:59+0200\n" +"POT-Creation-Date: 2024-11-14 19:23+0100\n" "PO-Revision-Date: 2022-05-24 21:14+0000\n" "Last-Translator: Konstantin \n" "Language-Team: Russian \n" @@ -27,7 +27,7 @@ msgstr "" "(n%100>=11 && n%100<=14)? 2 : 3);\n" "X-Generator: Weblate 4.13-dev\n" -#: config/models/gym_config.py:46 gym/templates/gym/list.html:53 +#: config/models/gym_config.py:46 gym/templates/gym/list.html:56 msgid "Default gym" msgstr "Главный тренажерный зал" @@ -40,28 +40,28 @@ msgstr "" "новых зарегистрированных пользователей в этот спортзал и обновит всех " "существующих пользователей без тренажерный зала." -#: config/views/gym_config.py:42 core/templates/language/view.html:67 -#: core/templates/license/list.html:17 core/templates/misc/license/list.html:18 +#: config/views/gym_config.py:42 core/templates/language/view.html:64 +#: core/templates/license/list.html:17 #: core/templates/repetition_unit/list.html:18 -#: core/templates/tags/render_day.html:39 -#: core/templates/tags/render_day.html:75 core/templates/user/overview.html:204 -#: core/templates/user/overview.html:445 +#: core/templates/user/overview.html:204 core/templates/user/overview.html:467 #: core/templates/weight_unit/list.html:18 #: exercises/templates/categories/admin-overview.html:17 #: exercises/templates/equipment/admin-overview.html:17 -#: exercises/templates/muscles/admin-overview.html:17 -#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:32 -#: gym/templates/contract/list.html:31 gym/templates/contract/view.html:107 -#: gym/templates/contract_option/list.html:32 -#: gym/templates/contract_type/list.html:32 gym/templates/document/list.html:38 -#: gym/templates/gym/list.html:20 gym/templates/gym/list.html:46 -#: gym/templates/gym/member_list.html:87 gym/templates/gym/member_list.html:140 -#: gym/templates/gym/member_list.html:176 -#: manager/templates/calendar/day.html:68 -#: manager/templates/calendar/month.html:85 -#: manager/templates/calendar/partial_overview_table.html:18 -#: manager/templates/schedule/view.html:118 -#: nutrition/templates/ingredient/view.html:165 +#: exercises/templates/muscles/admin-overview.html:16 +#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:31 +#: gym/templates/contract/list.html:30 gym/templates/contract/view.html:106 +#: gym/templates/contract_option/list.html:29 +#: gym/templates/contract_type/list.html:30 gym/templates/document/list.html:38 +#: gym/templates/gym/list.html:19 gym/templates/gym/list.html:48 +#: gym/templates/gym/member_list.html:94 gym/templates/gym/member_list.html:152 +#: gym/templates/gym/member_list.html:190 +#: manager/templates/calendar/day.html:67 +#: manager/templates/calendar/month.html:84 +#: manager/templates/calendar/partial_overview_table.html:16 +#: manager/templates/schedule/view.html:271 +#: manager/templates/workout/view.html:181 +#: nutrition/templates/ingredient/view.html:164 +#: nutrition/templates/ingredient/view.html:209 #: nutrition/templates/units/list.html:19 msgid "Edit" msgstr "Редактировать" @@ -97,25 +97,25 @@ msgstr "Моя прикольная программа тренировки" msgid "Empty placeholder schedule" msgstr "Пустая программа-«заполнитель»" -#: core/forms.py:69 core/templates/navigation.html:285 -#: core/templates/navigation.html:291 core/templates/user/login.html:4 +#: core/forms.py:69 core/templates/navigation.html:284 +#: core/templates/navigation.html:290 core/templates/user/login.html:4 #: software/templates/features.html:82 software/templates/features.html:427 msgid "Login" msgstr "Войти" -#: core/forms.py:108 core/forms.py:214 gym/views/export.py:61 +#: core/forms.py:108 core/forms.py:216 gym/views/export.py:61 #: gym/views/gym.py:217 msgid "First name" msgstr "Имя" -#: core/forms.py:109 core/forms.py:215 core/templates/user/overview.html:266 +#: core/forms.py:109 core/forms.py:217 core/templates/user/overview.html:284 #: gym/views/export.py:62 gym/views/gym.py:217 msgid "Last name" msgstr "Фамилия" -#: core/forms.py:111 core/forms.py:180 core/templates/user/overview.html:270 +#: core/forms.py:111 core/forms.py:182 core/templates/user/overview.html:288 #: gym/models/contract.py:256 gym/models/gym.py:58 -#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:104 +#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:116 #: gym/templates/gym/new_user.html:30 gym/views/export.py:60 #: mailer/templates/mailer/gym/form.html:4 #: mailer/templates/mailer/gym/overview.html:4 @@ -132,96 +132,95 @@ msgstr "Используется для сброса пароля и опцио msgid "Date of Birth" msgstr "Дата рождения" -#: core/forms.py:148 +#: core/forms.py:149 msgid "Personal data" msgstr "Персональные данные" -#: core/forms.py:159 +#: core/forms.py:161 msgid "Workout reminders" msgstr "Напоминания тренировок" -#: core/forms.py:166 +#: core/forms.py:168 msgid "Other settings" msgstr "Другие настройки" -#: core/forms.py:174 core/views/user.py:624 core/views/user.py:639 -#: core/views/user.py:651 gym/forms.py:73 manager/templates/log/add.html:65 +#: core/forms.py:176 core/views/user.py:623 core/views/user.py:638 +#: core/views/user.py:650 gym/forms.py:73 manager/templates/log/add.html:65 #: manager/templates/set/add.html:70 manager/views/workout.py:203 #: utils/generic_views.py:143 msgid "Save" msgstr "Сохранить" -#: core/forms.py:181 +#: core/forms.py:183 msgid "Used for password resets and, optionally, email reminders." msgstr "" "Необходимо для возобновлений пароля, и выборочно, напоминаний по электронной " "почте." -#: core/forms.py:210 +#: core/forms.py:212 msgid "This e-mail address is already in use." msgstr "Этот электронный адрес уже используется." -#: core/forms.py:231 gym/templates/gym/new_user.html:26 +#: core/forms.py:233 gym/templates/gym/new_user.html:26 #: gym/templates/gym/reset_user_password.html:24 gym/views/gym.py:217 msgid "Password" msgstr "Пароль" -#: core/forms.py:233 +#: core/forms.py:235 msgid "Please enter your current password." msgstr "Пожалуйста, введите ваш пароль." -#: core/forms.py:242 core/templates/language/view.html:73 -#: core/templates/license/list.html:19 core/templates/misc/license/list.html:22 -#: core/templates/repetition_unit/list.html:20 -#: core/templates/tags/render_day.html:45 -#: core/templates/tags/render_day.html:81 core/templates/user/overview.html:217 -#: core/templates/weight_unit/list.html:20 -#: exercises/templates/categories/admin-overview.html:19 -#: exercises/templates/equipment/admin-overview.html:19 -#: exercises/templates/muscles/admin-overview.html:19 -#: gym/templates/admin_notes/list.html:40 -#: gym/templates/contract_option/list.html:41 -#: gym/templates/contract_type/list.html:41 gym/templates/document/list.html:46 -#: gym/templates/gym/list.html:22 manager/templates/calendar/day.html:73 -#: manager/templates/calendar/month.html:89 -#: manager/templates/calendar/partial_overview_table.html:23 -#: manager/templates/schedule/view.html:122 -#: manager/templates/workout/view.html:188 -#: nutrition/templates/ingredient/view.html:166 +#: core/forms.py:244 core/templates/language/view.html:70 +#: core/templates/license/list.html:21 +#: core/templates/repetition_unit/list.html:22 +#: core/templates/user/overview.html:233 +#: core/templates/weight_unit/list.html:22 +#: exercises/templates/categories/admin-overview.html:21 +#: exercises/templates/equipment/admin-overview.html:21 +#: exercises/templates/muscles/admin-overview.html:20 +#: gym/templates/admin_notes/list.html:37 +#: gym/templates/contract_option/list.html:35 +#: gym/templates/contract_type/list.html:36 gym/templates/document/list.html:46 +#: gym/templates/gym/list.html:23 manager/templates/calendar/day.html:73 +#: manager/templates/calendar/month.html:88 +#: manager/templates/calendar/partial_overview_table.html:22 +#: manager/templates/schedule/view.html:277 +#: manager/templates/workout/view.html:202 +#: nutrition/templates/ingredient/view.html:168 #: nutrition/templates/ingredient/view.html:215 -#: nutrition/templates/units/list.html:22 +#: nutrition/templates/units/list.html:25 msgid "Delete" msgstr "Удалить" -#: core/forms.py:251 +#: core/forms.py:253 msgid "Invalid password" msgstr "Неверный пароль" -#: core/forms.py:263 core/forms.py:338 +#: core/forms.py:265 core/forms.py:340 msgid "The form is secured with reCAPTCHA" msgstr "Данная форма защищена reCAPTCHA" -#: core/forms.py:279 core/forms.py:301 core/templates/navigation.html:285 -#: core/templates/navigation.html:297 core/templates/template.html:149 -#: core/templates/user/login.html:20 core/views/user.py:298 +#: core/forms.py:281 core/forms.py:303 core/templates/navigation.html:284 +#: core/templates/navigation.html:296 core/templates/template.html:150 +#: core/templates/user/login.html:20 core/views/user.py:297 #: software/templates/features.html:87 software/templates/features.html:422 msgid "Register" msgstr "Зарегистрироваться" -#: core/forms.py:315 software/templates/features.html:45 +#: core/forms.py:317 software/templates/features.html:45 msgid "Contact" msgstr "Контакт" -#: core/forms.py:316 +#: core/forms.py:318 msgid "Some way of answering you (e-mail, etc.)" msgstr "Обратная связь с вами (электронная почта, и т.д.)" -#: core/forms.py:324 exercises/models/comment.py:58 manager/models/set.py:61 +#: core/forms.py:326 exercises/models/comment.py:58 manager/models/set.py:61 #: manager/models/setting.py:114 nutrition/models/log.py:77 msgid "Comment" msgstr "Комментарий" -#: core/forms.py:325 +#: core/forms.py:327 msgid "What do you want to say?" msgstr "Что Вы имеете в виду?" @@ -458,18 +457,18 @@ msgid "The sum of all hours has to be 24" msgstr "Сумма всех часов должна быть 24" #: core/models/rep_unit.py:36 core/models/weight_unit.py:36 -#: core/templates/user/overview.html:262 core/views/user.py:599 +#: core/templates/user/overview.html:280 core/views/user.py:598 #: exercises/models/category.py:29 exercises/models/equipment.py:29 #: exercises/models/exercise.py:59 exercises/models/muscle.py:36 #: gym/models/contract.py:52 gym/models/contract.py:103 gym/models/gym.py:46 #: gym/models/user_document.py:84 gym/templates/contract/view.html:50 -#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:96 +#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:108 #: gym/views/gym.py:158 manager/models/schedule.py:55 #: manager/models/workout.py:57 measurements/models/category.py:36 #: nutrition/models/ingredient.py:111 -#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:67 +#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:65 #: nutrition/models/weight_unit.py:38 -#: nutrition/templates/ingredient/view.html:152 +#: nutrition/templates/ingredient/view.html:151 msgid "Name" msgstr "Имя" @@ -523,7 +522,7 @@ msgstr "" msgid "Back to \"%(target)s\"" msgstr "Вернуться к \"%(target)s\"" -#: core/templates/delete.html:15 +#: core/templates/delete.html:4 msgid "Are you sure you want to delete this? This action cannot be undone." msgstr "Вы уверены что хотите это удалить? Это действие необратимо." @@ -580,7 +579,7 @@ msgstr "" msgid "Dashboard" msgstr "Панель управления" -#: core/templates/language/overview.html:4 core/templates/navigation.html:345 +#: core/templates/language/overview.html:4 core/templates/navigation.html:344 msgid "Languages" msgstr "Языки" @@ -590,85 +589,72 @@ msgstr "Ничего не найдено." #: core/templates/language/overview.html:22 #: manager/templates/calendar/month.html:132 -#: manager/templates/schedule/overview.html:28 -#: manager/templates/schedule/view.html:144 +#: manager/templates/schedule/view.html:107 #: manager/templates/workout/overview.html:28 #: nutrition/templates/ingredient/overview.html:38 msgid "Add one now." msgstr "Добавить одну сейчас." -#: core/templates/language/overview.html:35 core/templates/license/list.html:40 -#: core/templates/misc/license/list.html:43 -#: core/templates/repetition_unit/list.html:43 -#: core/templates/user/overview.html:326 core/templates/user/overview.html:365 -#: core/templates/user/overview.html:401 -#: core/templates/weight_unit/list.html:43 core/views/languages.py:74 +#: core/templates/language/overview.html:34 core/templates/license/list.html:43 +#: core/templates/repetition_unit/list.html:46 +#: core/templates/user/overview.html:344 core/templates/user/overview.html:384 +#: core/templates/user/overview.html:422 +#: core/templates/weight_unit/list.html:46 core/views/languages.py:74 #: core/views/license.py:66 core/views/repetition_units.py:66 #: core/views/weight_units.py:66 -#: exercises/templates/categories/admin-overview.html:38 -#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:67 -#: gym/templates/contract/list.html:73 -#: gym/templates/contract_option/list.html:72 -#: gym/templates/contract_type/list.html:72 gym/templates/document/list.html:79 -#: gym/templates/gym/member_list.html:211 -#: gym/templates/gym/member_list.html:244 -#: gym/templates/gym/member_list.html:281 +#: exercises/templates/categories/admin-overview.html:40 +#: exercises/templates/equipment/admin-overview.html:39 +#: exercises/templates/muscles/admin-overview.html:40 +#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:64 +#: gym/templates/contract/list.html:69 +#: gym/templates/contract_option/list.html:65 +#: gym/templates/contract_type/list.html:66 gym/templates/document/list.html:78 +#: gym/templates/gym/member_list.html:228 +#: gym/templates/gym/member_list.html:264 +#: gym/templates/gym/member_list.html:303 #: mailer/templates/mailer/gym/overview.html:43 +#: nutrition/templates/ingredient/overview.html:60 msgid "Add" msgstr "Добавить" #: core/templates/language/view.html:61 core/templates/user/api_key.html:44 -#: core/templates/user/preferences.html:45 gym/models/contract.py:203 -#: gym/templates/contract/view.html:41 gym/templates/contract/view.html:106 -#: gym/templates/gym/member_list.html:248 -#: manager/templates/schedule/view.html:285 -#: manager/templates/workout/view.html:163 -#: nutrition/templates/ingredient/view.html:202 +#: core/templates/user/preferences.html:50 gym/models/contract.py:203 +#: gym/templates/contract/view.html:41 gym/templates/gym/member_list.html:270 +#: manager/templates/schedule/view.html:257 +#: manager/templates/workout/view.html:177 +#: nutrition/templates/ingredient/view.html:206 msgid "Options" msgstr "Опции" -#: core/templates/license/list.html:4 core/templates/misc/license/list.html:4 +#: core/templates/license/list.html:4 msgid "License list" msgstr "Список лицензий" -#: core/templates/license/list.html:26 core/templates/misc/license/list.html:30 -#: core/templates/repetition_unit/list.html:28 +#: core/templates/license/list.html:30 +#: core/templates/repetition_unit/list.html:32 #: core/templates/user/overview.html:104 core/templates/user/overview.html:136 -#: core/templates/user/overview.html:185 core/templates/user/overview.html:347 -#: core/templates/user/overview.html:383 core/templates/user/overview.html:427 -#: core/templates/weight_unit/list.html:28 -#: exercises/templates/categories/admin-overview.html:26 -#: exercises/templates/equipment/admin-overview.html:26 -#: exercises/templates/muscles/admin-overview.html:26 -#: gym/templates/admin_notes/list.html:52 gym/templates/contract/list.html:60 -#: gym/templates/contract_option/list.html:58 -#: gym/templates/contract_type/list.html:58 gym/templates/document/list.html:64 -#: gym/templates/gym/list.html:29 gym/templates/gym/member_list.html:229 -#: gym/templates/gym/member_list.html:262 -#: gym/templates/gym/member_list.html:299 +#: core/templates/user/overview.html:185 core/templates/user/overview.html:365 +#: core/templates/user/overview.html:404 core/templates/user/overview.html:448 +#: core/templates/weight_unit/list.html:32 +#: exercises/templates/categories/admin-overview.html:30 +#: exercises/templates/equipment/admin-overview.html:30 +#: exercises/templates/muscles/admin-overview.html:29 +#: gym/templates/admin_notes/list.html:50 gym/templates/contract/list.html:57 +#: gym/templates/contract_option/list.html:52 +#: gym/templates/contract_type/list.html:53 gym/templates/document/list.html:64 +#: gym/templates/gym/list.html:32 gym/templates/gym/member_list.html:248 +#: gym/templates/gym/member_list.html:284 +#: gym/templates/gym/member_list.html:321 #: mailer/templates/mailer/gym/overview.html:30 -#: manager/templates/calendar/day.html:87 -#: nutrition/templates/units/list.html:29 +#: manager/templates/calendar/day.html:88 +#: nutrition/templates/units/list.html:34 msgid "Nothing found" msgstr "Ничего не найдено" -#: core/templates/misc/about.html:4 core/templates/template.html:175 +#: core/templates/misc/about.html:4 core/templates/template.html:187 msgid "Imprint" msgstr "Отпечаток" -#: core/templates/misc/license/list.html:47 -#, fuzzy -#| msgid "" -#| "If a license has been localized, e.g. the Creative Commons\n" -#| "licenses for the different countries, add them as separate entries here." -msgid "" -"If a license has been localized, e.g. the Creative Commons\n" -" licenses for the different countries, add them as separate " -"entries here." -msgstr "" -"Если лицензии были локализованы, например лицензии\n" -"Creative Commons для разных стран, добавьте их здесь отдельно." - #: core/templates/navigation.html:28 software/templates/features.html:437 msgid "Training" msgstr "Тренировка" @@ -715,8 +701,8 @@ msgstr "Общедоступные шаблоны" msgid "Exercises" msgstr "Упражнения" -#: core/templates/navigation.html:111 core/templates/navigation.html:184 -#: core/templates/navigation.html:340 +#: core/templates/navigation.html:111 core/templates/navigation.html:185 +#: core/templates/navigation.html:339 msgid "Administration" msgstr "Администрация" @@ -747,7 +733,7 @@ msgstr "Питание" msgid "Nutrition plans" msgstr "Программы питания" -#: core/templates/navigation.html:165 nutrition/templates/bmi/form.html:50 +#: core/templates/navigation.html:165 msgid "BMI calculator" msgstr "Калькулятор индекса массы тела" @@ -755,87 +741,87 @@ msgstr "Калькулятор индекса массы тела" msgid "Daily calories calculator" msgstr "Калькулятор ежедневных калорий" -#: core/templates/navigation.html:179 +#: core/templates/navigation.html:180 #: nutrition/templates/ingredient/overview.html:10 msgid "Ingredient overview" msgstr "Обзор ингредиентов" -#: core/templates/navigation.html:187 nutrition/templates/units/list.html:6 +#: core/templates/navigation.html:189 nutrition/templates/units/list.html:6 msgid "Ingredient weight units" msgstr "Единицы веса ингредиентов" -#: core/templates/navigation.html:203 software/templates/features.html:442 +#: core/templates/navigation.html:205 software/templates/features.html:442 msgid "Body weight" msgstr "Вес тела" -#: core/templates/navigation.html:210 core/templates/user/overview.html:114 +#: core/templates/navigation.html:212 core/templates/user/overview.html:114 msgid "Weight overview" msgstr "Обзор веса" -#: core/templates/navigation.html:217 weight/views.py:65 +#: core/templates/navigation.html:216 weight/views.py:65 msgid "Add weight entry" msgstr "Добавить запись веса" -#: core/templates/navigation.html:231 +#: core/templates/navigation.html:230 msgid "About this software" msgstr "Об этой программе" -#: core/templates/navigation.html:237 software/templates/about_us.html:5 +#: core/templates/navigation.html:236 software/templates/about_us.html:5 msgid "About us" msgstr "О нас" -#: core/templates/navigation.html:243 software/templates/features.html:507 +#: core/templates/navigation.html:242 software/templates/features.html:507 msgid "REST API" msgstr "REST API" -#: core/templates/navigation.html:249 utils/models.py:45 +#: core/templates/navigation.html:248 utils/models.py:45 msgid "License" msgstr "Лицензия" -#: core/templates/navigation.html:255 +#: core/templates/navigation.html:254 msgid "Developer documentation" msgstr "Документация для разработчиков" -#: core/templates/navigation.html:262 +#: core/templates/navigation.html:261 msgid "Get the code" msgstr "Получить код" -#: core/templates/navigation.html:269 core/templates/template.html:214 +#: core/templates/navigation.html:268 core/templates/template.html:226 #: software/templates/features.html:582 msgid "Translate" msgstr "Перевести" -#: core/templates/navigation.html:303 core/templates/user/login.html:28 +#: core/templates/navigation.html:302 core/templates/user/login.html:28 msgid "Reset password" msgstr "Восстановить пароль" -#: core/templates/navigation.html:321 +#: core/templates/navigation.html:320 msgid "My preferences" msgstr "Мои настройки" -#: core/templates/navigation.html:330 +#: core/templates/navigation.html:329 msgid "Logout" msgstr "Выйти" -#: core/templates/navigation.html:353 +#: core/templates/navigation.html:352 msgid "Licenses" msgstr "Лицензии" -#: core/templates/navigation.html:361 +#: core/templates/navigation.html:360 #: core/templates/repetition_unit/list.html:4 msgid "Repetition units" msgstr "Единицы повторения" -#: core/templates/navigation.html:369 core/templates/weight_unit/list.html:4 +#: core/templates/navigation.html:368 core/templates/weight_unit/list.html:4 #: nutrition/templates/ingredient/view.html:141 msgid "Weight units" msgstr "Единицы веса" -#: core/templates/navigation.html:377 core/templates/user/list.html:4 +#: core/templates/navigation.html:376 core/templates/user/list.html:4 msgid "User list" msgstr "Список пользователей" -#: core/templates/navigation.html:383 +#: core/templates/navigation.html:382 msgid "Gyms" msgstr "Тренажерные залы" @@ -898,58 +884,32 @@ msgstr "предыдущий" msgid "next" msgstr "следующий" -#: core/templates/tags/render_day.html:34 -msgid "Add weight log" -msgstr "Добавить журнал веса" - -#: core/templates/tags/render_day.html:116 -msgid "Placeholder image for exercise" +#: core/templates/tags/render_day.html:44 +#, fuzzy +#| msgid "Placeholder image for exercise" +msgid "Placeholder image for translation" msgstr "Заполнитель изображения для упражнения" -#: core/templates/tags/render_day.html:133 -msgid "This exercise has no repetitions." -msgstr "Это упражнение не имеет повторений." - -#: core/templates/tags/render_day.html:136 -msgid "Edit them now." -msgstr "Измените их сейчас." - -#: core/templates/tags/render_day.html:162 -msgid "Add exercises to this workout day" -msgstr "Добавить упражнения к этому тренировочному дню" - -#: core/templates/tags/render_weight_log.html:17 manager/helpers.py:86 -#: manager/models/setting.py:72 manager/templates/set/formset.html:9 -msgid "Reps" -msgstr "Повтор" - -#: core/templates/tags/render_weight_log.html:30 manager/forms.py:191 -#: manager/models/log.py:103 manager/models/setting.py:102 -#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 -#, fuzzy -msgid "RiR" -msgstr "ПвЗ" - -#: core/templates/template.html:122 manager/templates/calendar/month.html:138 -#: manager/templates/schedule/view.html:248 -#: manager/templates/schedule/view.html:269 -#: manager/templates/workout/view.html:84 -#: manager/templates/workout/view.html:137 +#: core/templates/template.html:123 manager/templates/calendar/month.html:138 +#: manager/templates/schedule/view.html:215 +#: manager/templates/schedule/view.html:240 +#: manager/templates/workout/view.html:89 +#: manager/templates/workout/view.html:149 msgid "Close" msgstr "Закрыть" -#: core/templates/template.html:138 +#: core/templates/template.html:139 msgid "" "You are using a guest account, data entered will be deleted after a week." msgstr "" "Вы используете аккаунт для гостей, введенные данные будут удалены через " "неделю." -#: core/templates/template.html:143 +#: core/templates/template.html:144 msgid "Create some demo entries" msgstr "Создайте демо-записи" -#: core/templates/template.html:180 software/templates/features.html:547 +#: core/templates/template.html:192 software/templates/features.html:547 #: software/templates/tos.html:7 msgid "Terms of service" msgstr "Условия обслуживания" @@ -958,7 +918,7 @@ msgstr "Условия обслуживания" msgid "Features" msgstr "Особенности" -#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:54 +#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:59 msgid "API key" msgstr "Ключ API" @@ -1003,17 +963,17 @@ msgstr "Сгенерировать новый API ключ" msgid "Documentation" msgstr "Документация" -#: core/templates/user/delete_account.html:4 -#: core/templates/user/preferences.html:59 +#: core/templates/user/delete_account.html:3 +#: core/templates/user/preferences.html:62 msgid "Delete account" msgstr "Удалить аккаунт" -#: core/templates/user/delete_account.html:17 +#: core/templates/user/delete_account.html:9 #: exercises/templates/history/overview.html:93 msgid "Are you sure?" msgstr "Вы уверены?" -#: core/templates/user/delete_account.html:22 +#: core/templates/user/delete_account.html:14 #, python-format msgid "" "This action will delete the user account \"%(username)s\".\n" @@ -1037,22 +997,22 @@ msgstr "Забыли пароль?" #: core/templates/user/overview.html:25 core/templates/user/overview.html:68 #: core/templates/user/overview.html:112 core/templates/user/overview.html:144 -#: core/templates/user/overview.html:330 core/templates/user/overview.html:369 -#: core/templates/user/overview.html:405 +#: core/templates/user/overview.html:348 core/templates/user/overview.html:390 +#: core/templates/user/overview.html:426 #, python-format msgid "last %(number)s" msgstr "Последние %(number)s" #: core/templates/user/overview.html:27 core/templates/user/overview.html:146 -#: core/templates/user/overview.html:325 core/templates/user/overview.html:364 -#: core/templates/user/overview.html:400 gym/templates/gym/member_list.html:210 -#: gym/templates/gym/member_list.html:243 -#: gym/templates/gym/member_list.html:280 +#: core/templates/user/overview.html:343 core/templates/user/overview.html:382 +#: core/templates/user/overview.html:421 gym/templates/gym/member_list.html:226 +#: gym/templates/gym/member_list.html:262 +#: gym/templates/gym/member_list.html:302 msgid "Overview" msgstr "Обзор" #: core/templates/user/overview.html:28 -#: manager/templates/schedule/view.html:163 +#: manager/templates/schedule/view.html:125 #: manager/templates/workout/overview.html:39 manager/views/schedule_step.py:60 msgid "Add workout" msgstr "Добавить тренировку" @@ -1084,38 +1044,36 @@ msgstr "Описание" msgid "Number of logs (days)" msgstr "Количество записей (дней)" -#: core/templates/user/overview.html:37 core/views/user.py:600 +#: core/templates/user/overview.html:37 core/views/user.py:599 #: gym/templates/gym/email_inactive_members.html:4 gym/views/gym.py:158 msgid "Last activity" msgstr "Последние действия" #: core/templates/user/overview.html:58 #: manager/templates/calendar/month.html:128 -#: manager/templates/schedule/view.html:144 #: manager/templates/workout/overview.html:28 msgid "No workouts found." msgstr "Тренировок не найдено." #: core/templates/user/overview.html:68 manager/forms.py:280 -#: manager/templates/workout/view.html:106 +#: manager/templates/workout/view.html:114 msgid "Log" msgstr "Журнал" #: core/templates/user/overview.html:77 manager/models/session.py:83 -#: manager/templates/calendar/partial_overview_table.html:52 +#: manager/templates/calendar/partial_overview_table.html:54 msgid "General impression" msgstr "Общее впечатление" -#: core/templates/user/overview.html:78 core/templates/user/overview.html:369 +#: core/templates/user/overview.html:78 core/templates/user/overview.html:390 #: manager/models/session.py:73 -#: manager/templates/calendar/partial_overview_table.html:56 -#: manager/templates/workout/log.html:89 +#: manager/templates/calendar/partial_overview_table.html:58 msgid "Notes" msgstr "Заметки" #: core/templates/user/overview.html:79 #: exercises/templates/history/overview.html:30 -#: manager/templates/calendar/partial_overview_table.html:42 +#: manager/templates/calendar/partial_overview_table.html:44 msgid "Time" msgstr "Время" @@ -1153,121 +1111,121 @@ msgstr "Жиры" msgid "kcal" msgstr "ккал" -#: core/templates/user/overview.html:201 core/templates/user/overview.html:322 -#: core/templates/user/overview.html:361 core/templates/user/overview.html:397 -#: core/templates/user/overview.html:442 gym/templates/gym/list.html:42 -#: gym/templates/gym/member_list.html:84 gym/templates/gym/member_list.html:137 -#: gym/templates/gym/member_list.html:173 -#: gym/templates/gym/member_list.html:207 -#: gym/templates/gym/member_list.html:240 -#: gym/templates/gym/member_list.html:277 -#: manager/templates/schedule/view.html:100 +#: core/templates/user/overview.html:201 core/templates/user/overview.html:340 +#: core/templates/user/overview.html:379 core/templates/user/overview.html:418 +#: core/templates/user/overview.html:463 gym/templates/gym/list.html:45 +#: gym/templates/gym/member_list.html:91 gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:187 +#: gym/templates/gym/member_list.html:223 +#: gym/templates/gym/member_list.html:259 +#: gym/templates/gym/member_list.html:299 +#: manager/templates/schedule/view.html:54 msgid "Actions" msgstr "Действия" -#: core/templates/user/overview.html:207 +#: core/templates/user/overview.html:210 msgid "Deactivate user" msgstr "Деактивировать пользователя" -#: core/templates/user/overview.html:209 +#: core/templates/user/overview.html:214 msgid "Activate user" msgstr "Активировать пользователя" -#: core/templates/user/overview.html:211 +#: core/templates/user/overview.html:223 msgid "Reset user password" msgstr "Сброс пароля пользователя" -#: core/templates/user/overview.html:214 gym/templates/gym/member_list.html:30 +#: core/templates/user/overview.html:227 gym/templates/gym/member_list.html:30 msgid "Roles" msgstr "Роли" -#: core/templates/user/overview.html:225 +#: core/templates/user/overview.html:243 msgid "Password reset confirmation" msgstr "Подтверждение восстановления пароля" -#: core/templates/user/overview.html:229 +#: core/templates/user/overview.html:247 msgid "Do you really want to change this user's password?" msgstr "Вы действительно хотите изменить пароль этого пользователя?" -#: core/templates/user/overview.html:232 +#: core/templates/user/overview.html:250 #: exercises/templates/history/overview.html:106 msgid "No" msgstr "Нет" -#: core/templates/user/overview.html:233 +#: core/templates/user/overview.html:251 #: exercises/templates/history/overview.html:99 msgid "Yes" msgstr "Да" -#: core/templates/user/overview.html:254 gym/templates/gym/member_list.html:93 +#: core/templates/user/overview.html:272 gym/templates/gym/member_list.html:105 msgid "Details" msgstr "Детали" -#: core/templates/user/overview.html:258 gym/views/export.py:57 -#: manager/helpers.py:86 manager/templates/schedule/view.html:98 +#: core/templates/user/overview.html:276 gym/views/export.py:57 +#: manager/helpers.py:86 manager/templates/schedule/view.html:52 msgid "Nr." msgstr "№" -#: core/templates/user/overview.html:280 gym/models/contract.py:287 +#: core/templates/user/overview.html:298 gym/models/contract.py:287 #: gym/models/gym.py:50 gym/templates/contract/view.html:75 -#: gym/templates/gym/member_list.html:100 gym/views/export.py:68 +#: gym/templates/gym/member_list.html:112 gym/views/export.py:68 msgid "Phone" msgstr "Телефон" -#: core/templates/user/overview.html:284 gym/templates/contract/view.html:87 -#: gym/templates/gym/member_list.html:118 +#: core/templates/user/overview.html:302 gym/templates/contract/view.html:87 +#: gym/templates/gym/member_list.html:130 msgid "Address" msgstr "Адрес" -#: core/templates/user/overview.html:295 +#: core/templates/user/overview.html:313 msgid "Registered" msgstr "Зарегистрировано" -#: core/templates/user/overview.html:299 +#: core/templates/user/overview.html:317 msgid "Last login" msgstr "Последний вход" -#: core/templates/user/overview.html:304 +#: core/templates/user/overview.html:322 msgid "Status" msgstr "Статус" -#: core/templates/user/overview.html:307 +#: core/templates/user/overview.html:325 msgid "Active" msgstr "Активные" -#: core/templates/user/overview.html:309 +#: core/templates/user/overview.html:327 msgid "Inactive" msgstr "Неактивные" -#: core/templates/user/overview.html:330 gym/templates/contract/list.html:4 -#: gym/templates/gym/member_list.html:202 +#: core/templates/user/overview.html:348 gym/templates/contract/list.html:4 +#: gym/templates/gym/member_list.html:218 msgid "Contracts" msgstr "Контакты" -#: core/templates/user/overview.html:405 gym/templates/document/list.html:4 +#: core/templates/user/overview.html:426 gym/templates/document/list.html:4 msgid "Documents" msgstr "Документы" -#: core/templates/user/overview.html:412 gym/templates/document/list.html:32 -#: manager/forms.py:292 manager/templates/workout/view.html:132 +#: core/templates/user/overview.html:433 gym/templates/document/list.html:33 +#: manager/forms.py:292 manager/templates/workout/view.html:143 msgid "Download" msgstr "Загрузка" -#: core/templates/user/overview.html:450 gym/views/admin_config.py:44 +#: core/templates/user/overview.html:474 gym/views/admin_config.py:44 #: gym/views/admin_config.py:58 gym/views/user_config.py:46 msgid "Configuration" msgstr "Конфигурация" -#: core/templates/user/overview.html:453 gym/models/user_config.py:92 +#: core/templates/user/overview.html:477 gym/models/user_config.py:92 msgid "Include in inactive overview" msgstr "Включить в обзор неактивных" -#: core/templates/user/overview.html:486 +#: core/templates/user/overview.html:510 #, python-format msgid "Admin login is only available for users in %(gym_name)s" msgstr "Вход администратора доступен только для пользователей в %(gym_name)s" -#: core/templates/user/overview.html:490 +#: core/templates/user/overview.html:514 msgid "Log in as this user" msgstr "Войти в систему как этот пользователь" @@ -1289,19 +1247,19 @@ msgstr "" msgid "Send verification email" msgstr "" -#: core/templates/user/preferences.html:30 +#: core/templates/user/preferences.html:31 msgid "You need to verify your email to contribute exercises" msgstr "" -#: core/templates/user/preferences.html:50 core/views/user.py:611 +#: core/templates/user/preferences.html:55 core/views/user.py:610 msgid "Change password" msgstr "Изменить" -#: core/templatetags/wger_extras.py:205 i18n.tpl:37 +#: core/templatetags/wger_extras.py:197 i18n.tpl:37 msgid "kg" msgstr "кг" -#: core/templatetags/wger_extras.py:207 +#: core/templatetags/wger_extras.py:199 #: nutrition/templates/ingredient/view.html:60 #: nutrition/templates/ingredient/view.html:66 #: nutrition/templates/ingredient/view.html:73 @@ -1313,11 +1271,11 @@ msgctxt "weight unit, i.e. grams" msgid "g" msgstr "г" -#: core/templatetags/wger_extras.py:210 i18n.tpl:38 +#: core/templatetags/wger_extras.py:202 i18n.tpl:38 msgid "lb" msgstr "lb" -#: core/templatetags/wger_extras.py:212 +#: core/templatetags/wger_extras.py:204 msgctxt "weight unit, i.e. ounces" msgid "oz" msgstr "oz" @@ -1344,13 +1302,13 @@ msgid "Delete {0}?" msgstr "Удалить {0}?" #: core/views/languages.py:111 core/views/license.py:85 -#: core/views/repetition_units.py:86 core/views/user.py:474 +#: core/views/repetition_units.py:86 core/views/user.py:473 #: core/views/weight_units.py:86 exercises/views/categories.py:98 #: exercises/views/equipment.py:81 exercises/views/muscles.py:87 #: gym/views/admin_notes.py:161 gym/views/config.py:68 #: gym/views/contract.py:186 gym/views/contract_option.py:123 #: gym/views/contract_type.py:123 gym/views/document.py:171 -#: gym/views/gym.py:463 manager/views/day.py:100 manager/views/schedule.py:333 +#: gym/views/gym.py:463 manager/views/day.py:96 manager/views/schedule.py:333 #: manager/views/workout.py:267 nutrition/views/ingredient.py:145 #: nutrition/views/unit.py:143 #, python-brace-format @@ -1379,48 +1337,48 @@ msgstr "Отправить" msgid "Your feedback was successfully sent. Thank you!" msgstr "Ваш отзыв был успешно отправлен. Спасибо!" -#: core/views/user.py:156 +#: core/views/user.py:155 #, python-brace-format msgid "Account \"{0}\" was successfully deleted" msgstr "Аккаунт \"{0}\" успешно удален" -#: core/views/user.py:292 +#: core/views/user.py:291 msgid "You were successfully registered" msgstr "Вы были успешно зарегистрированы" -#: core/views/user.py:351 +#: core/views/user.py:350 msgid "Settings successfully updated" msgstr "Настройки успешно обновлены" -#: core/views/user.py:390 +#: core/views/user.py:389 msgid "The user was successfully deactivated" msgstr "Пользователь был успешно отключен" -#: core/views/user.py:427 +#: core/views/user.py:426 msgid "The user was successfully activated" msgstr "Пользователь был успешно активирован" -#: core/views/user.py:442 +#: core/views/user.py:441 msgid "Edit user" msgstr "Редактирование пользователя" -#: core/views/user.py:597 gym/templates/gym/member_list.html:26 +#: core/views/user.py:596 gym/templates/gym/member_list.html:26 #: gym/views/gym.py:158 msgid "ID" msgstr "Идентификация" -#: core/views/user.py:598 gym/forms.py:95 gym/templates/contract/view.html:55 +#: core/views/user.py:597 gym/forms.py:95 gym/templates/contract/view.html:55 #: gym/templates/gym/member_list.html:27 gym/views/export.py:59 #: gym/views/gym.py:158 gym/views/gym.py:217 msgid "Username" msgstr "Имя пользователя" -#: core/views/user.py:601 gym/templates/gym/new_user.html:34 +#: core/views/user.py:600 gym/templates/gym/new_user.html:34 #: gym/views/export.py:58 gym/views/gym.py:217 msgid "Gym" msgstr "Тренажерный зал" -#: core/views/user.py:660 +#: core/views/user.py:659 #, python-format msgid "A verification email was sent to %(email)s" msgstr "" @@ -1580,11 +1538,6 @@ msgstr "Кодек, длинное название" msgid "Equipment list" msgstr "Перечень оборудования" -#: exercises/templates/equipment/admin-overview.html:39 -#: exercises/views/equipment.py:92 -msgid "Add new equipment" -msgstr "Добавить новое оборудование" - #: exercises/templates/history/overview.html:11 #, fuzzy #| msgid "Exercise day" @@ -1644,11 +1597,6 @@ msgstr "" msgid "Muscle overview" msgstr "Обзор мыщц" -#: exercises/templates/muscles/admin-overview.html:38 -#: exercises/views/muscles.py:68 -msgid "Add muscle" -msgstr "Добавить мышцу" - #: exercises/views/categories.py:72 msgid "Add category" msgstr "Добавить категорию" @@ -1657,6 +1605,10 @@ msgstr "Добавить категорию" msgid "This will also delete all exercises in this category." msgstr "Это также удалит все упражнения в этой категории." +#: exercises/views/equipment.py:92 +msgid "Add new equipment" +msgstr "Добавить новое оборудование" + #: exercises/views/equipment.py:104 exercises/views/equipment.py:115 msgid "Delete equipment?" msgstr "Удалить оборудование?" @@ -1665,6 +1617,10 @@ msgstr "Удалить оборудование?" msgid "This will delete the exercise from all workouts." msgstr "Это удалит упражнение из всех тренировок." +#: exercises/views/muscles.py:68 +msgid "Add muscle" +msgstr "Добавить мышцу" + #: gallery/templates/images/overview.html:62 msgid "Add image" msgstr "Добавить изображение" @@ -1752,7 +1708,7 @@ msgid "Contract is active" msgstr "Контракт активен" #: gym/models/contract.py:237 gym/templates/contract/view.html:69 -#: manager/models/schedule.py:61 manager/templates/schedule/view.html:67 +#: manager/models/schedule.py:61 manager/templates/schedule/view.html:21 msgid "Start date" msgstr "Дата начала" @@ -1788,7 +1744,7 @@ msgstr "Администратор: может управлять пользов msgid "Admin: can administrate the different gyms" msgstr "Администратор: может управлять различными залами" -#: gym/models/gym.py:65 gym/templates/gym/member_list.html:114 +#: gym/models/gym.py:65 gym/templates/gym/member_list.html:126 msgid "Owner" msgstr "Владелец" @@ -1800,7 +1756,7 @@ msgstr "" "Количество недель отсутствия пользователя, по истечению которых его " "присутствие будет считаться неактивным" -#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:152 +#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:166 msgid "Show name in header" msgstr "Показывать имя в заголовке" @@ -1814,7 +1770,7 @@ msgstr "Показывать название зала в шапке сайта" msgid "Configuration for {self.gym.name}" msgstr "Конфигурация для {}" -#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:184 +#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:200 msgid "Overview of inactive members" msgstr "Обзор неактивных членов" @@ -1838,7 +1794,7 @@ msgstr "Будет использоваться имя файла, если ни msgid "User notes" msgstr "Заметки пользователя" -#: gym/templates/contract/list.html:36 +#: gym/templates/contract/list.html:34 msgid "Show" msgstr "Показать" @@ -1866,11 +1822,11 @@ msgstr "" msgid "Gym list" msgstr "Список тренажерного зала" -#: gym/templates/gym/list.html:50 +#: gym/templates/gym/list.html:53 msgid "Global gym configuration" msgstr "Глобальная настройка тренажерного зала" -#: gym/templates/gym/list.html:67 gym/views/gym.py:171 +#: gym/templates/gym/list.html:69 gym/views/gym.py:171 msgid "Add new gym" msgstr "Добавить новый тренажерный зал" @@ -1882,43 +1838,43 @@ msgstr "Администраторы и тренеры" msgid "Gym manager" msgstr "Менеджер тренажерного зала" -#: gym/templates/gym/member_list.html:69 +#: gym/templates/gym/member_list.html:76 msgid "This gym has no administrators or trainers" msgstr "Этот зал не имеет администраторов или тренеров" -#: gym/templates/gym/member_list.html:88 +#: gym/templates/gym/member_list.html:98 msgid "Export" msgstr "Экспорт" -#: gym/templates/gym/member_list.html:125 +#: gym/templates/gym/member_list.html:137 msgid "Members" msgstr "Члены" -#: gym/templates/gym/member_list.html:145 +#: gym/templates/gym/member_list.html:159 msgid "Gym configuration" msgstr "Конфигурация тренажерного зала" -#: gym/templates/gym/member_list.html:148 +#: gym/templates/gym/member_list.html:162 msgid "Inactive members" msgstr "Неактивные члены" -#: gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:163 msgid "weeks" msgstr "недели" -#: gym/templates/gym/member_list.html:181 +#: gym/templates/gym/member_list.html:197 msgid "My configuration" msgstr "Моя настройка" -#: gym/templates/gym/member_list.html:215 +#: gym/templates/gym/member_list.html:234 msgid "Types" msgstr "Типы" -#: gym/templates/gym/member_list.html:285 +#: gym/templates/gym/member_list.html:307 msgid "Emails" msgstr "Электронные почты" -#: gym/templates/gym/member_list.html:315 +#: gym/templates/gym/member_list.html:336 msgid "Add member" msgstr "Добавить члена" @@ -2227,28 +2183,39 @@ msgstr "Компоненты также на английском языке" msgid "Unit" msgstr "Секция" +#: manager/forms.py:191 manager/models/log.py:103 manager/models/setting.py:102 +#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 +#, fuzzy +msgid "RiR" +msgstr "ПвЗ" + #: manager/forms.py:279 msgid "Type" msgstr "Тип" -#: manager/forms.py:280 manager/templates/workout/view.html:113 +#: manager/forms.py:280 manager/templates/workout/view.html:122 msgid "Table" msgstr "Таблица" -#: manager/forms.py:282 manager/templates/workout/view.html:119 +#: manager/forms.py:282 manager/templates/workout/view.html:129 msgid "with images" msgstr "с изображениями" -#: manager/forms.py:283 manager/templates/workout/view.html:125 +#: manager/forms.py:283 manager/templates/workout/view.html:136 msgid "with comments" msgstr "с комментариями" +#: manager/helpers.py:86 manager/models/setting.py:72 +#: manager/templates/set/formset.html:9 +msgid "Reps" +msgstr "Повтор" + #: manager/management/commands/email-reminders.py:121 msgid "Workout will expire soon" msgstr "Срок этой тренировки скоро истечет" #: manager/models/day.py:34 manager/models/log.py:58 -#: manager/models/session.py:60 manager/templates/schedule/view.html:102 +#: manager/models/session.py:60 manager/templates/schedule/view.html:56 #: manager/templates/workout/view.html:9 manager/templates/workout/view.html:17 #: manager/views/pdf.py:85 manager/views/pdf.py:161 #: manager/views/schedule.py:151 manager/views/schedule.py:221 @@ -2271,7 +2238,7 @@ msgstr "День" msgid "Name or short description of the schedule. For example 'Program XYZ'." msgstr "Название или короткое описание программы. Например 'Программа XYZ'." -#: manager/models/schedule.py:65 manager/templates/schedule/view.html:71 +#: manager/models/schedule.py:65 manager/templates/schedule/view.html:25 msgid "Schedule active" msgstr "Программа активна" @@ -2285,7 +2252,7 @@ msgstr "" "показана, например, на вашей панели инструментов). Все остальные программы " "будут помечены как неактивные" -#: manager/models/schedule.py:77 manager/templates/schedule/view.html:81 +#: manager/models/schedule.py:77 manager/templates/schedule/view.html:35 msgid "Is a loop" msgstr "Является циклом" @@ -2306,7 +2273,7 @@ msgid "The duration in weeks" msgstr "Длительность в неделях" #: manager/models/schedule_step.py:64 manager/models/set.py:53 -#: manager/models/setting.py:113 nutrition/models/meal.py:55 +#: manager/models/setting.py:113 nutrition/models/meal.py:53 #: nutrition/models/meal_item.py:66 msgid "Order" msgstr "Порядок" @@ -2445,7 +2412,7 @@ msgstr "Обзор журналов" msgid "Workout session" msgstr "Тренировка" -#: manager/templates/calendar/partial_overview_table.html:27 +#: manager/templates/calendar/partial_overview_table.html:26 msgid "Delete with logs" msgstr "Удалить с журналами" @@ -2468,21 +2435,27 @@ msgstr "" "выбранной даты уже не существует один. Если есть, он просто будет " "редактироваться. Записи весов всегда добавляются." -#: manager/templates/schedule/overview.html:5 +#: manager/templates/schedule/overview.html:4 msgid "Your schedules" msgstr "Ваши программы" #: manager/templates/schedule/overview.html:19 -#: manager/templates/schedule/view.html:131 -#: manager/templates/schedule/view.html:183 +#: manager/templates/schedule/view.html:96 +#: manager/templates/schedule/view.html:146 #: manager/templates/workout/overview.html:16 msgid "active" msgstr "активные" -#: manager/templates/schedule/overview.html:28 +#: manager/templates/schedule/overview.html:27 msgid "No schedules found." msgstr "Программ не найдено." +#: manager/templates/schedule/overview.html:28 +#, fuzzy +#| msgid "Add one now." +msgid "Add one now" +msgstr "Добавить одну сейчас." + #: manager/templates/schedule/overview.html:36 #, fuzzy #| msgid "" @@ -2505,13 +2478,14 @@ msgid "" " before jumping to the next. It is also possible to create a loop, so " "you\n" " always do the same workouts in succession, e.g. A > B > C > A > B > " -"C and so on." +"C and so\n" +" on." msgstr "" "Вы можете указать продолжительность каждой тренировки, перед тем как перейти " "к следующей. Также можно создать цикл, для того, чтобы выполнять одинаковые " "тренировки подряд, например A > B > C > A > B > C и т.д." -#: manager/templates/schedule/overview.html:43 +#: manager/templates/schedule/overview.html:44 #, fuzzy #| msgid "" #| "The currently active schedule will remain active (and be\n" @@ -2536,7 +2510,7 @@ msgstr "Добавить тренировку" msgid "Schedule" msgstr "Программа" -#: manager/templates/schedule/view.html:85 +#: manager/templates/schedule/view.html:39 msgid "" "This schedule is a loop and will go through the workouts above till you " "deactivate it" @@ -2544,19 +2518,15 @@ msgstr "" "Это программа - бесконечный цикл и будет повторяться до тех пор, пока Вы ее " "не отключите" -#: manager/templates/schedule/view.html:103 +#: manager/templates/schedule/view.html:57 msgid "Weeks" msgstr "Недели" -#: manager/templates/schedule/view.html:115 -msgid "Move me" -msgstr "Переместите меня" - -#: manager/templates/schedule/view.html:156 +#: manager/templates/schedule/view.html:121 msgid "Start schedule" msgstr "Начать программу тренировок" -#: manager/templates/schedule/view.html:187 +#: manager/templates/schedule/view.html:150 #, fuzzy, python-format #| msgid "" #| "%(weeks)s Week\n" @@ -2583,11 +2553,11 @@ msgstr[3] "" "%(weeks)s Недель\n" " " -#: manager/templates/schedule/view.html:221 +#: manager/templates/schedule/view.html:184 msgid "Adding workouts" msgstr "Добавляю тренировки" -#: manager/templates/schedule/view.html:223 +#: manager/templates/schedule/view.html:186 #, fuzzy #| msgid "" #| "Add as many workouts to the schedule as you want. You can\n" @@ -2604,21 +2574,21 @@ msgstr "" "изменить порядок, перетаскивая их. Также можно добавлять одну тренировку " "несколько раз." -#: manager/templates/schedule/view.html:232 -#: manager/templates/schedule/view.html:243 -#: manager/templates/schedule/view.html:290 +#: manager/templates/schedule/view.html:195 +#: manager/templates/schedule/view.html:209 +#: manager/templates/schedule/view.html:263 #: manager/templates/workout/view.html:69 -#: manager/templates/workout/view.html:79 -#: manager/templates/workout/view.html:178 +#: manager/templates/workout/view.html:83 +#: manager/templates/workout/view.html:192 msgid "Export calendar file" msgstr "Экспортировать файл календаря" -#: manager/templates/schedule/view.html:236 +#: manager/templates/schedule/view.html:201 msgid "Export this schedule as a calendar file." msgstr "Экспортируйте расписание в файл календаря." -#: manager/templates/schedule/view.html:237 -#: manager/templates/workout/view.html:74 +#: manager/templates/schedule/view.html:202 +#: manager/templates/workout/view.html:76 #, fuzzy #| msgid "" #| "You can then import the file it into your calendar\n" @@ -2630,27 +2600,20 @@ msgid "" " application for example google calendar, outlook or " "iCal. This will create\n" " an appointment for each training day with the " -"appropriate exercises." +"appropriate\n" +" exercises." msgstr "" "Этот файл можно затем импортировать в приложение Календарь, например google " "календарь, outlook или iCal. Это позволит создать расписание на каждый " "тренировочный день с соответствующими упражнениями." -#: manager/templates/schedule/view.html:258 -#: manager/templates/schedule/view.html:294 -#: manager/templates/workout/view.html:94 -#: manager/templates/workout/view.html:174 +#: manager/templates/schedule/view.html:225 +#: manager/templates/schedule/view.html:268 +#: manager/templates/workout/view.html:99 +#: manager/templates/workout/view.html:188 msgid "Download as PDF" msgstr "Скачать в формате PDF" -#: manager/templates/schedule/view.html:299 -msgid "Edit schedule" -msgstr "Отредактировать программу" - -#: manager/templates/schedule/view.html:304 -msgid "Delete schedule" -msgstr "Удалить программу" - #: manager/templates/set/add.html:9 #, python-format msgid "Add exercises to day \"%(day_name)s\"" @@ -2728,56 +2691,6 @@ msgstr "" "Вы будете регулярно получать такие напоминания, пока не укажете свой текущий " "вес." -#: manager/templates/workout/log.html:10 manager/templates/workout/log.html:11 -msgid "Weight log" -msgstr "Регистрация веса" - -#: manager/templates/workout/log.html:29 -msgid "Weight log for workout" -msgstr "Регистрация веса для тренировки" - -#: manager/templates/workout/log.html:49 -msgid "Add weight log to this day" -msgstr "Добавить запись веса к этому дню" - -#: manager/templates/workout/log.html:69 -msgid "No weight entries here." -msgstr "Здесь нет записей веса." - -#: manager/templates/workout/log.html:77 -msgid "No exercises for this day." -msgstr "Для этого дня упражнений нет." - -#: manager/templates/workout/log.html:90 -msgid "" -"This page shows the weight logs belonging to this workout\n" -"only. Click on an exercise to see all the historical data for\n" -"it." -msgstr "" -"Эта страница показывает журнал веса только для этой тренировки. Нажмите на " -"упражнение для показа его предыдущих данных." - -#: manager/templates/workout/log.html:94 -msgid "" -"If on a single day there is more than one entry with the\n" -"same number of repetitions, but different weights, only the entry with the\n" -"higher weight is shown in the diagram." -msgstr "" -"Если на один день приходится больше одной записи с одинаковым количеством " -"повторений, но разными тяжестями, то на графике будет показана только запись " -"с большим весом." - -#: manager/templates/workout/log.html:98 -msgid "" -"Note that only entries with a weight unit (kg or lb) and\n" -"repetitions are charted, other combinations such as time or until failure\n" -"are ignored here." -msgstr "" -"Обратите внимание, что только записи с единицей веса (кг или фунт) и\n" -"повторений отображаются на графике. Другие комбинации, такие как время или " -"до отказа\n" -"игнорируются." - #: manager/templates/workout/overview.html:25 msgid "No templates found." msgstr "Шаблоны не найдены." @@ -2815,27 +2728,23 @@ msgstr "Добавить наборы подходов к тренировочн msgid "Set the repetitions for each set" msgstr "Установить повторения к каждому подходу" -#: manager/templates/workout/view.html:73 +#: manager/templates/workout/view.html:75 msgid "Export this workout as a calendar file." msgstr "Экспортировать тренировку в формате календаря." -#: manager/templates/workout/view.html:144 +#: manager/templates/workout/view.html:156 msgid "Logs" msgstr "Журналы" -#: manager/templates/workout/view.html:146 +#: manager/templates/workout/view.html:159 msgid "View logs" msgstr "Просмотр журналов" -#: manager/templates/workout/view.html:169 manager/views/schedule_step.py:99 -msgid "Edit workout" -msgstr "Изменить тренировку" - -#: manager/templates/workout/view.html:182 manager/views/workout.py:281 +#: manager/templates/workout/view.html:195 manager/views/workout.py:281 msgid "Mark as template" msgstr "Пометить как шаблон" -#: manager/views/day.py:109 +#: manager/views/day.py:105 msgid "Add workout day" msgstr "Добавить тренировочный день" @@ -2852,6 +2761,10 @@ msgstr "Тренировка для %s" msgid "Create schedule" msgstr "Создать программу" +#: manager/views/schedule_step.py:99 +msgid "Edit workout" +msgstr "Изменить тренировку" + #: manager/views/workout.py:209 msgid "Copy workout" msgstr "Копировать тренировку" @@ -2982,7 +2895,7 @@ msgstr "Количество в граммах" msgid "Unit amount, e.g. \"1 Cup\" or \"1/2 spoon\"" msgstr "Единица измерения количества, например \"1 чашка\" или \"1/2 ложки\"" -#: nutrition/models/log.py:52 nutrition/models/meal.py:50 +#: nutrition/models/log.py:52 nutrition/models/meal.py:48 #: nutrition/models/meal_item.py:48 nutrition/models/plan.py:108 msgid "Nutrition plan" msgstr "Программа питания" @@ -2997,11 +2910,11 @@ msgstr "Прием пищи" msgid "Date and Time (Approx.)" msgstr "Время (приблизительно)" -#: nutrition/models/meal.py:62 +#: nutrition/models/meal.py:60 msgid "Time (approx)" msgstr "Время (приблизительно)" -#: nutrition/models/meal.py:69 +#: nutrition/models/meal.py:67 msgid "" "Give meals a textual description / name such as \"Breakfast\" or \"after " "workout\"" @@ -3029,62 +2942,6 @@ msgstr "" "количества калорий. Вы можете использовать калькулятор или ввести их " "самостоятельно." -#: nutrition/templates/bmi/form.html:62 -msgid "Results" -msgstr "Результаты" - -#: nutrition/templates/bmi/form.html:63 -msgid "Your BMI is: " -msgstr "Ваш ИМТ: " - -#: nutrition/templates/bmi/form.html:71 -msgid "Legend" -msgstr "Условное обозначение" - -#: nutrition/templates/bmi/form.html:75 -msgid "Adipositas III" -msgstr "Ожирение III" - -#: nutrition/templates/bmi/form.html:79 -msgid "Adipositas II" -msgstr "Ожирение II" - -#: nutrition/templates/bmi/form.html:83 -msgid "Adipositas I" -msgstr "Ожирение I" - -#: nutrition/templates/bmi/form.html:87 -msgid "Overweight" -msgstr "Избыточный вес" - -#: nutrition/templates/bmi/form.html:91 -msgid "Normal weight" -msgstr "Нормальный вес" - -#: nutrition/templates/bmi/form.html:95 -msgid "Slight underweight" -msgstr "Легкий недостаток веса" - -#: nutrition/templates/bmi/form.html:99 -msgid "Moderate underweight" -msgstr "Умеренный недостаток веса" - -#: nutrition/templates/bmi/form.html:103 -msgid "Strong underweight" -msgstr "Сильный недостаток веса" - -#: nutrition/templates/bmi/form.html:117 -msgid "" -"Use the form to calculate your BMI (Body Mass Index).\n" -"If you have entered data in the weight section, the last entry will\n" -"be used automatically. Otherwise the weight you enter here will be saved\n" -"in a new entry." -msgstr "" -"Используйте эту форму, чтобы вычислить ваш ИМТ (Индекс Массы Тела).\n" -"Если вы ввели данные в раздел веса, последняя запись будет\n" -"использоваться автоматически. В противном случае, вес, который вы укажите " -"здесь будет сохранен в новой записи." - #: nutrition/templates/ingredient/email_new.tpl:1 #, python-format msgid "" @@ -3137,10 +2994,6 @@ msgstr "Ингредиентов нет." msgid "Search" msgstr "Поиск" -#: nutrition/templates/ingredient/overview.html:62 -msgid "Add ingredient" -msgstr "Добавить ингредиент" - #: nutrition/templates/ingredient/view.html:45 nutrition/views/plan.py:229 msgid "Macronutrients" msgstr "Макронутриенты" @@ -3160,20 +3013,11 @@ msgstr "не имеется в наличии" msgid "Others" msgstr "Другие" -#: nutrition/templates/ingredient/view.html:144 -#: nutrition/templates/units/list.html:46 nutrition/views/unit.py:86 +#: nutrition/templates/ingredient/view.html:143 +#: nutrition/templates/units/list.html:50 nutrition/views/unit.py:86 msgid "Add new weight unit" msgstr "Добавить новую единицу веса" -#: nutrition/templates/ingredient/view.html:206 -#: nutrition/templates/ingredient/view.html:209 -msgid "Edit ingredient" -msgstr "Изменить ингредиент" - -#: nutrition/templates/ingredient/view.html:213 -msgid "Delete ingredient" -msgstr "Удалить ингредиент" - #: nutrition/templates/rate/form.html:25 msgid "Basal metabolic rate" msgstr "Уровень базального метаболизма" @@ -3258,18 +3102,6 @@ msgstr "" "вы создаете ваш план питания на этих значениях, понаблюдайте за собой " "несколько недель и при необходимости измените общее количество." -#: nutrition/views/bmi.py:89 -msgid "Please make sure your height is within the appropriate range." -msgstr "" - -#: nutrition/views/bmi.py:92 -msgid "140 to 230" -msgstr "" - -#: nutrition/views/bmi.py:94 -msgid "56 to 90" -msgstr "" - #: nutrition/views/ingredient.py:157 msgid "Add a new ingredient" msgstr "Добавить новый ингредиент" @@ -3830,6 +3662,136 @@ msgstr "Успешно удалено." msgid "Delete weight entry for the %s" msgstr "Удалить запись о весе для %s" +#~ msgid "Move me" +#~ msgstr "Переместите меня" + +#~ msgid "Results" +#~ msgstr "Результаты" + +#~ msgid "Your BMI is: " +#~ msgstr "Ваш ИМТ: " + +#~ msgid "Legend" +#~ msgstr "Условное обозначение" + +#~ msgid "Adipositas III" +#~ msgstr "Ожирение III" + +#~ msgid "Adipositas II" +#~ msgstr "Ожирение II" + +#~ msgid "Adipositas I" +#~ msgstr "Ожирение I" + +#~ msgid "Overweight" +#~ msgstr "Избыточный вес" + +#~ msgid "Normal weight" +#~ msgstr "Нормальный вес" + +#~ msgid "Slight underweight" +#~ msgstr "Легкий недостаток веса" + +#~ msgid "Moderate underweight" +#~ msgstr "Умеренный недостаток веса" + +#~ msgid "Strong underweight" +#~ msgstr "Сильный недостаток веса" + +#~ msgid "" +#~ "Use the form to calculate your BMI (Body Mass Index).\n" +#~ "If you have entered data in the weight section, the last entry will\n" +#~ "be used automatically. Otherwise the weight you enter here will be saved\n" +#~ "in a new entry." +#~ msgstr "" +#~ "Используйте эту форму, чтобы вычислить ваш ИМТ (Индекс Массы Тела).\n" +#~ "Если вы ввели данные в раздел веса, последняя запись будет\n" +#~ "использоваться автоматически. В противном случае, вес, который вы укажите " +#~ "здесь будет сохранен в новой записи." + +#, fuzzy +#~| msgid "" +#~| "If a license has been localized, e.g. the Creative Commons\n" +#~| "licenses for the different countries, add them as separate entries here." +#~ msgid "" +#~ "If a license has been localized, e.g. the Creative Commons\n" +#~ " licenses for the different countries, add them as separate " +#~ "entries here." +#~ msgstr "" +#~ "Если лицензии были локализованы, например лицензии\n" +#~ "Creative Commons для разных стран, добавьте их здесь отдельно." + +#~ msgid "Add weight log" +#~ msgstr "Добавить журнал веса" + +#~ msgid "This exercise has no repetitions." +#~ msgstr "Это упражнение не имеет повторений." + +#~ msgid "Edit them now." +#~ msgstr "Измените их сейчас." + +#~ msgid "Add exercises to this workout day" +#~ msgstr "Добавить упражнения к этому тренировочному дню" + +#~ msgid "Edit schedule" +#~ msgstr "Отредактировать программу" + +#~ msgid "Delete schedule" +#~ msgstr "Удалить программу" + +#~ msgid "Weight log" +#~ msgstr "Регистрация веса" + +#~ msgid "Weight log for workout" +#~ msgstr "Регистрация веса для тренировки" + +#~ msgid "Add weight log to this day" +#~ msgstr "Добавить запись веса к этому дню" + +#~ msgid "No weight entries here." +#~ msgstr "Здесь нет записей веса." + +#~ msgid "No exercises for this day." +#~ msgstr "Для этого дня упражнений нет." + +#~ msgid "" +#~ "This page shows the weight logs belonging to this workout\n" +#~ "only. Click on an exercise to see all the historical data for\n" +#~ "it." +#~ msgstr "" +#~ "Эта страница показывает журнал веса только для этой тренировки. Нажмите " +#~ "на упражнение для показа его предыдущих данных." + +#~ msgid "" +#~ "If on a single day there is more than one entry with the\n" +#~ "same number of repetitions, but different weights, only the entry with " +#~ "the\n" +#~ "higher weight is shown in the diagram." +#~ msgstr "" +#~ "Если на один день приходится больше одной записи с одинаковым количеством " +#~ "повторений, но разными тяжестями, то на графике будет показана только " +#~ "запись с большим весом." + +#~ msgid "" +#~ "Note that only entries with a weight unit (kg or lb) and\n" +#~ "repetitions are charted, other combinations such as time or until " +#~ "failure\n" +#~ "are ignored here." +#~ msgstr "" +#~ "Обратите внимание, что только записи с единицей веса (кг или фунт) и\n" +#~ "повторений отображаются на графике. Другие комбинации, такие как время " +#~ "или до отказа\n" +#~ "игнорируются." + +#~ msgid "Add ingredient" +#~ msgstr "Добавить ингредиент" + +#~ msgid "Edit ingredient" +#~ msgstr "Изменить ингредиент" + +#~ msgid "Delete ingredient" +#~ msgstr "Удалить ингредиент" + #~ msgid "Ingredients pending review" #~ msgstr "Ингредиенты ожидающие рассмотрения" diff --git a/wger/locale/sv/LC_MESSAGES/django.po b/wger/locale/sv/LC_MESSAGES/django.po index a080d8d32..daacc5096 100644 --- a/wger/locale/sv/LC_MESSAGES/django.po +++ b/wger/locale/sv/LC_MESSAGES/django.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: wger Workout Manager\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-14 15:59+0200\n" +"POT-Creation-Date: 2024-11-14 19:23+0100\n" "PO-Revision-Date: 2023-01-18 17:47+0000\n" "Last-Translator: tygyh \n" "Language-Team: Swedish \n" @@ -22,7 +22,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.15.1-dev\n" -#: config/models/gym_config.py:46 gym/templates/gym/list.html:53 +#: config/models/gym_config.py:46 gym/templates/gym/list.html:56 msgid "Default gym" msgstr "Standard gym" @@ -35,28 +35,28 @@ msgstr "" "alla nya registrerade användare här gym och uppdatera alla befintliga " "användare utan ett gym." -#: config/views/gym_config.py:42 core/templates/language/view.html:67 -#: core/templates/license/list.html:17 core/templates/misc/license/list.html:18 +#: config/views/gym_config.py:42 core/templates/language/view.html:64 +#: core/templates/license/list.html:17 #: core/templates/repetition_unit/list.html:18 -#: core/templates/tags/render_day.html:39 -#: core/templates/tags/render_day.html:75 core/templates/user/overview.html:204 -#: core/templates/user/overview.html:445 +#: core/templates/user/overview.html:204 core/templates/user/overview.html:467 #: core/templates/weight_unit/list.html:18 #: exercises/templates/categories/admin-overview.html:17 #: exercises/templates/equipment/admin-overview.html:17 -#: exercises/templates/muscles/admin-overview.html:17 -#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:32 -#: gym/templates/contract/list.html:31 gym/templates/contract/view.html:107 -#: gym/templates/contract_option/list.html:32 -#: gym/templates/contract_type/list.html:32 gym/templates/document/list.html:38 -#: gym/templates/gym/list.html:20 gym/templates/gym/list.html:46 -#: gym/templates/gym/member_list.html:87 gym/templates/gym/member_list.html:140 -#: gym/templates/gym/member_list.html:176 -#: manager/templates/calendar/day.html:68 -#: manager/templates/calendar/month.html:85 -#: manager/templates/calendar/partial_overview_table.html:18 -#: manager/templates/schedule/view.html:118 -#: nutrition/templates/ingredient/view.html:165 +#: exercises/templates/muscles/admin-overview.html:16 +#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:31 +#: gym/templates/contract/list.html:30 gym/templates/contract/view.html:106 +#: gym/templates/contract_option/list.html:29 +#: gym/templates/contract_type/list.html:30 gym/templates/document/list.html:38 +#: gym/templates/gym/list.html:19 gym/templates/gym/list.html:48 +#: gym/templates/gym/member_list.html:94 gym/templates/gym/member_list.html:152 +#: gym/templates/gym/member_list.html:190 +#: manager/templates/calendar/day.html:67 +#: manager/templates/calendar/month.html:84 +#: manager/templates/calendar/partial_overview_table.html:16 +#: manager/templates/schedule/view.html:271 +#: manager/templates/workout/view.html:181 +#: nutrition/templates/ingredient/view.html:164 +#: nutrition/templates/ingredient/view.html:209 #: nutrition/templates/units/list.html:19 msgid "Edit" msgstr "Redigera" @@ -92,25 +92,25 @@ msgstr "Mitt coola träningsschema" msgid "Empty placeholder schedule" msgstr "Tom platshållarschema" -#: core/forms.py:69 core/templates/navigation.html:285 -#: core/templates/navigation.html:291 core/templates/user/login.html:4 +#: core/forms.py:69 core/templates/navigation.html:284 +#: core/templates/navigation.html:290 core/templates/user/login.html:4 #: software/templates/features.html:82 software/templates/features.html:427 msgid "Login" msgstr "Logga in" -#: core/forms.py:108 core/forms.py:214 gym/views/export.py:61 +#: core/forms.py:108 core/forms.py:216 gym/views/export.py:61 #: gym/views/gym.py:217 msgid "First name" msgstr "Förnamn" -#: core/forms.py:109 core/forms.py:215 core/templates/user/overview.html:266 +#: core/forms.py:109 core/forms.py:217 core/templates/user/overview.html:284 #: gym/views/export.py:62 gym/views/gym.py:217 msgid "Last name" msgstr "Efternamn" -#: core/forms.py:111 core/forms.py:180 core/templates/user/overview.html:270 +#: core/forms.py:111 core/forms.py:182 core/templates/user/overview.html:288 #: gym/models/contract.py:256 gym/models/gym.py:58 -#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:104 +#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:116 #: gym/templates/gym/new_user.html:30 gym/views/export.py:60 #: mailer/templates/mailer/gym/form.html:4 #: mailer/templates/mailer/gym/overview.html:4 @@ -128,95 +128,94 @@ msgstr "" msgid "Date of Birth" msgstr "Födelsedatum" -#: core/forms.py:148 +#: core/forms.py:149 msgid "Personal data" msgstr "Personlig data" -#: core/forms.py:159 +#: core/forms.py:161 msgid "Workout reminders" msgstr "Träningspåminnelser" -#: core/forms.py:166 +#: core/forms.py:168 msgid "Other settings" msgstr "Andra inställningar" -#: core/forms.py:174 core/views/user.py:624 core/views/user.py:639 -#: core/views/user.py:651 gym/forms.py:73 manager/templates/log/add.html:65 +#: core/forms.py:176 core/views/user.py:623 core/views/user.py:638 +#: core/views/user.py:650 gym/forms.py:73 manager/templates/log/add.html:65 #: manager/templates/set/add.html:70 manager/views/workout.py:203 #: utils/generic_views.py:143 msgid "Save" msgstr "Spara" -#: core/forms.py:181 +#: core/forms.py:183 msgid "Used for password resets and, optionally, email reminders." msgstr "" "Används för lösenordsåterställning och, frivilligt, för epostpåminnelser" -#: core/forms.py:210 +#: core/forms.py:212 msgid "This e-mail address is already in use." msgstr "Denna mail används redan." -#: core/forms.py:231 gym/templates/gym/new_user.html:26 +#: core/forms.py:233 gym/templates/gym/new_user.html:26 #: gym/templates/gym/reset_user_password.html:24 gym/views/gym.py:217 msgid "Password" msgstr "Lösenord" -#: core/forms.py:233 +#: core/forms.py:235 msgid "Please enter your current password." msgstr "Vänligen ange ditt nuvarande lösenord." -#: core/forms.py:242 core/templates/language/view.html:73 -#: core/templates/license/list.html:19 core/templates/misc/license/list.html:22 -#: core/templates/repetition_unit/list.html:20 -#: core/templates/tags/render_day.html:45 -#: core/templates/tags/render_day.html:81 core/templates/user/overview.html:217 -#: core/templates/weight_unit/list.html:20 -#: exercises/templates/categories/admin-overview.html:19 -#: exercises/templates/equipment/admin-overview.html:19 -#: exercises/templates/muscles/admin-overview.html:19 -#: gym/templates/admin_notes/list.html:40 -#: gym/templates/contract_option/list.html:41 -#: gym/templates/contract_type/list.html:41 gym/templates/document/list.html:46 -#: gym/templates/gym/list.html:22 manager/templates/calendar/day.html:73 -#: manager/templates/calendar/month.html:89 -#: manager/templates/calendar/partial_overview_table.html:23 -#: manager/templates/schedule/view.html:122 -#: manager/templates/workout/view.html:188 -#: nutrition/templates/ingredient/view.html:166 +#: core/forms.py:244 core/templates/language/view.html:70 +#: core/templates/license/list.html:21 +#: core/templates/repetition_unit/list.html:22 +#: core/templates/user/overview.html:233 +#: core/templates/weight_unit/list.html:22 +#: exercises/templates/categories/admin-overview.html:21 +#: exercises/templates/equipment/admin-overview.html:21 +#: exercises/templates/muscles/admin-overview.html:20 +#: gym/templates/admin_notes/list.html:37 +#: gym/templates/contract_option/list.html:35 +#: gym/templates/contract_type/list.html:36 gym/templates/document/list.html:46 +#: gym/templates/gym/list.html:23 manager/templates/calendar/day.html:73 +#: manager/templates/calendar/month.html:88 +#: manager/templates/calendar/partial_overview_table.html:22 +#: manager/templates/schedule/view.html:277 +#: manager/templates/workout/view.html:202 +#: nutrition/templates/ingredient/view.html:168 #: nutrition/templates/ingredient/view.html:215 -#: nutrition/templates/units/list.html:22 +#: nutrition/templates/units/list.html:25 msgid "Delete" msgstr "Ta bort" -#: core/forms.py:251 +#: core/forms.py:253 msgid "Invalid password" msgstr "Ogiltigt lösenord" -#: core/forms.py:263 core/forms.py:338 +#: core/forms.py:265 core/forms.py:340 msgid "The form is secured with reCAPTCHA" msgstr "Formuläret är säkrat med reCAPTCHA" -#: core/forms.py:279 core/forms.py:301 core/templates/navigation.html:285 -#: core/templates/navigation.html:297 core/templates/template.html:149 -#: core/templates/user/login.html:20 core/views/user.py:298 +#: core/forms.py:281 core/forms.py:303 core/templates/navigation.html:284 +#: core/templates/navigation.html:296 core/templates/template.html:150 +#: core/templates/user/login.html:20 core/views/user.py:297 #: software/templates/features.html:87 software/templates/features.html:422 msgid "Register" msgstr "Registrera dig" -#: core/forms.py:315 software/templates/features.html:45 +#: core/forms.py:317 software/templates/features.html:45 msgid "Contact" msgstr "Kontakt" -#: core/forms.py:316 +#: core/forms.py:318 msgid "Some way of answering you (e-mail, etc.)" msgstr "Något sätt att svara dig (e-post osv.)" -#: core/forms.py:324 exercises/models/comment.py:58 manager/models/set.py:61 +#: core/forms.py:326 exercises/models/comment.py:58 manager/models/set.py:61 #: manager/models/setting.py:114 nutrition/models/log.py:77 msgid "Comment" msgstr "Kommentar" -#: core/forms.py:325 +#: core/forms.py:327 msgid "What do you want to say?" msgstr "Vad vill du säga?" @@ -447,18 +446,18 @@ msgid "The sum of all hours has to be 24" msgstr "Summan av alla timmar måste vara 24" #: core/models/rep_unit.py:36 core/models/weight_unit.py:36 -#: core/templates/user/overview.html:262 core/views/user.py:599 +#: core/templates/user/overview.html:280 core/views/user.py:598 #: exercises/models/category.py:29 exercises/models/equipment.py:29 #: exercises/models/exercise.py:59 exercises/models/muscle.py:36 #: gym/models/contract.py:52 gym/models/contract.py:103 gym/models/gym.py:46 #: gym/models/user_document.py:84 gym/templates/contract/view.html:50 -#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:96 +#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:108 #: gym/views/gym.py:158 manager/models/schedule.py:55 #: manager/models/workout.py:57 measurements/models/category.py:36 #: nutrition/models/ingredient.py:111 -#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:67 +#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:65 #: nutrition/models/weight_unit.py:38 -#: nutrition/templates/ingredient/view.html:152 +#: nutrition/templates/ingredient/view.html:151 msgid "Name" msgstr "Namn" @@ -503,7 +502,7 @@ msgstr "" msgid "Back to \"%(target)s\"" msgstr "Tillbaka till \"%(target)s\"" -#: core/templates/delete.html:15 +#: core/templates/delete.html:4 msgid "Are you sure you want to delete this? This action cannot be undone." msgstr "" "Är du säkes på att du vill ta bort detta? Denna handilng kan ej ångras." @@ -561,7 +560,7 @@ msgstr "" msgid "Dashboard" msgstr "Instrumentpanel" -#: core/templates/language/overview.html:4 core/templates/navigation.html:345 +#: core/templates/language/overview.html:4 core/templates/navigation.html:344 msgid "Languages" msgstr "Språk" @@ -571,85 +570,72 @@ msgstr "Ingenting hittades" #: core/templates/language/overview.html:22 #: manager/templates/calendar/month.html:132 -#: manager/templates/schedule/overview.html:28 -#: manager/templates/schedule/view.html:144 +#: manager/templates/schedule/view.html:107 #: manager/templates/workout/overview.html:28 #: nutrition/templates/ingredient/overview.html:38 msgid "Add one now." msgstr "Lägg till ett nu." -#: core/templates/language/overview.html:35 core/templates/license/list.html:40 -#: core/templates/misc/license/list.html:43 -#: core/templates/repetition_unit/list.html:43 -#: core/templates/user/overview.html:326 core/templates/user/overview.html:365 -#: core/templates/user/overview.html:401 -#: core/templates/weight_unit/list.html:43 core/views/languages.py:74 +#: core/templates/language/overview.html:34 core/templates/license/list.html:43 +#: core/templates/repetition_unit/list.html:46 +#: core/templates/user/overview.html:344 core/templates/user/overview.html:384 +#: core/templates/user/overview.html:422 +#: core/templates/weight_unit/list.html:46 core/views/languages.py:74 #: core/views/license.py:66 core/views/repetition_units.py:66 #: core/views/weight_units.py:66 -#: exercises/templates/categories/admin-overview.html:38 -#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:67 -#: gym/templates/contract/list.html:73 -#: gym/templates/contract_option/list.html:72 -#: gym/templates/contract_type/list.html:72 gym/templates/document/list.html:79 -#: gym/templates/gym/member_list.html:211 -#: gym/templates/gym/member_list.html:244 -#: gym/templates/gym/member_list.html:281 +#: exercises/templates/categories/admin-overview.html:40 +#: exercises/templates/equipment/admin-overview.html:39 +#: exercises/templates/muscles/admin-overview.html:40 +#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:64 +#: gym/templates/contract/list.html:69 +#: gym/templates/contract_option/list.html:65 +#: gym/templates/contract_type/list.html:66 gym/templates/document/list.html:78 +#: gym/templates/gym/member_list.html:228 +#: gym/templates/gym/member_list.html:264 +#: gym/templates/gym/member_list.html:303 #: mailer/templates/mailer/gym/overview.html:43 +#: nutrition/templates/ingredient/overview.html:60 msgid "Add" msgstr "Lägg till" #: core/templates/language/view.html:61 core/templates/user/api_key.html:44 -#: core/templates/user/preferences.html:45 gym/models/contract.py:203 -#: gym/templates/contract/view.html:41 gym/templates/contract/view.html:106 -#: gym/templates/gym/member_list.html:248 -#: manager/templates/schedule/view.html:285 -#: manager/templates/workout/view.html:163 -#: nutrition/templates/ingredient/view.html:202 +#: core/templates/user/preferences.html:50 gym/models/contract.py:203 +#: gym/templates/contract/view.html:41 gym/templates/gym/member_list.html:270 +#: manager/templates/schedule/view.html:257 +#: manager/templates/workout/view.html:177 +#: nutrition/templates/ingredient/view.html:206 msgid "Options" msgstr "Alternativ" -#: core/templates/license/list.html:4 core/templates/misc/license/list.html:4 +#: core/templates/license/list.html:4 msgid "License list" msgstr "Licens lista" -#: core/templates/license/list.html:26 core/templates/misc/license/list.html:30 -#: core/templates/repetition_unit/list.html:28 +#: core/templates/license/list.html:30 +#: core/templates/repetition_unit/list.html:32 #: core/templates/user/overview.html:104 core/templates/user/overview.html:136 -#: core/templates/user/overview.html:185 core/templates/user/overview.html:347 -#: core/templates/user/overview.html:383 core/templates/user/overview.html:427 -#: core/templates/weight_unit/list.html:28 -#: exercises/templates/categories/admin-overview.html:26 -#: exercises/templates/equipment/admin-overview.html:26 -#: exercises/templates/muscles/admin-overview.html:26 -#: gym/templates/admin_notes/list.html:52 gym/templates/contract/list.html:60 -#: gym/templates/contract_option/list.html:58 -#: gym/templates/contract_type/list.html:58 gym/templates/document/list.html:64 -#: gym/templates/gym/list.html:29 gym/templates/gym/member_list.html:229 -#: gym/templates/gym/member_list.html:262 -#: gym/templates/gym/member_list.html:299 +#: core/templates/user/overview.html:185 core/templates/user/overview.html:365 +#: core/templates/user/overview.html:404 core/templates/user/overview.html:448 +#: core/templates/weight_unit/list.html:32 +#: exercises/templates/categories/admin-overview.html:30 +#: exercises/templates/equipment/admin-overview.html:30 +#: exercises/templates/muscles/admin-overview.html:29 +#: gym/templates/admin_notes/list.html:50 gym/templates/contract/list.html:57 +#: gym/templates/contract_option/list.html:52 +#: gym/templates/contract_type/list.html:53 gym/templates/document/list.html:64 +#: gym/templates/gym/list.html:32 gym/templates/gym/member_list.html:248 +#: gym/templates/gym/member_list.html:284 +#: gym/templates/gym/member_list.html:321 #: mailer/templates/mailer/gym/overview.html:30 -#: manager/templates/calendar/day.html:87 -#: nutrition/templates/units/list.html:29 +#: manager/templates/calendar/day.html:88 +#: nutrition/templates/units/list.html:34 msgid "Nothing found" msgstr "Ingenting hittades" -#: core/templates/misc/about.html:4 core/templates/template.html:175 +#: core/templates/misc/about.html:4 core/templates/template.html:187 msgid "Imprint" msgstr "" -#: core/templates/misc/license/list.html:47 -#, fuzzy -#| msgid "" -#| "If a license has been localized, e.g. the Creative Commons\n" -#| "licenses for the different countries, add them as separate entries here." -msgid "" -"If a license has been localized, e.g. the Creative Commons\n" -" licenses for the different countries, add them as separate " -"entries here." -msgstr "" -"Om en licens har lokaliserats, t. ex. de landsspecifika Creative Commons " -"licenserna, lägg till dessa som separata ingångar här." - #: core/templates/navigation.html:28 software/templates/features.html:437 msgid "Training" msgstr "" @@ -698,8 +684,8 @@ msgstr "Publika mallar" msgid "Exercises" msgstr "Övningar" -#: core/templates/navigation.html:111 core/templates/navigation.html:184 -#: core/templates/navigation.html:340 +#: core/templates/navigation.html:111 core/templates/navigation.html:185 +#: core/templates/navigation.html:339 msgid "Administration" msgstr "Administration" @@ -730,7 +716,7 @@ msgstr "Kost" msgid "Nutrition plans" msgstr "Kostplaner" -#: core/templates/navigation.html:165 nutrition/templates/bmi/form.html:50 +#: core/templates/navigation.html:165 msgid "BMI calculator" msgstr "BMI-kalkylator" @@ -738,87 +724,87 @@ msgstr "BMI-kalkylator" msgid "Daily calories calculator" msgstr "Dagliga-kalorier-kalkylator" -#: core/templates/navigation.html:179 +#: core/templates/navigation.html:180 #: nutrition/templates/ingredient/overview.html:10 msgid "Ingredient overview" msgstr "Ingrediensöversikt" -#: core/templates/navigation.html:187 nutrition/templates/units/list.html:6 +#: core/templates/navigation.html:189 nutrition/templates/units/list.html:6 msgid "Ingredient weight units" msgstr "Ingrediens viktenheter" -#: core/templates/navigation.html:203 software/templates/features.html:442 +#: core/templates/navigation.html:205 software/templates/features.html:442 msgid "Body weight" msgstr "" -#: core/templates/navigation.html:210 core/templates/user/overview.html:114 +#: core/templates/navigation.html:212 core/templates/user/overview.html:114 msgid "Weight overview" msgstr "Viktöversikt" -#: core/templates/navigation.html:217 weight/views.py:65 +#: core/templates/navigation.html:216 weight/views.py:65 msgid "Add weight entry" msgstr "Lägg till vikt" -#: core/templates/navigation.html:231 +#: core/templates/navigation.html:230 msgid "About this software" msgstr "Om programvaran" -#: core/templates/navigation.html:237 software/templates/about_us.html:5 +#: core/templates/navigation.html:236 software/templates/about_us.html:5 msgid "About us" msgstr "Om oss" -#: core/templates/navigation.html:243 software/templates/features.html:507 +#: core/templates/navigation.html:242 software/templates/features.html:507 msgid "REST API" msgstr "REST API" -#: core/templates/navigation.html:249 utils/models.py:45 +#: core/templates/navigation.html:248 utils/models.py:45 msgid "License" msgstr "Licens" -#: core/templates/navigation.html:255 +#: core/templates/navigation.html:254 msgid "Developer documentation" msgstr "Dokument för utvecklare" -#: core/templates/navigation.html:262 +#: core/templates/navigation.html:261 msgid "Get the code" msgstr "Hämta koden" -#: core/templates/navigation.html:269 core/templates/template.html:214 +#: core/templates/navigation.html:268 core/templates/template.html:226 #: software/templates/features.html:582 msgid "Translate" msgstr "Översätt" -#: core/templates/navigation.html:303 core/templates/user/login.html:28 +#: core/templates/navigation.html:302 core/templates/user/login.html:28 msgid "Reset password" msgstr "Återställ lösenord" -#: core/templates/navigation.html:321 +#: core/templates/navigation.html:320 msgid "My preferences" msgstr "Mina preferenser" -#: core/templates/navigation.html:330 +#: core/templates/navigation.html:329 msgid "Logout" msgstr "Logga ut" -#: core/templates/navigation.html:353 +#: core/templates/navigation.html:352 msgid "Licenses" msgstr "Licenser" -#: core/templates/navigation.html:361 +#: core/templates/navigation.html:360 #: core/templates/repetition_unit/list.html:4 msgid "Repetition units" msgstr "Repetitioner" -#: core/templates/navigation.html:369 core/templates/weight_unit/list.html:4 +#: core/templates/navigation.html:368 core/templates/weight_unit/list.html:4 #: nutrition/templates/ingredient/view.html:141 msgid "Weight units" msgstr "Viktenheter" -#: core/templates/navigation.html:377 core/templates/user/list.html:4 +#: core/templates/navigation.html:376 core/templates/user/list.html:4 msgid "User list" msgstr "Användarlista" -#: core/templates/navigation.html:383 +#: core/templates/navigation.html:382 msgid "Gyms" msgstr "Gym" @@ -881,55 +867,30 @@ msgstr "tidigare" msgid "next" msgstr "nästa" -#: core/templates/tags/render_day.html:34 -msgid "Add weight log" -msgstr "" - -#: core/templates/tags/render_day.html:116 -msgid "Placeholder image for exercise" +#: core/templates/tags/render_day.html:44 +#, fuzzy +#| msgid "Placeholder image for exercise" +msgid "Placeholder image for translation" msgstr "Platshållarbild för övning" -#: core/templates/tags/render_day.html:133 -msgid "This exercise has no repetitions." -msgstr "Denna övning har inga upprepningar." - -#: core/templates/tags/render_day.html:136 -msgid "Edit them now." -msgstr "Redigera dom nu." - -#: core/templates/tags/render_day.html:162 -msgid "Add exercises to this workout day" -msgstr "Lägg till övningar i denna träningsdag" - -#: core/templates/tags/render_weight_log.html:17 manager/helpers.py:86 -#: manager/models/setting.py:72 manager/templates/set/formset.html:9 -msgid "Reps" -msgstr "Reps" - -#: core/templates/tags/render_weight_log.html:30 manager/forms.py:191 -#: manager/models/log.py:103 manager/models/setting.py:102 -#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 -msgid "RiR" -msgstr "" - -#: core/templates/template.html:122 manager/templates/calendar/month.html:138 -#: manager/templates/schedule/view.html:248 -#: manager/templates/schedule/view.html:269 -#: manager/templates/workout/view.html:84 -#: manager/templates/workout/view.html:137 +#: core/templates/template.html:123 manager/templates/calendar/month.html:138 +#: manager/templates/schedule/view.html:215 +#: manager/templates/schedule/view.html:240 +#: manager/templates/workout/view.html:89 +#: manager/templates/workout/view.html:149 msgid "Close" msgstr "Stäng" -#: core/templates/template.html:138 +#: core/templates/template.html:139 msgid "" "You are using a guest account, data entered will be deleted after a week." msgstr "Du använder ett gästkonto, data som anges tas bort efter en vecka." -#: core/templates/template.html:143 +#: core/templates/template.html:144 msgid "Create some demo entries" msgstr "Skapa några demoposter" -#: core/templates/template.html:180 software/templates/features.html:547 +#: core/templates/template.html:192 software/templates/features.html:547 #: software/templates/tos.html:7 msgid "Terms of service" msgstr "Villkor för tjänsten" @@ -938,7 +899,7 @@ msgstr "Villkor för tjänsten" msgid "Features" msgstr "Funktioner" -#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:54 +#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:59 msgid "API key" msgstr "API key" @@ -981,17 +942,17 @@ msgstr "Generera nya API key" msgid "Documentation" msgstr "Dokumentation" -#: core/templates/user/delete_account.html:4 -#: core/templates/user/preferences.html:59 +#: core/templates/user/delete_account.html:3 +#: core/templates/user/preferences.html:62 msgid "Delete account" msgstr "Ta bort konto" -#: core/templates/user/delete_account.html:17 +#: core/templates/user/delete_account.html:9 #: exercises/templates/history/overview.html:93 msgid "Are you sure?" msgstr "Är du säker?" -#: core/templates/user/delete_account.html:22 +#: core/templates/user/delete_account.html:14 #, python-format msgid "" "This action will delete the user account \"%(username)s\".\n" @@ -1014,22 +975,22 @@ msgstr "Glömt ditt lösenord?" #: core/templates/user/overview.html:25 core/templates/user/overview.html:68 #: core/templates/user/overview.html:112 core/templates/user/overview.html:144 -#: core/templates/user/overview.html:330 core/templates/user/overview.html:369 -#: core/templates/user/overview.html:405 +#: core/templates/user/overview.html:348 core/templates/user/overview.html:390 +#: core/templates/user/overview.html:426 #, python-format msgid "last %(number)s" msgstr "sista %(number)s" #: core/templates/user/overview.html:27 core/templates/user/overview.html:146 -#: core/templates/user/overview.html:325 core/templates/user/overview.html:364 -#: core/templates/user/overview.html:400 gym/templates/gym/member_list.html:210 -#: gym/templates/gym/member_list.html:243 -#: gym/templates/gym/member_list.html:280 +#: core/templates/user/overview.html:343 core/templates/user/overview.html:382 +#: core/templates/user/overview.html:421 gym/templates/gym/member_list.html:226 +#: gym/templates/gym/member_list.html:262 +#: gym/templates/gym/member_list.html:302 msgid "Overview" msgstr "Överblick" #: core/templates/user/overview.html:28 -#: manager/templates/schedule/view.html:163 +#: manager/templates/schedule/view.html:125 #: manager/templates/workout/overview.html:39 manager/views/schedule_step.py:60 msgid "Add workout" msgstr "Lägg till träningspass" @@ -1061,38 +1022,36 @@ msgstr "Beskrivning" msgid "Number of logs (days)" msgstr "Antal loggar (dagar)" -#: core/templates/user/overview.html:37 core/views/user.py:600 +#: core/templates/user/overview.html:37 core/views/user.py:599 #: gym/templates/gym/email_inactive_members.html:4 gym/views/gym.py:158 msgid "Last activity" msgstr "Senaste aktiviteten" #: core/templates/user/overview.html:58 #: manager/templates/calendar/month.html:128 -#: manager/templates/schedule/view.html:144 #: manager/templates/workout/overview.html:28 msgid "No workouts found." msgstr "Inga träningspass hittade." #: core/templates/user/overview.html:68 manager/forms.py:280 -#: manager/templates/workout/view.html:106 +#: manager/templates/workout/view.html:114 msgid "Log" msgstr "Log" #: core/templates/user/overview.html:77 manager/models/session.py:83 -#: manager/templates/calendar/partial_overview_table.html:52 +#: manager/templates/calendar/partial_overview_table.html:54 msgid "General impression" msgstr "Generellt intryck" -#: core/templates/user/overview.html:78 core/templates/user/overview.html:369 +#: core/templates/user/overview.html:78 core/templates/user/overview.html:390 #: manager/models/session.py:73 -#: manager/templates/calendar/partial_overview_table.html:56 -#: manager/templates/workout/log.html:89 +#: manager/templates/calendar/partial_overview_table.html:58 msgid "Notes" msgstr "Anteckningar" #: core/templates/user/overview.html:79 #: exercises/templates/history/overview.html:30 -#: manager/templates/calendar/partial_overview_table.html:42 +#: manager/templates/calendar/partial_overview_table.html:44 msgid "Time" msgstr "Tid" @@ -1130,121 +1089,121 @@ msgstr "Fett" msgid "kcal" msgstr "kcal" -#: core/templates/user/overview.html:201 core/templates/user/overview.html:322 -#: core/templates/user/overview.html:361 core/templates/user/overview.html:397 -#: core/templates/user/overview.html:442 gym/templates/gym/list.html:42 -#: gym/templates/gym/member_list.html:84 gym/templates/gym/member_list.html:137 -#: gym/templates/gym/member_list.html:173 -#: gym/templates/gym/member_list.html:207 -#: gym/templates/gym/member_list.html:240 -#: gym/templates/gym/member_list.html:277 -#: manager/templates/schedule/view.html:100 +#: core/templates/user/overview.html:201 core/templates/user/overview.html:340 +#: core/templates/user/overview.html:379 core/templates/user/overview.html:418 +#: core/templates/user/overview.html:463 gym/templates/gym/list.html:45 +#: gym/templates/gym/member_list.html:91 gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:187 +#: gym/templates/gym/member_list.html:223 +#: gym/templates/gym/member_list.html:259 +#: gym/templates/gym/member_list.html:299 +#: manager/templates/schedule/view.html:54 msgid "Actions" msgstr "Åtgärder" -#: core/templates/user/overview.html:207 +#: core/templates/user/overview.html:210 msgid "Deactivate user" msgstr "Inaktivera användare" -#: core/templates/user/overview.html:209 +#: core/templates/user/overview.html:214 msgid "Activate user" msgstr "Aktivera användare" -#: core/templates/user/overview.html:211 +#: core/templates/user/overview.html:223 msgid "Reset user password" msgstr "Återställ användarlösenord" -#: core/templates/user/overview.html:214 gym/templates/gym/member_list.html:30 +#: core/templates/user/overview.html:227 gym/templates/gym/member_list.html:30 msgid "Roles" msgstr "Roller" -#: core/templates/user/overview.html:225 +#: core/templates/user/overview.html:243 msgid "Password reset confirmation" msgstr "Lösenordsåterställningsbekräftelse" -#: core/templates/user/overview.html:229 +#: core/templates/user/overview.html:247 msgid "Do you really want to change this user's password?" msgstr "Vill du verkligen ändra denna användares lösenord?" -#: core/templates/user/overview.html:232 +#: core/templates/user/overview.html:250 #: exercises/templates/history/overview.html:106 msgid "No" msgstr "Nej" -#: core/templates/user/overview.html:233 +#: core/templates/user/overview.html:251 #: exercises/templates/history/overview.html:99 msgid "Yes" msgstr "Ja" -#: core/templates/user/overview.html:254 gym/templates/gym/member_list.html:93 +#: core/templates/user/overview.html:272 gym/templates/gym/member_list.html:105 msgid "Details" msgstr "Detaljer" -#: core/templates/user/overview.html:258 gym/views/export.py:57 -#: manager/helpers.py:86 manager/templates/schedule/view.html:98 +#: core/templates/user/overview.html:276 gym/views/export.py:57 +#: manager/helpers.py:86 manager/templates/schedule/view.html:52 msgid "Nr." msgstr "Nr." -#: core/templates/user/overview.html:280 gym/models/contract.py:287 +#: core/templates/user/overview.html:298 gym/models/contract.py:287 #: gym/models/gym.py:50 gym/templates/contract/view.html:75 -#: gym/templates/gym/member_list.html:100 gym/views/export.py:68 +#: gym/templates/gym/member_list.html:112 gym/views/export.py:68 msgid "Phone" msgstr "Telefon" -#: core/templates/user/overview.html:284 gym/templates/contract/view.html:87 -#: gym/templates/gym/member_list.html:118 +#: core/templates/user/overview.html:302 gym/templates/contract/view.html:87 +#: gym/templates/gym/member_list.html:130 msgid "Address" msgstr "Adress" -#: core/templates/user/overview.html:295 +#: core/templates/user/overview.html:313 msgid "Registered" msgstr "Registrerad" -#: core/templates/user/overview.html:299 +#: core/templates/user/overview.html:317 msgid "Last login" msgstr "Senaste inloggning" -#: core/templates/user/overview.html:304 +#: core/templates/user/overview.html:322 msgid "Status" msgstr "Status" -#: core/templates/user/overview.html:307 +#: core/templates/user/overview.html:325 msgid "Active" msgstr "Aktiv" -#: core/templates/user/overview.html:309 +#: core/templates/user/overview.html:327 msgid "Inactive" msgstr "Inaktiv" -#: core/templates/user/overview.html:330 gym/templates/contract/list.html:4 -#: gym/templates/gym/member_list.html:202 +#: core/templates/user/overview.html:348 gym/templates/contract/list.html:4 +#: gym/templates/gym/member_list.html:218 msgid "Contracts" msgstr "Kontrakt" -#: core/templates/user/overview.html:405 gym/templates/document/list.html:4 +#: core/templates/user/overview.html:426 gym/templates/document/list.html:4 msgid "Documents" msgstr "Dokument" -#: core/templates/user/overview.html:412 gym/templates/document/list.html:32 -#: manager/forms.py:292 manager/templates/workout/view.html:132 +#: core/templates/user/overview.html:433 gym/templates/document/list.html:33 +#: manager/forms.py:292 manager/templates/workout/view.html:143 msgid "Download" msgstr "Hämta" -#: core/templates/user/overview.html:450 gym/views/admin_config.py:44 +#: core/templates/user/overview.html:474 gym/views/admin_config.py:44 #: gym/views/admin_config.py:58 gym/views/user_config.py:46 msgid "Configuration" msgstr "Konfiguration" -#: core/templates/user/overview.html:453 gym/models/user_config.py:92 +#: core/templates/user/overview.html:477 gym/models/user_config.py:92 msgid "Include in inactive overview" msgstr "Inkludera i inaktiv överblick" -#: core/templates/user/overview.html:486 +#: core/templates/user/overview.html:510 #, python-format msgid "Admin login is only available for users in %(gym_name)s" msgstr "Admininloggning är bara tillgängligt för använder i %(gym_name)s" -#: core/templates/user/overview.html:490 +#: core/templates/user/overview.html:514 msgid "Log in as this user" msgstr "Logga in som denna användare" @@ -1264,19 +1223,19 @@ msgstr "" msgid "Send verification email" msgstr "" -#: core/templates/user/preferences.html:30 +#: core/templates/user/preferences.html:31 msgid "You need to verify your email to contribute exercises" msgstr "" -#: core/templates/user/preferences.html:50 core/views/user.py:611 +#: core/templates/user/preferences.html:55 core/views/user.py:610 msgid "Change password" msgstr "Ändra lösenord" -#: core/templatetags/wger_extras.py:205 i18n.tpl:37 +#: core/templatetags/wger_extras.py:197 i18n.tpl:37 msgid "kg" msgstr "kg" -#: core/templatetags/wger_extras.py:207 +#: core/templatetags/wger_extras.py:199 #: nutrition/templates/ingredient/view.html:60 #: nutrition/templates/ingredient/view.html:66 #: nutrition/templates/ingredient/view.html:73 @@ -1288,11 +1247,11 @@ msgctxt "weight unit, i.e. grams" msgid "g" msgstr "g" -#: core/templatetags/wger_extras.py:210 i18n.tpl:38 +#: core/templatetags/wger_extras.py:202 i18n.tpl:38 msgid "lb" msgstr "lb" -#: core/templatetags/wger_extras.py:212 +#: core/templatetags/wger_extras.py:204 msgctxt "weight unit, i.e. ounces" msgid "oz" msgstr "oz" @@ -1319,13 +1278,13 @@ msgid "Delete {0}?" msgstr "Ta bort {0}?" #: core/views/languages.py:111 core/views/license.py:85 -#: core/views/repetition_units.py:86 core/views/user.py:474 +#: core/views/repetition_units.py:86 core/views/user.py:473 #: core/views/weight_units.py:86 exercises/views/categories.py:98 #: exercises/views/equipment.py:81 exercises/views/muscles.py:87 #: gym/views/admin_notes.py:161 gym/views/config.py:68 #: gym/views/contract.py:186 gym/views/contract_option.py:123 #: gym/views/contract_type.py:123 gym/views/document.py:171 -#: gym/views/gym.py:463 manager/views/day.py:100 manager/views/schedule.py:333 +#: gym/views/gym.py:463 manager/views/day.py:96 manager/views/schedule.py:333 #: manager/views/workout.py:267 nutrition/views/ingredient.py:145 #: nutrition/views/unit.py:143 #, python-brace-format @@ -1354,48 +1313,48 @@ msgstr "Ladda upp" msgid "Your feedback was successfully sent. Thank you!" msgstr "Din feedback skickades. Tack!" -#: core/views/user.py:156 +#: core/views/user.py:155 #, python-brace-format msgid "Account \"{0}\" was successfully deleted" msgstr "Konto \"{0}\" är nu borttaget" -#: core/views/user.py:292 +#: core/views/user.py:291 msgid "You were successfully registered" msgstr "Du är nu registrerad" -#: core/views/user.py:351 +#: core/views/user.py:350 msgid "Settings successfully updated" msgstr "Inställningar uppdaterade" -#: core/views/user.py:390 +#: core/views/user.py:389 msgid "The user was successfully deactivated" msgstr "Användaren har nu tagits bort" -#: core/views/user.py:427 +#: core/views/user.py:426 msgid "The user was successfully activated" msgstr "Användaren har nu aktiverats" -#: core/views/user.py:442 +#: core/views/user.py:441 msgid "Edit user" msgstr "Redigera användare" -#: core/views/user.py:597 gym/templates/gym/member_list.html:26 +#: core/views/user.py:596 gym/templates/gym/member_list.html:26 #: gym/views/gym.py:158 msgid "ID" msgstr "ID" -#: core/views/user.py:598 gym/forms.py:95 gym/templates/contract/view.html:55 +#: core/views/user.py:597 gym/forms.py:95 gym/templates/contract/view.html:55 #: gym/templates/gym/member_list.html:27 gym/views/export.py:59 #: gym/views/gym.py:158 gym/views/gym.py:217 msgid "Username" msgstr "Användarnamn" -#: core/views/user.py:601 gym/templates/gym/new_user.html:34 +#: core/views/user.py:600 gym/templates/gym/new_user.html:34 #: gym/views/export.py:58 gym/views/gym.py:217 msgid "Gym" msgstr "Gym" -#: core/views/user.py:660 +#: core/views/user.py:659 #, python-format msgid "A verification email was sent to %(email)s" msgstr "" @@ -1560,11 +1519,6 @@ msgstr "" msgid "Equipment list" msgstr "Utrustningslista" -#: exercises/templates/equipment/admin-overview.html:39 -#: exercises/views/equipment.py:92 -msgid "Add new equipment" -msgstr "Lägg till ny utrustning" - #: exercises/templates/history/overview.html:11 #, fuzzy #| msgid "Exercise day" @@ -1622,11 +1576,6 @@ msgstr "" msgid "Muscle overview" msgstr "Muskelöversikt" -#: exercises/templates/muscles/admin-overview.html:38 -#: exercises/views/muscles.py:68 -msgid "Add muscle" -msgstr "Lägg till muskel" - #: exercises/views/categories.py:72 msgid "Add category" msgstr "Lägg till kategori" @@ -1635,6 +1584,10 @@ msgstr "Lägg till kategori" msgid "This will also delete all exercises in this category." msgstr "Detta tar också bort alla övningar i denna kategori." +#: exercises/views/equipment.py:92 +msgid "Add new equipment" +msgstr "Lägg till ny utrustning" + #: exercises/views/equipment.py:104 exercises/views/equipment.py:115 msgid "Delete equipment?" msgstr "Ta bort utrustning?" @@ -1643,6 +1596,10 @@ msgstr "Ta bort utrustning?" msgid "This will delete the exercise from all workouts." msgstr "Detta kommer att radera övningen från alla pass." +#: exercises/views/muscles.py:68 +msgid "Add muscle" +msgstr "Lägg till muskel" + #: gallery/templates/images/overview.html:62 #, fuzzy #| msgid "Add new image" @@ -1733,7 +1690,7 @@ msgid "Contract is active" msgstr "Kontraktet är aktiv" #: gym/models/contract.py:237 gym/templates/contract/view.html:69 -#: manager/models/schedule.py:61 manager/templates/schedule/view.html:67 +#: manager/models/schedule.py:61 manager/templates/schedule/view.html:21 msgid "Start date" msgstr "Startdatum" @@ -1769,7 +1726,7 @@ msgstr "Admin: Kan administrera gymanvändare" msgid "Admin: can administrate the different gyms" msgstr "Admin: Kan administrera olika gym" -#: gym/models/gym.py:65 gym/templates/gym/member_list.html:114 +#: gym/models/gym.py:65 gym/templates/gym/member_list.html:126 msgid "Owner" msgstr "Ägare" @@ -1781,7 +1738,7 @@ msgstr "" "Antal veckor sedan senaste gången en användare loggat sin närvaro för att " "anses vara inaktiv" -#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:152 +#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:166 msgid "Show name in header" msgstr "" @@ -1795,7 +1752,7 @@ msgstr "" msgid "Configuration for {self.gym.name}" msgstr "Konfiguration för {}" -#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:184 +#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:200 msgid "Overview of inactive members" msgstr "Överblick över inaktiva användare" @@ -1819,7 +1776,7 @@ msgstr "Kommer att använda filnamn om ingenting anges" msgid "User notes" msgstr "Användaranteckningar" -#: gym/templates/contract/list.html:36 +#: gym/templates/contract/list.html:34 msgid "Show" msgstr "Visa" @@ -1845,11 +1802,11 @@ msgstr "Följande användare har inte besökt gymmet de sista %(weeks)s veckorna msgid "Gym list" msgstr "Gymlista" -#: gym/templates/gym/list.html:50 +#: gym/templates/gym/list.html:53 msgid "Global gym configuration" msgstr "Global gymkonfiguration" -#: gym/templates/gym/list.html:67 gym/views/gym.py:171 +#: gym/templates/gym/list.html:69 gym/views/gym.py:171 msgid "Add new gym" msgstr "Lägg till nytt gym" @@ -1861,43 +1818,43 @@ msgstr "Administratörer och tränare" msgid "Gym manager" msgstr "Gymmanager" -#: gym/templates/gym/member_list.html:69 +#: gym/templates/gym/member_list.html:76 msgid "This gym has no administrators or trainers" msgstr "Detta gym har inga administratörer eller tränare" -#: gym/templates/gym/member_list.html:88 +#: gym/templates/gym/member_list.html:98 msgid "Export" msgstr "Exportera" -#: gym/templates/gym/member_list.html:125 +#: gym/templates/gym/member_list.html:137 msgid "Members" msgstr "Medlemmar" -#: gym/templates/gym/member_list.html:145 +#: gym/templates/gym/member_list.html:159 msgid "Gym configuration" msgstr "Gymkonfiguration" -#: gym/templates/gym/member_list.html:148 +#: gym/templates/gym/member_list.html:162 msgid "Inactive members" msgstr "Inaktiva medlemmar" -#: gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:163 msgid "weeks" msgstr "veckor" -#: gym/templates/gym/member_list.html:181 +#: gym/templates/gym/member_list.html:197 msgid "My configuration" msgstr "Min konfiguration" -#: gym/templates/gym/member_list.html:215 +#: gym/templates/gym/member_list.html:234 msgid "Types" msgstr "Typer" -#: gym/templates/gym/member_list.html:285 +#: gym/templates/gym/member_list.html:307 msgid "Emails" msgstr "E-postmeddelanden" -#: gym/templates/gym/member_list.html:315 +#: gym/templates/gym/member_list.html:336 msgid "Add member" msgstr "Lägg till medlem" @@ -2205,28 +2162,38 @@ msgstr "Också använda ingredienser i Svenska" msgid "Unit" msgstr "Enhet" +#: manager/forms.py:191 manager/models/log.py:103 manager/models/setting.py:102 +#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 +msgid "RiR" +msgstr "" + #: manager/forms.py:279 msgid "Type" msgstr "Typ" -#: manager/forms.py:280 manager/templates/workout/view.html:113 +#: manager/forms.py:280 manager/templates/workout/view.html:122 msgid "Table" msgstr "Tabell" -#: manager/forms.py:282 manager/templates/workout/view.html:119 +#: manager/forms.py:282 manager/templates/workout/view.html:129 msgid "with images" msgstr "med bilder" -#: manager/forms.py:283 manager/templates/workout/view.html:125 +#: manager/forms.py:283 manager/templates/workout/view.html:136 msgid "with comments" msgstr "med kommentarer" +#: manager/helpers.py:86 manager/models/setting.py:72 +#: manager/templates/set/formset.html:9 +msgid "Reps" +msgstr "Reps" + #: manager/management/commands/email-reminders.py:121 msgid "Workout will expire soon" msgstr "Träningspass snart löper ut" #: manager/models/day.py:34 manager/models/log.py:58 -#: manager/models/session.py:60 manager/templates/schedule/view.html:102 +#: manager/models/session.py:60 manager/templates/schedule/view.html:56 #: manager/templates/workout/view.html:9 manager/templates/workout/view.html:17 #: manager/views/pdf.py:85 manager/views/pdf.py:161 #: manager/views/schedule.py:151 manager/views/schedule.py:221 @@ -2249,7 +2216,7 @@ msgstr "Dag" msgid "Name or short description of the schedule. For example 'Program XYZ'." msgstr "Namn eller en kort beskrivning av schemat. Till exempel 'Program XYZ'." -#: manager/models/schedule.py:65 manager/templates/schedule/view.html:71 +#: manager/models/schedule.py:65 manager/templates/schedule/view.html:25 msgid "Schedule active" msgstr "Schema aktivt" @@ -2263,7 +2230,7 @@ msgstr "" "exempel på instrumentpanelen). Alla andra scheman kommer då att markeras som " "inaktiva" -#: manager/models/schedule.py:77 manager/templates/schedule/view.html:81 +#: manager/models/schedule.py:77 manager/templates/schedule/view.html:35 msgid "Is a loop" msgstr "Är en loop" @@ -2284,7 +2251,7 @@ msgid "The duration in weeks" msgstr "Varaktighet i veckor" #: manager/models/schedule_step.py:64 manager/models/set.py:53 -#: manager/models/setting.py:113 nutrition/models/meal.py:55 +#: manager/models/setting.py:113 nutrition/models/meal.py:53 #: nutrition/models/meal_item.py:66 msgid "Order" msgstr "Ordning" @@ -2419,7 +2386,7 @@ msgstr "Loggöversikt" msgid "Workout session" msgstr "Träningssession" -#: manager/templates/calendar/partial_overview_table.html:27 +#: manager/templates/calendar/partial_overview_table.html:26 msgid "Delete with logs" msgstr "Ta bort tillsammans med loggar" @@ -2442,21 +2409,27 @@ msgstr "" "inte redan finns en för valt datum. Om det finns en kommer den helt enkelt " "redigeras. Viktinträden läggs alltid till." -#: manager/templates/schedule/overview.html:5 +#: manager/templates/schedule/overview.html:4 msgid "Your schedules" msgstr "Dina scheman" #: manager/templates/schedule/overview.html:19 -#: manager/templates/schedule/view.html:131 -#: manager/templates/schedule/view.html:183 +#: manager/templates/schedule/view.html:96 +#: manager/templates/schedule/view.html:146 #: manager/templates/workout/overview.html:16 msgid "active" msgstr "aktiv" -#: manager/templates/schedule/overview.html:28 +#: manager/templates/schedule/overview.html:27 msgid "No schedules found." msgstr "Inga träningspass hittade." +#: manager/templates/schedule/overview.html:28 +#, fuzzy +#| msgid "Add one now." +msgid "Add one now" +msgstr "Lägg till ett nu." + #: manager/templates/schedule/overview.html:36 #, fuzzy #| msgid "" @@ -2479,13 +2452,14 @@ msgid "" " before jumping to the next. It is also possible to create a loop, so " "you\n" " always do the same workouts in succession, e.g. A > B > C > A > B > " -"C and so on." +"C and so\n" +" on." msgstr "" "Du kan ange hur länge du vill göra varje träningspass innan går vidare till " "nästa. Det är också möjligt att skapa en loop så att du alltid gör pass i " "samma ordning, t.ex. A > B > C > A > B > C och så vidare." -#: manager/templates/schedule/overview.html:43 +#: manager/templates/schedule/overview.html:44 #, fuzzy #| msgid "" #| "The currently active schedule will remain active (and be\n" @@ -2510,7 +2484,7 @@ msgstr "Lägg till schema" msgid "Schedule" msgstr "Schema" -#: manager/templates/schedule/view.html:85 +#: manager/templates/schedule/view.html:39 msgid "" "This schedule is a loop and will go through the workouts above till you " "deactivate it" @@ -2518,19 +2492,15 @@ msgstr "" "Detta schema är en loop och kommer att gå igenom de pass ovan tills du " "avaktiverar den" -#: manager/templates/schedule/view.html:103 +#: manager/templates/schedule/view.html:57 msgid "Weeks" msgstr "Veckor" -#: manager/templates/schedule/view.html:115 -msgid "Move me" -msgstr "Flytta mig" - -#: manager/templates/schedule/view.html:156 +#: manager/templates/schedule/view.html:121 msgid "Start schedule" msgstr "Starta schema" -#: manager/templates/schedule/view.html:187 +#: manager/templates/schedule/view.html:150 #, python-format msgid "" "%(weeks)s Week\n" @@ -2541,11 +2511,11 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: manager/templates/schedule/view.html:221 +#: manager/templates/schedule/view.html:184 msgid "Adding workouts" msgstr "Lägga till träningspass" -#: manager/templates/schedule/view.html:223 +#: manager/templates/schedule/view.html:186 #, fuzzy #| msgid "" #| "Add as many workouts to the schedule as you want. You can\n" @@ -2562,21 +2532,21 @@ msgstr "" "genom att dra och släppa dem. Det är också möjligt att lägga till en övning " "mer än en gång." -#: manager/templates/schedule/view.html:232 -#: manager/templates/schedule/view.html:243 -#: manager/templates/schedule/view.html:290 +#: manager/templates/schedule/view.html:195 +#: manager/templates/schedule/view.html:209 +#: manager/templates/schedule/view.html:263 #: manager/templates/workout/view.html:69 -#: manager/templates/workout/view.html:79 -#: manager/templates/workout/view.html:178 +#: manager/templates/workout/view.html:83 +#: manager/templates/workout/view.html:192 msgid "Export calendar file" msgstr "Exportera kalenderfil" -#: manager/templates/schedule/view.html:236 +#: manager/templates/schedule/view.html:201 msgid "Export this schedule as a calendar file." msgstr "Exportera detta schema som en kalenderfil." -#: manager/templates/schedule/view.html:237 -#: manager/templates/workout/view.html:74 +#: manager/templates/schedule/view.html:202 +#: manager/templates/workout/view.html:76 #, fuzzy #| msgid "" #| "You can then import the file it into your calendar\n" @@ -2588,27 +2558,20 @@ msgid "" " application for example google calendar, outlook or " "iCal. This will create\n" " an appointment for each training day with the " -"appropriate exercises." +"appropriate\n" +" exercises." msgstr "" "Du kan sedan importera filen till din kalenderapplikation, t.ex. Google " "calendar, Outlook eller iCal. Detta kommer skapa ett \"möte\" för varje " "träningsdag med övningar inkluderade." -#: manager/templates/schedule/view.html:258 -#: manager/templates/schedule/view.html:294 -#: manager/templates/workout/view.html:94 -#: manager/templates/workout/view.html:174 +#: manager/templates/schedule/view.html:225 +#: manager/templates/schedule/view.html:268 +#: manager/templates/workout/view.html:99 +#: manager/templates/workout/view.html:188 msgid "Download as PDF" msgstr "Ladda ner som PDF" -#: manager/templates/schedule/view.html:299 -msgid "Edit schedule" -msgstr "Redigera schema" - -#: manager/templates/schedule/view.html:304 -msgid "Delete schedule" -msgstr "Ta bort schema" - #: manager/templates/set/add.html:9 #, python-format msgid "Add exercises to day \"%(day_name)s\"" @@ -2687,53 +2650,6 @@ msgstr "" "Du kommes regelbundet få sådana påminnelser tills du anger din nuvarande " "vikt." -#: manager/templates/workout/log.html:10 manager/templates/workout/log.html:11 -msgid "Weight log" -msgstr "Viktlogg" - -#: manager/templates/workout/log.html:29 -msgid "Weight log for workout" -msgstr "Viktlogg för träningspass" - -#: manager/templates/workout/log.html:49 -msgid "Add weight log to this day" -msgstr "Lägg till viktlogg till denna dag" - -#: manager/templates/workout/log.html:69 -msgid "No weight entries here." -msgstr "Ingen viktinträden här." - -#: manager/templates/workout/log.html:77 -msgid "No exercises for this day." -msgstr "Inga övningar för denna dag." - -#: manager/templates/workout/log.html:90 -msgid "" -"This page shows the weight logs belonging to this workout\n" -"only. Click on an exercise to see all the historical data for\n" -"it." -msgstr "" -"Den här sidan visar viktloggarna som endast hörtill detta träningspass. " -"Klicka på en övning att se all historik för den." - -#: manager/templates/workout/log.html:94 -msgid "" -"If on a single day there is more than one entry with the\n" -"same number of repetitions, but different weights, only the entry with the\n" -"higher weight is shown in the diagram." -msgstr "" -"Om det finns mer än ett inträde med samma antal repetitioner, men olika " -"vikter på en enda dag, visas endast inträdet med högre vikt i diagrammet." - -#: manager/templates/workout/log.html:98 -msgid "" -"Note that only entries with a weight unit (kg or lb) and\n" -"repetitions are charted, other combinations such as time or until failure\n" -"are ignored here." -msgstr "" -"Notera att endast inmatningar av viktenheter (kg eller lb) och repetitioner " -"är kartlagda, andra kombinationer som tid är ignorerade här." - #: manager/templates/workout/overview.html:25 #, fuzzy #| msgid "No schedules found." @@ -2776,27 +2692,23 @@ msgstr "Lägg till träningsset till dagar" msgid "Set the repetitions for each set" msgstr "Ange repetitioner för varje set" -#: manager/templates/workout/view.html:73 +#: manager/templates/workout/view.html:75 msgid "Export this workout as a calendar file." msgstr "Exportera detta träningspass som en kalenderfil." -#: manager/templates/workout/view.html:144 +#: manager/templates/workout/view.html:156 msgid "Logs" msgstr "" -#: manager/templates/workout/view.html:146 +#: manager/templates/workout/view.html:159 msgid "View logs" msgstr "" -#: manager/templates/workout/view.html:169 manager/views/schedule_step.py:99 -msgid "Edit workout" -msgstr "Redigera träningspass" - -#: manager/templates/workout/view.html:182 manager/views/workout.py:281 +#: manager/templates/workout/view.html:195 manager/views/workout.py:281 msgid "Mark as template" msgstr "" -#: manager/views/day.py:109 +#: manager/views/day.py:105 msgid "Add workout day" msgstr "Lägg till träningsdag" @@ -2813,6 +2725,10 @@ msgstr "Träning för %s" msgid "Create schedule" msgstr "Skapa schema" +#: manager/views/schedule_step.py:99 +msgid "Edit workout" +msgstr "Redigera träningspass" + #: manager/views/workout.py:209 msgid "Copy workout" msgstr "Kopiera träningspass" @@ -2942,7 +2858,7 @@ msgstr "Mängd i gram" msgid "Unit amount, e.g. \"1 Cup\" or \"1/2 spoon\"" msgstr "Enhetsmängd (e.g. \"1 DL\" eller \"1/2 tesked\")" -#: nutrition/models/log.py:52 nutrition/models/meal.py:50 +#: nutrition/models/log.py:52 nutrition/models/meal.py:48 #: nutrition/models/meal_item.py:48 nutrition/models/plan.py:108 msgid "Nutrition plan" msgstr "Kostplan" @@ -2957,11 +2873,11 @@ msgstr "Måltid" msgid "Date and Time (Approx.)" msgstr "Tid (ca)" -#: nutrition/models/meal.py:62 +#: nutrition/models/meal.py:60 msgid "Time (approx)" msgstr "Tid (ca)" -#: nutrition/models/meal.py:69 +#: nutrition/models/meal.py:67 msgid "" "Give meals a textual description / name such as \"Breakfast\" or \"after " "workout\"" @@ -2987,62 +2903,6 @@ msgstr "" "Markera rutan om du vill att denna plan ska ha ett kalorimål. Du kan använda " "kalkylatorn eller själv ange värdet." -#: nutrition/templates/bmi/form.html:62 -msgid "Results" -msgstr "Resultat" - -#: nutrition/templates/bmi/form.html:63 -msgid "Your BMI is: " -msgstr "Din BMI är: " - -#: nutrition/templates/bmi/form.html:71 -msgid "Legend" -msgstr "Legend" - -#: nutrition/templates/bmi/form.html:75 -msgid "Adipositas III" -msgstr "Adipositas III" - -#: nutrition/templates/bmi/form.html:79 -msgid "Adipositas II" -msgstr "Adipositas II" - -#: nutrition/templates/bmi/form.html:83 -msgid "Adipositas I" -msgstr "Adipositas I" - -#: nutrition/templates/bmi/form.html:87 -msgid "Overweight" -msgstr "Överviktig" - -#: nutrition/templates/bmi/form.html:91 -msgid "Normal weight" -msgstr "Normal vikt" - -#: nutrition/templates/bmi/form.html:95 -msgid "Slight underweight" -msgstr "Liten undervikt" - -#: nutrition/templates/bmi/form.html:99 -msgid "Moderate underweight" -msgstr "Måttlig undervikt" - -#: nutrition/templates/bmi/form.html:103 -msgid "Strong underweight" -msgstr "Stark undervikt" - -#: nutrition/templates/bmi/form.html:117 -msgid "" -"Use the form to calculate your BMI (Body Mass Index).\n" -"If you have entered data in the weight section, the last entry will\n" -"be used automatically. Otherwise the weight you enter here will be saved\n" -"in a new entry." -msgstr "" -"Använd formuläret för att beräkna ditt BMI (Body Mass Index).\n" -"Om du har angett data i viktsektionen används det sista inträdet " -"automatiskt, annars kommer den vikt som du anger här att sparas som ett nytt " -"inträde." - #: nutrition/templates/ingredient/email_new.tpl:1 #, python-format msgid "" @@ -3095,10 +2955,6 @@ msgstr "Inga ingredienser." msgid "Search" msgstr "Sök" -#: nutrition/templates/ingredient/overview.html:62 -msgid "Add ingredient" -msgstr "Lägg till ingrediens" - #: nutrition/templates/ingredient/view.html:45 nutrition/views/plan.py:229 msgid "Macronutrients" msgstr "Makronäringsämnen" @@ -3118,20 +2974,11 @@ msgstr "n.A." msgid "Others" msgstr "Andra" -#: nutrition/templates/ingredient/view.html:144 -#: nutrition/templates/units/list.html:46 nutrition/views/unit.py:86 +#: nutrition/templates/ingredient/view.html:143 +#: nutrition/templates/units/list.html:50 nutrition/views/unit.py:86 msgid "Add new weight unit" msgstr "Lägg till ny viktenhet" -#: nutrition/templates/ingredient/view.html:206 -#: nutrition/templates/ingredient/view.html:209 -msgid "Edit ingredient" -msgstr "Redigera ingrediens" - -#: nutrition/templates/ingredient/view.html:213 -msgid "Delete ingredient" -msgstr "Ta bort ingrediens" - #: nutrition/templates/rate/form.html:25 msgid "Basal metabolic rate" msgstr "Basal ämnesomsättning" @@ -3215,18 +3062,6 @@ msgstr "" "på dessa värden borde du observera dig själv under några veckor och ändra " "det totala beloppet om det behövs." -#: nutrition/views/bmi.py:89 -msgid "Please make sure your height is within the appropriate range." -msgstr "" - -#: nutrition/views/bmi.py:92 -msgid "140 to 230" -msgstr "" - -#: nutrition/views/bmi.py:94 -msgid "56 to 90" -msgstr "" - #: nutrition/views/ingredient.py:157 msgid "Add a new ingredient" msgstr "Lägg till en ny ingrediens" @@ -3771,6 +3606,130 @@ msgstr "" msgid "Delete weight entry for the %s" msgstr "" +#~ msgid "Move me" +#~ msgstr "Flytta mig" + +#~ msgid "Results" +#~ msgstr "Resultat" + +#~ msgid "Your BMI is: " +#~ msgstr "Din BMI är: " + +#~ msgid "Legend" +#~ msgstr "Legend" + +#~ msgid "Adipositas III" +#~ msgstr "Adipositas III" + +#~ msgid "Adipositas II" +#~ msgstr "Adipositas II" + +#~ msgid "Adipositas I" +#~ msgstr "Adipositas I" + +#~ msgid "Overweight" +#~ msgstr "Överviktig" + +#~ msgid "Normal weight" +#~ msgstr "Normal vikt" + +#~ msgid "Slight underweight" +#~ msgstr "Liten undervikt" + +#~ msgid "Moderate underweight" +#~ msgstr "Måttlig undervikt" + +#~ msgid "Strong underweight" +#~ msgstr "Stark undervikt" + +#~ msgid "" +#~ "Use the form to calculate your BMI (Body Mass Index).\n" +#~ "If you have entered data in the weight section, the last entry will\n" +#~ "be used automatically. Otherwise the weight you enter here will be saved\n" +#~ "in a new entry." +#~ msgstr "" +#~ "Använd formuläret för att beräkna ditt BMI (Body Mass Index).\n" +#~ "Om du har angett data i viktsektionen används det sista inträdet " +#~ "automatiskt, annars kommer den vikt som du anger här att sparas som ett " +#~ "nytt inträde." + +#, fuzzy +#~| msgid "" +#~| "If a license has been localized, e.g. the Creative Commons\n" +#~| "licenses for the different countries, add them as separate entries here." +#~ msgid "" +#~ "If a license has been localized, e.g. the Creative Commons\n" +#~ " licenses for the different countries, add them as separate " +#~ "entries here." +#~ msgstr "" +#~ "Om en licens har lokaliserats, t. ex. de landsspecifika Creative Commons " +#~ "licenserna, lägg till dessa som separata ingångar här." + +#~ msgid "This exercise has no repetitions." +#~ msgstr "Denna övning har inga upprepningar." + +#~ msgid "Edit them now." +#~ msgstr "Redigera dom nu." + +#~ msgid "Add exercises to this workout day" +#~ msgstr "Lägg till övningar i denna träningsdag" + +#~ msgid "Edit schedule" +#~ msgstr "Redigera schema" + +#~ msgid "Delete schedule" +#~ msgstr "Ta bort schema" + +#~ msgid "Weight log" +#~ msgstr "Viktlogg" + +#~ msgid "Weight log for workout" +#~ msgstr "Viktlogg för träningspass" + +#~ msgid "Add weight log to this day" +#~ msgstr "Lägg till viktlogg till denna dag" + +#~ msgid "No weight entries here." +#~ msgstr "Ingen viktinträden här." + +#~ msgid "No exercises for this day." +#~ msgstr "Inga övningar för denna dag." + +#~ msgid "" +#~ "This page shows the weight logs belonging to this workout\n" +#~ "only. Click on an exercise to see all the historical data for\n" +#~ "it." +#~ msgstr "" +#~ "Den här sidan visar viktloggarna som endast hörtill detta träningspass. " +#~ "Klicka på en övning att se all historik för den." + +#~ msgid "" +#~ "If on a single day there is more than one entry with the\n" +#~ "same number of repetitions, but different weights, only the entry with " +#~ "the\n" +#~ "higher weight is shown in the diagram." +#~ msgstr "" +#~ "Om det finns mer än ett inträde med samma antal repetitioner, men olika " +#~ "vikter på en enda dag, visas endast inträdet med högre vikt i diagrammet." + +#~ msgid "" +#~ "Note that only entries with a weight unit (kg or lb) and\n" +#~ "repetitions are charted, other combinations such as time or until " +#~ "failure\n" +#~ "are ignored here." +#~ msgstr "" +#~ "Notera att endast inmatningar av viktenheter (kg eller lb) och " +#~ "repetitioner är kartlagda, andra kombinationer som tid är ignorerade här." + +#~ msgid "Add ingredient" +#~ msgstr "Lägg till ingrediens" + +#~ msgid "Edit ingredient" +#~ msgstr "Redigera ingrediens" + +#~ msgid "Delete ingredient" +#~ msgstr "Ta bort ingrediens" + #~ msgid "Ingredients pending review" #~ msgstr "Ingredienser i avvaktan på översyn" diff --git a/wger/locale/tr/LC_MESSAGES/django.po b/wger/locale/tr/LC_MESSAGES/django.po index b22674d57..d40faf15d 100644 --- a/wger/locale/tr/LC_MESSAGES/django.po +++ b/wger/locale/tr/LC_MESSAGES/django.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: wger Workout Manager\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-14 15:49+0200\n" +"POT-Creation-Date: 2024-11-14 19:23+0100\n" "PO-Revision-Date: 2024-07-20 17:09+0000\n" "Last-Translator: Oğuz Ersen \n" "Language-Team: Turkish \n" @@ -21,7 +21,7 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 5.7-dev\n" -#: config/models/gym_config.py:46 gym/templates/gym/list.html:53 +#: config/models/gym_config.py:46 gym/templates/gym/list.html:56 msgid "Default gym" msgstr "Varsayılan spor salonu" @@ -34,28 +34,28 @@ msgstr "" "kullanıcıları bu spor salonuna atayacak ve spor salonu olmayan tüm mevcut " "kullanıcıları güncelleyecektir." -#: config/views/gym_config.py:42 core/templates/language/view.html:67 -#: core/templates/license/list.html:17 core/templates/misc/license/list.html:18 +#: config/views/gym_config.py:42 core/templates/language/view.html:64 +#: core/templates/license/list.html:17 #: core/templates/repetition_unit/list.html:18 -#: core/templates/tags/render_day.html:39 -#: core/templates/tags/render_day.html:75 core/templates/user/overview.html:204 -#: core/templates/user/overview.html:445 +#: core/templates/user/overview.html:204 core/templates/user/overview.html:467 #: core/templates/weight_unit/list.html:18 #: exercises/templates/categories/admin-overview.html:17 #: exercises/templates/equipment/admin-overview.html:17 -#: exercises/templates/muscles/admin-overview.html:17 -#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:32 -#: gym/templates/contract/list.html:31 gym/templates/contract/view.html:107 -#: gym/templates/contract_option/list.html:32 -#: gym/templates/contract_type/list.html:32 gym/templates/document/list.html:38 -#: gym/templates/gym/list.html:20 gym/templates/gym/list.html:46 -#: gym/templates/gym/member_list.html:87 gym/templates/gym/member_list.html:140 -#: gym/templates/gym/member_list.html:176 -#: manager/templates/calendar/day.html:68 -#: manager/templates/calendar/month.html:85 -#: manager/templates/calendar/partial_overview_table.html:18 -#: manager/templates/schedule/view.html:118 -#: nutrition/templates/ingredient/view.html:165 +#: exercises/templates/muscles/admin-overview.html:16 +#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:31 +#: gym/templates/contract/list.html:30 gym/templates/contract/view.html:106 +#: gym/templates/contract_option/list.html:29 +#: gym/templates/contract_type/list.html:30 gym/templates/document/list.html:38 +#: gym/templates/gym/list.html:19 gym/templates/gym/list.html:48 +#: gym/templates/gym/member_list.html:94 gym/templates/gym/member_list.html:152 +#: gym/templates/gym/member_list.html:190 +#: manager/templates/calendar/day.html:67 +#: manager/templates/calendar/month.html:84 +#: manager/templates/calendar/partial_overview_table.html:16 +#: manager/templates/schedule/view.html:271 +#: manager/templates/workout/view.html:181 +#: nutrition/templates/ingredient/view.html:164 +#: nutrition/templates/ingredient/view.html:209 #: nutrition/templates/units/list.html:19 msgid "Edit" msgstr "Düzenle" @@ -89,25 +89,25 @@ msgstr "Harika antrenman programım" msgid "Empty placeholder schedule" msgstr "Yer tutucu planı boş" -#: core/forms.py:69 core/templates/navigation.html:285 -#: core/templates/navigation.html:291 core/templates/user/login.html:4 +#: core/forms.py:69 core/templates/navigation.html:284 +#: core/templates/navigation.html:290 core/templates/user/login.html:4 #: software/templates/features.html:82 software/templates/features.html:427 msgid "Login" msgstr "Oturum aç" -#: core/forms.py:108 core/forms.py:214 gym/views/export.py:61 +#: core/forms.py:108 core/forms.py:216 gym/views/export.py:61 #: gym/views/gym.py:217 msgid "First name" msgstr "İsim" -#: core/forms.py:109 core/forms.py:215 core/templates/user/overview.html:266 +#: core/forms.py:109 core/forms.py:217 core/templates/user/overview.html:284 #: gym/views/export.py:62 gym/views/gym.py:217 msgid "Last name" msgstr "Soyisim" -#: core/forms.py:111 core/forms.py:180 core/templates/user/overview.html:270 +#: core/forms.py:111 core/forms.py:182 core/templates/user/overview.html:288 #: gym/models/contract.py:256 gym/models/gym.py:58 -#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:104 +#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:116 #: gym/templates/gym/new_user.html:30 gym/views/export.py:60 #: mailer/templates/mailer/gym/form.html:4 #: mailer/templates/mailer/gym/overview.html:4 @@ -126,96 +126,95 @@ msgstr "" msgid "Date of Birth" msgstr "Doğum tarihi" -#: core/forms.py:148 +#: core/forms.py:149 msgid "Personal data" msgstr "Kişisel bilgiler" -#: core/forms.py:159 +#: core/forms.py:161 msgid "Workout reminders" msgstr "Antrenman hatırlatıcıları" -#: core/forms.py:166 +#: core/forms.py:168 msgid "Other settings" msgstr "Diğer ayarlar" -#: core/forms.py:174 core/views/user.py:624 core/views/user.py:639 -#: core/views/user.py:651 gym/forms.py:73 manager/templates/log/add.html:65 +#: core/forms.py:176 core/views/user.py:623 core/views/user.py:638 +#: core/views/user.py:650 gym/forms.py:73 manager/templates/log/add.html:65 #: manager/templates/set/add.html:70 manager/views/workout.py:203 #: utils/generic_views.py:143 msgid "Save" msgstr "Kaydet" -#: core/forms.py:181 +#: core/forms.py:183 msgid "Used for password resets and, optionally, email reminders." msgstr "" "Parola sıfırlamaları ve isteğe bağlı olarak e-posta hatırlatıcıları için " "kullanılır." -#: core/forms.py:210 +#: core/forms.py:212 msgid "This e-mail address is already in use." msgstr "Bu e-posta adresi zaten kullanılıyor." -#: core/forms.py:231 gym/templates/gym/new_user.html:26 +#: core/forms.py:233 gym/templates/gym/new_user.html:26 #: gym/templates/gym/reset_user_password.html:24 gym/views/gym.py:217 msgid "Password" msgstr "Parola" -#: core/forms.py:233 +#: core/forms.py:235 msgid "Please enter your current password." msgstr "Lütfen geçerli parolanızı girin." -#: core/forms.py:242 core/templates/language/view.html:73 -#: core/templates/license/list.html:19 core/templates/misc/license/list.html:22 -#: core/templates/repetition_unit/list.html:20 -#: core/templates/tags/render_day.html:45 -#: core/templates/tags/render_day.html:81 core/templates/user/overview.html:217 -#: core/templates/weight_unit/list.html:20 -#: exercises/templates/categories/admin-overview.html:19 -#: exercises/templates/equipment/admin-overview.html:19 -#: exercises/templates/muscles/admin-overview.html:19 -#: gym/templates/admin_notes/list.html:40 -#: gym/templates/contract_option/list.html:41 -#: gym/templates/contract_type/list.html:41 gym/templates/document/list.html:46 -#: gym/templates/gym/list.html:22 manager/templates/calendar/day.html:73 -#: manager/templates/calendar/month.html:89 -#: manager/templates/calendar/partial_overview_table.html:23 -#: manager/templates/schedule/view.html:122 -#: manager/templates/workout/view.html:188 -#: nutrition/templates/ingredient/view.html:166 +#: core/forms.py:244 core/templates/language/view.html:70 +#: core/templates/license/list.html:21 +#: core/templates/repetition_unit/list.html:22 +#: core/templates/user/overview.html:233 +#: core/templates/weight_unit/list.html:22 +#: exercises/templates/categories/admin-overview.html:21 +#: exercises/templates/equipment/admin-overview.html:21 +#: exercises/templates/muscles/admin-overview.html:20 +#: gym/templates/admin_notes/list.html:37 +#: gym/templates/contract_option/list.html:35 +#: gym/templates/contract_type/list.html:36 gym/templates/document/list.html:46 +#: gym/templates/gym/list.html:23 manager/templates/calendar/day.html:73 +#: manager/templates/calendar/month.html:88 +#: manager/templates/calendar/partial_overview_table.html:22 +#: manager/templates/schedule/view.html:277 +#: manager/templates/workout/view.html:202 +#: nutrition/templates/ingredient/view.html:168 #: nutrition/templates/ingredient/view.html:215 -#: nutrition/templates/units/list.html:22 +#: nutrition/templates/units/list.html:25 msgid "Delete" msgstr "Sil" -#: core/forms.py:251 +#: core/forms.py:253 msgid "Invalid password" msgstr "Geçersiz parola" -#: core/forms.py:263 core/forms.py:338 +#: core/forms.py:265 core/forms.py:340 msgid "The form is secured with reCAPTCHA" msgstr "Form reCAPTCHA ile güvence altına alındı" -#: core/forms.py:279 core/forms.py:301 core/templates/navigation.html:285 -#: core/templates/navigation.html:297 core/templates/template.html:149 -#: core/templates/user/login.html:20 core/views/user.py:298 +#: core/forms.py:281 core/forms.py:303 core/templates/navigation.html:284 +#: core/templates/navigation.html:296 core/templates/template.html:150 +#: core/templates/user/login.html:20 core/views/user.py:297 #: software/templates/features.html:87 software/templates/features.html:422 msgid "Register" msgstr "Kayıt ol" -#: core/forms.py:315 software/templates/features.html:45 +#: core/forms.py:317 software/templates/features.html:45 msgid "Contact" msgstr "İletişim" -#: core/forms.py:316 +#: core/forms.py:318 msgid "Some way of answering you (e-mail, etc.)" msgstr "Size cevap vermenin bir yolu (e-posta vb.)" -#: core/forms.py:324 exercises/models/comment.py:58 manager/models/set.py:61 +#: core/forms.py:326 exercises/models/comment.py:58 manager/models/set.py:61 #: manager/models/setting.py:114 nutrition/models/log.py:77 msgid "Comment" msgstr "Yorum" -#: core/forms.py:325 +#: core/forms.py:327 msgid "What do you want to say?" msgstr "Ne söylemek istiyorsun?" @@ -447,18 +446,18 @@ msgid "The sum of all hours has to be 24" msgstr "Tüm saatlerin toplamı 24 olmalıdır" #: core/models/rep_unit.py:36 core/models/weight_unit.py:36 -#: core/templates/user/overview.html:262 core/views/user.py:599 +#: core/templates/user/overview.html:280 core/views/user.py:598 #: exercises/models/category.py:29 exercises/models/equipment.py:29 #: exercises/models/exercise.py:59 exercises/models/muscle.py:36 #: gym/models/contract.py:52 gym/models/contract.py:103 gym/models/gym.py:46 #: gym/models/user_document.py:84 gym/templates/contract/view.html:50 -#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:96 +#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:108 #: gym/views/gym.py:158 manager/models/schedule.py:55 #: manager/models/workout.py:57 measurements/models/category.py:36 #: nutrition/models/ingredient.py:111 -#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:67 +#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:65 #: nutrition/models/weight_unit.py:38 -#: nutrition/templates/ingredient/view.html:152 +#: nutrition/templates/ingredient/view.html:151 msgid "Name" msgstr "İsim" @@ -510,7 +509,7 @@ msgstr "" msgid "Back to \"%(target)s\"" msgstr "\"%(target)s\" sayfasına geri dön" -#: core/templates/delete.html:15 +#: core/templates/delete.html:4 msgid "Are you sure you want to delete this? This action cannot be undone." msgstr "Bunu silmek istediğinizden emin misiniz? Bu eylem geri alınamaz." @@ -564,7 +563,7 @@ msgstr "E-posta adresinizi doğrulamak için lütfen tıklayın: %(link)s" msgid "Dashboard" msgstr "Gösterge Paneli" -#: core/templates/language/overview.html:4 core/templates/navigation.html:345 +#: core/templates/language/overview.html:4 core/templates/navigation.html:344 msgid "Languages" msgstr "Diller" @@ -574,82 +573,72 @@ msgstr "Bulunamadı." #: core/templates/language/overview.html:22 #: manager/templates/calendar/month.html:132 -#: manager/templates/schedule/overview.html:28 -#: manager/templates/schedule/view.html:144 +#: manager/templates/schedule/view.html:107 #: manager/templates/workout/overview.html:28 #: nutrition/templates/ingredient/overview.html:38 msgid "Add one now." msgstr "Yeni ekle." -#: core/templates/language/overview.html:35 core/templates/license/list.html:40 -#: core/templates/misc/license/list.html:43 -#: core/templates/repetition_unit/list.html:43 -#: core/templates/user/overview.html:326 core/templates/user/overview.html:365 -#: core/templates/user/overview.html:401 -#: core/templates/weight_unit/list.html:43 core/views/languages.py:74 +#: core/templates/language/overview.html:34 core/templates/license/list.html:43 +#: core/templates/repetition_unit/list.html:46 +#: core/templates/user/overview.html:344 core/templates/user/overview.html:384 +#: core/templates/user/overview.html:422 +#: core/templates/weight_unit/list.html:46 core/views/languages.py:74 #: core/views/license.py:66 core/views/repetition_units.py:66 #: core/views/weight_units.py:66 -#: exercises/templates/categories/admin-overview.html:38 -#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:67 -#: gym/templates/contract/list.html:73 -#: gym/templates/contract_option/list.html:72 -#: gym/templates/contract_type/list.html:72 gym/templates/document/list.html:79 -#: gym/templates/gym/member_list.html:211 -#: gym/templates/gym/member_list.html:244 -#: gym/templates/gym/member_list.html:281 +#: exercises/templates/categories/admin-overview.html:40 +#: exercises/templates/equipment/admin-overview.html:39 +#: exercises/templates/muscles/admin-overview.html:40 +#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:64 +#: gym/templates/contract/list.html:69 +#: gym/templates/contract_option/list.html:65 +#: gym/templates/contract_type/list.html:66 gym/templates/document/list.html:78 +#: gym/templates/gym/member_list.html:228 +#: gym/templates/gym/member_list.html:264 +#: gym/templates/gym/member_list.html:303 #: mailer/templates/mailer/gym/overview.html:43 +#: nutrition/templates/ingredient/overview.html:60 msgid "Add" msgstr "Ekle" #: core/templates/language/view.html:61 core/templates/user/api_key.html:44 -#: core/templates/user/preferences.html:45 gym/models/contract.py:203 -#: gym/templates/contract/view.html:41 gym/templates/contract/view.html:106 -#: gym/templates/gym/member_list.html:248 -#: manager/templates/schedule/view.html:285 -#: manager/templates/workout/view.html:163 -#: nutrition/templates/ingredient/view.html:202 +#: core/templates/user/preferences.html:50 gym/models/contract.py:203 +#: gym/templates/contract/view.html:41 gym/templates/gym/member_list.html:270 +#: manager/templates/schedule/view.html:257 +#: manager/templates/workout/view.html:177 +#: nutrition/templates/ingredient/view.html:206 msgid "Options" msgstr "Seçenekler" -#: core/templates/license/list.html:4 core/templates/misc/license/list.html:4 +#: core/templates/license/list.html:4 msgid "License list" msgstr "Lisans listesi" -#: core/templates/license/list.html:26 core/templates/misc/license/list.html:30 -#: core/templates/repetition_unit/list.html:28 +#: core/templates/license/list.html:30 +#: core/templates/repetition_unit/list.html:32 #: core/templates/user/overview.html:104 core/templates/user/overview.html:136 -#: core/templates/user/overview.html:185 core/templates/user/overview.html:347 -#: core/templates/user/overview.html:383 core/templates/user/overview.html:427 -#: core/templates/weight_unit/list.html:28 -#: exercises/templates/categories/admin-overview.html:26 -#: exercises/templates/equipment/admin-overview.html:26 -#: exercises/templates/muscles/admin-overview.html:26 -#: gym/templates/admin_notes/list.html:52 gym/templates/contract/list.html:60 -#: gym/templates/contract_option/list.html:58 -#: gym/templates/contract_type/list.html:58 gym/templates/document/list.html:64 -#: gym/templates/gym/list.html:29 gym/templates/gym/member_list.html:229 -#: gym/templates/gym/member_list.html:262 -#: gym/templates/gym/member_list.html:299 +#: core/templates/user/overview.html:185 core/templates/user/overview.html:365 +#: core/templates/user/overview.html:404 core/templates/user/overview.html:448 +#: core/templates/weight_unit/list.html:32 +#: exercises/templates/categories/admin-overview.html:30 +#: exercises/templates/equipment/admin-overview.html:30 +#: exercises/templates/muscles/admin-overview.html:29 +#: gym/templates/admin_notes/list.html:50 gym/templates/contract/list.html:57 +#: gym/templates/contract_option/list.html:52 +#: gym/templates/contract_type/list.html:53 gym/templates/document/list.html:64 +#: gym/templates/gym/list.html:32 gym/templates/gym/member_list.html:248 +#: gym/templates/gym/member_list.html:284 +#: gym/templates/gym/member_list.html:321 #: mailer/templates/mailer/gym/overview.html:30 -#: manager/templates/calendar/day.html:87 -#: nutrition/templates/units/list.html:29 +#: manager/templates/calendar/day.html:88 +#: nutrition/templates/units/list.html:34 msgid "Nothing found" msgstr "Hiçbir şey Bulunamadı" -#: core/templates/misc/about.html:4 core/templates/template.html:175 +#: core/templates/misc/about.html:4 core/templates/template.html:187 msgid "Imprint" msgstr "Künye" -#: core/templates/misc/license/list.html:47 -msgid "" -"If a license has been localized, e.g. the Creative Commons\n" -" licenses for the different countries, add them as separate " -"entries here." -msgstr "" -"Bir lisans yerelleştirilmişse, örneğin farklı ülkeler için\n" -" Creative Commons lisansları, onları buraya ayrı girişler olarak " -"ekleyin." - #: core/templates/navigation.html:28 software/templates/features.html:437 msgid "Training" msgstr "Eğitim" @@ -694,8 +683,8 @@ msgstr "Herkese açık şablonlar" msgid "Exercises" msgstr "Egzersizler" -#: core/templates/navigation.html:111 core/templates/navigation.html:184 -#: core/templates/navigation.html:340 +#: core/templates/navigation.html:111 core/templates/navigation.html:185 +#: core/templates/navigation.html:339 msgid "Administration" msgstr "Yönetim" @@ -724,7 +713,7 @@ msgstr "Beslenme" msgid "Nutrition plans" msgstr "Beslenme planları" -#: core/templates/navigation.html:165 nutrition/templates/bmi/form.html:50 +#: core/templates/navigation.html:165 msgid "BMI calculator" msgstr "BMI hesaplayıcı" @@ -732,87 +721,87 @@ msgstr "BMI hesaplayıcı" msgid "Daily calories calculator" msgstr "Günlük kalori hesaplayıcı" -#: core/templates/navigation.html:179 +#: core/templates/navigation.html:180 #: nutrition/templates/ingredient/overview.html:10 msgid "Ingredient overview" msgstr "İçeriğe genel bakış" -#: core/templates/navigation.html:187 nutrition/templates/units/list.html:6 +#: core/templates/navigation.html:189 nutrition/templates/units/list.html:6 msgid "Ingredient weight units" msgstr "İçerik ağırlık birimleri" -#: core/templates/navigation.html:203 software/templates/features.html:442 +#: core/templates/navigation.html:205 software/templates/features.html:442 msgid "Body weight" msgstr "Vücut ağırlığı" -#: core/templates/navigation.html:210 core/templates/user/overview.html:114 +#: core/templates/navigation.html:212 core/templates/user/overview.html:114 msgid "Weight overview" msgstr "Ağırlığa genel bakış" -#: core/templates/navigation.html:217 weight/views.py:65 +#: core/templates/navigation.html:216 weight/views.py:65 msgid "Add weight entry" msgstr "Kilo girişi ekleyin" -#: core/templates/navigation.html:231 +#: core/templates/navigation.html:230 msgid "About this software" msgstr "Bu yazılım hakkında" -#: core/templates/navigation.html:237 software/templates/about_us.html:5 +#: core/templates/navigation.html:236 software/templates/about_us.html:5 msgid "About us" msgstr "Hakkımızda" -#: core/templates/navigation.html:243 software/templates/features.html:507 +#: core/templates/navigation.html:242 software/templates/features.html:507 msgid "REST API" msgstr "REST API" -#: core/templates/navigation.html:249 utils/models.py:45 +#: core/templates/navigation.html:248 utils/models.py:45 msgid "License" msgstr "Lisans" -#: core/templates/navigation.html:255 +#: core/templates/navigation.html:254 msgid "Developer documentation" msgstr "Geliştirici belgeleri" -#: core/templates/navigation.html:262 +#: core/templates/navigation.html:261 msgid "Get the code" msgstr "Kodu alın" -#: core/templates/navigation.html:269 core/templates/template.html:214 +#: core/templates/navigation.html:268 core/templates/template.html:226 #: software/templates/features.html:582 msgid "Translate" msgstr "Çevir" -#: core/templates/navigation.html:303 core/templates/user/login.html:28 +#: core/templates/navigation.html:302 core/templates/user/login.html:28 msgid "Reset password" msgstr "Parolayı sıfırla" -#: core/templates/navigation.html:321 +#: core/templates/navigation.html:320 msgid "My preferences" msgstr "Benim tercihlerim" -#: core/templates/navigation.html:330 +#: core/templates/navigation.html:329 msgid "Logout" msgstr "Çıkış" -#: core/templates/navigation.html:353 +#: core/templates/navigation.html:352 msgid "Licenses" msgstr "Lisanslar" -#: core/templates/navigation.html:361 +#: core/templates/navigation.html:360 #: core/templates/repetition_unit/list.html:4 msgid "Repetition units" msgstr "Tekrarlama birimleri" -#: core/templates/navigation.html:369 core/templates/weight_unit/list.html:4 +#: core/templates/navigation.html:368 core/templates/weight_unit/list.html:4 #: nutrition/templates/ingredient/view.html:141 msgid "Weight units" msgstr "Ağırlık birimleri" -#: core/templates/navigation.html:377 core/templates/user/list.html:4 +#: core/templates/navigation.html:376 core/templates/user/list.html:4 msgid "User list" msgstr "Kullanıcı listesi" -#: core/templates/navigation.html:383 +#: core/templates/navigation.html:382 msgid "Gyms" msgstr "Spor salonları" @@ -875,56 +864,31 @@ msgstr "önceki" msgid "next" msgstr "Sonraki" -#: core/templates/tags/render_day.html:34 -msgid "Add weight log" -msgstr "Kilo günlüğü ekle" - -#: core/templates/tags/render_day.html:116 -msgid "Placeholder image for exercise" +#: core/templates/tags/render_day.html:44 +#, fuzzy +#| msgid "Placeholder image for exercise" +msgid "Placeholder image for translation" msgstr "Egzersiz için yer tutucu resmi" -#: core/templates/tags/render_day.html:133 -msgid "This exercise has no repetitions." -msgstr "Bu egzersizin tekrarı yoktur." - -#: core/templates/tags/render_day.html:136 -msgid "Edit them now." -msgstr "Şimdi düzenleyin." - -#: core/templates/tags/render_day.html:162 -msgid "Add exercises to this workout day" -msgstr "Bu antrenman gününe egzersiz ekleyin" - -#: core/templates/tags/render_weight_log.html:17 manager/helpers.py:86 -#: manager/models/setting.py:72 manager/templates/set/formset.html:9 -msgid "Reps" -msgstr "Temsilciler" - -#: core/templates/tags/render_weight_log.html:30 manager/forms.py:191 -#: manager/models/log.py:103 manager/models/setting.py:102 -#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 -msgid "RiR" -msgstr "RiR" - -#: core/templates/template.html:122 manager/templates/calendar/month.html:138 -#: manager/templates/schedule/view.html:248 -#: manager/templates/schedule/view.html:269 -#: manager/templates/workout/view.html:84 -#: manager/templates/workout/view.html:137 +#: core/templates/template.html:123 manager/templates/calendar/month.html:138 +#: manager/templates/schedule/view.html:215 +#: manager/templates/schedule/view.html:240 +#: manager/templates/workout/view.html:89 +#: manager/templates/workout/view.html:149 msgid "Close" msgstr "Kapat" -#: core/templates/template.html:138 +#: core/templates/template.html:139 msgid "" "You are using a guest account, data entered will be deleted after a week." msgstr "" "Misafir hesabı kullanıyorsunuz, girilen veriler bir hafta sonra silinecek." -#: core/templates/template.html:143 +#: core/templates/template.html:144 msgid "Create some demo entries" msgstr "Bazı demo girişleri oluşturun" -#: core/templates/template.html:180 software/templates/features.html:547 +#: core/templates/template.html:192 software/templates/features.html:547 #: software/templates/tos.html:7 msgid "Terms of service" msgstr "Kullanım Şartları" @@ -933,7 +897,7 @@ msgstr "Kullanım Şartları" msgid "Features" msgstr "Özellikleri" -#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:54 +#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:59 msgid "API key" msgstr "API anahtarı" @@ -978,17 +942,17 @@ msgstr "Yeni API anahtarı oluşturun" msgid "Documentation" msgstr "Dokümantasyon" -#: core/templates/user/delete_account.html:4 -#: core/templates/user/preferences.html:59 +#: core/templates/user/delete_account.html:3 +#: core/templates/user/preferences.html:62 msgid "Delete account" msgstr "Hesabı sil" -#: core/templates/user/delete_account.html:17 +#: core/templates/user/delete_account.html:9 #: exercises/templates/history/overview.html:93 msgid "Are you sure?" msgstr "Emin misiniz?" -#: core/templates/user/delete_account.html:22 +#: core/templates/user/delete_account.html:14 #, python-format msgid "" "This action will delete the user account \"%(username)s\".\n" @@ -1011,22 +975,22 @@ msgstr "Parolanızı mı unuttunuz?" #: core/templates/user/overview.html:25 core/templates/user/overview.html:68 #: core/templates/user/overview.html:112 core/templates/user/overview.html:144 -#: core/templates/user/overview.html:330 core/templates/user/overview.html:369 -#: core/templates/user/overview.html:405 +#: core/templates/user/overview.html:348 core/templates/user/overview.html:390 +#: core/templates/user/overview.html:426 #, python-format msgid "last %(number)s" msgstr "son %(number)s" #: core/templates/user/overview.html:27 core/templates/user/overview.html:146 -#: core/templates/user/overview.html:325 core/templates/user/overview.html:364 -#: core/templates/user/overview.html:400 gym/templates/gym/member_list.html:210 -#: gym/templates/gym/member_list.html:243 -#: gym/templates/gym/member_list.html:280 +#: core/templates/user/overview.html:343 core/templates/user/overview.html:382 +#: core/templates/user/overview.html:421 gym/templates/gym/member_list.html:226 +#: gym/templates/gym/member_list.html:262 +#: gym/templates/gym/member_list.html:302 msgid "Overview" msgstr "Genel Bakış" #: core/templates/user/overview.html:28 -#: manager/templates/schedule/view.html:163 +#: manager/templates/schedule/view.html:125 #: manager/templates/workout/overview.html:39 manager/views/schedule_step.py:60 msgid "Add workout" msgstr "Antrenman ekle" @@ -1058,38 +1022,36 @@ msgstr "Açıklama" msgid "Number of logs (days)" msgstr "Günlük sayısı (gün)" -#: core/templates/user/overview.html:37 core/views/user.py:600 +#: core/templates/user/overview.html:37 core/views/user.py:599 #: gym/templates/gym/email_inactive_members.html:4 gym/views/gym.py:158 msgid "Last activity" msgstr "Son Aktivite" #: core/templates/user/overview.html:58 #: manager/templates/calendar/month.html:128 -#: manager/templates/schedule/view.html:144 #: manager/templates/workout/overview.html:28 msgid "No workouts found." msgstr "Antrenman bulunamadı." #: core/templates/user/overview.html:68 manager/forms.py:280 -#: manager/templates/workout/view.html:106 +#: manager/templates/workout/view.html:114 msgid "Log" msgstr "Kayıt" #: core/templates/user/overview.html:77 manager/models/session.py:83 -#: manager/templates/calendar/partial_overview_table.html:52 +#: manager/templates/calendar/partial_overview_table.html:54 msgid "General impression" msgstr "Genel izlenim" -#: core/templates/user/overview.html:78 core/templates/user/overview.html:369 +#: core/templates/user/overview.html:78 core/templates/user/overview.html:390 #: manager/models/session.py:73 -#: manager/templates/calendar/partial_overview_table.html:56 -#: manager/templates/workout/log.html:89 +#: manager/templates/calendar/partial_overview_table.html:58 msgid "Notes" msgstr "Notlar" #: core/templates/user/overview.html:79 #: exercises/templates/history/overview.html:30 -#: manager/templates/calendar/partial_overview_table.html:42 +#: manager/templates/calendar/partial_overview_table.html:44 msgid "Time" msgstr "Zaman" @@ -1127,123 +1089,123 @@ msgstr "Yağ" msgid "kcal" msgstr "kilokalori" -#: core/templates/user/overview.html:201 core/templates/user/overview.html:322 -#: core/templates/user/overview.html:361 core/templates/user/overview.html:397 -#: core/templates/user/overview.html:442 gym/templates/gym/list.html:42 -#: gym/templates/gym/member_list.html:84 gym/templates/gym/member_list.html:137 -#: gym/templates/gym/member_list.html:173 -#: gym/templates/gym/member_list.html:207 -#: gym/templates/gym/member_list.html:240 -#: gym/templates/gym/member_list.html:277 -#: manager/templates/schedule/view.html:100 +#: core/templates/user/overview.html:201 core/templates/user/overview.html:340 +#: core/templates/user/overview.html:379 core/templates/user/overview.html:418 +#: core/templates/user/overview.html:463 gym/templates/gym/list.html:45 +#: gym/templates/gym/member_list.html:91 gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:187 +#: gym/templates/gym/member_list.html:223 +#: gym/templates/gym/member_list.html:259 +#: gym/templates/gym/member_list.html:299 +#: manager/templates/schedule/view.html:54 msgid "Actions" msgstr "Hareketler" -#: core/templates/user/overview.html:207 +#: core/templates/user/overview.html:210 msgid "Deactivate user" msgstr "Kullanıcıyı devre dışı bırak" -#: core/templates/user/overview.html:209 +#: core/templates/user/overview.html:214 msgid "Activate user" msgstr "Kullanıcıyı etkinleştir" -#: core/templates/user/overview.html:211 +#: core/templates/user/overview.html:223 msgid "Reset user password" msgstr "Kullanıcı parolasını sıfırla" -#: core/templates/user/overview.html:214 gym/templates/gym/member_list.html:30 +#: core/templates/user/overview.html:227 gym/templates/gym/member_list.html:30 msgid "Roles" msgstr "Roller" -#: core/templates/user/overview.html:225 +#: core/templates/user/overview.html:243 msgid "Password reset confirmation" msgstr "Parola sıfırlama onayı" -#: core/templates/user/overview.html:229 +#: core/templates/user/overview.html:247 msgid "Do you really want to change this user's password?" msgstr "Bu kullanıcının parolasını gerçekten değiştirmek istiyor musunuz?" -#: core/templates/user/overview.html:232 +#: core/templates/user/overview.html:250 #: exercises/templates/history/overview.html:106 msgid "No" msgstr "Hayır" -#: core/templates/user/overview.html:233 +#: core/templates/user/overview.html:251 #: exercises/templates/history/overview.html:99 msgid "Yes" msgstr "Evet" -#: core/templates/user/overview.html:254 gym/templates/gym/member_list.html:93 +#: core/templates/user/overview.html:272 gym/templates/gym/member_list.html:105 msgid "Details" msgstr "Detaylar" -#: core/templates/user/overview.html:258 gym/views/export.py:57 -#: manager/helpers.py:86 manager/templates/schedule/view.html:98 +#: core/templates/user/overview.html:276 gym/views/export.py:57 +#: manager/helpers.py:86 manager/templates/schedule/view.html:52 msgid "Nr." msgstr "Nr." -#: core/templates/user/overview.html:280 gym/models/contract.py:287 +#: core/templates/user/overview.html:298 gym/models/contract.py:287 #: gym/models/gym.py:50 gym/templates/contract/view.html:75 -#: gym/templates/gym/member_list.html:100 gym/views/export.py:68 +#: gym/templates/gym/member_list.html:112 gym/views/export.py:68 msgid "Phone" msgstr "Telefon" -#: core/templates/user/overview.html:284 gym/templates/contract/view.html:87 -#: gym/templates/gym/member_list.html:118 +#: core/templates/user/overview.html:302 gym/templates/contract/view.html:87 +#: gym/templates/gym/member_list.html:130 msgid "Address" msgstr "Adres" -#: core/templates/user/overview.html:295 +#: core/templates/user/overview.html:313 msgid "Registered" msgstr "Kayıtlı" -#: core/templates/user/overview.html:299 +#: core/templates/user/overview.html:317 msgid "Last login" msgstr "Son giriş" -#: core/templates/user/overview.html:304 +#: core/templates/user/overview.html:322 msgid "Status" msgstr "Durum" -#: core/templates/user/overview.html:307 +#: core/templates/user/overview.html:325 msgid "Active" msgstr "Aktif" -#: core/templates/user/overview.html:309 +#: core/templates/user/overview.html:327 msgid "Inactive" msgstr "Etkin değil" -#: core/templates/user/overview.html:330 gym/templates/contract/list.html:4 -#: gym/templates/gym/member_list.html:202 +#: core/templates/user/overview.html:348 gym/templates/contract/list.html:4 +#: gym/templates/gym/member_list.html:218 msgid "Contracts" msgstr "Sözleşmeler" -#: core/templates/user/overview.html:405 gym/templates/document/list.html:4 +#: core/templates/user/overview.html:426 gym/templates/document/list.html:4 msgid "Documents" msgstr "Belgeler" -#: core/templates/user/overview.html:412 gym/templates/document/list.html:32 -#: manager/forms.py:292 manager/templates/workout/view.html:132 +#: core/templates/user/overview.html:433 gym/templates/document/list.html:33 +#: manager/forms.py:292 manager/templates/workout/view.html:143 msgid "Download" msgstr "İndir" -#: core/templates/user/overview.html:450 gym/views/admin_config.py:44 +#: core/templates/user/overview.html:474 gym/views/admin_config.py:44 #: gym/views/admin_config.py:58 gym/views/user_config.py:46 msgid "Configuration" msgstr "Yapılandırma" -#: core/templates/user/overview.html:453 gym/models/user_config.py:92 +#: core/templates/user/overview.html:477 gym/models/user_config.py:92 msgid "Include in inactive overview" msgstr "Etkin olmayan genel bakışa ekle" -#: core/templates/user/overview.html:486 +#: core/templates/user/overview.html:510 #, python-format msgid "Admin login is only available for users in %(gym_name)s" msgstr "" "Yönetici oturumu yalnızca %(gym_name)s içindeki kullanıcılar tarafından " "kullanılabilir" -#: core/templates/user/overview.html:490 +#: core/templates/user/overview.html:514 msgid "Log in as this user" msgstr "Bu kullanıcı olarak oturum açın" @@ -1263,20 +1225,20 @@ msgstr "Doğrulanmamış e-posta adresi" msgid "Send verification email" msgstr "Doğrulama e-postası gönder" -#: core/templates/user/preferences.html:30 +#: core/templates/user/preferences.html:31 msgid "You need to verify your email to contribute exercises" msgstr "" "Egzersizlere katkıda bulunmak için e-posta adresinizi doğrulamanız gerekiyor" -#: core/templates/user/preferences.html:50 core/views/user.py:611 +#: core/templates/user/preferences.html:55 core/views/user.py:610 msgid "Change password" msgstr "Parola değiştir" -#: core/templatetags/wger_extras.py:205 i18n.tpl:37 +#: core/templatetags/wger_extras.py:197 i18n.tpl:37 msgid "kg" msgstr "kilogram" -#: core/templatetags/wger_extras.py:207 +#: core/templatetags/wger_extras.py:199 #: nutrition/templates/ingredient/view.html:60 #: nutrition/templates/ingredient/view.html:66 #: nutrition/templates/ingredient/view.html:73 @@ -1288,11 +1250,11 @@ msgctxt "weight unit, i.e. grams" msgid "g" msgstr "g" -#: core/templatetags/wger_extras.py:210 i18n.tpl:38 +#: core/templatetags/wger_extras.py:202 i18n.tpl:38 msgid "lb" msgstr "1 pound = 0.45 kg" -#: core/templatetags/wger_extras.py:212 +#: core/templatetags/wger_extras.py:204 msgctxt "weight unit, i.e. ounces" msgid "oz" msgstr "oz" @@ -1319,13 +1281,13 @@ msgid "Delete {0}?" msgstr "{0} silinsin mi?" #: core/views/languages.py:111 core/views/license.py:85 -#: core/views/repetition_units.py:86 core/views/user.py:474 +#: core/views/repetition_units.py:86 core/views/user.py:473 #: core/views/weight_units.py:86 exercises/views/categories.py:98 #: exercises/views/equipment.py:81 exercises/views/muscles.py:87 #: gym/views/admin_notes.py:161 gym/views/config.py:68 #: gym/views/contract.py:186 gym/views/contract_option.py:123 #: gym/views/contract_type.py:123 gym/views/document.py:171 -#: gym/views/gym.py:463 manager/views/day.py:100 manager/views/schedule.py:333 +#: gym/views/gym.py:463 manager/views/day.py:96 manager/views/schedule.py:333 #: manager/views/workout.py:267 nutrition/views/ingredient.py:145 #: nutrition/views/unit.py:143 #, python-brace-format @@ -1354,48 +1316,48 @@ msgstr "Sunmak" msgid "Your feedback was successfully sent. Thank you!" msgstr "Geri bildiriminiz başarıyla gönderildi. Teşekkür ederim!" -#: core/views/user.py:156 +#: core/views/user.py:155 #, python-brace-format msgid "Account \"{0}\" was successfully deleted" msgstr "\"{0}\" hesabı başarıyla silindi" -#: core/views/user.py:292 +#: core/views/user.py:291 msgid "You were successfully registered" msgstr "Başarıyla kaydoldunuz" -#: core/views/user.py:351 +#: core/views/user.py:350 msgid "Settings successfully updated" msgstr "Ayarlar başarıyla güncellendi" -#: core/views/user.py:390 +#: core/views/user.py:389 msgid "The user was successfully deactivated" msgstr "Kullanıcı başarıyla devre dışı bırakıldı" -#: core/views/user.py:427 +#: core/views/user.py:426 msgid "The user was successfully activated" msgstr "Kullanıcı başarıyla etkinleştirildi" -#: core/views/user.py:442 +#: core/views/user.py:441 msgid "Edit user" msgstr "Kullanıcıyı düzenle" -#: core/views/user.py:597 gym/templates/gym/member_list.html:26 +#: core/views/user.py:596 gym/templates/gym/member_list.html:26 #: gym/views/gym.py:158 msgid "ID" msgstr "İD" -#: core/views/user.py:598 gym/forms.py:95 gym/templates/contract/view.html:55 +#: core/views/user.py:597 gym/forms.py:95 gym/templates/contract/view.html:55 #: gym/templates/gym/member_list.html:27 gym/views/export.py:59 #: gym/views/gym.py:158 gym/views/gym.py:217 msgid "Username" msgstr "Kullanıcı adı" -#: core/views/user.py:601 gym/templates/gym/new_user.html:34 +#: core/views/user.py:600 gym/templates/gym/new_user.html:34 #: gym/views/export.py:58 gym/views/gym.py:217 msgid "Gym" msgstr "Jimnastik" -#: core/views/user.py:660 +#: core/views/user.py:659 #, python-format msgid "A verification email was sent to %(email)s" msgstr "%(email)s adresine bir doğrulama e-postası gönderildi" @@ -1548,11 +1510,6 @@ msgstr "Kodek, uzun ad" msgid "Equipment list" msgstr "Ekipman listesi" -#: exercises/templates/equipment/admin-overview.html:39 -#: exercises/views/equipment.py:92 -msgid "Add new equipment" -msgstr "Yeni ekipman ekle" - #: exercises/templates/history/overview.html:11 msgid "Exercise admin history" msgstr "Egzersiz yönetici geçmişi" @@ -1600,11 +1557,6 @@ msgstr "Değişiklikleri geri al" msgid "Muscle overview" msgstr "Kaslara genel bakış" -#: exercises/templates/muscles/admin-overview.html:38 -#: exercises/views/muscles.py:68 -msgid "Add muscle" -msgstr "Kas ekleyin" - #: exercises/views/categories.py:72 msgid "Add category" msgstr "Kategori ekle" @@ -1613,6 +1565,10 @@ msgstr "Kategori ekle" msgid "This will also delete all exercises in this category." msgstr "Bu aynı zamanda bu kategorideki tüm alıştırmaları da silecektir." +#: exercises/views/equipment.py:92 +msgid "Add new equipment" +msgstr "Yeni ekipman ekle" + #: exercises/views/equipment.py:104 exercises/views/equipment.py:115 msgid "Delete equipment?" msgstr "Ekipman silinsin mi?" @@ -1621,6 +1577,10 @@ msgstr "Ekipman silinsin mi?" msgid "This will delete the exercise from all workouts." msgstr "Bu, egzersizi tüm egzersiz programlarından silecektir." +#: exercises/views/muscles.py:68 +msgid "Add muscle" +msgstr "Kas ekleyin" + #: gallery/templates/images/overview.html:62 msgid "Add image" msgstr "Resim ekle" @@ -1709,7 +1669,7 @@ msgid "Contract is active" msgstr "Sözleşme aktif" #: gym/models/contract.py:237 gym/templates/contract/view.html:69 -#: manager/models/schedule.py:61 manager/templates/schedule/view.html:67 +#: manager/models/schedule.py:61 manager/templates/schedule/view.html:21 msgid "Start date" msgstr "Başlangıç tarihi" @@ -1745,7 +1705,7 @@ msgstr "Yönetici: bir spor salonu için kullanıcıları yönetebilir" msgid "Admin: can administrate the different gyms" msgstr "Yönetici: farklı spor salonlarını yönetebilir" -#: gym/models/gym.py:65 gym/templates/gym/member_list.html:114 +#: gym/models/gym.py:65 gym/templates/gym/member_list.html:126 msgid "Owner" msgstr "Sahip" @@ -1757,7 +1717,7 @@ msgstr "" "Bir kullanıcının aktif olmadığını düşünmek için varlığını son kez oturum " "açmasından bu yana geçen hafta sayısı" -#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:152 +#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:166 msgid "Show name in header" msgstr "Adı başlıkta göster" @@ -1770,7 +1730,7 @@ msgstr "Site başlığında spor salonunun adını gösterin" msgid "Configuration for {self.gym.name}" msgstr "{self.gym.name} için yapılandırma" -#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:184 +#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:200 msgid "Overview of inactive members" msgstr "Etkin olmayan üyelere genel bakış" @@ -1794,7 +1754,7 @@ msgstr "Hiçbir şey sağlanmazsa dosya adını kullanacak" msgid "User notes" msgstr "Kullanıcı notları" -#: gym/templates/contract/list.html:36 +#: gym/templates/contract/list.html:34 msgid "Show" msgstr "Göster" @@ -1822,11 +1782,11 @@ msgstr "" msgid "Gym list" msgstr "Spor listesi" -#: gym/templates/gym/list.html:50 +#: gym/templates/gym/list.html:53 msgid "Global gym configuration" msgstr "Global spor salonu yapılandırması" -#: gym/templates/gym/list.html:67 gym/views/gym.py:171 +#: gym/templates/gym/list.html:69 gym/views/gym.py:171 msgid "Add new gym" msgstr "Yeni spor salonu ekle" @@ -1838,43 +1798,43 @@ msgstr "Yöneticiler ve eğitmenler" msgid "Gym manager" msgstr "Spor salonu yöneticisi" -#: gym/templates/gym/member_list.html:69 +#: gym/templates/gym/member_list.html:76 msgid "This gym has no administrators or trainers" msgstr "Bu spor salonunun yöneticisi veya eğitmeni yok" -#: gym/templates/gym/member_list.html:88 +#: gym/templates/gym/member_list.html:98 msgid "Export" msgstr "Dışa çıkar" -#: gym/templates/gym/member_list.html:125 +#: gym/templates/gym/member_list.html:137 msgid "Members" msgstr "Üyeler" -#: gym/templates/gym/member_list.html:145 +#: gym/templates/gym/member_list.html:159 msgid "Gym configuration" msgstr "Spor salonu yapılandırması" -#: gym/templates/gym/member_list.html:148 +#: gym/templates/gym/member_list.html:162 msgid "Inactive members" msgstr "Etkin olmayan üyeler" -#: gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:163 msgid "weeks" msgstr "haftalar" -#: gym/templates/gym/member_list.html:181 +#: gym/templates/gym/member_list.html:197 msgid "My configuration" msgstr "Yapılandırmam" -#: gym/templates/gym/member_list.html:215 +#: gym/templates/gym/member_list.html:234 msgid "Types" msgstr "Türler" -#: gym/templates/gym/member_list.html:285 +#: gym/templates/gym/member_list.html:307 msgid "Emails" msgstr "E-postalar" -#: gym/templates/gym/member_list.html:315 +#: gym/templates/gym/member_list.html:336 msgid "Add member" msgstr "Üye ekle" @@ -2171,28 +2131,38 @@ msgstr "Ayrıca İngilizce adları da arayın" msgid "Unit" msgstr "Birim" +#: manager/forms.py:191 manager/models/log.py:103 manager/models/setting.py:102 +#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 +msgid "RiR" +msgstr "RiR" + #: manager/forms.py:279 msgid "Type" msgstr "Tür" -#: manager/forms.py:280 manager/templates/workout/view.html:113 +#: manager/forms.py:280 manager/templates/workout/view.html:122 msgid "Table" msgstr "Tablo" -#: manager/forms.py:282 manager/templates/workout/view.html:119 +#: manager/forms.py:282 manager/templates/workout/view.html:129 msgid "with images" msgstr "resimlerle" -#: manager/forms.py:283 manager/templates/workout/view.html:125 +#: manager/forms.py:283 manager/templates/workout/view.html:136 msgid "with comments" msgstr "yorumlarla" +#: manager/helpers.py:86 manager/models/setting.py:72 +#: manager/templates/set/formset.html:9 +msgid "Reps" +msgstr "Temsilciler" + #: manager/management/commands/email-reminders.py:121 msgid "Workout will expire soon" msgstr "Antrenman yakında sona erecek" #: manager/models/day.py:34 manager/models/log.py:58 -#: manager/models/session.py:60 manager/templates/schedule/view.html:102 +#: manager/models/session.py:60 manager/templates/schedule/view.html:56 #: manager/templates/workout/view.html:9 manager/templates/workout/view.html:17 #: manager/views/pdf.py:85 manager/views/pdf.py:161 #: manager/views/schedule.py:151 manager/views/schedule.py:221 @@ -2215,7 +2185,7 @@ msgstr "Gün" msgid "Name or short description of the schedule. For example 'Program XYZ'." msgstr "Programın adı veya kısa açıklaması. Örneğin 'XYZ Programı'." -#: manager/models/schedule.py:65 manager/templates/schedule/view.html:71 +#: manager/models/schedule.py:65 manager/templates/schedule/view.html:25 msgid "Schedule active" msgstr "Etkin program" @@ -2229,7 +2199,7 @@ msgstr "" "işaretleyin (örneğin, kontrol panelinizde gösterilecektir). Diğer tüm " "programlar devre dışı olarak işaretlenecektir" -#: manager/models/schedule.py:77 manager/templates/schedule/view.html:81 +#: manager/models/schedule.py:77 manager/templates/schedule/view.html:35 msgid "Is a loop" msgstr "Bir döngü" @@ -2250,7 +2220,7 @@ msgid "The duration in weeks" msgstr "Hafta cinsinden süre" #: manager/models/schedule_step.py:64 manager/models/set.py:53 -#: manager/models/setting.py:113 nutrition/models/meal.py:55 +#: manager/models/setting.py:113 nutrition/models/meal.py:53 #: nutrition/models/meal_item.py:66 msgid "Order" msgstr "Sipariş" @@ -2394,7 +2364,7 @@ msgstr "Günlüğe genel bakış" msgid "Workout session" msgstr "Egzersiz seansı" -#: manager/templates/calendar/partial_overview_table.html:27 +#: manager/templates/calendar/partial_overview_table.html:26 msgid "Delete with logs" msgstr "Günlüklerle sil" @@ -2417,21 +2387,27 @@ msgstr "" "seçilen tarih için zaten yoksa oluşturulabilir. Varsa\n" "basitçe düzenlenecektir. Ağırlık girişleri her zaman eklenir." -#: manager/templates/schedule/overview.html:5 +#: manager/templates/schedule/overview.html:4 msgid "Your schedules" msgstr "Programlarınız" #: manager/templates/schedule/overview.html:19 -#: manager/templates/schedule/view.html:131 -#: manager/templates/schedule/view.html:183 +#: manager/templates/schedule/view.html:96 +#: manager/templates/schedule/view.html:146 #: manager/templates/workout/overview.html:16 msgid "active" msgstr "aktif" -#: manager/templates/schedule/overview.html:28 +#: manager/templates/schedule/overview.html:27 msgid "No schedules found." msgstr "Program bulunamadı." +#: manager/templates/schedule/overview.html:28 +#, fuzzy +#| msgid "Add one now." +msgid "Add one now" +msgstr "Yeni ekle." + #: manager/templates/schedule/overview.html:36 msgid "" "Schedules are collections of workouts that you do in\n" @@ -2441,12 +2417,20 @@ msgstr "" " birleşimidir." #: manager/templates/schedule/overview.html:39 +#, fuzzy +#| msgid "" +#| "You can indicate how long you want to do each workout\n" +#| " before jumping to the next. It is also possible to create a loop, " +#| "so you\n" +#| " always do the same workouts in succession, e.g. A > B > C > A > B " +#| "> C and so on." msgid "" "You can indicate how long you want to do each workout\n" " before jumping to the next. It is also possible to create a loop, so " "you\n" " always do the same workouts in succession, e.g. A > B > C > A > B > " -"C and so on." +"C and so\n" +" on." msgstr "" "Bir sonrakine geçmeden önce her bir antrenmanı ne kadar\n" " süreyle yapmak istediğinizi belirtebilirsiniz. Bir döngü de " @@ -2454,7 +2438,7 @@ msgstr "" " böylece her zaman aynı antrenmanları arka arkaya yaparsınız, örneğin " "A > B > C > A > B > C vb." -#: manager/templates/schedule/overview.html:43 +#: manager/templates/schedule/overview.html:44 msgid "" "The currently active schedule will remain active (and be\n" " shown e.g. in your dashboard) till it reaches the last workout or " @@ -2474,7 +2458,7 @@ msgstr "Program ekle" msgid "Schedule" msgstr "Program" -#: manager/templates/schedule/view.html:85 +#: manager/templates/schedule/view.html:39 msgid "" "This schedule is a loop and will go through the workouts above till you " "deactivate it" @@ -2482,19 +2466,15 @@ msgstr "" "Bu program bir döngüdür ve siz devre dışı bırakana kadar yukarıdaki " "antrenmanlardan geçecektir" -#: manager/templates/schedule/view.html:103 +#: manager/templates/schedule/view.html:57 msgid "Weeks" msgstr "Haftalar" -#: manager/templates/schedule/view.html:115 -msgid "Move me" -msgstr "Beni hareket ettir" - -#: manager/templates/schedule/view.html:156 +#: manager/templates/schedule/view.html:121 msgid "Start schedule" msgstr "Programı başlat" -#: manager/templates/schedule/view.html:187 +#: manager/templates/schedule/view.html:150 #, python-format msgid "" "%(weeks)s Week\n" @@ -2509,11 +2489,11 @@ msgstr[1] "" "%(weeks)s Hafta\n" " " -#: manager/templates/schedule/view.html:221 +#: manager/templates/schedule/view.html:184 msgid "Adding workouts" msgstr "Antrenman ekleme" -#: manager/templates/schedule/view.html:223 +#: manager/templates/schedule/view.html:186 msgid "" "Add as many workouts to the schedule as you want. You can\n" " edit the order by dragging and dropping them. It's also possible " @@ -2525,48 +2505,48 @@ msgstr "" "fazla kez de\n" " ekleyebilirsiniz." -#: manager/templates/schedule/view.html:232 -#: manager/templates/schedule/view.html:243 -#: manager/templates/schedule/view.html:290 +#: manager/templates/schedule/view.html:195 +#: manager/templates/schedule/view.html:209 +#: manager/templates/schedule/view.html:263 #: manager/templates/workout/view.html:69 -#: manager/templates/workout/view.html:79 -#: manager/templates/workout/view.html:178 +#: manager/templates/workout/view.html:83 +#: manager/templates/workout/view.html:192 msgid "Export calendar file" msgstr "Takvim dosyasını dışa aktar" -#: manager/templates/schedule/view.html:236 +#: manager/templates/schedule/view.html:201 msgid "Export this schedule as a calendar file." msgstr "Bu programı bir takvim dosyası olarak dışa aktarın." -#: manager/templates/schedule/view.html:237 -#: manager/templates/workout/view.html:74 +#: manager/templates/schedule/view.html:202 +#: manager/templates/workout/view.html:76 +#, fuzzy +#| msgid "" +#| "You can then import the file it into your calendar\n" +#| " application for example google calendar, outlook " +#| "or iCal. This will create\n" +#| " an appointment for each training day with the " +#| "appropriate exercises." msgid "" "You can then import the file it into your calendar\n" " application for example google calendar, outlook or " "iCal. This will create\n" " an appointment for each training day with the " -"appropriate exercises." +"appropriate\n" +" exercises." msgstr "" "Daha sonra dosyayı takvim uygulamanıza aktarabilirsiniz,\n" " örneğin google takvim, outlook veya iCal. Bu, her " "eğitim günü için uygun\n" " egzersizlerle birlikte bir randevu oluşturacaktır." -#: manager/templates/schedule/view.html:258 -#: manager/templates/schedule/view.html:294 -#: manager/templates/workout/view.html:94 -#: manager/templates/workout/view.html:174 +#: manager/templates/schedule/view.html:225 +#: manager/templates/schedule/view.html:268 +#: manager/templates/workout/view.html:99 +#: manager/templates/workout/view.html:188 msgid "Download as PDF" msgstr "PDF olarak indir" -#: manager/templates/schedule/view.html:299 -msgid "Edit schedule" -msgstr "Programı düzenle" - -#: manager/templates/schedule/view.html:304 -msgid "Delete schedule" -msgstr "Programı sil" - #: manager/templates/set/add.html:9 #, python-format msgid "Add exercises to day \"%(day_name)s\"" @@ -2646,57 +2626,6 @@ msgstr "" "Mevcut kilonuzu girene kadar düzenli olarak bu tür hatırlatıcılar " "alacaksınız." -#: manager/templates/workout/log.html:10 manager/templates/workout/log.html:11 -msgid "Weight log" -msgstr "Ağırlık günlüğü" - -#: manager/templates/workout/log.html:29 -msgid "Weight log for workout" -msgstr "Egzersiz için ağırlık günlüğü" - -#: manager/templates/workout/log.html:49 -msgid "Add weight log to this day" -msgstr "Bu güne kilo günlüğü ekleyin" - -#: manager/templates/workout/log.html:69 -msgid "No weight entries here." -msgstr "Burada ağırlık girişi yok." - -#: manager/templates/workout/log.html:77 -msgid "No exercises for this day." -msgstr "Bu gün için egzersiz yok." - -#: manager/templates/workout/log.html:90 -msgid "" -"This page shows the weight logs belonging to this workout\n" -"only. Click on an exercise to see all the historical data for\n" -"it." -msgstr "" -"Bu sayfa, bu antrenmana ait ağırlık günlüklerini gösterir.\n" -"bir tek. İle ilgili tüm geçmiş verileri görmek için bir alıştırmayı " -"tıklayın.\n" -"o." - -#: manager/templates/workout/log.html:94 -msgid "" -"If on a single day there is more than one entry with the\n" -"same number of repetitions, but different weights, only the entry with the\n" -"higher weight is shown in the diagram." -msgstr "" -"Tek bir günde birden fazla giriş varsa\n" -"aynı sayıda tekrar, ancak farklı ağırlıklar, yalnızca\n" -"diyagramda daha yüksek ağırlık gösterilmiştir." - -#: manager/templates/workout/log.html:98 -msgid "" -"Note that only entries with a weight unit (kg or lb) and\n" -"repetitions are charted, other combinations such as time or until failure\n" -"are ignored here." -msgstr "" -"Yalnızca ağırlık birimi (kg veya lb) olan girişlerin ve\n" -"tekrarlar, zaman gibi diğer kombinasyonlar veya başarısızlığa kadar\n" -"burada göz ardı edilir." - #: manager/templates/workout/overview.html:25 msgid "No templates found." msgstr "Şablon bulunamadı." @@ -2734,27 +2663,23 @@ msgstr "Günlere antrenman setleri ekle" msgid "Set the repetitions for each set" msgstr "Her set için tekrarları ayarlayın" -#: manager/templates/workout/view.html:73 +#: manager/templates/workout/view.html:75 msgid "Export this workout as a calendar file." msgstr "Bu antrenmanı bir takvim dosyası olarak dışa aktarın." -#: manager/templates/workout/view.html:144 +#: manager/templates/workout/view.html:156 msgid "Logs" msgstr "Kütükler" -#: manager/templates/workout/view.html:146 +#: manager/templates/workout/view.html:159 msgid "View logs" msgstr "Günlükleri görüntüle" -#: manager/templates/workout/view.html:169 manager/views/schedule_step.py:99 -msgid "Edit workout" -msgstr "Antrenmanı düzenle" - -#: manager/templates/workout/view.html:182 manager/views/workout.py:281 +#: manager/templates/workout/view.html:195 manager/views/workout.py:281 msgid "Mark as template" msgstr "Şablon olarak işaretle" -#: manager/views/day.py:109 +#: manager/views/day.py:105 msgid "Add workout day" msgstr "Egzersiz günü ekle" @@ -2771,6 +2696,10 @@ msgstr "%s için egzersiz" msgid "Create schedule" msgstr "Program oluştur" +#: manager/views/schedule_step.py:99 +msgid "Edit workout" +msgstr "Antrenmanı düzenle" + #: manager/views/workout.py:209 msgid "Copy workout" msgstr "Antrenmanı kopyala" @@ -2893,7 +2822,7 @@ msgstr "Gram cinsinden miktar" msgid "Unit amount, e.g. \"1 Cup\" or \"1/2 spoon\"" msgstr "Birim miktar, ör. \"1 Fincan\" veya \"1/2 kaşık\"" -#: nutrition/models/log.py:52 nutrition/models/meal.py:50 +#: nutrition/models/log.py:52 nutrition/models/meal.py:48 #: nutrition/models/meal_item.py:48 nutrition/models/plan.py:108 msgid "Nutrition plan" msgstr "Beslenme planı" @@ -2906,11 +2835,11 @@ msgstr "Yemek" msgid "Date and Time (Approx.)" msgstr "Tarih ve Saat (Yaklaşık)" -#: nutrition/models/meal.py:62 +#: nutrition/models/meal.py:60 msgid "Time (approx)" msgstr "Zaman (yaklaşık)" -#: nutrition/models/meal.py:69 +#: nutrition/models/meal.py:67 msgid "" "Give meals a textual description / name such as \"Breakfast\" or \"after " "workout\"" @@ -2939,63 +2868,6 @@ msgstr "" "kutuyu işaretleyin. Hesap makinesini kullanabilir veya değeri kendiniz " "girebilirsiniz." -#: nutrition/templates/bmi/form.html:62 -msgid "Results" -msgstr "Sonuçlar" - -#: nutrition/templates/bmi/form.html:63 -msgid "Your BMI is: " -msgstr "BMI değeriniz: " - -#: nutrition/templates/bmi/form.html:71 -msgid "Legend" -msgstr "Efsane" - -#: nutrition/templates/bmi/form.html:75 -msgid "Adipositas III" -msgstr "Yağlanma III" - -#: nutrition/templates/bmi/form.html:79 -msgid "Adipositas II" -msgstr "Yağlanma II" - -#: nutrition/templates/bmi/form.html:83 -msgid "Adipositas I" -msgstr "Yağlanma I" - -#: nutrition/templates/bmi/form.html:87 -msgid "Overweight" -msgstr "Kilolu" - -#: nutrition/templates/bmi/form.html:91 -msgid "Normal weight" -msgstr "Normal kilo" - -#: nutrition/templates/bmi/form.html:95 -msgid "Slight underweight" -msgstr "Hafif zayıf" - -#: nutrition/templates/bmi/form.html:99 -msgid "Moderate underweight" -msgstr "Orta derecede zayıf" - -#: nutrition/templates/bmi/form.html:103 -msgid "Strong underweight" -msgstr "Güçlü zayıflık" - -#: nutrition/templates/bmi/form.html:117 -msgid "" -"Use the form to calculate your BMI (Body Mass Index).\n" -"If you have entered data in the weight section, the last entry will\n" -"be used automatically. Otherwise the weight you enter here will be saved\n" -"in a new entry." -msgstr "" -"VKİ'nizi (Vücut Kitle İndeksi) hesaplamak için formu kullanın.\n" -"Ağırlık bölümüne veri girdiyseniz, son giriş\n" -"otomatik olarak kullanılabilir. Aksi takdirde buraya girdiğiniz ağırlık " -"kaydedilecektir.\n" -"yeni bir girişte." - #: nutrition/templates/ingredient/email_new.tpl:1 #, python-format msgid "" @@ -3054,10 +2926,6 @@ msgstr "İçerik yok." msgid "Search" msgstr "Ara" -#: nutrition/templates/ingredient/overview.html:62 -msgid "Add ingredient" -msgstr "İçerik ekleyin" - #: nutrition/templates/ingredient/view.html:45 nutrition/views/plan.py:229 msgid "Macronutrients" msgstr "Makrobesinler" @@ -3077,20 +2945,11 @@ msgstr "n.A." msgid "Others" msgstr "Diğerleri" -#: nutrition/templates/ingredient/view.html:144 -#: nutrition/templates/units/list.html:46 nutrition/views/unit.py:86 +#: nutrition/templates/ingredient/view.html:143 +#: nutrition/templates/units/list.html:50 nutrition/views/unit.py:86 msgid "Add new weight unit" msgstr "Yeni ağırlık birimi ekle" -#: nutrition/templates/ingredient/view.html:206 -#: nutrition/templates/ingredient/view.html:209 -msgid "Edit ingredient" -msgstr "Malzemeyi düzenleyin" - -#: nutrition/templates/ingredient/view.html:213 -msgid "Delete ingredient" -msgstr "Malzemeyi sil" - #: nutrition/templates/rate/form.html:25 msgid "Basal metabolic rate" msgstr "Bazal metabolik oran" @@ -3175,18 +3034,6 @@ msgstr "" "yaklaşım. Beslenme planınızı bu değerlere dayandırırsanız,\n" "birkaç hafta boyunca kendiniz ve gerekirse toplam miktarı değiştirin." -#: nutrition/views/bmi.py:89 -msgid "Please make sure your height is within the appropriate range." -msgstr "Lütfen boyunuzun uygun aralıkta olduğundan emin olun." - -#: nutrition/views/bmi.py:92 -msgid "140 to 230" -msgstr "140 ile 230 arası" - -#: nutrition/views/bmi.py:94 -msgid "56 to 90" -msgstr "56 ile 90 arası" - #: nutrition/views/ingredient.py:157 msgid "Add a new ingredient" msgstr "Yeni bir malzeme ekle" @@ -3303,7 +3150,7 @@ msgstr "" msgid "Our goal" msgstr "Hedefimiz" -#: software/templates/about_us.html:62 +#: software/templates/about_us.html:71 msgid "" "The goal is to build an awesome\n" " and flexible fitness manager, along with a comprehensive and " @@ -3736,6 +3583,144 @@ msgstr "Başarıyla silindi." msgid "Delete weight entry for the %s" msgstr "%s için ağırlık girişini silin" +#~ msgid "Move me" +#~ msgstr "Beni hareket ettir" + +#~ msgid "Results" +#~ msgstr "Sonuçlar" + +#~ msgid "Your BMI is: " +#~ msgstr "BMI değeriniz: " + +#~ msgid "Legend" +#~ msgstr "Efsane" + +#~ msgid "Adipositas III" +#~ msgstr "Yağlanma III" + +#~ msgid "Adipositas II" +#~ msgstr "Yağlanma II" + +#~ msgid "Adipositas I" +#~ msgstr "Yağlanma I" + +#~ msgid "Overweight" +#~ msgstr "Kilolu" + +#~ msgid "Normal weight" +#~ msgstr "Normal kilo" + +#~ msgid "Slight underweight" +#~ msgstr "Hafif zayıf" + +#~ msgid "Moderate underweight" +#~ msgstr "Orta derecede zayıf" + +#~ msgid "Strong underweight" +#~ msgstr "Güçlü zayıflık" + +#~ msgid "" +#~ "Use the form to calculate your BMI (Body Mass Index).\n" +#~ "If you have entered data in the weight section, the last entry will\n" +#~ "be used automatically. Otherwise the weight you enter here will be saved\n" +#~ "in a new entry." +#~ msgstr "" +#~ "VKİ'nizi (Vücut Kitle İndeksi) hesaplamak için formu kullanın.\n" +#~ "Ağırlık bölümüne veri girdiyseniz, son giriş\n" +#~ "otomatik olarak kullanılabilir. Aksi takdirde buraya girdiğiniz ağırlık " +#~ "kaydedilecektir.\n" +#~ "yeni bir girişte." + +#~ msgid "Please make sure your height is within the appropriate range." +#~ msgstr "Lütfen boyunuzun uygun aralıkta olduğundan emin olun." + +#~ msgid "140 to 230" +#~ msgstr "140 ile 230 arası" + +#~ msgid "56 to 90" +#~ msgstr "56 ile 90 arası" + +#~ msgid "" +#~ "If a license has been localized, e.g. the Creative Commons\n" +#~ " licenses for the different countries, add them as separate " +#~ "entries here." +#~ msgstr "" +#~ "Bir lisans yerelleştirilmişse, örneğin farklı ülkeler için\n" +#~ " Creative Commons lisansları, onları buraya ayrı girişler " +#~ "olarak ekleyin." + +#~ msgid "Add weight log" +#~ msgstr "Kilo günlüğü ekle" + +#~ msgid "This exercise has no repetitions." +#~ msgstr "Bu egzersizin tekrarı yoktur." + +#~ msgid "Edit them now." +#~ msgstr "Şimdi düzenleyin." + +#~ msgid "Add exercises to this workout day" +#~ msgstr "Bu antrenman gününe egzersiz ekleyin" + +#~ msgid "Edit schedule" +#~ msgstr "Programı düzenle" + +#~ msgid "Delete schedule" +#~ msgstr "Programı sil" + +#~ msgid "Weight log" +#~ msgstr "Ağırlık günlüğü" + +#~ msgid "Weight log for workout" +#~ msgstr "Egzersiz için ağırlık günlüğü" + +#~ msgid "Add weight log to this day" +#~ msgstr "Bu güne kilo günlüğü ekleyin" + +#~ msgid "No weight entries here." +#~ msgstr "Burada ağırlık girişi yok." + +#~ msgid "No exercises for this day." +#~ msgstr "Bu gün için egzersiz yok." + +#~ msgid "" +#~ "This page shows the weight logs belonging to this workout\n" +#~ "only. Click on an exercise to see all the historical data for\n" +#~ "it." +#~ msgstr "" +#~ "Bu sayfa, bu antrenmana ait ağırlık günlüklerini gösterir.\n" +#~ "bir tek. İle ilgili tüm geçmiş verileri görmek için bir alıştırmayı " +#~ "tıklayın.\n" +#~ "o." + +#~ msgid "" +#~ "If on a single day there is more than one entry with the\n" +#~ "same number of repetitions, but different weights, only the entry with " +#~ "the\n" +#~ "higher weight is shown in the diagram." +#~ msgstr "" +#~ "Tek bir günde birden fazla giriş varsa\n" +#~ "aynı sayıda tekrar, ancak farklı ağırlıklar, yalnızca\n" +#~ "diyagramda daha yüksek ağırlık gösterilmiştir." + +#~ msgid "" +#~ "Note that only entries with a weight unit (kg or lb) and\n" +#~ "repetitions are charted, other combinations such as time or until " +#~ "failure\n" +#~ "are ignored here." +#~ msgstr "" +#~ "Yalnızca ağırlık birimi (kg veya lb) olan girişlerin ve\n" +#~ "tekrarlar, zaman gibi diğer kombinasyonlar veya başarısızlığa kadar\n" +#~ "burada göz ardı edilir." + +#~ msgid "Add ingredient" +#~ msgstr "İçerik ekleyin" + +#~ msgid "Edit ingredient" +#~ msgstr "Malzemeyi düzenleyin" + +#~ msgid "Delete ingredient" +#~ msgstr "Malzemeyi sil" + #~ msgid "Ingredients pending review" #~ msgstr "İncelenmeyi bekleyen malzemeler" diff --git a/wger/locale/uk/LC_MESSAGES/django.po b/wger/locale/uk/LC_MESSAGES/django.po index 50ecef86f..66d95f911 100644 --- a/wger/locale/uk/LC_MESSAGES/django.po +++ b/wger/locale/uk/LC_MESSAGES/django.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: wger Workout Manager\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-14 15:59+0200\n" +"POT-Creation-Date: 2024-11-14 19:23+0100\n" "PO-Revision-Date: 2024-08-26 12:09+0000\n" "Last-Translator: kvinto \n" "Language-Team: Ukrainian \n" @@ -20,13 +20,13 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 " -"? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > " -"14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % " -"100 >=11 && n % 100 <=14 )) ? 2: 3);\n" +"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != " +"11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % " +"100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || " +"(n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n" "X-Generator: Weblate 5.7.1-dev\n" -#: config/models/gym_config.py:46 gym/templates/gym/list.html:53 +#: config/models/gym_config.py:46 gym/templates/gym/list.html:56 msgid "Default gym" msgstr "Тренажерний зал за замовчуванням" @@ -39,28 +39,28 @@ msgstr "" "призначений всім новим зареєстрованим користувачам і для всіх існуючих " "користувачів без тренажерного залу." -#: config/views/gym_config.py:42 core/templates/language/view.html:67 -#: core/templates/license/list.html:17 core/templates/misc/license/list.html:18 +#: config/views/gym_config.py:42 core/templates/language/view.html:64 +#: core/templates/license/list.html:17 #: core/templates/repetition_unit/list.html:18 -#: core/templates/tags/render_day.html:39 -#: core/templates/tags/render_day.html:75 core/templates/user/overview.html:204 -#: core/templates/user/overview.html:445 +#: core/templates/user/overview.html:204 core/templates/user/overview.html:467 #: core/templates/weight_unit/list.html:18 #: exercises/templates/categories/admin-overview.html:17 #: exercises/templates/equipment/admin-overview.html:17 -#: exercises/templates/muscles/admin-overview.html:17 -#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:32 -#: gym/templates/contract/list.html:31 gym/templates/contract/view.html:107 -#: gym/templates/contract_option/list.html:32 -#: gym/templates/contract_type/list.html:32 gym/templates/document/list.html:38 -#: gym/templates/gym/list.html:20 gym/templates/gym/list.html:46 -#: gym/templates/gym/member_list.html:87 gym/templates/gym/member_list.html:140 -#: gym/templates/gym/member_list.html:176 -#: manager/templates/calendar/day.html:68 -#: manager/templates/calendar/month.html:85 -#: manager/templates/calendar/partial_overview_table.html:18 -#: manager/templates/schedule/view.html:118 -#: nutrition/templates/ingredient/view.html:165 +#: exercises/templates/muscles/admin-overview.html:16 +#: gallery/views/images.py:98 gym/templates/admin_notes/list.html:31 +#: gym/templates/contract/list.html:30 gym/templates/contract/view.html:106 +#: gym/templates/contract_option/list.html:29 +#: gym/templates/contract_type/list.html:30 gym/templates/document/list.html:38 +#: gym/templates/gym/list.html:19 gym/templates/gym/list.html:48 +#: gym/templates/gym/member_list.html:94 gym/templates/gym/member_list.html:152 +#: gym/templates/gym/member_list.html:190 +#: manager/templates/calendar/day.html:67 +#: manager/templates/calendar/month.html:84 +#: manager/templates/calendar/partial_overview_table.html:16 +#: manager/templates/schedule/view.html:271 +#: manager/templates/workout/view.html:181 +#: nutrition/templates/ingredient/view.html:164 +#: nutrition/templates/ingredient/view.html:209 #: nutrition/templates/units/list.html:19 msgid "Edit" msgstr "Змінити" @@ -94,25 +94,25 @@ msgstr "Моя класна програграма тренувань" msgid "Empty placeholder schedule" msgstr "Порожня програма-заповнювач" -#: core/forms.py:69 core/templates/navigation.html:285 -#: core/templates/navigation.html:291 core/templates/user/login.html:4 +#: core/forms.py:69 core/templates/navigation.html:284 +#: core/templates/navigation.html:290 core/templates/user/login.html:4 #: software/templates/features.html:82 software/templates/features.html:427 msgid "Login" msgstr "Вхід" -#: core/forms.py:108 core/forms.py:214 gym/views/export.py:61 +#: core/forms.py:108 core/forms.py:216 gym/views/export.py:61 #: gym/views/gym.py:217 msgid "First name" msgstr "Ім'я" -#: core/forms.py:109 core/forms.py:215 core/templates/user/overview.html:266 +#: core/forms.py:109 core/forms.py:217 core/templates/user/overview.html:284 #: gym/views/export.py:62 gym/views/gym.py:217 msgid "Last name" msgstr "Прізвище" -#: core/forms.py:111 core/forms.py:180 core/templates/user/overview.html:270 +#: core/forms.py:111 core/forms.py:182 core/templates/user/overview.html:288 #: gym/models/contract.py:256 gym/models/gym.py:58 -#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:104 +#: gym/templates/contract/view.html:77 gym/templates/gym/member_list.html:116 #: gym/templates/gym/new_user.html:30 gym/views/export.py:60 #: mailer/templates/mailer/gym/form.html:4 #: mailer/templates/mailer/gym/overview.html:4 @@ -131,96 +131,95 @@ msgstr "" msgid "Date of Birth" msgstr "Дата народження" -#: core/forms.py:148 +#: core/forms.py:149 msgid "Personal data" msgstr "Особисті дані" -#: core/forms.py:159 +#: core/forms.py:161 msgid "Workout reminders" msgstr "Нагадування про тренування" -#: core/forms.py:166 +#: core/forms.py:168 msgid "Other settings" msgstr "Інші параметри" -#: core/forms.py:174 core/views/user.py:624 core/views/user.py:639 -#: core/views/user.py:651 gym/forms.py:73 manager/templates/log/add.html:65 +#: core/forms.py:176 core/views/user.py:623 core/views/user.py:638 +#: core/views/user.py:650 gym/forms.py:73 manager/templates/log/add.html:65 #: manager/templates/set/add.html:70 manager/views/workout.py:203 #: utils/generic_views.py:143 msgid "Save" msgstr "Зберегти" -#: core/forms.py:181 +#: core/forms.py:183 msgid "Used for password resets and, optionally, email reminders." msgstr "" "Використовується для скидання пароля і, при необхідності, нагадування " "електронною поштою." -#: core/forms.py:210 +#: core/forms.py:212 msgid "This e-mail address is already in use." msgstr "Ця адреса електронної пошти вже використовується." -#: core/forms.py:231 gym/templates/gym/new_user.html:26 +#: core/forms.py:233 gym/templates/gym/new_user.html:26 #: gym/templates/gym/reset_user_password.html:24 gym/views/gym.py:217 msgid "Password" msgstr "Пароль" -#: core/forms.py:233 +#: core/forms.py:235 msgid "Please enter your current password." msgstr "Введіть свій поточний пароль." -#: core/forms.py:242 core/templates/language/view.html:73 -#: core/templates/license/list.html:19 core/templates/misc/license/list.html:22 -#: core/templates/repetition_unit/list.html:20 -#: core/templates/tags/render_day.html:45 -#: core/templates/tags/render_day.html:81 core/templates/user/overview.html:217 -#: core/templates/weight_unit/list.html:20 -#: exercises/templates/categories/admin-overview.html:19 -#: exercises/templates/equipment/admin-overview.html:19 -#: exercises/templates/muscles/admin-overview.html:19 -#: gym/templates/admin_notes/list.html:40 -#: gym/templates/contract_option/list.html:41 -#: gym/templates/contract_type/list.html:41 gym/templates/document/list.html:46 -#: gym/templates/gym/list.html:22 manager/templates/calendar/day.html:73 -#: manager/templates/calendar/month.html:89 -#: manager/templates/calendar/partial_overview_table.html:23 -#: manager/templates/schedule/view.html:122 -#: manager/templates/workout/view.html:188 -#: nutrition/templates/ingredient/view.html:166 +#: core/forms.py:244 core/templates/language/view.html:70 +#: core/templates/license/list.html:21 +#: core/templates/repetition_unit/list.html:22 +#: core/templates/user/overview.html:233 +#: core/templates/weight_unit/list.html:22 +#: exercises/templates/categories/admin-overview.html:21 +#: exercises/templates/equipment/admin-overview.html:21 +#: exercises/templates/muscles/admin-overview.html:20 +#: gym/templates/admin_notes/list.html:37 +#: gym/templates/contract_option/list.html:35 +#: gym/templates/contract_type/list.html:36 gym/templates/document/list.html:46 +#: gym/templates/gym/list.html:23 manager/templates/calendar/day.html:73 +#: manager/templates/calendar/month.html:88 +#: manager/templates/calendar/partial_overview_table.html:22 +#: manager/templates/schedule/view.html:277 +#: manager/templates/workout/view.html:202 +#: nutrition/templates/ingredient/view.html:168 #: nutrition/templates/ingredient/view.html:215 -#: nutrition/templates/units/list.html:22 +#: nutrition/templates/units/list.html:25 msgid "Delete" msgstr "Вилучити" -#: core/forms.py:251 +#: core/forms.py:253 msgid "Invalid password" msgstr "Неправильний пароль" -#: core/forms.py:263 core/forms.py:338 +#: core/forms.py:265 core/forms.py:340 msgid "The form is secured with reCAPTCHA" msgstr "Форма захищена reCAPTCHA" -#: core/forms.py:279 core/forms.py:301 core/templates/navigation.html:285 -#: core/templates/navigation.html:297 core/templates/template.html:149 -#: core/templates/user/login.html:20 core/views/user.py:298 +#: core/forms.py:281 core/forms.py:303 core/templates/navigation.html:284 +#: core/templates/navigation.html:296 core/templates/template.html:150 +#: core/templates/user/login.html:20 core/views/user.py:297 #: software/templates/features.html:87 software/templates/features.html:422 msgid "Register" msgstr "Зареєструватись" -#: core/forms.py:315 software/templates/features.html:45 +#: core/forms.py:317 software/templates/features.html:45 msgid "Contact" msgstr "Контакт" -#: core/forms.py:316 +#: core/forms.py:318 msgid "Some way of answering you (e-mail, etc.)" msgstr "Яким чином відповідати вам (електронна пошта, тощо)" -#: core/forms.py:324 exercises/models/comment.py:58 manager/models/set.py:61 +#: core/forms.py:326 exercises/models/comment.py:58 manager/models/set.py:61 #: manager/models/setting.py:114 nutrition/models/log.py:77 msgid "Comment" msgstr "Коментар" -#: core/forms.py:325 +#: core/forms.py:327 msgid "What do you want to say?" msgstr "Що ви хочете сказати?" @@ -451,18 +450,18 @@ msgid "The sum of all hours has to be 24" msgstr "Сума всіх годин повинна дорівнювати 24" #: core/models/rep_unit.py:36 core/models/weight_unit.py:36 -#: core/templates/user/overview.html:262 core/views/user.py:599 +#: core/templates/user/overview.html:280 core/views/user.py:598 #: exercises/models/category.py:29 exercises/models/equipment.py:29 #: exercises/models/exercise.py:59 exercises/models/muscle.py:36 #: gym/models/contract.py:52 gym/models/contract.py:103 gym/models/gym.py:46 #: gym/models/user_document.py:84 gym/templates/contract/view.html:50 -#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:96 +#: gym/templates/gym/member_list.html:28 gym/templates/gym/member_list.html:108 #: gym/views/gym.py:158 manager/models/schedule.py:55 #: manager/models/workout.py:57 measurements/models/category.py:36 #: nutrition/models/ingredient.py:111 -#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:67 +#: nutrition/models/ingredient_category.py:27 nutrition/models/meal.py:65 #: nutrition/models/weight_unit.py:38 -#: nutrition/templates/ingredient/view.html:152 +#: nutrition/templates/ingredient/view.html:151 msgid "Name" msgstr "Ім'я" @@ -514,7 +513,7 @@ msgstr "" msgid "Back to \"%(target)s\"" msgstr "Назад до \"%(target)s\"" -#: core/templates/delete.html:15 +#: core/templates/delete.html:4 msgid "Are you sure you want to delete this? This action cannot be undone." msgstr "Ви дійсно хочете вилучити це? Цю дію неможливо скасувати." @@ -570,7 +569,7 @@ msgstr "" msgid "Dashboard" msgstr "Панель" -#: core/templates/language/overview.html:4 core/templates/navigation.html:345 +#: core/templates/language/overview.html:4 core/templates/navigation.html:344 msgid "Languages" msgstr "Мови" @@ -580,81 +579,72 @@ msgstr "Нічого не знайдено." #: core/templates/language/overview.html:22 #: manager/templates/calendar/month.html:132 -#: manager/templates/schedule/overview.html:28 -#: manager/templates/schedule/view.html:144 +#: manager/templates/schedule/view.html:107 #: manager/templates/workout/overview.html:28 #: nutrition/templates/ingredient/overview.html:38 msgid "Add one now." msgstr "Додати зараз." -#: core/templates/language/overview.html:35 core/templates/license/list.html:40 -#: core/templates/misc/license/list.html:43 -#: core/templates/repetition_unit/list.html:43 -#: core/templates/user/overview.html:326 core/templates/user/overview.html:365 -#: core/templates/user/overview.html:401 -#: core/templates/weight_unit/list.html:43 core/views/languages.py:74 +#: core/templates/language/overview.html:34 core/templates/license/list.html:43 +#: core/templates/repetition_unit/list.html:46 +#: core/templates/user/overview.html:344 core/templates/user/overview.html:384 +#: core/templates/user/overview.html:422 +#: core/templates/weight_unit/list.html:46 core/views/languages.py:74 #: core/views/license.py:66 core/views/repetition_units.py:66 #: core/views/weight_units.py:66 -#: exercises/templates/categories/admin-overview.html:38 -#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:67 -#: gym/templates/contract/list.html:73 -#: gym/templates/contract_option/list.html:72 -#: gym/templates/contract_type/list.html:72 gym/templates/document/list.html:79 -#: gym/templates/gym/member_list.html:211 -#: gym/templates/gym/member_list.html:244 -#: gym/templates/gym/member_list.html:281 +#: exercises/templates/categories/admin-overview.html:40 +#: exercises/templates/equipment/admin-overview.html:39 +#: exercises/templates/muscles/admin-overview.html:40 +#: gallery/views/images.py:63 gym/templates/admin_notes/list.html:64 +#: gym/templates/contract/list.html:69 +#: gym/templates/contract_option/list.html:65 +#: gym/templates/contract_type/list.html:66 gym/templates/document/list.html:78 +#: gym/templates/gym/member_list.html:228 +#: gym/templates/gym/member_list.html:264 +#: gym/templates/gym/member_list.html:303 #: mailer/templates/mailer/gym/overview.html:43 +#: nutrition/templates/ingredient/overview.html:60 msgid "Add" msgstr "Додати" #: core/templates/language/view.html:61 core/templates/user/api_key.html:44 -#: core/templates/user/preferences.html:45 gym/models/contract.py:203 -#: gym/templates/contract/view.html:41 gym/templates/contract/view.html:106 -#: gym/templates/gym/member_list.html:248 -#: manager/templates/schedule/view.html:285 -#: manager/templates/workout/view.html:163 -#: nutrition/templates/ingredient/view.html:202 +#: core/templates/user/preferences.html:50 gym/models/contract.py:203 +#: gym/templates/contract/view.html:41 gym/templates/gym/member_list.html:270 +#: manager/templates/schedule/view.html:257 +#: manager/templates/workout/view.html:177 +#: nutrition/templates/ingredient/view.html:206 msgid "Options" msgstr "Параметри" -#: core/templates/license/list.html:4 core/templates/misc/license/list.html:4 +#: core/templates/license/list.html:4 msgid "License list" msgstr "Список ліцензій" -#: core/templates/license/list.html:26 core/templates/misc/license/list.html:30 -#: core/templates/repetition_unit/list.html:28 +#: core/templates/license/list.html:30 +#: core/templates/repetition_unit/list.html:32 #: core/templates/user/overview.html:104 core/templates/user/overview.html:136 -#: core/templates/user/overview.html:185 core/templates/user/overview.html:347 -#: core/templates/user/overview.html:383 core/templates/user/overview.html:427 -#: core/templates/weight_unit/list.html:28 -#: exercises/templates/categories/admin-overview.html:26 -#: exercises/templates/equipment/admin-overview.html:26 -#: exercises/templates/muscles/admin-overview.html:26 -#: gym/templates/admin_notes/list.html:52 gym/templates/contract/list.html:60 -#: gym/templates/contract_option/list.html:58 -#: gym/templates/contract_type/list.html:58 gym/templates/document/list.html:64 -#: gym/templates/gym/list.html:29 gym/templates/gym/member_list.html:229 -#: gym/templates/gym/member_list.html:262 -#: gym/templates/gym/member_list.html:299 +#: core/templates/user/overview.html:185 core/templates/user/overview.html:365 +#: core/templates/user/overview.html:404 core/templates/user/overview.html:448 +#: core/templates/weight_unit/list.html:32 +#: exercises/templates/categories/admin-overview.html:30 +#: exercises/templates/equipment/admin-overview.html:30 +#: exercises/templates/muscles/admin-overview.html:29 +#: gym/templates/admin_notes/list.html:50 gym/templates/contract/list.html:57 +#: gym/templates/contract_option/list.html:52 +#: gym/templates/contract_type/list.html:53 gym/templates/document/list.html:64 +#: gym/templates/gym/list.html:32 gym/templates/gym/member_list.html:248 +#: gym/templates/gym/member_list.html:284 +#: gym/templates/gym/member_list.html:321 #: mailer/templates/mailer/gym/overview.html:30 -#: manager/templates/calendar/day.html:87 -#: nutrition/templates/units/list.html:29 +#: manager/templates/calendar/day.html:88 +#: nutrition/templates/units/list.html:34 msgid "Nothing found" msgstr "Нічого не знайдено" -#: core/templates/misc/about.html:4 core/templates/template.html:175 +#: core/templates/misc/about.html:4 core/templates/template.html:187 msgid "Imprint" msgstr "Відбиток" -#: core/templates/misc/license/list.html:47 -msgid "" -"If a license has been localized, e.g. the Creative Commons\n" -" licenses for the different countries, add them as separate " -"entries here." -msgstr "" -"Якщо ліцензія була локалізована, наприклад, як ліцензії\n" -"Creative Commons для різних країн, додайте їх як окремі записи." - #: core/templates/navigation.html:28 software/templates/features.html:437 msgid "Training" msgstr "Тренування" @@ -699,8 +689,8 @@ msgstr "Загальнодоступні шаблони" msgid "Exercises" msgstr "Вправи" -#: core/templates/navigation.html:111 core/templates/navigation.html:184 -#: core/templates/navigation.html:340 +#: core/templates/navigation.html:111 core/templates/navigation.html:185 +#: core/templates/navigation.html:339 msgid "Administration" msgstr "Адміністрація" @@ -729,7 +719,7 @@ msgstr "Харчування" msgid "Nutrition plans" msgstr "Плани харчування" -#: core/templates/navigation.html:165 nutrition/templates/bmi/form.html:50 +#: core/templates/navigation.html:165 msgid "BMI calculator" msgstr "Калькулятор індексу маси тіла" @@ -737,87 +727,87 @@ msgstr "Калькулятор індексу маси тіла" msgid "Daily calories calculator" msgstr "Калькулятор щоденних калорій" -#: core/templates/navigation.html:179 +#: core/templates/navigation.html:180 #: nutrition/templates/ingredient/overview.html:10 msgid "Ingredient overview" msgstr "Огляд інгредієнтів" -#: core/templates/navigation.html:187 nutrition/templates/units/list.html:6 +#: core/templates/navigation.html:189 nutrition/templates/units/list.html:6 msgid "Ingredient weight units" msgstr "Одиниці ваги інгредієнтів" -#: core/templates/navigation.html:203 software/templates/features.html:442 +#: core/templates/navigation.html:205 software/templates/features.html:442 msgid "Body weight" msgstr "Вага тіла" -#: core/templates/navigation.html:210 core/templates/user/overview.html:114 +#: core/templates/navigation.html:212 core/templates/user/overview.html:114 msgid "Weight overview" msgstr "Огляд ваги" -#: core/templates/navigation.html:217 weight/views.py:65 +#: core/templates/navigation.html:216 weight/views.py:65 msgid "Add weight entry" msgstr "Додати запис ваги" -#: core/templates/navigation.html:231 +#: core/templates/navigation.html:230 msgid "About this software" msgstr "Про це програмне забезпечення" -#: core/templates/navigation.html:237 software/templates/about_us.html:5 +#: core/templates/navigation.html:236 software/templates/about_us.html:5 msgid "About us" msgstr "Про нас" -#: core/templates/navigation.html:243 software/templates/features.html:507 +#: core/templates/navigation.html:242 software/templates/features.html:507 msgid "REST API" msgstr "REST API" -#: core/templates/navigation.html:249 utils/models.py:45 +#: core/templates/navigation.html:248 utils/models.py:45 msgid "License" msgstr "Ліцензія" -#: core/templates/navigation.html:255 +#: core/templates/navigation.html:254 msgid "Developer documentation" msgstr "Документація для розробників" -#: core/templates/navigation.html:262 +#: core/templates/navigation.html:261 msgid "Get the code" msgstr "Отримати код" -#: core/templates/navigation.html:269 core/templates/template.html:214 +#: core/templates/navigation.html:268 core/templates/template.html:226 #: software/templates/features.html:582 msgid "Translate" msgstr "Перекласти" -#: core/templates/navigation.html:303 core/templates/user/login.html:28 +#: core/templates/navigation.html:302 core/templates/user/login.html:28 msgid "Reset password" msgstr "Скинути пароль" -#: core/templates/navigation.html:321 +#: core/templates/navigation.html:320 msgid "My preferences" msgstr "Мої налаштування" -#: core/templates/navigation.html:330 +#: core/templates/navigation.html:329 msgid "Logout" msgstr "Вийти" -#: core/templates/navigation.html:353 +#: core/templates/navigation.html:352 msgid "Licenses" msgstr "Ліцензії" -#: core/templates/navigation.html:361 +#: core/templates/navigation.html:360 #: core/templates/repetition_unit/list.html:4 msgid "Repetition units" msgstr "Одиниці повторень" -#: core/templates/navigation.html:369 core/templates/weight_unit/list.html:4 +#: core/templates/navigation.html:368 core/templates/weight_unit/list.html:4 #: nutrition/templates/ingredient/view.html:141 msgid "Weight units" msgstr "Одиниця ваги" -#: core/templates/navigation.html:377 core/templates/user/list.html:4 +#: core/templates/navigation.html:376 core/templates/user/list.html:4 msgid "User list" msgstr "Список користувачів" -#: core/templates/navigation.html:383 +#: core/templates/navigation.html:382 msgid "Gyms" msgstr "Тренажерні зали" @@ -880,57 +870,32 @@ msgstr "назад" msgid "next" msgstr "вперед" -#: core/templates/tags/render_day.html:34 -msgid "Add weight log" -msgstr "Додати журнал ваги" - -#: core/templates/tags/render_day.html:116 -msgid "Placeholder image for exercise" +#: core/templates/tags/render_day.html:44 +#, fuzzy +#| msgid "Placeholder image for exercise" +msgid "Placeholder image for translation" msgstr "Заповнювач зображення для вправи" -#: core/templates/tags/render_day.html:133 -msgid "This exercise has no repetitions." -msgstr "Ця вправа не має повторів." - -#: core/templates/tags/render_day.html:136 -msgid "Edit them now." -msgstr "Редагувати їх зараз." - -#: core/templates/tags/render_day.html:162 -msgid "Add exercises to this workout day" -msgstr "Додати вправи до цього дня тренування" - -#: core/templates/tags/render_weight_log.html:17 manager/helpers.py:86 -#: manager/models/setting.py:72 manager/templates/set/formset.html:9 -msgid "Reps" -msgstr "Повтори" - -#: core/templates/tags/render_weight_log.html:30 manager/forms.py:191 -#: manager/models/log.py:103 manager/models/setting.py:102 -#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 -msgid "RiR" -msgstr "Повторів можете зробити" - -#: core/templates/template.html:122 manager/templates/calendar/month.html:138 -#: manager/templates/schedule/view.html:248 -#: manager/templates/schedule/view.html:269 -#: manager/templates/workout/view.html:84 -#: manager/templates/workout/view.html:137 +#: core/templates/template.html:123 manager/templates/calendar/month.html:138 +#: manager/templates/schedule/view.html:215 +#: manager/templates/schedule/view.html:240 +#: manager/templates/workout/view.html:89 +#: manager/templates/workout/view.html:149 msgid "Close" msgstr "Закрити" -#: core/templates/template.html:138 +#: core/templates/template.html:139 msgid "" "You are using a guest account, data entered will be deleted after a week." msgstr "" "Ви використовуєте обліковий запис гостя, введені дані будуть видалені через " "тиждень." -#: core/templates/template.html:143 +#: core/templates/template.html:144 msgid "Create some demo entries" msgstr "Створіть деякі демонстраційні записи" -#: core/templates/template.html:180 software/templates/features.html:547 +#: core/templates/template.html:192 software/templates/features.html:547 #: software/templates/tos.html:7 msgid "Terms of service" msgstr "Умови надання послуг" @@ -939,7 +904,7 @@ msgstr "Умови надання послуг" msgid "Features" msgstr "Особливості" -#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:54 +#: core/templates/user/api_key.html:4 core/templates/user/preferences.html:59 msgid "API key" msgstr "Ключ API" @@ -985,17 +950,17 @@ msgstr "Згенерувати новий ключ API" msgid "Documentation" msgstr "Документація" -#: core/templates/user/delete_account.html:4 -#: core/templates/user/preferences.html:59 +#: core/templates/user/delete_account.html:3 +#: core/templates/user/preferences.html:62 msgid "Delete account" msgstr "Видалити обліковий запис" -#: core/templates/user/delete_account.html:17 +#: core/templates/user/delete_account.html:9 #: exercises/templates/history/overview.html:93 msgid "Are you sure?" msgstr "Ви впевнені?" -#: core/templates/user/delete_account.html:22 +#: core/templates/user/delete_account.html:14 #, python-format msgid "" "This action will delete the user account \"%(username)s\".\n" @@ -1018,22 +983,22 @@ msgstr "Забули пароль?" #: core/templates/user/overview.html:25 core/templates/user/overview.html:68 #: core/templates/user/overview.html:112 core/templates/user/overview.html:144 -#: core/templates/user/overview.html:330 core/templates/user/overview.html:369 -#: core/templates/user/overview.html:405 +#: core/templates/user/overview.html:348 core/templates/user/overview.html:390 +#: core/templates/user/overview.html:426 #, python-format msgid "last %(number)s" msgstr "останні %(number)s" #: core/templates/user/overview.html:27 core/templates/user/overview.html:146 -#: core/templates/user/overview.html:325 core/templates/user/overview.html:364 -#: core/templates/user/overview.html:400 gym/templates/gym/member_list.html:210 -#: gym/templates/gym/member_list.html:243 -#: gym/templates/gym/member_list.html:280 +#: core/templates/user/overview.html:343 core/templates/user/overview.html:382 +#: core/templates/user/overview.html:421 gym/templates/gym/member_list.html:226 +#: gym/templates/gym/member_list.html:262 +#: gym/templates/gym/member_list.html:302 msgid "Overview" msgstr "Огляд" #: core/templates/user/overview.html:28 -#: manager/templates/schedule/view.html:163 +#: manager/templates/schedule/view.html:125 #: manager/templates/workout/overview.html:39 manager/views/schedule_step.py:60 msgid "Add workout" msgstr "Додати тренування" @@ -1065,38 +1030,36 @@ msgstr "Опис" msgid "Number of logs (days)" msgstr "Кількість записів (днів)" -#: core/templates/user/overview.html:37 core/views/user.py:600 +#: core/templates/user/overview.html:37 core/views/user.py:599 #: gym/templates/gym/email_inactive_members.html:4 gym/views/gym.py:158 msgid "Last activity" msgstr "Остання активність" #: core/templates/user/overview.html:58 #: manager/templates/calendar/month.html:128 -#: manager/templates/schedule/view.html:144 #: manager/templates/workout/overview.html:28 msgid "No workouts found." msgstr "Не знайдено жодних тренувань." #: core/templates/user/overview.html:68 manager/forms.py:280 -#: manager/templates/workout/view.html:106 +#: manager/templates/workout/view.html:114 msgid "Log" msgstr "Журнал" #: core/templates/user/overview.html:77 manager/models/session.py:83 -#: manager/templates/calendar/partial_overview_table.html:52 +#: manager/templates/calendar/partial_overview_table.html:54 msgid "General impression" msgstr "Загальне враження" -#: core/templates/user/overview.html:78 core/templates/user/overview.html:369 +#: core/templates/user/overview.html:78 core/templates/user/overview.html:390 #: manager/models/session.py:73 -#: manager/templates/calendar/partial_overview_table.html:56 -#: manager/templates/workout/log.html:89 +#: manager/templates/calendar/partial_overview_table.html:58 msgid "Notes" msgstr "Примітки" #: core/templates/user/overview.html:79 #: exercises/templates/history/overview.html:30 -#: manager/templates/calendar/partial_overview_table.html:42 +#: manager/templates/calendar/partial_overview_table.html:44 msgid "Time" msgstr "Час" @@ -1134,121 +1097,121 @@ msgstr "Жири" msgid "kcal" msgstr "ккал" -#: core/templates/user/overview.html:201 core/templates/user/overview.html:322 -#: core/templates/user/overview.html:361 core/templates/user/overview.html:397 -#: core/templates/user/overview.html:442 gym/templates/gym/list.html:42 -#: gym/templates/gym/member_list.html:84 gym/templates/gym/member_list.html:137 -#: gym/templates/gym/member_list.html:173 -#: gym/templates/gym/member_list.html:207 -#: gym/templates/gym/member_list.html:240 -#: gym/templates/gym/member_list.html:277 -#: manager/templates/schedule/view.html:100 +#: core/templates/user/overview.html:201 core/templates/user/overview.html:340 +#: core/templates/user/overview.html:379 core/templates/user/overview.html:418 +#: core/templates/user/overview.html:463 gym/templates/gym/list.html:45 +#: gym/templates/gym/member_list.html:91 gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:187 +#: gym/templates/gym/member_list.html:223 +#: gym/templates/gym/member_list.html:259 +#: gym/templates/gym/member_list.html:299 +#: manager/templates/schedule/view.html:54 msgid "Actions" msgstr "Дії" -#: core/templates/user/overview.html:207 +#: core/templates/user/overview.html:210 msgid "Deactivate user" msgstr "Деактивувати користувача" -#: core/templates/user/overview.html:209 +#: core/templates/user/overview.html:214 msgid "Activate user" msgstr "Активувати користувача" -#: core/templates/user/overview.html:211 +#: core/templates/user/overview.html:223 msgid "Reset user password" msgstr "Скинути пароль користувача" -#: core/templates/user/overview.html:214 gym/templates/gym/member_list.html:30 +#: core/templates/user/overview.html:227 gym/templates/gym/member_list.html:30 msgid "Roles" msgstr "Ролі" -#: core/templates/user/overview.html:225 +#: core/templates/user/overview.html:243 msgid "Password reset confirmation" msgstr "Підтвердження відновлення пароля" -#: core/templates/user/overview.html:229 +#: core/templates/user/overview.html:247 msgid "Do you really want to change this user's password?" msgstr "Ви дійсно бажаєте змінити пароль цього користувача?" -#: core/templates/user/overview.html:232 +#: core/templates/user/overview.html:250 #: exercises/templates/history/overview.html:106 msgid "No" msgstr "Ні" -#: core/templates/user/overview.html:233 +#: core/templates/user/overview.html:251 #: exercises/templates/history/overview.html:99 msgid "Yes" msgstr "Так" -#: core/templates/user/overview.html:254 gym/templates/gym/member_list.html:93 +#: core/templates/user/overview.html:272 gym/templates/gym/member_list.html:105 msgid "Details" msgstr "Деталі" -#: core/templates/user/overview.html:258 gym/views/export.py:57 -#: manager/helpers.py:86 manager/templates/schedule/view.html:98 +#: core/templates/user/overview.html:276 gym/views/export.py:57 +#: manager/helpers.py:86 manager/templates/schedule/view.html:52 msgid "Nr." msgstr "№" -#: core/templates/user/overview.html:280 gym/models/contract.py:287 +#: core/templates/user/overview.html:298 gym/models/contract.py:287 #: gym/models/gym.py:50 gym/templates/contract/view.html:75 -#: gym/templates/gym/member_list.html:100 gym/views/export.py:68 +#: gym/templates/gym/member_list.html:112 gym/views/export.py:68 msgid "Phone" msgstr "Телефон" -#: core/templates/user/overview.html:284 gym/templates/contract/view.html:87 -#: gym/templates/gym/member_list.html:118 +#: core/templates/user/overview.html:302 gym/templates/contract/view.html:87 +#: gym/templates/gym/member_list.html:130 msgid "Address" msgstr "Адреса" -#: core/templates/user/overview.html:295 +#: core/templates/user/overview.html:313 msgid "Registered" msgstr "Зареєстрований" -#: core/templates/user/overview.html:299 +#: core/templates/user/overview.html:317 msgid "Last login" msgstr "Останній вхід" -#: core/templates/user/overview.html:304 +#: core/templates/user/overview.html:322 msgid "Status" msgstr "Статус" -#: core/templates/user/overview.html:307 +#: core/templates/user/overview.html:325 msgid "Active" msgstr "Активний" -#: core/templates/user/overview.html:309 +#: core/templates/user/overview.html:327 msgid "Inactive" msgstr "Неактивний" -#: core/templates/user/overview.html:330 gym/templates/contract/list.html:4 -#: gym/templates/gym/member_list.html:202 +#: core/templates/user/overview.html:348 gym/templates/contract/list.html:4 +#: gym/templates/gym/member_list.html:218 msgid "Contracts" msgstr "Контракти" -#: core/templates/user/overview.html:405 gym/templates/document/list.html:4 +#: core/templates/user/overview.html:426 gym/templates/document/list.html:4 msgid "Documents" msgstr "Документи" -#: core/templates/user/overview.html:412 gym/templates/document/list.html:32 -#: manager/forms.py:292 manager/templates/workout/view.html:132 +#: core/templates/user/overview.html:433 gym/templates/document/list.html:33 +#: manager/forms.py:292 manager/templates/workout/view.html:143 msgid "Download" msgstr "Завантажити" -#: core/templates/user/overview.html:450 gym/views/admin_config.py:44 +#: core/templates/user/overview.html:474 gym/views/admin_config.py:44 #: gym/views/admin_config.py:58 gym/views/user_config.py:46 msgid "Configuration" msgstr "Конфігурація" -#: core/templates/user/overview.html:453 gym/models/user_config.py:92 +#: core/templates/user/overview.html:477 gym/models/user_config.py:92 msgid "Include in inactive overview" msgstr "Включити в огляд неактивних" -#: core/templates/user/overview.html:486 +#: core/templates/user/overview.html:510 #, python-format msgid "Admin login is only available for users in %(gym_name)s" msgstr "Вхід адміністратора доступний лише для користувачів у %(gym_name)s" -#: core/templates/user/overview.html:490 +#: core/templates/user/overview.html:514 msgid "Log in as this user" msgstr "Увійти як цей користувач" @@ -1268,19 +1231,19 @@ msgstr "Непідтверджена електронна пошта" msgid "Send verification email" msgstr "Надіслати електронний лист для підтвердження" -#: core/templates/user/preferences.html:30 +#: core/templates/user/preferences.html:31 msgid "You need to verify your email to contribute exercises" msgstr "Вам необхідно підтвердити свою електронну пошту, щоб надсилати вправи" -#: core/templates/user/preferences.html:50 core/views/user.py:611 +#: core/templates/user/preferences.html:55 core/views/user.py:610 msgid "Change password" msgstr "Змінити пароль" -#: core/templatetags/wger_extras.py:205 i18n.tpl:37 +#: core/templatetags/wger_extras.py:197 i18n.tpl:37 msgid "kg" msgstr "кг" -#: core/templatetags/wger_extras.py:207 +#: core/templatetags/wger_extras.py:199 #: nutrition/templates/ingredient/view.html:60 #: nutrition/templates/ingredient/view.html:66 #: nutrition/templates/ingredient/view.html:73 @@ -1292,11 +1255,11 @@ msgctxt "weight unit, i.e. grams" msgid "g" msgstr "г" -#: core/templatetags/wger_extras.py:210 i18n.tpl:38 +#: core/templatetags/wger_extras.py:202 i18n.tpl:38 msgid "lb" msgstr "фунт" -#: core/templatetags/wger_extras.py:212 +#: core/templatetags/wger_extras.py:204 msgctxt "weight unit, i.e. ounces" msgid "oz" msgstr "унцій" @@ -1323,13 +1286,13 @@ msgid "Delete {0}?" msgstr "Вилучити {0}?" #: core/views/languages.py:111 core/views/license.py:85 -#: core/views/repetition_units.py:86 core/views/user.py:474 +#: core/views/repetition_units.py:86 core/views/user.py:473 #: core/views/weight_units.py:86 exercises/views/categories.py:98 #: exercises/views/equipment.py:81 exercises/views/muscles.py:87 #: gym/views/admin_notes.py:161 gym/views/config.py:68 #: gym/views/contract.py:186 gym/views/contract_option.py:123 #: gym/views/contract_type.py:123 gym/views/document.py:171 -#: gym/views/gym.py:463 manager/views/day.py:100 manager/views/schedule.py:333 +#: gym/views/gym.py:463 manager/views/day.py:96 manager/views/schedule.py:333 #: manager/views/workout.py:267 nutrition/views/ingredient.py:145 #: nutrition/views/unit.py:143 #, python-brace-format @@ -1358,48 +1321,48 @@ msgstr "Надіслати" msgid "Your feedback was successfully sent. Thank you!" msgstr "Ваш відгук успішно надіслано. Дякуємо!" -#: core/views/user.py:156 +#: core/views/user.py:155 #, python-brace-format msgid "Account \"{0}\" was successfully deleted" msgstr "Обліковий запис \"{0}\" успішно видалено" -#: core/views/user.py:292 +#: core/views/user.py:291 msgid "You were successfully registered" msgstr "Ви успішно зареєстровані" -#: core/views/user.py:351 +#: core/views/user.py:350 msgid "Settings successfully updated" msgstr "Налаштування успішно оновлено" -#: core/views/user.py:390 +#: core/views/user.py:389 msgid "The user was successfully deactivated" msgstr "Користувач був успішно деактивований" -#: core/views/user.py:427 +#: core/views/user.py:426 msgid "The user was successfully activated" msgstr "Користувач успішно активований" -#: core/views/user.py:442 +#: core/views/user.py:441 msgid "Edit user" msgstr "Редагувати користувача" -#: core/views/user.py:597 gym/templates/gym/member_list.html:26 +#: core/views/user.py:596 gym/templates/gym/member_list.html:26 #: gym/views/gym.py:158 msgid "ID" msgstr "ID" -#: core/views/user.py:598 gym/forms.py:95 gym/templates/contract/view.html:55 +#: core/views/user.py:597 gym/forms.py:95 gym/templates/contract/view.html:55 #: gym/templates/gym/member_list.html:27 gym/views/export.py:59 #: gym/views/gym.py:158 gym/views/gym.py:217 msgid "Username" msgstr "Ім'я користувача" -#: core/views/user.py:601 gym/templates/gym/new_user.html:34 +#: core/views/user.py:600 gym/templates/gym/new_user.html:34 #: gym/views/export.py:58 gym/views/gym.py:217 msgid "Gym" msgstr "Тренажерний зал" -#: core/views/user.py:660 +#: core/views/user.py:659 #, python-format msgid "A verification email was sent to %(email)s" msgstr "Підтверджувальний лист було надіслано на електронну адресу %(email)s" @@ -1552,11 +1515,6 @@ msgstr "Кодек, довга назва" msgid "Equipment list" msgstr "Список обладнання" -#: exercises/templates/equipment/admin-overview.html:39 -#: exercises/views/equipment.py:92 -msgid "Add new equipment" -msgstr "Додайте нове обладнання" - #: exercises/templates/history/overview.html:11 msgid "Exercise admin history" msgstr "Історія адміністрування вправ" @@ -1604,11 +1562,6 @@ msgstr "Повернення змін" msgid "Muscle overview" msgstr "Огляд м'язів" -#: exercises/templates/muscles/admin-overview.html:38 -#: exercises/views/muscles.py:68 -msgid "Add muscle" -msgstr "Додати м'язи" - #: exercises/views/categories.py:72 msgid "Add category" msgstr "Додати категорію" @@ -1617,6 +1570,10 @@ msgstr "Додати категорію" msgid "This will also delete all exercises in this category." msgstr "Також буде видалено всі вправи цієї категорії." +#: exercises/views/equipment.py:92 +msgid "Add new equipment" +msgstr "Додайте нове обладнання" + #: exercises/views/equipment.py:104 exercises/views/equipment.py:115 msgid "Delete equipment?" msgstr "Видалити обладнання?" @@ -1625,6 +1582,10 @@ msgstr "Видалити обладнання?" msgid "This will delete the exercise from all workouts." msgstr "Це призведе до видалення вправи з усіх тренувань." +#: exercises/views/muscles.py:68 +msgid "Add muscle" +msgstr "Додати м'язи" + #: gallery/templates/images/overview.html:62 msgid "Add image" msgstr "Додати зображення" @@ -1710,7 +1671,7 @@ msgid "Contract is active" msgstr "Контракт активний" #: gym/models/contract.py:237 gym/templates/contract/view.html:69 -#: manager/models/schedule.py:61 manager/templates/schedule/view.html:67 +#: manager/models/schedule.py:61 manager/templates/schedule/view.html:21 msgid "Start date" msgstr "Дата початку" @@ -1746,7 +1707,7 @@ msgstr "Адміністратор: може керувати користува msgid "Admin: can administrate the different gyms" msgstr "Адміністратор: може керувати різними залами" -#: gym/models/gym.py:65 gym/templates/gym/member_list.html:114 +#: gym/models/gym.py:65 gym/templates/gym/member_list.html:126 msgid "Owner" msgstr "Власник" @@ -1758,7 +1719,7 @@ msgstr "" "Кількість тижнів відсутності користувача, по закінченню яких його " "присутність буде вважатися неактивною" -#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:152 +#: gym/models/gym_config.py:56 gym/templates/gym/member_list.html:166 msgid "Show name in header" msgstr "Показувати назву в заголовку" @@ -1771,7 +1732,7 @@ msgstr "Показати назву тренажерного залу в заг msgid "Configuration for {self.gym.name}" msgstr "Конфігурація для {self.gym.name}" -#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:184 +#: gym/models/user_config.py:65 gym/templates/gym/member_list.html:200 msgid "Overview of inactive members" msgstr "Огляд неактивних членів" @@ -1795,7 +1756,7 @@ msgstr "Якщо нічого не вказано, буде використан msgid "User notes" msgstr "Примітки користувача" -#: gym/templates/contract/list.html:36 +#: gym/templates/contract/list.html:34 msgid "Show" msgstr "Показати" @@ -1823,11 +1784,11 @@ msgstr "" msgid "Gym list" msgstr "Список тренажерних залів" -#: gym/templates/gym/list.html:50 +#: gym/templates/gym/list.html:53 msgid "Global gym configuration" msgstr "Глобальна конфігурація тренажерного залу" -#: gym/templates/gym/list.html:67 gym/views/gym.py:171 +#: gym/templates/gym/list.html:69 gym/views/gym.py:171 msgid "Add new gym" msgstr "Додати новий тренажерний зал" @@ -1839,43 +1800,43 @@ msgstr "Адміністратори і тренери" msgid "Gym manager" msgstr "Менеджер тренажерного залу" -#: gym/templates/gym/member_list.html:69 +#: gym/templates/gym/member_list.html:76 msgid "This gym has no administrators or trainers" msgstr "У цьому тренажерному залі немає адміністраторів чи тренерів" -#: gym/templates/gym/member_list.html:88 +#: gym/templates/gym/member_list.html:98 msgid "Export" msgstr "Експортувати" -#: gym/templates/gym/member_list.html:125 +#: gym/templates/gym/member_list.html:137 msgid "Members" msgstr "Учасники" -#: gym/templates/gym/member_list.html:145 +#: gym/templates/gym/member_list.html:159 msgid "Gym configuration" msgstr "Конфігурація тренажерного залу" -#: gym/templates/gym/member_list.html:148 +#: gym/templates/gym/member_list.html:162 msgid "Inactive members" msgstr "Неактивні учасники" -#: gym/templates/gym/member_list.html:149 +#: gym/templates/gym/member_list.html:163 msgid "weeks" msgstr "тижні" -#: gym/templates/gym/member_list.html:181 +#: gym/templates/gym/member_list.html:197 msgid "My configuration" msgstr "Моя конфігурація" -#: gym/templates/gym/member_list.html:215 +#: gym/templates/gym/member_list.html:234 msgid "Types" msgstr "Типи" -#: gym/templates/gym/member_list.html:285 +#: gym/templates/gym/member_list.html:307 msgid "Emails" msgstr "Електронні листи" -#: gym/templates/gym/member_list.html:315 +#: gym/templates/gym/member_list.html:336 msgid "Add member" msgstr "Додати учасника" @@ -2170,28 +2131,38 @@ msgstr "Також шукайте імена англійською мовою" msgid "Unit" msgstr "Одиниця" +#: manager/forms.py:191 manager/models/log.py:103 manager/models/setting.py:102 +#: manager/templates/log/add.html:56 manager/templates/set/formset.html:13 +msgid "RiR" +msgstr "Повторів можете зробити" + #: manager/forms.py:279 msgid "Type" msgstr "Тип" -#: manager/forms.py:280 manager/templates/workout/view.html:113 +#: manager/forms.py:280 manager/templates/workout/view.html:122 msgid "Table" msgstr "Таблиця" -#: manager/forms.py:282 manager/templates/workout/view.html:119 +#: manager/forms.py:282 manager/templates/workout/view.html:129 msgid "with images" msgstr "із зображеннями" -#: manager/forms.py:283 manager/templates/workout/view.html:125 +#: manager/forms.py:283 manager/templates/workout/view.html:136 msgid "with comments" msgstr "з коментарями" +#: manager/helpers.py:86 manager/models/setting.py:72 +#: manager/templates/set/formset.html:9 +msgid "Reps" +msgstr "Повтори" + #: manager/management/commands/email-reminders.py:121 msgid "Workout will expire soon" msgstr "Тренування скоро завершиться" #: manager/models/day.py:34 manager/models/log.py:58 -#: manager/models/session.py:60 manager/templates/schedule/view.html:102 +#: manager/models/session.py:60 manager/templates/schedule/view.html:56 #: manager/templates/workout/view.html:9 manager/templates/workout/view.html:17 #: manager/views/pdf.py:85 manager/views/pdf.py:161 #: manager/views/schedule.py:151 manager/views/schedule.py:221 @@ -2214,7 +2185,7 @@ msgstr "День" msgid "Name or short description of the schedule. For example 'Program XYZ'." msgstr "Назва або короткий опис програми. Наприклад 'Програма XYZ'." -#: manager/models/schedule.py:65 manager/templates/schedule/view.html:71 +#: manager/models/schedule.py:65 manager/templates/schedule/view.html:25 msgid "Schedule active" msgstr "Програма активна" @@ -2228,7 +2199,7 @@ msgstr "" "(відображатиметься, наприклад, на інформаційній панелі). Всі інші програми " "будуть позначені як неактивні" -#: manager/models/schedule.py:77 manager/templates/schedule/view.html:81 +#: manager/models/schedule.py:77 manager/templates/schedule/view.html:35 msgid "Is a loop" msgstr "Є циклом" @@ -2249,7 +2220,7 @@ msgid "The duration in weeks" msgstr "Тривалість в тижнях" #: manager/models/schedule_step.py:64 manager/models/set.py:53 -#: manager/models/setting.py:113 nutrition/models/meal.py:55 +#: manager/models/setting.py:113 nutrition/models/meal.py:53 #: nutrition/models/meal_item.py:66 msgid "Order" msgstr "Порядок" @@ -2389,7 +2360,7 @@ msgstr "Огляд журналів" msgid "Workout session" msgstr "Тренування" -#: manager/templates/calendar/partial_overview_table.html:27 +#: manager/templates/calendar/partial_overview_table.html:26 msgid "Delete with logs" msgstr "Видалити з журналами" @@ -2412,21 +2383,27 @@ msgstr "" "для обраної дати ще не існує такого. Якщо вже існує, він просто буде\n" "редагуватись. Записи ваг завжди будуть додаватись." -#: manager/templates/schedule/overview.html:5 +#: manager/templates/schedule/overview.html:4 msgid "Your schedules" msgstr "Ваші програми" #: manager/templates/schedule/overview.html:19 -#: manager/templates/schedule/view.html:131 -#: manager/templates/schedule/view.html:183 +#: manager/templates/schedule/view.html:96 +#: manager/templates/schedule/view.html:146 #: manager/templates/workout/overview.html:16 msgid "active" msgstr "активні" -#: manager/templates/schedule/overview.html:28 +#: manager/templates/schedule/overview.html:27 msgid "No schedules found." msgstr "Програм не знайдено." +#: manager/templates/schedule/overview.html:28 +#, fuzzy +#| msgid "Add one now." +msgid "Add one now" +msgstr "Додати зараз." + #: manager/templates/schedule/overview.html:36 msgid "" "Schedules are collections of workouts that you do in\n" @@ -2436,12 +2413,20 @@ msgstr "" "по порядку." #: manager/templates/schedule/overview.html:39 +#, fuzzy +#| msgid "" +#| "You can indicate how long you want to do each workout\n" +#| " before jumping to the next. It is also possible to create a loop, " +#| "so you\n" +#| " always do the same workouts in succession, e.g. A > B > C > A > B " +#| "> C and so on." msgid "" "You can indicate how long you want to do each workout\n" " before jumping to the next. It is also possible to create a loop, so " "you\n" " always do the same workouts in succession, e.g. A > B > C > A > B > " -"C and so on." +"C and so\n" +" on." msgstr "" "Ви можете вказати тривалість кожного тренування,\n" " перед тим як перейти до наступного. Також можна створити цикл, для " @@ -2449,7 +2434,7 @@ msgstr "" " щоб виконувати однакові тренування поспіль, наприклад A> B> C> A> B> " "C і т.д." -#: manager/templates/schedule/overview.html:43 +#: manager/templates/schedule/overview.html:44 msgid "" "The currently active schedule will remain active (and be\n" " shown e.g. in your dashboard) till it reaches the last workout or " @@ -2469,7 +2454,7 @@ msgstr "Додати програму" msgid "Schedule" msgstr "Програма" -#: manager/templates/schedule/view.html:85 +#: manager/templates/schedule/view.html:39 msgid "" "This schedule is a loop and will go through the workouts above till you " "deactivate it" @@ -2477,19 +2462,15 @@ msgstr "" "Ця програма є циклом і буде повторюватись до тих пір, поки ви не деактивуєте " "її" -#: manager/templates/schedule/view.html:103 +#: manager/templates/schedule/view.html:57 msgid "Weeks" msgstr "Тижні" -#: manager/templates/schedule/view.html:115 -msgid "Move me" -msgstr "Перемістіть мене" - -#: manager/templates/schedule/view.html:156 +#: manager/templates/schedule/view.html:121 msgid "Start schedule" msgstr "Почати програму" -#: manager/templates/schedule/view.html:187 +#: manager/templates/schedule/view.html:150 #, python-format msgid "" "%(weeks)s Week\n" @@ -2510,11 +2491,11 @@ msgstr[3] "" "%(weeks)s Тижні\n" " " -#: manager/templates/schedule/view.html:221 +#: manager/templates/schedule/view.html:184 msgid "Adding workouts" msgstr "Додавання тренувань" -#: manager/templates/schedule/view.html:223 +#: manager/templates/schedule/view.html:186 msgid "" "Add as many workouts to the schedule as you want. You can\n" " edit the order by dragging and dropping them. It's also possible " @@ -2525,47 +2506,47 @@ msgstr "" "змінити порядок, перетягнувши їх. Також можна додати одне тренування\n" "більш ніж один раз." -#: manager/templates/schedule/view.html:232 -#: manager/templates/schedule/view.html:243 -#: manager/templates/schedule/view.html:290 +#: manager/templates/schedule/view.html:195 +#: manager/templates/schedule/view.html:209 +#: manager/templates/schedule/view.html:263 #: manager/templates/workout/view.html:69 -#: manager/templates/workout/view.html:79 -#: manager/templates/workout/view.html:178 +#: manager/templates/workout/view.html:83 +#: manager/templates/workout/view.html:192 msgid "Export calendar file" msgstr "Експортувати файл календаря" -#: manager/templates/schedule/view.html:236 +#: manager/templates/schedule/view.html:201 msgid "Export this schedule as a calendar file." msgstr "Експортувати цю програму в файл календаря." -#: manager/templates/schedule/view.html:237 -#: manager/templates/workout/view.html:74 +#: manager/templates/schedule/view.html:202 +#: manager/templates/workout/view.html:76 +#, fuzzy +#| msgid "" +#| "You can then import the file it into your calendar\n" +#| " application for example google calendar, outlook " +#| "or iCal. This will create\n" +#| " an appointment for each training day with the " +#| "appropriate exercises." msgid "" "You can then import the file it into your calendar\n" " application for example google calendar, outlook or " "iCal. This will create\n" " an appointment for each training day with the " -"appropriate exercises." +"appropriate\n" +" exercises." msgstr "" "Цей файл можна потім імпортувати в календар застосунку, наприклад\n" "google календар, outlook або iCal. Це дозволить створити розклад на\n" "кожен тренувальний день з відповідними вправами." -#: manager/templates/schedule/view.html:258 -#: manager/templates/schedule/view.html:294 -#: manager/templates/workout/view.html:94 -#: manager/templates/workout/view.html:174 +#: manager/templates/schedule/view.html:225 +#: manager/templates/schedule/view.html:268 +#: manager/templates/workout/view.html:99 +#: manager/templates/workout/view.html:188 msgid "Download as PDF" msgstr "Завантажити як PDF" -#: manager/templates/schedule/view.html:299 -msgid "Edit schedule" -msgstr "Редагувати програму" - -#: manager/templates/schedule/view.html:304 -msgid "Delete schedule" -msgstr "Видалити програму" - #: manager/templates/set/add.html:9 #, python-format msgid "Add exercises to day \"%(day_name)s\"" @@ -2645,56 +2626,6 @@ msgstr "" "Ви будете регулярно отримувати такі нагадування, поки не введете поточну " "вагу." -#: manager/templates/workout/log.html:10 manager/templates/workout/log.html:11 -msgid "Weight log" -msgstr "Журнал ваги" - -#: manager/templates/workout/log.html:29 -msgid "Weight log for workout" -msgstr "Журнал ваги для тренування" - -#: manager/templates/workout/log.html:49 -msgid "Add weight log to this day" -msgstr "Додати запис ваги до цього дня" - -#: manager/templates/workout/log.html:69 -msgid "No weight entries here." -msgstr "Тут немає записів ваги." - -#: manager/templates/workout/log.html:77 -msgid "No exercises for this day." -msgstr "Немає вправ для цього дня." - -#: manager/templates/workout/log.html:90 -msgid "" -"This page shows the weight logs belonging to this workout\n" -"only. Click on an exercise to see all the historical data for\n" -"it." -msgstr "" -"На цій сторінці показані журнали ваги, що належать тільки\n" -"до цього тренування. Натисніть на вправу, щоб побачити всі\n" -"історичні дані." - -#: manager/templates/workout/log.html:94 -msgid "" -"If on a single day there is more than one entry with the\n" -"same number of repetitions, but different weights, only the entry with the\n" -"higher weight is shown in the diagram." -msgstr "" -"Якщо на один день припадає більше одного запису з однаковою кількістю\n" -"повторень, але різними вагами, то на графіку буде показано тільки запис\n" -"з більшою вагою." - -#: manager/templates/workout/log.html:98 -msgid "" -"Note that only entries with a weight unit (kg or lb) and\n" -"repetitions are charted, other combinations such as time or until failure\n" -"are ignored here." -msgstr "" -"Запримітьте, що на графіку відображаються тільки\n" -"записи з одиницями ваги (кг або lb) і повтореннями. Інші комбінації,\n" -"такі як час або \"до відмови\", тут ігноруються." - #: manager/templates/workout/overview.html:25 msgid "No templates found." msgstr "Шаблонів не знайдено." @@ -2731,27 +2662,23 @@ msgstr "Додати набори підходів до тренувальних msgid "Set the repetitions for each set" msgstr "Встановити повторення для кожного підходу" -#: manager/templates/workout/view.html:73 +#: manager/templates/workout/view.html:75 msgid "Export this workout as a calendar file." msgstr "Експорт цього тренування у файлі календаря." -#: manager/templates/workout/view.html:144 +#: manager/templates/workout/view.html:156 msgid "Logs" msgstr "Журнали" -#: manager/templates/workout/view.html:146 +#: manager/templates/workout/view.html:159 msgid "View logs" msgstr "Перегляд журналів" -#: manager/templates/workout/view.html:169 manager/views/schedule_step.py:99 -msgid "Edit workout" -msgstr "Змінити тренування" - -#: manager/templates/workout/view.html:182 manager/views/workout.py:281 +#: manager/templates/workout/view.html:195 manager/views/workout.py:281 msgid "Mark as template" msgstr "Позначити як шаблон" -#: manager/views/day.py:109 +#: manager/views/day.py:105 msgid "Add workout day" msgstr "Додати день тренування" @@ -2768,6 +2695,10 @@ msgstr "Тренування для %s" msgid "Create schedule" msgstr "Створити програму" +#: manager/views/schedule_step.py:99 +msgid "Edit workout" +msgstr "Змінити тренування" + #: manager/views/workout.py:209 msgid "Copy workout" msgstr "Копіювати тренування" @@ -2891,7 +2822,7 @@ msgstr "Кількість в грамах" msgid "Unit amount, e.g. \"1 Cup\" or \"1/2 spoon\"" msgstr "Одиниця кількісті, напр. \"1 чашка\" або \"1/2 ложки\"" -#: nutrition/models/log.py:52 nutrition/models/meal.py:50 +#: nutrition/models/log.py:52 nutrition/models/meal.py:48 #: nutrition/models/meal_item.py:48 nutrition/models/plan.py:108 msgid "Nutrition plan" msgstr "План харчування" @@ -2904,11 +2835,11 @@ msgstr "Приймання їжі" msgid "Date and Time (Approx.)" msgstr "Дата і час (приблизно)" -#: nutrition/models/meal.py:62 +#: nutrition/models/meal.py:60 msgid "Time (approx)" msgstr "Час (приблизно)" -#: nutrition/models/meal.py:69 +#: nutrition/models/meal.py:67 msgid "" "Give meals a textual description / name such as \"Breakfast\" or \"after " "workout\"" @@ -2935,62 +2866,6 @@ msgstr "" "кількість калорій. Ви можете скористатися калькулятором або ввести значення " "самостійно." -#: nutrition/templates/bmi/form.html:62 -msgid "Results" -msgstr "Результати" - -#: nutrition/templates/bmi/form.html:63 -msgid "Your BMI is: " -msgstr "Ваш ІМТ: " - -#: nutrition/templates/bmi/form.html:71 -msgid "Legend" -msgstr "Умовне позначення" - -#: nutrition/templates/bmi/form.html:75 -msgid "Adipositas III" -msgstr "Ожиріння III" - -#: nutrition/templates/bmi/form.html:79 -msgid "Adipositas II" -msgstr "Ожиріння II" - -#: nutrition/templates/bmi/form.html:83 -msgid "Adipositas I" -msgstr "Ожиріння I" - -#: nutrition/templates/bmi/form.html:87 -msgid "Overweight" -msgstr "Надмірна вага" - -#: nutrition/templates/bmi/form.html:91 -msgid "Normal weight" -msgstr "Нормальна вага" - -#: nutrition/templates/bmi/form.html:95 -msgid "Slight underweight" -msgstr "Легкий недобір ваги" - -#: nutrition/templates/bmi/form.html:99 -msgid "Moderate underweight" -msgstr "Помірний недобір ваги" - -#: nutrition/templates/bmi/form.html:103 -msgid "Strong underweight" -msgstr "Сильний недобір ваги" - -#: nutrition/templates/bmi/form.html:117 -msgid "" -"Use the form to calculate your BMI (Body Mass Index).\n" -"If you have entered data in the weight section, the last entry will\n" -"be used automatically. Otherwise the weight you enter here will be saved\n" -"in a new entry." -msgstr "" -"Використовуйте форму для розрахунку вашого ІМТ (Індекс Маси Тіла).\n" -"Якщо ви ввели дані в розділ ваги, останній запис буде використовуватись\n" -"автоматично. В іншому випадку, вага, який ви вкажете тут буде збережена\n" -"в новому записі." - #: nutrition/templates/ingredient/email_new.tpl:1 #, python-format msgid "" @@ -3048,10 +2923,6 @@ msgstr "Немає інгредієнтів." msgid "Search" msgstr "Пошук" -#: nutrition/templates/ingredient/overview.html:62 -msgid "Add ingredient" -msgstr "Додати інгредієнт" - #: nutrition/templates/ingredient/view.html:45 nutrition/views/plan.py:229 msgid "Macronutrients" msgstr "Макроелементи" @@ -3071,20 +2942,11 @@ msgstr "немає в наявності" msgid "Others" msgstr "Інші" -#: nutrition/templates/ingredient/view.html:144 -#: nutrition/templates/units/list.html:46 nutrition/views/unit.py:86 +#: nutrition/templates/ingredient/view.html:143 +#: nutrition/templates/units/list.html:50 nutrition/views/unit.py:86 msgid "Add new weight unit" msgstr "Додати нову одиницю ваги" -#: nutrition/templates/ingredient/view.html:206 -#: nutrition/templates/ingredient/view.html:209 -msgid "Edit ingredient" -msgstr "Редагувати інгредієнт" - -#: nutrition/templates/ingredient/view.html:213 -msgid "Delete ingredient" -msgstr "Видалити інгредієнт" - #: nutrition/templates/rate/form.html:25 msgid "Basal metabolic rate" msgstr "Базальний рівень метаболізму" @@ -3172,20 +3034,6 @@ msgstr "" "свій план харчування на цих значеннях, поспостерігайте за собою кілька\n" "тижнів і при необхідності змініть загальну кількість." -#: nutrition/views/bmi.py:89 -msgid "Please make sure your height is within the appropriate range." -msgstr "" -"Будь ласка, переконайтеся, що ваш зріст знаходиться в межах відповідного " -"діапазону." - -#: nutrition/views/bmi.py:92 -msgid "140 to 230" -msgstr "від 140 до 230" - -#: nutrition/views/bmi.py:94 -msgid "56 to 90" -msgstr "від 56 до 90" - #: nutrition/views/ingredient.py:157 msgid "Add a new ingredient" msgstr "Додати новий інгредієнт" @@ -3732,6 +3580,143 @@ msgstr "Успішно видалено." msgid "Delete weight entry for the %s" msgstr "Видалити запис ваги для %s" +#~ msgid "Move me" +#~ msgstr "Перемістіть мене" + +#~ msgid "Results" +#~ msgstr "Результати" + +#~ msgid "Your BMI is: " +#~ msgstr "Ваш ІМТ: " + +#~ msgid "Legend" +#~ msgstr "Умовне позначення" + +#~ msgid "Adipositas III" +#~ msgstr "Ожиріння III" + +#~ msgid "Adipositas II" +#~ msgstr "Ожиріння II" + +#~ msgid "Adipositas I" +#~ msgstr "Ожиріння I" + +#~ msgid "Overweight" +#~ msgstr "Надмірна вага" + +#~ msgid "Normal weight" +#~ msgstr "Нормальна вага" + +#~ msgid "Slight underweight" +#~ msgstr "Легкий недобір ваги" + +#~ msgid "Moderate underweight" +#~ msgstr "Помірний недобір ваги" + +#~ msgid "Strong underweight" +#~ msgstr "Сильний недобір ваги" + +#~ msgid "" +#~ "Use the form to calculate your BMI (Body Mass Index).\n" +#~ "If you have entered data in the weight section, the last entry will\n" +#~ "be used automatically. Otherwise the weight you enter here will be saved\n" +#~ "in a new entry." +#~ msgstr "" +#~ "Використовуйте форму для розрахунку вашого ІМТ (Індекс Маси Тіла).\n" +#~ "Якщо ви ввели дані в розділ ваги, останній запис буде використовуватись\n" +#~ "автоматично. В іншому випадку, вага, який ви вкажете тут буде збережена\n" +#~ "в новому записі." + +#~ msgid "Please make sure your height is within the appropriate range." +#~ msgstr "" +#~ "Будь ласка, переконайтеся, що ваш зріст знаходиться в межах відповідного " +#~ "діапазону." + +#~ msgid "140 to 230" +#~ msgstr "від 140 до 230" + +#~ msgid "56 to 90" +#~ msgstr "від 56 до 90" + +#~ msgid "" +#~ "If a license has been localized, e.g. the Creative Commons\n" +#~ " licenses for the different countries, add them as separate " +#~ "entries here." +#~ msgstr "" +#~ "Якщо ліцензія була локалізована, наприклад, як ліцензії\n" +#~ "Creative Commons для різних країн, додайте їх як окремі записи." + +#~ msgid "Add weight log" +#~ msgstr "Додати журнал ваги" + +#~ msgid "This exercise has no repetitions." +#~ msgstr "Ця вправа не має повторів." + +#~ msgid "Edit them now." +#~ msgstr "Редагувати їх зараз." + +#~ msgid "Add exercises to this workout day" +#~ msgstr "Додати вправи до цього дня тренування" + +#~ msgid "Edit schedule" +#~ msgstr "Редагувати програму" + +#~ msgid "Delete schedule" +#~ msgstr "Видалити програму" + +#~ msgid "Weight log" +#~ msgstr "Журнал ваги" + +#~ msgid "Weight log for workout" +#~ msgstr "Журнал ваги для тренування" + +#~ msgid "Add weight log to this day" +#~ msgstr "Додати запис ваги до цього дня" + +#~ msgid "No weight entries here." +#~ msgstr "Тут немає записів ваги." + +#~ msgid "No exercises for this day." +#~ msgstr "Немає вправ для цього дня." + +#~ msgid "" +#~ "This page shows the weight logs belonging to this workout\n" +#~ "only. Click on an exercise to see all the historical data for\n" +#~ "it." +#~ msgstr "" +#~ "На цій сторінці показані журнали ваги, що належать тільки\n" +#~ "до цього тренування. Натисніть на вправу, щоб побачити всі\n" +#~ "історичні дані." + +#~ msgid "" +#~ "If on a single day there is more than one entry with the\n" +#~ "same number of repetitions, but different weights, only the entry with " +#~ "the\n" +#~ "higher weight is shown in the diagram." +#~ msgstr "" +#~ "Якщо на один день припадає більше одного запису з однаковою кількістю\n" +#~ "повторень, але різними вагами, то на графіку буде показано тільки запис\n" +#~ "з більшою вагою." + +#~ msgid "" +#~ "Note that only entries with a weight unit (kg or lb) and\n" +#~ "repetitions are charted, other combinations such as time or until " +#~ "failure\n" +#~ "are ignored here." +#~ msgstr "" +#~ "Запримітьте, що на графіку відображаються тільки\n" +#~ "записи з одиницями ваги (кг або lb) і повтореннями. Інші комбінації,\n" +#~ "такі як час або \"до відмови\", тут ігноруються." + +#~ msgid "Add ingredient" +#~ msgstr "Додати інгредієнт" + +#~ msgid "Edit ingredient" +#~ msgstr "Редагувати інгредієнт" + +#~ msgid "Delete ingredient" +#~ msgstr "Видалити інгредієнт" + #~ msgid "Ingredients pending review" #~ msgstr "Інгредієнти, що очікують розгляду" diff --git a/wger/locale/zh_CN/LC_MESSAGES/django.po b/wger/locale/zh_CN/LC_MESSAGES/django.po index 162f07d9d..de4534dca 100644 --- a/wger/locale/zh_CN/LC_MESSAGES/django.po +++ b/wger/locale/zh_CN/LC_MESSAGES/django.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: wger Workout Manager\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-14 15:59+0200\n" +"POT-Creation-Date: 2024-11-14 19:23+0100\n" "PO-Revision-Date: 2024-06-05 08:09+0000\n" "Last-Translator: Yi-Han Hsiung \n" "Language-Team: Chinese (Simplified) B > C > A > B " +#| "> C and so on." msgid "" "You can indicate how long you want to do each workout\n" " before jumping to the next. It is also possible to create a loop, so " "you\n" " always do the same workouts in succession, e.g. A > B > C > A > B > " -"C and so on." +"C and so\n" +" on." msgstr "" "您可以指定每次锻炼的时间,然后再跳到下一个锻炼。\n" " 也可以创建一个循环,这样您总是连续进行相同的锻炼,\n" " 例如 A > B > C > A > B > C 等等。" -#: manager/templates/schedule/overview.html:43 +#: manager/templates/schedule/overview.html:44 msgid "" "The currently active schedule will remain active (and be\n" " shown e.g. in your dashboard) till it reaches the last workout or " @@ -2439,25 +2424,21 @@ msgstr "添加行程" msgid "Schedule" msgstr "行程表" -#: manager/templates/schedule/view.html:85 +#: manager/templates/schedule/view.html:39 msgid "" "This schedule is a loop and will go through the workouts above till you " "deactivate it" msgstr "此计划是一个循环,将执行上述锻炼,直到你停用它" -#: manager/templates/schedule/view.html:103 +#: manager/templates/schedule/view.html:57 msgid "Weeks" msgstr "周数" -#: manager/templates/schedule/view.html:115 -msgid "Move me" -msgstr "移开我" - -#: manager/templates/schedule/view.html:156 +#: manager/templates/schedule/view.html:121 msgid "Start schedule" msgstr "开始日程" -#: manager/templates/schedule/view.html:187 +#: manager/templates/schedule/view.html:150 #, python-format msgid "" "%(weeks)s Week\n" @@ -2467,11 +2448,11 @@ msgid_plural "" " " msgstr[0] "" -#: manager/templates/schedule/view.html:221 +#: manager/templates/schedule/view.html:184 msgid "Adding workouts" msgstr "新增健身中" -#: manager/templates/schedule/view.html:223 +#: manager/templates/schedule/view.html:186 msgid "" "Add as many workouts to the schedule as you want. You can\n" " edit the order by dragging and dropping them. It's also possible " @@ -2479,44 +2460,37 @@ msgid "" " than once." msgstr "" -#: manager/templates/schedule/view.html:232 -#: manager/templates/schedule/view.html:243 -#: manager/templates/schedule/view.html:290 +#: manager/templates/schedule/view.html:195 +#: manager/templates/schedule/view.html:209 +#: manager/templates/schedule/view.html:263 #: manager/templates/workout/view.html:69 -#: manager/templates/workout/view.html:79 -#: manager/templates/workout/view.html:178 +#: manager/templates/workout/view.html:83 +#: manager/templates/workout/view.html:192 msgid "Export calendar file" msgstr "导出日历文件" -#: manager/templates/schedule/view.html:236 +#: manager/templates/schedule/view.html:201 msgid "Export this schedule as a calendar file." msgstr "将此日程表导出为日历文件。" -#: manager/templates/schedule/view.html:237 -#: manager/templates/workout/view.html:74 +#: manager/templates/schedule/view.html:202 +#: manager/templates/workout/view.html:76 msgid "" "You can then import the file it into your calendar\n" " application for example google calendar, outlook or " "iCal. This will create\n" " an appointment for each training day with the " -"appropriate exercises." +"appropriate\n" +" exercises." msgstr "" -#: manager/templates/schedule/view.html:258 -#: manager/templates/schedule/view.html:294 -#: manager/templates/workout/view.html:94 -#: manager/templates/workout/view.html:174 +#: manager/templates/schedule/view.html:225 +#: manager/templates/schedule/view.html:268 +#: manager/templates/workout/view.html:99 +#: manager/templates/workout/view.html:188 msgid "Download as PDF" msgstr "下载为PDF" -#: manager/templates/schedule/view.html:299 -msgid "Edit schedule" -msgstr "" - -#: manager/templates/schedule/view.html:304 -msgid "Delete schedule" -msgstr "" - #: manager/templates/set/add.html:9 #, python-format msgid "Add exercises to day \"%(day_name)s\"" @@ -2581,47 +2555,6 @@ msgid "" "You will regularly receive such reminders till you enter your current weight." msgstr "" -#: manager/templates/workout/log.html:10 manager/templates/workout/log.html:11 -msgid "Weight log" -msgstr "体重日志" - -#: manager/templates/workout/log.html:29 -msgid "Weight log for workout" -msgstr "健身的体重日志" - -#: manager/templates/workout/log.html:49 -msgid "Add weight log to this day" -msgstr "添加体重日志到该训练日" - -#: manager/templates/workout/log.html:69 -msgid "No weight entries here." -msgstr "" - -#: manager/templates/workout/log.html:77 -msgid "No exercises for this day." -msgstr "" - -#: manager/templates/workout/log.html:90 -msgid "" -"This page shows the weight logs belonging to this workout\n" -"only. Click on an exercise to see all the historical data for\n" -"it." -msgstr "" - -#: manager/templates/workout/log.html:94 -msgid "" -"If on a single day there is more than one entry with the\n" -"same number of repetitions, but different weights, only the entry with the\n" -"higher weight is shown in the diagram." -msgstr "" - -#: manager/templates/workout/log.html:98 -msgid "" -"Note that only entries with a weight unit (kg or lb) and\n" -"repetitions are charted, other combinations such as time or until failure\n" -"are ignored here." -msgstr "" - #: manager/templates/workout/overview.html:25 msgid "No templates found." msgstr "没有健身模板。" @@ -2657,27 +2590,23 @@ msgstr "新增健身项目组到健身日" msgid "Set the repetitions for each set" msgstr "" -#: manager/templates/workout/view.html:73 +#: manager/templates/workout/view.html:75 msgid "Export this workout as a calendar file." msgstr "" -#: manager/templates/workout/view.html:144 +#: manager/templates/workout/view.html:156 msgid "Logs" msgstr "" -#: manager/templates/workout/view.html:146 +#: manager/templates/workout/view.html:159 msgid "View logs" msgstr "" -#: manager/templates/workout/view.html:169 manager/views/schedule_step.py:99 -msgid "Edit workout" -msgstr "编辑健身" - -#: manager/templates/workout/view.html:182 manager/views/workout.py:281 +#: manager/templates/workout/view.html:195 manager/views/workout.py:281 msgid "Mark as template" msgstr "" -#: manager/views/day.py:109 +#: manager/views/day.py:105 msgid "Add workout day" msgstr "新增健身日" @@ -2694,6 +2623,10 @@ msgstr "" msgid "Create schedule" msgstr "" +#: manager/views/schedule_step.py:99 +msgid "Edit workout" +msgstr "编辑健身" + #: manager/views/workout.py:209 msgid "Copy workout" msgstr "拷贝健身" @@ -2821,7 +2754,7 @@ msgstr "" msgid "Unit amount, e.g. \"1 Cup\" or \"1/2 spoon\"" msgstr "" -#: nutrition/models/log.py:52 nutrition/models/meal.py:50 +#: nutrition/models/log.py:52 nutrition/models/meal.py:48 #: nutrition/models/meal_item.py:48 nutrition/models/plan.py:108 msgid "Nutrition plan" msgstr "营养计划" @@ -2834,11 +2767,11 @@ msgstr "" msgid "Date and Time (Approx.)" msgstr "" -#: nutrition/models/meal.py:62 +#: nutrition/models/meal.py:60 msgid "Time (approx)" msgstr "" -#: nutrition/models/meal.py:69 +#: nutrition/models/meal.py:67 msgid "" "Give meals a textual description / name such as \"Breakfast\" or \"after " "workout\"" @@ -2860,61 +2793,6 @@ msgid "" "calories. You can use the calculator or enter the value yourself." msgstr "" -#: nutrition/templates/bmi/form.html:62 -msgid "Results" -msgstr "结果" - -#: nutrition/templates/bmi/form.html:63 -msgid "Your BMI is: " -msgstr "你的体重指数是:" - -#: nutrition/templates/bmi/form.html:71 -msgid "Legend" -msgstr "说明" - -#: nutrition/templates/bmi/form.html:75 -msgid "Adipositas III" -msgstr "三级肥胖" - -#: nutrition/templates/bmi/form.html:79 -msgid "Adipositas II" -msgstr "二级肥胖" - -#: nutrition/templates/bmi/form.html:83 -msgid "Adipositas I" -msgstr "一级肥胖" - -#: nutrition/templates/bmi/form.html:87 -msgid "Overweight" -msgstr "超重" - -#: nutrition/templates/bmi/form.html:91 -msgid "Normal weight" -msgstr "正常体重" - -#: nutrition/templates/bmi/form.html:95 -msgid "Slight underweight" -msgstr "稍微偏瘦" - -#: nutrition/templates/bmi/form.html:99 -msgid "Moderate underweight" -msgstr "中等偏瘦" - -#: nutrition/templates/bmi/form.html:103 -msgid "Strong underweight" -msgstr "严重偏瘦" - -#: nutrition/templates/bmi/form.html:117 -msgid "" -"Use the form to calculate your BMI (Body Mass Index).\n" -"If you have entered data in the weight section, the last entry will\n" -"be used automatically. Otherwise the weight you enter here will be saved\n" -"in a new entry." -msgstr "" -"使用左边的表格来计算你的体重指数(Body Mass Index)。\n" -"如果你已经在体重区域输入过你的体重,那么体重一栏会自动填充你的数据。\n" -"否则,你输入的体重数据将会被保存为新的体重记录。" - #: nutrition/templates/ingredient/email_new.tpl:1 #, python-format msgid "" @@ -2960,10 +2838,6 @@ msgstr "" msgid "Search" msgstr "搜索" -#: nutrition/templates/ingredient/overview.html:62 -msgid "Add ingredient" -msgstr "新增食谱" - #: nutrition/templates/ingredient/view.html:45 nutrition/views/plan.py:229 msgid "Macronutrients" msgstr "常量营养物" @@ -2983,20 +2857,11 @@ msgstr "" msgid "Others" msgstr "其它" -#: nutrition/templates/ingredient/view.html:144 -#: nutrition/templates/units/list.html:46 nutrition/views/unit.py:86 +#: nutrition/templates/ingredient/view.html:143 +#: nutrition/templates/units/list.html:50 nutrition/views/unit.py:86 msgid "Add new weight unit" msgstr "新增计量单位" -#: nutrition/templates/ingredient/view.html:206 -#: nutrition/templates/ingredient/view.html:209 -msgid "Edit ingredient" -msgstr "编辑食谱" - -#: nutrition/templates/ingredient/view.html:213 -msgid "Delete ingredient" -msgstr "删除食谱" - #: nutrition/templates/rate/form.html:25 msgid "Basal metabolic rate" msgstr "基础代谢率" @@ -3070,18 +2935,6 @@ msgid "" "yourself for some weeks and change the total amount if needed." msgstr "" -#: nutrition/views/bmi.py:89 -msgid "Please make sure your height is within the appropriate range." -msgstr "" - -#: nutrition/views/bmi.py:92 -msgid "140 to 230" -msgstr "" - -#: nutrition/views/bmi.py:94 -msgid "56 to 90" -msgstr "" - #: nutrition/views/ingredient.py:157 msgid "Add a new ingredient" msgstr "新增一个食谱" @@ -3620,6 +3473,90 @@ msgstr "已成功删除。" msgid "Delete weight entry for the %s" msgstr "删除 %s 的体重条目" +#~ msgid "Move me" +#~ msgstr "移开我" + +#~ msgid "Results" +#~ msgstr "结果" + +#~ msgid "Your BMI is: " +#~ msgstr "你的体重指数是:" + +#~ msgid "Legend" +#~ msgstr "说明" + +#~ msgid "Adipositas III" +#~ msgstr "三级肥胖" + +#~ msgid "Adipositas II" +#~ msgstr "二级肥胖" + +#~ msgid "Adipositas I" +#~ msgstr "一级肥胖" + +#~ msgid "Overweight" +#~ msgstr "超重" + +#~ msgid "Normal weight" +#~ msgstr "正常体重" + +#~ msgid "Slight underweight" +#~ msgstr "稍微偏瘦" + +#~ msgid "Moderate underweight" +#~ msgstr "中等偏瘦" + +#~ msgid "Strong underweight" +#~ msgstr "严重偏瘦" + +#~ msgid "" +#~ "Use the form to calculate your BMI (Body Mass Index).\n" +#~ "If you have entered data in the weight section, the last entry will\n" +#~ "be used automatically. Otherwise the weight you enter here will be saved\n" +#~ "in a new entry." +#~ msgstr "" +#~ "使用左边的表格来计算你的体重指数(Body Mass Index)。\n" +#~ "如果你已经在体重区域输入过你的体重,那么体重一栏会自动填充你的数据。\n" +#~ "否则,你输入的体重数据将会被保存为新的体重记录。" + +#~ msgid "" +#~ "If a license has been localized, e.g. the Creative Commons\n" +#~ " licenses for the different countries, add them as separate " +#~ "entries here." +#~ msgstr "" +#~ "如果一个许可证已经本地化,例如,不同国家的 \"知识共享 \"\n" +#~ "许可证,请将它们作为单独的条目添加到这里。" + +#~ msgid "Add weight log" +#~ msgstr "新增体重记录" + +#~ msgid "This exercise has no repetitions." +#~ msgstr "这个健身项目没有重复次数." + +#~ msgid "Edit them now." +#~ msgstr "现在编辑它们." + +#~ msgid "Add exercises to this workout day" +#~ msgstr "新增健身项目到这个健身日" + +#~ msgid "Weight log" +#~ msgstr "体重日志" + +#~ msgid "Weight log for workout" +#~ msgstr "健身的体重日志" + +#~ msgid "Add weight log to this day" +#~ msgstr "添加体重日志到该训练日" + +#~ msgid "Add ingredient" +#~ msgstr "新增食谱" + +#~ msgid "Edit ingredient" +#~ msgstr "编辑食谱" + +#~ msgid "Delete ingredient" +#~ msgstr "删除食谱" + #~ msgid "Ingredients pending review" #~ msgstr "食谱审核" diff --git a/wger/manager/templates/calendar/day.html b/wger/manager/templates/calendar/day.html index bac14ecd5..f46fef71e 100644 --- a/wger/manager/templates/calendar/day.html +++ b/wger/manager/templates/calendar/day.html @@ -59,19 +59,20 @@ {% if is_owner %}
    -
    diff --git a/wger/manager/templates/calendar/month.html b/wger/manager/templates/calendar/month.html index 2e046e40c..17e4f3e21 100644 --- a/wger/manager/templates/calendar/month.html +++ b/wger/manager/templates/calendar/month.html @@ -81,13 +81,13 @@ $(document).ready(function() { {% endif %} diff --git a/wger/manager/templates/calendar/partial_overview_table.html b/wger/manager/templates/calendar/partial_overview_table.html index f821848ef..1d4a5c219 100644 --- a/wger/manager/templates/calendar/partial_overview_table.html +++ b/wger/manager/templates/calendar/partial_overview_table.html @@ -13,24 +13,26 @@ {% else %} - {% translate "Add workout impression" %} + {% translate 'Add workout impression' as text %} + {% url 'manager:session:add' value.workout.id date|date:'Y' date|date:'m' date|date:'d' as url %} + {% modal_link url=url text=text css_class='dropdown-item' %} {% endif %} {% endif %} diff --git a/wger/manager/templates/day/view.html b/wger/manager/templates/day/view.html deleted file mode 100644 index 52a50036e..000000000 --- a/wger/manager/templates/day/view.html +++ /dev/null @@ -1,4 +0,0 @@ -{% load i18n %} -{% load wger_extras %} - -{% render_day day %} \ No newline at end of file diff --git a/wger/manager/templates/schedule/overview.html b/wger/manager/templates/schedule/overview.html index 03afdfe3d..321c695e4 100644 --- a/wger/manager/templates/schedule/overview.html +++ b/wger/manager/templates/schedule/overview.html @@ -1,6 +1,5 @@ {% extends "base.html" %} -{% load i18n %} -{% load static %} +{% load i18n static wger_extras %} {% block title %}{% translate "Your schedules" %}{% endblock %} @@ -11,7 +10,8 @@ {% block content %}
    {% for schedule in schedules %} - + {% if schedule.is_active %} @@ -24,9 +24,9 @@

    {{ schedule.start_date }}

    {% empty %} - - {% translate "No schedules found." %}
    {% translate "Add one now." %} -
    + {% translate "No schedules found." %} + {% translate 'Add one now' as text %} + {% modal_link url='manager:schedule:add' text=text css_class='dropdown-item' %} {% endfor %}
    {% endblock %} @@ -38,7 +38,8 @@

    {% blocktranslate %}You can indicate how long you want to do each workout before jumping to the next. It is also possible to create a loop, so you - always do the same workouts in succession, e.g. A > B > C > A > B > C and so on.{% endblocktranslate %}

    + always do the same workouts in succession, e.g. A > B > C > A > B > C and so + on.{% endblocktranslate %}

    {% blocktranslate %}The currently active schedule will remain active (and be shown e.g. in your dashboard) till it reaches the last workout or till you @@ -47,7 +48,6 @@ {% block options %} - - {% translate "Add schedule" %} - + {% translate 'Add schedule' as text %} + {% modal_link url='manager:schedule:add' text=text %} {% endblock %} diff --git a/wger/manager/templates/schedule/view.html b/wger/manager/templates/schedule/view.html index 61110dbe4..ce80e30e2 100644 --- a/wger/manager/templates/schedule/view.html +++ b/wger/manager/templates/schedule/view.html @@ -13,52 +13,6 @@ {% block title %}{{ schedule.name }}{% endblock %} {% block header %} - {% endblock %} {% block content %} @@ -111,18 +65,29 @@ {% if is_owner %}

    {% endif %} {% endif %} @@ -151,17 +115,16 @@ @@ -230,13 +193,16 @@ @@ -256,17 +223,21 @@ @@ -279,30 +250,33 @@ {% block options %}
    -
    diff --git a/wger/manager/templates/set/add.html b/wger/manager/templates/set/add.html index 4b2ae04e1..75073a26f 100644 --- a/wger/manager/templates/set/add.html +++ b/wger/manager/templates/set/add.html @@ -1,4 +1,4 @@ -{% extends extend_template %} +{% extends 'base_empty.html' %} {% load i18n static crispy_forms_tags %} diff --git a/wger/manager/templates/workout/log.html b/wger/manager/templates/workout/log.html deleted file mode 100644 index 7ad23d788..000000000 --- a/wger/manager/templates/workout/log.html +++ /dev/null @@ -1,101 +0,0 @@ -{% extends "base.html" %} -{% load i18n static wger_extras django_bootstrap_breadcrumbs %} - - -{# #} -{# Opengraph #} -{# #} -{% block opengraph %} - {{ block.super }} - - -{% endblock %} - - -{# #} -{# Breadcrumbs #} -{# #} -{% block breadcrumbs %} - {{ block.super }} - - {% breadcrumb workout workout %} - {% breadcrumb "Weight log" "manager:log:log" workout.pk %} -{% endblock %} - - -{# #} -{# Title #} -{# #} -{% block title %}{% translate "Weight log for workout" %}{% endblock %} - - -{# #} -{# Header #} -{# #} -{% block header %} -{% endblock %} - - -{# #} -{# Content #} -{# #} -{% block content %} -{% for day in workout.canonical_representation.day_list %} -

    {{ day.obj.description }}

    - - {% if is_owner %} -

    - - {% translate 'Add weight log to this day' %} - -

    - {% endif %} - - {% for set in day.set_list %} - {% for base in set.exercise_list %} - - {% with day_list=workout_log|get_item:day.obj.id %} - {% with exercise_list=day_list|get_item:base.obj.id %} - -
    {{ base.obj.get_translation.name }}
    - {% if exercise_list.log_by_date %} - {# TODO: perhaps move the draw_weight_chart function to render_weight_log #} - {% with list=exercise_list.log_by_date %} - {% render_weight_log list exercise_list.div_uuid owner_user %} - {% endwith %} - - - {% else %} -

    {% translate "No weight entries here." %}

    - {% endif %} - - {% endwith %} - {% endwith %} - - {% empty%} -

    - {% translate "No exercises for this day." %} -

    - {% endfor %} - {% endfor %} -{% endfor %} -{% endblock %} - - -{# #} -{# Side bar #} -{# #} -{% block sidebar %} -

    {% translate "Notes" %}

    -

    {% blocktranslate %}This page shows the weight logs belonging to this workout -only. Click on an exercise to see all the historical data for -it.{% endblocktranslate %}

    - -

    {% blocktranslate %}If on a single day there is more than one entry with the -same number of repetitions, but different weights, only the entry with the -higher weight is shown in the diagram.{% endblocktranslate %}

    - -

    {% blocktranslate %}Note that only entries with a weight unit (kg or lb) and -repetitions are charted, other combinations such as time or until failure -are ignored here.{% endblocktranslate %}

    -{% endblock %} diff --git a/wger/manager/templates/workout/view.html b/wger/manager/templates/workout/view.html index 11fa48209..496fbaf03 100644 --- a/wger/manager/templates/workout/view.html +++ b/wger/manager/templates/workout/view.html @@ -67,21 +67,26 @@
    @@ -92,35 +97,41 @@ @@ -143,7 +155,8 @@ {% if workout.canonical_representation.day_list %}

    {% translate "Logs" %}

    - {% translate 'View logs' %} + {% translate 'View logs' %}

    {% endif %} @@ -157,19 +170,20 @@ {% block options %}
    -
    diff --git a/wger/manager/urls.py b/wger/manager/urls.py index 89217e879..b8aafc86d 100644 --- a/wger/manager/urls.py +++ b/wger/manager/urls.py @@ -228,6 +228,54 @@ patterns_session = [ ), ] +# sub patterns for workout days +patterns_day = [ + path( + '/edit', + login_required(day.DayEditView.as_view()), + name='edit', + ), + path( + '/add', + login_required(day.DayCreateView.as_view()), + name='add', + ), + path( + '/delete', + day.delete, + name='delete', + ), + path( + '/log/add', + log.add, + name='log', + ), +] + +# sub patterns for workout sets +patterns_set = [ + path( + '/add', + set.create, + name='add', + ), + path( + 'get-formset//', + set.get_formset, + name='get-formset', + ), # Used by JS + path( + '/delete', + set.delete, + name='delete', + ), + path( + '/edit', + set.edit, + name='edit', + ), +] + # sub patterns for schedules patterns_schedule = [ path( diff --git a/wger/manager/views/log.py b/wger/manager/views/log.py index 4c5fa647f..fe5d4c262 100644 --- a/wger/manager/views/log.py +++ b/wger/manager/views/log.py @@ -94,74 +94,6 @@ def add(request, pk): return render(request, 'log/add.html', context) -class WorkoutLogDetailView(DetailView, LoginRequiredMixin): - """ - An overview of the workout's log - """ - - model = Workout - template_name = 'workout/log.html' - context_object_name = 'workout' - owner_user = None - - def get_context_data(self, **kwargs): - # Call the base implementation first to get a context - context = super(WorkoutLogDetailView, self).get_context_data(**kwargs) - is_owner = self.owner_user == self.request.user - - # Prepare the entries for rendering and the D3 chart - workout_log = {} - - for day_obj in self.object.day_set.all(): - day_id = day_obj.id - workout_log[day_id] = {} - for set_obj in day_obj.set_set.all(): - exercise_log = {} - for base_obj in set_obj.exercise_bases: - exercise_base_id = base_obj.id - exercise_log[exercise_base_id] = [] - - # Filter the logs for user and exclude all units that are not weight - logs = base_obj.workoutlog_set.filter( - user=self.owner_user, - weight_unit__in=(1, 2), - repetition_unit=1, - workout=self.object, - ) - entry_log, chart_data = process_log_entries(logs) - if entry_log: - exercise_log[base_obj.id].append(entry_log) - - if exercise_log: - workout_log[day_id][exercise_base_id] = {} - workout_log[day_id][exercise_base_id]['log_by_date'] = entry_log - workout_log[day_id][exercise_base_id]['div_uuid'] = 'div-' + str( - uuid.uuid4() - ) - workout_log[day_id][exercise_base_id]['chart_data'] = chart_data - - context['workout_log'] = workout_log - context['owner_user'] = self.owner_user - context['is_owner'] = is_owner - - return context - - def dispatch(self, request, *args, **kwargs): - """ - Check for ownership - """ - - workout = get_object_or_404(Workout, pk=kwargs['pk']) - self.owner_user = workout.user - is_owner = request.user == self.owner_user - - if not is_owner and not self.owner_user.userprofile.ro_access: - return HttpResponseForbidden() - - # Dispatch normally - return super(WorkoutLogDetailView, self).dispatch(request, *args, **kwargs) - - def calendar(request, username=None, year=None, month=None): """ Show a calendar with all the workout logs diff --git a/wger/nutrition/management/commands/dummy-generator-nutrition.py b/wger/nutrition/management/commands/dummy-generator-nutrition.py index 61eccc4bd..5b20cecac 100644 --- a/wger/nutrition/management/commands/dummy-generator-nutrition.py +++ b/wger/nutrition/management/commands/dummy-generator-nutrition.py @@ -107,11 +107,12 @@ class Command(BaseCommand): self.stdout.write(f' created plan {plan.description}') # Add meals - for _ in range(0, meals_per_plan): + for i in range(0, meals_per_plan): order = 1 meal = Meal( plan=plan, order=order, + name=f'Dummy meal {i}', time=datetime.time(hour=randint(0, 23), minute=randint(0, 59)), ) meal.save() diff --git a/wger/nutrition/signals.py b/wger/nutrition/signals.py index d3e52b287..3bc71eef4 100644 --- a/wger/nutrition/signals.py +++ b/wger/nutrition/signals.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - # This file is part of wger Workout Manager. # # wger Workout Manager is free software: you can redistribute it and/or modify @@ -14,6 +12,9 @@ # # You should have received a copy of the GNU Affero General Public License +# Standard Library +import pathlib + # Django from django.core.cache import cache from django.db.models.signals import ( @@ -23,6 +24,7 @@ from django.db.models.signals import ( # wger from wger.nutrition.models import ( + Image, Meal, MealItem, NutritionPlan, @@ -43,3 +45,19 @@ post_save.connect(reset_nutritional_values_canonical_form, sender=Meal) post_delete.connect(reset_nutritional_values_canonical_form, sender=Meal) post_save.connect(reset_nutritional_values_canonical_form, sender=MealItem) post_delete.connect(reset_nutritional_values_canonical_form, sender=MealItem) + + +def auto_delete_file_on_delete(sender, instance: Image, **kwargs): + """ + Deletes file from filesystem + when corresponding `MediaFile` object is deleted. + """ + if not instance.image: + return + + path = pathlib.Path(instance.image.path) + if path.exists(): + path.unlink() + + +post_delete.connect(auto_delete_file_on_delete, sender=Image) diff --git a/wger/nutrition/static/js/nutrition.js b/wger/nutrition/static/js/nutrition.js index 4efe2f2d9..71a38db4d 100644 --- a/wger/nutrition/static/js/nutrition.js +++ b/wger/nutrition/static/js/nutrition.js @@ -21,7 +21,7 @@ 'use strict'; function updateIngredientValue(url) { - var formData = $('#nutritional-values-form').serializeArray(); + let formData = $('#nutritional-values-form').serializeArray(); $.get(url, formData, function (data) { // Show any validation errors $('#calculator-errors').html(''); @@ -60,158 +60,20 @@ function wgerInitIngredientDetail(url) { } - -/* - * Draw the BMI chart - */ -function wgerRenderBodyMassIndex() { - var svg; - var area; - var nest; - var stack; - var yAxis; - var xAxis; - var z; - var y; - var x; - var margin; - var width; - var height; - var heightFactor; - var widthFactor; - - // Delete the other diagrams - d3.selectAll('svg').remove(); - - // Calculate the size - widthFactor = 600; - - heightFactor = (widthFactor / 600) * 300; - - margin = {top: 20, right: 80, bottom: 30, left: 50}; - width = widthFactor - margin.left - margin.right; - height = heightFactor - margin.top - margin.bottom; - - x = d3.scaleLinear() - .range([0, width]); - - y = d3.scaleLinear() - .range([height, 0]); - - z = d3.scaleOrdinal().range(['#000080', - '#0000ff', - '#00ffff', - '#00ff00', - '#ffff00', - '#ff7f2a', - '#ff0000', - '#800000']); - - xAxis = d3.axisBottom(x); - yAxis = d3.axisLeft(y); - stack = d3.stack(); - - area = d3.area() - .x(function (d) { - return x(d.height); - }) - .y1(function (d) { - return y(d.weight); - }); - - svg = d3.select('#bmi-chart').append('svg') - .attr('width', width + margin.left + margin.right) - .attr('height', height + margin.top + margin.bottom) - .append('g') - .attr('transform', 'translate(' + margin.left + ',' + margin.top + ')'); - - // Clip path, drawings outside are removed - svg.append('defs').append('clipPath') - .attr('id', 'clip') - .append('rect') - .attr('width', width) - .attr('height', height); - - d3.json('/nutrition/calculator/bmi/chart-data').then(function (data) { - var $bmiForm; - var url; - var layers; - stack.keys(['filler', - 'severe_thinness', - 'moderate_thinness', - 'mild_thinness', - 'normal_range', - 'pre_obese', - 'obese_class_2', - 'obese_class_3']); - layers = stack(d3.group(data, d => d.key)); - - // Manually set the domains - x.domain(data.map(function (d) { - return d.height; - })); - y.domain([d3.min(data, function (d) { - return d.weight; - }), d3.max(data, function (d) { - return d.weight; - })]); - - svg.selectAll('.layer') - .data(layers) - .enter().append('path') - .attr('class', 'layer') - .attr('id', function (d) { - return 'key-' + d.key; - }) - .attr('clip-path', 'url(#clip)') - .attr('d', function (d, i) { - return area(d[i].data.values); - }) - .style('fill', function (d, i) { - return z(i); - }) - .style('opacity', 1); - - svg.append('g') - .attr('class', 'x axis') - .attr('transform', 'translate(0,' + height + ')') - .call(xAxis); - - svg.append('g') - .attr('class', 'y axis') - .call(yAxis); - - $bmiForm = $('#bmi-form'); - url = $bmiForm.attr('action'); - - $.post(url, - $bmiForm.serialize(), - function (postData) { - $('#bmi-result-container').show(); - $('#bmi-result-value').html(postData.bmi); - svg.append('circle') - .attr('cx', x(postData.height)) - .attr('cy', y(postData.weight)) - .attr('fill', 'black') - .attr('r', 5); - }); - }); -} - /* * Calories calculator */ function wgerInitCaloriesCalculator() { $('#form-transfer-calories').click(function (e) { - var baseCalories; + let baseCalories; e.preventDefault(); baseCalories = Number($('#id_base_calories').html()); $('#id_calories').val(baseCalories); }); $('#add-calories-total').click(function (e) { - var additionalCalories; - var baseCalories; + let additionalCalories; + let baseCalories; e.preventDefault(); baseCalories = Number($('#id_base_calories').html()); additionalCalories = Number($('#id_additional_calories').val()); @@ -224,7 +86,7 @@ function wgerInitCaloriesCalculator() { // Get own ID and update the user profile $.get('/api/v2/userprofile', function () { }).done(function (userprofile) { - var totalCalories = $('#id_calories')[0].value; + let totalCalories = $('#id_calories')[0].value; $.ajax({ url: '/api/v2/userprofile/' + userprofile.results[0].user + '/', type: 'PATCH', @@ -234,8 +96,8 @@ function wgerInitCaloriesCalculator() { }); $('.calories-autoform').click(function (e) { - var $bmrForm; - var bmrUrl; + let $bmrForm; + let bmrUrl; e.preventDefault(); // BMR @@ -244,8 +106,8 @@ function wgerInitCaloriesCalculator() { $.post(bmrUrl, $bmrForm.serialize(), function (data) { - var $activitiesForm; - var activitiesUrl; + let $activitiesForm; + let activitiesUrl; $('#bmr-result-container').show(); $('#bmr-result-value').html(data.bmr); diff --git a/wger/nutrition/templates/bmi/form.html b/wger/nutrition/templates/bmi/form.html deleted file mode 100644 index e928df423..000000000 --- a/wger/nutrition/templates/bmi/form.html +++ /dev/null @@ -1,122 +0,0 @@ -{% extends "base.html" %} -{% load i18n %} -{% load static %} -{% load crispy_forms_tags %} - -{% block header %} - - - - - - - - -{% endblock %} - - -{% block title %}{% translate "BMI calculator" %}{% endblock %} - - - -{% block content %} - -{% crispy form %} - - - - - - -
    - - -

    {% translate "Legend" %}

    -
    -
    -
     
    -
    {% translate "Adipositas III" %}
    -
    -
    -
     
    -
    {% translate "Adipositas II" %}
    -
    -
    -
     
    -
    {% translate "Adipositas I" %}
    -
    -
    -
     
    -
    {% translate "Overweight" %}
    -
    -
    -
     
    -
    {% translate "Normal weight" %}
    -
    -
    -
     
    -
    {% translate "Slight underweight" %}
    -
    -
    -
     
    -
    {% translate "Moderate underweight" %}
    -
    -
    -
     
    -
    {% translate "Strong underweight" %}
    -
    -
    - - -{% endblock %} - - - -{% block sidebar %} -

    Info

    -

    -{% blocktranslate %}Use the form to calculate your BMI (Body Mass Index). -If you have entered data in the weight section, the last entry will -be used automatically. Otherwise the weight you enter here will be saved -in a new entry.{% endblocktranslate %} -

    -{% endblock %} diff --git a/wger/nutrition/templates/ingredient/overview.html b/wger/nutrition/templates/ingredient/overview.html index 1e2733de3..dc3a67b07 100644 --- a/wger/nutrition/templates/ingredient/overview.html +++ b/wger/nutrition/templates/ingredient/overview.html @@ -41,8 +41,8 @@ {% endif %} -
    - {% pagination paginator page_obj %} +
    + {% pagination paginator page_obj %} {% endblock %} {% block sidebar %} @@ -56,10 +56,8 @@ {# Options #} {# #} {% block options %} - {% if perms.nutrition.add_ingredient and user.is_authenticated and not user.userprofile.is_temporary %} - - {% translate "Add ingredient" %} - + {% if perms.nutrition.add_ingredient %} + {% translate 'Add' as text %} + {% modal_link url='nutrition:ingredient:add' text=text %} {% endif %} {% endblock %} diff --git a/wger/nutrition/templates/ingredient/view.html b/wger/nutrition/templates/ingredient/view.html index 65c2a8b1f..7cf64dfe8 100644 --- a/wger/nutrition/templates/ingredient/view.html +++ b/wger/nutrition/templates/ingredient/view.html @@ -139,11 +139,10 @@ $(document).ready(function() { {% if perms.nutrition.delete_ingredient %}

    {% translate "Weight units" %}

    -

    - - {% translate "Add new weight unit" %} - -

    + +{% translate 'Add new weight unit' as text %} +{% url 'nutrition:unit_ingredient:add' ingredient.id as url %} +{% modal_link url=url text=text %} {% if ingredient.ingredientweightunit_set.exists %}
    - - + + + + - - - - - + + + + @@ -139,10 +104,9 @@ {% if is_owner %}
    - - {% translate "No workouts found." %} {% translate "Add one now." %} - + {% translate 'Add one now.' as text %} + {% url 'manager:step:add' schedule.id as url %} + {% modal_link url=url text=text css_class='dropdown-item' %}
    {% if not schedule.is_active %} - + {% translate "Start schedule" %} {% endif %} - - - {% translate "Add workout" %} - + {% translate 'Add workout' as text %} + {% url 'manager:step:add' schedule.id as url %} + {% modal_link url=url text=text css_class='btn btn-light btn-sm' %}
    @@ -162,8 +161,13 @@ $(document).ready(function() { @@ -202,17 +206,15 @@ $(document).ready(function() { {% translate "Options" %} diff --git a/wger/nutrition/templates/units/list.html b/wger/nutrition/templates/units/list.html index 475518856..2dbc3fc32 100644 --- a/wger/nutrition/templates/units/list.html +++ b/wger/nutrition/templates/units/list.html @@ -11,15 +11,20 @@ {% for unit in unit_list %}
  • -
    {{ unit.name }} @@ -42,7 +47,6 @@ {# Options #} {# #} {% block options %} - - {% translate "Add new weight unit" %} - + {% translate 'Add new weight unit' as text %} + {% modal_link url='nutrition:weight_unit:add' text=text %} {% endblock %} diff --git a/wger/nutrition/tests/test_ingredient.py b/wger/nutrition/tests/test_ingredient.py index 5176d1749..aab26eb2e 100644 --- a/wger/nutrition/tests/test_ingredient.py +++ b/wger/nutrition/tests/test_ingredient.py @@ -205,11 +205,11 @@ class IngredientDetailTestCase(WgerTestCase): # Only authorized users see the edit links if editor: - self.assertContains(response, 'Edit ingredient') - self.assertContains(response, 'Delete ingredient') + self.assertContains(response, 'Edit') + self.assertContains(response, 'Delete') else: - self.assertNotContains(response, 'Edit ingredient') - self.assertNotContains(response, 'Delete ingredient') + self.assertNotContains(response, 'Edit') + self.assertNotContains(response, 'Delete') # Non-existent ingredients throw a 404. response = self.client.get(reverse('nutrition:ingredient:view', kwargs={'pk': 42})) @@ -249,8 +249,7 @@ class IngredientSearchTestCase(WgerTestCase): Helper function """ - kwargs = {'HTTP_X_REQUESTED_WITH': 'XMLHttpRequest'} - response = self.client.get(reverse('ingredient-search'), {'term': 'test'}, **kwargs) + response = self.client.get(reverse('ingredient-search'), {'term': 'test'}) self.assertEqual(response.status_code, 200) result = json.loads(response.content.decode('utf8')) self.assertEqual(len(result['suggestions']), 2) diff --git a/wger/nutrition/tests/test_tasks.py b/wger/nutrition/tests/test_tasks.py index 525873e95..535154a94 100644 --- a/wger/nutrition/tests/test_tasks.py +++ b/wger/nutrition/tests/test_tasks.py @@ -151,8 +151,6 @@ class FetchIngredientImageTestCase(WgerTestCase): ): result = fetch_ingredient_image(1) - # log1 = mock_logger.mock_calls[0] - # print(log1) mock_logger.assert_any_call('Fetching image for ingredient 1') mock_logger.assert_any_call( 'Trying to fetch image from OFF for Test ingredient 1 (UUID: ' @@ -160,13 +158,14 @@ class FetchIngredientImageTestCase(WgerTestCase): ) mock_logger.assert_any_call('Image successfully saved') + # print(mock_request.mock_calls) mock_request.assert_any_call( 'https://world.openfoodfacts.org/api/v2/product/5055365635003.json?fields=images,image_front_url', headers=wger_headers(), timeout=ANY, ) mock_request.assert_any_call( - 'https://openfoodfacts-images.s3.eu-west-3.amazonaws.com/data/123/456/789/0987/654321/12345.jpg', + 'https://openfoodfacts-images.s3.eu-west-3.amazonaws.com/data/123/456/789/0987654321/12345.jpg', headers=wger_headers(), ) mock_from_json.assert_called() diff --git a/wger/nutrition/urls.py b/wger/nutrition/urls.py index 8ee4c952e..97c94c2ed 100644 --- a/wger/nutrition/urls.py +++ b/wger/nutrition/urls.py @@ -26,7 +26,6 @@ from django.urls import ( # wger from wger.core.views.react import ReactView from wger.nutrition.views import ( - bmi, calculator, ingredient, plan, @@ -140,19 +139,9 @@ patterns_unit_ingredient = [ patterns_bmi = [ path( '', - bmi.view, + ReactView.as_view(), name='view', ), - path( - 'calculate', - bmi.calculate, - name='calculate', - ), - path( - 'chart-data', - bmi.chart_data, - name='chart-data', - ), # JS ] # sub patterns for calories calculator diff --git a/wger/nutrition/views/bmi.py b/wger/nutrition/views/bmi.py deleted file mode 100644 index 9a2899abd..000000000 --- a/wger/nutrition/views/bmi.py +++ /dev/null @@ -1,159 +0,0 @@ -# -*- coding: utf-8 -*- - -# This file is part of wger Workout Manager. -# -# wger Workout Manager is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# wger Workout Manager is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with Workout Manager. If not, see . - -# Standard Library -import json -import logging - -# Django -from django.contrib.auth.decorators import login_required -from django.http import HttpResponse -from django.shortcuts import render -from django.utils.translation import gettext as _ - -# wger -from wger.nutrition.forms import BmiForm -from wger.utils import helpers -from wger.utils.units import AbstractHeight - - -logger = logging.getLogger(__name__) -""" -BMI views -""" - - -@login_required -def view(request): - """ - The BMI calculator detail page - """ - - context = {} - form_data = { - 'height': request.user.userprofile.height, - 'weight': request.user.userprofile.weight, - 'use_metric': request.user.userprofile.use_metric, - } - context['form'] = BmiForm(initial=form_data) - return render(request, 'bmi/form.html', context) - - -@login_required -def calculate(request): - """ - Calculates the BMI - """ - - data = [] - - form = BmiForm(request.POST, instance=request.user.userprofile) - output_height = request.POST['height'] - - if not request.user.userprofile.use_metric: - request_copy = request.POST.copy() - output_height = request_copy['height'] - request_copy['height'] = AbstractHeight(request_copy['height'], mode='inches').cm - form = BmiForm(request_copy, instance=request.user.userprofile) - - if form.is_valid(): - form.save() - - # Create a new weight entry as needed - request.user.userprofile.user_bodyweight(form.cleaned_data['weight']) - - bmi = request.user.userprofile.calculate_bmi() - result = { - 'bmi': '{0:.2f}'.format(bmi), - 'weight': form.cleaned_data['weight'], - 'height': output_height, - } - data = json.dumps(result, cls=helpers.DecimalJsonEncoder) - response = HttpResponse(data, 'application/json') - else: - help_message = { - ('error'): _('Please make sure your height is within the appropriate range.'), - } - if request.user.userprofile.use_metric: - help_message['cm_range'] = _('140 to 230') - else: - help_message['in_range'] = _('56 to 90') - data = json.dumps(help_message) - response = HttpResponse(data, 'application/json') - response.status_code = 406 - # Return the results to the client - return response - - -def chart_data(request): - """ - Returns the data to render the BMI chart - - The individual values taken from - * http://apps.who.int/bmi/index.jsp?introPage=intro_3.html - * https://de.wikipedia.org/wiki/Body-Mass-Index - """ - - if request.user.userprofile.use_metric: - data = json.dumps( - [ - {'key': 'filler', 'height': 150, 'weight': 30}, - {'key': 'filler', 'height': 200, 'weight': 30}, - {'key': 'severe_thinness', 'height': 150, 'weight': 35.978}, - {'key': 'severe_thinness', 'height': 200, 'weight': 63.960}, - {'key': 'moderate_thinness', 'height': 150, 'weight': 38.228}, - {'key': 'moderate_thinness', 'height': 200, 'weight': 67.960}, - {'key': 'mild_thinness', 'height': 150, 'weight': 41.603}, - {'key': 'mild_thinness', 'height': 200, 'weight': 73.960}, - {'key': 'normal_range', 'height': 150, 'weight': 56.228}, - {'key': 'normal_range', 'height': 200, 'weight': 99.960}, - {'key': 'pre_obese', 'height': 150, 'weight': 67.478}, - {'key': 'pre_obese', 'height': 200, 'weight': 119.960}, - {'key': 'obese_class_1', 'height': 150, 'weight': 78.728}, - {'key': 'obese_class_1', 'height': 200, 'weight': 139.960}, - {'key': 'obese_class_2', 'height': 150, 'weight': 89.978}, - {'key': 'obese_class_2', 'height': 200, 'weight': 159.960}, - {'key': 'obese_class_3', 'height': 150, 'weight': 90}, - {'key': 'obese_class_3', 'height': 200, 'weight': 190}, - ] - ) - else: - data = json.dumps( - [ - {'key': 'filler', 'height': 150, 'weight': 66.139}, - {'key': 'filler', 'height': 200, 'weight': 66.139}, - {'key': 'severe_thinness', 'height': 150, 'weight': 79.317}, - {'key': 'severe_thinness', 'height': 200, 'weight': 141.008}, - {'key': 'moderate_thinness', 'height': 150, 'weight': 84.277}, - {'key': 'moderate_thinness', 'height': 200, 'weight': 149.826}, - {'key': 'mild_thinness', 'height': 150, 'weight': 91.718}, - {'key': 'mild_thinness', 'height': 200, 'weight': 163.054}, - {'key': 'normal_range', 'height': 150, 'weight': 123.960}, - {'key': 'normal_range', 'height': 200, 'weight': 220.374}, - {'key': 'pre_obese', 'height': 150, 'weight': 148.762}, - {'key': 'pre_obese', 'height': 200, 'weight': 264.467}, - {'key': 'obese_class_1', 'height': 150, 'weight': 173.564}, - {'key': 'obese_class_1', 'height': 200, 'weight': 308.559}, - {'key': 'obese_class_2', 'height': 150, 'weight': 198.366}, - {'key': 'obese_class_2', 'height': 200, 'weight': 352.651}, - {'key': 'obese_class_3', 'height': 150, 'weight': 198.416}, - {'key': 'obese_class_3', 'height': 200, 'weight': 352.740}, - ] - ) - - # Return the results to the client - return HttpResponse(data, 'application/json') diff --git a/wger/settings_global.py b/wger/settings_global.py index 80c8245bc..0deb93c0a 100644 --- a/wger/settings_global.py +++ b/wger/settings_global.py @@ -461,7 +461,8 @@ REST_FRAMEWORK = { ), 'DEFAULT_THROTTLE_CLASSES': ['rest_framework.throttling.ScopedRateThrottle'], 'DEFAULT_THROTTLE_RATES': { - 'login': '10/min' + 'login': '10/min', + 'registration': '5/min' }, 'DEFAULT_SCHEMA_CLASS': 'drf_spectacular.openapi.AutoSchema', } diff --git a/wger/utils/context_processor.py b/wger/utils/context_processor.py index 81cb46aff..737f20929 100644 --- a/wger/utils/context_processor.py +++ b/wger/utils/context_processor.py @@ -30,7 +30,6 @@ def processor(request): full_path = request.get_full_path() i18n_path = {} static_path = static('images/logos/logo-social.png') - is_ajax = request.META.get('HTTP_X_REQUESTED_WITH') == 'XMLHttpRequest' for lang in settings.AVAILABLE_LANGUAGES: i18n_path[lang[0]] = '/{0}/{1}'.format(lang[0], '/'.join(full_path.split('/')[2:])) @@ -72,9 +71,6 @@ def processor(request): # current gym, if available 'custom_header': get_custom_header(request), - - # Template to extend in forms, kinda ugly but will be removed in the future - 'extend_template': 'base_empty.html' if is_ajax else 'base.html', } # yapf: enable diff --git a/wger/weight/api/filtersets.py b/wger/weight/api/filtersets.py new file mode 100644 index 000000000..831b9808f --- /dev/null +++ b/wger/weight/api/filtersets.py @@ -0,0 +1,30 @@ +# This file is part of wger Workout Manager. +# +# wger Workout Manager is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# wger Workout Manager is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with Workout Manager. If not, see . + +# Third Party +from django_filters import rest_framework as filters + +# wger +from wger.weight.models import WeightEntry + + +class WeightEntryFilterSet(filters.FilterSet): + class Meta: + model = WeightEntry + fields = { + 'id': ['exact', 'in'], + 'weight': ['exact', 'gt', 'gte', 'lt', 'lte'], + 'date': ['exact', 'gt', 'gte', 'lt', 'lte'], + } diff --git a/wger/weight/api/views.py b/wger/weight/api/views.py index 850ad9efb..70c0f05d9 100644 --- a/wger/weight/api/views.py +++ b/wger/weight/api/views.py @@ -19,6 +19,7 @@ from rest_framework import viewsets # wger +from wger.weight.api.filtersets import WeightEntryFilterSet from wger.weight.api.serializers import WeightEntrySerializer from wger.weight.models import WeightEntry @@ -32,7 +33,7 @@ class WeightEntryViewSet(viewsets.ModelViewSet): is_private = True ordering_fields = '__all__' - filterset_fields = ('date', 'weight') + filterset_class = WeightEntryFilterSet def get_queryset(self): """ diff --git a/yarn.lock b/yarn.lock index 62f94b060..0c66271c1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7,283 +7,30 @@ resolved "https://registry.yarnpkg.com/@types/jquery/-/jquery-2.0.54.tgz#d7999245f77c3fab5d84e7d32b8a6c20bfd1f072" integrity sha512-D/PomKwNkDfSKD13DEVQT/pq2TUjN54c6uB341fEZanIzkjfGe7UaFuuaLZbpEiS5j7Wk2MUHAZqZIoECw29lg== -Sortable@RubaXa/Sortable#1.15.2: - version "1.15.2" - uid "07708fa1e7d9cf9d4563a7b1a09f7a47771522ed" - resolved "https://codeload.github.com/RubaXa/Sortable/tar.gz/07708fa1e7d9cf9d4563a7b1a09f7a47771522ed" - bootstrap@5.3.3: version "5.3.3" resolved "https://registry.yarnpkg.com/bootstrap/-/bootstrap-5.3.3.tgz#de35e1a765c897ac940021900fcbb831602bac38" integrity sha512-8HLCdWgyoMguSO9o+aH+iuZ+aht+mzW0u3HIMzVu7Srrpv7EBBxTnrFlSCskwdY1+EOFQSm7uMJhNQHkdPcmjg== -commander@7: - version "7.2.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" - integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== - components-font-awesome@5.9.0: version "5.9.0" resolved "https://registry.yarnpkg.com/components-font-awesome/-/components-font-awesome-5.9.0.tgz#02242f85946f0a6ab46870547f4c54d11e94ef75" integrity sha512-AjY5WwmKripvroQ1oYpCC4eK8efavSKUGN/ATgwcbyz/kRmojslH8l6Mrlxq071bdzBrZvCxi+RKgU5ao3bU+A== -"d3-array@2 - 3", "d3-array@2.10.0 - 3", "d3-array@2.5.0 - 3", d3-array@3, d3-array@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-3.2.0.tgz#15bf96cd9b7333e02eb8de8053d78962eafcff14" - integrity sha512-3yXFQo0oG3QCxbF06rMPFyGRMGJNS7NvsV1+2joOjbBE+9xvWQ8+GcMJAjRCzw06zQ3/arXeJgbPYcjUCuC+3g== - dependencies: - internmap "1 - 2" - -d3-axis@3: - version "3.0.0" - resolved "https://registry.yarnpkg.com/d3-axis/-/d3-axis-3.0.0.tgz#c42a4a13e8131d637b745fc2973824cfeaf93322" - integrity sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw== - -d3-brush@3: - version "3.0.0" - resolved "https://registry.yarnpkg.com/d3-brush/-/d3-brush-3.0.0.tgz#6f767c4ed8dcb79de7ede3e1c0f89e63ef64d31c" - integrity sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ== - dependencies: - d3-dispatch "1 - 3" - d3-drag "2 - 3" - d3-interpolate "1 - 3" - d3-selection "3" - d3-transition "3" - -d3-chord@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-chord/-/d3-chord-3.0.1.tgz#d156d61f485fce8327e6abf339cb41d8cbba6966" - integrity sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g== - dependencies: - d3-path "1 - 3" - -"d3-color@1 - 3", d3-color@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-3.0.1.tgz#03316e595955d1fcd39d9f3610ad41bb90194d0a" - integrity sha512-6/SlHkDOBLyQSJ1j1Ghs82OIUXpKWlR0hCsw0XrLSQhuUPuCSmLQ1QPH98vpnQxMUQM2/gfAkUEWsupVpd9JGw== - -d3-contour@4: - version "4.0.0" - resolved "https://registry.yarnpkg.com/d3-contour/-/d3-contour-4.0.0.tgz#5a1337c6da0d528479acdb5db54bc81a0ff2ec6b" - integrity sha512-7aQo0QHUTu/Ko3cP9YK9yUTxtoDEiDGwnBHyLxG5M4vqlBkO/uixMRele3nfsfj6UXOcuReVpVXzAboGraYIJw== - dependencies: - d3-array "^3.2.0" - -d3-delaunay@6: - version "6.0.2" - resolved "https://registry.yarnpkg.com/d3-delaunay/-/d3-delaunay-6.0.2.tgz#7fd3717ad0eade2fc9939f4260acfb503f984e92" - integrity sha512-IMLNldruDQScrcfT+MWnazhHbDJhcRJyOEBAJfwQnHle1RPh6WDuLvxNArUju2VSMSUuKlY5BGHRJ2cYyoFLQQ== - dependencies: - delaunator "5" - -"d3-dispatch@1 - 3", d3-dispatch@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-dispatch/-/d3-dispatch-3.0.1.tgz#5fc75284e9c2375c36c839411a0cf550cbfc4d5e" - integrity sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg== - -"d3-drag@2 - 3", d3-drag@3: - version "3.0.0" - resolved "https://registry.yarnpkg.com/d3-drag/-/d3-drag-3.0.0.tgz#994aae9cd23c719f53b5e10e3a0a6108c69607ba" - integrity sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg== - dependencies: - d3-dispatch "1 - 3" - d3-selection "3" - -"d3-dsv@1 - 3", d3-dsv@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-dsv/-/d3-dsv-3.0.1.tgz#c63af978f4d6a0d084a52a673922be2160789b73" - integrity sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q== - dependencies: - commander "7" - iconv-lite "0.6" - rw "1" - -"d3-ease@1 - 3", d3-ease@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-3.0.1.tgz#9658ac38a2140d59d346160f1f6c30fda0bd12f4" - integrity sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w== - -d3-fetch@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-fetch/-/d3-fetch-3.0.1.tgz#83141bff9856a0edb5e38de89cdcfe63d0a60a22" - integrity sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw== - dependencies: - d3-dsv "1 - 3" - -d3-force@3: - version "3.0.0" - resolved "https://registry.yarnpkg.com/d3-force/-/d3-force-3.0.0.tgz#3e2ba1a61e70888fe3d9194e30d6d14eece155c4" - integrity sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg== - dependencies: - d3-dispatch "1 - 3" - d3-quadtree "1 - 3" - d3-timer "1 - 3" - -"d3-format@1 - 3", d3-format@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-3.0.1.tgz#e41b81b2ab79277141ec1404aa5d05001da64084" - integrity sha512-hdL7+HBIohpgfolhBxr1KX47VMD6+vVD/oEFrxk5yhmzV2prk99EkFKYpXuhVkFpTgHdJ6/4bYcjdLPPXV4tIA== - -d3-geo@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-geo/-/d3-geo-3.0.1.tgz#4f92362fd8685d93e3b1fae0fd97dc8980b1ed7e" - integrity sha512-Wt23xBych5tSy9IYAM1FR2rWIBFWa52B/oF/GYe5zbdHrg08FU8+BuI6X4PvTwPDdqdAdq04fuWJpELtsaEjeA== - dependencies: - d3-array "2.5.0 - 3" - -d3-hierarchy@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-3.0.1.tgz#0365342d54972e38ca05e9143e0ab1c60846b3b5" - integrity sha512-RlLTaofEoOrMK1JoXYIGhKTkJFI/6rFrYPgxy6QlZo2BcVc4HGTqEU0rPpzuMq5T/5XcMtAzv1XiLA3zRTfygw== - -"d3-interpolate@1 - 3", "d3-interpolate@1.2.0 - 3", d3-interpolate@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-3.0.1.tgz#3c47aa5b32c5b3dfb56ef3fd4342078a632b400d" - integrity sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g== - dependencies: - d3-color "1 - 3" - -"d3-path@1 - 3", d3-path@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-3.0.1.tgz#f09dec0aaffd770b7995f1a399152bf93052321e" - integrity sha512-gq6gZom9AFZby0YLduxT1qmrp4xpBA1YZr19OI717WIdKE2OM5ETq5qrHLb301IgxhLwcuxvGZVLeeWc/k1I6w== - -d3-polygon@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-polygon/-/d3-polygon-3.0.1.tgz#0b45d3dd1c48a29c8e057e6135693ec80bf16398" - integrity sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg== - -"d3-quadtree@1 - 3", d3-quadtree@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-quadtree/-/d3-quadtree-3.0.1.tgz#6dca3e8be2b393c9a9d514dabbd80a92deef1a4f" - integrity sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw== - -d3-random@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-random/-/d3-random-3.0.1.tgz#d4926378d333d9c0bfd1e6fa0194d30aebaa20f4" - integrity sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ== - -d3-scale-chromatic@3: - version "3.0.0" - resolved "https://registry.yarnpkg.com/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz#15b4ceb8ca2bb0dcb6d1a641ee03d59c3b62376a" - integrity sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g== - dependencies: - d3-color "1 - 3" - d3-interpolate "1 - 3" - -d3-scale@4: - version "4.0.0" - resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-4.0.0.tgz#294377ea1d7e5a31509ee648b98d7916ac0b34e3" - integrity sha512-foHQYKpWQcyndH1CGoHdUC4PECxTxonzwwBXGT8qu+Drb1FIc6ON6dG2P5f4hRRMkLiIKeWK7iFtdznDUrnuPQ== - dependencies: - d3-array "2.10.0 - 3" - d3-format "1 - 3" - d3-interpolate "1.2.0 - 3" - d3-time "2.1.1 - 3" - d3-time-format "2 - 4" - -"d3-selection@2 - 3", d3-selection@3: - version "3.0.0" - resolved "https://registry.yarnpkg.com/d3-selection/-/d3-selection-3.0.0.tgz#c25338207efa72cc5b9bd1458a1a41901f1e1b31" - integrity sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ== - -d3-shape@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-3.0.1.tgz#9ccdfb28fd9b0d12f2d8aec234cd5c4a9ea27931" - integrity sha512-HNZNEQoDhuCrDWEc/BMbF/hKtzMZVoe64TvisFLDp2Iyj0UShB/E6/lBsLlJTfBMbYgftHj90cXJ0SEitlE6Xw== - dependencies: - d3-path "1 - 3" - -"d3-time-format@2 - 4", d3-time-format@4: - version "4.0.0" - resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-4.0.0.tgz#930ded86a9de761702344760d8a25753467f28b7" - integrity sha512-nzaCwlj+ZVBIlFuVOT1RmU+6xb/7D5IcnhHzHQcBgS/aTa5K9fWZNN5LCXA27LgF5WxoSNJqKBbLcGMtM6Ca6A== - dependencies: - d3-time "1 - 3" - -"d3-time@1 - 3", "d3-time@2.1.1 - 3", d3-time@3: - version "3.0.0" - resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-3.0.0.tgz#65972cb98ae2d4954ef5c932e8704061335d4975" - integrity sha512-zmV3lRnlaLI08y9IMRXSDshQb5Nj77smnfpnd2LrBa/2K281Jijactokeak14QacHs/kKq0AQ121nidNYlarbQ== - dependencies: - d3-array "2 - 3" - -"d3-timer@1 - 3", d3-timer@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-3.0.1.tgz#6284d2a2708285b1abb7e201eda4380af35e63b0" - integrity sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA== - -"d3-transition@2 - 3", d3-transition@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-transition/-/d3-transition-3.0.1.tgz#6869fdde1448868077fdd5989200cb61b2a1645f" - integrity sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w== - dependencies: - d3-color "1 - 3" - d3-dispatch "1 - 3" - d3-ease "1 - 3" - d3-interpolate "1 - 3" - d3-timer "1 - 3" - -d3-zoom@3: - version "3.0.0" - resolved "https://registry.yarnpkg.com/d3-zoom/-/d3-zoom-3.0.0.tgz#d13f4165c73217ffeaa54295cd6969b3e7aee8f3" - integrity sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw== - dependencies: - d3-dispatch "1 - 3" - d3-drag "2 - 3" - d3-interpolate "1 - 3" - d3-selection "2 - 3" - d3-transition "2 - 3" - -d3@^7.9.0: - version "7.9.0" - resolved "https://registry.yarnpkg.com/d3/-/d3-7.9.0.tgz#579e7acb3d749caf8860bd1741ae8d371070cd5d" - integrity sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA== - dependencies: - d3-array "3" - d3-axis "3" - d3-brush "3" - d3-chord "3" - d3-color "3" - d3-contour "4" - d3-delaunay "6" - d3-dispatch "3" - d3-drag "3" - d3-dsv "3" - d3-ease "3" - d3-fetch "3" - d3-force "3" - d3-format "3" - d3-geo "3" - d3-hierarchy "3" - d3-interpolate "3" - d3-path "3" - d3-polygon "3" - d3-quadtree "3" - d3-random "3" - d3-scale "4" - d3-scale-chromatic "3" - d3-selection "3" - d3-shape "3" - d3-time "3" - d3-time-format "4" - d3-timer "3" - d3-transition "3" - d3-zoom "3" - -datatables@^1.10.18: - version "1.10.18" - resolved "https://registry.yarnpkg.com/datatables/-/datatables-1.10.18.tgz#fee16e82aa70b17c5faf1a6954ac68f404f33a70" - integrity sha512-ntatMgS9NN6UMpwbmO+QkYJuKlVeMA2Mi0Gu/QxyIh+dW7ZjLSDhPT2tWlzjpIWEkDYgieDzS9Nu7bdQCW0sbQ== +datatables.net-bs5@^2.1.8: + version "2.1.8" + resolved "https://registry.yarnpkg.com/datatables.net-bs5/-/datatables.net-bs5-2.1.8.tgz#860717c4ee85ecb84812ba9a73fb1204aa2a68b6" + integrity sha512-YlGws8eI3iw/1AmKJH18+YMzm/UgGb6o9s14KAC24QT1/8anolm8GnVAgGcwUcvHm3hn1i8A5QXqgbqeMRINeg== dependencies: + datatables.net "2.1.8" jquery ">=1.7" -delaunator@5: - version "5.0.0" - resolved "https://registry.yarnpkg.com/delaunator/-/delaunator-5.0.0.tgz#60f052b28bd91c9b4566850ebf7756efe821d81b" - integrity sha512-AyLvtyJdbv/U1GkiS6gUUzclRoAY4Gs75qkMygJJhU75LW4DNuSF2RMzpxs9jw9Oz1BobHjTdkG3zdP55VxAqw== +datatables.net@2.1.8: + version "2.1.8" + resolved "https://registry.yarnpkg.com/datatables.net/-/datatables.net-2.1.8.tgz#9b020f18e927cc924d72411f62dc595cc688669b" + integrity sha512-47ULt+U4bcjbuGTpTlT6SnCuSFVRBxxdWa6X3NfvTObBJ2BZU0o+JUIl05wQ6cABNIavjbAV51gpgvFsMHL9zA== dependencies: - robust-predicates "^3.0.0" + jquery ">=1.7" desandro-matches-selector@^2.0.0: version "2.0.2" @@ -315,17 +62,10 @@ get-size@^2.0.2: resolved "https://registry.yarnpkg.com/get-size/-/get-size-2.0.3.tgz#54a1d0256b20ea7ac646516756202769941ad2ef" integrity sha512-lXNzT/h/dTjTxRbm9BXb+SGxxzkm97h/PCIKtlN/CBCxxmkkIVV21udumMS93MuVTDX583gqc94v3RjuHmI+2Q== -iconv-lite@0.6: - version "0.6.3" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" - integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== - dependencies: - safer-buffer ">= 2.1.2 < 3.0.0" - -"internmap@1 - 2": - version "2.0.1" - resolved "https://registry.yarnpkg.com/internmap/-/internmap-2.0.1.tgz#33d0fa016185397549fb1a14ea3dbe5a2949d1cd" - integrity sha512-Ujwccrj9FkGqjbY3iVoxD1VV+KdZZeENx0rphrtzmRXbFvkFO88L80BL/zeSIguX/7T+y8k04xqtgWgS5vxwxw== +htmx.org@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/htmx.org/-/htmx.org-2.0.3.tgz#83f76a53d3fc562fe839f0f57ee7cd5f75fe7b59" + integrity sha512-AeoJUAjkCVVajbfKX+3sVQBTCt8Ct4lif1T+z/tptTXo8+8yyq3QIMQQe/IT+R8ssfrO1I0DeX4CAronzCL6oA== jquery@>=1.7, jquery@^3.7.1: version "3.7.1" @@ -354,21 +94,6 @@ popper.js@^1.16.1: resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.16.1.tgz#2a223cb3dc7b6213d740e40372be40de43e65b1b" integrity sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ== -robust-predicates@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/robust-predicates/-/robust-predicates-3.0.1.tgz#ecde075044f7f30118682bd9fb3f123109577f9a" - integrity sha512-ndEIpszUHiG4HtDsQLeIuMvRsDnn8c8rYStabochtUeCvfuvNptb5TUbVD68LRAILPX7p9nqQGh4xJgn3EHS/g== - -rw@1: - version "1.3.3" - resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4" - integrity sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q= - -"safer-buffer@>= 2.1.2 < 3.0.0": - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - yarn@^1.22.22: version "1.22.22" resolved "https://registry.yarnpkg.com/yarn/-/yarn-1.22.22.tgz#ac34549e6aa8e7ead463a7407e1c7390f61a6610"