Date: Fri, 3 Nov 2023 19:19:18 +0100
Subject: [PATCH 037/114] Add OpenProjectIssueProvider and
OpenProjectProviderMixin
---
pyproject.toml | 1 +
rdmo/projects/models/integration.py | 10 +
rdmo/projects/providers.py | 257 +++++++++++++++---
.../projects/issue_send_integrations.html | 2 +-
.../projects/project_detail_integrations.html | 2 +-
rdmo/services/providers.py | 92 ++++++-
6 files changed, 313 insertions(+), 51 deletions(-)
diff --git a/pyproject.toml b/pyproject.toml
index 9665e8e7c5..d1d9384f89 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -59,6 +59,7 @@ dependencies = [
"iso8601~=2.0",
"markdown~=3.4",
"pypandoc~=1.11",
+ "requests-toolbelt~=1.0",
"rules~=3.3",
]
diff --git a/rdmo/projects/models/integration.py b/rdmo/projects/models/integration.py
index b8cdc52169..14fc689c81 100644
--- a/rdmo/projects/models/integration.py
+++ b/rdmo/projects/models/integration.py
@@ -36,6 +36,12 @@ def provider(self):
def get_absolute_url(self):
return reverse('project', kwargs={'pk': self.project.pk})
+ def get_option_value(self, key):
+ try:
+ return self.options.get(key=key).value
+ except IntegrationOption.DoesNotExist:
+ return None
+
def save_options(self, options):
for field in self.provider.fields:
try:
@@ -77,3 +83,7 @@ class Meta:
def __str__(self):
return f'{self.integration.project.title} / {self.integration.provider_key} / {self.key} = {self.value}'
+
+ @property
+ def title(self):
+ return self.key.title().replace('_', ' ')
diff --git a/rdmo/projects/providers.py b/rdmo/projects/providers.py
index a891ffc8ee..9efa2933c8 100644
--- a/rdmo/projects/providers.py
+++ b/rdmo/projects/providers.py
@@ -2,13 +2,19 @@
import json
from urllib.parse import quote
+from django.conf import settings
from django.core.exceptions import ObjectDoesNotExist
from django.http import Http404, HttpResponse, HttpResponseRedirect
from django.shortcuts import render
from django.utils.translation import gettext_lazy as _
from rdmo.core.plugins import Plugin
-from rdmo.services.providers import GitHubProviderMixin, GitLabProviderMixin, OauthProviderMixin
+from rdmo.services.providers import (
+ GitHubProviderMixin,
+ GitLabProviderMixin,
+ OauthProviderMixin,
+ OpenProjectProviderMixin,
+)
class IssueProvider(Plugin):
@@ -37,17 +43,13 @@ def send_issue(self, request, issue, integration, subject, message, attachments)
return self.post(request, url, data)
- def post_success(self, request, response):
+ def update_issue(self, request, remote_url):
from rdmo.projects.models import Integration, Issue, IssueResource
- # get the upstream url of the issue
- remote_url = self.get_issue_url(response)
-
# get the issue_id and integration_id from the session
issue_id = self.pop_from_session(request, 'issue_id')
integration_id = self.pop_from_session(request, 'integration_id')
- # update the issue in rdmo
try:
issue = Issue.objects.get(pk=issue_id)
issue.status = Issue.ISSUE_STATUS_IN_PROGRESS
@@ -60,6 +62,13 @@ def post_success(self, request, response):
except ObjectDoesNotExist:
pass
+ def post_success(self, request, response):
+ # get the upstream url of the issue
+ remote_url = self.get_issue_url(response)
+
+ # update the issue in rdmo
+ self.update_issue(request, remote_url)
+
return HttpResponseRedirect(remote_url)
def get_post_url(self, request, issue, integration, subject, message, attachments):
@@ -78,20 +87,8 @@ class GitHubIssueProvider(GitHubProviderMixin, OauthIssueProvider):
description = _('This integration allow the creation of issues in arbitrary GitHub repositories. '
'The upload of attachments is not supported by GitHub.')
- def get_repo(self, integration):
- try:
- return integration.options.get(key='repo').value
- except ObjectDoesNotExist:
- return None
-
- def get_secret(self, integration):
- try:
- return integration.options.get(key='secret').value
- except ObjectDoesNotExist:
- return None
-
def get_post_url(self, request, issue, integration, subject, message, attachments):
- repo = self.get_repo(integration)
+ repo = integration.get_option_value('repo')
if repo:
return f'https://api.github.com/repos/{repo}/issues'
@@ -105,7 +102,7 @@ def get_issue_url(self, response):
return response.json().get('html_url')
def webhook(self, request, integration):
- secret = self.get_secret(integration)
+ secret = integration.get_option_value('secret')
header_signature = request.headers.get('X-Hub-Signature')
if (secret is not None) and (header_signature is not None):
@@ -147,7 +144,7 @@ def fields(self):
{
'key': 'secret',
'placeholder': 'Secret (random) string',
- 'help': _('The secret for a GitHub webhook to close a task.'),
+ 'help': _('The secret for a GitHub webhook to close a task (optional).'),
'required': False,
'secret': True
}
@@ -163,20 +160,8 @@ def description(self):
return _(f'This integration allow the creation of issues in arbitrary repositories on {self.gitlab_url}. '
'The upload of attachments is not supported by GitLab.')
- def get_repo(self, integration):
- try:
- return integration.options.get(key='repo').value
- except ObjectDoesNotExist:
- return None
-
- def get_secret(self, integration):
- try:
- return integration.options.get(key='secret').value
- except ObjectDoesNotExist:
- return None
-
def get_post_url(self, request, issue, integration, subject, message, attachments):
- repo = self.get_repo(integration)
+ repo = integration.get_option_value('repo')
if repo:
return '{}/api/v4/projects/{}/issues'.format(self.gitlab_url, quote(repo, safe=''))
@@ -190,7 +175,7 @@ def get_issue_url(self, response):
return response.json().get('web_url')
def webhook(self, request, integration):
- secret = self.get_secret(integration)
+ secret = integration.get_option_value('secret')
header_token = request.headers.get('X-Gitlab-Token')
if (secret is not None) and (header_token is not None) and (header_token == secret):
@@ -229,7 +214,207 @@ def fields(self):
{
'key': 'secret',
'placeholder': 'Secret (random) string',
- 'help': _('The secret for a GitLab webhook to close a task.'),
+ 'help': _('The secret for a GitLab webhook to close a task (optional).'),
+ 'required': False,
+ 'secret': True
+ }
+ ]
+
+
+class OpenProjectIssueProvider(OpenProjectProviderMixin, OauthIssueProvider):
+ add_label = _('Add OpenProject integration')
+ send_label = _('Send to OpenProject')
+
+ status_map = {
+ 'New': 'open',
+ 'To be scheduled': 'in_progress',
+ 'Scheduled': 'in_progress',
+ 'In progress': 'in_progress',
+ 'Closed': 'closed',
+ 'On hold': 'in_progress',
+ 'Rejected': 'closed'
+ }
+
+ @property
+ def description(self):
+ return _(f'This integration allow the creation of issues on {self.openproject_url}.')
+
+ def send_issue(self, request, issue, integration, subject, message, attachments):
+ self.store_in_session(request, 'issue_id', issue.id)
+ self.store_in_session(request, 'integration_id', integration.id)
+ self.store_in_session(request, 'project_name', integration.get_option_value('project_name'))
+ self.store_in_session(request, 'work_package_type', integration.get_option_value('work_package_type'))
+ self.store_in_session(request, 'subject', subject)
+ self.store_in_session(request, 'message', message)
+ self.store_in_session(request, 'attachments', attachments)
+
+ return self.get_project_id(request)
+
+ def get_project_id(self, request):
+ project_name = self.pop_from_session(request, 'project_name')
+ query = quote(json.dumps([{
+ 'name_and_identifier': {
+ 'operator': '=',
+ 'values': [project_name]
+ }
+ }]))
+ url = f'{self.api_url}/projects?filters={query}'
+
+ return self.get(request, url)
+
+ def get_type_id(self, request):
+ url = f'{self.api_url}/types'
+ return self.get(request, url)
+
+ def post_issue(self, request):
+ project_id = self.get_from_session(request, 'project_id')
+ type_id = self.get_from_session(request, 'type_id')
+ url = f'{self.api_url}/projects/{project_id}/work_packages'
+ data = {
+ '_links': {
+ 'type': {
+ 'href': f'/api/v3/types/{type_id}'
+ }
+ },
+ 'subject': self.pop_from_session(request, 'subject'),
+ 'description': {
+ 'format': 'plain',
+ 'raw': self.pop_from_session(request, 'message'),
+ }
+ }
+
+ return self.post(request, url, data)
+
+ def post_attachment(self, request):
+ work_package_id = self.get_from_session(request, 'work_package_id')
+ attachments = self.pop_from_session(request, 'attachments')
+
+ if attachments:
+ file_name, file_content, file_type = attachments[0]
+ url = f'{self.api_url}/work_packages/{work_package_id}/attachments'
+ multipart = {
+ 'metadata': json.dumps({'fileName': file_name }),
+ 'file': (file_name, file_content, file_type)
+ }
+
+ self.store_in_session(request, 'attachments', attachments[1:])
+ return self.post(request, url, multipart=multipart)
+
+ else:
+ # there are no attachments left, get the url of the work_package
+ remote_url = self.get_work_package_url(work_package_id)
+
+ # update the issue in rdmo
+ self.update_issue(request, remote_url)
+
+ # redirect to the work package in open project
+ return HttpResponseRedirect(remote_url)
+
+ def get_success(self, request, response):
+ if '/projects' in response.url:
+ try:
+ project_id = response.json()['_embedded']['elements'][0]['id']
+ self.store_in_session(request, 'project_id', project_id)
+ return self.get_type_id(request)
+
+ except (KeyError, IndexError):
+ return render(request, 'core/error.html', {
+ 'title': _('Integration error'),
+ 'errors': [_('OpenProject project could not be found.')]
+ }, status=200)
+
+ elif '/types' in response.url:
+ try:
+ work_package_type = self.pop_from_session(request, 'work_package_type')
+ for element in response.json()['_embedded']['elements']:
+ if element['name'] == work_package_type:
+ self.store_in_session(request, 'type_id', element['id'])
+ return self.post_issue(request)
+
+ except KeyError:
+ pass
+
+ return render(request, 'core/error.html', {
+ 'title': _('Integration error'),
+ 'errors': [_('OpenProject work package type could not be found.')]
+ }, status=200)
+
+ elif response.request.method == 'POST':
+ pass
+
+ # return an error if everything failed
+ return render(request, 'core/error.html', {
+ 'title': _('Integration error'),
+ 'errors': [_('The Integration is not configured correctly.')]
+ }, status=200)
+
+ def post_success(self, request, response):
+ if '/projects/' in response.url:
+ # get the upstream url of the issue
+ work_package_id = response.json()['id']
+ self.store_in_session(request, 'work_package_id', work_package_id)
+
+ # post the next attachment
+ return self.post_attachment(request)
+
+ def get_work_package_url(self, work_package_id):
+ return f'{self.openproject_url}/work_packages/{work_package_id}'
+
+ def webhook(self, request, integration):
+ secret = integration.get_option_value('secret')
+ header_signature = request.headers.get('X-Op-Signature')
+
+ if (secret is not None) and (header_signature is not None):
+ body_signature = 'sha1=' + hmac.new(secret.encode(), request.body, 'sha1').hexdigest()
+
+ if hmac.compare_digest(header_signature, body_signature):
+ try:
+ payload = json.loads(request.body.decode())
+ action = payload.get('action')
+ work_package = payload.get('work_package')
+
+ if action and work_package:
+ work_package_id = work_package.get('id')
+ work_package_url = self.get_work_package_url(work_package_id)
+ work_package_status = work_package.get('_links', {}).get('status', {}).get('title')
+
+ try:
+ issue_resource = integration.resources.get(url=work_package_url)
+ status_map = self.status_map
+ status_map.update(settings.OPENPROJECT_PROVIDER.get('status_map', {}))
+
+ if work_package_status in status_map:
+ print('-->' , status_map[work_package_status])
+ issue_resource.issue.status = status_map[work_package_status]
+ issue_resource.issue.save()
+
+ except ObjectDoesNotExist:
+ pass
+
+ return HttpResponse(status=200)
+
+ except json.decoder.JSONDecodeError as e:
+ return HttpResponse(e, status=400)
+
+ raise Http404
+
+ @property
+ def fields(self):
+ return [
+ {
+ 'key': 'project_name',
+ 'placeholder': 'Project',
+ 'help': _('The name of the OpenProject url')
+ },
+ {
+ 'key': 'work_package_type',
+ 'placeholder': 'Work Package Type',
+ 'help': _('The type of workpackage to create, e.g. "Task"')
+ },
+ {
+ 'key': 'secret',
+ 'placeholder': 'Secret (random) string',
+ 'help': _('The secret for a OpenProject webhook to close a task (optional).'),
'required': False,
'secret': True
}
diff --git a/rdmo/projects/templates/projects/issue_send_integrations.html b/rdmo/projects/templates/projects/issue_send_integrations.html
index ac7d5e8137..92a43b97c7 100644
--- a/rdmo/projects/templates/projects/issue_send_integrations.html
+++ b/rdmo/projects/templates/projects/issue_send_integrations.html
@@ -18,7 +18,7 @@ {% trans 'Send via integration' %}
{% for option in integration.options.all %}
{% if not option.secret %}
- {{ option.key.title }}: {{ option.value }}
+ {{ option.title }}: {{ option.value }}
{% endif %}
{% endfor %}
diff --git a/rdmo/projects/templates/projects/project_detail_integrations.html b/rdmo/projects/templates/projects/project_detail_integrations.html
index a48d2ce852..08e5f34ad7 100644
--- a/rdmo/projects/templates/projects/project_detail_integrations.html
+++ b/rdmo/projects/templates/projects/project_detail_integrations.html
@@ -32,7 +32,7 @@ {% trans 'Integrations' %}
{% for option in integration.options.all %}
{% if not option.secret %}
- {{ option.key.title }}: {{ option.value }}
+ {{ option.title }}: {{ option.value }}
{% endif %}
{% endfor %}
diff --git a/rdmo/services/providers.py b/rdmo/services/providers.py
index 41b6530224..8819f60860 100644
--- a/rdmo/services/providers.py
+++ b/rdmo/services/providers.py
@@ -9,6 +9,7 @@
from django.utils.translation import gettext_lazy as _
import requests
+from requests_toolbelt.multipart.encoder import MultipartEncoder
logger = logging.getLogger(__name__)
@@ -25,14 +26,14 @@ def get(self, request, url):
response = requests.get(url, headers=self.get_authorization_headers(access_token))
if response.status_code == 401:
- logger.warn('get forbidden: %s (%s)', response.content, response.status_code)
+ logger.warning('get forbidden: %s (%s)', response.content, response.status_code)
else:
try:
response.raise_for_status()
return self.get_success(request, response)
except requests.HTTPError:
- logger.warn('get error: %s (%s)', response.content, response.status_code)
+ logger.warning('get error: %s (%s)', response.content, response.status_code)
return render(request, 'core/error.html', {
'title': _('OAuth error'),
@@ -40,27 +41,35 @@ def get(self, request, url):
}, status=200)
# if the above did not work authorize first
- self.store_in_session(request, 'request', ('get', url, {}))
+ self.store_in_session(request, 'request', ('get', url))
return self.authorize(request)
- def post(self, request, url, data):
+ def post(self, request, url, json=None, files=None, multipart=None):
# get access token from the session
access_token = self.get_from_session(request, 'access_token')
if access_token:
# if the access_token is available post to the upstream service
- logger.debug('post: %s %s', url, data)
-
- response = requests.post(url, json=data, headers=self.get_authorization_headers(access_token))
+ logger.debug('post: %s %s', url, json, files)
+
+ if multipart is not None:
+ multipart_encoder = MultipartEncoder(fields=multipart)
+ headers = self.get_authorization_headers(access_token)
+ headers['Content-Type'] = multipart_encoder.content_type
+ response = requests.post(url, data=multipart_encoder, headers=headers)
+ elif files is not None:
+ response = requests.post(url, files=files, headers=self.get_authorization_headers(access_token))
+ else:
+ response = requests.post(url, json=json, headers=self.get_authorization_headers(access_token))
if response.status_code == 401:
- logger.warn('post forbidden: %s (%s)', response.content, response.status_code)
+ logger.warning('post forbidden: %s (%s)', response.content, response.status_code)
else:
try:
response.raise_for_status()
return self.post_success(request, response)
except requests.HTTPError:
- logger.warn('post error: %s (%s)', response.content, response.status_code)
+ logger.warning('post error: %s (%s)', response.content, response.status_code)
return render(request, 'core/error.html', {
'title': _('OAuth error'),
@@ -68,7 +77,7 @@ def post(self, request, url, data):
}, status=200)
# if the above did not work authorize first
- self.store_in_session(request, 'request', ('post', url, data))
+ self.store_in_session(request, 'request', ('post', url, json, files, multipart))
return self.authorize(request)
def authorize(self, request):
@@ -105,11 +114,11 @@ def callback(self, request):
# get post data from session
try:
- method, url, data = self.pop_from_session(request, 'request')
+ method, *args = self.pop_from_session(request, 'request')
if method == 'get':
- return self.get(request, url)
+ return self.get(request, *args)
elif method == 'post':
- return self.post(request, url, data)
+ return self.post(request, *args)
except ValueError:
pass
@@ -201,6 +210,9 @@ def get_callback_params(self, request):
'code': request.GET.get('code')
}
+ def get_error_message(self, response):
+ return response.json().get('message')
+
class GitLabProviderMixin(OauthProviderMixin):
@@ -251,3 +263,57 @@ def get_callback_params(self, request):
'grant_type': 'authorization_code',
'redirect_uri': request.build_absolute_uri(self.redirect_path)
}
+
+
+class OpenProjectProviderMixin(OauthProviderMixin):
+
+ @property
+ def openproject_url(self):
+ return settings.OPENPROJECT_PROVIDER['openproject_url'].strip('/')
+
+ @property
+ def authorize_url(self):
+ return f'{self.openproject_url}/oauth/authorize'
+
+ @property
+ def token_url(self):
+ return f'{self.openproject_url}/oauth/token'
+
+ @property
+ def api_url(self):
+ return f'{self.openproject_url}/api/v3'
+
+ @property
+ def client_id(self):
+ return settings.OPENPROJECT_PROVIDER['client_id']
+
+ @property
+ def client_secret(self):
+ return settings.OPENPROJECT_PROVIDER['client_secret']
+
+ @property
+ def redirect_path(self):
+ return reverse('oauth_callback', args=['openproject'])
+
+ def get_authorize_params(self, request, state):
+ return {
+ 'authorize_url': self.authorize_url,
+ 'client_id': self.client_id,
+ 'redirect_uri': request.build_absolute_uri(self.redirect_path),
+ 'response_type': 'code',
+ 'scope': 'api_v3',
+ 'state': state,
+ }
+
+ def get_callback_data(self, request):
+ return {
+ 'token_url': self.token_url,
+ 'client_id': self.client_id,
+ 'client_secret': self.client_secret,
+ 'code': request.GET.get('code'),
+ 'grant_type': 'authorization_code',
+ 'redirect_uri': request.build_absolute_uri(self.redirect_path)
+ }
+
+ def get_error_message(self, response):
+ return response.json().get('message')
From a9ee9306e12873785afb06221b38a17ccead8415 Mon Sep 17 00:00:00 2001
From: Jochen Klar
Date: Thu, 16 Nov 2023 19:41:34 +0100
Subject: [PATCH 038/114] Move GitHubIssueProvider, GitLabIssueProvider, and
OpenProjectIssueProvider to seperate repositories
---
pyproject.toml | 1 -
rdmo/projects/forms.py | 4 +-
rdmo/projects/providers.py | 356 +------------------------------------
rdmo/services/providers.py | 151 ----------------
4 files changed, 6 insertions(+), 506 deletions(-)
diff --git a/pyproject.toml b/pyproject.toml
index d1d9384f89..9665e8e7c5 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -59,7 +59,6 @@ dependencies = [
"iso8601~=2.0",
"markdown~=3.4",
"pypandoc~=1.11",
- "requests-toolbelt~=1.0",
"rules~=3.3",
]
diff --git a/rdmo/projects/forms.py b/rdmo/projects/forms.py
index 4ac7d42ab2..c1ff1145a1 100644
--- a/rdmo/projects/forms.py
+++ b/rdmo/projects/forms.py
@@ -278,8 +278,10 @@ def __init__(self, *args, **kwargs):
if field.get('placeholder'):
attrs = {'placeholder': field.get('placeholder')}
+
self.fields[field.get('key')] = forms.CharField(widget=forms.TextInput(attrs=attrs),
- initial=initial, required=field.get('required', True))
+ initial=initial, required=field.get('required', True),
+ help_text=field.get('help'))
def save(self):
# the the project and the provider_key
diff --git a/rdmo/projects/providers.py b/rdmo/projects/providers.py
index 9efa2933c8..1c11db028a 100644
--- a/rdmo/projects/providers.py
+++ b/rdmo/projects/providers.py
@@ -1,20 +1,10 @@
-import hmac
-import json
-from urllib.parse import quote
-
-from django.conf import settings
from django.core.exceptions import ObjectDoesNotExist
-from django.http import Http404, HttpResponse, HttpResponseRedirect
+from django.http import HttpResponseRedirect
from django.shortcuts import render
from django.utils.translation import gettext_lazy as _
from rdmo.core.plugins import Plugin
-from rdmo.services.providers import (
- GitHubProviderMixin,
- GitLabProviderMixin,
- OauthProviderMixin,
- OpenProjectProviderMixin,
-)
+from rdmo.services.providers import OauthProviderMixin
class IssueProvider(Plugin):
@@ -38,7 +28,7 @@ def send_issue(self, request, issue, integration, subject, message, attachments)
if url is None or data is None:
return render(request, 'core/error.html', {
'title': _('Integration error'),
- 'errors': [_('The Integration is not configured correctly.') % message]
+ 'errors': [_('The Integration is not configured correctly.')]
}, status=200)
return self.post(request, url, data)
@@ -79,343 +69,3 @@ def get_post_data(self, request, issue, integration, subject, message, attachmen
def get_issue_url(self, response):
raise NotImplementedError
-
-
-class GitHubIssueProvider(GitHubProviderMixin, OauthIssueProvider):
- add_label = _('Add GitHub integration')
- send_label = _('Send to GitHub')
- description = _('This integration allow the creation of issues in arbitrary GitHub repositories. '
- 'The upload of attachments is not supported by GitHub.')
-
- def get_post_url(self, request, issue, integration, subject, message, attachments):
- repo = integration.get_option_value('repo')
- if repo:
- return f'https://api.github.com/repos/{repo}/issues'
-
- def get_post_data(self, request, issue, integration, subject, message, attachments):
- return {
- 'title': subject,
- 'body': message
- }
-
- def get_issue_url(self, response):
- return response.json().get('html_url')
-
- def webhook(self, request, integration):
- secret = integration.get_option_value('secret')
- header_signature = request.headers.get('X-Hub-Signature')
-
- if (secret is not None) and (header_signature is not None):
- body_signature = 'sha1=' + hmac.new(secret.encode(), request.body, 'sha1').hexdigest()
-
- if hmac.compare_digest(header_signature, body_signature):
- try:
- payload = json.loads(request.body.decode())
- action = payload.get('action')
- issue_url = payload.get('issue', {}).get('html_url')
-
- if action and issue_url:
- try:
- issue_resource = integration.resources.get(url=issue_url)
- if action == 'closed':
- issue_resource.issue.status = issue_resource.issue.ISSUE_STATUS_CLOSED
- else:
- issue_resource.issue.status = issue_resource.issue.ISSUE_STATUS_IN_PROGRESS
-
- issue_resource.issue.save()
- except ObjectDoesNotExist:
- pass
-
- return HttpResponse(status=200)
-
- except json.decoder.JSONDecodeError as e:
- return HttpResponse(e, status=400)
-
- raise Http404
-
- @property
- def fields(self):
- return [
- {
- 'key': 'repo',
- 'placeholder': 'user_name/repo_name',
- 'help': _('The GitHub repository to send issues to.')
- },
- {
- 'key': 'secret',
- 'placeholder': 'Secret (random) string',
- 'help': _('The secret for a GitHub webhook to close a task (optional).'),
- 'required': False,
- 'secret': True
- }
- ]
-
-
-class GitLabIssueProvider(GitLabProviderMixin, OauthIssueProvider):
- add_label = _('Add GitLab integration')
- send_label = _('Send to GitLab')
-
- @property
- def description(self):
- return _(f'This integration allow the creation of issues in arbitrary repositories on {self.gitlab_url}. '
- 'The upload of attachments is not supported by GitLab.')
-
- def get_post_url(self, request, issue, integration, subject, message, attachments):
- repo = integration.get_option_value('repo')
- if repo:
- return '{}/api/v4/projects/{}/issues'.format(self.gitlab_url, quote(repo, safe=''))
-
- def get_post_data(self, request, issue, integration, subject, message, attachments):
- return {
- 'title': subject,
- 'description': message
- }
-
- def get_issue_url(self, response):
- return response.json().get('web_url')
-
- def webhook(self, request, integration):
- secret = integration.get_option_value('secret')
- header_token = request.headers.get('X-Gitlab-Token')
-
- if (secret is not None) and (header_token is not None) and (header_token == secret):
- try:
- payload = json.loads(request.body.decode())
- state = payload.get('object_attributes', {}).get('state')
- issue_url = payload.get('object_attributes', {}).get('url')
-
- if state and issue_url:
- try:
- issue_resource = integration.resources.get(url=issue_url)
- if state == 'closed':
- issue_resource.issue.status = issue_resource.issue.ISSUE_STATUS_CLOSED
- else:
- issue_resource.issue.status = issue_resource.issue.ISSUE_STATUS_IN_PROGRESS
-
- issue_resource.issue.save()
- except ObjectDoesNotExist:
- pass
-
- return HttpResponse(status=200)
-
- except json.decoder.JSONDecodeError as e:
- return HttpResponse(e, status=400)
-
- raise Http404
-
- @property
- def fields(self):
- return [
- {
- 'key': 'repo',
- 'placeholder': 'user_name/repo_name',
- 'help': _('The GitLab repository to send issues to.')
- },
- {
- 'key': 'secret',
- 'placeholder': 'Secret (random) string',
- 'help': _('The secret for a GitLab webhook to close a task (optional).'),
- 'required': False,
- 'secret': True
- }
- ]
-
-
-class OpenProjectIssueProvider(OpenProjectProviderMixin, OauthIssueProvider):
- add_label = _('Add OpenProject integration')
- send_label = _('Send to OpenProject')
-
- status_map = {
- 'New': 'open',
- 'To be scheduled': 'in_progress',
- 'Scheduled': 'in_progress',
- 'In progress': 'in_progress',
- 'Closed': 'closed',
- 'On hold': 'in_progress',
- 'Rejected': 'closed'
- }
-
- @property
- def description(self):
- return _(f'This integration allow the creation of issues on {self.openproject_url}.')
-
- def send_issue(self, request, issue, integration, subject, message, attachments):
- self.store_in_session(request, 'issue_id', issue.id)
- self.store_in_session(request, 'integration_id', integration.id)
- self.store_in_session(request, 'project_name', integration.get_option_value('project_name'))
- self.store_in_session(request, 'work_package_type', integration.get_option_value('work_package_type'))
- self.store_in_session(request, 'subject', subject)
- self.store_in_session(request, 'message', message)
- self.store_in_session(request, 'attachments', attachments)
-
- return self.get_project_id(request)
-
- def get_project_id(self, request):
- project_name = self.pop_from_session(request, 'project_name')
- query = quote(json.dumps([{
- 'name_and_identifier': {
- 'operator': '=',
- 'values': [project_name]
- }
- }]))
- url = f'{self.api_url}/projects?filters={query}'
-
- return self.get(request, url)
-
- def get_type_id(self, request):
- url = f'{self.api_url}/types'
- return self.get(request, url)
-
- def post_issue(self, request):
- project_id = self.get_from_session(request, 'project_id')
- type_id = self.get_from_session(request, 'type_id')
- url = f'{self.api_url}/projects/{project_id}/work_packages'
- data = {
- '_links': {
- 'type': {
- 'href': f'/api/v3/types/{type_id}'
- }
- },
- 'subject': self.pop_from_session(request, 'subject'),
- 'description': {
- 'format': 'plain',
- 'raw': self.pop_from_session(request, 'message'),
- }
- }
-
- return self.post(request, url, data)
-
- def post_attachment(self, request):
- work_package_id = self.get_from_session(request, 'work_package_id')
- attachments = self.pop_from_session(request, 'attachments')
-
- if attachments:
- file_name, file_content, file_type = attachments[0]
- url = f'{self.api_url}/work_packages/{work_package_id}/attachments'
- multipart = {
- 'metadata': json.dumps({'fileName': file_name }),
- 'file': (file_name, file_content, file_type)
- }
-
- self.store_in_session(request, 'attachments', attachments[1:])
- return self.post(request, url, multipart=multipart)
-
- else:
- # there are no attachments left, get the url of the work_package
- remote_url = self.get_work_package_url(work_package_id)
-
- # update the issue in rdmo
- self.update_issue(request, remote_url)
-
- # redirect to the work package in open project
- return HttpResponseRedirect(remote_url)
-
- def get_success(self, request, response):
- if '/projects' in response.url:
- try:
- project_id = response.json()['_embedded']['elements'][0]['id']
- self.store_in_session(request, 'project_id', project_id)
- return self.get_type_id(request)
-
- except (KeyError, IndexError):
- return render(request, 'core/error.html', {
- 'title': _('Integration error'),
- 'errors': [_('OpenProject project could not be found.')]
- }, status=200)
-
- elif '/types' in response.url:
- try:
- work_package_type = self.pop_from_session(request, 'work_package_type')
- for element in response.json()['_embedded']['elements']:
- if element['name'] == work_package_type:
- self.store_in_session(request, 'type_id', element['id'])
- return self.post_issue(request)
-
- except KeyError:
- pass
-
- return render(request, 'core/error.html', {
- 'title': _('Integration error'),
- 'errors': [_('OpenProject work package type could not be found.')]
- }, status=200)
-
- elif response.request.method == 'POST':
- pass
-
- # return an error if everything failed
- return render(request, 'core/error.html', {
- 'title': _('Integration error'),
- 'errors': [_('The Integration is not configured correctly.')]
- }, status=200)
-
- def post_success(self, request, response):
- if '/projects/' in response.url:
- # get the upstream url of the issue
- work_package_id = response.json()['id']
- self.store_in_session(request, 'work_package_id', work_package_id)
-
- # post the next attachment
- return self.post_attachment(request)
-
- def get_work_package_url(self, work_package_id):
- return f'{self.openproject_url}/work_packages/{work_package_id}'
-
- def webhook(self, request, integration):
- secret = integration.get_option_value('secret')
- header_signature = request.headers.get('X-Op-Signature')
-
- if (secret is not None) and (header_signature is not None):
- body_signature = 'sha1=' + hmac.new(secret.encode(), request.body, 'sha1').hexdigest()
-
- if hmac.compare_digest(header_signature, body_signature):
- try:
- payload = json.loads(request.body.decode())
- action = payload.get('action')
- work_package = payload.get('work_package')
-
- if action and work_package:
- work_package_id = work_package.get('id')
- work_package_url = self.get_work_package_url(work_package_id)
- work_package_status = work_package.get('_links', {}).get('status', {}).get('title')
-
- try:
- issue_resource = integration.resources.get(url=work_package_url)
- status_map = self.status_map
- status_map.update(settings.OPENPROJECT_PROVIDER.get('status_map', {}))
-
- if work_package_status in status_map:
- print('-->' , status_map[work_package_status])
- issue_resource.issue.status = status_map[work_package_status]
- issue_resource.issue.save()
-
- except ObjectDoesNotExist:
- pass
-
- return HttpResponse(status=200)
-
- except json.decoder.JSONDecodeError as e:
- return HttpResponse(e, status=400)
-
- raise Http404
-
- @property
- def fields(self):
- return [
- {
- 'key': 'project_name',
- 'placeholder': 'Project',
- 'help': _('The name of the OpenProject url')
- },
- {
- 'key': 'work_package_type',
- 'placeholder': 'Work Package Type',
- 'help': _('The type of workpackage to create, e.g. "Task"')
- },
- {
- 'key': 'secret',
- 'placeholder': 'Secret (random) string',
- 'help': _('The secret for a OpenProject webhook to close a task (optional).'),
- 'required': False,
- 'secret': True
- }
- ]
diff --git a/rdmo/services/providers.py b/rdmo/services/providers.py
index 8819f60860..d8262161dd 100644
--- a/rdmo/services/providers.py
+++ b/rdmo/services/providers.py
@@ -1,10 +1,8 @@
import logging
from urllib.parse import urlencode
-from django.conf import settings
from django.http import HttpResponseRedirect
from django.shortcuts import render
-from django.urls import reverse
from django.utils.crypto import get_random_string
from django.utils.translation import gettext_lazy as _
@@ -168,152 +166,3 @@ def get_callback_data(self, request):
def get_error_message(self, response):
return response.json().get('error')
-
-
-class GitHubProviderMixin(OauthProviderMixin):
- authorize_url = 'https://github.com/login/oauth/authorize'
- token_url = 'https://github.com/login/oauth/access_token'
- api_url = 'https://api.github.com'
-
- @property
- def client_id(self):
- return settings.GITHUB_PROVIDER['client_id']
-
- @property
- def client_secret(self):
- return settings.GITHUB_PROVIDER['client_secret']
-
- @property
- def redirect_path(self):
- return reverse('oauth_callback', args=['github'])
-
- def get_authorization_headers(self, access_token):
- return {
- 'Authorization': f'token {access_token}',
- 'Accept': 'application/vnd.github.v3+json'
- }
-
- def get_authorize_params(self, request, state):
- return {
- 'authorize_url': self.authorize_url,
- 'client_id': self.client_id,
- 'redirect_uri': request.build_absolute_uri(self.redirect_path),
- 'scope': 'repo',
- 'state': state,
- }
-
- def get_callback_params(self, request):
- return {
- 'token_url': self.token_url,
- 'client_id': self.client_id,
- 'client_secret': self.client_secret,
- 'code': request.GET.get('code')
- }
-
- def get_error_message(self, response):
- return response.json().get('message')
-
-
-class GitLabProviderMixin(OauthProviderMixin):
-
- @property
- def gitlab_url(self):
- return settings.GITLAB_PROVIDER['gitlab_url'].strip('/')
-
- @property
- def authorize_url(self):
- return f'{self.gitlab_url}/oauth/authorize'
-
- @property
- def token_url(self):
- return f'{self.gitlab_url}/oauth/token'
-
- @property
- def api_url(self):
- return f'{self.gitlab_url}/api/v4'
-
- @property
- def client_id(self):
- return settings.GITLAB_PROVIDER['client_id']
-
- @property
- def client_secret(self):
- return settings.GITLAB_PROVIDER['client_secret']
-
- @property
- def redirect_path(self):
- return reverse('oauth_callback', args=['gitlab'])
-
- def get_authorize_params(self, request, state):
- return {
- 'authorize_url': self.authorize_url,
- 'client_id': self.client_id,
- 'redirect_uri': request.build_absolute_uri(self.redirect_path),
- 'response_type': 'code',
- 'scope': 'api',
- 'state': state,
- }
-
- def get_callback_params(self, request):
- return {
- 'token_url': self.token_url,
- 'client_id': self.client_id,
- 'client_secret': self.client_secret,
- 'code': request.GET.get('code'),
- 'grant_type': 'authorization_code',
- 'redirect_uri': request.build_absolute_uri(self.redirect_path)
- }
-
-
-class OpenProjectProviderMixin(OauthProviderMixin):
-
- @property
- def openproject_url(self):
- return settings.OPENPROJECT_PROVIDER['openproject_url'].strip('/')
-
- @property
- def authorize_url(self):
- return f'{self.openproject_url}/oauth/authorize'
-
- @property
- def token_url(self):
- return f'{self.openproject_url}/oauth/token'
-
- @property
- def api_url(self):
- return f'{self.openproject_url}/api/v3'
-
- @property
- def client_id(self):
- return settings.OPENPROJECT_PROVIDER['client_id']
-
- @property
- def client_secret(self):
- return settings.OPENPROJECT_PROVIDER['client_secret']
-
- @property
- def redirect_path(self):
- return reverse('oauth_callback', args=['openproject'])
-
- def get_authorize_params(self, request, state):
- return {
- 'authorize_url': self.authorize_url,
- 'client_id': self.client_id,
- 'redirect_uri': request.build_absolute_uri(self.redirect_path),
- 'response_type': 'code',
- 'scope': 'api_v3',
- 'state': state,
- }
-
- def get_callback_data(self, request):
- return {
- 'token_url': self.token_url,
- 'client_id': self.client_id,
- 'client_secret': self.client_secret,
- 'code': request.GET.get('code'),
- 'grant_type': 'authorization_code',
- 'redirect_uri': request.build_absolute_uri(self.redirect_path)
- }
-
- def get_error_message(self, response):
- return response.json().get('message')
From 599913ec3adb3a9ca6ac691c02679f20cebcd328 Mon Sep 17 00:00:00 2001
From: Jochen Klar
Date: Fri, 17 Nov 2023 11:27:56 +0100
Subject: [PATCH 039/114] Fix pyproject.toml
---
pyproject.toml | 1 +
1 file changed, 1 insertion(+)
diff --git a/pyproject.toml b/pyproject.toml
index 9665e8e7c5..d1d9384f89 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -59,6 +59,7 @@ dependencies = [
"iso8601~=2.0",
"markdown~=3.4",
"pypandoc~=1.11",
+ "requests-toolbelt~=1.0",
"rules~=3.3",
]
From ff08f121e594ecac4d2f01e1bd27230aad2475e7 Mon Sep 17 00:00:00 2001
From: Jochen Klar
Date: Fri, 17 Nov 2023 12:43:45 +0100
Subject: [PATCH 040/114] Add SimpleIssueProvider and fix tests for
integrations
---
rdmo/projects/providers.py | 64 ++++++++++++++++++-
rdmo/projects/tests/test_view_integration.py | 49 +++++++++-----
rdmo/projects/tests/test_view_issue.py | 12 +++-
.../tests/test_viewset_project_integration.py | 30 ++++-----
testing/config/settings/base.py | 7 +-
testing/fixtures/projects.json | 14 ++--
6 files changed, 126 insertions(+), 50 deletions(-)
diff --git a/rdmo/projects/providers.py b/rdmo/projects/providers.py
index 1c11db028a..267706bfc7 100644
--- a/rdmo/projects/providers.py
+++ b/rdmo/projects/providers.py
@@ -1,5 +1,7 @@
+import json
+
from django.core.exceptions import ObjectDoesNotExist
-from django.http import HttpResponseRedirect
+from django.http import Http404, HttpResponse, HttpResponseRedirect
from django.shortcuts import render
from django.utils.translation import gettext_lazy as _
@@ -12,7 +14,7 @@ class IssueProvider(Plugin):
def send_issue(self, request, issue, integration, subject, message, attachments):
raise NotImplementedError
- def webhook(self, request, options, payload):
+ def webhook(self, request, integration):
raise NotImplementedError
@@ -69,3 +71,61 @@ def get_post_data(self, request, issue, integration, subject, message, attachmen
def get_issue_url(self, response):
raise NotImplementedError
+
+
+class SimpleIssueProvider(OauthIssueProvider):
+
+ add_label = _('Add Simple integration')
+ send_label = _('Send to Simple')
+ description = _('This integration allow the creation of issues in arbitrary Simple repositories. '
+ 'The upload of attachments is not supported.')
+
+ @property
+ def fields(self):
+ return [
+ {
+ 'key': 'project_url',
+ 'placeholder': 'https://example.com/projects/',
+ 'help': _('The URL of the project to send tasks to.')
+ },
+ {
+ 'key': 'secret',
+ 'placeholder': 'Secret (random) string',
+ 'help': _('The secret for a webhook to close a task (optional).'),
+ 'required': False,
+ 'secret': True
+ }
+ ]
+
+ def get(self, request, url):
+ raise NotImplementedError
+
+ def post(self, request, url, json=None, files=None, multipart=None):
+ raise NotImplementedError
+
+ def webhook(self, request, integration):
+ secret = integration.get_option_value('secret')
+ header_signature = request.headers.get('X-Secret')
+ if secret == header_signature:
+ try:
+ payload = json.loads(request.body.decode())
+ except json.decoder.JSONDecodeError as e:
+ return HttpResponse(e, status=400)
+
+ action = payload.get('action')
+ url = payload.get('url')
+
+ try:
+ issue_resource = integration.resources.get(url=url)
+ if action == 'closed':
+ issue_resource.issue.status = issue_resource.issue.ISSUE_STATUS_CLOSED
+ else:
+ issue_resource.issue.status = issue_resource.issue.ISSUE_STATUS_IN_PROGRESS
+
+ issue_resource.issue.save()
+ except ObjectDoesNotExist:
+ pass
+
+ return HttpResponse(status=200)
+
+ raise Http404
diff --git a/rdmo/projects/tests/test_view_integration.py b/rdmo/projects/tests/test_view_integration.py
index fe626862c0..cb20690f8d 100644
--- a/rdmo/projects/tests/test_view_integration.py
+++ b/rdmo/projects/tests/test_view_integration.py
@@ -1,6 +1,3 @@
-import hmac
-import json
-
import pytest
from django.urls import reverse
@@ -42,7 +39,7 @@
def test_integration_create_get(db, client, username, password, project_id):
client.login(username=username, password=password)
- url = reverse('integration_create', args=[project_id, 'github'])
+ url = reverse('integration_create', args=[project_id, 'simple'])
response = client.get(url)
if project_id in add_integration_permission_map.get(username, []):
@@ -58,9 +55,9 @@ def test_integration_create_get(db, client, username, password, project_id):
def test_integration_create_post(db, client, username, password, project_id):
client.login(username=username, password=password)
- url = reverse('integration_create', args=[project_id, 'github'])
+ url = reverse('integration_create', args=[project_id, 'simple'])
data = {
- 'repo': 'example/example1'
+ 'project_url': 'https://example.com/projects/1'
}
response = client.post(url, data)
@@ -69,8 +66,8 @@ def test_integration_create_post(db, client, username, password, project_id):
values = Integration.objects.order_by('id').last().options.values('key', 'value', 'secret')
assert sorted(values, key=lambda obj: obj['key']) == [
{
- 'key': 'repo',
- 'value': 'example/example1',
+ 'key': 'project_url',
+ 'value': 'https://example.com/projects/1',
'secret': False
},
{
@@ -115,7 +112,7 @@ def test_integration_update_post(db, client, username, password, project_id, int
url = reverse('integration_update', args=[project_id, integration_id])
data = {
- 'repo': 'example/example2',
+ 'project_url': 'https://example.com/projects/2',
'secret': 'super_secret'
}
response = client.post(url, data)
@@ -127,8 +124,8 @@ def test_integration_update_post(db, client, username, password, project_id, int
.options.values('key', 'value', 'secret')
assert sorted(values, key=lambda obj: obj['key']) == [
{
- 'key': 'repo',
- 'value': 'example/example2',
+ 'key': 'project_url',
+ 'value': 'https://example.com/projects/2',
'secret': False
},
{
@@ -207,14 +204,10 @@ def test_integration_webhook_post(db, client, project_id, integration_id):
url = reverse('integration_webhook', args=[project_id, integration_id])
data = {
'action': 'closed',
- 'issue': {
- 'html_url': 'https://github.com/example/example/issues/1'
- }
+ 'url': 'https://simple.example.com/issues/1'
}
- body = json.dumps(data)
- signature = 'sha1=' + hmac.new(secret.encode(), body.encode(), 'sha1').hexdigest()
- response = client.post(url, data, **{'HTTP_X_HUB_SIGNATURE': signature, 'content_type': 'application/json'})
+ response = client.post(url, data, **{'HTTP_X_SECRET': secret, 'content_type': 'application/json'})
if integration:
assert response.status_code == 200
@@ -224,6 +217,28 @@ def test_integration_webhook_post(db, client, project_id, integration_id):
assert Issue.objects.filter(status='closed').count() == 0
+@pytest.mark.parametrize('project_id', projects)
+@pytest.mark.parametrize('integration_id', integrations)
+def test_integration_webhook_post_wrong_url(db, client, project_id, integration_id):
+ integration = Integration.objects.filter(project_id=project_id, id=integration_id).first()
+
+ secret = 'super_duper_secret'
+ url = reverse('integration_webhook', args=[project_id, integration_id])
+ data = {
+ 'action': 'closed',
+ 'url': 'https://simple.example.com/issues/2'
+ }
+
+ response = client.post(url, data, **{'HTTP_X_SECRET': secret, 'content_type': 'application/json'})
+
+ if integration:
+ assert response.status_code == 200
+ assert Issue.objects.filter(status='closed').count() == 0
+ else:
+ assert response.status_code == 404
+ assert Issue.objects.filter(status='closed').count() == 0
+
+
@pytest.mark.parametrize('project_id', projects)
@pytest.mark.parametrize('integration_id', integrations)
def test_integration_webhook_post_no_secret(db, client, project_id, integration_id):
diff --git a/rdmo/projects/tests/test_view_issue.py b/rdmo/projects/tests/test_view_issue.py
index 230bc2f7e5..e80a67b4a2 100644
--- a/rdmo/projects/tests/test_view_issue.py
+++ b/rdmo/projects/tests/test_view_issue.py
@@ -1,6 +1,9 @@
+from unittest.mock import Mock
+
import pytest
from django.core import mail
+from django.http import HttpResponseRedirect
from django.urls import reverse
from rdmo.core.constants import VALUE_TYPE_FILE
@@ -224,7 +227,10 @@ def test_issue_send_post_attachements(db, client, files, username, password, pro
@pytest.mark.parametrize('username,password', users)
@pytest.mark.parametrize('issue_id', issues)
@pytest.mark.parametrize('project_id', projects)
-def test_issue_send_post_integration(db, client, username, password, project_id, issue_id):
+def test_issue_send_post_integration(db, client, mocker, username, password, project_id, issue_id):
+ mocked_send_issue = Mock(return_value=HttpResponseRedirect(redirect_to='https://example.com/login/oauth/authorize'))
+ mocker.patch('rdmo.projects.providers.SimpleIssueProvider.send_issue', mocked_send_issue)
+
client.login(username=username, password=password)
issue = Issue.objects.filter(project_id=project_id, id=issue_id).first()
@@ -240,7 +246,7 @@ def test_issue_send_post_integration(db, client, username, password, project_id,
if project_id in change_issue_permission_map.get(username, []):
if integration_pk in Project.objects.get(pk=project_id).integrations.values_list('id', flat=True):
assert response.status_code == 302
- assert response.url.startswith('https://github.com')
+ assert response.url.startswith('https://example.com')
else:
assert response.status_code == 200
else:
@@ -248,6 +254,6 @@ def test_issue_send_post_integration(db, client, username, password, project_id,
assert response.status_code == 403
else:
assert response.status_code == 302
- assert not response.url.startswith('https://github.com')
+ assert not response.url.startswith('https://example.com')
else:
assert response.status_code == 404
diff --git a/rdmo/projects/tests/test_viewset_project_integration.py b/rdmo/projects/tests/test_viewset_project_integration.py
index 94129a3d06..d1271081cc 100644
--- a/rdmo/projects/tests/test_viewset_project_integration.py
+++ b/rdmo/projects/tests/test_viewset_project_integration.py
@@ -87,11 +87,11 @@ def test_create(db, client, username, password, project_id):
url = reverse(urlnames['list'], args=[project_id])
data = {
- 'provider_key': 'github',
+ 'provider_key': 'simple',
'options': [
{
- 'key': 'repo',
- 'value': 'example/example'
+ 'key': 'project_url',
+ 'value': 'https://example.com/projects/1'
}
]
}
@@ -115,8 +115,8 @@ def test_create_error1(db, client, username, password, project_id):
'provider_key': 'wrong',
'options': [
{
- 'key': 'repo',
- 'value': 'example/example'
+ 'key': 'project_url',
+ 'value': 'https://example.com/projects/1'
}
]
}
@@ -138,10 +138,10 @@ def test_create_error2(db, client, username, password, project_id):
url = reverse(urlnames['list'], args=[project_id])
data = {
- 'provider_key': 'github',
+ 'provider_key': 'simple',
'options': [
{
- 'key': 'repo',
+ 'key': 'project_url',
'value': ''
}
]
@@ -164,11 +164,11 @@ def test_create_error3(db, client, username, password, project_id):
url = reverse(urlnames['list'], args=[project_id])
data = {
- 'provider_key': 'github',
+ 'provider_key': 'simple',
'options': [
{
- 'key': 'repo',
- 'value': 'example/example'
+ 'key': 'project_url',
+ 'value': 'https://example.com/projects/1'
},
{
'key': 'foo',
@@ -196,11 +196,11 @@ def test_update(db, client, username, password, project_id, integration_id):
url = reverse(urlnames['detail'], args=[project_id, integration_id])
data = {
- 'provider_key': 'github',
+ 'provider_key': 'simple',
'options': [
{
- 'key': 'repo',
- 'value': 'example/test'
+ 'key': 'project_url',
+ 'value': 'https://example.com/projects/2'
}
]
}
@@ -210,8 +210,8 @@ def test_update(db, client, username, password, project_id, integration_id):
assert response.status_code == 200
assert sorted(response.json().get('options'), key=lambda obj: obj['key']) == [
{
- 'key': 'repo',
- 'value': 'example/test'
+ 'key': 'project_url',
+ 'value': 'https://example.com/projects/2'
},
{
'key': 'secret',
diff --git a/testing/config/settings/base.py b/testing/config/settings/base.py
index 270ec4ea20..aa888ab8bd 100644
--- a/testing/config/settings/base.py
+++ b/testing/config/settings/base.py
@@ -79,10 +79,5 @@
]
PROJECT_ISSUE_PROVIDERS = [
- ('github', _('GitHub'), 'rdmo.projects.providers.GitHubIssueProvider')
+ ('simple', _('Simple provider'), 'rdmo.projects.providers.SimpleIssueProvider')
]
-
-GITHUB_PROVIDER = {
- 'client_id': '',
- 'client_secret': ''
-}
diff --git a/testing/fixtures/projects.json b/testing/fixtures/projects.json
index 791f1a7493..59bfbb2cc9 100644
--- a/testing/fixtures/projects.json
+++ b/testing/fixtures/projects.json
@@ -15,7 +15,7 @@
"pk": 1,
"fields": {
"project": 1,
- "provider_key": "github"
+ "provider_key": "simple"
}
},
{
@@ -23,7 +23,7 @@
"pk": 2,
"fields": {
"project": 2,
- "provider_key": "github"
+ "provider_key": "simple"
}
},
{
@@ -31,8 +31,8 @@
"pk": 1,
"fields": {
"integration": 1,
- "key": "repo",
- "value": "example/example",
+ "key": "project_url",
+ "value": "https://example.com/projects/1",
"secret": false
}
},
@@ -51,8 +51,8 @@
"pk": 3,
"fields": {
"integration": 2,
- "key": "repo",
- "value": "example/example",
+ "key": "project_url",
+ "value": "https://example.com/projects/1",
"secret": false
}
},
@@ -135,7 +135,7 @@
"fields": {
"issue": 1,
"integration": 1,
- "url": "https://github.com/example/example/issues/1"
+ "url": "https://simple.example.com/issues/1"
}
},
{
From 6a9600fa33ef9f63a0a57b8fb2b8426268cb3966 Mon Sep 17 00:00:00 2001
From: Jochen Klar
Date: Sat, 18 Nov 2023 11:22:12 +0100
Subject: [PATCH 041/114] Add condition URIs to tasks management
---
.../assets/js/components/element/Task.js | 17 ++++++++++++++++-
.../assets/js/components/elements/Tasks.js | 12 ++++++++++++
rdmo/tasks/serializers/v1.py | 6 ++++++
3 files changed, 34 insertions(+), 1 deletion(-)
diff --git a/rdmo/management/assets/js/components/element/Task.js b/rdmo/management/assets/js/components/element/Task.js
index c8a4f981bf..12676cc89f 100644
--- a/rdmo/management/assets/js/components/element/Task.js
+++ b/rdmo/management/assets/js/components/element/Task.js
@@ -1,5 +1,6 @@
import React from 'react'
import PropTypes from 'prop-types'
+import get from 'lodash/get'
import { filterElement } from '../../utils/filter'
import { buildPath } from '../../utils/location'
@@ -21,6 +22,8 @@ const Task = ({ config, task, elementActions, filter=false, filterSites=false, f
const toggleAvailable = () => elementActions.storeElement('tasks', {...task, available: !task.available })
const toggleLocked = () => elementActions.storeElement('tasks', {...task, locked: !task.locked })
+ const fetchCondition = (index) => elementActions.fetchElement('conditions', task.conditions[index])
+
return showElement && (
@@ -40,8 +43,20 @@ const Task = ({ config, task, elementActions, filter=false, filterSites=false, f
{gettext('Task')}{': '}
- fetchEdit()} />
+ {task.title}
+ {
+ get(config, 'display.uri.tasks', true) &&
+ fetchEdit()} />
+
+ }
+ {
+ get(config, 'display.uri.conditions', true) && task.condition_uris.map((uri, index) => (
+
+ fetchCondition(index)} />
+
+ ))
+ }
diff --git a/rdmo/management/assets/js/components/elements/Tasks.js b/rdmo/management/assets/js/components/elements/Tasks.js
index 693181538f..136ecc6140 100644
--- a/rdmo/management/assets/js/components/elements/Tasks.js
+++ b/rdmo/management/assets/js/components/elements/Tasks.js
@@ -6,6 +6,7 @@ import { getUriPrefixes } from '../../utils/filter'
import { FilterString, FilterUriPrefix, FilterSite} from '../common/Filter'
import { BackButton, NewButton } from '../common/Buttons'
+import { Checkbox } from '../common/Checkboxes'
import Task from '../element/Task'
@@ -16,6 +17,9 @@ const Tasks = ({ config, tasks, configActions, elementActions }) => {
const updateFilterSite = (value) => configActions.updateConfig('filter.sites', value)
const updateFilterEditor = (value) => configActions.updateConfig('filter.editors', value)
+ const updateDisplayTasksURI = (value) => configActions.updateConfig('display.uri.tasks', value)
+ const updateDisplayConditionsURI = (value) => configActions.updateConfig('display.uri.conditions', value)
+
const createTask = () => elementActions.createElement('tasks')
return (
@@ -51,6 +55,14 @@ const Tasks = ({ config, tasks, configActions, elementActions }) => {
>
}
+
+ {gettext('Show URIs:')}
+ {gettext('Tasks')}}
+ value={get(config, 'display.uri.tasks', true)} onChange={updateDisplayTasksURI} />
+ {gettext('Conditions')}}
+ value={get(config, 'display.uri.conditions', true)} onChange={updateDisplayConditionsURI} />
+
+
diff --git a/rdmo/tasks/serializers/v1.py b/rdmo/tasks/serializers/v1.py
index cebd38a415..b2ee7d6dab 100644
--- a/rdmo/tasks/serializers/v1.py
+++ b/rdmo/tasks/serializers/v1.py
@@ -21,6 +21,8 @@ class TaskSerializer(TranslationSerializerMixin, ElementModelSerializerMixin,
warning = serializers.SerializerMethodField()
read_only = serializers.SerializerMethodField()
+ condition_uris = serializers.SerializerMethodField()
+
projects_count = serializers.IntegerField(read_only=True)
class Meta:
@@ -47,6 +49,7 @@ class Meta:
'text',
'warning',
'read_only',
+ 'condition_uris',
'projects_count',
)
trans_fields = (
@@ -61,6 +64,9 @@ class Meta:
'title',
)
+ def get_condition_uris(self, obj):
+ return [condition.uri for condition in obj.conditions.all()]
+
class TaskIndexSerializer(serializers.ModelSerializer):
From 7bdd0bed6d2d4e79b06afd32f2a8a8e069e6d690 Mon Sep 17 00:00:00 2001
From: Jochen Klar
Date: Sat, 18 Nov 2023 11:33:35 +0100
Subject: [PATCH 042/114] Add order parameter to tasks and views
---
.../assets/js/components/edit/EditTask.js | 8 ++++++--
.../assets/js/components/edit/EditView.js | 9 +++++++--
.../migrations/0060_alter_issue_options.py | 17 +++++++++++++++++
rdmo/tasks/imports.py | 2 ++
rdmo/tasks/migrations/0036_task_order.py | 18 ++++++++++++++++++
rdmo/tasks/models.py | 5 +++++
rdmo/tasks/renderers/mixins.py | 1 +
rdmo/tasks/serializers/export.py | 1 +
rdmo/tasks/serializers/v1.py | 1 +
rdmo/views/imports.py | 1 +
rdmo/views/migrations/0029_view_order.py | 18 ++++++++++++++++++
rdmo/views/models.py | 5 +++++
rdmo/views/renderers/mixins.py | 1 +
rdmo/views/serializers/export.py | 1 +
rdmo/views/serializers/v1.py | 1 +
15 files changed, 85 insertions(+), 4 deletions(-)
create mode 100644 rdmo/projects/migrations/0060_alter_issue_options.py
create mode 100644 rdmo/tasks/migrations/0036_task_order.py
create mode 100644 rdmo/views/migrations/0029_view_order.py
diff --git a/rdmo/management/assets/js/components/edit/EditTask.js b/rdmo/management/assets/js/components/edit/EditTask.js
index 2057562628..5caef31548 100644
--- a/rdmo/management/assets/js/components/edit/EditTask.js
+++ b/rdmo/management/assets/js/components/edit/EditTask.js
@@ -76,14 +76,18 @@ const EditTask = ({ config, task, elements, elementActions}) => {
rows={4} onChange={updateTask} />
-
+
-
diff --git a/rdmo/management/assets/js/components/edit/EditView.js b/rdmo/management/assets/js/components/edit/EditView.js
index ab19a8b9c0..ae5bfb2986 100644
--- a/rdmo/management/assets/js/components/edit/EditView.js
+++ b/rdmo/management/assets/js/components/edit/EditView.js
@@ -5,6 +5,7 @@ import get from 'lodash/get'
import CodeMirror from './common/CodeMirror'
import Checkbox from './common/Checkbox'
+import Number from './common/Number'
import Select from './common/Select'
import Text from './common/Text'
import Textarea from './common/Textarea'
@@ -70,14 +71,18 @@ const EditView = ({ config, view, elements, elementActions }) => {
rows={4} onChange={updateView} />
-
+
-
diff --git a/rdmo/projects/migrations/0060_alter_issue_options.py b/rdmo/projects/migrations/0060_alter_issue_options.py
new file mode 100644
index 0000000000..9048e8c46c
--- /dev/null
+++ b/rdmo/projects/migrations/0060_alter_issue_options.py
@@ -0,0 +1,17 @@
+# Generated by Django 4.2.6 on 2023-11-18 10:23
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('projects', '0059_project_progress'),
+ ]
+
+ operations = [
+ migrations.AlterModelOptions(
+ name='issue',
+ options={'ordering': ('project__title', 'task__uri'), 'verbose_name': 'Issue', 'verbose_name_plural': 'Issues'},
+ ),
+ ]
diff --git a/rdmo/tasks/imports.py b/rdmo/tasks/imports.py
index 7631d1be44..2f9ef7dca8 100644
--- a/rdmo/tasks/imports.py
+++ b/rdmo/tasks/imports.py
@@ -25,6 +25,8 @@ def import_task(element, save=False, user=None):
set_common_fields(task, element)
+ task.order = element.get('order') or 0
+
set_lang_field(task, 'title', element)
set_lang_field(task, 'text', element)
diff --git a/rdmo/tasks/migrations/0036_task_order.py b/rdmo/tasks/migrations/0036_task_order.py
new file mode 100644
index 0000000000..868c80706f
--- /dev/null
+++ b/rdmo/tasks/migrations/0036_task_order.py
@@ -0,0 +1,18 @@
+# Generated by Django 4.2.6 on 2023-11-18 10:23
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('tasks', '0035_uri_path'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='task',
+ name='order',
+ field=models.IntegerField(default=0, help_text='The position of this task in lists.', verbose_name='Order'),
+ ),
+ ]
diff --git a/rdmo/tasks/models.py b/rdmo/tasks/models.py
index eef1a0c682..0e44a3d528 100644
--- a/rdmo/tasks/models.py
+++ b/rdmo/tasks/models.py
@@ -42,6 +42,11 @@ class Task(TranslationMixin, models.Model):
verbose_name=_('Locked'),
help_text=_('Designates whether this task can be changed.')
)
+ order = models.IntegerField(
+ default=0,
+ verbose_name=_('Order'),
+ help_text=_('The position of this task in lists.')
+ )
catalogs = models.ManyToManyField(
Catalog, blank=True,
verbose_name=_('Catalogs'),
diff --git a/rdmo/tasks/renderers/mixins.py b/rdmo/tasks/renderers/mixins.py
index 48e879c50c..adb6d1cc9c 100644
--- a/rdmo/tasks/renderers/mixins.py
+++ b/rdmo/tasks/renderers/mixins.py
@@ -11,6 +11,7 @@ def render_task(self, xml, task):
self.render_text_element(xml, 'uri_prefix', {}, task['uri_prefix'])
self.render_text_element(xml, 'uri_path', {}, task['uri_path'])
self.render_text_element(xml, 'dc:comment', {}, task['comment'])
+ self.render_text_element(xml, 'order', {}, task['order'])
for lang_code, lang_string, lang_field in get_languages():
self.render_text_element(xml, 'title', {'lang': lang_code}, task['title_%s' % lang_code])
diff --git a/rdmo/tasks/serializers/export.py b/rdmo/tasks/serializers/export.py
index 7de22136d8..8aa3a327a1 100644
--- a/rdmo/tasks/serializers/export.py
+++ b/rdmo/tasks/serializers/export.py
@@ -20,6 +20,7 @@ class Meta:
'uri_prefix',
'uri_path',
'comment',
+ 'order',
'start_attribute',
'end_attribute',
'days_before',
diff --git a/rdmo/tasks/serializers/v1.py b/rdmo/tasks/serializers/v1.py
index b2ee7d6dab..424c0db487 100644
--- a/rdmo/tasks/serializers/v1.py
+++ b/rdmo/tasks/serializers/v1.py
@@ -35,6 +35,7 @@ class Meta:
'uri_path',
'comment',
'locked',
+ 'order',
'available',
'catalogs',
'sites',
diff --git a/rdmo/views/imports.py b/rdmo/views/imports.py
index 7c09061035..ce7a778cc2 100644
--- a/rdmo/views/imports.py
+++ b/rdmo/views/imports.py
@@ -18,6 +18,7 @@ def import_view(element, save=False, user=None):
set_common_fields(view, element)
+ view.order = element.get('order') or 0
view.template = element.get('template')
set_lang_field(view, 'title', element)
diff --git a/rdmo/views/migrations/0029_view_order.py b/rdmo/views/migrations/0029_view_order.py
new file mode 100644
index 0000000000..84fc690d19
--- /dev/null
+++ b/rdmo/views/migrations/0029_view_order.py
@@ -0,0 +1,18 @@
+# Generated by Django 4.2.6 on 2023-11-18 10:23
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('views', '0028_uri_path'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='view',
+ name='order',
+ field=models.IntegerField(default=0, help_text='The position of this view in lists.', verbose_name='Order'),
+ ),
+ ]
diff --git a/rdmo/views/models.py b/rdmo/views/models.py
index 4f8561b7fd..2a22b9b61f 100644
--- a/rdmo/views/models.py
+++ b/rdmo/views/models.py
@@ -43,6 +43,11 @@ class View(models.Model, TranslationMixin):
verbose_name=_('Locked'),
help_text=_('Designates whether this view can be changed.')
)
+ order = models.IntegerField(
+ default=0,
+ verbose_name=_('Order'),
+ help_text=_('The position of this view in lists.')
+ )
catalogs = models.ManyToManyField(
Catalog, blank=True,
verbose_name=_('Catalogs'),
diff --git a/rdmo/views/renderers/mixins.py b/rdmo/views/renderers/mixins.py
index 31971975d1..f6ee263d70 100644
--- a/rdmo/views/renderers/mixins.py
+++ b/rdmo/views/renderers/mixins.py
@@ -11,6 +11,7 @@ def render_view(self, xml, view):
self.render_text_element(xml, 'uri_prefix', {}, view['uri_prefix'])
self.render_text_element(xml, 'uri_path', {}, view['uri_path'])
self.render_text_element(xml, 'dc:comment', {}, view['comment'])
+ self.render_text_element(xml, 'order', {}, view['order'])
for lang_code, lang_string, lang_field in get_languages():
self.render_text_element(xml, 'title', {'lang': lang_code}, view['title_%s' % lang_code])
diff --git a/rdmo/views/serializers/export.py b/rdmo/views/serializers/export.py
index 3dc6b6ebf3..d8d2527472 100644
--- a/rdmo/views/serializers/export.py
+++ b/rdmo/views/serializers/export.py
@@ -16,6 +16,7 @@ class Meta:
'uri_prefix',
'uri_path',
'comment',
+ 'order',
'catalogs',
'template'
)
diff --git a/rdmo/views/serializers/v1.py b/rdmo/views/serializers/v1.py
index 5862537a29..6b07fe63de 100644
--- a/rdmo/views/serializers/v1.py
+++ b/rdmo/views/serializers/v1.py
@@ -46,6 +46,7 @@ class Meta:
'uri_path',
'comment',
'locked',
+ 'order',
'available',
'catalogs',
'sites',
From ed83257740c9403fa5039d5e7763798c67359138 Mon Sep 17 00:00:00 2001
From: Jochen Klar
Date: Sat, 18 Nov 2023 11:34:10 +0100
Subject: [PATCH 043/114] Order issues by status and order and views by order
in project_detail
---
rdmo/projects/models/issue.py | 2 +-
rdmo/projects/templates/projects/project_detail_views.html | 4 ++--
rdmo/projects/views/project.py | 5 ++++-
3 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/rdmo/projects/models/issue.py b/rdmo/projects/models/issue.py
index bfaf95474d..1b2c30164d 100644
--- a/rdmo/projects/models/issue.py
+++ b/rdmo/projects/models/issue.py
@@ -40,7 +40,7 @@ class Issue(models.Model):
)
class Meta:
- ordering = ('project__title', )
+ ordering = ('project__title', 'task__uri')
verbose_name = _('Issue')
verbose_name_plural = _('Issues')
diff --git a/rdmo/projects/templates/projects/project_detail_views.html b/rdmo/projects/templates/projects/project_detail_views.html
index 593aa57c2a..e3cda0f3fa 100644
--- a/rdmo/projects/templates/projects/project_detail_views.html
+++ b/rdmo/projects/templates/projects/project_detail_views.html
@@ -12,7 +12,7 @@ {% trans 'Views' %}
{% include 'projects/project_detail_views_help.html' %}
- {% if project.views.exists %}
+ {% if views %}
@@ -27,7 +27,7 @@ {% trans 'Views' %}
- {% for view in project.views.all %}
+ {% for view in views %}
{{ view.title }}
diff --git a/rdmo/projects/views/project.py b/rdmo/projects/views/project.py
index 6bbe56fbd5..934b724cfa 100644
--- a/rdmo/projects/views/project.py
+++ b/rdmo/projects/views/project.py
@@ -157,7 +157,10 @@ def get_context_data(self, **kwargs):
context['memberships'] = memberships.order_by('user__last_name', '-project__level')
context['integrations'] = integrations.order_by('provider_key', '-project__level')
context['providers'] = get_plugins('PROJECT_ISSUE_PROVIDERS')
- context['issues'] = [issue for issue in project.issues.all() if issue.resolve(values)]
+ context['issues'] = [
+ issue for issue in project.issues.order_by('-status', 'task__order', 'task__uri') if issue.resolve(values)
+ ]
+ context['views'] = project.views.order_by('order', 'uri')
context['snapshots'] = project.snapshots.all()
context['invites'] = project.invites.all()
context['membership'] = Membership.objects.filter(project=project, user=self.request.user).first()
From bcf2a461ef1738ba3b66142462ede29bc20fdfe9 Mon Sep 17 00:00:00 2001
From: Jochen Klar
Date: Sat, 18 Nov 2023 12:55:57 +0100
Subject: [PATCH 044/114] Add option_text and option_additional_input to Value
and update value_and_unit and as_dict
---
rdmo/projects/models/value.py | 26 ++++++++++++++++++--------
1 file changed, 18 insertions(+), 8 deletions(-)
diff --git a/rdmo/projects/models/value.py b/rdmo/projects/models/value.py
index 39fec66834..2ab2a174da 100644
--- a/rdmo/projects/models/value.py
+++ b/rdmo/projects/models/value.py
@@ -117,6 +117,10 @@ def as_dict(self):
'collection_index': self.collection_index,
'value_type': self.value_type,
'unit': self.unit,
+ 'text': self.text,
+ 'option_uri': self.option_uri,
+ 'option_text': self.option_text,
+ 'option_additional_input': self.option_additional_input,
'external_id': self.external_id,
'value': self.value,
'value_and_unit': self.value_and_unit,
@@ -161,18 +165,14 @@ def value(self):
else:
return self.text
else:
- return None
+ return ''
@property
def value_and_unit(self):
- value = self.value
-
- if value is None:
- return ''
- elif self.unit:
- return f'{value} {self.unit}'
+ if self.unit:
+ return f'{self.value} {self.unit}'
else:
- return value
+ return self.value
@property
def is_true(self):
@@ -254,6 +254,16 @@ def option_uri(self):
if self.option is not None:
return self.option.uri
+ @property
+ def option_text(self):
+ if self.option is not None:
+ return self.option.text
+
+ @property
+ def option_additional_input(self):
+ if self.option is not None:
+ return self.option.additional_input
+
def copy_file(self, file_name, file_content):
# copies a file field from a different value over to this value
# this is tricky, because we need to trick django_cleanup to not delete the original file
From 5015f3b7724b9f723474b0052b5afe764a1dda7f Mon Sep 17 00:00:00 2001
From: Jochen Klar
Date: Sat, 18 Nov 2023 12:56:21 +0100
Subject: [PATCH 045/114] Add tests for Value properties
---
rdmo/projects/tests/test_value.py | 73 +++++++++++++++++++++++++++++++
1 file changed, 73 insertions(+)
create mode 100644 rdmo/projects/tests/test_value.py
diff --git a/rdmo/projects/tests/test_value.py b/rdmo/projects/tests/test_value.py
new file mode 100644
index 0000000000..406b9014e5
--- /dev/null
+++ b/rdmo/projects/tests/test_value.py
@@ -0,0 +1,73 @@
+import datetime
+
+from ..models import Value
+
+
+def mocked_trans(self, field):
+ return self.text_lang1
+
+
+def test_value_text(db):
+ value = Value.objects.get(id=1)
+ assert value.value == value.text
+ assert value.value_and_unit == value.text
+ assert value.option_text is None
+ assert value.option_additional_input is None
+
+
+def test_value_textarea(db):
+ value = Value.objects.get(id=2)
+ assert value.value == value.text
+ assert value.value_and_unit == value.text
+ assert value.option_text is None
+ assert value.option_additional_input is None
+
+
+def test_value_bool(db):
+ value = Value.objects.get(id=3)
+ assert value.value == 'Yes'
+ assert value.value_and_unit == 'Yes'
+ assert value.option_text is None
+ assert value.option_additional_input is None
+
+
+def test_value_radio(db, mocker):
+ mocker.patch('rdmo.options.models.Option.trans', mocked_trans)
+
+ value = Value.objects.get(id=4)
+ assert value.value == 'Other: Lorem ipsum'
+ assert value.value_and_unit == 'Other: Lorem ipsum'
+ assert value.option_text == 'Other'
+ assert value.option_additional_input is True
+
+
+def test_value_select(db):
+ value = Value.objects.get(id=5)
+ assert value.value == ''
+ assert value.value_and_unit == ''
+ assert value.option_text == ''
+ assert value.option_additional_input is False
+
+
+def test_value_range(db):
+ value = Value.objects.get(id=6)
+ assert value.value == value.text
+ assert value.value_and_unit == value.text
+ assert value.option_text is None
+ assert value.option_additional_input is None
+
+
+def test_value_datetime(db):
+ value = Value.objects.get(id=7)
+ assert value.value == datetime.date(2018, 1, 1)
+ assert value.value_and_unit == datetime.date(2018, 1, 1)
+ assert value.option_text is None
+ assert value.option_additional_input is None
+
+
+def test_value_file(db):
+ value = Value.objects.get(id=238)
+ assert value.value == 'rdmo-logo.svg'
+ assert value.value_and_unit == 'rdmo-logo.svg'
+ assert value.option_text is None
+ assert value.option_additional_input is None
From 6f0b734e41f9b1e206ae250f02365a114207ccd7 Mon Sep 17 00:00:00 2001
From: Jochen Klar
Date: Sun, 19 Nov 2023 11:27:24 +0100
Subject: [PATCH 046/114] Refresh navigation after auto-save in interview
---
.../static/projects/js/project_questions/services.js | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/rdmo/projects/static/projects/js/project_questions/services.js b/rdmo/projects/static/projects/js/project_questions/services.js
index 35aa912260..d8df624071 100644
--- a/rdmo/projects/static/projects/js/project_questions/services.js
+++ b/rdmo/projects/static/projects/js/project_questions/services.js
@@ -957,6 +957,18 @@ angular.module('project_questions')
});
}
+ // update navigation
+ if (service.project.read_only !== true) {
+ resources.projects.query({
+ id: service.project.id,
+ detail_id: future.page.section.id,
+ detail_action: 'navigation'
+ }, function(response) {
+ console.log(response);
+ service.navigation = response
+ });
+ }
+
// check if we need to refresh the site
angular.forEach([service.page].concat(service.questionsets), function(questionset) {
angular.forEach(questionset.elements, function(element) {
From c998f9e454a81ab7d6822e1a168a1df225cb549a Mon Sep 17 00:00:00 2001
From: Heinz-Alexander Fuetterer
Date: Tue, 31 Oct 2023 18:08:42 +0100
Subject: [PATCH 047/114] chore: add pytest-playwright dependency
---
pyproject.toml | 1 +
1 file changed, 1 insertion(+)
diff --git a/pyproject.toml b/pyproject.toml
index 9665e8e7c5..867a174f1b 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -92,6 +92,7 @@ pytest = [
"pytest-cov~=4.1",
"pytest-django~=4.5",
"pytest-mock~=3.11",
+ "pytest-playwright~=0.4.3",
"pytest-randomly~=3.15",
"pytest-xdist~=3.3",
]
From 9b71c8d5659d248d6ff53142709439b037c7827f Mon Sep 17 00:00:00 2001
From: Heinz-Alexander Fuetterer
Date: Tue, 31 Oct 2023 18:09:27 +0100
Subject: [PATCH 048/114] chore: add custom pytest marker for e2e tests
---
pyproject.toml | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/pyproject.toml b/pyproject.toml
index 867a174f1b..7f396bc22f 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -181,7 +181,10 @@ DJANGO_SETTINGS_MODULE = "config.settings"
testpaths = ["rdmo"]
python_files = "test_*[!.txt].py"
pythonpath = [".", "testing"]
-addopts = "-p no:randomly"
+addopts = '-p no:randomly -m "not e2e"'
+markers = [
+ "e2e: marks tests as end-to-end tests using playwright (deselect with '-m \"not e2e\"')",
+]
filterwarnings = [
# fail on RemovedInDjango50Warning exception
"error::django.utils.deprecation.RemovedInDjango50Warning",
From 44c163ec809e94626ef20789a7e2c102d9876773 Mon Sep 17 00:00:00 2001
From: Heinz-Alexander Fuetterer
Date: Tue, 31 Oct 2023 18:13:15 +0100
Subject: [PATCH 049/114] chore: enable debug mode per env, default false
---
testing/config/settings/base.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/testing/config/settings/base.py b/testing/config/settings/base.py
index 270ec4ea20..e39edf6c80 100644
--- a/testing/config/settings/base.py
+++ b/testing/config/settings/base.py
@@ -2,7 +2,7 @@
from django.utils.translation import gettext_lazy as _
-DEBUG = False
+DEBUG = os.getenv("DJANGO_DEBUG", False) == "True"
TEMPLATE_DEBUG = False
DEBUG_LOGGING = False
From cf198bd7412bf22935e8af3837f5db744125a23d Mon Sep 17 00:00:00 2001
From: Heinz-Alexander Fuetterer
Date: Tue, 31 Oct 2023 18:13:58 +0100
Subject: [PATCH 050/114] refactor: add "fixtures" fixture to reuse in e2e
tests
---
conftest.py | 49 +++++++++++++++++++++++++------------------------
1 file changed, 25 insertions(+), 24 deletions(-)
diff --git a/conftest.py b/conftest.py
index b62eb83355..7a2d7ec8d9 100644
--- a/conftest.py
+++ b/conftest.py
@@ -10,29 +10,33 @@
from rdmo.accounts.utils import set_group_permissions
+@pytest.fixture(scope="session")
+def fixtures():
+ allowed_file_stems = {
+ 'accounts',
+ 'conditions',
+ 'domain',
+ 'groups',
+ 'options',
+ 'overlays',
+ 'projects',
+ 'questions',
+ 'sites',
+ 'tasks',
+ 'users',
+ 'views'
+ }
+ fixtures = []
+ for fixture_dir in settings.FIXTURE_DIRS:
+ filenames = [filename for filename in Path(fixture_dir).iterdir() if filename.stem in allowed_file_stems]
+ fixtures.extend(filenames)
+ return fixtures
+
+
@pytest.fixture(scope='session')
-def django_db_setup(django_db_setup, django_db_blocker):
+def django_db_setup(django_db_setup, django_db_blocker, fixtures):
"""Populate database with test data from fixtures directories."""
with django_db_blocker.unblock():
- fixtures = []
- for fixture_dir in settings.FIXTURE_DIRS:
- for file in Path(fixture_dir).iterdir():
- if file.stem in [
- 'accounts',
- 'conditions',
- 'domain',
- 'groups',
- 'options',
- 'overlays',
- 'projects',
- 'questions',
- 'sites',
- 'tasks',
- 'users',
- 'views'
- ]:
- fixtures.append(file)
-
call_command('loaddata', *fixtures)
set_group_permissions()
@@ -49,7 +53,4 @@ def files(settings, tmp_path):
@pytest.fixture
def json_data():
json_file = Path(settings.BASE_DIR) / 'import' / 'catalogs.json'
- json_data = {
- 'elements': json.loads(json_file.read_text())
- }
- return json_data
+ return {'elements': json.loads(json_file.read_text())}
From 9e94f172fc52e3a86564529be85a7aac996b4c8e Mon Sep 17 00:00:00 2001
From: Heinz-Alexander Fuetterer
Date: Tue, 31 Oct 2023 18:17:01 +0100
Subject: [PATCH 051/114] test: add frontend-tests with pytest-playwright
Co-authored-by: David Wallace
Fixes: #715
---
rdmo/management/tests/test_frontend.py | 192 +++++++++++++++++++++++++
1 file changed, 192 insertions(+)
create mode 100644 rdmo/management/tests/test_frontend.py
diff --git a/rdmo/management/tests/test_frontend.py b/rdmo/management/tests/test_frontend.py
new file mode 100644
index 0000000000..e4d30cd18a
--- /dev/null
+++ b/rdmo/management/tests/test_frontend.py
@@ -0,0 +1,192 @@
+import os
+import re
+from dataclasses import dataclass
+from urllib.parse import urlparse
+
+import pytest
+
+from django.core.management import call_command
+
+from playwright.sync_api import Page, expect
+from pytest_django.live_server_helper import LiveServer
+
+from rdmo.accounts.utils import set_group_permissions
+from rdmo.conditions.models import Condition
+from rdmo.core.models import Model
+from rdmo.domain.models import Attribute
+from rdmo.options.models import Option, OptionSet
+from rdmo.questions.models import Catalog, Question, Section
+from rdmo.questions.models import Page as PageModel
+from rdmo.questions.models.questionset import QuestionSet
+from rdmo.tasks.models import Task
+from rdmo.views.models import View
+
+pytestmark = pytest.mark.e2e
+
+# needed for playwright to run
+os.environ.setdefault("DJANGO_ALLOW_ASYNC_UNSAFE", "true")
+
+
+@dataclass
+class ModelHelper:
+ """Helper class to bundle information about models for test cases."""
+
+ model: Model
+ form_field: str = "URI Path"
+ db_field: str = "uri_path"
+ has_nested: bool = False
+
+ @property
+ def url(self) -> str:
+ return f"{self.model._meta.model_name}s"
+
+ @property
+ def verbose_name(self) -> str:
+ """Return the verbose_name for the model."""
+ return self.model._meta.verbose_name
+
+ @property
+ def verbose_name_plural(self) -> str:
+ """Return the verbose_name_plural for the model."""
+ return self.model._meta.verbose_name_plural
+
+
+@pytest.fixture(scope="function")
+def e2e_tests_django_db_setup(django_db_setup, django_db_blocker, fixtures):
+ """Set up database and populate with fixtures, that get restored for every test case."""
+ with django_db_blocker.unblock():
+ call_command("loaddata", *fixtures)
+ set_group_permissions()
+
+
+@pytest.fixture(scope="session")
+def base_url(live_server: LiveServer) -> str:
+ """Enable playwright to address URLs with base URL automatically prefixed."""
+ return live_server.url
+
+
+@pytest.fixture
+def logged_in_admin_user(e2e_tests_django_db_setup, page: Page) -> Page:
+ """Log in as admin user through django login UI, returns logged in page for e2e tests."""
+ page.goto("/account/login")
+ page.get_by_label("Username").fill("admin", timeout=5000)
+ page.get_by_label("Password").fill("admin")
+ page.get_by_role("button", name="Login").click()
+ page.goto("/management")
+ yield page
+
+
+model_helpers = (
+ ModelHelper(Catalog, has_nested=True),
+ ModelHelper(Section, has_nested=True),
+ ModelHelper(PageModel, has_nested=True),
+ ModelHelper(QuestionSet, has_nested=True),
+ ModelHelper(Question),
+ ModelHelper(
+ Attribute, has_nested=True, form_field="Key", db_field="key"
+ ),
+ ModelHelper(OptionSet, has_nested=True),
+ ModelHelper(Option),
+ ModelHelper(Condition),
+ ModelHelper(Task),
+ ModelHelper(View),
+)
+
+@pytest.mark.parametrize("helper", model_helpers)
+def test_management_navigation(logged_in_admin_user: Page, helper: ModelHelper) -> None:
+ """Test that each content type is available through the navigation."""
+ page = logged_in_admin_user
+ expect(page.get_by_role("heading", name="Management")).to_be_visible()
+
+ # click a link in the navigation
+ name = helper.verbose_name_plural
+ page.get_by_role("link", name=name, exact=True).click()
+
+ # make sure the browser opened a new page
+ url_name = name.lower()
+ url_name = url_name.replace(" ", "")
+ expect(page).to_have_url(re.compile(rf".*/{url_name}/"))
+
+
+@pytest.mark.parametrize("helper", model_helpers)
+def test_management_has_items(logged_in_admin_user: Page, helper: ModelHelper) -> None:
+ """Test all items in database are visible in management UI."""
+ page = logged_in_admin_user
+ num_items_in_database = helper.model.objects.count()
+ page.goto(f"/management/{helper.url}")
+ items_in_ui = page.locator(".list-group > .list-group-item")
+ expect(items_in_ui).to_have_count(num_items_in_database)
+
+
+@pytest.mark.parametrize("helper", model_helpers)
+def test_management_nested_view(
+ logged_in_admin_user: Page, helper: ModelHelper
+) -> None:
+ """For each element type, that has a nested view, click the first example."""
+ page = logged_in_admin_user
+ page.goto(f"/management/{helper.url}")
+ # Open nested view for element type
+ if helper.has_nested:
+ page.get_by_title(f"View {helper.verbose_name} nested").first.click()
+ expect(page.locator(".panel-default").first).to_be_visible()
+ expect(page.locator(".panel-default > .panel-body").first).to_be_visible()
+
+
+@pytest.mark.parametrize("helper", model_helpers)
+def test_management_create_model(
+ logged_in_admin_user: Page, helper: ModelHelper
+) -> None:
+ """Test management UI can create objects in the database."""
+ page = logged_in_admin_user
+ num_objects_at_start = helper.model.objects.count()
+ page.goto(f"/management/{helper.url}")
+ # click "New" button
+ page.get_by_role("button", name="New").click()
+ # fill mandatory fields
+ value = "some-value"
+ page.get_by_label(helper.form_field).fill(value)
+ if helper.model == Condition:
+ # conditions need to have a source attribute
+ source_form = (
+ page.locator(".form-group")
+ .filter(has_text="Source")
+ .locator(".select-item > .react-select")
+ )
+ source_form.click()
+ page.keyboard.type(Attribute.objects.first().uri)
+ page.keyboard.press("Enter")
+
+ # save
+ page.get_by_role("button", name="Create").nth(1).click()
+ # check if new item is in list
+ items_in_ui = page.locator(".list-group > .list-group-item")
+ expect(items_in_ui).to_have_count(num_objects_at_start + 1)
+
+ num_objects_after_save = helper.model.objects.count()
+ assert num_objects_after_save - num_objects_at_start == 1
+ query = {helper.db_field: value}
+ assert helper.model.objects.get(**query)
+
+
+@pytest.mark.parametrize("helper", model_helpers)
+def test_management_edit_model(logged_in_admin_user: Page, helper: ModelHelper) -> None:
+ page = logged_in_admin_user
+ page.goto(f"/management/{helper.url}")
+ # click edit
+ edit_button_title = f"Edit {helper.verbose_name}"
+ page.get_by_title(f"{edit_button_title}").first.click()
+ # edit
+ page.get_by_label("Comment").click()
+ comment = "this is a comment."
+ page.get_by_label("Comment").fill(comment)
+ # save
+ page.get_by_role("button", name="Save").nth(1).click()
+ # click on edit element again
+ page.get_by_title(f"{edit_button_title}").first.click()
+ # check the updated comment
+ comment_locator = page.get_by_label("Comment")
+ expect(comment_locator).to_have_text(comment)
+ # compare the updated comment with element object from db
+ url_id = int(urlparse(page.url).path.rstrip("/").split("/")[-1])
+ model_obj = helper.model.objects.get(id=url_id)
+ assert model_obj.comment == comment
From 28197f127b2071c6d4c2f4a76cd4ae6892326de7 Mon Sep 17 00:00:00 2001
From: Heinz-Alexander Fuetterer
Date: Thu, 2 Nov 2023 06:41:19 +0100
Subject: [PATCH 052/114] ci: run e2e tests in ci
---
.github/workflows/ci.yml | 39 ++++++++++++++++++++++++---------------
1 file changed, 24 insertions(+), 15 deletions(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 369086b358..fe1418d7b4 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -92,6 +92,30 @@ jobs:
GITHUB_DB_BACKEND: ${{ matrix.db-backend }}
COVERALLS_FLAG_NAME: '${{ matrix.db-backend }}: ${{ matrix.python-version }}'
COVERALLS_PARALLEL: true
+ # end-to-end tests
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 18
+ cache: npm
+ if: matrix.python-version == '3.12' && matrix.db-backend == 'postgres'
+ - name: Cache Playwright browsers
+ uses: actions/cache@v3
+ with:
+ path: ~/.cache/ms-playwright/
+ key: playwright-browsers
+ if: matrix.python-version == '3.12' && matrix.db-backend == 'postgres'
+ - name: Install e2e tests dependencies
+ run: |
+ npm install
+ npm run build:prod
+ playwright install chromium
+ if: matrix.python-version == '3.12' && matrix.db-backend == 'postgres'
+ - name: Run end-to-end tests
+ run: pytest -p randomly -p no:cacheprovider --reuse-db --numprocesses=auto --dist=loadscope -m e2e --nomigrations
+ if: matrix.python-version == '3.12' && matrix.db-backend == 'postgres'
+ env:
+ DJANGO_DEBUG: True
+ GITHUB_DB_BACKEND: ${{ matrix.db-backend }}
coveralls:
name: Indicate completion to coveralls
@@ -140,20 +164,6 @@ jobs:
- run: python -m pip freeze
- run: python -m pip list --outdated
- webpack-build:
- name: Test webpack-build
- needs: lint
- runs-on: ubuntu-22.04
- steps:
- - uses: actions/checkout@v4
- - uses: actions/setup-node@v3
- with:
- node-version: 18
- cache: npm
- - run: npm install --dev
- - run: npm run build
- - run: npm run build:prod
-
required-checks-pass:
if: always()
needs:
@@ -162,7 +172,6 @@ jobs:
- coveralls
- dev-setup
- optional-dependencies
- - webpack-build
runs-on: ubuntu-22.04
steps:
- uses: re-actors/alls-green@release/v1
From 7966a289f79fdec73b138589e924984ee3feb486 Mon Sep 17 00:00:00 2001
From: Heinz-Alexander Fuetterer <35225576+afuetterer@users.noreply.github.com>
Date: Wed, 1 Nov 2023 15:15:26 +0100
Subject: [PATCH 053/114] ci: add build-wheel job
Fixes: #802
---
.github/workflows/ci.yml | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index fe1418d7b4..6a15149688 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -130,6 +130,35 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ build-wheel:
+ name: Build python wheel
+ needs: test
+ runs-on: ubuntu-22.04
+ if: github.event_name == 'pull_request'
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 18
+ cache: npm
+ - run: npm install
+ - run: npm run build:prod
+ - uses: actions/setup-python@v4
+ with:
+ python-version: '3.12'
+ cache: pip
+ - run: python -m pip install --upgrade build pip setuptools wheel
+ - run: python -m build --wheel
+ - run: |
+ PR_NUMBER=${{ github.event.pull_request.number }}
+ WHL_FILE=$(ls dist/*.whl)
+ NEW_NAME="${WHL_FILE/-py3-none-any/dev${PR_NUMBER}-py3-none-any}"
+ mv "$WHL_FILE" "$NEW_NAME"
+ - uses: actions/upload-artifact@v3
+ with:
+ name: wheel
+ path: dist/*.whl
+
dev-setup:
# Ref: structlog (MIT licensed)
name: "Test dev setup on ${{ matrix.os }}"
@@ -170,6 +199,7 @@ jobs:
- lint
- test
- coveralls
+ - build-wheel
- dev-setup
- optional-dependencies
runs-on: ubuntu-22.04
From 6441d6cf185d51a9a7287440b7622698a0f25ffd Mon Sep 17 00:00:00 2001
From: David Wallace
Date: Thu, 16 Nov 2023 10:58:40 +0100
Subject: [PATCH 054/114] feat: #824 add editors, sites to create Factories
(when multisite)
---
.../assets/js/factories/ConditionsFactory.js | 3 ++-
.../assets/js/factories/DomainFactory.js | 7 ++++---
.../assets/js/factories/OptionsFactory.js | 6 ++++--
.../assets/js/factories/QuestionsFactory.js | 16 +++++++++++-----
.../assets/js/factories/TasksFactory.js | 4 +++-
.../assets/js/factories/ViewsFactory.js | 4 +++-
6 files changed, 27 insertions(+), 13 deletions(-)
diff --git a/rdmo/management/assets/js/factories/ConditionsFactory.js b/rdmo/management/assets/js/factories/ConditionsFactory.js
index 28c8cbab48..5f9fa8f15b 100644
--- a/rdmo/management/assets/js/factories/ConditionsFactory.js
+++ b/rdmo/management/assets/js/factories/ConditionsFactory.js
@@ -9,7 +9,8 @@ class ConditionsFactory {
pages: parent.page ? [parent.page.id] : [],
questionsets: parent.questionset ? [parent.questionset.id] : [],
questions: parent.question ? [parent.question.id] : [],
- tasks: parent.task ? [parent.task.id] : []
+ tasks: parent.task ? [parent.task.id] : [],
+ editors: config.settings.multisite ? [config.currentSite.id] : [],
}
}
diff --git a/rdmo/management/assets/js/factories/DomainFactory.js b/rdmo/management/assets/js/factories/DomainFactory.js
index 914decb807..3fbc469226 100644
--- a/rdmo/management/assets/js/factories/DomainFactory.js
+++ b/rdmo/management/assets/js/factories/DomainFactory.js
@@ -1,4 +1,4 @@
-class QuestionsFactory {
+class DomainFactory {
static createAttribute(config, parent) {
return {
@@ -8,10 +8,11 @@ class QuestionsFactory {
conditions: parent.condition ? [parent.condition.id] : [],
pages: parent.page ? [parent.page.id] : [],
questionsets: parent.questionset ? [parent.questionset.id] : [],
- questions: parent.question ? [parent.question.id] : []
+ questions: parent.question ? [parent.question.id] : [],
+ editors: config.settings.multisite ? [config.currentSite.id] : [],
}
}
}
-export default QuestionsFactory
+export default DomainFactory
diff --git a/rdmo/management/assets/js/factories/OptionsFactory.js b/rdmo/management/assets/js/factories/OptionsFactory.js
index 4cb4076017..a0b6436193 100644
--- a/rdmo/management/assets/js/factories/OptionsFactory.js
+++ b/rdmo/management/assets/js/factories/OptionsFactory.js
@@ -4,7 +4,8 @@ class OptionsFactory {
return {
model: 'options.optionset',
uri_prefix: config.settings.default_uri_prefix,
- questions: parent.question ? [parent.question.id] : []
+ questions: parent.question ? [parent.question.id] : [],
+ editors: config.settings.multisite ? [config.currentSite.id] : [],
}
}
@@ -13,7 +14,8 @@ class OptionsFactory {
model: 'options.option',
uri_prefix: config.settings.default_uri_prefix,
optionsets: parent.optionset ? [parent.optionset.id] : [],
- conditions: []
+ conditions: [],
+ editors: config.settings.multisite ? [config.currentSite.id] : [],
}
}
diff --git a/rdmo/management/assets/js/factories/QuestionsFactory.js b/rdmo/management/assets/js/factories/QuestionsFactory.js
index a9fe2dcd39..bb8d6a47f6 100644
--- a/rdmo/management/assets/js/factories/QuestionsFactory.js
+++ b/rdmo/management/assets/js/factories/QuestionsFactory.js
@@ -5,7 +5,9 @@ class QuestionsFactory {
model: 'questions.catalog',
uri_prefix: config.settings.default_uri_prefix,
available: true,
- sections: []
+ sections: [],
+ sites: config.settings.multisite ? [config.currentSite.id] : [],
+ editors: config.settings.multisite ? [config.currentSite.id] : [],
}
}
@@ -14,7 +16,8 @@ class QuestionsFactory {
model: 'questions.section',
uri_prefix: config.settings.default_uri_prefix,
catalogs: parent.catalog ? [parent.catalog.id] : [],
- pages: []
+ pages: [],
+ editors: config.settings.multisite ? [config.currentSite.id] : [],
}
}
@@ -24,7 +27,8 @@ class QuestionsFactory {
uri_prefix: config.settings.default_uri_prefix,
sections: parent.section ? [parent.section.id] : [],
questionsets: [],
- questions: []
+ questions: [],
+ editors: config.settings.multisite ? [config.currentSite.id] : [],
}
}
@@ -35,7 +39,8 @@ class QuestionsFactory {
pages: parent.page ? [parent.page.id] : [],
parents: parent.questionset ? [parent.questionset.id] : [],
questionsets: [],
- questions: []
+ questions: [],
+ editors: config.settings.multisite ? [config.currentSite.id] : [],
}
}
@@ -46,7 +51,8 @@ class QuestionsFactory {
widget_type: 'text',
value_type: 'text',
pages: parent.page ? [parent.page.id] : [],
- questionsets: parent.questionset ? [parent.questionset.id] : []
+ questionsets: parent.questionset ? [parent.questionset.id] : [],
+ editors: config.settings.multisite ? [config.currentSite.id] : [],
}
}
diff --git a/rdmo/management/assets/js/factories/TasksFactory.js b/rdmo/management/assets/js/factories/TasksFactory.js
index b2496654cc..10c2697729 100644
--- a/rdmo/management/assets/js/factories/TasksFactory.js
+++ b/rdmo/management/assets/js/factories/TasksFactory.js
@@ -3,7 +3,9 @@ class TasksFactory {
static createTask(config) {
return {
model: 'tasks.task',
- uri_prefix: config.settings.default_uri_prefix
+ uri_prefix: config.settings.default_uri_prefix,
+ sites: config.settings.multisite ? [config.currentSite.id] : [],
+ editors: config.settings.multisite ? [config.currentSite.id] : [],
}
}
diff --git a/rdmo/management/assets/js/factories/ViewsFactory.js b/rdmo/management/assets/js/factories/ViewsFactory.js
index cf91d27a6f..442e612b80 100644
--- a/rdmo/management/assets/js/factories/ViewsFactory.js
+++ b/rdmo/management/assets/js/factories/ViewsFactory.js
@@ -4,7 +4,9 @@ class ViewsFactory {
return {
model: 'views.view',
uri_prefix: config.settings.default_uri_prefix,
- template: '{% load view_tags %}\n'
+ template: '{% load view_tags %}\n',
+ sites: config.settings.multisite ? [config.currentSite.id] : [],
+ editors: config.settings.multisite ? [config.currentSite.id] : [],
}
}
From b2ee634309553ec30c9e56b38fc558ca59295027 Mon Sep 17 00:00:00 2001
From: David Wallace
Date: Wed, 22 Nov 2023 15:10:04 +0100
Subject: [PATCH 055/114] tests: fix test_value_select
---
rdmo/projects/tests/test_value.py | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/rdmo/projects/tests/test_value.py b/rdmo/projects/tests/test_value.py
index 406b9014e5..0ebeb71393 100644
--- a/rdmo/projects/tests/test_value.py
+++ b/rdmo/projects/tests/test_value.py
@@ -41,11 +41,12 @@ def test_value_radio(db, mocker):
assert value.option_additional_input is True
-def test_value_select(db):
+def test_value_select(db, mocker):
value = Value.objects.get(id=5)
- assert value.value == ''
- assert value.value_and_unit == ''
- assert value.option_text == ''
+ mocker.patch('rdmo.options.models.Option.trans', mocked_trans)
+ assert value.value == 'One'
+ assert value.value_and_unit == 'One'
+ assert value.option_text == 'One'
assert value.option_additional_input is False
From a8d92c17616ad4da9bb68e4e93abfc098674274c Mon Sep 17 00:00:00 2001
From: Jochen Klar
Date: Mon, 16 Oct 2023 13:14:11 +0200
Subject: [PATCH 056/114] Fix translated strings (Projektaufgaben,
Projektansichten) and some automatic reformatting (#254)
---
rdmo/locale/de/LC_MESSAGES/django.mo | Bin 90718 -> 90716 bytes
rdmo/locale/de/LC_MESSAGES/django.po | 70 +++++++++++++--------------
2 files changed, 35 insertions(+), 35 deletions(-)
diff --git a/rdmo/locale/de/LC_MESSAGES/django.mo b/rdmo/locale/de/LC_MESSAGES/django.mo
index 9fdc03bb459b9799fa95f738d6ac75a2cd7b7a4a..f9caf3b61c608742740c2d431362e9856d9464d5 100644
GIT binary patch
delta 729
zcmXZaPbj2u9LMqRml@XBXlaG9wfWoDVxPefq6u558Dw{@nU+y|*|qIODWxZgaB$hO
z(zbKa9wgKpw#{`eLMSehMh;TSVUN3qegF2E)9d&7_B_8nzvuT{CfpYZ_s*TqE*6n5
zL6s8RLND%PKHgv+{z3CxPRPm6FpJ!Z5AbEm5I!dlVIj`p9Dc|5Sl*`+z$J9yL7&?H
zH#lM7W^j(#m_$?H4m~LSDy5K(nOK8m=tom<7<2IxnuAQEDY%A}Dzc8I=>7l&$fwvz
zE*P{`I#`4U9b=dzU*i=fUa2hLkJnC-+BYg0LWffPj2y4SCHg;nMC)h(e%5g-cm3hTGm2n)y7#?9S
zejZWT#$9Z~kE1FUZeTgu7c5K@jjBAxCTzzbKEY+I!c8<+bBg9uCed8kEvDmrYW^D^
zk^kaD%o%gOj2F$7l%=dj-YbAUooOaN3e8c_Y(V@Z)SS7JsOW@@VW^Cw*oQirif%-Sz>RG#E+mB(
zf}kz}YZERkr9oVXJ8_c=D!39cqeT>g3zvoe)1B4tJTLbio^#JV+4h`nd)EF~cCLub
zMO5zLYQkOgk$+(Z{>8hP-sa>|OeTjg37;fv$1-v^X5(9&!Vfr%#Zi?8e1|u1KdScs
z4UQOi7@S}#o}(#nfhp)}SINiQcoPFyfYoRU#xM)lR*_F=itcq#fP9RN
zWM+UUD6plZ4TQQ)r4!V+YRSWBh?_c>jg-
z`~)_WH?a!6c9+UHi+UWvulNT2-71T?h&dSSQL(WFy`111(oqg$Ds{|D`cy`72$%2x
zTk!Qul~vrr5RUb$1aSom(LQBinz#p4val8(VHEv1izWC4&D9*E`IP5quIx9u@iH;L
z!aL-Dcni}9oiF1@b0tLyE0Fi{rG|yssNNY!7|qYogl41G_{_tl`IJCSxn<=At=h`C
hwVSN&$_G|Fv=^IPSdVDt!smz\n"
"Language-Team: RDMO \n"
"Language: de\n"
@@ -11,7 +11,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 3.2.2\n"
+"X-Generator: Poedit 2.4.2\n"
#: accounts/apps.py:7
msgid "Accounts"
@@ -359,11 +359,11 @@ msgstr "Bestätigen"
#: accounts/templates/account/email_confirm.html:29
#, python-format
msgid ""
-"This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request ."
+"This e-mail confirmation link expired or is invalid. Please issue a new e-mail confirmation request ."
msgstr ""
-"Dieser Bestätigungs-Link ist abgelaufen oder ungültig. Bitte fordern sie eine neue Betätigungs-E-Mail an ."
+"Dieser Bestätigungs-Link ist abgelaufen oder ungültig. Bitte fordern sie eine neue Betätigungs-E-Mail an ."
#: accounts/templates/account/login.html:6
#: accounts/templates/account/login_form.html:23
@@ -380,17 +380,17 @@ msgstr "Mit Shibboleth einloggen"
#: accounts/templates/account/login_form_account.html:7
#, python-format
msgid ""
-"If you have not created an account yet, then please sign up first."
+"If you have not created an account yet, then please sign up first."
msgstr ""
-"Falls Sie noch kein Benutzerkonto haben, registrieren Sie sich bitte zunächst."
+"Falls Sie noch kein Benutzerkonto haben, registrieren Sie sich bitte zunächst."
#: accounts/templates/account/login_form_account.html:14
#, python-format
msgid ""
-"If you forgot your password and want to reset it, click here ."
+"If you forgot your password and want to reset it, click here ."
msgstr ""
"Falls Sie Ihr Passwort vergessen haben und es zurücksetzen wollen, klicken "
"Sie bitte hier ."
@@ -520,8 +520,8 @@ msgstr "Neues Benutzerkonto erstellen"
msgid ""
"Already have an account? Then please sign in ."
msgstr ""
-"Falls Sie schon eine Benutzerkonto haben können Sie sich hier anmelden."
+"Falls Sie schon eine Benutzerkonto haben können Sie sich hier anmelden."
#: accounts/templates/account/signup.html:34
#: accounts/templates/socialaccount/signup.html:33
@@ -601,8 +601,8 @@ msgid ""
"Note: you can still change your e-"
"mail address ."
msgstr ""
-"Hinweis: Sie können immer noch Ihre E-Mail Adresse ändern ."
+"Hinweis: Sie können immer noch Ihre E-Mail Adresse ändern ."
#: accounts/templates/profile/profile_remove_closed.html:6
#: accounts/templates/profile/profile_remove_failed.html:6
@@ -728,12 +728,12 @@ msgstr "Anmeldung abgebrochen"
#, python-format
msgid ""
"You decided to cancel logging in to our site using one of your existing "
-"accounts. If this was a mistake, please proceed to sign in ."
+"accounts. If this was a mistake, please proceed to sign in ."
msgstr ""
"Sie haben sich entschieden, die Anmeldung mit einem externen Konto "
-"abzubrechen. Falls dies versehentlich geschehen ist, könne Sie hier fortsetzen."
+"abzubrechen. Falls dies versehentlich geschehen ist, könne Sie hier fortsetzen."
#: accounts/templates/socialaccount/signup.html:9
#, python-format
@@ -2337,11 +2337,11 @@ msgstr "Sehr geehrte Damen und Herren,"
#: projects/templates/projects/issue_send_message.txt:3
#, python-format
msgid ""
-"The following task was identified in the project \"%(project_title)s\" "
-"<%(project_url)s>:"
+"The following task was identified in the project \"%(project_title)s\" <"
+"%(project_url)s>:"
msgstr ""
-"Die folgende Aufgabe wurde im Projekt \"%(project_title)s\" "
-"<%(project_url)s> identifiziert:"
+"Die folgende Aufgabe wurde im Projekt \"%(project_title)s\" <"
+"%(project_url)s> identifiziert:"
#: projects/templates/projects/issue_send_message.txt:13
#, python-format
@@ -2366,8 +2366,8 @@ msgid ""
"You are about to remove the user %(user)s from the project "
"%(title)s ."
msgstr ""
-"Sie sind dabei den User %(user)s aus dem Projekt "
-"%(title)s zu entfernen."
+"Sie sind dabei den User %(user)s aus dem Projekt "
+"%(title)s zu entfernen."
#: projects/templates/projects/membership_form.html:9
#: projects/templates/projects/membership_form.html:11
@@ -2614,14 +2614,14 @@ msgstr "Antworten anzeigen"
#: projects/templates/projects/project_detail_sidebar.html:57
#: projects/templates/projects/project_form.html:23
msgid "Update project tasks"
-msgstr "Projekt Aufgaben bearbeiten"
+msgstr "Projektaufgaben bearbeiten"
#: projects/templates/projects/project_detail_sidebar.html:62
#: projects/templates/projects/project_detail_views.html:23
#: projects/templates/projects/project_detail_views.html:50
#: projects/templates/projects/project_form.html:31
msgid "Update project views"
-msgstr "Projekt Ansichten bearbeiten"
+msgstr "Projektansichten bearbeiten"
#: projects/templates/projects/project_detail_sidebar.html:87
#: projects/templates/projects/project_detail_snapshots.html:25
@@ -2958,11 +2958,11 @@ msgstr ""
#: projects/templates/projects/project_questions_navigation_help.html:14
msgid ""
-"Entries with might be skipped based on your input."
+"Entries with might be skipped based on your input."
msgstr ""
-"Einträge mit können aufgrund Ihrer Eingabe übersprungen werden."
+"Einträge mit können aufgrund Ihrer Eingabe übersprungen werden."
#: projects/templates/projects/project_questions_overview.html:14
#: projects/templates/projects/site_projects.html:52
@@ -2987,9 +2987,9 @@ msgid ""
msgstr ""
"Warnung: In der Datenbank sind mehrere Antworten vorhanden. Dies kann "
"aufgrund eines technischen Problems in der Vergangenheit geschehen. Sie "
-"können unerwünschte Antworten über das Feld \"Eintrag entfernen\" ( ) entfernen. Bitte kontaktieren Sie den Support, "
-"wenn das Problem weiterhin besteht."
+"können unerwünschte Antworten über das Feld \"Eintrag entfernen\" ( ) entfernen. Bitte kontaktieren Sie den Support, wenn "
+"das Problem weiterhin besteht."
#: projects/templates/projects/project_questions_questionset_head.html:34
#, python-format
From 5c43c33ce9ad34fe84a14201761f99f18621674a Mon Sep 17 00:00:00 2001
From: Jochen Klar
Date: Mon, 16 Oct 2023 13:47:40 +0200
Subject: [PATCH 057/114] Add accept to project import plugins to restrict
upload files (to e.g. .xml)
---
rdmo/core/templates/core/upload_form.html | 2 +-
rdmo/projects/imports.py | 3 +++
rdmo/projects/utils.py | 11 +++++++++++
rdmo/projects/views/project.py | 4 +++-
4 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/rdmo/core/templates/core/upload_form.html b/rdmo/core/templates/core/upload_form.html
index 4c7b89b458..c686739e8b 100644
--- a/rdmo/core/templates/core/upload_form.html
+++ b/rdmo/core/templates/core/upload_form.html
@@ -9,7 +9,7 @@
diff --git a/rdmo/projects/imports.py b/rdmo/projects/imports.py
index 3b20736a4e..d8fb08f5b2 100644
--- a/rdmo/projects/imports.py
+++ b/rdmo/projects/imports.py
@@ -28,6 +28,7 @@
class Import(Plugin):
+ accept = None
upload = True
def __init__(self, *args, **kwargs):
@@ -88,6 +89,8 @@ def get_view(self, view_uri):
class RDMOXMLImport(Import):
+ accept = '.xml'
+
def check(self):
file_type, encoding = mimetypes.guess_type(self.file_name)
if file_type == 'application/xml' or file_type == 'text/xml':
diff --git a/rdmo/projects/utils.py b/rdmo/projects/utils.py
index 94b57e0793..8a964f7334 100644
--- a/rdmo/projects/utils.py
+++ b/rdmo/projects/utils.py
@@ -7,6 +7,7 @@
from django.urls import reverse
from rdmo.core.mail import send_mail
+from rdmo.core.plugins import get_plugins
logger = logging.getLogger(__name__)
@@ -173,3 +174,13 @@ def set_context_querystring_with_filter_and_page(context: dict) -> dict:
del querystring['page']
context['querystring'] = querystring.urlencode()
return context
+
+
+def get_upload_accept():
+ accept = set()
+ for import_plugin in get_plugins('PROJECT_IMPORTS').values():
+ if import_plugin.accept:
+ accept.add(import_plugin.accept)
+ else:
+ return None
+ return ','.join(accept)
diff --git a/rdmo/projects/views/project.py b/rdmo/projects/views/project.py
index aa243b1609..d6324a8164 100644
--- a/rdmo/projects/views/project.py
+++ b/rdmo/projects/views/project.py
@@ -27,7 +27,7 @@
from ..filters import ProjectFilter
from ..models import Integration, Invite, Membership, Project, Value
-from ..utils import set_context_querystring_with_filter_and_page
+from ..utils import get_upload_accept, set_context_querystring_with_filter_and_page
logger = logging.getLogger(__name__)
@@ -71,6 +71,7 @@ def get_context_data(self, **kwargs):
context['invites'] = Invite.objects.filter(user=self.request.user)
context['is_site_manager'] = is_site_manager(self.request.user)
context['number_of_filtered_projects'] = context["filter"].qs.count()
+ context['upload_accept'] = get_upload_accept()
context = set_context_querystring_with_filter_and_page(context)
return context
@@ -161,6 +162,7 @@ def get_context_data(self, **kwargs):
context['snapshots'] = project.snapshots.all()
context['invites'] = project.invites.all()
context['membership'] = Membership.objects.filter(project=project, user=self.request.user).first()
+ context['upload_accept'] = get_upload_accept()
return context
From c9bfea17b1c6bd42d71a246669a6a177c2a6a441 Mon Sep 17 00:00:00 2001
From: Jochen Klar
Date: Mon, 16 Oct 2023 15:45:55 +0200
Subject: [PATCH 058/114] Add accept=".xml" to management upload form component
---
rdmo/management/assets/js/components/common/Forms.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rdmo/management/assets/js/components/common/Forms.js b/rdmo/management/assets/js/components/common/Forms.js
index 80a7c7a0d5..2ce5080020 100644
--- a/rdmo/management/assets/js/components/common/Forms.js
+++ b/rdmo/management/assets/js/components/common/Forms.js
@@ -13,7 +13,7 @@ const UploadForm = ({ onSubmit }) => {
return (
+ {% if can_add_project %}
+
{% trans 'Import existing project' %}
@@ -97,6 +99,8 @@ {% trans 'Import existing project' %}
{% endif %}
+ {% endif %}
+
{% if invites %}
{% trans 'Pending invitations' %}
diff --git a/rdmo/projects/views/project_create.py b/rdmo/projects/views/project_create.py
index 171bb19156..c909e9a719 100644
--- a/rdmo/projects/views/project_create.py
+++ b/rdmo/projects/views/project_create.py
@@ -21,7 +21,7 @@ class ProjectCreateView(ObjectPermissionMixin, LoginRequiredMixin,
RedirectViewMixin, CreateView):
model = Project
form_class = ProjectForm
- permission_required = 'projects.add_project_object'
+ permission_required = 'projects.add_project'
def get_form_kwargs(self):
catalogs = Catalog.objects.filter_current_site() \
@@ -70,7 +70,7 @@ def form_valid(self, form):
class ProjectCreateImportView(ObjectPermissionMixin, LoginRequiredMixin,
ProjectImportMixin, TemplateView):
success_url = reverse_lazy('projects')
- permission_required = 'projects.add_project_object'
+ permission_required = 'projects.add_project'
def get(self, request, *args, **kwargs):
self.object = None
From e59d286dbea44090b0c101dc4d754db019b06f42 Mon Sep 17 00:00:00 2001
From: Jochen Klar
Date: Thu, 19 Oct 2023 18:02:36 +0200
Subject: [PATCH 078/114] Add ACCOUNT_GROUPS and SOCIALACCOUNT_GROUPS to
settings
---
rdmo/accounts/adapter.py | 19 +++++++++++++++++++
rdmo/core/settings.py | 21 ++++++++++-----------
2 files changed, 29 insertions(+), 11 deletions(-)
diff --git a/rdmo/accounts/adapter.py b/rdmo/accounts/adapter.py
index ccc7bf4d25..efa7902ce4 100644
--- a/rdmo/accounts/adapter.py
+++ b/rdmo/accounts/adapter.py
@@ -1,4 +1,5 @@
from django.conf import settings
+from django.contrib.auth.models import Group
from allauth.account.adapter import DefaultAccountAdapter
from allauth.socialaccount.adapter import DefaultSocialAccountAdapter
@@ -9,8 +10,26 @@ class AccountAdapter(DefaultAccountAdapter):
def is_open_for_signup(self, request):
return settings.ACCOUNT_SIGNUP
+ def save_user(self, request, user, form, commit=True):
+ user = super().save_user(request, user, form, commit)
+
+ if settings.ACCOUNT_GROUPS:
+ groups = Group.objects.filter(name__in=settings.ACCOUNT_GROUPS)
+ user.groups.set(groups)
+
+ return user
class SocialAccountAdapter(DefaultSocialAccountAdapter):
def is_open_for_signup(self, request, sociallogin):
return settings.SOCIALACCOUNT_SIGNUP
+
+ def save_user(self, request, sociallogin, form=None):
+ user = super().save_user(request, sociallogin, form)
+
+ if settings.SOCIALACCOUNT_GROUPS:
+ provider = str(sociallogin.account.provider)
+ groups = Group.objects.filter(name__in=settings.SOCIALACCOUNT_GROUPS.get(provider, []))
+ user.groups.set(groups)
+
+ return user
diff --git a/rdmo/core/settings.py b/rdmo/core/settings.py
index 78741dada6..5b529518cb 100644
--- a/rdmo/core/settings.py
+++ b/rdmo/core/settings.py
@@ -98,15 +98,9 @@
ACCOUNT = False
ACCOUNT_SIGNUP = False
+ACCOUNT_GROUPS = []
ACCOUNT_TERMS_OF_USE = False
-
-SOCIALACCOUNT = False
-
-SHIBBOLETH = False
-SHIBBOLETH_LOGIN_URL = '/Shibboleth.sso/Login'
-SHIBBOLETH_LOGOUT_URL = '/Shibboleth.sso/Logout'
-SHIBBOLETH_USERNAME_PATTERN = None
-
+ACCOUNT_ADAPTER = 'rdmo.accounts.adapter.AccountAdapter'
ACCOUNT_SIGNUP_FORM_CLASS = 'rdmo.accounts.forms.SignupForm'
ACCOUNT_USER_DISPLAY = 'rdmo.accounts.utils.get_full_name'
ACCOUNT_EMAIL_REQUIRED = True
@@ -120,11 +114,16 @@
ACCOUNT_PREVENT_ENUMERATION = False
ACCOUNT_ALLOW_USER_TOKEN = False
-ACCOUNT_ADAPTER = 'rdmo.accounts.adapter.AccountAdapter'
-
-SOCIALACCOUNT_ADAPTER = 'rdmo.accounts.adapter.SocialAccountAdapter'
+SOCIALACCOUNT = False
SOCIALACCOUNT_SIGNUP = False
+SOCIALACCOUNT_GROUPS = []
SOCIALACCOUNT_AUTO_SIGNUP = False
+SOCIALACCOUNT_ADAPTER = 'rdmo.accounts.adapter.SocialAccountAdapter'
+
+SHIBBOLETH = False
+SHIBBOLETH_LOGIN_URL = '/Shibboleth.sso/Login'
+SHIBBOLETH_LOGOUT_URL = '/Shibboleth.sso/Logout'
+SHIBBOLETH_USERNAME_PATTERN = None
LANGUAGE_CODE = 'en-us'
From deba05efec4b5ea4518b36b604d396543adc65cc Mon Sep 17 00:00:00 2001
From: Jochen Klar
Date: Fri, 24 Nov 2023 14:27:19 +0100
Subject: [PATCH 079/114] Flatten if/else blocks
---
rdmo/projects/permissions.py | 20 ++++++++++----------
rdmo/projects/rules.py | 12 ++++++------
2 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/rdmo/projects/permissions.py b/rdmo/projects/permissions.py
index 749a94449a..c7c87a5f91 100644
--- a/rdmo/projects/permissions.py
+++ b/rdmo/projects/permissions.py
@@ -12,17 +12,17 @@ def has_permission(self, request, view):
# for retrieve, update, partial_update, the permission will be checked on the
# object level (in the next step)
return True
+
+ if view.action == 'list':
+ # list is allowed for every user since the filtering is done in the queryset
+ return True
+
+ if 'create' in view.action_map.values():
+ # for create, check the permission (from rules.py),
+ # but only if it is not a ReadOnlyValueSet (i.e. only for ProjectViewSet)
+ return super().has_permission(request, view)
else:
- if view.action == 'list':
- # list is allowed for every user since the filtering is done in the queryset
- return True
- else:
- if 'create' in view.action_map.values():
- # for create, check the permission (from rules.py),
- # but only if it is not a ReadOnlyValueSet (i.e. only for ProjectViewSet)
- return super().has_permission(request, view)
- else:
- return True
+ return True
@log_result
def has_object_permission(self, request, view, obj):
diff --git a/rdmo/projects/rules.py b/rdmo/projects/rules.py
index 15baa9230b..fbab7c065f 100644
--- a/rdmo/projects/rules.py
+++ b/rdmo/projects/rules.py
@@ -7,14 +7,14 @@
@rules.predicate
def can_add_project(user):
- if settings.PROJECT_CREATE_RESTRICTED:
- if settings.PROJECT_CREATE_GROUPS:
- return user.groups.filter(name__in=settings.PROJECT_CREATE_GROUPS).exists()
- else:
- return False
- else:
+ if not settings.PROJECT_CREATE_RESTRICTED:
return True
+ if settings.PROJECT_CREATE_GROUPS:
+ return user.groups.filter(name__in=settings.PROJECT_CREATE_GROUPS).exists()
+ else:
+ return False
+
@rules.predicate
def is_project_member(user, project):
From ceeccd80d5a6421de73a67c91b8d38afe65977c7 Mon Sep 17 00:00:00 2001
From: Jochen Klar
Date: Sun, 26 Nov 2023 09:37:07 +0100
Subject: [PATCH 080/114] Fix testing
---
pyproject.toml | 2 +-
testing/export/project.csv | 4 ++--
testing/export/project.html | 4 ++--
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/pyproject.toml b/pyproject.toml
index e5c838a042..bd02299fac 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -183,7 +183,7 @@ rest_framework = ["rest_framework"]
[tool.pytest.ini_options]
DJANGO_SETTINGS_MODULE = "config.settings"
testpaths = ["rdmo"]
-python_files = "test_*[!.txt].py"
+python_files = "test_*.py"
pythonpath = [".", "testing"]
addopts = '-p no:randomly -m "not e2e"'
markers = [
diff --git a/testing/export/project.csv b/testing/export/project.csv
index 1092d726f6..6d1bf98884 100644
--- a/testing/export/project.csv
+++ b/testing/export/project.csv
@@ -1,7 +1,7 @@
Text?,,Lorem ipsum dolor sit amet
Textarea?,,"Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est. Lorem ipsum dolor sit amet."
Yes or no?,,Yes
-Radio buttons?,,Other: Lorem ipsum
+Radio buttons?,,Text: Lorem ipsum
Select drop-down?,,One
Range slider?,,37
File?,,rdmo-logo.svg
@@ -18,7 +18,7 @@ Checkbox?,,One; Three
Text?,,Lorem ipsum dolor sit amet
Textarea?,,"Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est. Lorem ipsum dolor sit amet."
Yes or no?,,Yes
-Radio buttons?,,Other: Lorem ipsum
+Radio buttons?,,Text: Lorem ipsum
Select drop-down?,,One
Range slider?,,37
Date picker?,,2018-01-01
diff --git a/testing/export/project.html b/testing/export/project.html
index aba80183d7..b961e65aa4 100644
--- a/testing/export/project.html
+++ b/testing/export/project.html
@@ -23,7 +23,7 @@ Yes or no
Radio buttons
Radio buttons?
-Other: Lorem ipsum
+Text: Lorem ipsum
Select drop-down
Select drop-down?
@@ -171,7 +171,7 @@ Individual sets I
Radio buttons?
-Other: Lorem ipsum
+Text: Lorem ipsum
Select drop-down?
From 389680b2397388dcc1c372cc8e3d1374562249d4 Mon Sep 17 00:00:00 2001
From: Jochen Klar
Date: Sun, 26 Nov 2023 10:10:41 +0100
Subject: [PATCH 081/114] Fix project progress permissions
---
rdmo/projects/permissions.py | 19 +++++++++++++------
rdmo/projects/viewsets.py | 5 +++--
2 files changed, 16 insertions(+), 8 deletions(-)
diff --git a/rdmo/projects/permissions.py b/rdmo/projects/permissions.py
index c7c87a5f91..9fa7be5ffb 100644
--- a/rdmo/projects/permissions.py
+++ b/rdmo/projects/permissions.py
@@ -1,4 +1,4 @@
-from rdmo.core.permissions import HasObjectPermission, log_result
+from rdmo.core.permissions import HasModelPermission, HasObjectPermission, log_result
class HasProjectsPermission(HasObjectPermission):
@@ -74,12 +74,19 @@ def get_required_object_permissions(self, method, model_cls):
return ('projects.view_page_object', )
-class HasProjectProgressPermission(HasProjectPermission):
+class HasProjectProgressModelPermission(HasModelPermission):
+
+ def get_required_permissions(self, method, model_cls):
+ if method == 'POST':
+ return ('projects.change_project', )
+ else:
+ return ('projects.view_project', )
+
+
+class HasProjectProgressObjectPermission(HasProjectPermission):
def get_required_object_permissions(self, method, model_cls):
- if method == 'GET':
- return ('projects.view_project_object', )
- elif method == 'POST':
+ if method == 'POST':
return ('projects.change_project_progress_object', )
else:
- raise RuntimeError('Unsupported method for HasProjectProgressPermission')
+ return ('projects.view_project_object', )
diff --git a/rdmo/projects/viewsets.py b/rdmo/projects/viewsets.py
index 0d3ab9e29e..378a97c68b 100644
--- a/rdmo/projects/viewsets.py
+++ b/rdmo/projects/viewsets.py
@@ -28,7 +28,8 @@
from .permissions import (
HasProjectPagePermission,
HasProjectPermission,
- HasProjectProgressPermission,
+ HasProjectProgressModelPermission,
+ HasProjectProgressObjectPermission,
HasProjectsPermission,
)
from .progress import compute_navigation, compute_progress
@@ -174,7 +175,7 @@ def options(self, request, pk=None):
raise NotFound()
@action(detail=True, methods=['get', 'post'],
- permission_classes=(HasModelPermission | HasProjectProgressPermission, ))
+ permission_classes=(HasProjectProgressModelPermission | HasProjectProgressObjectPermission, ))
def progress(self, request, pk=None):
project = self.get_object()
From 1fb0af4c01be22404aa49f9978d63b11988ace8c Mon Sep 17 00:00:00 2001
From: Jochen Klar
Date: Sun, 26 Nov 2023 11:48:00 +0100
Subject: [PATCH 082/114] Fix tests
---
.github/workflows/ci.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 38e80f4b73..55283b2312 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -64,7 +64,7 @@ jobs:
- name: Install Dependencies
run: |
sudo apt update
- sudo apt install --yes pandoc texlive-xetex
+ sudo apt install --yes pandoc texlive-xetex librsvg2-bin
python -m pip install --upgrade pip setuptools wheel
pandoc --version
- name: Install rdmo[mysql] and start mysql
From 86f4fe45e8b30d55eb0d45f941602cc5c8836895 Mon Sep 17 00:00:00 2001
From: Heinz-Alexander Fuetterer
Date: Tue, 28 Nov 2023 06:49:37 +0100
Subject: [PATCH 083/114] chore: enable flake8-django (DJ) rule in ruff config
---
pyproject.toml | 1 +
rdmo/conditions/admin.py | 13 +-
rdmo/domain/admin.py | 11 +-
..._lang1_alter_option_help_lang2_and_more.py | 112 ++
rdmo/options/models.py | 20 +-
rdmo/projects/models/integration.py | 10 +-
rdmo/projects/models/invite.py | 4 +-
rdmo/projects/models/issue.py | 3 +-
rdmo/projects/models/membership.py | 4 +-
.../0093_alter_question_comment_and_more.py | 194 +++
rdmo/questions/models/question.py | 40 +-
rdmo/tasks/admin.py | 28 +-
rdmo/tasks/models.py | 4 +-
rdmo/views/admin.py | 24 +-
rdmo/views/models.py | 4 +-
testing/fixtures/questions.json | 1236 ++++++++---------
16 files changed, 1041 insertions(+), 667 deletions(-)
create mode 100644 rdmo/options/migrations/0035_alter_option_help_lang1_alter_option_help_lang2_and_more.py
create mode 100644 rdmo/questions/migrations/0093_alter_question_comment_and_more.py
diff --git a/pyproject.toml b/pyproject.toml
index bd02299fac..043ac913b8 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -125,6 +125,7 @@ line-length = 120
select = [
"B", # flake8-bugbear
"C4", # flake8-comprehensions
+ "DJ", # flake8-django
"E", # pycodestyle
"F", # pyflakes
"I", # isort
diff --git a/rdmo/conditions/admin.py b/rdmo/conditions/admin.py
index 7bcfb04697..ffdedb71aa 100644
--- a/rdmo/conditions/admin.py
+++ b/rdmo/conditions/admin.py
@@ -10,7 +10,18 @@ class ConditionAdminForm(forms.ModelForm):
class Meta:
model = Condition
- fields = '__all__'
+ fields = [
+ "uri",
+ "uri_prefix",
+ "uri_path",
+ "comment",
+ "locked",
+ "editors",
+ "source",
+ "relation",
+ "target_text",
+ "target_option",
+ ]
def clean(self):
ConditionUniqueURIValidator(self.instance)(self.cleaned_data)
diff --git a/rdmo/domain/admin.py b/rdmo/domain/admin.py
index 44377ac95d..4e6cb8b71e 100644
--- a/rdmo/domain/admin.py
+++ b/rdmo/domain/admin.py
@@ -11,7 +11,16 @@ class AttributeAdminForm(forms.ModelForm):
class Meta:
model = Attribute
- fields = '__all__'
+ fields = [
+ 'uri',
+ 'uri_prefix',
+ 'key',
+ 'path',
+ 'comment',
+ 'locked',
+ 'editors',
+ 'parent',
+ ]
def clean(self):
AttributeUniqueURIValidator(self.instance)(self.cleaned_data)
diff --git a/rdmo/options/migrations/0035_alter_option_help_lang1_alter_option_help_lang2_and_more.py b/rdmo/options/migrations/0035_alter_option_help_lang1_alter_option_help_lang2_and_more.py
new file mode 100644
index 0000000000..e42ef7fcad
--- /dev/null
+++ b/rdmo/options/migrations/0035_alter_option_help_lang1_alter_option_help_lang2_and_more.py
@@ -0,0 +1,112 @@
+# Generated by Django 4.2.7 on 2023-11-28 06:07
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+ dependencies = [
+ ("options", "0034_option_view_text"),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name="option",
+ name="help_lang1",
+ field=models.TextField(
+ blank=True,
+ default="",
+ help_text="The help text for this option in the primary language.",
+ verbose_name="Help (primary)",
+ ),
+ ),
+ migrations.AlterField(
+ model_name="option",
+ name="help_lang2",
+ field=models.TextField(
+ blank=True,
+ default="",
+ help_text="The help text for this option in the secondary language.",
+ verbose_name="Help (secondary)",
+ ),
+ ),
+ migrations.AlterField(
+ model_name="option",
+ name="help_lang3",
+ field=models.TextField(
+ blank=True,
+ default="",
+ help_text="The help text for this option in the tertiary language.",
+ verbose_name="Help (tertiary)",
+ ),
+ ),
+ migrations.AlterField(
+ model_name="option",
+ name="help_lang4",
+ field=models.TextField(
+ blank=True,
+ default="",
+ help_text="The help text for this option in the quaternary language.",
+ verbose_name="Help (quaternary)",
+ ),
+ ),
+ migrations.AlterField(
+ model_name="option",
+ name="help_lang5",
+ field=models.TextField(
+ blank=True,
+ default="",
+ help_text="The help text for this option in the quinary language.",
+ verbose_name="Help (quinary)",
+ ),
+ ),
+ migrations.AlterField(
+ model_name="option",
+ name="view_text_lang1",
+ field=models.TextField(
+ blank=True,
+ default="",
+ help_text="The view text for this option in the primary language.",
+ verbose_name="View text (primary)",
+ ),
+ ),
+ migrations.AlterField(
+ model_name="option",
+ name="view_text_lang2",
+ field=models.TextField(
+ blank=True,
+ default="",
+ help_text="The view text for this option in the secondary language.",
+ verbose_name="View text (secondary)",
+ ),
+ ),
+ migrations.AlterField(
+ model_name="option",
+ name="view_text_lang3",
+ field=models.TextField(
+ blank=True,
+ default="",
+ help_text="The view text for this option in the tertiary language.",
+ verbose_name="View text (tertiary)",
+ ),
+ ),
+ migrations.AlterField(
+ model_name="option",
+ name="view_text_lang4",
+ field=models.TextField(
+ blank=True,
+ default="",
+ help_text="The view text for this option in the quaternary language.",
+ verbose_name="View text (quaternary)",
+ ),
+ ),
+ migrations.AlterField(
+ model_name="option",
+ name="view_text_lang5",
+ field=models.TextField(
+ blank=True,
+ default="",
+ help_text="The view text for this option in the quinary language.",
+ verbose_name="View text (quinary)",
+ ),
+ ),
+ ]
diff --git a/rdmo/options/models.py b/rdmo/options/models.py
index 413cea325e..05bea6cf1a 100644
--- a/rdmo/options/models.py
+++ b/rdmo/options/models.py
@@ -212,52 +212,52 @@ class Option(models.Model, TranslationMixin):
help_text=_('The text for this option in the quinary language.')
)
help_lang1 = models.TextField(
- null=True, blank=True,
+ blank=True, default="",
verbose_name=_('Help (primary)'),
help_text=_('The help text for this option in the primary language.')
)
help_lang2 = models.TextField(
- null=True, blank=True,
+ blank=True, default="",
verbose_name=_('Help (secondary)'),
help_text=_('The help text for this option in the secondary language.')
)
help_lang3 = models.TextField(
- null=True, blank=True,
+ blank=True, default="",
verbose_name=_('Help (tertiary)'),
help_text=_('The help text for this option in the tertiary language.')
)
help_lang4 = models.TextField(
- null=True, blank=True,
+ blank=True, default="",
verbose_name=_('Help (quaternary)'),
help_text=_('The help text for this option in the quaternary language.')
)
help_lang5 = models.TextField(
- null=True, blank=True,
+ blank=True, default="",
verbose_name=_('Help (quinary)'),
help_text=_('The help text for this option in the quinary language.')
)
view_text_lang1 = models.TextField(
- null=True, blank=True,
+ blank=True, default="",
verbose_name=_('View text (primary)'),
help_text=_('The view text for this option in the primary language.')
)
view_text_lang2 = models.TextField(
- null=True, blank=True,
+ blank=True, default="",
verbose_name=_('View text (secondary)'),
help_text=_('The view text for this option in the secondary language.')
)
view_text_lang3 = models.TextField(
- null=True, blank=True,
+ blank=True, default="",
verbose_name=_('View text (tertiary)'),
help_text=_('The view text for this option in the tertiary language.')
)
view_text_lang4 = models.TextField(
- null=True, blank=True,
+ blank=True, default="",
verbose_name=_('View text (quaternary)'),
help_text=_('The view text for this option in the quaternary language.')
)
view_text_lang5 = models.TextField(
- null=True, blank=True,
+ blank=True, default="",
verbose_name=_('View text (quinary)'),
help_text=_('The view text for this option in the quinary language.')
)
diff --git a/rdmo/projects/models/integration.py b/rdmo/projects/models/integration.py
index 14fc689c81..8bcad4f1df 100644
--- a/rdmo/projects/models/integration.py
+++ b/rdmo/projects/models/integration.py
@@ -9,8 +9,6 @@
class Integration(models.Model):
- objects = IntegrationManager()
-
project = models.ForeignKey(
'Project', on_delete=models.CASCADE, related_name='integrations',
verbose_name=_('Project'),
@@ -21,6 +19,8 @@ class Integration(models.Model):
help_text=_('The key of the provider for this integration.')
)
+ objects = IntegrationManager()
+
class Meta:
ordering = ('project__title', )
verbose_name = _('Integration')
@@ -29,13 +29,13 @@ class Meta:
def __str__(self):
return f'{self.project.title} / {self.provider_key}'
+ def get_absolute_url(self):
+ return reverse('project', kwargs={'pk': self.project.pk})
+
@property
def provider(self):
return get_plugin('PROJECT_ISSUE_PROVIDERS', self.provider_key)
- def get_absolute_url(self):
- return reverse('project', kwargs={'pk': self.project.pk})
-
def get_option_value(self, key):
try:
return self.options.get(key=key).value
diff --git a/rdmo/projects/models/invite.py b/rdmo/projects/models/invite.py
index 1c1c202b79..16986ecbbd 100644
--- a/rdmo/projects/models/invite.py
+++ b/rdmo/projects/models/invite.py
@@ -13,8 +13,6 @@ class Invite(models.Model):
key_salt = 'rdmo.projects.models.invite.Invite'
- objects = InviteManager()
-
project = models.ForeignKey(
'Project', on_delete=models.CASCADE, related_name='invites',
verbose_name=_('Project'),
@@ -45,6 +43,8 @@ class Invite(models.Model):
help_text=_('The timestamp for this invite.')
)
+ objects = InviteManager()
+
class Meta:
ordering = ('timestamp', )
verbose_name = _('Invite')
diff --git a/rdmo/projects/models/issue.py b/rdmo/projects/models/issue.py
index 1b2c30164d..3e4f574191 100644
--- a/rdmo/projects/models/issue.py
+++ b/rdmo/projects/models/issue.py
@@ -12,8 +12,6 @@
class Issue(models.Model):
- objects = IssueManager()
-
ISSUE_STATUS_OPEN = 'open'
ISSUE_STATUS_IN_PROGRESS = 'in_progress'
ISSUE_STATUS_CLOSED = 'closed'
@@ -39,6 +37,7 @@ class Issue(models.Model):
help_text=_('The status for this issue.')
)
+ objects = IssueManager()
class Meta:
ordering = ('project__title', 'task__uri')
verbose_name = _('Issue')
diff --git a/rdmo/projects/models/membership.py b/rdmo/projects/models/membership.py
index f794dff3f9..6e97f086d9 100644
--- a/rdmo/projects/models/membership.py
+++ b/rdmo/projects/models/membership.py
@@ -8,8 +8,6 @@
class Membership(models.Model):
- objects = MembershipManager()
-
ROLE_CHOICES = (
('owner', _('Owner')),
('manager', _('Manager')),
@@ -33,6 +31,8 @@ class Membership(models.Model):
help_text=_('The role for this membership.')
)
+ objects = MembershipManager()
+
class Meta:
ordering = ('project__title', )
verbose_name = _('Membership')
diff --git a/rdmo/questions/migrations/0093_alter_question_comment_and_more.py b/rdmo/questions/migrations/0093_alter_question_comment_and_more.py
new file mode 100644
index 0000000000..b94e325771
--- /dev/null
+++ b/rdmo/questions/migrations/0093_alter_question_comment_and_more.py
@@ -0,0 +1,194 @@
+# Generated by Django 4.2.7 on 2023-11-28 06:07
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+ dependencies = [
+ ("questions", "0092_remove_verbose_name_plural"),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name="question",
+ name="comment",
+ field=models.TextField(
+ blank=True,
+ default="",
+ help_text="Additional internal information about this question.",
+ verbose_name="Comment",
+ ),
+ ),
+ migrations.AlterField(
+ model_name="question",
+ name="default_text_lang1",
+ field=models.TextField(
+ blank=True,
+ default="",
+ help_text="The default text value for this question in the primary language.",
+ verbose_name="Default text value (primary)",
+ ),
+ ),
+ migrations.AlterField(
+ model_name="question",
+ name="default_text_lang2",
+ field=models.TextField(
+ blank=True,
+ default="",
+ help_text="The default text value for this question in the secondary language.",
+ verbose_name="Default text value (secondary)",
+ ),
+ ),
+ migrations.AlterField(
+ model_name="question",
+ name="default_text_lang3",
+ field=models.TextField(
+ blank=True,
+ default="",
+ help_text="The default text value for this question in the tertiary language.",
+ verbose_name="Default text value (tertiary)",
+ ),
+ ),
+ migrations.AlterField(
+ model_name="question",
+ name="default_text_lang4",
+ field=models.TextField(
+ blank=True,
+ default="",
+ help_text="The default text value for this question in the quaternary language.",
+ verbose_name="Default text value (quaternary)",
+ ),
+ ),
+ migrations.AlterField(
+ model_name="question",
+ name="default_text_lang5",
+ field=models.TextField(
+ blank=True,
+ default="",
+ help_text="The default text value for this question in the quinary language.",
+ verbose_name="Default text value (quinary)",
+ ),
+ ),
+ migrations.AlterField(
+ model_name="question",
+ name="help_lang1",
+ field=models.TextField(
+ blank=True,
+ default="",
+ help_text="The help text for this question in the primary language.",
+ verbose_name="Help (primary)",
+ ),
+ ),
+ migrations.AlterField(
+ model_name="question",
+ name="help_lang2",
+ field=models.TextField(
+ blank=True,
+ default="",
+ help_text="The help text for this question in the secondary language.",
+ verbose_name="Help (secondary)",
+ ),
+ ),
+ migrations.AlterField(
+ model_name="question",
+ name="help_lang3",
+ field=models.TextField(
+ blank=True,
+ default="",
+ help_text="The help text for this question in the tertiary language.",
+ verbose_name="Help (tertiary)",
+ ),
+ ),
+ migrations.AlterField(
+ model_name="question",
+ name="help_lang4",
+ field=models.TextField(
+ blank=True,
+ default="",
+ help_text="The help text for this question in the quaternary language.",
+ verbose_name="Help (quaternary)",
+ ),
+ ),
+ migrations.AlterField(
+ model_name="question",
+ name="help_lang5",
+ field=models.TextField(
+ blank=True,
+ default="",
+ help_text="The help text for this question in the quinary language.",
+ verbose_name="Help (quinary)",
+ ),
+ ),
+ migrations.AlterField(
+ model_name="question",
+ name="text_lang1",
+ field=models.TextField(
+ blank=True,
+ default="",
+ help_text="The text for this question in the primary language.",
+ verbose_name="Text (primary)",
+ ),
+ ),
+ migrations.AlterField(
+ model_name="question",
+ name="text_lang2",
+ field=models.TextField(
+ blank=True,
+ default="",
+ help_text="The text for this question in the secondary language.",
+ verbose_name="Text (secondary)",
+ ),
+ ),
+ migrations.AlterField(
+ model_name="question",
+ name="text_lang3",
+ field=models.TextField(
+ blank=True,
+ default="",
+ help_text="The text for this question in the tertiary language.",
+ verbose_name="Text (tertiary)",
+ ),
+ ),
+ migrations.AlterField(
+ model_name="question",
+ name="text_lang4",
+ field=models.TextField(
+ blank=True,
+ default="",
+ help_text="The text for this question in the quaternary language.",
+ verbose_name="Text (quaternary)",
+ ),
+ ),
+ migrations.AlterField(
+ model_name="question",
+ name="text_lang5",
+ field=models.TextField(
+ blank=True,
+ default="",
+ help_text="The text for this question in the quinary language.",
+ verbose_name="Text (quinary)",
+ ),
+ ),
+ migrations.AlterField(
+ model_name="question",
+ name="uri",
+ field=models.URLField(
+ blank=True,
+ default="",
+ help_text="The Uniform Resource Identifier of this question (auto-generated).",
+ max_length=800,
+ verbose_name="URI",
+ ),
+ ),
+ migrations.AlterField(
+ model_name="question",
+ name="uri_path",
+ field=models.CharField(
+ blank=True,
+ default="",
+ help_text="The path for the URI of this question.",
+ max_length=512,
+ verbose_name="URI Path",
+ ),
+ ),
+ ]
diff --git a/rdmo/questions/models/question.py b/rdmo/questions/models/question.py
index 842134a818..bb9a1c92e3 100644
--- a/rdmo/questions/models/question.py
+++ b/rdmo/questions/models/question.py
@@ -16,15 +16,13 @@
class Question(Model, TranslationMixin):
- objects = QuestionManager()
-
prefetch_lookups = (
'conditions',
'optionsets'
)
uri = models.URLField(
- max_length=800, blank=True, null=True,
+ max_length=800, blank=True, default="",
verbose_name=_('URI'),
help_text=_('The Uniform Resource Identifier of this question (auto-generated).')
)
@@ -34,12 +32,12 @@ class Question(Model, TranslationMixin):
help_text=_('The prefix for the URI of this question.')
)
uri_path = models.CharField(
- max_length=512, blank=True, null=True,
+ max_length=512, blank=True, default="",
verbose_name=_('URI Path'),
help_text=_('The path for the URI of this question.')
)
comment = models.TextField(
- blank=True, null=True,
+ blank=True, default="",
verbose_name=_('Comment'),
help_text=_('Additional internal information about this question.')
)
@@ -69,77 +67,77 @@ class Question(Model, TranslationMixin):
help_text=_('The sites that can edit this question (in a multi site setup).')
)
help_lang1 = models.TextField(
- null=True, blank=True,
+ blank=True, default="",
verbose_name=_('Help (primary)'),
help_text=_('The help text for this question in the primary language.')
)
help_lang2 = models.TextField(
- null=True, blank=True,
+ blank=True, default="",
verbose_name=_('Help (secondary)'),
help_text=_('The help text for this question in the secondary language.')
)
help_lang3 = models.TextField(
- null=True, blank=True,
+ blank=True, default="",
verbose_name=_('Help (tertiary)'),
help_text=_('The help text for this question in the tertiary language.')
)
help_lang4 = models.TextField(
- null=True, blank=True,
+ blank=True, default="",
verbose_name=_('Help (quaternary)'),
help_text=_('The help text for this question in the quaternary language.')
)
help_lang5 = models.TextField(
- null=True, blank=True,
+ blank=True, default="",
verbose_name=_('Help (quinary)'),
help_text=_('The help text for this question in the quinary language.')
)
text_lang1 = models.TextField(
- null=True, blank=True,
+ blank=True, default="",
verbose_name=_('Text (primary)'),
help_text=_('The text for this question in the primary language.')
)
text_lang2 = models.TextField(
- null=True, blank=True,
+ blank=True, default="",
verbose_name=_('Text (secondary)'),
help_text=_('The text for this question in the secondary language.')
)
text_lang3 = models.TextField(
- null=True, blank=True,
+ blank=True, default="",
verbose_name=_('Text (tertiary)'),
help_text=_('The text for this question in the tertiary language.')
)
text_lang4 = models.TextField(
- null=True, blank=True,
+ blank=True, default="",
verbose_name=_('Text (quaternary)'),
help_text=_('The text for this question in the quaternary language.')
)
text_lang5 = models.TextField(
- null=True, blank=True,
+ blank=True, default="",
verbose_name=_('Text (quinary)'),
help_text=_('The text for this question in the quinary language.')
)
default_text_lang1 = models.TextField(
- null=True, blank=True,
+ blank=True, default="",
verbose_name=_('Default text value (primary)'),
help_text=_('The default text value for this question in the primary language.')
)
default_text_lang2 = models.TextField(
- null=True, blank=True,
+ blank=True, default="",
verbose_name=_('Default text value (secondary)'),
help_text=_('The default text value for this question in the secondary language.')
)
default_text_lang3 = models.TextField(
- null=True, blank=True,
+ blank=True, default="",
verbose_name=_('Default text value (tertiary)'),
help_text=_('The default text value for this question in the tertiary language.')
)
default_text_lang4 = models.TextField(
- null=True, blank=True,
+ blank=True, default="",
verbose_name=_('Default text value (quaternary)'),
help_text=_('The default text value for this question in the quaternary language.')
)
default_text_lang5 = models.TextField(
- null=True, blank=True,
+ default="", blank=True,
verbose_name=_('Default text value (quinary)'),
help_text=_('The default text value for this question in the quinary language.')
)
@@ -224,6 +222,8 @@ class Question(Model, TranslationMixin):
help_text=_('List of conditions evaluated for this question.')
)
+ objects = QuestionManager()
+
class Meta:
ordering = ('uri', )
verbose_name = _('Question')
diff --git a/rdmo/tasks/admin.py b/rdmo/tasks/admin.py
index 6d1acf36cc..cee88ce3d8 100644
--- a/rdmo/tasks/admin.py
+++ b/rdmo/tasks/admin.py
@@ -12,7 +12,33 @@ class TaskAdminForm(forms.ModelForm):
class Meta:
model = Task
- fields = '__all__'
+ fields = [
+ "uri",
+ "uri_prefix",
+ "uri_path",
+ "comment",
+ "locked",
+ "catalogs",
+ "sites",
+ "editors",
+ "groups",
+ "title_lang1",
+ "title_lang2",
+ "title_lang3",
+ "title_lang4",
+ "title_lang5",
+ "text_lang1",
+ "text_lang2",
+ "text_lang3",
+ "text_lang4",
+ "text_lang5",
+ "start_attribute",
+ "end_attribute",
+ "days_before",
+ "days_after",
+ "conditions",
+ "available",
+ ]
def clean(self):
TaskUniqueURIValidator(self.instance)(self.cleaned_data)
diff --git a/rdmo/tasks/models.py b/rdmo/tasks/models.py
index 0e44a3d528..9732dc660c 100644
--- a/rdmo/tasks/models.py
+++ b/rdmo/tasks/models.py
@@ -15,8 +15,6 @@
class Task(TranslationMixin, models.Model):
- objects = TaskManager()
-
uri = models.URLField(
max_length=800, blank=True,
verbose_name=_('URI'),
@@ -150,6 +148,8 @@ class Task(TranslationMixin, models.Model):
help_text=_('Designates whether this task is generally available for projects.')
)
+ objects = TaskManager()
+
class Meta:
ordering = ('uri',)
verbose_name = _('Task')
diff --git a/rdmo/views/admin.py b/rdmo/views/admin.py
index 9fedfe6d53..ef4da26fe9 100644
--- a/rdmo/views/admin.py
+++ b/rdmo/views/admin.py
@@ -12,7 +12,29 @@ class ViewAdminForm(forms.ModelForm):
class Meta:
model = View
- fields = '__all__'
+ fields = [
+ "uri",
+ "uri_prefix",
+ "uri_path",
+ "comment",
+ "locked",
+ "catalogs",
+ "sites",
+ "editors",
+ "groups",
+ "template",
+ "title_lang1",
+ "title_lang2",
+ "title_lang3",
+ "title_lang4",
+ "title_lang5",
+ "help_lang1",
+ "help_lang2",
+ "help_lang3",
+ "help_lang4",
+ "help_lang5",
+ "available",
+ ]
def clean(self):
ViewUniqueURIValidator(self.instance)(self.cleaned_data)
diff --git a/rdmo/views/models.py b/rdmo/views/models.py
index 2a22b9b61f..4ec610c9da 100644
--- a/rdmo/views/models.py
+++ b/rdmo/views/models.py
@@ -16,8 +16,6 @@
class View(models.Model, TranslationMixin):
- objects = ViewManager()
-
uri = models.URLField(
max_length=800, blank=True,
verbose_name=_('URI'),
@@ -130,6 +128,8 @@ class View(models.Model, TranslationMixin):
help_text=_('Designates whether this view is generally available for projects.')
)
+ objects = ViewManager()
+
class Meta:
ordering = ('uri', )
verbose_name = _('View')
diff --git a/testing/fixtures/questions.json b/testing/fixtures/questions.json
index 97c4a6e5a8..4db230d2d9 100644
--- a/testing/fixtures/questions.json
+++ b/testing/fixtures/questions.json
@@ -2645,9 +2645,9 @@
"text_lang5": "",
"default_text_lang1": "Text",
"default_text_lang2": "Text",
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -2693,9 +2693,9 @@
"text_lang5": "",
"default_text_lang1": "Textarea",
"default_text_lang2": "Textarea",
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -2741,9 +2741,9 @@
"text_lang5": "",
"default_text_lang1": "1",
"default_text_lang2": "1",
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -2787,11 +2787,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": 4,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -2837,11 +2837,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": 1,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -2889,9 +2889,9 @@
"text_lang5": "",
"default_text_lang1": "20",
"default_text_lang2": "20",
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -2937,9 +2937,9 @@
"text_lang5": "",
"default_text_lang1": "2020-01-01",
"default_text_lang2": "2020-01-01",
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -2983,11 +2983,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -3031,11 +3031,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -3079,11 +3079,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -3127,11 +3127,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -3177,11 +3177,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -3227,11 +3227,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -3275,11 +3275,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -3323,11 +3323,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -3373,11 +3373,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -3421,11 +3421,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -3469,11 +3469,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -3517,11 +3517,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -3565,11 +3565,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -3613,11 +3613,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -3661,11 +3661,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -3711,11 +3711,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -3761,11 +3761,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -3809,11 +3809,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -3857,11 +3857,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -3907,11 +3907,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -3957,11 +3957,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -4005,11 +4005,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -4053,11 +4053,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -4103,11 +4103,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -4151,11 +4151,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -4199,11 +4199,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -4247,11 +4247,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -4297,11 +4297,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -4347,11 +4347,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -4395,11 +4395,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -4443,11 +4443,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -4491,11 +4491,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -4539,11 +4539,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -4587,11 +4587,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -4637,11 +4637,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -4687,11 +4687,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -4735,11 +4735,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -4783,11 +4783,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -4833,11 +4833,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -4881,11 +4881,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -4929,11 +4929,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -4977,11 +4977,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -5025,11 +5025,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -5073,11 +5073,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -5121,11 +5121,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -5169,11 +5169,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -5217,12 +5217,12 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
- "default_option": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
+ "default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
"verbose_name_lang2": "",
@@ -5265,11 +5265,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -5315,11 +5315,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -5365,11 +5365,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -5415,11 +5415,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -5465,11 +5465,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -5516,11 +5516,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -5566,11 +5566,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -5616,11 +5616,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -5666,11 +5666,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -5702,26 +5702,26 @@
"uri": "http://example.com/terms/questions/catalog/individual/file/file",
"uri_prefix": "http://example.com/terms",
"uri_path": "catalog/individual/file/file",
- "comment": null,
+ "comment": "",
"locked": false,
"attribute": 96,
"is_collection": false,
"is_optional": false,
- "help_lang1": null,
- "help_lang2": null,
- "help_lang3": null,
- "help_lang4": null,
- "help_lang5": null,
+ "help_lang1": "",
+ "help_lang2": "",
+ "help_lang3": "",
+ "help_lang4": "",
+ "help_lang5": "",
"text_lang1": "File?",
"text_lang2": "File?",
- "text_lang3": null,
- "text_lang4": null,
- "text_lang5": null,
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "text_lang3": "",
+ "text_lang4": "",
+ "text_lang5": "",
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -5750,26 +5750,26 @@
"uri": "http://example.com/terms/questions/catalog/collections/file/file",
"uri_prefix": "http://example.com/terms",
"uri_path": "catalog/collections/file/file",
- "comment": null,
+ "comment": "",
"locked": false,
"attribute": 98,
"is_collection": true,
"is_optional": false,
- "help_lang1": null,
- "help_lang2": null,
- "help_lang3": null,
- "help_lang4": null,
- "help_lang5": null,
+ "help_lang1": "",
+ "help_lang2": "",
+ "help_lang3": "",
+ "help_lang4": "",
+ "help_lang5": "",
"text_lang1": "File?",
"text_lang2": "File?",
- "text_lang3": null,
- "text_lang4": null,
- "text_lang5": null,
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "text_lang3": "",
+ "text_lang4": "",
+ "text_lang5": "",
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -5798,26 +5798,26 @@
"uri": "http://example.com/terms/questions/catalog/set/individual-single/file",
"uri_prefix": "http://example.com/terms",
"uri_path": "catalog/set/individual-single/file",
- "comment": null,
+ "comment": "",
"locked": false,
"attribute": 96,
"is_collection": false,
"is_optional": false,
- "help_lang1": null,
- "help_lang2": null,
- "help_lang3": null,
- "help_lang4": null,
- "help_lang5": null,
+ "help_lang1": "",
+ "help_lang2": "",
+ "help_lang3": "",
+ "help_lang4": "",
+ "help_lang5": "",
"text_lang1": "File?",
"text_lang2": "File?",
- "text_lang3": null,
- "text_lang4": null,
- "text_lang5": null,
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "text_lang3": "",
+ "text_lang4": "",
+ "text_lang5": "",
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -5846,26 +5846,26 @@
"uri": "http://example.com/terms/questions/catalog/set/individual-collection/file",
"uri_prefix": "http://example.com/terms",
"uri_path": "catalog/set/individual-collection/file",
- "comment": null,
+ "comment": "",
"locked": false,
"attribute": 98,
"is_collection": true,
"is_optional": false,
- "help_lang1": null,
- "help_lang2": null,
- "help_lang3": null,
- "help_lang4": null,
- "help_lang5": null,
+ "help_lang1": "",
+ "help_lang2": "",
+ "help_lang3": "",
+ "help_lang4": "",
+ "help_lang5": "",
"text_lang1": "File?",
"text_lang2": "File?",
- "text_lang3": null,
- "text_lang4": null,
- "text_lang5": null,
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "text_lang3": "",
+ "text_lang4": "",
+ "text_lang5": "",
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -5909,11 +5909,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -5957,11 +5957,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -5992,26 +5992,26 @@
"uri": "http://example.com/terms/questions/catalog/individual/autocomplete/autocomplete",
"uri_prefix": "http://example.com/terms",
"uri_path": "catalog/individual/autocomplete/autocomplete",
- "comment": null,
+ "comment": "",
"locked": false,
"attribute": 102,
"is_collection": false,
"is_optional": false,
- "help_lang1": null,
- "help_lang2": null,
- "help_lang3": null,
- "help_lang4": null,
- "help_lang5": null,
+ "help_lang1": "",
+ "help_lang2": "",
+ "help_lang3": "",
+ "help_lang4": "",
+ "help_lang5": "",
"text_lang1": "Autocomplete?",
"text_lang2": "Autocomplete?",
- "text_lang3": null,
- "text_lang4": null,
- "text_lang5": null,
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "text_lang3": "",
+ "text_lang4": "",
+ "text_lang5": "",
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": 1,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -6042,26 +6042,26 @@
"uri": "http://example.com/terms/questions/catalog/collections/autocomplete/autocomplete",
"uri_prefix": "http://example.com/terms",
"uri_path": "catalog/collections/autocomplete/autocomplete",
- "comment": null,
+ "comment": "",
"locked": false,
"attribute": 103,
"is_collection": true,
"is_optional": false,
- "help_lang1": null,
- "help_lang2": null,
- "help_lang3": null,
- "help_lang4": null,
- "help_lang5": null,
+ "help_lang1": "",
+ "help_lang2": "",
+ "help_lang3": "",
+ "help_lang4": "",
+ "help_lang5": "",
"text_lang1": "Autocomplete?",
"text_lang2": "Autocomplete?",
- "text_lang3": null,
- "text_lang4": null,
- "text_lang5": null,
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "text_lang3": "",
+ "text_lang4": "",
+ "text_lang5": "",
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -6107,11 +6107,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -6157,11 +6157,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -6207,11 +6207,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -6257,11 +6257,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -6307,11 +6307,11 @@
"text_lang3": "",
"text_lang4": "",
"text_lang5": "",
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "simple_1",
"verbose_name_lang1": "",
@@ -6342,26 +6342,26 @@
"uri": "http://example.com/terms/questions/catalog/blocks/set/block/c",
"uri_prefix": "http://example.com/terms",
"uri_path": "catalog/blocks/set/block/c",
- "comment": null,
+ "comment": "",
"locked": false,
"attribute": 110,
"is_collection": true,
"is_optional": false,
- "help_lang1": null,
- "help_lang2": null,
- "help_lang3": null,
- "help_lang4": null,
- "help_lang5": null,
+ "help_lang1": "",
+ "help_lang2": "",
+ "help_lang3": "",
+ "help_lang4": "",
+ "help_lang5": "",
"text_lang1": "C?",
"text_lang2": "C?",
- "text_lang3": null,
- "text_lang4": null,
- "text_lang5": null,
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "text_lang3": "",
+ "text_lang4": "",
+ "text_lang5": "",
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -6390,26 +6390,26 @@
"uri": "http://example.com/terms/questions/catalog/blocks/set/block/a",
"uri_prefix": "http://example.com/terms",
"uri_path": "catalog/blocks/set/block/a",
- "comment": null,
+ "comment": "",
"locked": false,
"attribute": 108,
"is_collection": false,
"is_optional": false,
- "help_lang1": null,
- "help_lang2": null,
- "help_lang3": null,
- "help_lang4": null,
- "help_lang5": null,
+ "help_lang1": "",
+ "help_lang2": "",
+ "help_lang3": "",
+ "help_lang4": "",
+ "help_lang5": "",
"text_lang1": "A?",
"text_lang2": "A?",
- "text_lang3": null,
- "text_lang4": null,
- "text_lang5": null,
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "text_lang3": "",
+ "text_lang4": "",
+ "text_lang5": "",
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -6438,26 +6438,26 @@
"uri": "http://example.com/terms/questions/catalog/blocks/set/block/b",
"uri_prefix": "http://example.com/terms",
"uri_path": "catalog/blocks/set/block/b",
- "comment": null,
+ "comment": "",
"locked": false,
"attribute": 109,
"is_collection": false,
"is_optional": false,
- "help_lang1": null,
- "help_lang2": null,
- "help_lang3": null,
- "help_lang4": null,
- "help_lang5": null,
+ "help_lang1": "",
+ "help_lang2": "",
+ "help_lang3": "",
+ "help_lang4": "",
+ "help_lang5": "",
"text_lang1": "B?",
"text_lang2": "B?",
- "text_lang3": null,
- "text_lang4": null,
- "text_lang5": null,
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "text_lang3": "",
+ "text_lang4": "",
+ "text_lang5": "",
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -6486,26 +6486,26 @@
"uri": "http://example.com/terms/questions/catalog/blocks/set/block/block/y",
"uri_prefix": "http://example.com/terms",
"uri_path": "catalog/blocks/set/block/block/y",
- "comment": null,
+ "comment": "",
"locked": false,
"attribute": 112,
"is_collection": false,
"is_optional": true,
"help_lang1": "Stet clita kasd gubergren, no sea takimata sanctus est. Lorem ipsum dolor sit amet.",
"help_lang2": "Stet clita kasd gubergren, no sea takimata sanctus est. Lorem ipsum dolor sit amet.",
- "help_lang3": null,
- "help_lang4": null,
- "help_lang5": null,
+ "help_lang3": "",
+ "help_lang4": "",
+ "help_lang5": "",
"text_lang1": "Y?",
"text_lang2": "Y?",
- "text_lang3": null,
- "text_lang4": null,
- "text_lang5": null,
+ "text_lang3": "",
+ "text_lang4": "",
+ "text_lang5": "",
"default_text_lang1": "",
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": 3,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -6536,26 +6536,26 @@
"uri": "http://example.com/terms/questions/catalog/conditions/input/text",
"uri_prefix": "http://example.com/terms",
"uri_path": "catalog/conditions/input/text",
- "comment": null,
+ "comment": "",
"locked": false,
"attribute": 81,
"is_collection": false,
"is_optional": false,
- "help_lang1": null,
- "help_lang2": null,
- "help_lang3": null,
- "help_lang4": null,
- "help_lang5": null,
+ "help_lang1": "",
+ "help_lang2": "",
+ "help_lang3": "",
+ "help_lang4": "",
+ "help_lang5": "",
"text_lang1": "Text",
"text_lang2": "Text",
- "text_lang3": null,
- "text_lang4": null,
- "text_lang5": null,
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "text_lang3": "",
+ "text_lang4": "",
+ "text_lang5": "",
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -6584,26 +6584,26 @@
"uri": "http://example.com/terms/questions/catalog/conditions/input/option",
"uri_prefix": "http://example.com/terms",
"uri_path": "catalog/conditions/input/option",
- "comment": null,
+ "comment": "",
"locked": false,
"attribute": 82,
"is_collection": false,
"is_optional": false,
- "help_lang1": null,
- "help_lang2": null,
- "help_lang3": null,
- "help_lang4": null,
- "help_lang5": null,
+ "help_lang1": "",
+ "help_lang2": "",
+ "help_lang3": "",
+ "help_lang4": "",
+ "help_lang5": "",
"text_lang1": "Option",
"text_lang2": "Option",
- "text_lang3": null,
- "text_lang4": null,
- "text_lang5": null,
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "text_lang3": "",
+ "text_lang4": "",
+ "text_lang5": "",
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -6634,26 +6634,26 @@
"uri": "http://example.com/terms/questions/catalog/conditions/set/bool",
"uri_prefix": "http://example.com/terms",
"uri_path": "catalog/conditions/set/bool",
- "comment": null,
+ "comment": "",
"locked": false,
"attribute": 114,
"is_collection": false,
"is_optional": false,
- "help_lang1": null,
- "help_lang2": null,
- "help_lang3": null,
- "help_lang4": null,
- "help_lang5": null,
+ "help_lang1": "",
+ "help_lang2": "",
+ "help_lang3": "",
+ "help_lang4": "",
+ "help_lang5": "",
"text_lang1": "Yes/No",
"text_lang2": "Ja/Nein",
- "text_lang3": null,
- "text_lang4": null,
- "text_lang5": null,
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "text_lang3": "",
+ "text_lang4": "",
+ "text_lang5": "",
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -6682,26 +6682,26 @@
"uri": "http://example.com/terms/questions/catalog/conditions/set_set/bool",
"uri_prefix": "http://example.com/terms",
"uri_path": "catalog/conditions/set_set/bool",
- "comment": null,
+ "comment": "",
"locked": false,
"attribute": 114,
"is_collection": false,
"is_optional": false,
- "help_lang1": null,
- "help_lang2": null,
- "help_lang3": null,
- "help_lang4": null,
- "help_lang5": null,
+ "help_lang1": "",
+ "help_lang2": "",
+ "help_lang3": "",
+ "help_lang4": "",
+ "help_lang5": "",
"text_lang1": "Yes/No",
"text_lang2": "Ja/Nein",
- "text_lang3": null,
- "text_lang4": null,
- "text_lang5": null,
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "text_lang3": "",
+ "text_lang4": "",
+ "text_lang5": "",
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -6730,26 +6730,26 @@
"uri": "http://example.com/terms/questions/catalog/conditions/set_set/set/text",
"uri_prefix": "http://example.com/terms",
"uri_path": "catalog/conditions/set_set/set/text",
- "comment": null,
+ "comment": "",
"locked": false,
"attribute": 118,
"is_collection": false,
"is_optional": false,
- "help_lang1": null,
- "help_lang2": null,
- "help_lang3": null,
- "help_lang4": null,
- "help_lang5": null,
+ "help_lang1": "",
+ "help_lang2": "",
+ "help_lang3": "",
+ "help_lang4": "",
+ "help_lang5": "",
"text_lang1": "Text",
"text_lang2": "Text",
- "text_lang3": null,
- "text_lang4": null,
- "text_lang5": null,
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "text_lang3": "",
+ "text_lang4": "",
+ "text_lang5": "",
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -6778,26 +6778,26 @@
"uri": "http://example.com/terms/questions/catalog/conditions/set/text",
"uri_prefix": "http://example.com/terms",
"uri_path": "catalog/conditions/set/text",
- "comment": null,
+ "comment": "",
"locked": false,
"attribute": 115,
"is_collection": false,
"is_optional": false,
- "help_lang1": null,
- "help_lang2": null,
- "help_lang3": null,
- "help_lang4": null,
- "help_lang5": null,
+ "help_lang1": "",
+ "help_lang2": "",
+ "help_lang3": "",
+ "help_lang4": "",
+ "help_lang5": "",
"text_lang1": "Text",
"text_lang2": "Text",
- "text_lang3": null,
- "text_lang4": null,
- "text_lang5": null,
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "text_lang3": "",
+ "text_lang4": "",
+ "text_lang5": "",
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -6828,26 +6828,26 @@
"uri": "http://example.com/terms/questions/catalog/conditions/optionset/bool",
"uri_prefix": "http://example.com/terms",
"uri_path": "catalog/conditions/optionset/bool",
- "comment": null,
+ "comment": "",
"locked": false,
"attribute": 120,
"is_collection": false,
"is_optional": false,
- "help_lang1": null,
- "help_lang2": null,
- "help_lang3": null,
- "help_lang4": null,
- "help_lang5": null,
+ "help_lang1": "",
+ "help_lang2": "",
+ "help_lang3": "",
+ "help_lang4": "",
+ "help_lang5": "",
"text_lang1": "Yes/No",
"text_lang2": "Ja/Nein",
- "text_lang3": null,
- "text_lang4": null,
- "text_lang5": null,
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "text_lang3": "",
+ "text_lang4": "",
+ "text_lang5": "",
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -6876,26 +6876,26 @@
"uri": "http://example.com/terms/questions/catalog/conditions/optionset/option",
"uri_prefix": "http://example.com/terms",
"uri_path": "catalog/conditions/optionset/option",
- "comment": null,
+ "comment": "",
"locked": false,
"attribute": 121,
"is_collection": false,
"is_optional": false,
- "help_lang1": null,
- "help_lang2": null,
- "help_lang3": null,
- "help_lang4": null,
- "help_lang5": null,
+ "help_lang1": "",
+ "help_lang2": "",
+ "help_lang3": "",
+ "help_lang4": "",
+ "help_lang5": "",
"text_lang1": "Optionset",
"text_lang2": "Optionset",
- "text_lang3": null,
- "text_lang4": null,
- "text_lang5": null,
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "text_lang3": "",
+ "text_lang4": "",
+ "text_lang5": "",
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -6927,26 +6927,26 @@
"uri": "http://example.com/terms/questions/catalog/conditions/text_set/bool",
"uri_prefix": "http://example.com/terms",
"uri_path": "catalog/conditions/text_set/bool",
- "comment": null,
+ "comment": "",
"locked": false,
"attribute": 114,
"is_collection": false,
"is_optional": false,
- "help_lang1": null,
- "help_lang2": null,
- "help_lang3": null,
- "help_lang4": null,
- "help_lang5": null,
+ "help_lang1": "",
+ "help_lang2": "",
+ "help_lang3": "",
+ "help_lang4": "",
+ "help_lang5": "",
"text_lang1": "Yes/No",
"text_lang2": "Ja/Nein",
- "text_lang3": null,
- "text_lang4": null,
- "text_lang5": null,
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "text_lang3": "",
+ "text_lang4": "",
+ "text_lang5": "",
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
@@ -7027,26 +7027,26 @@
"uri": "https://bar.com/terms/questions/bar-question",
"uri_prefix": "https://bar.com/terms",
"uri_path": "bar-question",
- "comment": null,
+ "comment": "",
"locked": false,
"attribute": 123,
"is_collection": false,
"is_optional": false,
- "help_lang1": null,
- "help_lang2": null,
- "help_lang3": null,
- "help_lang4": null,
- "help_lang5": null,
+ "help_lang1": "",
+ "help_lang2": "",
+ "help_lang3": "",
+ "help_lang4": "",
+ "help_lang5": "",
"text_lang1": "bar-question",
"text_lang2": "bar-question",
- "text_lang3": null,
- "text_lang4": null,
- "text_lang5": null,
- "default_text_lang1": null,
- "default_text_lang2": null,
- "default_text_lang3": null,
- "default_text_lang4": null,
- "default_text_lang5": null,
+ "text_lang3": "",
+ "text_lang4": "",
+ "text_lang5": "",
+ "default_text_lang1": "",
+ "default_text_lang2": "",
+ "default_text_lang3": "",
+ "default_text_lang4": "",
+ "default_text_lang5": "",
"default_option": null,
"default_external_id": "",
"verbose_name_lang1": "",
From 0e95d6a614f5efec40fe7e16ac39ecbfe3e20efb Mon Sep 17 00:00:00 2001
From: Heinz-Alexander Fuetterer
Date: Thu, 23 Nov 2023 08:23:21 +0100
Subject: [PATCH 084/114] ci: update dependabot js groups
---
.github/dependabot.yml | 3 +++
1 file changed, 3 insertions(+)
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index d5e4d5c071..fdd76b4ce3 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -54,6 +54,8 @@ updates:
- dependencies
- javascript
- type:maintenance
+ ignore:
+ - dependency-name: react-bootstrap # rdmo still uses bootstrap 3, which is not supported by react-bootstrap > 0.33.1
groups:
react:
patterns:
@@ -68,6 +70,7 @@ updates:
webpack:
patterns:
- webpack*
+ - copy-webpack-plugin
eslint:
patterns:
- eslint*
From 6bd56ec49edb8186c6b5372e593c7f4f4cab6e0f Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 23 Nov 2023 07:20:12 +0000
Subject: [PATCH 085/114] build(deps-dev): bump the babel group with 5 updates
Bumps the babel group with 5 updates:
| Package | From | To |
| --- | --- | --- |
| [@babel/cli](https://github.com/babel/babel/tree/HEAD/packages/babel-cli) | `7.17.10` | `7.23.4` |
| [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) | `7.17.10` | `7.23.3` |
| [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) | `7.17.10` | `7.23.3` |
| [@babel/preset-react](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-react) | `7.16.7` | `7.23.3` |
| [babel-loader](https://github.com/babel/babel-loader) | `8.2.5` | `9.1.3` |
Updates `@babel/cli` from 7.17.10 to 7.23.4
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.4/packages/babel-cli)
Updates `@babel/core` from 7.17.10 to 7.23.3
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.3/packages/babel-core)
Updates `@babel/preset-env` from 7.17.10 to 7.23.3
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.3/packages/babel-preset-env)
Updates `@babel/preset-react` from 7.16.7 to 7.23.3
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.3/packages/babel-preset-react)
Updates `babel-loader` from 8.2.5 to 9.1.3
- [Release notes](https://github.com/babel/babel-loader/releases)
- [Changelog](https://github.com/babel/babel-loader/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel-loader/compare/v8.2.5...v9.1.3)
---
updated-dependencies:
- dependency-name: "@babel/cli"
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: babel
- dependency-name: "@babel/core"
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: babel
- dependency-name: "@babel/preset-env"
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: babel
- dependency-name: "@babel/preset-react"
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: babel
- dependency-name: babel-loader
dependency-type: direct:development
update-type: version-update:semver-major
dependency-group: babel
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
package-lock.json | 3793 +++++++++++++++++++++++++--------------------
package.json | 10 +-
2 files changed, 2150 insertions(+), 1653 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 9beb3ac46a..ecd9b7b427 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -31,11 +31,11 @@
"redux-thunk": "^2.3.0"
},
"devDependencies": {
- "@babel/cli": "^7.13.14",
- "@babel/core": "^7.13.14",
- "@babel/preset-env": "^7.13.12",
- "@babel/preset-react": "^7.13.13",
- "babel-loader": "^8.2.2",
+ "@babel/cli": "^7.23.4",
+ "@babel/core": "^7.23.3",
+ "@babel/preset-env": "^7.23.3",
+ "@babel/preset-react": "^7.23.3",
+ "babel-loader": "^9.1.3",
"copy-webpack-plugin": "^8.1.0",
"css-loader": "^5.2.0",
"eslint": "^8.41.0",
@@ -62,16 +62,16 @@
}
},
"node_modules/@babel/cli": {
- "version": "7.17.10",
- "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.17.10.tgz",
- "integrity": "sha512-OygVO1M2J4yPMNOW9pb+I6kFGpQK77HmG44Oz3hg8xQIl5L/2zq+ZohwAdSaqYgVwM0SfmPHZHphH4wR8qzVYw==",
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.23.4.tgz",
+ "integrity": "sha512-j3luA9xGKCXVyCa5R7lJvOMM+Kc2JEnAEIgz2ggtjQ/j5YUVgfsg/WsG95bbsgq7YLHuiCOzMnoSasuY16qiCw==",
"dev": true,
"dependencies": {
- "@jridgewell/trace-mapping": "^0.3.8",
+ "@jridgewell/trace-mapping": "^0.3.17",
"commander": "^4.0.1",
- "convert-source-map": "^1.1.0",
+ "convert-source-map": "^2.0.0",
"fs-readdir-recursive": "^1.1.0",
- "glob": "^7.0.0",
+ "glob": "^7.2.0",
"make-dir": "^2.1.0",
"slash": "^2.0.0"
},
@@ -90,45 +90,52 @@
"@babel/core": "^7.0.0-0"
}
},
+ "node_modules/@babel/cli/node_modules/convert-source-map": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+ "dev": true
+ },
"node_modules/@babel/code-frame": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz",
- "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==",
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.4.tgz",
+ "integrity": "sha512-r1IONyb6Ia+jYR2vvIDhdWdlTGhqbBoFqLTQidzZ4kepUFH15ejXvFHxCVbtl7BOXIudsIubf4E81xeA3h3IXA==",
"dependencies": {
- "@babel/highlight": "^7.16.7"
+ "@babel/highlight": "^7.23.4",
+ "chalk": "^2.4.2"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/compat-data": {
- "version": "7.17.10",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.10.tgz",
- "integrity": "sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.3.tgz",
+ "integrity": "sha512-BmR4bWbDIoFJmJ9z2cZ8Gmm2MXgEDgjdWgpKmKWUt54UGFJdlj31ECtbaDvCG/qVdG3AQ1SfpZEs01lUFbzLOQ==",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/core": {
- "version": "7.17.10",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.10.tgz",
- "integrity": "sha512-liKoppandF3ZcBnIYFjfSDHZLKdLHGJRkoWtG8zQyGJBQfIYobpnVGI5+pLBNtS6psFLDzyq8+h5HiVljW9PNA==",
- "dependencies": {
- "@ampproject/remapping": "^2.1.0",
- "@babel/code-frame": "^7.16.7",
- "@babel/generator": "^7.17.10",
- "@babel/helper-compilation-targets": "^7.17.10",
- "@babel/helper-module-transforms": "^7.17.7",
- "@babel/helpers": "^7.17.9",
- "@babel/parser": "^7.17.10",
- "@babel/template": "^7.16.7",
- "@babel/traverse": "^7.17.10",
- "@babel/types": "^7.17.10",
- "convert-source-map": "^1.7.0",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.3.tgz",
+ "integrity": "sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew==",
+ "dependencies": {
+ "@ampproject/remapping": "^2.2.0",
+ "@babel/code-frame": "^7.22.13",
+ "@babel/generator": "^7.23.3",
+ "@babel/helper-compilation-targets": "^7.22.15",
+ "@babel/helper-module-transforms": "^7.23.3",
+ "@babel/helpers": "^7.23.2",
+ "@babel/parser": "^7.23.3",
+ "@babel/template": "^7.22.15",
+ "@babel/traverse": "^7.23.3",
+ "@babel/types": "^7.23.3",
+ "convert-source-map": "^2.0.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
- "json5": "^2.2.1",
- "semver": "^6.3.0"
+ "json5": "^2.2.3",
+ "semver": "^6.3.1"
},
"engines": {
"node": ">=6.9.0"
@@ -138,74 +145,105 @@
"url": "https://opencollective.com/babel"
}
},
+ "node_modules/@babel/core/node_modules/convert-source-map": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="
+ },
"node_modules/@babel/generator": {
- "version": "7.17.10",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.10.tgz",
- "integrity": "sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==",
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.4.tgz",
+ "integrity": "sha512-esuS49Cga3HcThFNebGhlgsrVLkvhqvYDTzgjfFFlHJcIfLe5jFmRRfCQ1KuBfc4Jrtn3ndLgKWAKjBE+IraYQ==",
"dependencies": {
- "@babel/types": "^7.17.10",
- "@jridgewell/gen-mapping": "^0.1.0",
+ "@babel/types": "^7.23.4",
+ "@jridgewell/gen-mapping": "^0.3.2",
+ "@jridgewell/trace-mapping": "^0.3.17",
"jsesc": "^2.5.1"
},
"engines": {
"node": ">=6.9.0"
}
},
+ "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
+ "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
+ "dependencies": {
+ "@jridgewell/set-array": "^1.0.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
"node_modules/@babel/helper-annotate-as-pure": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz",
- "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz",
+ "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.16.7"
+ "@babel/types": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-builder-binary-assignment-operator-visitor": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz",
- "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==",
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz",
+ "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==",
"dev": true,
"dependencies": {
- "@babel/helper-explode-assignable-expression": "^7.16.7",
- "@babel/types": "^7.16.7"
+ "@babel/types": "^7.22.15"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-compilation-targets": {
- "version": "7.17.10",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.10.tgz",
- "integrity": "sha512-gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ==",
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz",
+ "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==",
"dependencies": {
- "@babel/compat-data": "^7.17.10",
- "@babel/helper-validator-option": "^7.16.7",
- "browserslist": "^4.20.2",
- "semver": "^6.3.0"
+ "@babel/compat-data": "^7.22.9",
+ "@babel/helper-validator-option": "^7.22.15",
+ "browserslist": "^4.21.9",
+ "lru-cache": "^5.1.1",
+ "semver": "^6.3.1"
},
"engines": {
"node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
}
},
+ "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+ "dependencies": {
+ "yallist": "^3.0.2"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets/node_modules/yallist": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
+ },
"node_modules/@babel/helper-create-class-features-plugin": {
- "version": "7.17.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.9.tgz",
- "integrity": "sha512-kUjip3gruz6AJKOq5i3nC6CoCEEF/oHH3cp6tOZhB+IyyyPyW0g1Gfsxn3mkk6S08pIA2y8GQh609v9G/5sHVQ==",
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz",
+ "integrity": "sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==",
"dev": true,
"dependencies": {
- "@babel/helper-annotate-as-pure": "^7.16.7",
- "@babel/helper-environment-visitor": "^7.16.7",
- "@babel/helper-function-name": "^7.17.9",
- "@babel/helper-member-expression-to-functions": "^7.17.7",
- "@babel/helper-optimise-call-expression": "^7.16.7",
- "@babel/helper-replace-supers": "^7.16.7",
- "@babel/helper-split-export-declaration": "^7.16.7"
+ "@babel/helper-annotate-as-pure": "^7.22.5",
+ "@babel/helper-environment-visitor": "^7.22.5",
+ "@babel/helper-function-name": "^7.22.5",
+ "@babel/helper-member-expression-to-functions": "^7.22.15",
+ "@babel/helper-optimise-call-expression": "^7.22.5",
+ "@babel/helper-replace-supers": "^7.22.9",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
+ "@babel/helper-split-export-declaration": "^7.22.6",
+ "semver": "^6.3.1"
},
"engines": {
"node": ">=6.9.0"
@@ -215,13 +253,14 @@
}
},
"node_modules/@babel/helper-create-regexp-features-plugin": {
- "version": "7.17.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz",
- "integrity": "sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA==",
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz",
+ "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==",
"dev": true,
"dependencies": {
- "@babel/helper-annotate-as-pure": "^7.16.7",
- "regexpu-core": "^5.0.1"
+ "@babel/helper-annotate-as-pure": "^7.22.5",
+ "regexpu-core": "^5.3.1",
+ "semver": "^6.3.1"
},
"engines": {
"node": ">=6.9.0"
@@ -231,246 +270,239 @@
}
},
"node_modules/@babel/helper-define-polyfill-provider": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz",
- "integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==",
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz",
+ "integrity": "sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==",
"dev": true,
"dependencies": {
- "@babel/helper-compilation-targets": "^7.13.0",
- "@babel/helper-module-imports": "^7.12.13",
- "@babel/helper-plugin-utils": "^7.13.0",
- "@babel/traverse": "^7.13.0",
+ "@babel/helper-compilation-targets": "^7.22.6",
+ "@babel/helper-plugin-utils": "^7.22.5",
"debug": "^4.1.1",
"lodash.debounce": "^4.0.8",
- "resolve": "^1.14.2",
- "semver": "^6.1.2"
+ "resolve": "^1.14.2"
},
"peerDependencies": {
- "@babel/core": "^7.4.0-0"
+ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
}
},
"node_modules/@babel/helper-environment-visitor": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz",
- "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==",
- "dependencies": {
- "@babel/types": "^7.16.7"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-explode-assignable-expression": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz",
- "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==",
- "dev": true,
- "dependencies": {
- "@babel/types": "^7.16.7"
- },
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz",
+ "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-function-name": {
- "version": "7.17.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz",
- "integrity": "sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==",
+ "version": "7.23.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz",
+ "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==",
"dependencies": {
- "@babel/template": "^7.16.7",
- "@babel/types": "^7.17.0"
+ "@babel/template": "^7.22.15",
+ "@babel/types": "^7.23.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-hoist-variables": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz",
- "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz",
+ "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==",
"dependencies": {
- "@babel/types": "^7.16.7"
+ "@babel/types": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-member-expression-to-functions": {
- "version": "7.17.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz",
- "integrity": "sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==",
+ "version": "7.23.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz",
+ "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.17.0"
+ "@babel/types": "^7.23.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-module-imports": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz",
- "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==",
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz",
+ "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==",
"dependencies": {
- "@babel/types": "^7.16.7"
+ "@babel/types": "^7.22.15"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-module-transforms": {
- "version": "7.17.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz",
- "integrity": "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz",
+ "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==",
"dependencies": {
- "@babel/helper-environment-visitor": "^7.16.7",
- "@babel/helper-module-imports": "^7.16.7",
- "@babel/helper-simple-access": "^7.17.7",
- "@babel/helper-split-export-declaration": "^7.16.7",
- "@babel/helper-validator-identifier": "^7.16.7",
- "@babel/template": "^7.16.7",
- "@babel/traverse": "^7.17.3",
- "@babel/types": "^7.17.0"
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-module-imports": "^7.22.15",
+ "@babel/helper-simple-access": "^7.22.5",
+ "@babel/helper-split-export-declaration": "^7.22.6",
+ "@babel/helper-validator-identifier": "^7.22.20"
},
"engines": {
"node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
}
},
"node_modules/@babel/helper-optimise-call-expression": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz",
- "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz",
+ "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.16.7"
+ "@babel/types": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-plugin-utils": {
- "version": "7.20.2",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz",
- "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz",
+ "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-remap-async-to-generator": {
- "version": "7.16.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz",
- "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==",
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz",
+ "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==",
"dev": true,
"dependencies": {
- "@babel/helper-annotate-as-pure": "^7.16.7",
- "@babel/helper-wrap-function": "^7.16.8",
- "@babel/types": "^7.16.8"
+ "@babel/helper-annotate-as-pure": "^7.22.5",
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-wrap-function": "^7.22.20"
},
"engines": {
"node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
}
},
"node_modules/@babel/helper-replace-supers": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz",
- "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==",
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz",
+ "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==",
"dev": true,
"dependencies": {
- "@babel/helper-environment-visitor": "^7.16.7",
- "@babel/helper-member-expression-to-functions": "^7.16.7",
- "@babel/helper-optimise-call-expression": "^7.16.7",
- "@babel/traverse": "^7.16.7",
- "@babel/types": "^7.16.7"
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-member-expression-to-functions": "^7.22.15",
+ "@babel/helper-optimise-call-expression": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
}
},
"node_modules/@babel/helper-simple-access": {
- "version": "7.17.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz",
- "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz",
+ "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==",
"dependencies": {
- "@babel/types": "^7.17.0"
+ "@babel/types": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-skip-transparent-expression-wrappers": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz",
- "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz",
+ "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==",
"dev": true,
"dependencies": {
- "@babel/types": "^7.16.0"
+ "@babel/types": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-split-export-declaration": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz",
- "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==",
+ "version": "7.22.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz",
+ "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==",
"dependencies": {
- "@babel/types": "^7.16.7"
+ "@babel/types": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
}
},
+ "node_modules/@babel/helper-string-parser": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz",
+ "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
"node_modules/@babel/helper-validator-identifier": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz",
- "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==",
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
+ "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-validator-option": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz",
- "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==",
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz",
+ "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-wrap-function": {
- "version": "7.16.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz",
- "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==",
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz",
+ "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==",
"dev": true,
"dependencies": {
- "@babel/helper-function-name": "^7.16.7",
- "@babel/template": "^7.16.7",
- "@babel/traverse": "^7.16.8",
- "@babel/types": "^7.16.8"
+ "@babel/helper-function-name": "^7.22.5",
+ "@babel/template": "^7.22.15",
+ "@babel/types": "^7.22.19"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helpers": {
- "version": "7.17.9",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.9.tgz",
- "integrity": "sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==",
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.4.tgz",
+ "integrity": "sha512-HfcMizYz10cr3h29VqyfGL6ZWIjTwWfvYBMsBVGwpcbhNGe3wQ1ZXZRPzZoAHhd9OqHadHqjQ89iVKINXnbzuw==",
"dependencies": {
- "@babel/template": "^7.16.7",
- "@babel/traverse": "^7.17.9",
- "@babel/types": "^7.17.0"
+ "@babel/template": "^7.22.15",
+ "@babel/traverse": "^7.23.4",
+ "@babel/types": "^7.23.4"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/highlight": {
- "version": "7.17.9",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz",
- "integrity": "sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==",
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz",
+ "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==",
"dependencies": {
- "@babel/helper-validator-identifier": "^7.16.7",
- "chalk": "^2.0.0",
+ "@babel/helper-validator-identifier": "^7.22.20",
+ "chalk": "^2.4.2",
"js-tokens": "^4.0.0"
},
"engines": {
@@ -478,9 +510,9 @@
}
},
"node_modules/@babel/parser": {
- "version": "7.17.10",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.10.tgz",
- "integrity": "sha512-n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ==",
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.4.tgz",
+ "integrity": "sha512-vf3Xna6UEprW+7t6EtOmFpHNAuxw3xqPZghy+brsnusscJRW5BMUzzHZc5ICjULee81WeUV2jjakG09MDglJXQ==",
"bin": {
"parser": "bin/babel-parser.js"
},
@@ -489,12 +521,12 @@
}
},
"node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz",
- "integrity": "sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz",
+ "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -504,14 +536,14 @@
}
},
"node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz",
- "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz",
+ "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0",
- "@babel/plugin-proposal-optional-chaining": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
+ "@babel/plugin-transform-optional-chaining": "^7.23.3"
},
"engines": {
"node": ">=6.9.0"
@@ -520,32 +552,27 @@
"@babel/core": "^7.13.0"
}
},
- "node_modules/@babel/plugin-proposal-async-generator-functions": {
- "version": "7.16.8",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz",
- "integrity": "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==",
+ "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.3.tgz",
+ "integrity": "sha512-XaJak1qcityzrX0/IU5nKHb34VaibwP3saKqG6a/tppelgllOH13LUann4ZCIBcVOeE6H18K4Vx9QKkVww3z/w==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-remap-async-to-generator": "^7.16.8",
- "@babel/plugin-syntax-async-generators": "^7.8.4"
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
},
"peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "@babel/core": "^7.0.0"
}
},
- "node_modules/@babel/plugin-proposal-class-properties": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz",
- "integrity": "sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==",
+ "node_modules/@babel/plugin-proposal-private-property-in-object": {
+ "version": "7.21.0-placeholder-for-preset-env.2",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz",
+ "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==",
"dev": true,
- "dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7"
- },
"engines": {
"node": ">=6.9.0"
},
@@ -553,47 +580,37 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-proposal-class-static-block": {
- "version": "7.17.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz",
- "integrity": "sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA==",
+ "node_modules/@babel/plugin-syntax-async-generators": {
+ "version": "7.8.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
+ "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
"dev": true,
"dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.17.6",
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/plugin-syntax-class-static-block": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
+ "@babel/helper-plugin-utils": "^7.8.0"
},
"peerDependencies": {
- "@babel/core": "^7.12.0"
+ "@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-proposal-dynamic-import": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz",
- "integrity": "sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==",
+ "node_modules/@babel/plugin-syntax-class-properties": {
+ "version": "7.12.13",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
+ "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/plugin-syntax-dynamic-import": "^7.8.3"
- },
- "engines": {
- "node": ">=6.9.0"
+ "@babel/helper-plugin-utils": "^7.12.13"
},
"peerDependencies": {
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-proposal-export-namespace-from": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz",
- "integrity": "sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==",
+ "node_modules/@babel/plugin-syntax-class-static-block": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz",
+ "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
+ "@babel/helper-plugin-utils": "^7.14.5"
},
"engines": {
"node": ">=6.9.0"
@@ -602,46 +619,37 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-proposal-json-strings": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz",
- "integrity": "sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==",
+ "node_modules/@babel/plugin-syntax-dynamic-import": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
+ "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/plugin-syntax-json-strings": "^7.8.3"
- },
- "engines": {
- "node": ">=6.9.0"
+ "@babel/helper-plugin-utils": "^7.8.0"
},
"peerDependencies": {
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-proposal-logical-assignment-operators": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz",
- "integrity": "sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==",
+ "node_modules/@babel/plugin-syntax-export-namespace-from": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz",
+ "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
- },
- "engines": {
- "node": ">=6.9.0"
+ "@babel/helper-plugin-utils": "^7.8.3"
},
"peerDependencies": {
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz",
- "integrity": "sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==",
+ "node_modules/@babel/plugin-syntax-import-assertions": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz",
+ "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -650,14 +658,13 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-proposal-numeric-separator": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz",
- "integrity": "sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==",
+ "node_modules/@babel/plugin-syntax-import-attributes": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz",
+ "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/plugin-syntax-numeric-separator": "^7.10.4"
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -666,50 +673,36 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-proposal-object-rest-spread": {
- "version": "7.17.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz",
- "integrity": "sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw==",
+ "node_modules/@babel/plugin-syntax-import-meta": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
+ "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==",
"dev": true,
"dependencies": {
- "@babel/compat-data": "^7.17.0",
- "@babel/helper-compilation-targets": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-transform-parameters": "^7.16.7"
- },
- "engines": {
- "node": ">=6.9.0"
+ "@babel/helper-plugin-utils": "^7.10.4"
},
"peerDependencies": {
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-proposal-optional-catch-binding": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz",
- "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==",
+ "node_modules/@babel/plugin-syntax-json-strings": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
+ "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
- },
- "engines": {
- "node": ">=6.9.0"
+ "@babel/helper-plugin-utils": "^7.8.0"
},
"peerDependencies": {
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-proposal-optional-chaining": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz",
- "integrity": "sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==",
- "dev": true,
+ "node_modules/@babel/plugin-syntax-jsx": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz",
+ "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0",
- "@babel/plugin-syntax-optional-chaining": "^7.8.3"
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -718,60 +711,70 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-proposal-private-methods": {
- "version": "7.16.11",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz",
- "integrity": "sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==",
+ "node_modules/@babel/plugin-syntax-logical-assignment-operators": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
+ "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
"dev": true,
"dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.16.10",
- "@babel/helper-plugin-utils": "^7.16.7"
- },
- "engines": {
- "node": ">=6.9.0"
+ "@babel/helper-plugin-utils": "^7.10.4"
},
"peerDependencies": {
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-proposal-private-property-in-object": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz",
- "integrity": "sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==",
+ "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
+ "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
"dev": true,
"dependencies": {
- "@babel/helper-annotate-as-pure": "^7.16.7",
- "@babel/helper-create-class-features-plugin": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.8.0"
},
- "engines": {
- "node": ">=6.9.0"
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-numeric-separator": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
+ "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
},
"peerDependencies": {
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-proposal-unicode-property-regex": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz",
- "integrity": "sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==",
+ "node_modules/@babel/plugin-syntax-object-rest-spread": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
+ "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
"dev": true,
"dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.8.0"
},
- "engines": {
- "node": ">=4"
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-optional-catch-binding": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
+ "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
},
"peerDependencies": {
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-syntax-async-generators": {
- "version": "7.8.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
- "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
+ "node_modules/@babel/plugin-syntax-optional-chaining": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
+ "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
@@ -780,22 +783,25 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-syntax-class-properties": {
- "version": "7.12.13",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
- "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
+ "node_modules/@babel/plugin-syntax-private-property-in-object": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz",
+ "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.12.13"
+ "@babel/helper-plugin-utils": "^7.14.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
},
"peerDependencies": {
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-syntax-class-static-block": {
+ "node_modules/@babel/plugin-syntax-top-level-await": {
"version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz",
- "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
+ "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.14.5"
@@ -807,48 +813,79 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-syntax-dynamic-import": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
- "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
+ "node_modules/@babel/plugin-syntax-unicode-sets-regex": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz",
+ "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
+ "@babel/helper-create-regexp-features-plugin": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-arrow-functions": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz",
+ "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
},
"peerDependencies": {
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-syntax-export-namespace-from": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz",
- "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==",
+ "node_modules/@babel/plugin-transform-async-generator-functions": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.4.tgz",
+ "integrity": "sha512-efdkfPhHYTtn0G6n2ddrESE91fgXxjlqLsnUtPWnJs4a4mZIbUaK7ffqKIIUKXSHwcDvaCVX6GXkaJJFqtX7jw==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.8.3"
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-remap-async-to-generator": "^7.22.20",
+ "@babel/plugin-syntax-async-generators": "^7.8.4"
+ },
+ "engines": {
+ "node": ">=6.9.0"
},
"peerDependencies": {
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-syntax-json-strings": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
- "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
+ "node_modules/@babel/plugin-transform-async-to-generator": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz",
+ "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
+ "@babel/helper-module-imports": "^7.22.15",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-remap-async-to-generator": "^7.22.20"
+ },
+ "engines": {
+ "node": ">=6.9.0"
},
"peerDependencies": {
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-syntax-jsx": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz",
- "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==",
+ "node_modules/@babel/plugin-transform-block-scoped-functions": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz",
+ "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==",
+ "dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -857,85 +894,131 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-syntax-logical-assignment-operators": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
- "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
+ "node_modules/@babel/plugin-transform-block-scoping": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz",
+ "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
},
"peerDependencies": {
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
- "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
+ "node_modules/@babel/plugin-transform-class-properties": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz",
+ "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
+ "@babel/helper-create-class-features-plugin": "^7.22.15",
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
},
"peerDependencies": {
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-syntax-numeric-separator": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
- "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
+ "node_modules/@babel/plugin-transform-class-static-block": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz",
+ "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
+ "@babel/helper-create-class-features-plugin": "^7.22.15",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/plugin-syntax-class-static-block": "^7.14.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.12.0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-classes": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.3.tgz",
+ "integrity": "sha512-FGEQmugvAEu2QtgtU0uTASXevfLMFfBeVCIIdcQhn/uBQsMTjBajdnAtanQlOcuihWh10PZ7+HWvc7NtBwP74w==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.22.5",
+ "@babel/helper-compilation-targets": "^7.22.15",
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-function-name": "^7.23.0",
+ "@babel/helper-optimise-call-expression": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-replace-supers": "^7.22.20",
+ "@babel/helper-split-export-declaration": "^7.22.6",
+ "globals": "^11.1.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
},
"peerDependencies": {
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-syntax-object-rest-spread": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
- "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
+ "node_modules/@babel/plugin-transform-computed-properties": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz",
+ "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/template": "^7.22.15"
+ },
+ "engines": {
+ "node": ">=6.9.0"
},
"peerDependencies": {
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-syntax-optional-catch-binding": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
- "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
+ "node_modules/@babel/plugin-transform-destructuring": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz",
+ "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
},
"peerDependencies": {
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-syntax-optional-chaining": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
- "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
+ "node_modules/@babel/plugin-transform-dotall-regex": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz",
+ "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
+ "@babel/helper-create-regexp-features-plugin": "^7.22.15",
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
},
"peerDependencies": {
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-syntax-private-property-in-object": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz",
- "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==",
+ "node_modules/@babel/plugin-transform-duplicate-keys": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz",
+ "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -944,13 +1027,14 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-syntax-top-level-await": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
- "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
+ "node_modules/@babel/plugin-transform-dynamic-import": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz",
+ "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3"
},
"engines": {
"node": ">=6.9.0"
@@ -959,13 +1043,14 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-transform-arrow-functions": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz",
- "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==",
+ "node_modules/@babel/plugin-transform-exponentiation-operator": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz",
+ "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15",
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -974,15 +1059,14 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-transform-async-to-generator": {
- "version": "7.16.8",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz",
- "integrity": "sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==",
+ "node_modules/@babel/plugin-transform-export-namespace-from": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz",
+ "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==",
"dev": true,
"dependencies": {
- "@babel/helper-module-imports": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-remap-async-to-generator": "^7.16.8"
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
},
"engines": {
"node": ">=6.9.0"
@@ -991,13 +1075,13 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-transform-block-scoped-functions": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz",
- "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==",
+ "node_modules/@babel/plugin-transform-for-of": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.3.tgz",
+ "integrity": "sha512-X8jSm8X1CMwxmK878qsUGJRmbysKNbdpTv/O1/v0LuY/ZkZrng5WYiekYSdg9m09OTmDDUWeEDsTE+17WYbAZw==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1006,13 +1090,15 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-transform-block-scoping": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz",
- "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==",
+ "node_modules/@babel/plugin-transform-function-name": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz",
+ "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-compilation-targets": "^7.22.15",
+ "@babel/helper-function-name": "^7.23.0",
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1021,20 +1107,14 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-transform-classes": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz",
- "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==",
- "dev": true,
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.16.7",
- "@babel/helper-environment-visitor": "^7.16.7",
- "@babel/helper-function-name": "^7.16.7",
- "@babel/helper-optimise-call-expression": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-replace-supers": "^7.16.7",
- "@babel/helper-split-export-declaration": "^7.16.7",
- "globals": "^11.1.0"
+ "node_modules/@babel/plugin-transform-json-strings": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz",
+ "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/plugin-syntax-json-strings": "^7.8.3"
},
"engines": {
"node": ">=6.9.0"
@@ -1043,13 +1123,13 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-transform-computed-properties": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz",
- "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==",
+ "node_modules/@babel/plugin-transform-literals": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz",
+ "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1058,13 +1138,14 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-transform-destructuring": {
- "version": "7.17.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz",
- "integrity": "sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ==",
+ "node_modules/@babel/plugin-transform-logical-assignment-operators": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz",
+ "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
},
"engines": {
"node": ">=6.9.0"
@@ -1073,14 +1154,13 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-transform-dotall-regex": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz",
- "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==",
+ "node_modules/@babel/plugin-transform-member-expression-literals": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz",
+ "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==",
"dev": true,
"dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1089,13 +1169,14 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-transform-duplicate-keys": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz",
- "integrity": "sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==",
+ "node_modules/@babel/plugin-transform-modules-amd": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz",
+ "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-module-transforms": "^7.23.3",
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1104,14 +1185,15 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-transform-exponentiation-operator": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz",
- "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==",
+ "node_modules/@babel/plugin-transform-modules-commonjs": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz",
+ "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==",
"dev": true,
"dependencies": {
- "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-module-transforms": "^7.23.3",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-simple-access": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1120,13 +1202,16 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-transform-for-of": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz",
- "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==",
+ "node_modules/@babel/plugin-transform-modules-systemjs": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz",
+ "integrity": "sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-hoist-variables": "^7.22.5",
+ "@babel/helper-module-transforms": "^7.23.3",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-validator-identifier": "^7.22.20"
},
"engines": {
"node": ">=6.9.0"
@@ -1135,15 +1220,14 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-transform-function-name": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz",
- "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==",
+ "node_modules/@babel/plugin-transform-modules-umd": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz",
+ "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==",
"dev": true,
"dependencies": {
- "@babel/helper-compilation-targets": "^7.16.7",
- "@babel/helper-function-name": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-module-transforms": "^7.23.3",
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1152,13 +1236,29 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-transform-literals": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz",
- "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==",
+ "node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz",
+ "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-new-target": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz",
+ "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1167,13 +1267,14 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-transform-member-expression-literals": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz",
- "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==",
+ "node_modules/@babel/plugin-transform-nullish-coalescing-operator": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz",
+ "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
},
"engines": {
"node": ">=6.9.0"
@@ -1182,15 +1283,14 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-transform-modules-amd": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz",
- "integrity": "sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==",
+ "node_modules/@babel/plugin-transform-numeric-separator": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz",
+ "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==",
"dev": true,
"dependencies": {
- "@babel/helper-module-transforms": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7",
- "babel-plugin-dynamic-import-node": "^2.3.3"
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/plugin-syntax-numeric-separator": "^7.10.4"
},
"engines": {
"node": ">=6.9.0"
@@ -1199,16 +1299,17 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-transform-modules-commonjs": {
- "version": "7.17.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.9.tgz",
- "integrity": "sha512-2TBFd/r2I6VlYn0YRTz2JdazS+FoUuQ2rIFHoAxtyP/0G3D82SBLaRq9rnUkpqlLg03Byfl/+M32mpxjO6KaPw==",
+ "node_modules/@babel/plugin-transform-object-rest-spread": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz",
+ "integrity": "sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==",
"dev": true,
"dependencies": {
- "@babel/helper-module-transforms": "^7.17.7",
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-simple-access": "^7.17.7",
- "babel-plugin-dynamic-import-node": "^2.3.3"
+ "@babel/compat-data": "^7.23.3",
+ "@babel/helper-compilation-targets": "^7.22.15",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+ "@babel/plugin-transform-parameters": "^7.23.3"
},
"engines": {
"node": ">=6.9.0"
@@ -1217,17 +1318,14 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-transform-modules-systemjs": {
- "version": "7.17.8",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.8.tgz",
- "integrity": "sha512-39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw==",
+ "node_modules/@babel/plugin-transform-object-super": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz",
+ "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==",
"dev": true,
"dependencies": {
- "@babel/helper-hoist-variables": "^7.16.7",
- "@babel/helper-module-transforms": "^7.17.7",
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-validator-identifier": "^7.16.7",
- "babel-plugin-dynamic-import-node": "^2.3.3"
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-replace-supers": "^7.22.20"
},
"engines": {
"node": ">=6.9.0"
@@ -1236,14 +1334,14 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-transform-modules-umd": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz",
- "integrity": "sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==",
+ "node_modules/@babel/plugin-transform-optional-catch-binding": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz",
+ "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==",
"dev": true,
"dependencies": {
- "@babel/helper-module-transforms": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
},
"engines": {
"node": ">=6.9.0"
@@ -1252,28 +1350,30 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
- "version": "7.17.10",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.10.tgz",
- "integrity": "sha512-v54O6yLaJySCs6mGzaVOUw9T967GnH38T6CQSAtnzdNPwu84l2qAjssKzo/WSO8Yi7NF+7ekm5cVbF/5qiIgNA==",
+ "node_modules/@babel/plugin-transform-optional-chaining": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz",
+ "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==",
"dev": true,
"dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.17.0"
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.3"
},
"engines": {
"node": ">=6.9.0"
},
"peerDependencies": {
- "@babel/core": "^7.0.0"
+ "@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-transform-new-target": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz",
- "integrity": "sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==",
+ "node_modules/@babel/plugin-transform-parameters": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz",
+ "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1282,14 +1382,14 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-transform-object-super": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz",
- "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==",
+ "node_modules/@babel/plugin-transform-private-methods": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz",
+ "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-replace-supers": "^7.16.7"
+ "@babel/helper-create-class-features-plugin": "^7.22.15",
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1298,13 +1398,16 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-transform-parameters": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz",
- "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==",
+ "node_modules/@babel/plugin-transform-private-property-in-object": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz",
+ "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-annotate-as-pure": "^7.22.5",
+ "@babel/helper-create-class-features-plugin": "^7.22.15",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1314,12 +1417,12 @@
}
},
"node_modules/@babel/plugin-transform-property-literals": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz",
- "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz",
+ "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1329,12 +1432,12 @@
}
},
"node_modules/@babel/plugin-transform-react-display-name": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.7.tgz",
- "integrity": "sha512-qgIg8BcZgd0G/Cz916D5+9kqX0c7nPZyXaP8R2tLNN5tkyIZdG5fEwBrxwplzSnjC1jvQmyMNVwUCZPcbGY7Pg==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz",
+ "integrity": "sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1344,16 +1447,16 @@
}
},
"node_modules/@babel/plugin-transform-react-jsx": {
- "version": "7.17.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.17.3.tgz",
- "integrity": "sha512-9tjBm4O07f7mzKSIlEmPdiE6ub7kfIe6Cd+w+oQebpATfTQMAgW+YOuWxogbKVTulA+MEO7byMeIUtQ1z+z+ZQ==",
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz",
+ "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==",
"dev": true,
"dependencies": {
- "@babel/helper-annotate-as-pure": "^7.16.7",
- "@babel/helper-module-imports": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/plugin-syntax-jsx": "^7.16.7",
- "@babel/types": "^7.17.0"
+ "@babel/helper-annotate-as-pure": "^7.22.5",
+ "@babel/helper-module-imports": "^7.22.15",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/plugin-syntax-jsx": "^7.23.3",
+ "@babel/types": "^7.23.4"
},
"engines": {
"node": ">=6.9.0"
@@ -1363,12 +1466,12 @@
}
},
"node_modules/@babel/plugin-transform-react-jsx-development": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.16.7.tgz",
- "integrity": "sha512-RMvQWvpla+xy6MlBpPlrKZCMRs2AGiHOGHY3xRwl0pEeim348dDyxeH4xBsMPbIMhujeq7ihE702eM2Ew0Wo+A==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz",
+ "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==",
"dev": true,
"dependencies": {
- "@babel/plugin-transform-react-jsx": "^7.16.7"
+ "@babel/plugin-transform-react-jsx": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1378,13 +1481,13 @@
}
},
"node_modules/@babel/plugin-transform-react-pure-annotations": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.16.7.tgz",
- "integrity": "sha512-hs71ToC97k3QWxswh2ElzMFABXHvGiJ01IB1TbYQDGeWRKWz/MPUTh5jGExdHvosYKpnJW5Pm3S4+TA3FyX+GA==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz",
+ "integrity": "sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==",
"dev": true,
"dependencies": {
- "@babel/helper-annotate-as-pure": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-annotate-as-pure": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1394,12 +1497,13 @@
}
},
"node_modules/@babel/plugin-transform-regenerator": {
- "version": "7.17.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.17.9.tgz",
- "integrity": "sha512-Lc2TfbxR1HOyn/c6b4Y/b6NHoTb67n/IoWLxTu4kC7h4KQnWlhCq2S8Tx0t2SVvv5Uu87Hs+6JEJ5kt2tYGylQ==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz",
+ "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==",
"dev": true,
"dependencies": {
- "regenerator-transform": "^0.15.0"
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "regenerator-transform": "^0.15.2"
},
"engines": {
"node": ">=6.9.0"
@@ -1409,12 +1513,12 @@
}
},
"node_modules/@babel/plugin-transform-reserved-words": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz",
- "integrity": "sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz",
+ "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1424,12 +1528,12 @@
}
},
"node_modules/@babel/plugin-transform-shorthand-properties": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz",
- "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz",
+ "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1439,13 +1543,13 @@
}
},
"node_modules/@babel/plugin-transform-spread": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz",
- "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz",
+ "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0"
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1455,12 +1559,12 @@
}
},
"node_modules/@babel/plugin-transform-sticky-regex": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz",
- "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz",
+ "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1470,12 +1574,12 @@
}
},
"node_modules/@babel/plugin-transform-template-literals": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz",
- "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz",
+ "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1485,12 +1589,12 @@
}
},
"node_modules/@babel/plugin-transform-typeof-symbol": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz",
- "integrity": "sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz",
+ "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1500,12 +1604,28 @@
}
},
"node_modules/@babel/plugin-transform-unicode-escapes": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz",
- "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz",
+ "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-unicode-property-regex": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz",
+ "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-create-regexp-features-plugin": "^7.22.15",
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1515,13 +1635,13 @@
}
},
"node_modules/@babel/plugin-transform-unicode-regex": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz",
- "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz",
+ "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==",
"dev": true,
"dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-create-regexp-features-plugin": "^7.22.15",
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1530,38 +1650,44 @@
"@babel/core": "^7.0.0-0"
}
},
+ "node_modules/@babel/plugin-transform-unicode-sets-regex": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz",
+ "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.22.15",
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
"node_modules/@babel/preset-env": {
- "version": "7.17.10",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.17.10.tgz",
- "integrity": "sha512-YNgyBHZQpeoBSRBg0xixsZzfT58Ze1iZrajvv0lJc70qDDGuGfonEnMGfWeSY0mQ3JTuCWFbMkzFRVafOyJx4g==",
- "dev": true,
- "dependencies": {
- "@babel/compat-data": "^7.17.10",
- "@babel/helper-compilation-targets": "^7.17.10",
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-validator-option": "^7.16.7",
- "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7",
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7",
- "@babel/plugin-proposal-async-generator-functions": "^7.16.8",
- "@babel/plugin-proposal-class-properties": "^7.16.7",
- "@babel/plugin-proposal-class-static-block": "^7.17.6",
- "@babel/plugin-proposal-dynamic-import": "^7.16.7",
- "@babel/plugin-proposal-export-namespace-from": "^7.16.7",
- "@babel/plugin-proposal-json-strings": "^7.16.7",
- "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7",
- "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7",
- "@babel/plugin-proposal-numeric-separator": "^7.16.7",
- "@babel/plugin-proposal-object-rest-spread": "^7.17.3",
- "@babel/plugin-proposal-optional-catch-binding": "^7.16.7",
- "@babel/plugin-proposal-optional-chaining": "^7.16.7",
- "@babel/plugin-proposal-private-methods": "^7.16.11",
- "@babel/plugin-proposal-private-property-in-object": "^7.16.7",
- "@babel/plugin-proposal-unicode-property-regex": "^7.16.7",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.3.tgz",
+ "integrity": "sha512-ovzGc2uuyNfNAs/jyjIGxS8arOHS5FENZaNn4rtE7UdKMMkqHCvboHfcuhWLZNX5cB44QfcGNWjaevxMzzMf+Q==",
+ "dev": true,
+ "dependencies": {
+ "@babel/compat-data": "^7.23.3",
+ "@babel/helper-compilation-targets": "^7.22.15",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-validator-option": "^7.22.15",
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3",
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3",
+ "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.3",
+ "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2",
"@babel/plugin-syntax-async-generators": "^7.8.4",
"@babel/plugin-syntax-class-properties": "^7.12.13",
"@babel/plugin-syntax-class-static-block": "^7.14.5",
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
"@babel/plugin-syntax-export-namespace-from": "^7.8.3",
+ "@babel/plugin-syntax-import-assertions": "^7.23.3",
+ "@babel/plugin-syntax-import-attributes": "^7.23.3",
+ "@babel/plugin-syntax-import-meta": "^7.10.4",
"@babel/plugin-syntax-json-strings": "^7.8.3",
"@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
"@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
@@ -1571,45 +1697,61 @@
"@babel/plugin-syntax-optional-chaining": "^7.8.3",
"@babel/plugin-syntax-private-property-in-object": "^7.14.5",
"@babel/plugin-syntax-top-level-await": "^7.14.5",
- "@babel/plugin-transform-arrow-functions": "^7.16.7",
- "@babel/plugin-transform-async-to-generator": "^7.16.8",
- "@babel/plugin-transform-block-scoped-functions": "^7.16.7",
- "@babel/plugin-transform-block-scoping": "^7.16.7",
- "@babel/plugin-transform-classes": "^7.16.7",
- "@babel/plugin-transform-computed-properties": "^7.16.7",
- "@babel/plugin-transform-destructuring": "^7.17.7",
- "@babel/plugin-transform-dotall-regex": "^7.16.7",
- "@babel/plugin-transform-duplicate-keys": "^7.16.7",
- "@babel/plugin-transform-exponentiation-operator": "^7.16.7",
- "@babel/plugin-transform-for-of": "^7.16.7",
- "@babel/plugin-transform-function-name": "^7.16.7",
- "@babel/plugin-transform-literals": "^7.16.7",
- "@babel/plugin-transform-member-expression-literals": "^7.16.7",
- "@babel/plugin-transform-modules-amd": "^7.16.7",
- "@babel/plugin-transform-modules-commonjs": "^7.17.9",
- "@babel/plugin-transform-modules-systemjs": "^7.17.8",
- "@babel/plugin-transform-modules-umd": "^7.16.7",
- "@babel/plugin-transform-named-capturing-groups-regex": "^7.17.10",
- "@babel/plugin-transform-new-target": "^7.16.7",
- "@babel/plugin-transform-object-super": "^7.16.7",
- "@babel/plugin-transform-parameters": "^7.16.7",
- "@babel/plugin-transform-property-literals": "^7.16.7",
- "@babel/plugin-transform-regenerator": "^7.17.9",
- "@babel/plugin-transform-reserved-words": "^7.16.7",
- "@babel/plugin-transform-shorthand-properties": "^7.16.7",
- "@babel/plugin-transform-spread": "^7.16.7",
- "@babel/plugin-transform-sticky-regex": "^7.16.7",
- "@babel/plugin-transform-template-literals": "^7.16.7",
- "@babel/plugin-transform-typeof-symbol": "^7.16.7",
- "@babel/plugin-transform-unicode-escapes": "^7.16.7",
- "@babel/plugin-transform-unicode-regex": "^7.16.7",
- "@babel/preset-modules": "^0.1.5",
- "@babel/types": "^7.17.10",
- "babel-plugin-polyfill-corejs2": "^0.3.0",
- "babel-plugin-polyfill-corejs3": "^0.5.0",
- "babel-plugin-polyfill-regenerator": "^0.3.0",
- "core-js-compat": "^3.22.1",
- "semver": "^6.3.0"
+ "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6",
+ "@babel/plugin-transform-arrow-functions": "^7.23.3",
+ "@babel/plugin-transform-async-generator-functions": "^7.23.3",
+ "@babel/plugin-transform-async-to-generator": "^7.23.3",
+ "@babel/plugin-transform-block-scoped-functions": "^7.23.3",
+ "@babel/plugin-transform-block-scoping": "^7.23.3",
+ "@babel/plugin-transform-class-properties": "^7.23.3",
+ "@babel/plugin-transform-class-static-block": "^7.23.3",
+ "@babel/plugin-transform-classes": "^7.23.3",
+ "@babel/plugin-transform-computed-properties": "^7.23.3",
+ "@babel/plugin-transform-destructuring": "^7.23.3",
+ "@babel/plugin-transform-dotall-regex": "^7.23.3",
+ "@babel/plugin-transform-duplicate-keys": "^7.23.3",
+ "@babel/plugin-transform-dynamic-import": "^7.23.3",
+ "@babel/plugin-transform-exponentiation-operator": "^7.23.3",
+ "@babel/plugin-transform-export-namespace-from": "^7.23.3",
+ "@babel/plugin-transform-for-of": "^7.23.3",
+ "@babel/plugin-transform-function-name": "^7.23.3",
+ "@babel/plugin-transform-json-strings": "^7.23.3",
+ "@babel/plugin-transform-literals": "^7.23.3",
+ "@babel/plugin-transform-logical-assignment-operators": "^7.23.3",
+ "@babel/plugin-transform-member-expression-literals": "^7.23.3",
+ "@babel/plugin-transform-modules-amd": "^7.23.3",
+ "@babel/plugin-transform-modules-commonjs": "^7.23.3",
+ "@babel/plugin-transform-modules-systemjs": "^7.23.3",
+ "@babel/plugin-transform-modules-umd": "^7.23.3",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5",
+ "@babel/plugin-transform-new-target": "^7.23.3",
+ "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.3",
+ "@babel/plugin-transform-numeric-separator": "^7.23.3",
+ "@babel/plugin-transform-object-rest-spread": "^7.23.3",
+ "@babel/plugin-transform-object-super": "^7.23.3",
+ "@babel/plugin-transform-optional-catch-binding": "^7.23.3",
+ "@babel/plugin-transform-optional-chaining": "^7.23.3",
+ "@babel/plugin-transform-parameters": "^7.23.3",
+ "@babel/plugin-transform-private-methods": "^7.23.3",
+ "@babel/plugin-transform-private-property-in-object": "^7.23.3",
+ "@babel/plugin-transform-property-literals": "^7.23.3",
+ "@babel/plugin-transform-regenerator": "^7.23.3",
+ "@babel/plugin-transform-reserved-words": "^7.23.3",
+ "@babel/plugin-transform-shorthand-properties": "^7.23.3",
+ "@babel/plugin-transform-spread": "^7.23.3",
+ "@babel/plugin-transform-sticky-regex": "^7.23.3",
+ "@babel/plugin-transform-template-literals": "^7.23.3",
+ "@babel/plugin-transform-typeof-symbol": "^7.23.3",
+ "@babel/plugin-transform-unicode-escapes": "^7.23.3",
+ "@babel/plugin-transform-unicode-property-regex": "^7.23.3",
+ "@babel/plugin-transform-unicode-regex": "^7.23.3",
+ "@babel/plugin-transform-unicode-sets-regex": "^7.23.3",
+ "@babel/preset-modules": "0.1.6-no-external-plugins",
+ "babel-plugin-polyfill-corejs2": "^0.4.6",
+ "babel-plugin-polyfill-corejs3": "^0.8.5",
+ "babel-plugin-polyfill-regenerator": "^0.5.3",
+ "core-js-compat": "^3.31.0",
+ "semver": "^6.3.1"
},
"engines": {
"node": ">=6.9.0"
@@ -1619,33 +1761,31 @@
}
},
"node_modules/@babel/preset-modules": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz",
- "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==",
+ "version": "0.1.6-no-external-plugins",
+ "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz",
+ "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==",
"dev": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.0.0",
- "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
- "@babel/plugin-transform-dotall-regex": "^7.4.4",
"@babel/types": "^7.4.4",
"esutils": "^2.0.2"
},
"peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0"
}
},
"node_modules/@babel/preset-react": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.16.7.tgz",
- "integrity": "sha512-fWpyI8UM/HE6DfPBzD8LnhQ/OcH8AgTaqcqP2nGOXEUV+VKBR5JRN9hCk9ai+zQQ57vtm9oWeXguBCPNUjytgA==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.23.3.tgz",
+ "integrity": "sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==",
"dev": true,
"dependencies": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-validator-option": "^7.16.7",
- "@babel/plugin-transform-react-display-name": "^7.16.7",
- "@babel/plugin-transform-react-jsx": "^7.16.7",
- "@babel/plugin-transform-react-jsx-development": "^7.16.7",
- "@babel/plugin-transform-react-pure-annotations": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-validator-option": "^7.22.15",
+ "@babel/plugin-transform-react-display-name": "^7.23.3",
+ "@babel/plugin-transform-react-jsx": "^7.22.15",
+ "@babel/plugin-transform-react-jsx-development": "^7.22.5",
+ "@babel/plugin-transform-react-pure-annotations": "^7.23.3"
},
"engines": {
"node": ">=6.9.0"
@@ -1654,6 +1794,12 @@
"@babel/core": "^7.0.0-0"
}
},
+ "node_modules/@babel/regjsgen": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz",
+ "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==",
+ "dev": true
+ },
"node_modules/@babel/runtime": {
"version": "7.20.13",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.13.tgz",
@@ -1678,31 +1824,31 @@
}
},
"node_modules/@babel/template": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz",
- "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==",
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz",
+ "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==",
"dependencies": {
- "@babel/code-frame": "^7.16.7",
- "@babel/parser": "^7.16.7",
- "@babel/types": "^7.16.7"
+ "@babel/code-frame": "^7.22.13",
+ "@babel/parser": "^7.22.15",
+ "@babel/types": "^7.22.15"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/traverse": {
- "version": "7.17.10",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.10.tgz",
- "integrity": "sha512-VmbrTHQteIdUUQNTb+zE12SHS/xQVIShmBPhlNP12hD5poF2pbITW1Z4172d03HegaQWhLffdkRJYtAzp0AGcw==",
- "dependencies": {
- "@babel/code-frame": "^7.16.7",
- "@babel/generator": "^7.17.10",
- "@babel/helper-environment-visitor": "^7.16.7",
- "@babel/helper-function-name": "^7.17.9",
- "@babel/helper-hoist-variables": "^7.16.7",
- "@babel/helper-split-export-declaration": "^7.16.7",
- "@babel/parser": "^7.17.10",
- "@babel/types": "^7.17.10",
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.4.tgz",
+ "integrity": "sha512-IYM8wSUwunWTB6tFC2dkKZhxbIjHoWemdK+3f8/wq8aKhbUscxD5MX72ubd90fxvFknaLPeGw5ycU84V1obHJg==",
+ "dependencies": {
+ "@babel/code-frame": "^7.23.4",
+ "@babel/generator": "^7.23.4",
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-function-name": "^7.23.0",
+ "@babel/helper-hoist-variables": "^7.22.5",
+ "@babel/helper-split-export-declaration": "^7.22.6",
+ "@babel/parser": "^7.23.4",
+ "@babel/types": "^7.23.4",
"debug": "^4.1.0",
"globals": "^11.1.0"
},
@@ -1711,11 +1857,12 @@
}
},
"node_modules/@babel/types": {
- "version": "7.17.10",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.10.tgz",
- "integrity": "sha512-9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A==",
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.4.tgz",
+ "integrity": "sha512-7uIFwVYpoplT5jp/kVv6EF93VaJ8H+Yn5IczYiaAi98ajzjfoZfslet/e0sLh+wVBjb2qqIut1b0S26VSafsSQ==",
"dependencies": {
- "@babel/helper-validator-identifier": "^7.16.7",
+ "@babel/helper-string-parser": "^7.23.4",
+ "@babel/helper-validator-identifier": "^7.22.20",
"to-fast-properties": "^2.0.0"
},
"engines": {
@@ -2119,9 +2266,9 @@
}
},
"node_modules/@jridgewell/resolve-uri": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.6.tgz",
- "integrity": "sha512-R7xHtBSNm+9SyvpJkdQl+qrM3Hm2fea3Ef197M3mUug+v+yR+Rhfbs7PBtcBUVnIWJ4JcAdjvij+c8hXS9p5aw==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz",
+ "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==",
"engines": {
"node": ">=6.0.0"
}
@@ -2159,17 +2306,17 @@
}
},
"node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.4.12",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.12.tgz",
- "integrity": "sha512-az/NhpIwP3K33ILr0T2bso+k2E/SLf8Yidd8mHl0n6sCQ4YdyC8qDhZA6kOPDNDBA56ZnIjngVl0U3jREA0BUA=="
+ "version": "1.4.15",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
+ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
},
"node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.9",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
- "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
+ "version": "0.3.20",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz",
+ "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==",
"dependencies": {
- "@jridgewell/resolve-uri": "^3.0.3",
- "@jridgewell/sourcemap-codec": "^1.4.10"
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
}
},
"node_modules/@lezer/common": {
@@ -2654,6 +2801,45 @@
"url": "https://github.com/sponsors/epoberezkin"
}
},
+ "node_modules/ajv-formats": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz",
+ "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
+ "dev": true,
+ "dependencies": {
+ "ajv": "^8.0.0"
+ },
+ "peerDependencies": {
+ "ajv": "^8.0.0"
+ },
+ "peerDependenciesMeta": {
+ "ajv": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/ajv-formats/node_modules/ajv": {
+ "version": "8.12.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
+ "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
+ "dev": true,
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/ajv-formats/node_modules/json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ },
"node_modules/ajv-keywords": {
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
@@ -2775,58 +2961,32 @@
}
},
"node_modules/available-typed-arrays": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
- "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==",
- "dev": true,
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/babel-loader": {
- "version": "8.2.5",
- "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz",
- "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==",
- "dev": true,
- "dependencies": {
- "find-cache-dir": "^3.3.1",
- "loader-utils": "^2.0.0",
- "make-dir": "^3.1.0",
- "schema-utils": "^2.6.5"
- },
- "engines": {
- "node": ">= 8.9"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0",
- "webpack": ">=2"
- }
- },
- "node_modules/babel-loader/node_modules/make-dir": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
+ "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==",
"dev": true,
- "dependencies": {
- "semver": "^6.0.0"
- },
"engines": {
- "node": ">=8"
+ "node": ">= 0.4"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/babel-plugin-dynamic-import-node": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz",
- "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==",
+ "node_modules/babel-loader": {
+ "version": "9.1.3",
+ "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz",
+ "integrity": "sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==",
"dev": true,
"dependencies": {
- "object.assign": "^4.1.0"
+ "find-cache-dir": "^4.0.0",
+ "schema-utils": "^4.0.0"
+ },
+ "engines": {
+ "node": ">= 14.15.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.12.0",
+ "webpack": ">=5"
}
},
"node_modules/babel-plugin-macros": {
@@ -2844,42 +3004,42 @@
}
},
"node_modules/babel-plugin-polyfill-corejs2": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz",
- "integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==",
+ "version": "0.4.6",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz",
+ "integrity": "sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==",
"dev": true,
"dependencies": {
- "@babel/compat-data": "^7.13.11",
- "@babel/helper-define-polyfill-provider": "^0.3.1",
- "semver": "^6.1.1"
+ "@babel/compat-data": "^7.22.6",
+ "@babel/helper-define-polyfill-provider": "^0.4.3",
+ "semver": "^6.3.1"
},
"peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
}
},
"node_modules/babel-plugin-polyfill-corejs3": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz",
- "integrity": "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==",
+ "version": "0.8.6",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.6.tgz",
+ "integrity": "sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ==",
"dev": true,
"dependencies": {
- "@babel/helper-define-polyfill-provider": "^0.3.1",
- "core-js-compat": "^3.21.0"
+ "@babel/helper-define-polyfill-provider": "^0.4.3",
+ "core-js-compat": "^3.33.1"
},
"peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
}
},
"node_modules/babel-plugin-polyfill-regenerator": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz",
- "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==",
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz",
+ "integrity": "sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==",
"dev": true,
"dependencies": {
- "@babel/helper-define-polyfill-provider": "^0.3.1"
+ "@babel/helper-define-polyfill-provider": "^0.4.3"
},
"peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
}
},
"node_modules/balanced-match": {
@@ -2934,9 +3094,9 @@
}
},
"node_modules/browserslist": {
- "version": "4.20.3",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz",
- "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==",
+ "version": "4.22.1",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz",
+ "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==",
"funding": [
{
"type": "opencollective",
@@ -2945,14 +3105,17 @@
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
}
],
"dependencies": {
- "caniuse-lite": "^1.0.30001332",
- "electron-to-chromium": "^1.4.118",
- "escalade": "^3.1.1",
- "node-releases": "^2.0.3",
- "picocolors": "^1.0.0"
+ "caniuse-lite": "^1.0.30001541",
+ "electron-to-chromium": "^1.4.535",
+ "node-releases": "^2.0.13",
+ "update-browserslist-db": "^1.0.13"
},
"bin": {
"browserslist": "cli.js"
@@ -2989,9 +3152,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001336",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001336.tgz",
- "integrity": "sha512-/YxSlBmL7iKXTbIJ48IQTnAOBk7XmWsxhBF1PZLOko5Dt9qc4Pl+84lfqG3Tc4EuavurRn1QLoVJGxY2iSycfw==",
+ "version": "1.0.30001564",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001564.tgz",
+ "integrity": "sha512-DqAOf+rhof+6GVx1y+xzbFPeOumfQnhYzVnZD6LAXijR77yPtm9mfOcqOnT3mpnJiZVT+kwLAFnRlZcIz+c6bg==",
"funding": [
{
"type": "opencollective",
@@ -3000,6 +3163,10 @@
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
}
]
},
@@ -3096,7 +3263,7 @@
"node_modules/color-name": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
},
"node_modules/colorette": {
"version": "2.0.16",
@@ -3113,10 +3280,10 @@
"node": ">= 6"
}
},
- "node_modules/commondir": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
- "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
+ "node_modules/common-path-prefix": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz",
+ "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==",
"dev": true
},
"node_modules/concat-map": {
@@ -3208,28 +3375,18 @@
"hasInstallScript": true
},
"node_modules/core-js-compat": {
- "version": "3.22.4",
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.4.tgz",
- "integrity": "sha512-dIWcsszDezkFZrfm1cnB4f/J85gyhiCpxbgBdohWCDtSVuAaChTSpPV7ldOQf/Xds2U5xCIJZOK82G4ZPAIswA==",
+ "version": "3.33.3",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.3.tgz",
+ "integrity": "sha512-cNzGqFsh3Ot+529GIXacjTJ7kegdt5fPXxCBVS1G0iaZpuo/tBz399ymceLJveQhFFZ8qThHiP3fzuoQjKN2ow==",
"dev": true,
"dependencies": {
- "browserslist": "^4.20.3",
- "semver": "7.0.0"
+ "browserslist": "^4.22.1"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/core-js"
}
},
- "node_modules/core-js-compat/node_modules/semver": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
- "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
- "dev": true,
- "bin": {
- "semver": "bin/semver.js"
- }
- },
"node_modules/cosmiconfig": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz",
@@ -3428,9 +3585,9 @@
}
},
"node_modules/electron-to-chromium": {
- "version": "1.4.134",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.134.tgz",
- "integrity": "sha512-OdD7M2no4Mi8PopfvoOuNcwYDJ2mNFxaBfurA6okG3fLBaMcFah9S+si84FhX+FIWLKkdaiHfl4A+5ep/gOVrg=="
+ "version": "1.4.592",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.592.tgz",
+ "integrity": "sha512-D3NOkROIlF+d5ixnz7pAf3Lu/AuWpd6AYgI9O67GQXMXTcCP1gJQRotOq35eQy5Sb4hez33XH1YdTtILA7Udww=="
},
"node_modules/emojis-list": {
"version": "3.0.0",
@@ -3579,7 +3736,7 @@
"node_modules/escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
"engines": {
"node": ">=0.8.0"
}
@@ -4147,32 +4304,113 @@
}
},
"node_modules/find-cache-dir": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
- "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz",
+ "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==",
"dev": true,
"dependencies": {
- "commondir": "^1.0.1",
- "make-dir": "^3.0.2",
- "pkg-dir": "^4.1.0"
+ "common-path-prefix": "^3.0.0",
+ "pkg-dir": "^7.0.0"
},
"engines": {
- "node": ">=8"
+ "node": ">=14.16"
},
"funding": {
- "url": "https://github.com/avajs/find-cache-dir?sponsor=1"
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/find-cache-dir/node_modules/make-dir": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "node_modules/find-cache-dir/node_modules/find-up": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz",
+ "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==",
"dev": true,
"dependencies": {
- "semver": "^6.0.0"
+ "locate-path": "^7.1.0",
+ "path-exists": "^5.0.0"
},
"engines": {
- "node": ">=8"
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/find-cache-dir/node_modules/locate-path": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz",
+ "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==",
+ "dev": true,
+ "dependencies": {
+ "p-locate": "^6.0.0"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/find-cache-dir/node_modules/p-limit": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz",
+ "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==",
+ "dev": true,
+ "dependencies": {
+ "yocto-queue": "^1.0.0"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/find-cache-dir/node_modules/p-locate": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz",
+ "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==",
+ "dev": true,
+ "dependencies": {
+ "p-limit": "^4.0.0"
+ },
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/find-cache-dir/node_modules/path-exists": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz",
+ "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==",
+ "dev": true,
+ "engines": {
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+ }
+ },
+ "node_modules/find-cache-dir/node_modules/pkg-dir": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz",
+ "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==",
+ "dev": true,
+ "dependencies": {
+ "find-up": "^6.3.0"
+ },
+ "engines": {
+ "node": ">=14.16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/find-cache-dir/node_modules/yocto-queue": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz",
+ "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==",
+ "dev": true,
+ "engines": {
+ "node": ">=12.20"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
@@ -4478,7 +4716,7 @@
"node_modules/has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
"engines": {
"node": ">=4"
}
@@ -5174,7 +5412,7 @@
"node_modules/lodash.debounce": {
"version": "4.0.8",
"resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
- "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=",
+ "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==",
"dev": true
},
"node_modules/lodash.merge": {
@@ -5382,9 +5620,9 @@
"dev": true
},
"node_modules/node-releases": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.4.tgz",
- "integrity": "sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ=="
+ "version": "2.0.13",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz",
+ "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ=="
},
"node_modules/normalize-path": {
"version": "3.0.0",
@@ -6164,9 +6402,9 @@
"dev": true
},
"node_modules/regenerate-unicode-properties": {
- "version": "10.0.1",
- "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz",
- "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==",
+ "version": "10.1.1",
+ "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz",
+ "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==",
"dev": true,
"dependencies": {
"regenerate": "^1.4.2"
@@ -6181,9 +6419,9 @@
"integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg=="
},
"node_modules/regenerator-transform": {
- "version": "0.15.0",
- "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz",
- "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==",
+ "version": "0.15.2",
+ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz",
+ "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==",
"dev": true,
"dependencies": {
"@babel/runtime": "^7.8.4"
@@ -6207,32 +6445,26 @@
}
},
"node_modules/regexpu-core": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.0.1.tgz",
- "integrity": "sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==",
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz",
+ "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==",
"dev": true,
"dependencies": {
+ "@babel/regjsgen": "^0.8.0",
"regenerate": "^1.4.2",
- "regenerate-unicode-properties": "^10.0.1",
- "regjsgen": "^0.6.0",
- "regjsparser": "^0.8.2",
+ "regenerate-unicode-properties": "^10.1.0",
+ "regjsparser": "^0.9.1",
"unicode-match-property-ecmascript": "^2.0.0",
- "unicode-match-property-value-ecmascript": "^2.0.0"
+ "unicode-match-property-value-ecmascript": "^2.1.0"
},
"engines": {
"node": ">=4"
}
},
- "node_modules/regjsgen": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz",
- "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==",
- "dev": true
- },
"node_modules/regjsparser": {
- "version": "0.8.4",
- "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz",
- "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==",
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz",
+ "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==",
"dev": true,
"dependencies": {
"jsesc": "~0.5.0"
@@ -6244,12 +6476,21 @@
"node_modules/regjsparser/node_modules/jsesc": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
- "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
+ "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==",
"dev": true,
"bin": {
"jsesc": "bin/jsesc"
}
},
+ "node_modules/require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/resolve": {
"version": "1.22.0",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz",
@@ -6414,23 +6655,58 @@
}
},
"node_modules/schema-utils": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz",
- "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz",
+ "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==",
"dev": true,
"dependencies": {
- "@types/json-schema": "^7.0.5",
- "ajv": "^6.12.4",
- "ajv-keywords": "^3.5.2"
+ "@types/json-schema": "^7.0.9",
+ "ajv": "^8.9.0",
+ "ajv-formats": "^2.1.1",
+ "ajv-keywords": "^5.1.0"
},
"engines": {
- "node": ">= 8.9.0"
+ "node": ">= 12.13.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/webpack"
}
},
+ "node_modules/schema-utils/node_modules/ajv": {
+ "version": "8.12.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
+ "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
+ "dev": true,
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/schema-utils/node_modules/ajv-keywords": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
+ "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
+ "dev": true,
+ "dependencies": {
+ "fast-deep-equal": "^3.1.3"
+ },
+ "peerDependencies": {
+ "ajv": "^8.8.2"
+ }
+ },
+ "node_modules/schema-utils/node_modules/json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ },
"node_modules/semver": {
"version": "6.3.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
@@ -6874,23 +7150,52 @@
}
},
"node_modules/unicode-match-property-value-ecmascript": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz",
- "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz",
+ "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==",
"dev": true,
"engines": {
"node": ">=4"
}
},
"node_modules/unicode-property-aliases-ecmascript": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz",
- "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz",
+ "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==",
"dev": true,
"engines": {
"node": ">=4"
}
},
+ "node_modules/update-browserslist-db": {
+ "version": "1.0.13",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
+ "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "dependencies": {
+ "escalade": "^3.1.1",
+ "picocolors": "^1.0.0"
+ },
+ "bin": {
+ "update-browserslist-db": "cli.js"
+ },
+ "peerDependencies": {
+ "browserslist": ">= 4.21.0"
+ }
+ },
"node_modules/uri-js": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
@@ -7194,492 +7499,382 @@
}
},
"@babel/cli": {
- "version": "7.17.10",
- "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.17.10.tgz",
- "integrity": "sha512-OygVO1M2J4yPMNOW9pb+I6kFGpQK77HmG44Oz3hg8xQIl5L/2zq+ZohwAdSaqYgVwM0SfmPHZHphH4wR8qzVYw==",
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.23.4.tgz",
+ "integrity": "sha512-j3luA9xGKCXVyCa5R7lJvOMM+Kc2JEnAEIgz2ggtjQ/j5YUVgfsg/WsG95bbsgq7YLHuiCOzMnoSasuY16qiCw==",
"dev": true,
"requires": {
- "@jridgewell/trace-mapping": "^0.3.8",
+ "@jridgewell/trace-mapping": "^0.3.17",
"@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.3",
"chokidar": "^3.4.0",
"commander": "^4.0.1",
- "convert-source-map": "^1.1.0",
+ "convert-source-map": "^2.0.0",
"fs-readdir-recursive": "^1.1.0",
- "glob": "^7.0.0",
+ "glob": "^7.2.0",
"make-dir": "^2.1.0",
"slash": "^2.0.0"
+ },
+ "dependencies": {
+ "convert-source-map": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+ "dev": true
+ }
}
},
"@babel/code-frame": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz",
- "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==",
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.4.tgz",
+ "integrity": "sha512-r1IONyb6Ia+jYR2vvIDhdWdlTGhqbBoFqLTQidzZ4kepUFH15ejXvFHxCVbtl7BOXIudsIubf4E81xeA3h3IXA==",
"requires": {
- "@babel/highlight": "^7.16.7"
+ "@babel/highlight": "^7.23.4",
+ "chalk": "^2.4.2"
}
},
"@babel/compat-data": {
- "version": "7.17.10",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.10.tgz",
- "integrity": "sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw=="
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.3.tgz",
+ "integrity": "sha512-BmR4bWbDIoFJmJ9z2cZ8Gmm2MXgEDgjdWgpKmKWUt54UGFJdlj31ECtbaDvCG/qVdG3AQ1SfpZEs01lUFbzLOQ=="
},
"@babel/core": {
- "version": "7.17.10",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.10.tgz",
- "integrity": "sha512-liKoppandF3ZcBnIYFjfSDHZLKdLHGJRkoWtG8zQyGJBQfIYobpnVGI5+pLBNtS6psFLDzyq8+h5HiVljW9PNA==",
- "requires": {
- "@ampproject/remapping": "^2.1.0",
- "@babel/code-frame": "^7.16.7",
- "@babel/generator": "^7.17.10",
- "@babel/helper-compilation-targets": "^7.17.10",
- "@babel/helper-module-transforms": "^7.17.7",
- "@babel/helpers": "^7.17.9",
- "@babel/parser": "^7.17.10",
- "@babel/template": "^7.16.7",
- "@babel/traverse": "^7.17.10",
- "@babel/types": "^7.17.10",
- "convert-source-map": "^1.7.0",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.3.tgz",
+ "integrity": "sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew==",
+ "requires": {
+ "@ampproject/remapping": "^2.2.0",
+ "@babel/code-frame": "^7.22.13",
+ "@babel/generator": "^7.23.3",
+ "@babel/helper-compilation-targets": "^7.22.15",
+ "@babel/helper-module-transforms": "^7.23.3",
+ "@babel/helpers": "^7.23.2",
+ "@babel/parser": "^7.23.3",
+ "@babel/template": "^7.22.15",
+ "@babel/traverse": "^7.23.3",
+ "@babel/types": "^7.23.3",
+ "convert-source-map": "^2.0.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
- "json5": "^2.2.1",
- "semver": "^6.3.0"
+ "json5": "^2.2.3",
+ "semver": "^6.3.1"
+ },
+ "dependencies": {
+ "convert-source-map": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg=="
+ }
}
},
"@babel/generator": {
- "version": "7.17.10",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.10.tgz",
- "integrity": "sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==",
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.4.tgz",
+ "integrity": "sha512-esuS49Cga3HcThFNebGhlgsrVLkvhqvYDTzgjfFFlHJcIfLe5jFmRRfCQ1KuBfc4Jrtn3ndLgKWAKjBE+IraYQ==",
"requires": {
- "@babel/types": "^7.17.10",
- "@jridgewell/gen-mapping": "^0.1.0",
+ "@babel/types": "^7.23.4",
+ "@jridgewell/gen-mapping": "^0.3.2",
+ "@jridgewell/trace-mapping": "^0.3.17",
"jsesc": "^2.5.1"
+ },
+ "dependencies": {
+ "@jridgewell/gen-mapping": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
+ "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
+ "requires": {
+ "@jridgewell/set-array": "^1.0.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ }
+ }
}
},
"@babel/helper-annotate-as-pure": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz",
- "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz",
+ "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==",
"dev": true,
"requires": {
- "@babel/types": "^7.16.7"
+ "@babel/types": "^7.22.5"
}
},
"@babel/helper-builder-binary-assignment-operator-visitor": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz",
- "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==",
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz",
+ "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==",
"dev": true,
"requires": {
- "@babel/helper-explode-assignable-expression": "^7.16.7",
- "@babel/types": "^7.16.7"
+ "@babel/types": "^7.22.15"
}
},
"@babel/helper-compilation-targets": {
- "version": "7.17.10",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.10.tgz",
- "integrity": "sha512-gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ==",
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz",
+ "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==",
"requires": {
- "@babel/compat-data": "^7.17.10",
- "@babel/helper-validator-option": "^7.16.7",
- "browserslist": "^4.20.2",
- "semver": "^6.3.0"
+ "@babel/compat-data": "^7.22.9",
+ "@babel/helper-validator-option": "^7.22.15",
+ "browserslist": "^4.21.9",
+ "lru-cache": "^5.1.1",
+ "semver": "^6.3.1"
+ },
+ "dependencies": {
+ "lru-cache": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+ "requires": {
+ "yallist": "^3.0.2"
+ }
+ },
+ "yallist": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
+ }
}
},
"@babel/helper-create-class-features-plugin": {
- "version": "7.17.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.9.tgz",
- "integrity": "sha512-kUjip3gruz6AJKOq5i3nC6CoCEEF/oHH3cp6tOZhB+IyyyPyW0g1Gfsxn3mkk6S08pIA2y8GQh609v9G/5sHVQ==",
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.15.tgz",
+ "integrity": "sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==",
"dev": true,
"requires": {
- "@babel/helper-annotate-as-pure": "^7.16.7",
- "@babel/helper-environment-visitor": "^7.16.7",
- "@babel/helper-function-name": "^7.17.9",
- "@babel/helper-member-expression-to-functions": "^7.17.7",
- "@babel/helper-optimise-call-expression": "^7.16.7",
- "@babel/helper-replace-supers": "^7.16.7",
- "@babel/helper-split-export-declaration": "^7.16.7"
+ "@babel/helper-annotate-as-pure": "^7.22.5",
+ "@babel/helper-environment-visitor": "^7.22.5",
+ "@babel/helper-function-name": "^7.22.5",
+ "@babel/helper-member-expression-to-functions": "^7.22.15",
+ "@babel/helper-optimise-call-expression": "^7.22.5",
+ "@babel/helper-replace-supers": "^7.22.9",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
+ "@babel/helper-split-export-declaration": "^7.22.6",
+ "semver": "^6.3.1"
}
},
"@babel/helper-create-regexp-features-plugin": {
- "version": "7.17.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz",
- "integrity": "sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA==",
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz",
+ "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==",
"dev": true,
"requires": {
- "@babel/helper-annotate-as-pure": "^7.16.7",
- "regexpu-core": "^5.0.1"
+ "@babel/helper-annotate-as-pure": "^7.22.5",
+ "regexpu-core": "^5.3.1",
+ "semver": "^6.3.1"
}
},
"@babel/helper-define-polyfill-provider": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz",
- "integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==",
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz",
+ "integrity": "sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==",
"dev": true,
"requires": {
- "@babel/helper-compilation-targets": "^7.13.0",
- "@babel/helper-module-imports": "^7.12.13",
- "@babel/helper-plugin-utils": "^7.13.0",
- "@babel/traverse": "^7.13.0",
+ "@babel/helper-compilation-targets": "^7.22.6",
+ "@babel/helper-plugin-utils": "^7.22.5",
"debug": "^4.1.1",
"lodash.debounce": "^4.0.8",
- "resolve": "^1.14.2",
- "semver": "^6.1.2"
+ "resolve": "^1.14.2"
}
},
"@babel/helper-environment-visitor": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz",
- "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==",
- "requires": {
- "@babel/types": "^7.16.7"
- }
- },
- "@babel/helper-explode-assignable-expression": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz",
- "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.16.7"
- }
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz",
+ "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA=="
},
"@babel/helper-function-name": {
- "version": "7.17.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz",
- "integrity": "sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==",
- "requires": {
- "@babel/template": "^7.16.7",
- "@babel/types": "^7.17.0"
- }
- },
- "@babel/helper-hoist-variables": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz",
- "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==",
- "requires": {
- "@babel/types": "^7.16.7"
- }
- },
- "@babel/helper-member-expression-to-functions": {
- "version": "7.17.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz",
- "integrity": "sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.17.0"
- }
- },
- "@babel/helper-module-imports": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz",
- "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==",
- "requires": {
- "@babel/types": "^7.16.7"
- }
- },
- "@babel/helper-module-transforms": {
- "version": "7.17.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz",
- "integrity": "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==",
- "requires": {
- "@babel/helper-environment-visitor": "^7.16.7",
- "@babel/helper-module-imports": "^7.16.7",
- "@babel/helper-simple-access": "^7.17.7",
- "@babel/helper-split-export-declaration": "^7.16.7",
- "@babel/helper-validator-identifier": "^7.16.7",
- "@babel/template": "^7.16.7",
- "@babel/traverse": "^7.17.3",
- "@babel/types": "^7.17.0"
- }
- },
- "@babel/helper-optimise-call-expression": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz",
- "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.16.7"
- }
- },
- "@babel/helper-plugin-utils": {
- "version": "7.20.2",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz",
- "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ=="
- },
- "@babel/helper-remap-async-to-generator": {
- "version": "7.16.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz",
- "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==",
- "dev": true,
- "requires": {
- "@babel/helper-annotate-as-pure": "^7.16.7",
- "@babel/helper-wrap-function": "^7.16.8",
- "@babel/types": "^7.16.8"
- }
- },
- "@babel/helper-replace-supers": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz",
- "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==",
- "dev": true,
- "requires": {
- "@babel/helper-environment-visitor": "^7.16.7",
- "@babel/helper-member-expression-to-functions": "^7.16.7",
- "@babel/helper-optimise-call-expression": "^7.16.7",
- "@babel/traverse": "^7.16.7",
- "@babel/types": "^7.16.7"
- }
- },
- "@babel/helper-simple-access": {
- "version": "7.17.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz",
- "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==",
- "requires": {
- "@babel/types": "^7.17.0"
- }
- },
- "@babel/helper-skip-transparent-expression-wrappers": {
- "version": "7.16.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz",
- "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==",
- "dev": true,
- "requires": {
- "@babel/types": "^7.16.0"
- }
- },
- "@babel/helper-split-export-declaration": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz",
- "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==",
- "requires": {
- "@babel/types": "^7.16.7"
- }
- },
- "@babel/helper-validator-identifier": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz",
- "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw=="
- },
- "@babel/helper-validator-option": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz",
- "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ=="
- },
- "@babel/helper-wrap-function": {
- "version": "7.16.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz",
- "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==",
- "dev": true,
- "requires": {
- "@babel/helper-function-name": "^7.16.7",
- "@babel/template": "^7.16.7",
- "@babel/traverse": "^7.16.8",
- "@babel/types": "^7.16.8"
- }
- },
- "@babel/helpers": {
- "version": "7.17.9",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.9.tgz",
- "integrity": "sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==",
- "requires": {
- "@babel/template": "^7.16.7",
- "@babel/traverse": "^7.17.9",
- "@babel/types": "^7.17.0"
- }
- },
- "@babel/highlight": {
- "version": "7.17.9",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz",
- "integrity": "sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==",
- "requires": {
- "@babel/helper-validator-identifier": "^7.16.7",
- "chalk": "^2.0.0",
- "js-tokens": "^4.0.0"
- }
- },
- "@babel/parser": {
- "version": "7.17.10",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.10.tgz",
- "integrity": "sha512-n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ=="
- },
- "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz",
- "integrity": "sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==",
- "dev": true,
+ "version": "7.23.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz",
+ "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==",
"requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/template": "^7.22.15",
+ "@babel/types": "^7.23.0"
}
},
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz",
- "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==",
- "dev": true,
+ "@babel/helper-hoist-variables": {
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz",
+ "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==",
"requires": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0",
- "@babel/plugin-proposal-optional-chaining": "^7.16.7"
+ "@babel/types": "^7.22.5"
}
},
- "@babel/plugin-proposal-async-generator-functions": {
- "version": "7.16.8",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz",
- "integrity": "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==",
+ "@babel/helper-member-expression-to-functions": {
+ "version": "7.23.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz",
+ "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-remap-async-to-generator": "^7.16.8",
- "@babel/plugin-syntax-async-generators": "^7.8.4"
+ "@babel/types": "^7.23.0"
}
},
- "@babel/plugin-proposal-class-properties": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz",
- "integrity": "sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==",
- "dev": true,
+ "@babel/helper-module-imports": {
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz",
+ "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==",
"requires": {
- "@babel/helper-create-class-features-plugin": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/types": "^7.22.15"
}
},
- "@babel/plugin-proposal-class-static-block": {
- "version": "7.17.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz",
- "integrity": "sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA==",
- "dev": true,
+ "@babel/helper-module-transforms": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz",
+ "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==",
"requires": {
- "@babel/helper-create-class-features-plugin": "^7.17.6",
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/plugin-syntax-class-static-block": "^7.14.5"
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-module-imports": "^7.22.15",
+ "@babel/helper-simple-access": "^7.22.5",
+ "@babel/helper-split-export-declaration": "^7.22.6",
+ "@babel/helper-validator-identifier": "^7.22.20"
}
},
- "@babel/plugin-proposal-dynamic-import": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz",
- "integrity": "sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==",
+ "@babel/helper-optimise-call-expression": {
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz",
+ "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/plugin-syntax-dynamic-import": "^7.8.3"
+ "@babel/types": "^7.22.5"
}
},
- "@babel/plugin-proposal-export-namespace-from": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz",
- "integrity": "sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==",
+ "@babel/helper-plugin-utils": {
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz",
+ "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg=="
+ },
+ "@babel/helper-remap-async-to-generator": {
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz",
+ "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
+ "@babel/helper-annotate-as-pure": "^7.22.5",
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-wrap-function": "^7.22.20"
}
},
- "@babel/plugin-proposal-json-strings": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz",
- "integrity": "sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==",
+ "@babel/helper-replace-supers": {
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz",
+ "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/plugin-syntax-json-strings": "^7.8.3"
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-member-expression-to-functions": "^7.22.15",
+ "@babel/helper-optimise-call-expression": "^7.22.5"
}
},
- "@babel/plugin-proposal-logical-assignment-operators": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz",
- "integrity": "sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==",
- "dev": true,
+ "@babel/helper-simple-access": {
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz",
+ "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==",
"requires": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
+ "@babel/types": "^7.22.5"
}
},
- "@babel/plugin-proposal-nullish-coalescing-operator": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz",
- "integrity": "sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==",
+ "@babel/helper-skip-transparent-expression-wrappers": {
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz",
+ "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
+ "@babel/types": "^7.22.5"
}
},
- "@babel/plugin-proposal-numeric-separator": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz",
- "integrity": "sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==",
- "dev": true,
+ "@babel/helper-split-export-declaration": {
+ "version": "7.22.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz",
+ "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==",
"requires": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/plugin-syntax-numeric-separator": "^7.10.4"
+ "@babel/types": "^7.22.5"
}
},
- "@babel/plugin-proposal-object-rest-spread": {
- "version": "7.17.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz",
- "integrity": "sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw==",
+ "@babel/helper-string-parser": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz",
+ "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ=="
+ },
+ "@babel/helper-validator-identifier": {
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
+ "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A=="
+ },
+ "@babel/helper-validator-option": {
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz",
+ "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA=="
+ },
+ "@babel/helper-wrap-function": {
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz",
+ "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==",
"dev": true,
"requires": {
- "@babel/compat-data": "^7.17.0",
- "@babel/helper-compilation-targets": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-transform-parameters": "^7.16.7"
+ "@babel/helper-function-name": "^7.22.5",
+ "@babel/template": "^7.22.15",
+ "@babel/types": "^7.22.19"
}
},
- "@babel/plugin-proposal-optional-catch-binding": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz",
- "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==",
- "dev": true,
+ "@babel/helpers": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.4.tgz",
+ "integrity": "sha512-HfcMizYz10cr3h29VqyfGL6ZWIjTwWfvYBMsBVGwpcbhNGe3wQ1ZXZRPzZoAHhd9OqHadHqjQ89iVKINXnbzuw==",
"requires": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
+ "@babel/template": "^7.22.15",
+ "@babel/traverse": "^7.23.4",
+ "@babel/types": "^7.23.4"
}
},
- "@babel/plugin-proposal-optional-chaining": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz",
- "integrity": "sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==",
- "dev": true,
+ "@babel/highlight": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz",
+ "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==",
"requires": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0",
- "@babel/plugin-syntax-optional-chaining": "^7.8.3"
+ "@babel/helper-validator-identifier": "^7.22.20",
+ "chalk": "^2.4.2",
+ "js-tokens": "^4.0.0"
}
},
- "@babel/plugin-proposal-private-methods": {
- "version": "7.16.11",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz",
- "integrity": "sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==",
+ "@babel/parser": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.4.tgz",
+ "integrity": "sha512-vf3Xna6UEprW+7t6EtOmFpHNAuxw3xqPZghy+brsnusscJRW5BMUzzHZc5ICjULee81WeUV2jjakG09MDglJXQ=="
+ },
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz",
+ "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==",
"dev": true,
"requires": {
- "@babel/helper-create-class-features-plugin": "^7.16.10",
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.22.5"
}
},
- "@babel/plugin-proposal-private-property-in-object": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz",
- "integrity": "sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==",
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz",
+ "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==",
"dev": true,
"requires": {
- "@babel/helper-annotate-as-pure": "^7.16.7",
- "@babel/helper-create-class-features-plugin": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
+ "@babel/plugin-transform-optional-chaining": "^7.23.3"
}
},
- "@babel/plugin-proposal-unicode-property-regex": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz",
- "integrity": "sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==",
+ "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.3.tgz",
+ "integrity": "sha512-XaJak1qcityzrX0/IU5nKHb34VaibwP3saKqG6a/tppelgllOH13LUann4ZCIBcVOeE6H18K4Vx9QKkVww3z/w==",
"dev": true,
"requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-plugin-utils": "^7.22.5"
}
},
+ "@babel/plugin-proposal-private-property-in-object": {
+ "version": "7.21.0-placeholder-for-preset-env.2",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz",
+ "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==",
+ "dev": true,
+ "requires": {}
+ },
"@babel/plugin-syntax-async-generators": {
"version": "7.8.4",
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
@@ -7725,6 +7920,33 @@
"@babel/helper-plugin-utils": "^7.8.3"
}
},
+ "@babel/plugin-syntax-import-assertions": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz",
+ "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.22.5"
+ }
+ },
+ "@babel/plugin-syntax-import-attributes": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz",
+ "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.22.5"
+ }
+ },
+ "@babel/plugin-syntax-import-meta": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
+ "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ }
+ },
"@babel/plugin-syntax-json-strings": {
"version": "7.8.3",
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
@@ -7735,11 +7957,11 @@
}
},
"@babel/plugin-syntax-jsx": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz",
- "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz",
+ "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==",
"requires": {
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-plugin-utils": "^7.22.5"
}
},
"@babel/plugin-syntax-logical-assignment-operators": {
@@ -7814,393 +8036,563 @@
"@babel/helper-plugin-utils": "^7.14.5"
}
},
+ "@babel/plugin-syntax-unicode-sets-regex": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz",
+ "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-create-regexp-features-plugin": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
+ }
+ },
"@babel/plugin-transform-arrow-functions": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz",
- "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz",
+ "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.22.5"
+ }
+ },
+ "@babel/plugin-transform-async-generator-functions": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.4.tgz",
+ "integrity": "sha512-efdkfPhHYTtn0G6n2ddrESE91fgXxjlqLsnUtPWnJs4a4mZIbUaK7ffqKIIUKXSHwcDvaCVX6GXkaJJFqtX7jw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-remap-async-to-generator": "^7.22.20",
+ "@babel/plugin-syntax-async-generators": "^7.8.4"
}
},
"@babel/plugin-transform-async-to-generator": {
- "version": "7.16.8",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz",
- "integrity": "sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz",
+ "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==",
"dev": true,
"requires": {
- "@babel/helper-module-imports": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-remap-async-to-generator": "^7.16.8"
+ "@babel/helper-module-imports": "^7.22.15",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-remap-async-to-generator": "^7.22.20"
}
},
"@babel/plugin-transform-block-scoped-functions": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz",
- "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz",
+ "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.22.5"
}
},
"@babel/plugin-transform-block-scoping": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz",
- "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==",
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz",
+ "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.22.5"
+ }
+ },
+ "@babel/plugin-transform-class-properties": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz",
+ "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-create-class-features-plugin": "^7.22.15",
+ "@babel/helper-plugin-utils": "^7.22.5"
+ }
+ },
+ "@babel/plugin-transform-class-static-block": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz",
+ "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-create-class-features-plugin": "^7.22.15",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/plugin-syntax-class-static-block": "^7.14.5"
}
},
"@babel/plugin-transform-classes": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz",
- "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==",
- "dev": true,
- "requires": {
- "@babel/helper-annotate-as-pure": "^7.16.7",
- "@babel/helper-environment-visitor": "^7.16.7",
- "@babel/helper-function-name": "^7.16.7",
- "@babel/helper-optimise-call-expression": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-replace-supers": "^7.16.7",
- "@babel/helper-split-export-declaration": "^7.16.7",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.3.tgz",
+ "integrity": "sha512-FGEQmugvAEu2QtgtU0uTASXevfLMFfBeVCIIdcQhn/uBQsMTjBajdnAtanQlOcuihWh10PZ7+HWvc7NtBwP74w==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.22.5",
+ "@babel/helper-compilation-targets": "^7.22.15",
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-function-name": "^7.23.0",
+ "@babel/helper-optimise-call-expression": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-replace-supers": "^7.22.20",
+ "@babel/helper-split-export-declaration": "^7.22.6",
"globals": "^11.1.0"
}
},
"@babel/plugin-transform-computed-properties": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz",
- "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz",
+ "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/template": "^7.22.15"
}
},
"@babel/plugin-transform-destructuring": {
- "version": "7.17.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz",
- "integrity": "sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz",
+ "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.22.5"
}
},
"@babel/plugin-transform-dotall-regex": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz",
- "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz",
+ "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==",
"dev": true,
"requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-create-regexp-features-plugin": "^7.22.15",
+ "@babel/helper-plugin-utils": "^7.22.5"
}
},
"@babel/plugin-transform-duplicate-keys": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz",
- "integrity": "sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz",
+ "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.22.5"
+ }
+ },
+ "@babel/plugin-transform-dynamic-import": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz",
+ "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3"
}
},
"@babel/plugin-transform-exponentiation-operator": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz",
- "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz",
+ "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15",
+ "@babel/helper-plugin-utils": "^7.22.5"
+ }
+ },
+ "@babel/plugin-transform-export-namespace-from": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz",
+ "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==",
"dev": true,
"requires": {
- "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
}
},
"@babel/plugin-transform-for-of": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz",
- "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.3.tgz",
+ "integrity": "sha512-X8jSm8X1CMwxmK878qsUGJRmbysKNbdpTv/O1/v0LuY/ZkZrng5WYiekYSdg9m09OTmDDUWeEDsTE+17WYbAZw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.22.5"
}
},
"@babel/plugin-transform-function-name": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz",
- "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz",
+ "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-compilation-targets": "^7.22.15",
+ "@babel/helper-function-name": "^7.23.0",
+ "@babel/helper-plugin-utils": "^7.22.5"
+ }
+ },
+ "@babel/plugin-transform-json-strings": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz",
+ "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==",
"dev": true,
"requires": {
- "@babel/helper-compilation-targets": "^7.16.7",
- "@babel/helper-function-name": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/plugin-syntax-json-strings": "^7.8.3"
}
},
"@babel/plugin-transform-literals": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz",
- "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz",
+ "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.22.5"
+ }
+ },
+ "@babel/plugin-transform-logical-assignment-operators": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz",
+ "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
}
},
"@babel/plugin-transform-member-expression-literals": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz",
- "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz",
+ "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.22.5"
}
},
"@babel/plugin-transform-modules-amd": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz",
- "integrity": "sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz",
+ "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==",
"dev": true,
"requires": {
- "@babel/helper-module-transforms": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7",
- "babel-plugin-dynamic-import-node": "^2.3.3"
+ "@babel/helper-module-transforms": "^7.23.3",
+ "@babel/helper-plugin-utils": "^7.22.5"
}
},
"@babel/plugin-transform-modules-commonjs": {
- "version": "7.17.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.9.tgz",
- "integrity": "sha512-2TBFd/r2I6VlYn0YRTz2JdazS+FoUuQ2rIFHoAxtyP/0G3D82SBLaRq9rnUkpqlLg03Byfl/+M32mpxjO6KaPw==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz",
+ "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==",
"dev": true,
"requires": {
- "@babel/helper-module-transforms": "^7.17.7",
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-simple-access": "^7.17.7",
- "babel-plugin-dynamic-import-node": "^2.3.3"
+ "@babel/helper-module-transforms": "^7.23.3",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-simple-access": "^7.22.5"
}
},
"@babel/plugin-transform-modules-systemjs": {
- "version": "7.17.8",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.8.tgz",
- "integrity": "sha512-39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz",
+ "integrity": "sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==",
"dev": true,
"requires": {
- "@babel/helper-hoist-variables": "^7.16.7",
- "@babel/helper-module-transforms": "^7.17.7",
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-validator-identifier": "^7.16.7",
- "babel-plugin-dynamic-import-node": "^2.3.3"
+ "@babel/helper-hoist-variables": "^7.22.5",
+ "@babel/helper-module-transforms": "^7.23.3",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-validator-identifier": "^7.22.20"
}
},
"@babel/plugin-transform-modules-umd": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz",
- "integrity": "sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz",
+ "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==",
"dev": true,
"requires": {
- "@babel/helper-module-transforms": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-module-transforms": "^7.23.3",
+ "@babel/helper-plugin-utils": "^7.22.5"
}
},
"@babel/plugin-transform-named-capturing-groups-regex": {
- "version": "7.17.10",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.10.tgz",
- "integrity": "sha512-v54O6yLaJySCs6mGzaVOUw9T967GnH38T6CQSAtnzdNPwu84l2qAjssKzo/WSO8Yi7NF+7ekm5cVbF/5qiIgNA==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz",
+ "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==",
"dev": true,
"requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.17.0"
+ "@babel/helper-create-regexp-features-plugin": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.22.5"
}
},
"@babel/plugin-transform-new-target": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz",
- "integrity": "sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz",
+ "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.22.5"
+ }
+ },
+ "@babel/plugin-transform-nullish-coalescing-operator": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz",
+ "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
+ }
+ },
+ "@babel/plugin-transform-numeric-separator": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz",
+ "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/plugin-syntax-numeric-separator": "^7.10.4"
+ }
+ },
+ "@babel/plugin-transform-object-rest-spread": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz",
+ "integrity": "sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/compat-data": "^7.23.3",
+ "@babel/helper-compilation-targets": "^7.22.15",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+ "@babel/plugin-transform-parameters": "^7.23.3"
}
},
"@babel/plugin-transform-object-super": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz",
- "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz",
+ "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-replace-supers": "^7.22.20"
+ }
+ },
+ "@babel/plugin-transform-optional-catch-binding": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz",
+ "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
+ }
+ },
+ "@babel/plugin-transform-optional-chaining": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz",
+ "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-replace-supers": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.3"
}
},
"@babel/plugin-transform-parameters": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz",
- "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz",
+ "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.22.5"
+ }
+ },
+ "@babel/plugin-transform-private-methods": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz",
+ "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-create-class-features-plugin": "^7.22.15",
+ "@babel/helper-plugin-utils": "^7.22.5"
+ }
+ },
+ "@babel/plugin-transform-private-property-in-object": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz",
+ "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-annotate-as-pure": "^7.22.5",
+ "@babel/helper-create-class-features-plugin": "^7.22.15",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
}
},
"@babel/plugin-transform-property-literals": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz",
- "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz",
+ "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.22.5"
}
},
"@babel/plugin-transform-react-display-name": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.7.tgz",
- "integrity": "sha512-qgIg8BcZgd0G/Cz916D5+9kqX0c7nPZyXaP8R2tLNN5tkyIZdG5fEwBrxwplzSnjC1jvQmyMNVwUCZPcbGY7Pg==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz",
+ "integrity": "sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.22.5"
}
},
"@babel/plugin-transform-react-jsx": {
- "version": "7.17.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.17.3.tgz",
- "integrity": "sha512-9tjBm4O07f7mzKSIlEmPdiE6ub7kfIe6Cd+w+oQebpATfTQMAgW+YOuWxogbKVTulA+MEO7byMeIUtQ1z+z+ZQ==",
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz",
+ "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==",
"dev": true,
"requires": {
- "@babel/helper-annotate-as-pure": "^7.16.7",
- "@babel/helper-module-imports": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/plugin-syntax-jsx": "^7.16.7",
- "@babel/types": "^7.17.0"
+ "@babel/helper-annotate-as-pure": "^7.22.5",
+ "@babel/helper-module-imports": "^7.22.15",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/plugin-syntax-jsx": "^7.23.3",
+ "@babel/types": "^7.23.4"
}
},
"@babel/plugin-transform-react-jsx-development": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.16.7.tgz",
- "integrity": "sha512-RMvQWvpla+xy6MlBpPlrKZCMRs2AGiHOGHY3xRwl0pEeim348dDyxeH4xBsMPbIMhujeq7ihE702eM2Ew0Wo+A==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz",
+ "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==",
"dev": true,
"requires": {
- "@babel/plugin-transform-react-jsx": "^7.16.7"
+ "@babel/plugin-transform-react-jsx": "^7.22.5"
}
},
"@babel/plugin-transform-react-pure-annotations": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.16.7.tgz",
- "integrity": "sha512-hs71ToC97k3QWxswh2ElzMFABXHvGiJ01IB1TbYQDGeWRKWz/MPUTh5jGExdHvosYKpnJW5Pm3S4+TA3FyX+GA==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz",
+ "integrity": "sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==",
"dev": true,
"requires": {
- "@babel/helper-annotate-as-pure": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-annotate-as-pure": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.22.5"
}
},
"@babel/plugin-transform-regenerator": {
- "version": "7.17.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.17.9.tgz",
- "integrity": "sha512-Lc2TfbxR1HOyn/c6b4Y/b6NHoTb67n/IoWLxTu4kC7h4KQnWlhCq2S8Tx0t2SVvv5Uu87Hs+6JEJ5kt2tYGylQ==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz",
+ "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==",
"dev": true,
"requires": {
- "regenerator-transform": "^0.15.0"
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "regenerator-transform": "^0.15.2"
}
},
"@babel/plugin-transform-reserved-words": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz",
- "integrity": "sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz",
+ "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.22.5"
}
},
"@babel/plugin-transform-shorthand-properties": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz",
- "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz",
+ "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.22.5"
}
},
"@babel/plugin-transform-spread": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz",
- "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz",
+ "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0"
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5"
}
},
"@babel/plugin-transform-sticky-regex": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz",
- "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz",
+ "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.22.5"
}
},
"@babel/plugin-transform-template-literals": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz",
- "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz",
+ "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.22.5"
}
},
"@babel/plugin-transform-typeof-symbol": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz",
- "integrity": "sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz",
+ "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.22.5"
}
},
"@babel/plugin-transform-unicode-escapes": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz",
- "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz",
+ "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.22.5"
+ }
+ },
+ "@babel/plugin-transform-unicode-property-regex": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz",
+ "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-create-regexp-features-plugin": "^7.22.15",
+ "@babel/helper-plugin-utils": "^7.22.5"
}
},
"@babel/plugin-transform-unicode-regex": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz",
- "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz",
+ "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-create-regexp-features-plugin": "^7.22.15",
+ "@babel/helper-plugin-utils": "^7.22.5"
+ }
+ },
+ "@babel/plugin-transform-unicode-sets-regex": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz",
+ "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==",
"dev": true,
"requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.16.7",
- "@babel/helper-plugin-utils": "^7.16.7"
+ "@babel/helper-create-regexp-features-plugin": "^7.22.15",
+ "@babel/helper-plugin-utils": "^7.22.5"
}
},
"@babel/preset-env": {
- "version": "7.17.10",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.17.10.tgz",
- "integrity": "sha512-YNgyBHZQpeoBSRBg0xixsZzfT58Ze1iZrajvv0lJc70qDDGuGfonEnMGfWeSY0mQ3JTuCWFbMkzFRVafOyJx4g==",
- "dev": true,
- "requires": {
- "@babel/compat-data": "^7.17.10",
- "@babel/helper-compilation-targets": "^7.17.10",
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-validator-option": "^7.16.7",
- "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7",
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7",
- "@babel/plugin-proposal-async-generator-functions": "^7.16.8",
- "@babel/plugin-proposal-class-properties": "^7.16.7",
- "@babel/plugin-proposal-class-static-block": "^7.17.6",
- "@babel/plugin-proposal-dynamic-import": "^7.16.7",
- "@babel/plugin-proposal-export-namespace-from": "^7.16.7",
- "@babel/plugin-proposal-json-strings": "^7.16.7",
- "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7",
- "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7",
- "@babel/plugin-proposal-numeric-separator": "^7.16.7",
- "@babel/plugin-proposal-object-rest-spread": "^7.17.3",
- "@babel/plugin-proposal-optional-catch-binding": "^7.16.7",
- "@babel/plugin-proposal-optional-chaining": "^7.16.7",
- "@babel/plugin-proposal-private-methods": "^7.16.11",
- "@babel/plugin-proposal-private-property-in-object": "^7.16.7",
- "@babel/plugin-proposal-unicode-property-regex": "^7.16.7",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.3.tgz",
+ "integrity": "sha512-ovzGc2uuyNfNAs/jyjIGxS8arOHS5FENZaNn4rtE7UdKMMkqHCvboHfcuhWLZNX5cB44QfcGNWjaevxMzzMf+Q==",
+ "dev": true,
+ "requires": {
+ "@babel/compat-data": "^7.23.3",
+ "@babel/helper-compilation-targets": "^7.22.15",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-validator-option": "^7.22.15",
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3",
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3",
+ "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.3",
+ "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2",
"@babel/plugin-syntax-async-generators": "^7.8.4",
"@babel/plugin-syntax-class-properties": "^7.12.13",
"@babel/plugin-syntax-class-static-block": "^7.14.5",
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
"@babel/plugin-syntax-export-namespace-from": "^7.8.3",
+ "@babel/plugin-syntax-import-assertions": "^7.23.3",
+ "@babel/plugin-syntax-import-attributes": "^7.23.3",
+ "@babel/plugin-syntax-import-meta": "^7.10.4",
"@babel/plugin-syntax-json-strings": "^7.8.3",
"@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
"@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
@@ -8210,74 +8602,94 @@
"@babel/plugin-syntax-optional-chaining": "^7.8.3",
"@babel/plugin-syntax-private-property-in-object": "^7.14.5",
"@babel/plugin-syntax-top-level-await": "^7.14.5",
- "@babel/plugin-transform-arrow-functions": "^7.16.7",
- "@babel/plugin-transform-async-to-generator": "^7.16.8",
- "@babel/plugin-transform-block-scoped-functions": "^7.16.7",
- "@babel/plugin-transform-block-scoping": "^7.16.7",
- "@babel/plugin-transform-classes": "^7.16.7",
- "@babel/plugin-transform-computed-properties": "^7.16.7",
- "@babel/plugin-transform-destructuring": "^7.17.7",
- "@babel/plugin-transform-dotall-regex": "^7.16.7",
- "@babel/plugin-transform-duplicate-keys": "^7.16.7",
- "@babel/plugin-transform-exponentiation-operator": "^7.16.7",
- "@babel/plugin-transform-for-of": "^7.16.7",
- "@babel/plugin-transform-function-name": "^7.16.7",
- "@babel/plugin-transform-literals": "^7.16.7",
- "@babel/plugin-transform-member-expression-literals": "^7.16.7",
- "@babel/plugin-transform-modules-amd": "^7.16.7",
- "@babel/plugin-transform-modules-commonjs": "^7.17.9",
- "@babel/plugin-transform-modules-systemjs": "^7.17.8",
- "@babel/plugin-transform-modules-umd": "^7.16.7",
- "@babel/plugin-transform-named-capturing-groups-regex": "^7.17.10",
- "@babel/plugin-transform-new-target": "^7.16.7",
- "@babel/plugin-transform-object-super": "^7.16.7",
- "@babel/plugin-transform-parameters": "^7.16.7",
- "@babel/plugin-transform-property-literals": "^7.16.7",
- "@babel/plugin-transform-regenerator": "^7.17.9",
- "@babel/plugin-transform-reserved-words": "^7.16.7",
- "@babel/plugin-transform-shorthand-properties": "^7.16.7",
- "@babel/plugin-transform-spread": "^7.16.7",
- "@babel/plugin-transform-sticky-regex": "^7.16.7",
- "@babel/plugin-transform-template-literals": "^7.16.7",
- "@babel/plugin-transform-typeof-symbol": "^7.16.7",
- "@babel/plugin-transform-unicode-escapes": "^7.16.7",
- "@babel/plugin-transform-unicode-regex": "^7.16.7",
- "@babel/preset-modules": "^0.1.5",
- "@babel/types": "^7.17.10",
- "babel-plugin-polyfill-corejs2": "^0.3.0",
- "babel-plugin-polyfill-corejs3": "^0.5.0",
- "babel-plugin-polyfill-regenerator": "^0.3.0",
- "core-js-compat": "^3.22.1",
- "semver": "^6.3.0"
+ "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6",
+ "@babel/plugin-transform-arrow-functions": "^7.23.3",
+ "@babel/plugin-transform-async-generator-functions": "^7.23.3",
+ "@babel/plugin-transform-async-to-generator": "^7.23.3",
+ "@babel/plugin-transform-block-scoped-functions": "^7.23.3",
+ "@babel/plugin-transform-block-scoping": "^7.23.3",
+ "@babel/plugin-transform-class-properties": "^7.23.3",
+ "@babel/plugin-transform-class-static-block": "^7.23.3",
+ "@babel/plugin-transform-classes": "^7.23.3",
+ "@babel/plugin-transform-computed-properties": "^7.23.3",
+ "@babel/plugin-transform-destructuring": "^7.23.3",
+ "@babel/plugin-transform-dotall-regex": "^7.23.3",
+ "@babel/plugin-transform-duplicate-keys": "^7.23.3",
+ "@babel/plugin-transform-dynamic-import": "^7.23.3",
+ "@babel/plugin-transform-exponentiation-operator": "^7.23.3",
+ "@babel/plugin-transform-export-namespace-from": "^7.23.3",
+ "@babel/plugin-transform-for-of": "^7.23.3",
+ "@babel/plugin-transform-function-name": "^7.23.3",
+ "@babel/plugin-transform-json-strings": "^7.23.3",
+ "@babel/plugin-transform-literals": "^7.23.3",
+ "@babel/plugin-transform-logical-assignment-operators": "^7.23.3",
+ "@babel/plugin-transform-member-expression-literals": "^7.23.3",
+ "@babel/plugin-transform-modules-amd": "^7.23.3",
+ "@babel/plugin-transform-modules-commonjs": "^7.23.3",
+ "@babel/plugin-transform-modules-systemjs": "^7.23.3",
+ "@babel/plugin-transform-modules-umd": "^7.23.3",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5",
+ "@babel/plugin-transform-new-target": "^7.23.3",
+ "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.3",
+ "@babel/plugin-transform-numeric-separator": "^7.23.3",
+ "@babel/plugin-transform-object-rest-spread": "^7.23.3",
+ "@babel/plugin-transform-object-super": "^7.23.3",
+ "@babel/plugin-transform-optional-catch-binding": "^7.23.3",
+ "@babel/plugin-transform-optional-chaining": "^7.23.3",
+ "@babel/plugin-transform-parameters": "^7.23.3",
+ "@babel/plugin-transform-private-methods": "^7.23.3",
+ "@babel/plugin-transform-private-property-in-object": "^7.23.3",
+ "@babel/plugin-transform-property-literals": "^7.23.3",
+ "@babel/plugin-transform-regenerator": "^7.23.3",
+ "@babel/plugin-transform-reserved-words": "^7.23.3",
+ "@babel/plugin-transform-shorthand-properties": "^7.23.3",
+ "@babel/plugin-transform-spread": "^7.23.3",
+ "@babel/plugin-transform-sticky-regex": "^7.23.3",
+ "@babel/plugin-transform-template-literals": "^7.23.3",
+ "@babel/plugin-transform-typeof-symbol": "^7.23.3",
+ "@babel/plugin-transform-unicode-escapes": "^7.23.3",
+ "@babel/plugin-transform-unicode-property-regex": "^7.23.3",
+ "@babel/plugin-transform-unicode-regex": "^7.23.3",
+ "@babel/plugin-transform-unicode-sets-regex": "^7.23.3",
+ "@babel/preset-modules": "0.1.6-no-external-plugins",
+ "babel-plugin-polyfill-corejs2": "^0.4.6",
+ "babel-plugin-polyfill-corejs3": "^0.8.5",
+ "babel-plugin-polyfill-regenerator": "^0.5.3",
+ "core-js-compat": "^3.31.0",
+ "semver": "^6.3.1"
}
},
"@babel/preset-modules": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz",
- "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==",
+ "version": "0.1.6-no-external-plugins",
+ "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz",
+ "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==",
"dev": true,
"requires": {
"@babel/helper-plugin-utils": "^7.0.0",
- "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
- "@babel/plugin-transform-dotall-regex": "^7.4.4",
"@babel/types": "^7.4.4",
"esutils": "^2.0.2"
}
},
"@babel/preset-react": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.16.7.tgz",
- "integrity": "sha512-fWpyI8UM/HE6DfPBzD8LnhQ/OcH8AgTaqcqP2nGOXEUV+VKBR5JRN9hCk9ai+zQQ57vtm9oWeXguBCPNUjytgA==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.23.3.tgz",
+ "integrity": "sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==",
"dev": true,
"requires": {
- "@babel/helper-plugin-utils": "^7.16.7",
- "@babel/helper-validator-option": "^7.16.7",
- "@babel/plugin-transform-react-display-name": "^7.16.7",
- "@babel/plugin-transform-react-jsx": "^7.16.7",
- "@babel/plugin-transform-react-jsx-development": "^7.16.7",
- "@babel/plugin-transform-react-pure-annotations": "^7.16.7"
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-validator-option": "^7.22.15",
+ "@babel/plugin-transform-react-display-name": "^7.23.3",
+ "@babel/plugin-transform-react-jsx": "^7.22.15",
+ "@babel/plugin-transform-react-jsx-development": "^7.22.5",
+ "@babel/plugin-transform-react-pure-annotations": "^7.23.3"
}
},
+ "@babel/regjsgen": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz",
+ "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==",
+ "dev": true
+ },
"@babel/runtime": {
"version": "7.20.13",
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.13.tgz",
@@ -8296,38 +8708,39 @@
}
},
"@babel/template": {
- "version": "7.16.7",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz",
- "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==",
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz",
+ "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==",
"requires": {
- "@babel/code-frame": "^7.16.7",
- "@babel/parser": "^7.16.7",
- "@babel/types": "^7.16.7"
+ "@babel/code-frame": "^7.22.13",
+ "@babel/parser": "^7.22.15",
+ "@babel/types": "^7.22.15"
}
},
"@babel/traverse": {
- "version": "7.17.10",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.10.tgz",
- "integrity": "sha512-VmbrTHQteIdUUQNTb+zE12SHS/xQVIShmBPhlNP12hD5poF2pbITW1Z4172d03HegaQWhLffdkRJYtAzp0AGcw==",
- "requires": {
- "@babel/code-frame": "^7.16.7",
- "@babel/generator": "^7.17.10",
- "@babel/helper-environment-visitor": "^7.16.7",
- "@babel/helper-function-name": "^7.17.9",
- "@babel/helper-hoist-variables": "^7.16.7",
- "@babel/helper-split-export-declaration": "^7.16.7",
- "@babel/parser": "^7.17.10",
- "@babel/types": "^7.17.10",
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.4.tgz",
+ "integrity": "sha512-IYM8wSUwunWTB6tFC2dkKZhxbIjHoWemdK+3f8/wq8aKhbUscxD5MX72ubd90fxvFknaLPeGw5ycU84V1obHJg==",
+ "requires": {
+ "@babel/code-frame": "^7.23.4",
+ "@babel/generator": "^7.23.4",
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-function-name": "^7.23.0",
+ "@babel/helper-hoist-variables": "^7.22.5",
+ "@babel/helper-split-export-declaration": "^7.22.6",
+ "@babel/parser": "^7.23.4",
+ "@babel/types": "^7.23.4",
"debug": "^4.1.0",
"globals": "^11.1.0"
}
},
"@babel/types": {
- "version": "7.17.10",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.10.tgz",
- "integrity": "sha512-9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A==",
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.4.tgz",
+ "integrity": "sha512-7uIFwVYpoplT5jp/kVv6EF93VaJ8H+Yn5IczYiaAi98ajzjfoZfslet/e0sLh+wVBjb2qqIut1b0S26VSafsSQ==",
"requires": {
- "@babel/helper-validator-identifier": "^7.16.7",
+ "@babel/helper-string-parser": "^7.23.4",
+ "@babel/helper-validator-identifier": "^7.22.20",
"to-fast-properties": "^2.0.0"
}
},
@@ -8660,9 +9073,9 @@
}
},
"@jridgewell/resolve-uri": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.6.tgz",
- "integrity": "sha512-R7xHtBSNm+9SyvpJkdQl+qrM3Hm2fea3Ef197M3mUug+v+yR+Rhfbs7PBtcBUVnIWJ4JcAdjvij+c8hXS9p5aw=="
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz",
+ "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA=="
},
"@jridgewell/set-array": {
"version": "1.1.0",
@@ -8693,17 +9106,17 @@
}
},
"@jridgewell/sourcemap-codec": {
- "version": "1.4.12",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.12.tgz",
- "integrity": "sha512-az/NhpIwP3K33ILr0T2bso+k2E/SLf8Yidd8mHl0n6sCQ4YdyC8qDhZA6kOPDNDBA56ZnIjngVl0U3jREA0BUA=="
+ "version": "1.4.15",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
+ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
},
"@jridgewell/trace-mapping": {
- "version": "0.3.9",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
- "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
+ "version": "0.3.20",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz",
+ "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==",
"requires": {
- "@jridgewell/resolve-uri": "^3.0.3",
- "@jridgewell/sourcemap-codec": "^1.4.10"
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
}
},
"@lezer/common": {
@@ -9134,6 +9547,35 @@
"uri-js": "^4.2.2"
}
},
+ "ajv-formats": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz",
+ "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
+ "dev": true,
+ "requires": {
+ "ajv": "^8.0.0"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "8.12.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
+ "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ }
+ }
+ },
"ajv-keywords": {
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
@@ -9232,35 +9674,13 @@
"dev": true
},
"babel-loader": {
- "version": "8.2.5",
- "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz",
- "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==",
- "dev": true,
- "requires": {
- "find-cache-dir": "^3.3.1",
- "loader-utils": "^2.0.0",
- "make-dir": "^3.1.0",
- "schema-utils": "^2.6.5"
- },
- "dependencies": {
- "make-dir": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
- "dev": true,
- "requires": {
- "semver": "^6.0.0"
- }
- }
- }
- },
- "babel-plugin-dynamic-import-node": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz",
- "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==",
+ "version": "9.1.3",
+ "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz",
+ "integrity": "sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==",
"dev": true,
"requires": {
- "object.assign": "^4.1.0"
+ "find-cache-dir": "^4.0.0",
+ "schema-utils": "^4.0.0"
}
},
"babel-plugin-macros": {
@@ -9274,33 +9694,33 @@
}
},
"babel-plugin-polyfill-corejs2": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz",
- "integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==",
+ "version": "0.4.6",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz",
+ "integrity": "sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==",
"dev": true,
"requires": {
- "@babel/compat-data": "^7.13.11",
- "@babel/helper-define-polyfill-provider": "^0.3.1",
- "semver": "^6.1.1"
+ "@babel/compat-data": "^7.22.6",
+ "@babel/helper-define-polyfill-provider": "^0.4.3",
+ "semver": "^6.3.1"
}
},
"babel-plugin-polyfill-corejs3": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz",
- "integrity": "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==",
+ "version": "0.8.6",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.6.tgz",
+ "integrity": "sha512-leDIc4l4tUgU7str5BWLS2h8q2N4Nf6lGZP6UrNDxdtfF2g69eJ5L0H7S8A5Ln/arfFAfHor5InAdZuIOwZdgQ==",
"dev": true,
"requires": {
- "@babel/helper-define-polyfill-provider": "^0.3.1",
- "core-js-compat": "^3.21.0"
+ "@babel/helper-define-polyfill-provider": "^0.4.3",
+ "core-js-compat": "^3.33.1"
}
},
"babel-plugin-polyfill-regenerator": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz",
- "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==",
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz",
+ "integrity": "sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==",
"dev": true,
"requires": {
- "@babel/helper-define-polyfill-provider": "^0.3.1"
+ "@babel/helper-define-polyfill-provider": "^0.4.3"
}
},
"balanced-match": {
@@ -9346,15 +9766,14 @@
}
},
"browserslist": {
- "version": "4.20.3",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz",
- "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==",
+ "version": "4.22.1",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz",
+ "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==",
"requires": {
- "caniuse-lite": "^1.0.30001332",
- "electron-to-chromium": "^1.4.118",
- "escalade": "^3.1.1",
- "node-releases": "^2.0.3",
- "picocolors": "^1.0.0"
+ "caniuse-lite": "^1.0.30001541",
+ "electron-to-chromium": "^1.4.535",
+ "node-releases": "^2.0.13",
+ "update-browserslist-db": "^1.0.13"
}
},
"buffer-from": {
@@ -9379,9 +9798,9 @@
"integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="
},
"caniuse-lite": {
- "version": "1.0.30001336",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001336.tgz",
- "integrity": "sha512-/YxSlBmL7iKXTbIJ48IQTnAOBk7XmWsxhBF1PZLOko5Dt9qc4Pl+84lfqG3Tc4EuavurRn1QLoVJGxY2iSycfw=="
+ "version": "1.0.30001564",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001564.tgz",
+ "integrity": "sha512-DqAOf+rhof+6GVx1y+xzbFPeOumfQnhYzVnZD6LAXijR77yPtm9mfOcqOnT3mpnJiZVT+kwLAFnRlZcIz+c6bg=="
},
"chalk": {
"version": "2.4.2",
@@ -9456,7 +9875,7 @@
"color-name": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
},
"colorette": {
"version": "2.0.16",
@@ -9470,10 +9889,10 @@
"integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
"dev": true
},
- "commondir": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
- "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
+ "common-path-prefix": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz",
+ "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==",
"dev": true
},
"concat-map": {
@@ -9542,21 +9961,12 @@
"integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ=="
},
"core-js-compat": {
- "version": "3.22.4",
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.4.tgz",
- "integrity": "sha512-dIWcsszDezkFZrfm1cnB4f/J85gyhiCpxbgBdohWCDtSVuAaChTSpPV7ldOQf/Xds2U5xCIJZOK82G4ZPAIswA==",
+ "version": "3.33.3",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.3.tgz",
+ "integrity": "sha512-cNzGqFsh3Ot+529GIXacjTJ7kegdt5fPXxCBVS1G0iaZpuo/tBz399ymceLJveQhFFZ8qThHiP3fzuoQjKN2ow==",
"dev": true,
"requires": {
- "browserslist": "^4.20.3",
- "semver": "7.0.0"
- },
- "dependencies": {
- "semver": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
- "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
- "dev": true
- }
+ "browserslist": "^4.22.1"
}
},
"cosmiconfig": {
@@ -9704,9 +10114,9 @@
}
},
"electron-to-chromium": {
- "version": "1.4.134",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.134.tgz",
- "integrity": "sha512-OdD7M2no4Mi8PopfvoOuNcwYDJ2mNFxaBfurA6okG3fLBaMcFah9S+si84FhX+FIWLKkdaiHfl4A+5ep/gOVrg=="
+ "version": "1.4.592",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.592.tgz",
+ "integrity": "sha512-D3NOkROIlF+d5ixnz7pAf3Lu/AuWpd6AYgI9O67GQXMXTcCP1gJQRotOq35eQy5Sb4hez33XH1YdTtILA7Udww=="
},
"emojis-list": {
"version": "3.0.0",
@@ -9825,7 +10235,7 @@
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="
},
"eslint": {
"version": "8.41.0",
@@ -10236,24 +10646,72 @@
}
},
"find-cache-dir": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
- "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz",
+ "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==",
"dev": true,
"requires": {
- "commondir": "^1.0.1",
- "make-dir": "^3.0.2",
- "pkg-dir": "^4.1.0"
+ "common-path-prefix": "^3.0.0",
+ "pkg-dir": "^7.0.0"
},
"dependencies": {
- "make-dir": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "find-up": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz",
+ "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==",
+ "dev": true,
+ "requires": {
+ "locate-path": "^7.1.0",
+ "path-exists": "^5.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz",
+ "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==",
+ "dev": true,
+ "requires": {
+ "p-locate": "^6.0.0"
+ }
+ },
+ "p-limit": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz",
+ "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==",
+ "dev": true,
+ "requires": {
+ "yocto-queue": "^1.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz",
+ "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==",
+ "dev": true,
+ "requires": {
+ "p-limit": "^4.0.0"
+ }
+ },
+ "path-exists": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz",
+ "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==",
+ "dev": true
+ },
+ "pkg-dir": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz",
+ "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==",
"dev": true,
"requires": {
- "semver": "^6.0.0"
+ "find-up": "^6.3.0"
}
+ },
+ "yocto-queue": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz",
+ "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==",
+ "dev": true
}
}
},
@@ -10480,7 +10938,7 @@
"has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="
},
"has-property-descriptors": {
"version": "1.0.0",
@@ -10974,7 +11432,7 @@
"lodash.debounce": {
"version": "4.0.8",
"resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
- "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=",
+ "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==",
"dev": true
},
"lodash.merge": {
@@ -11133,9 +11591,9 @@
"dev": true
},
"node-releases": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.4.tgz",
- "integrity": "sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ=="
+ "version": "2.0.13",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz",
+ "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ=="
},
"normalize-path": {
"version": "3.0.0",
@@ -11700,9 +12158,9 @@
"dev": true
},
"regenerate-unicode-properties": {
- "version": "10.0.1",
- "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz",
- "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==",
+ "version": "10.1.1",
+ "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz",
+ "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==",
"dev": true,
"requires": {
"regenerate": "^1.4.2"
@@ -11714,9 +12172,9 @@
"integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg=="
},
"regenerator-transform": {
- "version": "0.15.0",
- "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz",
- "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==",
+ "version": "0.15.2",
+ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz",
+ "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==",
"dev": true,
"requires": {
"@babel/runtime": "^7.8.4"
@@ -11734,29 +12192,23 @@
}
},
"regexpu-core": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.0.1.tgz",
- "integrity": "sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==",
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz",
+ "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==",
"dev": true,
"requires": {
+ "@babel/regjsgen": "^0.8.0",
"regenerate": "^1.4.2",
- "regenerate-unicode-properties": "^10.0.1",
- "regjsgen": "^0.6.0",
- "regjsparser": "^0.8.2",
+ "regenerate-unicode-properties": "^10.1.0",
+ "regjsparser": "^0.9.1",
"unicode-match-property-ecmascript": "^2.0.0",
- "unicode-match-property-value-ecmascript": "^2.0.0"
+ "unicode-match-property-value-ecmascript": "^2.1.0"
}
},
- "regjsgen": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz",
- "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==",
- "dev": true
- },
"regjsparser": {
- "version": "0.8.4",
- "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz",
- "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==",
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz",
+ "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==",
"dev": true,
"requires": {
"jsesc": "~0.5.0"
@@ -11765,11 +12217,17 @@
"jsesc": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
- "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
+ "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==",
"dev": true
}
}
},
+ "require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true
+ },
"resolve": {
"version": "1.22.0",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz",
@@ -11865,14 +12323,44 @@
}
},
"schema-utils": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz",
- "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz",
+ "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==",
"dev": true,
"requires": {
- "@types/json-schema": "^7.0.5",
- "ajv": "^6.12.4",
- "ajv-keywords": "^3.5.2"
+ "@types/json-schema": "^7.0.9",
+ "ajv": "^8.9.0",
+ "ajv-formats": "^2.1.1",
+ "ajv-keywords": "^5.1.0"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "8.12.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
+ "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "ajv-keywords": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
+ "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.3"
+ }
+ },
+ "json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ }
}
},
"semver": {
@@ -12195,17 +12683,26 @@
}
},
"unicode-match-property-value-ecmascript": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz",
- "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz",
+ "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==",
"dev": true
},
"unicode-property-aliases-ecmascript": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz",
- "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz",
+ "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==",
"dev": true
},
+ "update-browserslist-db": {
+ "version": "1.0.13",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
+ "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==",
+ "requires": {
+ "escalade": "^3.1.1",
+ "picocolors": "^1.0.0"
+ }
+ },
"uri-js": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
diff --git a/package.json b/package.json
index 578c025533..f50be15aa0 100644
--- a/package.json
+++ b/package.json
@@ -35,11 +35,11 @@
"redux-thunk": "^2.3.0"
},
"devDependencies": {
- "@babel/cli": "^7.13.14",
- "@babel/core": "^7.13.14",
- "@babel/preset-env": "^7.13.12",
- "@babel/preset-react": "^7.13.13",
- "babel-loader": "^8.2.2",
+ "@babel/cli": "^7.23.4",
+ "@babel/core": "^7.23.3",
+ "@babel/preset-env": "^7.23.3",
+ "@babel/preset-react": "^7.23.3",
+ "babel-loader": "^9.1.3",
"copy-webpack-plugin": "^8.1.0",
"css-loader": "^5.2.0",
"eslint": "^8.41.0",
From 28d5045361cdc916819c5281e17ccfebd113f638 Mon Sep 17 00:00:00 2001
From: Heinz-Alexander Fuetterer
Date: Wed, 29 Nov 2023 06:53:26 +0100
Subject: [PATCH 086/114] build(deps): pin react-bootstrap
---
package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package.json b/package.json
index f50be15aa0..bce832368b 100644
--- a/package.json
+++ b/package.json
@@ -24,7 +24,7 @@
"popper.js": "^1.16.1",
"prop-types": "^15.7.2",
"react": "^18.2.0",
- "react-bootstrap": "~0.33.1",
+ "react-bootstrap": "0.33.1",
"react-dnd": "^16.0.1",
"react-dnd-html5-backend": "^16.0.1",
"react-dom": "^18.2.0",
From 7020856258192b4c921138a5be81bbc6addfc30e Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 30 Nov 2023 07:00:32 +0000
Subject: [PATCH 087/114] build(deps-dev): bump the eslint group with 2 updates
Dependabot couldn't find the original pull request head commit, 9d6cdbe32aa92789b9dd56801850f1894947a171.
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
package-lock.json | 1202 ++++++++++++++++++++++++++++++++++-----------
package.json | 4 +-
2 files changed, 910 insertions(+), 296 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index ecd9b7b427..41be6dc1f0 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -20,7 +20,7 @@
"popper.js": "^1.16.1",
"prop-types": "^15.7.2",
"react": "^18.2.0",
- "react-bootstrap": "~0.33.1",
+ "react-bootstrap": "0.33.1",
"react-dnd": "^16.0.1",
"react-dnd-html5-backend": "^16.0.1",
"react-dom": "^18.2.0",
@@ -38,8 +38,8 @@
"babel-loader": "^9.1.3",
"copy-webpack-plugin": "^8.1.0",
"css-loader": "^5.2.0",
- "eslint": "^8.41.0",
- "eslint-plugin-react": "^7.32.2",
+ "eslint": "^8.54.0",
+ "eslint-plugin-react": "^7.33.2",
"file-loader": "^6.2.0",
"mini-css-extract-plugin": "^1.4.0",
"sass": "^1.55.0",
@@ -49,6 +49,15 @@
"webpack-merge": "5.7.3"
}
},
+ "node_modules/@aashutoshrathi/word-wrap": {
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz",
+ "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/@ampproject/remapping": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
@@ -2152,23 +2161,23 @@
}
},
"node_modules/@eslint-community/regexpp": {
- "version": "4.5.1",
- "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz",
- "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==",
+ "version": "4.10.0",
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz",
+ "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==",
"dev": true,
"engines": {
"node": "^12.0.0 || ^14.0.0 || >=16.0.0"
}
},
"node_modules/@eslint/eslintrc": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz",
- "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.3.tgz",
+ "integrity": "sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==",
"dev": true,
"dependencies": {
"ajv": "^6.12.4",
"debug": "^4.3.2",
- "espree": "^9.5.2",
+ "espree": "^9.6.0",
"globals": "^13.19.0",
"ignore": "^5.2.0",
"import-fresh": "^3.2.1",
@@ -2184,9 +2193,9 @@
}
},
"node_modules/@eslint/eslintrc/node_modules/globals": {
- "version": "13.20.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz",
- "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==",
+ "version": "13.23.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz",
+ "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==",
"dev": true,
"dependencies": {
"type-fest": "^0.20.2"
@@ -2199,9 +2208,9 @@
}
},
"node_modules/@eslint/js": {
- "version": "8.41.0",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.41.0.tgz",
- "integrity": "sha512-LxcyMGxwmTh2lY9FwHPGWOHmYFCZvbrFCBZL4FzSSsxsRPuhrYUg/49/0KDfW8tnIEaEHtfmn6+NPN+1DqaNmA==",
+ "version": "8.54.0",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.54.0.tgz",
+ "integrity": "sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==",
"dev": true,
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -2221,12 +2230,12 @@
}
},
"node_modules/@humanwhocodes/config-array": {
- "version": "0.11.8",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz",
- "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==",
+ "version": "0.11.13",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz",
+ "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==",
"dev": true,
"dependencies": {
- "@humanwhocodes/object-schema": "^1.2.1",
+ "@humanwhocodes/object-schema": "^2.0.1",
"debug": "^4.1.1",
"minimatch": "^3.0.5"
},
@@ -2248,9 +2257,9 @@
}
},
"node_modules/@humanwhocodes/object-schema": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
- "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz",
+ "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==",
"dev": true
},
"node_modules/@jridgewell/gen-mapping": {
@@ -2561,6 +2570,12 @@
"react-dom": ">=16.8.0"
}
},
+ "node_modules/@ungap/structured-clone": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
+ "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
+ "dev": true
+ },
"node_modules/@webassemblyjs/ast": {
"version": "1.11.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz",
@@ -2756,9 +2771,9 @@
"dev": true
},
"node_modules/acorn": {
- "version": "8.8.2",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz",
- "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==",
+ "version": "8.11.2",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz",
+ "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==",
"dev": true,
"bin": {
"acorn": "bin/acorn"
@@ -2960,6 +2975,36 @@
"get-intrinsic": "^1.1.3"
}
},
+ "node_modules/arraybuffer.prototype.slice": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz",
+ "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==",
+ "dev": true,
+ "dependencies": {
+ "array-buffer-byte-length": "^1.0.0",
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1",
+ "get-intrinsic": "^1.2.1",
+ "is-array-buffer": "^3.0.2",
+ "is-shared-array-buffer": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/asynciterator.prototype": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz",
+ "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==",
+ "dev": true,
+ "dependencies": {
+ "has-symbols": "^1.0.3"
+ }
+ },
"node_modules/available-typed-arrays": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
@@ -3131,13 +3176,14 @@
"dev": true
},
"node_modules/call-bind": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
- "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz",
+ "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==",
"dev": true,
"dependencies": {
- "function-bind": "^1.1.1",
- "get-intrinsic": "^1.0.2"
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.1",
+ "set-function-length": "^1.1.1"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -3526,12 +3572,27 @@
"integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
"dev": true
},
+ "node_modules/define-data-property": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz",
+ "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==",
+ "dev": true,
+ "dependencies": {
+ "get-intrinsic": "^1.2.1",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/define-properties": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz",
- "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz",
+ "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
"dev": true,
"dependencies": {
+ "define-data-property": "^1.0.1",
"has-property-descriptors": "^1.0.0",
"object-keys": "^1.1.1"
},
@@ -3632,25 +3693,26 @@
}
},
"node_modules/es-abstract": {
- "version": "1.21.2",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz",
- "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==",
+ "version": "1.22.3",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz",
+ "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==",
"dev": true,
"dependencies": {
"array-buffer-byte-length": "^1.0.0",
+ "arraybuffer.prototype.slice": "^1.0.2",
"available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
+ "call-bind": "^1.0.5",
"es-set-tostringtag": "^2.0.1",
"es-to-primitive": "^1.2.1",
- "function.prototype.name": "^1.1.5",
- "get-intrinsic": "^1.2.0",
+ "function.prototype.name": "^1.1.6",
+ "get-intrinsic": "^1.2.2",
"get-symbol-description": "^1.0.0",
"globalthis": "^1.0.3",
"gopd": "^1.0.1",
- "has": "^1.0.3",
"has-property-descriptors": "^1.0.0",
"has-proto": "^1.0.1",
"has-symbols": "^1.0.3",
+ "hasown": "^2.0.0",
"internal-slot": "^1.0.5",
"is-array-buffer": "^3.0.2",
"is-callable": "^1.2.7",
@@ -3658,19 +3720,23 @@
"is-regex": "^1.1.4",
"is-shared-array-buffer": "^1.0.2",
"is-string": "^1.0.7",
- "is-typed-array": "^1.1.10",
+ "is-typed-array": "^1.1.12",
"is-weakref": "^1.0.2",
- "object-inspect": "^1.12.3",
+ "object-inspect": "^1.13.1",
"object-keys": "^1.1.1",
"object.assign": "^4.1.4",
- "regexp.prototype.flags": "^1.4.3",
+ "regexp.prototype.flags": "^1.5.1",
+ "safe-array-concat": "^1.0.1",
"safe-regex-test": "^1.0.0",
- "string.prototype.trim": "^1.2.7",
- "string.prototype.trimend": "^1.0.6",
- "string.prototype.trimstart": "^1.0.6",
+ "string.prototype.trim": "^1.2.8",
+ "string.prototype.trimend": "^1.0.7",
+ "string.prototype.trimstart": "^1.0.7",
+ "typed-array-buffer": "^1.0.0",
+ "typed-array-byte-length": "^1.0.0",
+ "typed-array-byte-offset": "^1.0.0",
"typed-array-length": "^1.0.4",
"unbox-primitive": "^1.0.2",
- "which-typed-array": "^1.1.9"
+ "which-typed-array": "^1.1.13"
},
"engines": {
"node": ">= 0.4"
@@ -3679,6 +3745,28 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/es-iterator-helpers": {
+ "version": "1.0.15",
+ "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz",
+ "integrity": "sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==",
+ "dev": true,
+ "dependencies": {
+ "asynciterator.prototype": "^1.0.0",
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.22.1",
+ "es-set-tostringtag": "^2.0.1",
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.2.1",
+ "globalthis": "^1.0.3",
+ "has-property-descriptors": "^1.0.0",
+ "has-proto": "^1.0.1",
+ "has-symbols": "^1.0.3",
+ "internal-slot": "^1.0.5",
+ "iterator.prototype": "^1.1.2",
+ "safe-array-concat": "^1.0.1"
+ }
+ },
"node_modules/es-module-lexer": {
"version": "0.9.3",
"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz",
@@ -3742,27 +3830,28 @@
}
},
"node_modules/eslint": {
- "version": "8.41.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.41.0.tgz",
- "integrity": "sha512-WQDQpzGBOP5IrXPo4Hc0814r4/v2rrIsB0rhT7jtunIalgg6gYXWhRMOejVO8yH21T/FGaxjmFjBMNqcIlmH1Q==",
+ "version": "8.54.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.54.0.tgz",
+ "integrity": "sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==",
"dev": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
- "@eslint-community/regexpp": "^4.4.0",
- "@eslint/eslintrc": "^2.0.3",
- "@eslint/js": "8.41.0",
- "@humanwhocodes/config-array": "^0.11.8",
+ "@eslint-community/regexpp": "^4.6.1",
+ "@eslint/eslintrc": "^2.1.3",
+ "@eslint/js": "8.54.0",
+ "@humanwhocodes/config-array": "^0.11.13",
"@humanwhocodes/module-importer": "^1.0.1",
"@nodelib/fs.walk": "^1.2.8",
- "ajv": "^6.10.0",
+ "@ungap/structured-clone": "^1.2.0",
+ "ajv": "^6.12.4",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
"debug": "^4.3.2",
"doctrine": "^3.0.0",
"escape-string-regexp": "^4.0.0",
- "eslint-scope": "^7.2.0",
- "eslint-visitor-keys": "^3.4.1",
- "espree": "^9.5.2",
+ "eslint-scope": "^7.2.2",
+ "eslint-visitor-keys": "^3.4.3",
+ "espree": "^9.6.1",
"esquery": "^1.4.2",
"esutils": "^2.0.2",
"fast-deep-equal": "^3.1.3",
@@ -3772,7 +3861,6 @@
"globals": "^13.19.0",
"graphemer": "^1.4.0",
"ignore": "^5.2.0",
- "import-fresh": "^3.0.0",
"imurmurhash": "^0.1.4",
"is-glob": "^4.0.0",
"is-path-inside": "^3.0.3",
@@ -3782,9 +3870,8 @@
"lodash.merge": "^4.6.2",
"minimatch": "^3.1.2",
"natural-compare": "^1.4.0",
- "optionator": "^0.9.1",
+ "optionator": "^0.9.3",
"strip-ansi": "^6.0.1",
- "strip-json-comments": "^3.1.0",
"text-table": "^0.2.0"
},
"bin": {
@@ -3798,15 +3885,16 @@
}
},
"node_modules/eslint-plugin-react": {
- "version": "7.32.2",
- "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz",
- "integrity": "sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==",
+ "version": "7.33.2",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz",
+ "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==",
"dev": true,
"dependencies": {
"array-includes": "^3.1.6",
"array.prototype.flatmap": "^1.3.1",
"array.prototype.tosorted": "^1.1.1",
"doctrine": "^2.1.0",
+ "es-iterator-helpers": "^1.0.12",
"estraverse": "^5.3.0",
"jsx-ast-utils": "^2.4.1 || ^3.0.0",
"minimatch": "^3.1.2",
@@ -3816,7 +3904,7 @@
"object.values": "^1.1.6",
"prop-types": "^15.8.1",
"resolve": "^2.0.0-next.4",
- "semver": "^6.3.0",
+ "semver": "^6.3.1",
"string.prototype.matchall": "^4.0.8"
},
"engines": {
@@ -3878,9 +3966,9 @@
}
},
"node_modules/eslint-visitor-keys": {
- "version": "3.4.1",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz",
- "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==",
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
"dev": true,
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -3951,9 +4039,9 @@
}
},
"node_modules/eslint/node_modules/eslint-scope": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz",
- "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==",
+ "version": "7.2.2",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
+ "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
"dev": true,
"dependencies": {
"esrecurse": "^4.3.0",
@@ -4085,12 +4173,12 @@
}
},
"node_modules/espree": {
- "version": "9.5.2",
- "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz",
- "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==",
+ "version": "9.6.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
+ "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==",
"dev": true,
"dependencies": {
- "acorn": "^8.8.0",
+ "acorn": "^8.9.0",
"acorn-jsx": "^5.3.2",
"eslint-visitor-keys": "^3.4.1"
},
@@ -4497,20 +4585,23 @@
}
},
"node_modules/function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
},
"node_modules/function.prototype.name": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz",
- "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==",
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz",
+ "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "es-abstract": "^1.19.0",
- "functions-have-names": "^1.2.2"
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1",
+ "functions-have-names": "^1.2.3"
},
"engines": {
"node": ">= 0.4"
@@ -4537,15 +4628,15 @@
}
},
"node_modules/get-intrinsic": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz",
- "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==",
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz",
+ "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==",
"dev": true,
"dependencies": {
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
+ "function-bind": "^1.1.2",
"has-proto": "^1.0.1",
- "has-symbols": "^1.0.3"
+ "has-symbols": "^1.0.3",
+ "hasown": "^2.0.0"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -4772,6 +4863,18 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/hasown": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz",
+ "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==",
+ "dev": true,
+ "dependencies": {
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/hoist-non-react-statics": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
@@ -4933,6 +5036,21 @@
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
"integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg=="
},
+ "node_modules/is-async-function": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz",
+ "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==",
+ "dev": true,
+ "dependencies": {
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/is-bigint": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
@@ -5020,6 +5138,33 @@
"node": ">=0.10.0"
}
},
+ "node_modules/is-finalizationregistry": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz",
+ "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-generator-function": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
+ "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==",
+ "dev": true,
+ "dependencies": {
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/is-glob": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
@@ -5032,6 +5177,15 @@
"node": ">=0.10.0"
}
},
+ "node_modules/is-map": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz",
+ "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/is-negative-zero": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
@@ -5105,6 +5259,15 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/is-set": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz",
+ "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/is-shared-array-buffer": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz",
@@ -5160,16 +5323,12 @@
}
},
"node_modules/is-typed-array": {
- "version": "1.1.10",
- "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz",
- "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==",
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz",
+ "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==",
"dev": true,
"dependencies": {
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
- "for-each": "^0.3.3",
- "gopd": "^1.0.1",
- "has-tostringtag": "^1.0.0"
+ "which-typed-array": "^1.1.11"
},
"engines": {
"node": ">= 0.4"
@@ -5178,6 +5337,15 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/is-weakmap": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz",
+ "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/is-weakref": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
@@ -5190,6 +5358,25 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/is-weakset": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz",
+ "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.1.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/isarray": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
+ "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
+ "dev": true
+ },
"node_modules/isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
@@ -5205,6 +5392,19 @@
"node": ">=0.10.0"
}
},
+ "node_modules/iterator.prototype": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz",
+ "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==",
+ "dev": true,
+ "dependencies": {
+ "define-properties": "^1.2.1",
+ "get-intrinsic": "^1.2.1",
+ "has-symbols": "^1.0.3",
+ "reflect.getprototypeof": "^1.0.4",
+ "set-function-name": "^2.0.1"
+ }
+ },
"node_modules/jest-worker": {
"version": "27.5.1",
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
@@ -5654,9 +5854,9 @@
}
},
"node_modules/object-inspect": {
- "version": "1.12.3",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz",
- "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==",
+ "version": "1.13.1",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz",
+ "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==",
"dev": true,
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -5775,17 +5975,17 @@
}
},
"node_modules/optionator": {
- "version": "0.9.1",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
- "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
+ "version": "0.9.3",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz",
+ "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==",
"dev": true,
"dependencies": {
+ "@aashutoshrathi/word-wrap": "^1.2.3",
"deep-is": "^0.1.3",
"fast-levenshtein": "^2.0.6",
"levn": "^0.4.1",
"prelude-ls": "^1.2.1",
- "type-check": "^0.4.0",
- "word-wrap": "^1.2.3"
+ "type-check": "^0.4.0"
},
"engines": {
"node": ">= 0.8.0"
@@ -6395,6 +6595,26 @@
"redux": "^4"
}
},
+ "node_modules/reflect.getprototypeof": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz",
+ "integrity": "sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1",
+ "get-intrinsic": "^1.2.1",
+ "globalthis": "^1.0.3",
+ "which-builtin-type": "^1.1.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/regenerate": {
"version": "1.4.2",
"resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
@@ -6428,14 +6648,14 @@
}
},
"node_modules/regexp.prototype.flags": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz",
- "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==",
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz",
+ "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"define-properties": "^1.2.0",
- "functions-have-names": "^1.2.3"
+ "set-function-name": "^2.0.0"
},
"engines": {
"node": ">= 0.4"
@@ -6576,6 +6796,24 @@
"queue-microtask": "^1.2.2"
}
},
+ "node_modules/safe-array-concat": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz",
+ "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.2.1",
+ "has-symbols": "^1.0.3",
+ "isarray": "^2.0.5"
+ },
+ "engines": {
+ "node": ">=0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
@@ -6724,6 +6962,35 @@
"randombytes": "^2.1.0"
}
},
+ "node_modules/set-function-length": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz",
+ "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==",
+ "dev": true,
+ "dependencies": {
+ "define-data-property": "^1.1.1",
+ "get-intrinsic": "^1.2.1",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/set-function-name": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz",
+ "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==",
+ "dev": true,
+ "dependencies": {
+ "define-data-property": "^1.0.1",
+ "functions-have-names": "^1.2.3",
+ "has-property-descriptors": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/shallow-clone": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
@@ -6840,14 +7107,14 @@
}
},
"node_modules/string.prototype.trim": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz",
- "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==",
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz",
+ "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1"
},
"engines": {
"node": ">= 0.4"
@@ -6857,28 +7124,28 @@
}
},
"node_modules/string.prototype.trimend": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz",
- "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz",
+ "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/string.prototype.trimstart": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz",
- "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz",
+ "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -7084,38 +7351,89 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/typed-array-length": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz",
- "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==",
+ "node_modules/typed-array-buffer": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz",
+ "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
- "for-each": "^0.3.3",
- "is-typed-array": "^1.1.9"
+ "get-intrinsic": "^1.2.1",
+ "is-typed-array": "^1.1.10"
},
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "engines": {
+ "node": ">= 0.4"
}
},
- "node_modules/unbox-primitive": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
- "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==",
+ "node_modules/typed-array-byte-length": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz",
+ "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
- "has-bigints": "^1.0.2",
- "has-symbols": "^1.0.3",
- "which-boxed-primitive": "^1.0.2"
+ "for-each": "^0.3.3",
+ "has-proto": "^1.0.1",
+ "is-typed-array": "^1.1.10"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/uncontrollable": {
- "version": "7.2.1",
- "resolved": "https://registry.npmjs.org/uncontrollable/-/uncontrollable-7.2.1.tgz",
+ "node_modules/typed-array-byte-offset": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz",
+ "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==",
+ "dev": true,
+ "dependencies": {
+ "available-typed-arrays": "^1.0.5",
+ "call-bind": "^1.0.2",
+ "for-each": "^0.3.3",
+ "has-proto": "^1.0.1",
+ "is-typed-array": "^1.1.10"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/typed-array-length": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz",
+ "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "for-each": "^0.3.3",
+ "is-typed-array": "^1.1.9"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/unbox-primitive": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
+ "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "has-bigints": "^1.0.2",
+ "has-symbols": "^1.0.3",
+ "which-boxed-primitive": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/uncontrollable": {
+ "version": "7.2.1",
+ "resolved": "https://registry.npmjs.org/uncontrollable/-/uncontrollable-7.2.1.tgz",
"integrity": "sha512-svtcfoTADIB0nT9nltgjujTi7BzVmwjZClOmskKu/E8FW9BXzg9os8OLr4f8Dlnk0rYWJIWr4wv9eKUXiQvQwQ==",
"dependencies": {
"@babel/runtime": "^7.6.3",
@@ -7420,18 +7738,58 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/which-builtin-type": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz",
+ "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==",
+ "dev": true,
+ "dependencies": {
+ "function.prototype.name": "^1.1.5",
+ "has-tostringtag": "^1.0.0",
+ "is-async-function": "^2.0.0",
+ "is-date-object": "^1.0.5",
+ "is-finalizationregistry": "^1.0.2",
+ "is-generator-function": "^1.0.10",
+ "is-regex": "^1.1.4",
+ "is-weakref": "^1.0.2",
+ "isarray": "^2.0.5",
+ "which-boxed-primitive": "^1.0.2",
+ "which-collection": "^1.0.1",
+ "which-typed-array": "^1.1.9"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/which-collection": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz",
+ "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==",
+ "dev": true,
+ "dependencies": {
+ "is-map": "^2.0.1",
+ "is-set": "^2.0.1",
+ "is-weakmap": "^2.0.1",
+ "is-weakset": "^2.0.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/which-typed-array": {
- "version": "1.1.9",
- "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz",
- "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==",
+ "version": "1.1.13",
+ "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz",
+ "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==",
"dev": true,
"dependencies": {
"available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
+ "call-bind": "^1.0.4",
"for-each": "^0.3.3",
"gopd": "^1.0.1",
- "has-tostringtag": "^1.0.0",
- "is-typed-array": "^1.1.10"
+ "has-tostringtag": "^1.0.0"
},
"engines": {
"node": ">= 0.4"
@@ -7446,15 +7804,6 @@
"integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==",
"dev": true
},
- "node_modules/word-wrap": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
- "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
@@ -7489,6 +7838,12 @@
}
},
"dependencies": {
+ "@aashutoshrathi/word-wrap": {
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz",
+ "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==",
+ "dev": true
+ },
"@ampproject/remapping": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
@@ -8988,20 +9343,20 @@
}
},
"@eslint-community/regexpp": {
- "version": "4.5.1",
- "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz",
- "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==",
+ "version": "4.10.0",
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz",
+ "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==",
"dev": true
},
"@eslint/eslintrc": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz",
- "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.3.tgz",
+ "integrity": "sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==",
"dev": true,
"requires": {
"ajv": "^6.12.4",
"debug": "^4.3.2",
- "espree": "^9.5.2",
+ "espree": "^9.6.0",
"globals": "^13.19.0",
"ignore": "^5.2.0",
"import-fresh": "^3.2.1",
@@ -9011,9 +9366,9 @@
},
"dependencies": {
"globals": {
- "version": "13.20.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz",
- "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==",
+ "version": "13.23.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz",
+ "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==",
"dev": true,
"requires": {
"type-fest": "^0.20.2"
@@ -9022,9 +9377,9 @@
}
},
"@eslint/js": {
- "version": "8.41.0",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.41.0.tgz",
- "integrity": "sha512-LxcyMGxwmTh2lY9FwHPGWOHmYFCZvbrFCBZL4FzSSsxsRPuhrYUg/49/0KDfW8tnIEaEHtfmn6+NPN+1DqaNmA==",
+ "version": "8.54.0",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.54.0.tgz",
+ "integrity": "sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==",
"dev": true
},
"@floating-ui/core": {
@@ -9041,12 +9396,12 @@
}
},
"@humanwhocodes/config-array": {
- "version": "0.11.8",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz",
- "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==",
+ "version": "0.11.13",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz",
+ "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==",
"dev": true,
"requires": {
- "@humanwhocodes/object-schema": "^1.2.1",
+ "@humanwhocodes/object-schema": "^2.0.1",
"debug": "^4.1.1",
"minimatch": "^3.0.5"
}
@@ -9058,9 +9413,9 @@
"dev": true
},
"@humanwhocodes/object-schema": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
- "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz",
+ "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==",
"dev": true
},
"@jridgewell/gen-mapping": {
@@ -9334,6 +9689,12 @@
"codemirror": "^6.0.0"
}
},
+ "@ungap/structured-clone": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
+ "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
+ "dev": true
+ },
"@webassemblyjs/ast": {
"version": "1.11.1",
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz",
@@ -9516,9 +9877,9 @@
"dev": true
},
"acorn": {
- "version": "8.8.2",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz",
- "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==",
+ "version": "8.11.2",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz",
+ "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==",
"dev": true
},
"acorn-import-assertions": {
@@ -9667,6 +10028,30 @@
"get-intrinsic": "^1.1.3"
}
},
+ "arraybuffer.prototype.slice": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz",
+ "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==",
+ "dev": true,
+ "requires": {
+ "array-buffer-byte-length": "^1.0.0",
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1",
+ "get-intrinsic": "^1.2.1",
+ "is-array-buffer": "^3.0.2",
+ "is-shared-array-buffer": "^1.0.2"
+ }
+ },
+ "asynciterator.prototype": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz",
+ "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==",
+ "dev": true,
+ "requires": {
+ "has-symbols": "^1.0.3"
+ }
+ },
"available-typed-arrays": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
@@ -9783,13 +10168,14 @@
"dev": true
},
"call-bind": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
- "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz",
+ "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==",
"dev": true,
"requires": {
- "function-bind": "^1.1.1",
- "get-intrinsic": "^1.0.2"
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.1",
+ "set-function-length": "^1.1.1"
}
},
"callsites": {
@@ -10067,12 +10453,24 @@
"integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
"dev": true
},
+ "define-data-property": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz",
+ "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==",
+ "dev": true,
+ "requires": {
+ "get-intrinsic": "^1.2.1",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.0"
+ }
+ },
"define-properties": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz",
- "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz",
+ "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
"dev": true,
"requires": {
+ "define-data-property": "^1.0.1",
"has-property-descriptors": "^1.0.0",
"object-keys": "^1.1.1"
}
@@ -10149,25 +10547,26 @@
}
},
"es-abstract": {
- "version": "1.21.2",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.21.2.tgz",
- "integrity": "sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==",
+ "version": "1.22.3",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz",
+ "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==",
"dev": true,
"requires": {
"array-buffer-byte-length": "^1.0.0",
+ "arraybuffer.prototype.slice": "^1.0.2",
"available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
+ "call-bind": "^1.0.5",
"es-set-tostringtag": "^2.0.1",
"es-to-primitive": "^1.2.1",
- "function.prototype.name": "^1.1.5",
- "get-intrinsic": "^1.2.0",
+ "function.prototype.name": "^1.1.6",
+ "get-intrinsic": "^1.2.2",
"get-symbol-description": "^1.0.0",
"globalthis": "^1.0.3",
"gopd": "^1.0.1",
- "has": "^1.0.3",
"has-property-descriptors": "^1.0.0",
"has-proto": "^1.0.1",
"has-symbols": "^1.0.3",
+ "hasown": "^2.0.0",
"internal-slot": "^1.0.5",
"is-array-buffer": "^3.0.2",
"is-callable": "^1.2.7",
@@ -10175,19 +10574,45 @@
"is-regex": "^1.1.4",
"is-shared-array-buffer": "^1.0.2",
"is-string": "^1.0.7",
- "is-typed-array": "^1.1.10",
+ "is-typed-array": "^1.1.12",
"is-weakref": "^1.0.2",
- "object-inspect": "^1.12.3",
+ "object-inspect": "^1.13.1",
"object-keys": "^1.1.1",
"object.assign": "^4.1.4",
- "regexp.prototype.flags": "^1.4.3",
+ "regexp.prototype.flags": "^1.5.1",
+ "safe-array-concat": "^1.0.1",
"safe-regex-test": "^1.0.0",
- "string.prototype.trim": "^1.2.7",
- "string.prototype.trimend": "^1.0.6",
- "string.prototype.trimstart": "^1.0.6",
+ "string.prototype.trim": "^1.2.8",
+ "string.prototype.trimend": "^1.0.7",
+ "string.prototype.trimstart": "^1.0.7",
+ "typed-array-buffer": "^1.0.0",
+ "typed-array-byte-length": "^1.0.0",
+ "typed-array-byte-offset": "^1.0.0",
"typed-array-length": "^1.0.4",
"unbox-primitive": "^1.0.2",
- "which-typed-array": "^1.1.9"
+ "which-typed-array": "^1.1.13"
+ }
+ },
+ "es-iterator-helpers": {
+ "version": "1.0.15",
+ "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz",
+ "integrity": "sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==",
+ "dev": true,
+ "requires": {
+ "asynciterator.prototype": "^1.0.0",
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.22.1",
+ "es-set-tostringtag": "^2.0.1",
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.2.1",
+ "globalthis": "^1.0.3",
+ "has-property-descriptors": "^1.0.0",
+ "has-proto": "^1.0.1",
+ "has-symbols": "^1.0.3",
+ "internal-slot": "^1.0.5",
+ "iterator.prototype": "^1.1.2",
+ "safe-array-concat": "^1.0.1"
}
},
"es-module-lexer": {
@@ -10238,27 +10663,28 @@
"integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="
},
"eslint": {
- "version": "8.41.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.41.0.tgz",
- "integrity": "sha512-WQDQpzGBOP5IrXPo4Hc0814r4/v2rrIsB0rhT7jtunIalgg6gYXWhRMOejVO8yH21T/FGaxjmFjBMNqcIlmH1Q==",
+ "version": "8.54.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.54.0.tgz",
+ "integrity": "sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==",
"dev": true,
"requires": {
"@eslint-community/eslint-utils": "^4.2.0",
- "@eslint-community/regexpp": "^4.4.0",
- "@eslint/eslintrc": "^2.0.3",
- "@eslint/js": "8.41.0",
- "@humanwhocodes/config-array": "^0.11.8",
+ "@eslint-community/regexpp": "^4.6.1",
+ "@eslint/eslintrc": "^2.1.3",
+ "@eslint/js": "8.54.0",
+ "@humanwhocodes/config-array": "^0.11.13",
"@humanwhocodes/module-importer": "^1.0.1",
"@nodelib/fs.walk": "^1.2.8",
- "ajv": "^6.10.0",
+ "@ungap/structured-clone": "^1.2.0",
+ "ajv": "^6.12.4",
"chalk": "^4.0.0",
"cross-spawn": "^7.0.2",
"debug": "^4.3.2",
"doctrine": "^3.0.0",
"escape-string-regexp": "^4.0.0",
- "eslint-scope": "^7.2.0",
- "eslint-visitor-keys": "^3.4.1",
- "espree": "^9.5.2",
+ "eslint-scope": "^7.2.2",
+ "eslint-visitor-keys": "^3.4.3",
+ "espree": "^9.6.1",
"esquery": "^1.4.2",
"esutils": "^2.0.2",
"fast-deep-equal": "^3.1.3",
@@ -10268,7 +10694,6 @@
"globals": "^13.19.0",
"graphemer": "^1.4.0",
"ignore": "^5.2.0",
- "import-fresh": "^3.0.0",
"imurmurhash": "^0.1.4",
"is-glob": "^4.0.0",
"is-path-inside": "^3.0.3",
@@ -10278,9 +10703,8 @@
"lodash.merge": "^4.6.2",
"minimatch": "^3.1.2",
"natural-compare": "^1.4.0",
- "optionator": "^0.9.1",
+ "optionator": "^0.9.3",
"strip-ansi": "^6.0.1",
- "strip-json-comments": "^3.1.0",
"text-table": "^0.2.0"
},
"dependencies": {
@@ -10325,9 +10749,9 @@
"dev": true
},
"eslint-scope": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz",
- "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==",
+ "version": "7.2.2",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
+ "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
"dev": true,
"requires": {
"esrecurse": "^4.3.0",
@@ -10413,15 +10837,16 @@
}
},
"eslint-plugin-react": {
- "version": "7.32.2",
- "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz",
- "integrity": "sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==",
+ "version": "7.33.2",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz",
+ "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==",
"dev": true,
"requires": {
"array-includes": "^3.1.6",
"array.prototype.flatmap": "^1.3.1",
"array.prototype.tosorted": "^1.1.1",
"doctrine": "^2.1.0",
+ "es-iterator-helpers": "^1.0.12",
"estraverse": "^5.3.0",
"jsx-ast-utils": "^2.4.1 || ^3.0.0",
"minimatch": "^3.1.2",
@@ -10431,7 +10856,7 @@
"object.values": "^1.1.6",
"prop-types": "^15.8.1",
"resolve": "^2.0.0-next.4",
- "semver": "^6.3.0",
+ "semver": "^6.3.1",
"string.prototype.matchall": "^4.0.8"
},
"dependencies": {
@@ -10474,18 +10899,18 @@
}
},
"eslint-visitor-keys": {
- "version": "3.4.1",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz",
- "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==",
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
"dev": true
},
"espree": {
- "version": "9.5.2",
- "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz",
- "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==",
+ "version": "9.6.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
+ "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==",
"dev": true,
"requires": {
- "acorn": "^8.8.0",
+ "acorn": "^8.9.0",
"acorn-jsx": "^5.3.2",
"eslint-visitor-keys": "^3.4.1"
}
@@ -10780,20 +11205,20 @@
"optional": true
},
"function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="
},
"function.prototype.name": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz",
- "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==",
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz",
+ "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==",
"dev": true,
"requires": {
"call-bind": "^1.0.2",
- "define-properties": "^1.1.3",
- "es-abstract": "^1.19.0",
- "functions-have-names": "^1.2.2"
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1",
+ "functions-have-names": "^1.2.3"
}
},
"functions-have-names": {
@@ -10808,15 +11233,15 @@
"integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="
},
"get-intrinsic": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz",
- "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==",
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz",
+ "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==",
"dev": true,
"requires": {
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
+ "function-bind": "^1.1.2",
"has-proto": "^1.0.1",
- "has-symbols": "^1.0.3"
+ "has-symbols": "^1.0.3",
+ "hasown": "^2.0.0"
}
},
"get-stream": {
@@ -10970,6 +11395,15 @@
"has-symbols": "^1.0.2"
}
},
+ "hasown": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz",
+ "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==",
+ "dev": true,
+ "requires": {
+ "function-bind": "^1.1.2"
+ }
+ },
"hoist-non-react-statics": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
@@ -11092,6 +11526,15 @@
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
"integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg=="
},
+ "is-async-function": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz",
+ "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==",
+ "dev": true,
+ "requires": {
+ "has-tostringtag": "^1.0.0"
+ }
+ },
"is-bigint": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
@@ -11149,6 +11592,24 @@
"integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
"dev": true
},
+ "is-finalizationregistry": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz",
+ "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2"
+ }
+ },
+ "is-generator-function": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
+ "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==",
+ "dev": true,
+ "requires": {
+ "has-tostringtag": "^1.0.0"
+ }
+ },
"is-glob": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
@@ -11158,6 +11619,12 @@
"is-extglob": "^2.1.1"
}
},
+ "is-map": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz",
+ "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==",
+ "dev": true
+ },
"is-negative-zero": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
@@ -11204,6 +11671,12 @@
"has-tostringtag": "^1.0.0"
}
},
+ "is-set": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz",
+ "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==",
+ "dev": true
+ },
"is-shared-array-buffer": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz",
@@ -11238,18 +11711,20 @@
}
},
"is-typed-array": {
- "version": "1.1.10",
- "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz",
- "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==",
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz",
+ "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==",
"dev": true,
"requires": {
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
- "for-each": "^0.3.3",
- "gopd": "^1.0.1",
- "has-tostringtag": "^1.0.0"
+ "which-typed-array": "^1.1.11"
}
},
+ "is-weakmap": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz",
+ "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==",
+ "dev": true
+ },
"is-weakref": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
@@ -11259,6 +11734,22 @@
"call-bind": "^1.0.2"
}
},
+ "is-weakset": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz",
+ "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.1.1"
+ }
+ },
+ "isarray": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
+ "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
+ "dev": true
+ },
"isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
@@ -11271,6 +11762,19 @@
"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
"dev": true
},
+ "iterator.prototype": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz",
+ "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==",
+ "dev": true,
+ "requires": {
+ "define-properties": "^1.2.1",
+ "get-intrinsic": "^1.2.1",
+ "has-symbols": "^1.0.3",
+ "reflect.getprototypeof": "^1.0.4",
+ "set-function-name": "^2.0.1"
+ }
+ },
"jest-worker": {
"version": "27.5.1",
"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
@@ -11616,9 +12120,9 @@
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
},
"object-inspect": {
- "version": "1.12.3",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz",
- "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==",
+ "version": "1.13.1",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz",
+ "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==",
"dev": true
},
"object-keys": {
@@ -11701,17 +12205,17 @@
}
},
"optionator": {
- "version": "0.9.1",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
- "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
+ "version": "0.9.3",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz",
+ "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==",
"dev": true,
"requires": {
+ "@aashutoshrathi/word-wrap": "^1.2.3",
"deep-is": "^0.1.3",
"fast-levenshtein": "^2.0.6",
"levn": "^0.4.1",
"prelude-ls": "^1.2.1",
- "type-check": "^0.4.0",
- "word-wrap": "^1.2.3"
+ "type-check": "^0.4.0"
}
},
"p-limit": {
@@ -12151,6 +12655,20 @@
"integrity": "sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==",
"requires": {}
},
+ "reflect.getprototypeof": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz",
+ "integrity": "sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1",
+ "get-intrinsic": "^1.2.1",
+ "globalthis": "^1.0.3",
+ "which-builtin-type": "^1.1.3"
+ }
+ },
"regenerate": {
"version": "1.4.2",
"resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
@@ -12181,14 +12699,14 @@
}
},
"regexp.prototype.flags": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz",
- "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==",
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz",
+ "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==",
"dev": true,
"requires": {
"call-bind": "^1.0.2",
"define-properties": "^1.2.0",
- "functions-have-names": "^1.2.3"
+ "set-function-name": "^2.0.0"
}
},
"regexpu-core": {
@@ -12277,6 +12795,18 @@
"queue-microtask": "^1.2.2"
}
},
+ "safe-array-concat": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz",
+ "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.2.1",
+ "has-symbols": "^1.0.3",
+ "isarray": "^2.0.5"
+ }
+ },
"safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
@@ -12377,6 +12907,29 @@
"randombytes": "^2.1.0"
}
},
+ "set-function-length": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz",
+ "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==",
+ "dev": true,
+ "requires": {
+ "define-data-property": "^1.1.1",
+ "get-intrinsic": "^1.2.1",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.0"
+ }
+ },
+ "set-function-name": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz",
+ "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==",
+ "dev": true,
+ "requires": {
+ "define-data-property": "^1.0.1",
+ "functions-have-names": "^1.2.3",
+ "has-property-descriptors": "^1.0.0"
+ }
+ },
"shallow-clone": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
@@ -12469,36 +13022,36 @@
}
},
"string.prototype.trim": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz",
- "integrity": "sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==",
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz",
+ "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==",
"dev": true,
"requires": {
"call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1"
}
},
"string.prototype.trimend": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz",
- "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz",
+ "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==",
"dev": true,
"requires": {
"call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1"
}
},
"string.prototype.trimstart": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz",
- "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz",
+ "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==",
"dev": true,
"requires": {
"call-bind": "^1.0.2",
- "define-properties": "^1.1.4",
- "es-abstract": "^1.20.4"
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1"
}
},
"strip-ansi": {
@@ -12632,6 +13185,42 @@
"integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
"dev": true
},
+ "typed-array-buffer": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz",
+ "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.2.1",
+ "is-typed-array": "^1.1.10"
+ }
+ },
+ "typed-array-byte-length": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz",
+ "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "for-each": "^0.3.3",
+ "has-proto": "^1.0.1",
+ "is-typed-array": "^1.1.10"
+ }
+ },
+ "typed-array-byte-offset": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz",
+ "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==",
+ "dev": true,
+ "requires": {
+ "available-typed-arrays": "^1.0.5",
+ "call-bind": "^1.0.2",
+ "for-each": "^0.3.3",
+ "has-proto": "^1.0.1",
+ "is-typed-array": "^1.1.10"
+ }
+ },
"typed-array-length": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz",
@@ -12858,18 +13447,49 @@
"is-symbol": "^1.0.3"
}
},
+ "which-builtin-type": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz",
+ "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==",
+ "dev": true,
+ "requires": {
+ "function.prototype.name": "^1.1.5",
+ "has-tostringtag": "^1.0.0",
+ "is-async-function": "^2.0.0",
+ "is-date-object": "^1.0.5",
+ "is-finalizationregistry": "^1.0.2",
+ "is-generator-function": "^1.0.10",
+ "is-regex": "^1.1.4",
+ "is-weakref": "^1.0.2",
+ "isarray": "^2.0.5",
+ "which-boxed-primitive": "^1.0.2",
+ "which-collection": "^1.0.1",
+ "which-typed-array": "^1.1.9"
+ }
+ },
+ "which-collection": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz",
+ "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==",
+ "dev": true,
+ "requires": {
+ "is-map": "^2.0.1",
+ "is-set": "^2.0.1",
+ "is-weakmap": "^2.0.1",
+ "is-weakset": "^2.0.1"
+ }
+ },
"which-typed-array": {
- "version": "1.1.9",
- "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz",
- "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==",
+ "version": "1.1.13",
+ "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz",
+ "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==",
"dev": true,
"requires": {
"available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
+ "call-bind": "^1.0.4",
"for-each": "^0.3.3",
"gopd": "^1.0.1",
- "has-tostringtag": "^1.0.0",
- "is-typed-array": "^1.1.10"
+ "has-tostringtag": "^1.0.0"
}
},
"wildcard": {
@@ -12878,12 +13498,6 @@
"integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==",
"dev": true
},
- "word-wrap": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
- "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
- "dev": true
- },
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
diff --git a/package.json b/package.json
index bce832368b..5d35ee5fbd 100644
--- a/package.json
+++ b/package.json
@@ -42,8 +42,8 @@
"babel-loader": "^9.1.3",
"copy-webpack-plugin": "^8.1.0",
"css-loader": "^5.2.0",
- "eslint": "^8.41.0",
- "eslint-plugin-react": "^7.32.2",
+ "eslint": "^8.54.0",
+ "eslint-plugin-react": "^7.33.2",
"file-loader": "^6.2.0",
"mini-css-extract-plugin": "^1.4.0",
"sass": "^1.55.0",
From b9904a63044a60ef74fb4a156296b5369f2dac53 Mon Sep 17 00:00:00 2001
From: Heinz-Alexander Fuetterer
Date: Thu, 30 Nov 2023 08:49:10 +0100
Subject: [PATCH 088/114] chore: bump eslint versions in pre-commit config
---
.pre-commit-config.yaml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index f1677d86c8..de5c983b13 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -32,6 +32,6 @@ repos:
- id: eslint
args: [--fix, --color]
additional_dependencies:
- - eslint@8.41.0
- - eslint-plugin-react@7.32.2
+ - eslint@8.54.0
+ - eslint-plugin-react@7.33.2
- react@18.2.0
From 7a7682478c767638d5656128ce1e7acb0ad623d9 Mon Sep 17 00:00:00 2001
From: Heinz-Alexander Fuetterer
Date: Thu, 30 Nov 2023 09:00:56 +0100
Subject: [PATCH 089/114] build(deps-dev): bump the webpack group with 4
updates
---
package-lock.json | 1134 ++++++++++++++++++---------------------------
package.json | 8 +-
2 files changed, 456 insertions(+), 686 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index 41be6dc1f0..510d52f058 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -36,7 +36,7 @@
"@babel/preset-env": "^7.23.3",
"@babel/preset-react": "^7.23.3",
"babel-loader": "^9.1.3",
- "copy-webpack-plugin": "^8.1.0",
+ "copy-webpack-plugin": "^11.0.0",
"css-loader": "^5.2.0",
"eslint": "^8.54.0",
"eslint-plugin-react": "^7.33.2",
@@ -44,9 +44,9 @@
"mini-css-extract-plugin": "^1.4.0",
"sass": "^1.55.0",
"sass-loader": "^11.0.1",
- "webpack": "^5.28.0",
- "webpack-cli": "^4.6.0",
- "webpack-merge": "5.7.3"
+ "webpack": "^5.89.0",
+ "webpack-cli": "^5.1.4",
+ "webpack-merge": "5.10.0"
}
},
"node_modules/@aashutoshrathi/word-wrap": {
@@ -2291,9 +2291,9 @@
}
},
"node_modules/@jridgewell/source-map": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz",
- "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==",
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz",
+ "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==",
"dev": true,
"dependencies": {
"@jridgewell/gen-mapping": "^0.3.0",
@@ -2301,9 +2301,9 @@
}
},
"node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
- "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
+ "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
"dev": true,
"dependencies": {
"@jridgewell/set-array": "^1.0.1",
@@ -2455,9 +2455,9 @@
}
},
"node_modules/@types/estree": {
- "version": "0.0.51",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz",
- "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
+ "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
"dev": true
},
"node_modules/@types/hoist-non-react-statics": {
@@ -2577,180 +2577,188 @@
"dev": true
},
"node_modules/@webassemblyjs/ast": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz",
- "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz",
+ "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==",
"dev": true,
"dependencies": {
- "@webassemblyjs/helper-numbers": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1"
+ "@webassemblyjs/helper-numbers": "1.11.6",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6"
}
},
"node_modules/@webassemblyjs/floating-point-hex-parser": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz",
- "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz",
+ "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==",
"dev": true
},
"node_modules/@webassemblyjs/helper-api-error": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz",
- "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz",
+ "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==",
"dev": true
},
"node_modules/@webassemblyjs/helper-buffer": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz",
- "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz",
+ "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==",
"dev": true
},
"node_modules/@webassemblyjs/helper-numbers": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz",
- "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz",
+ "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==",
"dev": true,
"dependencies": {
- "@webassemblyjs/floating-point-hex-parser": "1.11.1",
- "@webassemblyjs/helper-api-error": "1.11.1",
+ "@webassemblyjs/floating-point-hex-parser": "1.11.6",
+ "@webassemblyjs/helper-api-error": "1.11.6",
"@xtuc/long": "4.2.2"
}
},
"node_modules/@webassemblyjs/helper-wasm-bytecode": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz",
- "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz",
+ "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==",
"dev": true
},
"node_modules/@webassemblyjs/helper-wasm-section": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz",
- "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz",
+ "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==",
"dev": true,
"dependencies": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1"
+ "@webassemblyjs/ast": "1.11.6",
+ "@webassemblyjs/helper-buffer": "1.11.6",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+ "@webassemblyjs/wasm-gen": "1.11.6"
}
},
"node_modules/@webassemblyjs/ieee754": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz",
- "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz",
+ "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==",
"dev": true,
"dependencies": {
"@xtuc/ieee754": "^1.2.0"
}
},
"node_modules/@webassemblyjs/leb128": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz",
- "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz",
+ "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==",
"dev": true,
"dependencies": {
"@xtuc/long": "4.2.2"
}
},
"node_modules/@webassemblyjs/utf8": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz",
- "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz",
+ "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==",
"dev": true
},
"node_modules/@webassemblyjs/wasm-edit": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz",
- "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz",
+ "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==",
"dev": true,
"dependencies": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/helper-wasm-section": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1",
- "@webassemblyjs/wasm-opt": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1",
- "@webassemblyjs/wast-printer": "1.11.1"
+ "@webassemblyjs/ast": "1.11.6",
+ "@webassemblyjs/helper-buffer": "1.11.6",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+ "@webassemblyjs/helper-wasm-section": "1.11.6",
+ "@webassemblyjs/wasm-gen": "1.11.6",
+ "@webassemblyjs/wasm-opt": "1.11.6",
+ "@webassemblyjs/wasm-parser": "1.11.6",
+ "@webassemblyjs/wast-printer": "1.11.6"
}
},
"node_modules/@webassemblyjs/wasm-gen": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz",
- "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz",
+ "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==",
"dev": true,
"dependencies": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/ieee754": "1.11.1",
- "@webassemblyjs/leb128": "1.11.1",
- "@webassemblyjs/utf8": "1.11.1"
+ "@webassemblyjs/ast": "1.11.6",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+ "@webassemblyjs/ieee754": "1.11.6",
+ "@webassemblyjs/leb128": "1.11.6",
+ "@webassemblyjs/utf8": "1.11.6"
}
},
"node_modules/@webassemblyjs/wasm-opt": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz",
- "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz",
+ "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==",
"dev": true,
"dependencies": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1"
+ "@webassemblyjs/ast": "1.11.6",
+ "@webassemblyjs/helper-buffer": "1.11.6",
+ "@webassemblyjs/wasm-gen": "1.11.6",
+ "@webassemblyjs/wasm-parser": "1.11.6"
}
},
"node_modules/@webassemblyjs/wasm-parser": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz",
- "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz",
+ "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==",
"dev": true,
"dependencies": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-api-error": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/ieee754": "1.11.1",
- "@webassemblyjs/leb128": "1.11.1",
- "@webassemblyjs/utf8": "1.11.1"
+ "@webassemblyjs/ast": "1.11.6",
+ "@webassemblyjs/helper-api-error": "1.11.6",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+ "@webassemblyjs/ieee754": "1.11.6",
+ "@webassemblyjs/leb128": "1.11.6",
+ "@webassemblyjs/utf8": "1.11.6"
}
},
"node_modules/@webassemblyjs/wast-printer": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz",
- "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz",
+ "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==",
"dev": true,
"dependencies": {
- "@webassemblyjs/ast": "1.11.1",
+ "@webassemblyjs/ast": "1.11.6",
"@xtuc/long": "4.2.2"
}
},
"node_modules/@webpack-cli/configtest": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.1.tgz",
- "integrity": "sha512-1FBc1f9G4P/AxMqIgfZgeOTuRnwZMten8E7zap5zgpPInnCrP8D4Q81+4CWIch8i/Nf7nXjP0v6CjjbHOrXhKg==",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz",
+ "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==",
"dev": true,
+ "engines": {
+ "node": ">=14.15.0"
+ },
"peerDependencies": {
- "webpack": "4.x.x || 5.x.x",
- "webpack-cli": "4.x.x"
+ "webpack": "5.x.x",
+ "webpack-cli": "5.x.x"
}
},
"node_modules/@webpack-cli/info": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.1.tgz",
- "integrity": "sha512-PKVGmazEq3oAo46Q63tpMr4HipI3OPfP7LiNOEJg963RMgT0rqheag28NCML0o3GIzA3DmxP1ZIAv9oTX1CUIA==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz",
+ "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==",
"dev": true,
- "dependencies": {
- "envinfo": "^7.7.3"
+ "engines": {
+ "node": ">=14.15.0"
},
"peerDependencies": {
- "webpack-cli": "4.x.x"
+ "webpack": "5.x.x",
+ "webpack-cli": "5.x.x"
}
},
"node_modules/@webpack-cli/serve": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.1.tgz",
- "integrity": "sha512-gNGTiTrjEVQ0OcVnzsRSqTxaBSr+dmTfm+qJsCDluky8uhdLWep7Gcr62QsAKHTMxjCS/8nEITsmFAhfIx+QSw==",
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz",
+ "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==",
"dev": true,
+ "engines": {
+ "node": ">=14.15.0"
+ },
"peerDependencies": {
- "webpack-cli": "4.x.x"
+ "webpack": "5.x.x",
+ "webpack-cli": "5.x.x"
},
"peerDependenciesMeta": {
"webpack-dev-server": {
@@ -2783,9 +2791,9 @@
}
},
"node_modules/acorn-import-assertions": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz",
- "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==",
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz",
+ "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==",
"dev": true,
"peerDependencies": {
"acorn": "^8"
@@ -2935,15 +2943,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/array-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
- "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/array.prototype.flatmap": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz",
@@ -3347,21 +3346,20 @@
}
},
"node_modules/copy-webpack-plugin": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-8.1.1.tgz",
- "integrity": "sha512-rYM2uzRxrLRpcyPqGceRBDpxxUV8vcDqIKxAUKfcnFpcrPxT5+XvhTxv7XLjo5AvEJFPdAE3zCogG2JVahqgSQ==",
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz",
+ "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==",
"dev": true,
"dependencies": {
- "fast-glob": "^3.2.5",
- "glob-parent": "^5.1.1",
- "globby": "^11.0.3",
+ "fast-glob": "^3.2.11",
+ "glob-parent": "^6.0.1",
+ "globby": "^13.1.1",
"normalize-path": "^3.0.0",
- "p-limit": "^3.1.0",
- "schema-utils": "^3.0.0",
- "serialize-javascript": "^5.0.1"
+ "schema-utils": "^4.0.0",
+ "serialize-javascript": "^6.0.0"
},
"engines": {
- "node": ">= 10.13.0"
+ "node": ">= 14.15.0"
},
"funding": {
"type": "opencollective",
@@ -3371,46 +3369,16 @@
"webpack": "^5.1.0"
}
},
- "node_modules/copy-webpack-plugin/node_modules/p-limit": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
- "dev": true,
- "dependencies": {
- "yocto-queue": "^0.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/copy-webpack-plugin/node_modules/schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "node_modules/copy-webpack-plugin/node_modules/glob-parent": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
"dev": true,
"dependencies": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
+ "is-glob": "^4.0.3"
},
"engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- }
- },
- "node_modules/copy-webpack-plugin/node_modules/serialize-javascript": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz",
- "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==",
- "dev": true,
- "dependencies": {
- "randombytes": "^2.1.0"
+ "node": ">=10.13.0"
}
},
"node_modules/core-js": {
@@ -3660,9 +3628,9 @@
}
},
"node_modules/enhanced-resolve": {
- "version": "5.9.3",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz",
- "integrity": "sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow==",
+ "version": "5.15.0",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz",
+ "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==",
"dev": true,
"dependencies": {
"graceful-fs": "^4.2.4",
@@ -3673,9 +3641,9 @@
}
},
"node_modules/envinfo": {
- "version": "7.8.1",
- "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz",
- "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==",
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.11.0.tgz",
+ "integrity": "sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg==",
"dev": true,
"bin": {
"envinfo": "dist/cli.js"
@@ -3768,9 +3736,9 @@
}
},
"node_modules/es-module-lexer": {
- "version": "0.9.3",
- "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz",
- "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==",
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz",
+ "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==",
"dev": true
},
"node_modules/es-set-tostringtag": {
@@ -4258,38 +4226,15 @@
"node": ">=0.8.x"
}
},
- "node_modules/execa": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
- "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
- "dev": true,
- "dependencies": {
- "cross-spawn": "^7.0.3",
- "get-stream": "^6.0.0",
- "human-signals": "^2.1.0",
- "is-stream": "^2.0.0",
- "merge-stream": "^2.0.0",
- "npm-run-path": "^4.0.1",
- "onetime": "^5.1.2",
- "signal-exit": "^3.0.3",
- "strip-final-newline": "^2.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/execa?sponsor=1"
- }
- },
"node_modules/fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
},
"node_modules/fast-glob": {
- "version": "3.2.12",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
- "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
+ "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
"dev": true,
"dependencies": {
"@nodelib/fs.stat": "^2.0.2",
@@ -4522,6 +4467,15 @@
"node": ">=8"
}
},
+ "node_modules/flat": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
+ "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
+ "dev": true,
+ "bin": {
+ "flat": "cli.js"
+ }
+ },
"node_modules/flat-cache": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
@@ -4642,18 +4596,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/get-stream": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
- "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
- "dev": true,
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/get-symbol-description": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz",
@@ -4732,32 +4674,34 @@
}
},
"node_modules/globby": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
- "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
+ "version": "13.2.2",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz",
+ "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==",
"dev": true,
"dependencies": {
- "array-union": "^2.1.0",
"dir-glob": "^3.0.1",
- "fast-glob": "^3.2.9",
- "ignore": "^5.2.0",
+ "fast-glob": "^3.3.0",
+ "ignore": "^5.2.4",
"merge2": "^1.4.1",
- "slash": "^3.0.0"
+ "slash": "^4.0.0"
},
"engines": {
- "node": ">=10"
+ "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/globby/node_modules/slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
+ "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==",
"dev": true,
"engines": {
- "node": ">=8"
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/gopd": {
@@ -4773,9 +4717,9 @@
}
},
"node_modules/graceful-fs": {
- "version": "4.2.10",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
- "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
+ "version": "4.2.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
"dev": true
},
"node_modules/graphemer": {
@@ -4883,15 +4827,6 @@
"react-is": "^16.7.0"
}
},
- "node_modules/human-signals": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
- "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
- "dev": true,
- "engines": {
- "node": ">=10.17.0"
- }
- },
"node_modules/icss-utils": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz",
@@ -4905,9 +4840,9 @@
}
},
"node_modules/ignore": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
- "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz",
+ "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==",
"dev": true,
"engines": {
"node": ">= 4"
@@ -5001,12 +4936,12 @@
}
},
"node_modules/interpret": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz",
- "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz",
+ "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==",
"dev": true,
"engines": {
- "node": ">= 0.10"
+ "node": ">=10.13.0"
}
},
"node_modules/invariant": {
@@ -5280,18 +5215,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/is-stream": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
- "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/is-string": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz",
@@ -5481,12 +5404,6 @@
"node": ">=4"
}
},
- "node_modules/json-parse-better-errors": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
- "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
- "dev": true
- },
"node_modules/json-parse-even-better-errors": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
@@ -5720,15 +5637,6 @@
"node": ">= 0.6"
}
},
- "node_modules/mimic-fn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
- "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/mini-css-extract-plugin": {
"version": "1.6.2",
"resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.6.2.tgz",
@@ -5833,18 +5741,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/npm-run-path": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
- "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
- "dev": true,
- "dependencies": {
- "path-key": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
@@ -5959,21 +5855,6 @@
"wrappy": "1"
}
},
- "node_modules/onetime": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
- "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
- "dev": true,
- "dependencies": {
- "mimic-fn": "^2.1.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
"node_modules/optionator": {
"version": "0.9.3",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz",
@@ -6560,15 +6441,15 @@
}
},
"node_modules/rechoir": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz",
- "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==",
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz",
+ "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==",
"dev": true,
"dependencies": {
- "resolve": "^1.9.0"
+ "resolve": "^1.20.0"
},
"engines": {
- "node": ">= 0.10"
+ "node": ">= 10.13.0"
}
},
"node_modules/redux": {
@@ -6954,9 +6835,9 @@
}
},
"node_modules/serialize-javascript": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
- "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz",
+ "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==",
"dev": true,
"dependencies": {
"randombytes": "^2.1.0"
@@ -7038,12 +6919,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/signal-exit": {
- "version": "3.0.7",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
- "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
- "dev": true
- },
"node_modules/slash": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
@@ -7163,15 +7038,6 @@
"node": ">=8"
}
},
- "node_modules/strip-final-newline": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
- "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
- "dev": true,
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/strip-json-comments": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
@@ -7226,13 +7092,13 @@
}
},
"node_modules/terser": {
- "version": "5.16.5",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.5.tgz",
- "integrity": "sha512-qcwfg4+RZa3YvlFh0qjifnzBHjKGNbtDo9yivMqMFDy9Q6FSaQWSB/j1xKhsoUFJIqDOM3TsN6D5xbrMrFcHbg==",
+ "version": "5.24.0",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.24.0.tgz",
+ "integrity": "sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw==",
"dev": true,
"dependencies": {
- "@jridgewell/source-map": "^0.3.2",
- "acorn": "^8.5.0",
+ "@jridgewell/source-map": "^0.3.3",
+ "acorn": "^8.8.2",
"commander": "^2.20.0",
"source-map-support": "~0.5.20"
},
@@ -7244,16 +7110,16 @@
}
},
"node_modules/terser-webpack-plugin": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz",
- "integrity": "sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==",
+ "version": "5.3.9",
+ "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz",
+ "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==",
"dev": true,
"dependencies": {
+ "@jridgewell/trace-mapping": "^0.3.17",
"jest-worker": "^27.4.5",
"schema-utils": "^3.1.1",
- "serialize-javascript": "^6.0.0",
- "source-map": "^0.6.1",
- "terser": "^5.7.2"
+ "serialize-javascript": "^6.0.1",
+ "terser": "^5.16.8"
},
"engines": {
"node": ">= 10.13.0"
@@ -7278,9 +7144,9 @@
}
},
"node_modules/terser-webpack-plugin/node_modules/schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
+ "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
"dev": true,
"dependencies": {
"@types/json-schema": "^7.0.8",
@@ -7556,9 +7422,9 @@
}
},
"node_modules/watchpack": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz",
- "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==",
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz",
+ "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==",
"dev": true,
"dependencies": {
"glob-to-regexp": "^0.4.1",
@@ -7569,34 +7435,34 @@
}
},
"node_modules/webpack": {
- "version": "5.72.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.0.tgz",
- "integrity": "sha512-qmSmbspI0Qo5ld49htys8GY9XhS9CGqFoHTsOVAnjBdg0Zn79y135R+k4IR4rKK6+eKaabMhJwiVB7xw0SJu5w==",
+ "version": "5.89.0",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz",
+ "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==",
"dev": true,
"dependencies": {
"@types/eslint-scope": "^3.7.3",
- "@types/estree": "^0.0.51",
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/wasm-edit": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1",
- "acorn": "^8.4.1",
- "acorn-import-assertions": "^1.7.6",
+ "@types/estree": "^1.0.0",
+ "@webassemblyjs/ast": "^1.11.5",
+ "@webassemblyjs/wasm-edit": "^1.11.5",
+ "@webassemblyjs/wasm-parser": "^1.11.5",
+ "acorn": "^8.7.1",
+ "acorn-import-assertions": "^1.9.0",
"browserslist": "^4.14.5",
"chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^5.9.2",
- "es-module-lexer": "^0.9.0",
+ "enhanced-resolve": "^5.15.0",
+ "es-module-lexer": "^1.2.1",
"eslint-scope": "5.1.1",
"events": "^3.2.0",
"glob-to-regexp": "^0.4.1",
"graceful-fs": "^4.2.9",
- "json-parse-better-errors": "^1.0.2",
+ "json-parse-even-better-errors": "^2.3.1",
"loader-runner": "^4.2.0",
"mime-types": "^2.1.27",
"neo-async": "^2.6.2",
- "schema-utils": "^3.1.0",
+ "schema-utils": "^3.2.0",
"tapable": "^2.1.1",
- "terser-webpack-plugin": "^5.1.3",
- "watchpack": "^2.3.1",
+ "terser-webpack-plugin": "^5.3.7",
+ "watchpack": "^2.4.0",
"webpack-sources": "^3.2.3"
},
"bin": {
@@ -7616,40 +7482,42 @@
}
},
"node_modules/webpack-cli": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.2.tgz",
- "integrity": "sha512-m3/AACnBBzK/kMTcxWHcZFPrw/eQuY4Df1TxvIWfWM2x7mRqBQCqKEd96oCUa9jkapLBaFfRce33eGDb4Pr7YQ==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz",
+ "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==",
"dev": true,
"dependencies": {
"@discoveryjs/json-ext": "^0.5.0",
- "@webpack-cli/configtest": "^1.1.1",
- "@webpack-cli/info": "^1.4.1",
- "@webpack-cli/serve": "^1.6.1",
+ "@webpack-cli/configtest": "^2.1.1",
+ "@webpack-cli/info": "^2.0.2",
+ "@webpack-cli/serve": "^2.0.5",
"colorette": "^2.0.14",
- "commander": "^7.0.0",
- "execa": "^5.0.0",
+ "commander": "^10.0.1",
+ "cross-spawn": "^7.0.3",
+ "envinfo": "^7.7.3",
"fastest-levenshtein": "^1.0.12",
"import-local": "^3.0.2",
- "interpret": "^2.2.0",
- "rechoir": "^0.7.0",
+ "interpret": "^3.1.1",
+ "rechoir": "^0.8.0",
"webpack-merge": "^5.7.3"
},
"bin": {
"webpack-cli": "bin/cli.js"
},
"engines": {
- "node": ">=10.13.0"
+ "node": ">=14.15.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
},
"peerDependencies": {
- "webpack": "4.x.x || 5.x.x"
+ "webpack": "5.x.x"
},
"peerDependenciesMeta": {
"@webpack-cli/generators": {
"optional": true
},
- "@webpack-cli/migrate": {
- "optional": true
- },
"webpack-bundle-analyzer": {
"optional": true
},
@@ -7659,21 +7527,22 @@
}
},
"node_modules/webpack-cli/node_modules/commander": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
- "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz",
+ "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==",
"dev": true,
"engines": {
- "node": ">= 10"
+ "node": ">=14"
}
},
"node_modules/webpack-merge": {
- "version": "5.7.3",
- "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.7.3.tgz",
- "integrity": "sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA==",
+ "version": "5.10.0",
+ "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz",
+ "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==",
"dev": true,
"dependencies": {
"clone-deep": "^4.0.1",
+ "flat": "^5.0.2",
"wildcard": "^2.0.0"
},
"engines": {
@@ -7690,9 +7559,9 @@
}
},
"node_modules/webpack/node_modules/schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
+ "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
"dev": true,
"dependencies": {
"@types/json-schema": "^7.0.8",
@@ -9438,9 +9307,9 @@
"integrity": "sha512-SfJxIxNVYLTsKwzB3MoOQ1yxf4w/E6MdkvTgrgAt1bfxjSrLUoHMKrDOykwN14q65waezZIdqDneUIPh4/sKxg=="
},
"@jridgewell/source-map": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz",
- "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==",
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz",
+ "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==",
"dev": true,
"requires": {
"@jridgewell/gen-mapping": "^0.3.0",
@@ -9448,9 +9317,9 @@
},
"dependencies": {
"@jridgewell/gen-mapping": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
- "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
+ "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
"dev": true,
"requires": {
"@jridgewell/set-array": "^1.0.1",
@@ -9592,9 +9461,9 @@
}
},
"@types/estree": {
- "version": "0.0.51",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz",
- "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
+ "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
"dev": true
},
"@types/hoist-non-react-statics": {
@@ -9696,171 +9565,169 @@
"dev": true
},
"@webassemblyjs/ast": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz",
- "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz",
+ "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==",
"dev": true,
"requires": {
- "@webassemblyjs/helper-numbers": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1"
+ "@webassemblyjs/helper-numbers": "1.11.6",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6"
}
},
"@webassemblyjs/floating-point-hex-parser": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz",
- "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz",
+ "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==",
"dev": true
},
"@webassemblyjs/helper-api-error": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz",
- "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz",
+ "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==",
"dev": true
},
"@webassemblyjs/helper-buffer": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz",
- "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz",
+ "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==",
"dev": true
},
"@webassemblyjs/helper-numbers": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz",
- "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz",
+ "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==",
"dev": true,
"requires": {
- "@webassemblyjs/floating-point-hex-parser": "1.11.1",
- "@webassemblyjs/helper-api-error": "1.11.1",
+ "@webassemblyjs/floating-point-hex-parser": "1.11.6",
+ "@webassemblyjs/helper-api-error": "1.11.6",
"@xtuc/long": "4.2.2"
}
},
"@webassemblyjs/helper-wasm-bytecode": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz",
- "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz",
+ "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==",
"dev": true
},
"@webassemblyjs/helper-wasm-section": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz",
- "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz",
+ "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1"
+ "@webassemblyjs/ast": "1.11.6",
+ "@webassemblyjs/helper-buffer": "1.11.6",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+ "@webassemblyjs/wasm-gen": "1.11.6"
}
},
"@webassemblyjs/ieee754": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz",
- "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz",
+ "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==",
"dev": true,
"requires": {
"@xtuc/ieee754": "^1.2.0"
}
},
"@webassemblyjs/leb128": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz",
- "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz",
+ "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==",
"dev": true,
"requires": {
"@xtuc/long": "4.2.2"
}
},
"@webassemblyjs/utf8": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz",
- "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz",
+ "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==",
"dev": true
},
"@webassemblyjs/wasm-edit": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz",
- "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz",
+ "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/helper-wasm-section": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1",
- "@webassemblyjs/wasm-opt": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1",
- "@webassemblyjs/wast-printer": "1.11.1"
+ "@webassemblyjs/ast": "1.11.6",
+ "@webassemblyjs/helper-buffer": "1.11.6",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+ "@webassemblyjs/helper-wasm-section": "1.11.6",
+ "@webassemblyjs/wasm-gen": "1.11.6",
+ "@webassemblyjs/wasm-opt": "1.11.6",
+ "@webassemblyjs/wasm-parser": "1.11.6",
+ "@webassemblyjs/wast-printer": "1.11.6"
}
},
"@webassemblyjs/wasm-gen": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz",
- "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz",
+ "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/ieee754": "1.11.1",
- "@webassemblyjs/leb128": "1.11.1",
- "@webassemblyjs/utf8": "1.11.1"
+ "@webassemblyjs/ast": "1.11.6",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+ "@webassemblyjs/ieee754": "1.11.6",
+ "@webassemblyjs/leb128": "1.11.6",
+ "@webassemblyjs/utf8": "1.11.6"
}
},
"@webassemblyjs/wasm-opt": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz",
- "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz",
+ "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1"
+ "@webassemblyjs/ast": "1.11.6",
+ "@webassemblyjs/helper-buffer": "1.11.6",
+ "@webassemblyjs/wasm-gen": "1.11.6",
+ "@webassemblyjs/wasm-parser": "1.11.6"
}
},
"@webassemblyjs/wasm-parser": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz",
- "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz",
+ "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-api-error": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/ieee754": "1.11.1",
- "@webassemblyjs/leb128": "1.11.1",
- "@webassemblyjs/utf8": "1.11.1"
+ "@webassemblyjs/ast": "1.11.6",
+ "@webassemblyjs/helper-api-error": "1.11.6",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+ "@webassemblyjs/ieee754": "1.11.6",
+ "@webassemblyjs/leb128": "1.11.6",
+ "@webassemblyjs/utf8": "1.11.6"
}
},
"@webassemblyjs/wast-printer": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz",
- "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz",
+ "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==",
"dev": true,
"requires": {
- "@webassemblyjs/ast": "1.11.1",
+ "@webassemblyjs/ast": "1.11.6",
"@xtuc/long": "4.2.2"
}
},
"@webpack-cli/configtest": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.1.tgz",
- "integrity": "sha512-1FBc1f9G4P/AxMqIgfZgeOTuRnwZMten8E7zap5zgpPInnCrP8D4Q81+4CWIch8i/Nf7nXjP0v6CjjbHOrXhKg==",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-2.1.1.tgz",
+ "integrity": "sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==",
"dev": true,
"requires": {}
},
"@webpack-cli/info": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.1.tgz",
- "integrity": "sha512-PKVGmazEq3oAo46Q63tpMr4HipI3OPfP7LiNOEJg963RMgT0rqheag28NCML0o3GIzA3DmxP1ZIAv9oTX1CUIA==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-2.0.2.tgz",
+ "integrity": "sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==",
"dev": true,
- "requires": {
- "envinfo": "^7.7.3"
- }
+ "requires": {}
},
"@webpack-cli/serve": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.1.tgz",
- "integrity": "sha512-gNGTiTrjEVQ0OcVnzsRSqTxaBSr+dmTfm+qJsCDluky8uhdLWep7Gcr62QsAKHTMxjCS/8nEITsmFAhfIx+QSw==",
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz",
+ "integrity": "sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==",
"dev": true,
"requires": {}
},
@@ -9883,9 +9750,9 @@
"dev": true
},
"acorn-import-assertions": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz",
- "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==",
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz",
+ "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==",
"dev": true,
"requires": {}
},
@@ -9997,12 +9864,6 @@
"is-string": "^1.0.7"
}
},
- "array-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
- "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
- "dev": true
- },
"array.prototype.flatmap": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz",
@@ -10296,47 +10157,26 @@
}
},
"copy-webpack-plugin": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-8.1.1.tgz",
- "integrity": "sha512-rYM2uzRxrLRpcyPqGceRBDpxxUV8vcDqIKxAUKfcnFpcrPxT5+XvhTxv7XLjo5AvEJFPdAE3zCogG2JVahqgSQ==",
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz",
+ "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==",
"dev": true,
"requires": {
- "fast-glob": "^3.2.5",
- "glob-parent": "^5.1.1",
- "globby": "^11.0.3",
+ "fast-glob": "^3.2.11",
+ "glob-parent": "^6.0.1",
+ "globby": "^13.1.1",
"normalize-path": "^3.0.0",
- "p-limit": "^3.1.0",
- "schema-utils": "^3.0.0",
- "serialize-javascript": "^5.0.1"
+ "schema-utils": "^4.0.0",
+ "serialize-javascript": "^6.0.0"
},
"dependencies": {
- "p-limit": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
- "dev": true,
- "requires": {
- "yocto-queue": "^0.1.0"
- }
- },
- "schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
- "dev": true,
- "requires": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- }
- },
- "serialize-javascript": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz",
- "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==",
+ "glob-parent": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
"dev": true,
"requires": {
- "randombytes": "^2.1.0"
+ "is-glob": "^4.0.3"
}
}
}
@@ -10523,9 +10363,9 @@
"dev": true
},
"enhanced-resolve": {
- "version": "5.9.3",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz",
- "integrity": "sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow==",
+ "version": "5.15.0",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz",
+ "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==",
"dev": true,
"requires": {
"graceful-fs": "^4.2.4",
@@ -10533,9 +10373,9 @@
}
},
"envinfo": {
- "version": "7.8.1",
- "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz",
- "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==",
+ "version": "7.11.0",
+ "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.11.0.tgz",
+ "integrity": "sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg==",
"dev": true
},
"error-ex": {
@@ -10616,9 +10456,9 @@
}
},
"es-module-lexer": {
- "version": "0.9.3",
- "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz",
- "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==",
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz",
+ "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==",
"dev": true
},
"es-set-tostringtag": {
@@ -10967,32 +10807,15 @@
"integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
"dev": true
},
- "execa": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
- "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
- "dev": true,
- "requires": {
- "cross-spawn": "^7.0.3",
- "get-stream": "^6.0.0",
- "human-signals": "^2.1.0",
- "is-stream": "^2.0.0",
- "merge-stream": "^2.0.0",
- "npm-run-path": "^4.0.1",
- "onetime": "^5.1.2",
- "signal-exit": "^3.0.3",
- "strip-final-newline": "^2.0.0"
- }
- },
"fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
},
"fast-glob": {
- "version": "3.2.12",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
- "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
+ "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
"dev": true,
"requires": {
"@nodelib/fs.stat": "^2.0.2",
@@ -11155,6 +10978,12 @@
"path-exists": "^4.0.0"
}
},
+ "flat": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
+ "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
+ "dev": true
+ },
"flat-cache": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
@@ -11244,12 +11073,6 @@
"hasown": "^2.0.0"
}
},
- "get-stream": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
- "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
- "dev": true
- },
"get-symbol-description": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz",
@@ -11304,23 +11127,22 @@
}
},
"globby": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
- "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
+ "version": "13.2.2",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz",
+ "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==",
"dev": true,
"requires": {
- "array-union": "^2.1.0",
"dir-glob": "^3.0.1",
- "fast-glob": "^3.2.9",
- "ignore": "^5.2.0",
+ "fast-glob": "^3.3.0",
+ "ignore": "^5.2.4",
"merge2": "^1.4.1",
- "slash": "^3.0.0"
+ "slash": "^4.0.0"
},
"dependencies": {
"slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
+ "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==",
"dev": true
}
}
@@ -11335,9 +11157,9 @@
}
},
"graceful-fs": {
- "version": "4.2.10",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
- "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
+ "version": "4.2.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
"dev": true
},
"graphemer": {
@@ -11412,12 +11234,6 @@
"react-is": "^16.7.0"
}
},
- "human-signals": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
- "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
- "dev": true
- },
"icss-utils": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz",
@@ -11426,9 +11242,9 @@
"requires": {}
},
"ignore": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
- "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz",
+ "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==",
"dev": true
},
"immutable": {
@@ -11497,9 +11313,9 @@
}
},
"interpret": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz",
- "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz",
+ "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==",
"dev": true
},
"invariant": {
@@ -11686,12 +11502,6 @@
"call-bind": "^1.0.2"
}
},
- "is-stream": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
- "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
- "dev": true
- },
"is-string": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz",
@@ -11832,12 +11642,6 @@
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
"integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA=="
},
- "json-parse-better-errors": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
- "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
- "dev": true
- },
"json-parse-even-better-errors": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
@@ -12022,12 +11826,6 @@
"mime-db": "1.52.0"
}
},
- "mimic-fn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
- "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
- "dev": true
- },
"mini-css-extract-plugin": {
"version": "1.6.2",
"resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.6.2.tgz",
@@ -12105,15 +11903,6 @@
"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
"dev": true
},
- "npm-run-path": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
- "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
- "dev": true,
- "requires": {
- "path-key": "^3.0.0"
- }
- },
"object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
@@ -12195,15 +11984,6 @@
"wrappy": "1"
}
},
- "onetime": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
- "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
- "dev": true,
- "requires": {
- "mimic-fn": "^2.1.0"
- }
- },
"optionator": {
"version": "0.9.3",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz",
@@ -12625,12 +12405,12 @@
}
},
"rechoir": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz",
- "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==",
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz",
+ "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==",
"dev": true,
"requires": {
- "resolve": "^1.9.0"
+ "resolve": "^1.20.0"
}
},
"redux": {
@@ -12899,9 +12679,9 @@
"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="
},
"serialize-javascript": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
- "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz",
+ "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==",
"dev": true,
"requires": {
"randombytes": "^2.1.0"
@@ -12965,12 +12745,6 @@
"object-inspect": "^1.9.0"
}
},
- "signal-exit": {
- "version": "3.0.7",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
- "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
- "dev": true
- },
"slash": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
@@ -13063,12 +12837,6 @@
"ansi-regex": "^5.0.1"
}
},
- "strip-final-newline": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
- "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
- "dev": true
- },
"strip-json-comments": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
@@ -13105,13 +12873,13 @@
"dev": true
},
"terser": {
- "version": "5.16.5",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.5.tgz",
- "integrity": "sha512-qcwfg4+RZa3YvlFh0qjifnzBHjKGNbtDo9yivMqMFDy9Q6FSaQWSB/j1xKhsoUFJIqDOM3TsN6D5xbrMrFcHbg==",
+ "version": "5.24.0",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.24.0.tgz",
+ "integrity": "sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw==",
"dev": true,
"requires": {
- "@jridgewell/source-map": "^0.3.2",
- "acorn": "^8.5.0",
+ "@jridgewell/source-map": "^0.3.3",
+ "acorn": "^8.8.2",
"commander": "^2.20.0",
"source-map-support": "~0.5.20"
},
@@ -13125,22 +12893,22 @@
}
},
"terser-webpack-plugin": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz",
- "integrity": "sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==",
+ "version": "5.3.9",
+ "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz",
+ "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==",
"dev": true,
"requires": {
+ "@jridgewell/trace-mapping": "^0.3.17",
"jest-worker": "^27.4.5",
"schema-utils": "^3.1.1",
- "serialize-javascript": "^6.0.0",
- "source-map": "^0.6.1",
- "terser": "^5.7.2"
+ "serialize-javascript": "^6.0.1",
+ "terser": "^5.16.8"
},
"dependencies": {
"schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
+ "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
"dev": true,
"requires": {
"@types/json-schema": "^7.0.8",
@@ -13327,9 +13095,9 @@
}
},
"watchpack": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz",
- "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==",
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz",
+ "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==",
"dev": true,
"requires": {
"glob-to-regexp": "^0.4.1",
@@ -13337,41 +13105,41 @@
}
},
"webpack": {
- "version": "5.72.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.0.tgz",
- "integrity": "sha512-qmSmbspI0Qo5ld49htys8GY9XhS9CGqFoHTsOVAnjBdg0Zn79y135R+k4IR4rKK6+eKaabMhJwiVB7xw0SJu5w==",
+ "version": "5.89.0",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz",
+ "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==",
"dev": true,
"requires": {
"@types/eslint-scope": "^3.7.3",
- "@types/estree": "^0.0.51",
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/wasm-edit": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1",
- "acorn": "^8.4.1",
- "acorn-import-assertions": "^1.7.6",
+ "@types/estree": "^1.0.0",
+ "@webassemblyjs/ast": "^1.11.5",
+ "@webassemblyjs/wasm-edit": "^1.11.5",
+ "@webassemblyjs/wasm-parser": "^1.11.5",
+ "acorn": "^8.7.1",
+ "acorn-import-assertions": "^1.9.0",
"browserslist": "^4.14.5",
"chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^5.9.2",
- "es-module-lexer": "^0.9.0",
+ "enhanced-resolve": "^5.15.0",
+ "es-module-lexer": "^1.2.1",
"eslint-scope": "5.1.1",
"events": "^3.2.0",
"glob-to-regexp": "^0.4.1",
"graceful-fs": "^4.2.9",
- "json-parse-better-errors": "^1.0.2",
+ "json-parse-even-better-errors": "^2.3.1",
"loader-runner": "^4.2.0",
"mime-types": "^2.1.27",
"neo-async": "^2.6.2",
- "schema-utils": "^3.1.0",
+ "schema-utils": "^3.2.0",
"tapable": "^2.1.1",
- "terser-webpack-plugin": "^5.1.3",
- "watchpack": "^2.3.1",
+ "terser-webpack-plugin": "^5.3.7",
+ "watchpack": "^2.4.0",
"webpack-sources": "^3.2.3"
},
"dependencies": {
"schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
+ "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
"dev": true,
"requires": {
"@types/json-schema": "^7.0.8",
@@ -13382,40 +13150,42 @@
}
},
"webpack-cli": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.2.tgz",
- "integrity": "sha512-m3/AACnBBzK/kMTcxWHcZFPrw/eQuY4Df1TxvIWfWM2x7mRqBQCqKEd96oCUa9jkapLBaFfRce33eGDb4Pr7YQ==",
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.1.4.tgz",
+ "integrity": "sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==",
"dev": true,
"requires": {
"@discoveryjs/json-ext": "^0.5.0",
- "@webpack-cli/configtest": "^1.1.1",
- "@webpack-cli/info": "^1.4.1",
- "@webpack-cli/serve": "^1.6.1",
+ "@webpack-cli/configtest": "^2.1.1",
+ "@webpack-cli/info": "^2.0.2",
+ "@webpack-cli/serve": "^2.0.5",
"colorette": "^2.0.14",
- "commander": "^7.0.0",
- "execa": "^5.0.0",
+ "commander": "^10.0.1",
+ "cross-spawn": "^7.0.3",
+ "envinfo": "^7.7.3",
"fastest-levenshtein": "^1.0.12",
"import-local": "^3.0.2",
- "interpret": "^2.2.0",
- "rechoir": "^0.7.0",
+ "interpret": "^3.1.1",
+ "rechoir": "^0.8.0",
"webpack-merge": "^5.7.3"
},
"dependencies": {
"commander": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
- "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz",
+ "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==",
"dev": true
}
}
},
"webpack-merge": {
- "version": "5.7.3",
- "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.7.3.tgz",
- "integrity": "sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA==",
+ "version": "5.10.0",
+ "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz",
+ "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==",
"dev": true,
"requires": {
"clone-deep": "^4.0.1",
+ "flat": "^5.0.2",
"wildcard": "^2.0.0"
}
},
diff --git a/package.json b/package.json
index 5d35ee5fbd..c9ae26a0b1 100644
--- a/package.json
+++ b/package.json
@@ -40,7 +40,7 @@
"@babel/preset-env": "^7.23.3",
"@babel/preset-react": "^7.23.3",
"babel-loader": "^9.1.3",
- "copy-webpack-plugin": "^8.1.0",
+ "copy-webpack-plugin": "^11.0.0",
"css-loader": "^5.2.0",
"eslint": "^8.54.0",
"eslint-plugin-react": "^7.33.2",
@@ -48,8 +48,8 @@
"mini-css-extract-plugin": "^1.4.0",
"sass": "^1.55.0",
"sass-loader": "^11.0.1",
- "webpack": "^5.28.0",
- "webpack-cli": "^4.6.0",
- "webpack-merge": "5.7.3"
+ "webpack": "^5.89.0",
+ "webpack-cli": "^5.1.4",
+ "webpack-merge": "5.10.0"
}
}
From 2dbf330eed9ea96ad561a986a32370e680d46db2 Mon Sep 17 00:00:00 2001
From: Heinz-Alexander Fuetterer
Date: Thu, 30 Nov 2023 09:08:08 +0100
Subject: [PATCH 090/114] ci: remove playwright browsers caching
---
.github/workflows/ci.yml | 6 ------
1 file changed, 6 deletions(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 55283b2312..4a32403ffd 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -98,12 +98,6 @@ jobs:
node-version: 18
cache: npm
if: matrix.python-version == '3.12' && matrix.db-backend == 'postgres'
- - name: Cache Playwright browsers
- uses: actions/cache@v3
- with:
- path: ~/.cache/ms-playwright/
- key: playwright-browsers
- if: matrix.python-version == '3.12' && matrix.db-backend == 'postgres'
- name: Install e2e tests dependencies
run: |
npm install
From 6b1076ddbdfe80a0969203996cf4226512c1d18f Mon Sep 17 00:00:00 2001
From: Heinz-Alexander Fuetterer
Date: Thu, 30 Nov 2023 09:21:03 +0100
Subject: [PATCH 091/114] test: take a screenshot of frontend for visual
inspection
---
.github/workflows/ci.yml | 6 ++++++
.gitignore | 2 ++
rdmo/management/tests/test_frontend.py | 6 ++++++
3 files changed, 14 insertions(+)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 6a15149688..d35b56b453 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -110,12 +110,18 @@ jobs:
npm run build:prod
playwright install chromium
if: matrix.python-version == '3.12' && matrix.db-backend == 'postgres'
+ - run: mkdir screenshots
- name: Run end-to-end tests
run: pytest -p randomly -p no:cacheprovider --reuse-db --numprocesses=auto --dist=loadscope -m e2e --nomigrations
if: matrix.python-version == '3.12' && matrix.db-backend == 'postgres'
env:
DJANGO_DEBUG: True
GITHUB_DB_BACKEND: ${{ matrix.db-backend }}
+ - uses: actions/upload-artifact@v3
+ with:
+ name: screenshots
+ path: screenshots/*.png
+ if: matrix.python-version == '3.12' && matrix.db-backend == 'postgres'
coveralls:
name: Indicate completion to coveralls
diff --git a/.gitignore b/.gitignore
index 91fe3424ff..f5b363cdbf 100644
--- a/.gitignore
+++ b/.gitignore
@@ -35,3 +35,5 @@ dist
.on-save.json
rdmo/management/static
+
+screenshots
diff --git a/rdmo/management/tests/test_frontend.py b/rdmo/management/tests/test_frontend.py
index e4d30cd18a..3bf05f75d1 100644
--- a/rdmo/management/tests/test_frontend.py
+++ b/rdmo/management/tests/test_frontend.py
@@ -107,6 +107,12 @@ def test_management_navigation(logged_in_admin_user: Page, helper: ModelHelper)
url_name = url_name.replace(" ", "")
expect(page).to_have_url(re.compile(rf".*/{url_name}/"))
+ # take a screenshot for visual inspection
+ if helper.model == Catalog:
+ item_in_ui = page.locator(".list-group > .list-group-item").first
+ expect(item_in_ui).to_be_visible()
+ page.screenshot(path="screenshots/management-navigation-catalog.png", full_page=True)
+
@pytest.mark.parametrize("helper", model_helpers)
def test_management_has_items(logged_in_admin_user: Page, helper: ModelHelper) -> None:
From 7d759930f338eee19aa389a1bd6c2ee980afd811 Mon Sep 17 00:00:00 2001
From: Heinz-Alexander Fuetterer
Date: Thu, 30 Nov 2023 12:37:34 +0100
Subject: [PATCH 092/114] ci: ignore patch version updates in dependabot config
---
.github/dependabot.yml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index fdd76b4ce3..71a863fa51 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -56,6 +56,8 @@ updates:
- type:maintenance
ignore:
- dependency-name: react-bootstrap # rdmo still uses bootstrap 3, which is not supported by react-bootstrap > 0.33.1
+ - dependency-name: "*"
+ update-types: ["version-update:semver-patch"] # ignore patch versions for all JavaScript dependencies
groups:
react:
patterns:
From 590a9fb7cdb96e8eaaec373b6dacfff50998f7c4 Mon Sep 17 00:00:00 2001
From: Jochen Klar
Date: Fri, 1 Dec 2023 17:22:46 +0100
Subject: [PATCH 093/114] Add socialaccount/login.html template
---
.../templates/socialaccount/login.html | 21 +++++++++++++++++++
1 file changed, 21 insertions(+)
create mode 100644 rdmo/accounts/templates/socialaccount/login.html
diff --git a/rdmo/accounts/templates/socialaccount/login.html b/rdmo/accounts/templates/socialaccount/login.html
new file mode 100644
index 0000000000..6fb731a8c5
--- /dev/null
+++ b/rdmo/accounts/templates/socialaccount/login.html
@@ -0,0 +1,21 @@
+{% extends 'core/page.html' %}
+{% load i18n %}
+
+{% block head_title %}{% trans "Sign In" %}{% endblock %}
+
+{% block page %}
+{% if process == "connect" %}
+{% blocktrans with provider.name as provider %}Connect {{ provider }}{% endblocktrans %}
+
+{% blocktrans with provider.name as provider %}You are about to connect a new third party account from {{ provider }}.{% endblocktrans %}
+{% else %}
+{% blocktrans with provider.name as provider %}Sign In Via {{ provider }}{% endblocktrans %}
+
+{% blocktrans with provider.name as provider %}You are about to sign in using a third party account from {{ provider }}.{% endblocktrans %}
+{% endif %}
+
+
+ {% csrf_token %}
+ {% trans "Continue" %}
+
+{% endblock %}
From f1cad90706a100330106fd667320eec73f05214f Mon Sep 17 00:00:00 2001
From: Heinz-Alexander Fuetterer
Date: Sun, 3 Dec 2023 10:01:21 +0100
Subject: [PATCH 094/114] fix: add required dependency packaging
The packaging library is used in rdmo/core/xml.py.
---
pyproject.toml | 1 +
1 file changed, 1 insertion(+)
diff --git a/pyproject.toml b/pyproject.toml
index 043ac913b8..5254386367 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -58,6 +58,7 @@ dependencies = [
"drf-extensions~=0.7.1",
"iso8601~=2.0",
"markdown~=3.4",
+ "packaging~=23.2",
"pypandoc~=1.11",
"requests-toolbelt~=1.0",
"rules~=3.3",
From 9f1fcac630470824b9310df95593edd8338b75b0 Mon Sep 17 00:00:00 2001
From: Heinz-Alexander Fuetterer
Date: Fri, 1 Dec 2023 19:01:22 +0100
Subject: [PATCH 095/114] chore: remove obsolete VERSION variable
---
rdmo/__init__.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/rdmo/__init__.py b/rdmo/__init__.py
index 5e8b7ade92..0309ae290b 100644
--- a/rdmo/__init__.py
+++ b/rdmo/__init__.py
@@ -1 +1 @@
-VERSION = __version__ = "2.0.2"
+__version__ = "2.0.2"
From 1321c7b774585b28e48b142819ccaa28c8c226df Mon Sep 17 00:00:00 2001
From: Jochen Klar
Date: Mon, 4 Dec 2023 11:15:02 +0100
Subject: [PATCH 096/114] Fix table project table layout
---
.../projects/static/projects/js/project_questions/services.js | 1 -
rdmo/projects/templates/projects/projects.html | 4 ++--
rdmo/projects/templates/projects/site_projects.html | 4 ++--
3 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/rdmo/projects/static/projects/js/project_questions/services.js b/rdmo/projects/static/projects/js/project_questions/services.js
index 644186771b..fda22d077e 100644
--- a/rdmo/projects/static/projects/js/project_questions/services.js
+++ b/rdmo/projects/static/projects/js/project_questions/services.js
@@ -963,7 +963,6 @@ angular.module('project_questions')
detail_id: future.page.section.id,
detail_action: 'navigation'
}, function(response) {
- console.log(response);
service.navigation = response
});
}
diff --git a/rdmo/projects/templates/projects/projects.html b/rdmo/projects/templates/projects/projects.html
index 37d29a499d..e8b718a720 100644
--- a/rdmo/projects/templates/projects/projects.html
+++ b/rdmo/projects/templates/projects/projects.html
@@ -133,8 +133,8 @@ {% trans 'My Projects' %}
- {% trans 'Name' %}
- {% trans 'Progress' %}
+ {% trans 'Name' %}
+ {% trans 'Progress' %}
{% trans 'Role' %}
{% trans 'Last changed' %}
diff --git a/rdmo/projects/templates/projects/site_projects.html b/rdmo/projects/templates/projects/site_projects.html
index 5caba675ed..73e0909abd 100644
--- a/rdmo/projects/templates/projects/site_projects.html
+++ b/rdmo/projects/templates/projects/site_projects.html
@@ -64,8 +64,8 @@ {% blocktrans trimmed with site=request.site %}All projects on {{ site }}{%
{% trans 'Name' %}
{% trans 'Progress' %}
{% trans 'Created' %}
- {% trans 'Last changed' %}
-
+ {% trans 'Last changed' %}
+
From 69d01b75b9dfbd07d4030cc192d4740de6c8b43f Mon Sep 17 00:00:00 2001
From: Jochen Klar
Date: Mon, 4 Dec 2023 11:15:50 +0100
Subject: [PATCH 097/114] Fix yesno widget style
---
rdmo/projects/static/projects/css/project_questions.scss | 3 +++
1 file changed, 3 insertions(+)
diff --git a/rdmo/projects/static/projects/css/project_questions.scss b/rdmo/projects/static/projects/css/project_questions.scss
index 3728c891cd..df5adbb647 100644
--- a/rdmo/projects/static/projects/css/project_questions.scss
+++ b/rdmo/projects/static/projects/css/project_questions.scss
@@ -200,6 +200,9 @@
label {
width: 100%;
}
+ .yesno label {
+ width: auto;
+ }
}
.file-control {
From 40325c3179663c19dfff362a6873f8061dbf639a Mon Sep 17 00:00:00 2001
From: Jochen Klar
Date: Mon, 4 Dec 2023 12:14:16 +0100
Subject: [PATCH 098/114] Alter help_text for languages and fix
get_model_field_meta
---
.../migrations/0021_alter_help_text.py | 63 ++++
rdmo/accounts/models.py | 20 +-
rdmo/core/utils.py | 2 +-
.../0035_alter_help_text_and_set_default.py | 88 +++++
..._lang1_alter_option_help_lang2_and_more.py | 112 ------
rdmo/options/models.py | 30 +-
.../0093_alter_help_text_and_set_default.py | 353 ++++++++++++++++++
.../0093_alter_question_comment_and_more.py | 194 ----------
rdmo/questions/models/catalog.py | 20 +-
rdmo/questions/models/page.py | 30 +-
rdmo/questions/models/question.py | 40 +-
rdmo/questions/models/questionset.py | 30 +-
rdmo/questions/models/section.py | 10 +-
rdmo/tasks/migrations/0037_alter_help_text.py | 63 ++++
rdmo/tasks/models.py | 20 +-
rdmo/views/migrations/0030_alter_help_text.py | 63 ++++
rdmo/views/models.py | 20 +-
17 files changed, 741 insertions(+), 417 deletions(-)
create mode 100644 rdmo/accounts/migrations/0021_alter_help_text.py
create mode 100644 rdmo/options/migrations/0035_alter_help_text_and_set_default.py
delete mode 100644 rdmo/options/migrations/0035_alter_option_help_lang1_alter_option_help_lang2_and_more.py
create mode 100644 rdmo/questions/migrations/0093_alter_help_text_and_set_default.py
delete mode 100644 rdmo/questions/migrations/0093_alter_question_comment_and_more.py
create mode 100644 rdmo/tasks/migrations/0037_alter_help_text.py
create mode 100644 rdmo/views/migrations/0030_alter_help_text.py
diff --git a/rdmo/accounts/migrations/0021_alter_help_text.py b/rdmo/accounts/migrations/0021_alter_help_text.py
new file mode 100644
index 0000000000..9431d8fdcb
--- /dev/null
+++ b/rdmo/accounts/migrations/0021_alter_help_text.py
@@ -0,0 +1,63 @@
+# Generated by Django 4.2.6 on 2023-12-04 11:00
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('accounts', '0020_add_role_editor_and_reviewer'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='additionalfield',
+ name='help_lang1',
+ field=models.TextField(blank=True, help_text='The help text to be displayed next to the input element (in the primary language).', verbose_name='Help (primary)'),
+ ),
+ migrations.AlterField(
+ model_name='additionalfield',
+ name='help_lang2',
+ field=models.TextField(blank=True, help_text='The help text to be displayed next to the input element (in the secondary language).', verbose_name='Help (secondary)'),
+ ),
+ migrations.AlterField(
+ model_name='additionalfield',
+ name='help_lang3',
+ field=models.TextField(blank=True, help_text='The help text to be displayed next to the input element (in the tertiary language).', verbose_name='Help (tertiary)'),
+ ),
+ migrations.AlterField(
+ model_name='additionalfield',
+ name='help_lang4',
+ field=models.TextField(blank=True, help_text='The help text to be displayed next to the input element (in the quaternary language).', verbose_name='Help (quaternary)'),
+ ),
+ migrations.AlterField(
+ model_name='additionalfield',
+ name='help_lang5',
+ field=models.TextField(blank=True, help_text='The help text to be displayed next to the input element (in the quinary language).', verbose_name='Help (quinary)'),
+ ),
+ migrations.AlterField(
+ model_name='additionalfield',
+ name='text_lang1',
+ field=models.CharField(blank=True, help_text='The text for this additional field (in the primary language).', max_length=256, verbose_name='Text (primary)'),
+ ),
+ migrations.AlterField(
+ model_name='additionalfield',
+ name='text_lang2',
+ field=models.CharField(blank=True, help_text='The text for this additional field (in the secondary language).', max_length=256, verbose_name='Text (secondary)'),
+ ),
+ migrations.AlterField(
+ model_name='additionalfield',
+ name='text_lang3',
+ field=models.CharField(blank=True, help_text='The text for this additional field (in the tertiary language).', max_length=256, verbose_name='Text (tertiary)'),
+ ),
+ migrations.AlterField(
+ model_name='additionalfield',
+ name='text_lang4',
+ field=models.CharField(blank=True, help_text='The text for this additional field (in the quaternary language).', max_length=256, verbose_name='Text (quaternary)'),
+ ),
+ migrations.AlterField(
+ model_name='additionalfield',
+ name='text_lang5',
+ field=models.CharField(blank=True, help_text='The text for this additional field (in the quinary language).', max_length=256, verbose_name='Text (quinary)'),
+ ),
+ ]
diff --git a/rdmo/accounts/models.py b/rdmo/accounts/models.py
index 226b81f6af..d9e960f2d5 100644
--- a/rdmo/accounts/models.py
+++ b/rdmo/accounts/models.py
@@ -21,52 +21,52 @@ class AdditionalField(models.Model, TranslationMixin):
text_lang1 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Text (primary)'),
- help_text=_('The text for this additional field in the primary language.')
+ help_text=_('The text for this additional field (in the primary language).')
)
text_lang2 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Text (secondary)'),
- help_text=_('The text for this additional field in the secondary language.')
+ help_text=_('The text for this additional field (in the secondary language).')
)
text_lang3 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Text (tertiary)'),
- help_text=_('The text for this additional field in the tertiary language.')
+ help_text=_('The text for this additional field (in the tertiary language).')
)
text_lang4 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Text (quaternary)'),
- help_text=_('The text for this additional field in the quaternary language.')
+ help_text=_('The text for this additional field (in the quaternary language).')
)
text_lang5 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Text (quinary)'),
- help_text=_('The text for this additional field in the quinary language.')
+ help_text=_('The text for this additional field (in the quinary language).')
)
help_lang1 = models.TextField(
blank=True,
verbose_name=_('Help (primary)'),
- help_text=_('The help text to be displayed next to the input element in the primary language.')
+ help_text=_('The help text to be displayed next to the input element (in the primary language).')
)
help_lang2 = models.TextField(
blank=True,
verbose_name=_('Help (secondary)'),
- help_text=_('The help text to be displayed next to the input element in the secondary language.')
+ help_text=_('The help text to be displayed next to the input element (in the secondary language).')
)
help_lang3 = models.TextField(
blank=True,
verbose_name=_('Help (tertiary)'),
- help_text=_('The help text to be displayed next to the input element in the tertiary language.')
+ help_text=_('The help text to be displayed next to the input element (in the tertiary language).')
)
help_lang4 = models.TextField(
blank=True,
verbose_name=_('Help (quaternary)'),
- help_text=_('The help text to be displayed next to the input element in the quaternary language.')
+ help_text=_('The help text to be displayed next to the input element (in the quaternary language).')
)
help_lang5 = models.TextField(
blank=True,
verbose_name=_('Help (quinary)'),
- help_text=_('The help text to be displayed next to the input element in the quinary language.')
+ help_text=_('The help text to be displayed next to the input element (in the quinary language).')
)
required = models.BooleanField(
verbose_name=_('Required'),
diff --git a/rdmo/core/utils.py b/rdmo/core/utils.py
index c2c944028c..fa00d680b2 100644
--- a/rdmo/core/utils.py
+++ b/rdmo/core/utils.py
@@ -109,7 +109,7 @@ def get_model_field_meta(model):
meta[field_name]['verbose_name'] = re.sub(r'\(.*\)$', f'({lang})', str(field.verbose_name))
if hasattr(field, 'help_text'):
# remove the "in the primary language" part
- meta[field_name]['help_text'] = re.sub(r' in the .*$', r'.', str(field.help_text))
+ meta[field_name]['help_text'] = re.sub(r' \(.*\).', '.', str(field.help_text))
else:
meta[field.name] = {}
if hasattr(field, 'verbose_name'):
diff --git a/rdmo/options/migrations/0035_alter_help_text_and_set_default.py b/rdmo/options/migrations/0035_alter_help_text_and_set_default.py
new file mode 100644
index 0000000000..c4ca8943ee
--- /dev/null
+++ b/rdmo/options/migrations/0035_alter_help_text_and_set_default.py
@@ -0,0 +1,88 @@
+# Generated by Django 4.2.6 on 2023-12-04 11:00
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('options', '0034_option_view_text'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='option',
+ name='help_lang1',
+ field=models.TextField(blank=True, default='', help_text='The help text for this option (in the primary language).', verbose_name='Help (primary)'),
+ ),
+ migrations.AlterField(
+ model_name='option',
+ name='help_lang2',
+ field=models.TextField(blank=True, default='', help_text='The help text for this option (in the secondary language).', verbose_name='Help (secondary)'),
+ ),
+ migrations.AlterField(
+ model_name='option',
+ name='help_lang3',
+ field=models.TextField(blank=True, default='', help_text='The help text for this option (in the tertiary language).', verbose_name='Help (tertiary)'),
+ ),
+ migrations.AlterField(
+ model_name='option',
+ name='help_lang4',
+ field=models.TextField(blank=True, default='', help_text='The help text for this option (in the quaternary language).', verbose_name='Help (quaternary)'),
+ ),
+ migrations.AlterField(
+ model_name='option',
+ name='help_lang5',
+ field=models.TextField(blank=True, default='', help_text='The help text for this option (in the quinary language).', verbose_name='Help (quinary)'),
+ ),
+ migrations.AlterField(
+ model_name='option',
+ name='text_lang1',
+ field=models.CharField(blank=True, help_text='The text for this option (in the primary language).', max_length=256, verbose_name='Text (primary)'),
+ ),
+ migrations.AlterField(
+ model_name='option',
+ name='text_lang2',
+ field=models.CharField(blank=True, help_text='The text for this option (in the secondary language).', max_length=256, verbose_name='Text (secondary)'),
+ ),
+ migrations.AlterField(
+ model_name='option',
+ name='text_lang3',
+ field=models.CharField(blank=True, help_text='The text for this option (in the tertiary language).', max_length=256, verbose_name='Text (tertiary)'),
+ ),
+ migrations.AlterField(
+ model_name='option',
+ name='text_lang4',
+ field=models.CharField(blank=True, help_text='The text for this option (in the quaternary language).', max_length=256, verbose_name='Text (quaternary)'),
+ ),
+ migrations.AlterField(
+ model_name='option',
+ name='text_lang5',
+ field=models.CharField(blank=True, help_text='The text for this option (in the quinary language).', max_length=256, verbose_name='Text (quinary)'),
+ ),
+ migrations.AlterField(
+ model_name='option',
+ name='view_text_lang1',
+ field=models.TextField(blank=True, default='', help_text='The view text for this option (in the primary language).', verbose_name='View text (primary)'),
+ ),
+ migrations.AlterField(
+ model_name='option',
+ name='view_text_lang2',
+ field=models.TextField(blank=True, default='', help_text='The view text for this option (in the secondary language).', verbose_name='View text (secondary)'),
+ ),
+ migrations.AlterField(
+ model_name='option',
+ name='view_text_lang3',
+ field=models.TextField(blank=True, default='', help_text='The view text for this option (in the tertiary language).', verbose_name='View text (tertiary)'),
+ ),
+ migrations.AlterField(
+ model_name='option',
+ name='view_text_lang4',
+ field=models.TextField(blank=True, default='', help_text='The view text for this option (in the quaternary language).', verbose_name='View text (quaternary)'),
+ ),
+ migrations.AlterField(
+ model_name='option',
+ name='view_text_lang5',
+ field=models.TextField(blank=True, default='', help_text='The view text for this option (in the quinary language).', verbose_name='View text (quinary)'),
+ ),
+ ]
diff --git a/rdmo/options/migrations/0035_alter_option_help_lang1_alter_option_help_lang2_and_more.py b/rdmo/options/migrations/0035_alter_option_help_lang1_alter_option_help_lang2_and_more.py
deleted file mode 100644
index e42ef7fcad..0000000000
--- a/rdmo/options/migrations/0035_alter_option_help_lang1_alter_option_help_lang2_and_more.py
+++ /dev/null
@@ -1,112 +0,0 @@
-# Generated by Django 4.2.7 on 2023-11-28 06:07
-
-from django.db import migrations, models
-
-
-class Migration(migrations.Migration):
- dependencies = [
- ("options", "0034_option_view_text"),
- ]
-
- operations = [
- migrations.AlterField(
- model_name="option",
- name="help_lang1",
- field=models.TextField(
- blank=True,
- default="",
- help_text="The help text for this option in the primary language.",
- verbose_name="Help (primary)",
- ),
- ),
- migrations.AlterField(
- model_name="option",
- name="help_lang2",
- field=models.TextField(
- blank=True,
- default="",
- help_text="The help text for this option in the secondary language.",
- verbose_name="Help (secondary)",
- ),
- ),
- migrations.AlterField(
- model_name="option",
- name="help_lang3",
- field=models.TextField(
- blank=True,
- default="",
- help_text="The help text for this option in the tertiary language.",
- verbose_name="Help (tertiary)",
- ),
- ),
- migrations.AlterField(
- model_name="option",
- name="help_lang4",
- field=models.TextField(
- blank=True,
- default="",
- help_text="The help text for this option in the quaternary language.",
- verbose_name="Help (quaternary)",
- ),
- ),
- migrations.AlterField(
- model_name="option",
- name="help_lang5",
- field=models.TextField(
- blank=True,
- default="",
- help_text="The help text for this option in the quinary language.",
- verbose_name="Help (quinary)",
- ),
- ),
- migrations.AlterField(
- model_name="option",
- name="view_text_lang1",
- field=models.TextField(
- blank=True,
- default="",
- help_text="The view text for this option in the primary language.",
- verbose_name="View text (primary)",
- ),
- ),
- migrations.AlterField(
- model_name="option",
- name="view_text_lang2",
- field=models.TextField(
- blank=True,
- default="",
- help_text="The view text for this option in the secondary language.",
- verbose_name="View text (secondary)",
- ),
- ),
- migrations.AlterField(
- model_name="option",
- name="view_text_lang3",
- field=models.TextField(
- blank=True,
- default="",
- help_text="The view text for this option in the tertiary language.",
- verbose_name="View text (tertiary)",
- ),
- ),
- migrations.AlterField(
- model_name="option",
- name="view_text_lang4",
- field=models.TextField(
- blank=True,
- default="",
- help_text="The view text for this option in the quaternary language.",
- verbose_name="View text (quaternary)",
- ),
- ),
- migrations.AlterField(
- model_name="option",
- name="view_text_lang5",
- field=models.TextField(
- blank=True,
- default="",
- help_text="The view text for this option in the quinary language.",
- verbose_name="View text (quinary)",
- ),
- ),
- ]
diff --git a/rdmo/options/models.py b/rdmo/options/models.py
index 05bea6cf1a..d4a3719042 100644
--- a/rdmo/options/models.py
+++ b/rdmo/options/models.py
@@ -189,77 +189,77 @@ class Option(models.Model, TranslationMixin):
text_lang1 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Text (primary)'),
- help_text=_('The text for this option in the primary language.')
+ help_text=_('The text for this option (in the primary language).')
)
text_lang2 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Text (secondary)'),
- help_text=_('The text for this option in the secondary language.')
+ help_text=_('The text for this option (in the secondary language).')
)
text_lang3 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Text (tertiary)'),
- help_text=_('The text for this option in the tertiary language.')
+ help_text=_('The text for this option (in the tertiary language).')
)
text_lang4 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Text (quaternary)'),
- help_text=_('The text for this option in the quaternary language.')
+ help_text=_('The text for this option (in the quaternary language).')
)
text_lang5 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Text (quinary)'),
- help_text=_('The text for this option in the quinary language.')
+ help_text=_('The text for this option (in the quinary language).')
)
help_lang1 = models.TextField(
blank=True, default="",
verbose_name=_('Help (primary)'),
- help_text=_('The help text for this option in the primary language.')
+ help_text=_('The help text for this option (in the primary language).')
)
help_lang2 = models.TextField(
blank=True, default="",
verbose_name=_('Help (secondary)'),
- help_text=_('The help text for this option in the secondary language.')
+ help_text=_('The help text for this option (in the secondary language).')
)
help_lang3 = models.TextField(
blank=True, default="",
verbose_name=_('Help (tertiary)'),
- help_text=_('The help text for this option in the tertiary language.')
+ help_text=_('The help text for this option (in the tertiary language).')
)
help_lang4 = models.TextField(
blank=True, default="",
verbose_name=_('Help (quaternary)'),
- help_text=_('The help text for this option in the quaternary language.')
+ help_text=_('The help text for this option (in the quaternary language).')
)
help_lang5 = models.TextField(
blank=True, default="",
verbose_name=_('Help (quinary)'),
- help_text=_('The help text for this option in the quinary language.')
+ help_text=_('The help text for this option (in the quinary language).')
)
view_text_lang1 = models.TextField(
blank=True, default="",
verbose_name=_('View text (primary)'),
- help_text=_('The view text for this option in the primary language.')
+ help_text=_('The view text for this option (in the primary language).')
)
view_text_lang2 = models.TextField(
blank=True, default="",
verbose_name=_('View text (secondary)'),
- help_text=_('The view text for this option in the secondary language.')
+ help_text=_('The view text for this option (in the secondary language).')
)
view_text_lang3 = models.TextField(
blank=True, default="",
verbose_name=_('View text (tertiary)'),
- help_text=_('The view text for this option in the tertiary language.')
+ help_text=_('The view text for this option (in the tertiary language).')
)
view_text_lang4 = models.TextField(
blank=True, default="",
verbose_name=_('View text (quaternary)'),
- help_text=_('The view text for this option in the quaternary language.')
+ help_text=_('The view text for this option (in the quaternary language).')
)
view_text_lang5 = models.TextField(
blank=True, default="",
verbose_name=_('View text (quinary)'),
- help_text=_('The view text for this option in the quinary language.')
+ help_text=_('The view text for this option (in the quinary language).')
)
additional_input = models.CharField(
max_length=256, blank=True, default=False, choices=ADDITIONAL_INPUT_CHOICES,
diff --git a/rdmo/questions/migrations/0093_alter_help_text_and_set_default.py b/rdmo/questions/migrations/0093_alter_help_text_and_set_default.py
new file mode 100644
index 0000000000..f761b1a21d
--- /dev/null
+++ b/rdmo/questions/migrations/0093_alter_help_text_and_set_default.py
@@ -0,0 +1,353 @@
+# Generated by Django 4.2.6 on 2023-12-04 11:00
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('questions', '0092_remove_verbose_name_plural'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='catalog',
+ name='help_lang1',
+ field=models.TextField(blank=True, help_text='The help text for this catalog (in the primary language).', verbose_name='Help (primary)'),
+ ),
+ migrations.AlterField(
+ model_name='catalog',
+ name='help_lang2',
+ field=models.TextField(blank=True, help_text='The help text for this catalog (in the secondary language).', verbose_name='Help (secondary)'),
+ ),
+ migrations.AlterField(
+ model_name='catalog',
+ name='help_lang3',
+ field=models.TextField(blank=True, help_text='The help text for this catalog (in the tertiary language).', verbose_name='Help (tertiary)'),
+ ),
+ migrations.AlterField(
+ model_name='catalog',
+ name='help_lang4',
+ field=models.TextField(blank=True, help_text='The help text for this catalog (in the quaternary language).', verbose_name='Help (quaternary)'),
+ ),
+ migrations.AlterField(
+ model_name='catalog',
+ name='help_lang5',
+ field=models.TextField(blank=True, help_text='The help text for this catalog (in the quinary language).', verbose_name='Help (quinary)'),
+ ),
+ migrations.AlterField(
+ model_name='catalog',
+ name='title_lang1',
+ field=models.CharField(blank=True, help_text='The title for this catalog (in the primary language).', max_length=256, verbose_name='Title (primary)'),
+ ),
+ migrations.AlterField(
+ model_name='catalog',
+ name='title_lang2',
+ field=models.CharField(blank=True, help_text='The title for this catalog (in the secondary language).', max_length=256, verbose_name='Title (secondary)'),
+ ),
+ migrations.AlterField(
+ model_name='catalog',
+ name='title_lang3',
+ field=models.CharField(blank=True, help_text='The title for this catalog (in the tertiary language).', max_length=256, verbose_name='Title (tertiary)'),
+ ),
+ migrations.AlterField(
+ model_name='catalog',
+ name='title_lang4',
+ field=models.CharField(blank=True, help_text='The title for this catalog (in the quaternary language).', max_length=256, verbose_name='Title (quaternary)'),
+ ),
+ migrations.AlterField(
+ model_name='catalog',
+ name='title_lang5',
+ field=models.CharField(blank=True, help_text='The title for this catalog (in the quinary language).', max_length=256, verbose_name='Title (quinary)'),
+ ),
+ migrations.AlterField(
+ model_name='page',
+ name='help_lang1',
+ field=models.TextField(blank=True, help_text='The help text for this page (in the primary language).', verbose_name='Help (primary)'),
+ ),
+ migrations.AlterField(
+ model_name='page',
+ name='help_lang2',
+ field=models.TextField(blank=True, help_text='The help text for this page (in the secondary language).', verbose_name='Help (secondary)'),
+ ),
+ migrations.AlterField(
+ model_name='page',
+ name='help_lang3',
+ field=models.TextField(blank=True, help_text='The help text for this page (in the tertiary language).', verbose_name='Help (tertiary)'),
+ ),
+ migrations.AlterField(
+ model_name='page',
+ name='help_lang4',
+ field=models.TextField(blank=True, help_text='The help text for this page (in the quaternary language).', verbose_name='Help (quaternary)'),
+ ),
+ migrations.AlterField(
+ model_name='page',
+ name='help_lang5',
+ field=models.TextField(blank=True, help_text='The help text for this page (in the quinary language).', verbose_name='Help (quinary)'),
+ ),
+ migrations.AlterField(
+ model_name='page',
+ name='title_lang1',
+ field=models.CharField(blank=True, help_text='The title for this page (in the primary language).', max_length=256, verbose_name='Title (primary)'),
+ ),
+ migrations.AlterField(
+ model_name='page',
+ name='title_lang2',
+ field=models.CharField(blank=True, help_text='The title for this page (in the secondary language).', max_length=256, verbose_name='Title (secondary)'),
+ ),
+ migrations.AlterField(
+ model_name='page',
+ name='title_lang3',
+ field=models.CharField(blank=True, help_text='The title for this page (in the tertiary language).', max_length=256, verbose_name='Title (tertiary)'),
+ ),
+ migrations.AlterField(
+ model_name='page',
+ name='title_lang4',
+ field=models.CharField(blank=True, help_text='The title for this page (in the quaternary language).', max_length=256, verbose_name='Title (quaternary)'),
+ ),
+ migrations.AlterField(
+ model_name='page',
+ name='title_lang5',
+ field=models.CharField(blank=True, help_text='The title for this page (in the quinary language).', max_length=256, verbose_name='Title (quinary)'),
+ ),
+ migrations.AlterField(
+ model_name='page',
+ name='verbose_name_lang1',
+ field=models.CharField(blank=True, help_text='The name displayed for this page (in the primary language).', max_length=256, verbose_name='Name (primary)'),
+ ),
+ migrations.AlterField(
+ model_name='page',
+ name='verbose_name_lang2',
+ field=models.CharField(blank=True, help_text='The name displayed for this page (in the secondary language).', max_length=256, verbose_name='Name (secondary)'),
+ ),
+ migrations.AlterField(
+ model_name='page',
+ name='verbose_name_lang3',
+ field=models.CharField(blank=True, help_text='The name displayed for this page (in the tertiary language).', max_length=256, verbose_name='Name (tertiary)'),
+ ),
+ migrations.AlterField(
+ model_name='page',
+ name='verbose_name_lang4',
+ field=models.CharField(blank=True, help_text='The name displayed for this page (in the quaternary language).', max_length=256, verbose_name='Name (quaternary)'),
+ ),
+ migrations.AlterField(
+ model_name='page',
+ name='verbose_name_lang5',
+ field=models.CharField(blank=True, help_text='The name displayed for this page (in the quinary language).', max_length=256, verbose_name='Name (quinary)'),
+ ),
+ migrations.AlterField(
+ model_name='question',
+ name='comment',
+ field=models.TextField(blank=True, default='', help_text='Additional internal information about this question.', verbose_name='Comment'),
+ ),
+ migrations.AlterField(
+ model_name='question',
+ name='default_text_lang1',
+ field=models.TextField(blank=True, default='', help_text='The default text value for this question (in the primary language).', verbose_name='Default text value (primary)'),
+ ),
+ migrations.AlterField(
+ model_name='question',
+ name='default_text_lang2',
+ field=models.TextField(blank=True, default='', help_text='The default text value for this question (in the secondary language).', verbose_name='Default text value (secondary)'),
+ ),
+ migrations.AlterField(
+ model_name='question',
+ name='default_text_lang3',
+ field=models.TextField(blank=True, default='', help_text='The default text value for this question (in the tertiary language).', verbose_name='Default text value (tertiary)'),
+ ),
+ migrations.AlterField(
+ model_name='question',
+ name='default_text_lang4',
+ field=models.TextField(blank=True, default='', help_text='The default text value for this question (in the quaternary language).', verbose_name='Default text value (quaternary)'),
+ ),
+ migrations.AlterField(
+ model_name='question',
+ name='default_text_lang5',
+ field=models.TextField(blank=True, default='', help_text='The default text value for this question (in the quinary language).', verbose_name='Default text value (quinary)'),
+ ),
+ migrations.AlterField(
+ model_name='question',
+ name='help_lang1',
+ field=models.TextField(blank=True, default='', help_text='The help text for this question (in the primary language).', verbose_name='Help (primary)'),
+ ),
+ migrations.AlterField(
+ model_name='question',
+ name='help_lang2',
+ field=models.TextField(blank=True, default='', help_text='The help text for this question (in the secondary language).', verbose_name='Help (secondary)'),
+ ),
+ migrations.AlterField(
+ model_name='question',
+ name='help_lang3',
+ field=models.TextField(blank=True, default='', help_text='The help text for this question (in the tertiary language).', verbose_name='Help (tertiary)'),
+ ),
+ migrations.AlterField(
+ model_name='question',
+ name='help_lang4',
+ field=models.TextField(blank=True, default='', help_text='The help text for this question (in the quaternary language).', verbose_name='Help (quaternary)'),
+ ),
+ migrations.AlterField(
+ model_name='question',
+ name='help_lang5',
+ field=models.TextField(blank=True, default='', help_text='The help text for this question (in the quinary language).', verbose_name='Help (quinary)'),
+ ),
+ migrations.AlterField(
+ model_name='question',
+ name='text_lang1',
+ field=models.TextField(blank=True, default='', help_text='The text for this question (in the primary language).', verbose_name='Text (primary)'),
+ ),
+ migrations.AlterField(
+ model_name='question',
+ name='text_lang2',
+ field=models.TextField(blank=True, default='', help_text='The text for this question (in the secondary language).', verbose_name='Text (secondary)'),
+ ),
+ migrations.AlterField(
+ model_name='question',
+ name='text_lang3',
+ field=models.TextField(blank=True, default='', help_text='The text for this question (in the tertiary language).', verbose_name='Text (tertiary)'),
+ ),
+ migrations.AlterField(
+ model_name='question',
+ name='text_lang4',
+ field=models.TextField(blank=True, default='', help_text='The text for this question (in the quaternary language).', verbose_name='Text (quaternary)'),
+ ),
+ migrations.AlterField(
+ model_name='question',
+ name='text_lang5',
+ field=models.TextField(blank=True, default='', help_text='The text for this question (in the quinary language).', verbose_name='Text (quinary)'),
+ ),
+ migrations.AlterField(
+ model_name='question',
+ name='uri',
+ field=models.URLField(blank=True, default='', help_text='The Uniform Resource Identifier of this question (auto-generated).', max_length=800, verbose_name='URI'),
+ ),
+ migrations.AlterField(
+ model_name='question',
+ name='uri_path',
+ field=models.CharField(blank=True, default='', help_text='The path for the URI of this question.', max_length=512, verbose_name='URI Path'),
+ ),
+ migrations.AlterField(
+ model_name='question',
+ name='verbose_name_lang1',
+ field=models.CharField(blank=True, help_text='The name displayed for this question (in the primary language).', max_length=256, verbose_name='Name (primary)'),
+ ),
+ migrations.AlterField(
+ model_name='question',
+ name='verbose_name_lang2',
+ field=models.CharField(blank=True, help_text='The name displayed for this question (in the secondary language).', max_length=256, verbose_name='Name (secondary)'),
+ ),
+ migrations.AlterField(
+ model_name='question',
+ name='verbose_name_lang3',
+ field=models.CharField(blank=True, help_text='The name displayed for this question (in the tertiary language).', max_length=256, verbose_name='Name (tertiary)'),
+ ),
+ migrations.AlterField(
+ model_name='question',
+ name='verbose_name_lang4',
+ field=models.CharField(blank=True, help_text='The name displayed for this question (in the quaternary language).', max_length=256, verbose_name='Name (quaternary)'),
+ ),
+ migrations.AlterField(
+ model_name='question',
+ name='verbose_name_lang5',
+ field=models.CharField(blank=True, help_text='The name displayed for this question (in the quinary language).', max_length=256, verbose_name='Name (quinary)'),
+ ),
+ migrations.AlterField(
+ model_name='questionset',
+ name='help_lang1',
+ field=models.TextField(blank=True, help_text='The help text for this question set (in the primary language).', verbose_name='Help (primary)'),
+ ),
+ migrations.AlterField(
+ model_name='questionset',
+ name='help_lang2',
+ field=models.TextField(blank=True, help_text='The help text for this question set (in the secondary language).', verbose_name='Help (secondary)'),
+ ),
+ migrations.AlterField(
+ model_name='questionset',
+ name='help_lang3',
+ field=models.TextField(blank=True, help_text='The help text for this question set (in the tertiary language).', verbose_name='Help (tertiary)'),
+ ),
+ migrations.AlterField(
+ model_name='questionset',
+ name='help_lang4',
+ field=models.TextField(blank=True, help_text='The help text for this question set (in the quaternary language).', verbose_name='Help (quaternary)'),
+ ),
+ migrations.AlterField(
+ model_name='questionset',
+ name='help_lang5',
+ field=models.TextField(blank=True, help_text='The help text for this question set (in the quinary language).', verbose_name='Help (quinary)'),
+ ),
+ migrations.AlterField(
+ model_name='questionset',
+ name='title_lang1',
+ field=models.CharField(blank=True, help_text='The title for this question set (in the primary language).', max_length=256, verbose_name='Title (primary)'),
+ ),
+ migrations.AlterField(
+ model_name='questionset',
+ name='title_lang2',
+ field=models.CharField(blank=True, help_text='The title for this question set (in the secondary language).', max_length=256, verbose_name='Title (secondary)'),
+ ),
+ migrations.AlterField(
+ model_name='questionset',
+ name='title_lang3',
+ field=models.CharField(blank=True, help_text='The title for this question set (in the tertiary language).', max_length=256, verbose_name='Title (tertiary)'),
+ ),
+ migrations.AlterField(
+ model_name='questionset',
+ name='title_lang4',
+ field=models.CharField(blank=True, help_text='The title for this question set (in the quaternary language).', max_length=256, verbose_name='Title (quaternary)'),
+ ),
+ migrations.AlterField(
+ model_name='questionset',
+ name='title_lang5',
+ field=models.CharField(blank=True, help_text='The title for this question set (in the quinary language).', max_length=256, verbose_name='Title (quinary)'),
+ ),
+ migrations.AlterField(
+ model_name='questionset',
+ name='verbose_name_lang1',
+ field=models.CharField(blank=True, help_text='The name displayed for this question set (in the primary language).', max_length=256, verbose_name='Name (primary)'),
+ ),
+ migrations.AlterField(
+ model_name='questionset',
+ name='verbose_name_lang2',
+ field=models.CharField(blank=True, help_text='The name displayed for this question set (in the secondary language).', max_length=256, verbose_name='Name (secondary)'),
+ ),
+ migrations.AlterField(
+ model_name='questionset',
+ name='verbose_name_lang3',
+ field=models.CharField(blank=True, help_text='The name displayed for this question set (in the tertiary language).', max_length=256, verbose_name='Name (tertiary)'),
+ ),
+ migrations.AlterField(
+ model_name='questionset',
+ name='verbose_name_lang4',
+ field=models.CharField(blank=True, help_text='The name displayed for this question set (in the quaternary language).', max_length=256, verbose_name='Name (quaternary)'),
+ ),
+ migrations.AlterField(
+ model_name='questionset',
+ name='verbose_name_lang5',
+ field=models.CharField(blank=True, help_text='The name displayed for this question set (in the quinary language).', max_length=256, verbose_name='Name (quinary)'),
+ ),
+ migrations.AlterField(
+ model_name='section',
+ name='title_lang1',
+ field=models.CharField(blank=True, help_text='The title for this section (in the primary language).', max_length=256, verbose_name='Title (primary)'),
+ ),
+ migrations.AlterField(
+ model_name='section',
+ name='title_lang2',
+ field=models.CharField(blank=True, help_text='The title for this section (in the secondary language).', max_length=256, verbose_name='Title (secondary)'),
+ ),
+ migrations.AlterField(
+ model_name='section',
+ name='title_lang3',
+ field=models.CharField(blank=True, help_text='The title for this section (in the tertiary language).', max_length=256, verbose_name='Title (tertiary)'),
+ ),
+ migrations.AlterField(
+ model_name='section',
+ name='title_lang4',
+ field=models.CharField(blank=True, help_text='The title for this section (in the quaternary language).', max_length=256, verbose_name='Title (quaternary)'),
+ ),
+ migrations.AlterField(
+ model_name='section',
+ name='title_lang5',
+ field=models.CharField(blank=True, help_text='The title for this section (in the quinary language).', max_length=256, verbose_name='Title (quinary)'),
+ ),
+ ]
diff --git a/rdmo/questions/migrations/0093_alter_question_comment_and_more.py b/rdmo/questions/migrations/0093_alter_question_comment_and_more.py
deleted file mode 100644
index b94e325771..0000000000
--- a/rdmo/questions/migrations/0093_alter_question_comment_and_more.py
+++ /dev/null
@@ -1,194 +0,0 @@
-# Generated by Django 4.2.7 on 2023-11-28 06:07
-
-from django.db import migrations, models
-
-
-class Migration(migrations.Migration):
- dependencies = [
- ("questions", "0092_remove_verbose_name_plural"),
- ]
-
- operations = [
- migrations.AlterField(
- model_name="question",
- name="comment",
- field=models.TextField(
- blank=True,
- default="",
- help_text="Additional internal information about this question.",
- verbose_name="Comment",
- ),
- ),
- migrations.AlterField(
- model_name="question",
- name="default_text_lang1",
- field=models.TextField(
- blank=True,
- default="",
- help_text="The default text value for this question in the primary language.",
- verbose_name="Default text value (primary)",
- ),
- ),
- migrations.AlterField(
- model_name="question",
- name="default_text_lang2",
- field=models.TextField(
- blank=True,
- default="",
- help_text="The default text value for this question in the secondary language.",
- verbose_name="Default text value (secondary)",
- ),
- ),
- migrations.AlterField(
- model_name="question",
- name="default_text_lang3",
- field=models.TextField(
- blank=True,
- default="",
- help_text="The default text value for this question in the tertiary language.",
- verbose_name="Default text value (tertiary)",
- ),
- ),
- migrations.AlterField(
- model_name="question",
- name="default_text_lang4",
- field=models.TextField(
- blank=True,
- default="",
- help_text="The default text value for this question in the quaternary language.",
- verbose_name="Default text value (quaternary)",
- ),
- ),
- migrations.AlterField(
- model_name="question",
- name="default_text_lang5",
- field=models.TextField(
- blank=True,
- default="",
- help_text="The default text value for this question in the quinary language.",
- verbose_name="Default text value (quinary)",
- ),
- ),
- migrations.AlterField(
- model_name="question",
- name="help_lang1",
- field=models.TextField(
- blank=True,
- default="",
- help_text="The help text for this question in the primary language.",
- verbose_name="Help (primary)",
- ),
- ),
- migrations.AlterField(
- model_name="question",
- name="help_lang2",
- field=models.TextField(
- blank=True,
- default="",
- help_text="The help text for this question in the secondary language.",
- verbose_name="Help (secondary)",
- ),
- ),
- migrations.AlterField(
- model_name="question",
- name="help_lang3",
- field=models.TextField(
- blank=True,
- default="",
- help_text="The help text for this question in the tertiary language.",
- verbose_name="Help (tertiary)",
- ),
- ),
- migrations.AlterField(
- model_name="question",
- name="help_lang4",
- field=models.TextField(
- blank=True,
- default="",
- help_text="The help text for this question in the quaternary language.",
- verbose_name="Help (quaternary)",
- ),
- ),
- migrations.AlterField(
- model_name="question",
- name="help_lang5",
- field=models.TextField(
- blank=True,
- default="",
- help_text="The help text for this question in the quinary language.",
- verbose_name="Help (quinary)",
- ),
- ),
- migrations.AlterField(
- model_name="question",
- name="text_lang1",
- field=models.TextField(
- blank=True,
- default="",
- help_text="The text for this question in the primary language.",
- verbose_name="Text (primary)",
- ),
- ),
- migrations.AlterField(
- model_name="question",
- name="text_lang2",
- field=models.TextField(
- blank=True,
- default="",
- help_text="The text for this question in the secondary language.",
- verbose_name="Text (secondary)",
- ),
- ),
- migrations.AlterField(
- model_name="question",
- name="text_lang3",
- field=models.TextField(
- blank=True,
- default="",
- help_text="The text for this question in the tertiary language.",
- verbose_name="Text (tertiary)",
- ),
- ),
- migrations.AlterField(
- model_name="question",
- name="text_lang4",
- field=models.TextField(
- blank=True,
- default="",
- help_text="The text for this question in the quaternary language.",
- verbose_name="Text (quaternary)",
- ),
- ),
- migrations.AlterField(
- model_name="question",
- name="text_lang5",
- field=models.TextField(
- blank=True,
- default="",
- help_text="The text for this question in the quinary language.",
- verbose_name="Text (quinary)",
- ),
- ),
- migrations.AlterField(
- model_name="question",
- name="uri",
- field=models.URLField(
- blank=True,
- default="",
- help_text="The Uniform Resource Identifier of this question (auto-generated).",
- max_length=800,
- verbose_name="URI",
- ),
- ),
- migrations.AlterField(
- model_name="question",
- name="uri_path",
- field=models.CharField(
- blank=True,
- default="",
- help_text="The path for the URI of this question.",
- max_length=512,
- verbose_name="URI Path",
- ),
- ),
- ]
diff --git a/rdmo/questions/models/catalog.py b/rdmo/questions/models/catalog.py
index b61ecdd54f..8eec46f90f 100644
--- a/rdmo/questions/models/catalog.py
+++ b/rdmo/questions/models/catalog.py
@@ -84,52 +84,52 @@ class Catalog(Model, TranslationMixin):
title_lang1 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Title (primary)'),
- help_text=_('The title for this catalog in the primary language.')
+ help_text=_('The title for this catalog (in the primary language).')
)
title_lang2 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Title (secondary)'),
- help_text=_('The title for this catalog in the secondary language.')
+ help_text=_('The title for this catalog (in the secondary language).')
)
title_lang3 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Title (tertiary)'),
- help_text=_('The title for this catalog in the tertiary language.')
+ help_text=_('The title for this catalog (in the tertiary language).')
)
title_lang4 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Title (quaternary)'),
- help_text=_('The title for this catalog in the quaternary language.')
+ help_text=_('The title for this catalog (in the quaternary language).')
)
title_lang5 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Title (quinary)'),
- help_text=_('The title for this catalog in the quinary language.')
+ help_text=_('The title for this catalog (in the quinary language).')
)
help_lang1 = models.TextField(
blank=True,
verbose_name=_('Help (primary)'),
- help_text=_('The help text for this catalog in the primary language.')
+ help_text=_('The help text for this catalog (in the primary language).')
)
help_lang2 = models.TextField(
blank=True,
verbose_name=_('Help (secondary)'),
- help_text=_('The help text for this catalog in the secondary language.')
+ help_text=_('The help text for this catalog (in the secondary language).')
)
help_lang3 = models.TextField(
blank=True,
verbose_name=_('Help (tertiary)'),
- help_text=_('The help text for this catalog in the tertiary language.')
+ help_text=_('The help text for this catalog (in the tertiary language).')
)
help_lang4 = models.TextField(
blank=True,
verbose_name=_('Help (quaternary)'),
- help_text=_('The help text for this catalog in the quaternary language.')
+ help_text=_('The help text for this catalog (in the quaternary language).')
)
help_lang5 = models.TextField(
blank=True,
verbose_name=_('Help (quinary)'),
- help_text=_('The help text for this catalog in the quinary language.')
+ help_text=_('The help text for this catalog (in the quinary language).')
)
available = models.BooleanField(
default=True,
diff --git a/rdmo/questions/models/page.py b/rdmo/questions/models/page.py
index 702962ef92..ad5c8db740 100644
--- a/rdmo/questions/models/page.py
+++ b/rdmo/questions/models/page.py
@@ -84,77 +84,77 @@ class Page(Model, TranslationMixin):
title_lang1 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Title (primary)'),
- help_text=_('The title for this page in the primary language.')
+ help_text=_('The title for this page (in the primary language).')
)
title_lang2 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Title (secondary)'),
- help_text=_('The title for this page in the secondary language.')
+ help_text=_('The title for this page (in the secondary language).')
)
title_lang3 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Title (tertiary)'),
- help_text=_('The title for this page in the tertiary language.')
+ help_text=_('The title for this page (in the tertiary language).')
)
title_lang4 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Title (quaternary)'),
- help_text=_('The title for this page in the quaternary language.')
+ help_text=_('The title for this page (in the quaternary language).')
)
title_lang5 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Title (quinary)'),
- help_text=_('The title for this page in the quinary language.')
+ help_text=_('The title for this page (in the quinary language).')
)
help_lang1 = models.TextField(
blank=True,
verbose_name=_('Help (primary)'),
- help_text=_('The help text for this page in the primary language.')
+ help_text=_('The help text for this page (in the primary language).')
)
help_lang2 = models.TextField(
blank=True,
verbose_name=_('Help (secondary)'),
- help_text=_('The help text for this page in the secondary language.')
+ help_text=_('The help text for this page (in the secondary language).')
)
help_lang3 = models.TextField(
blank=True,
verbose_name=_('Help (tertiary)'),
- help_text=_('The help text for this page in the tertiary language.')
+ help_text=_('The help text for this page (in the tertiary language).')
)
help_lang4 = models.TextField(
blank=True,
verbose_name=_('Help (quaternary)'),
- help_text=_('The help text for this page in the quaternary language.')
+ help_text=_('The help text for this page (in the quaternary language).')
)
help_lang5 = models.TextField(
blank=True,
verbose_name=_('Help (quinary)'),
- help_text=_('The help text for this page in the quinary language.')
+ help_text=_('The help text for this page (in the quinary language).')
)
verbose_name_lang1 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Name (primary)'),
- help_text=_('The name displayed for this page in the primary language.')
+ help_text=_('The name displayed for this page (in the primary language).')
)
verbose_name_lang2 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Name (secondary)'),
- help_text=_('The name displayed for this page in the secondary language.')
+ help_text=_('The name displayed for this page (in the secondary language).')
)
verbose_name_lang3 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Name (tertiary)'),
- help_text=_('The name displayed for this page in the tertiary language.')
+ help_text=_('The name displayed for this page (in the tertiary language).')
)
verbose_name_lang4 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Name (quaternary)'),
- help_text=_('The name displayed for this page in the quaternary language.')
+ help_text=_('The name displayed for this page (in the quaternary language).')
)
verbose_name_lang5 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Name (quinary)'),
- help_text=_('The name displayed for this page in the quinary language.')
+ help_text=_('The name displayed for this page (in the quinary language).')
)
conditions = models.ManyToManyField(
Condition, blank=True, related_name='pages',
diff --git a/rdmo/questions/models/question.py b/rdmo/questions/models/question.py
index bb9a1c92e3..6b184ee2e2 100644
--- a/rdmo/questions/models/question.py
+++ b/rdmo/questions/models/question.py
@@ -69,77 +69,77 @@ class Question(Model, TranslationMixin):
help_lang1 = models.TextField(
blank=True, default="",
verbose_name=_('Help (primary)'),
- help_text=_('The help text for this question in the primary language.')
+ help_text=_('The help text for this question (in the primary language).')
)
help_lang2 = models.TextField(
blank=True, default="",
verbose_name=_('Help (secondary)'),
- help_text=_('The help text for this question in the secondary language.')
+ help_text=_('The help text for this question (in the secondary language).')
)
help_lang3 = models.TextField(
blank=True, default="",
verbose_name=_('Help (tertiary)'),
- help_text=_('The help text for this question in the tertiary language.')
+ help_text=_('The help text for this question (in the tertiary language).')
)
help_lang4 = models.TextField(
blank=True, default="",
verbose_name=_('Help (quaternary)'),
- help_text=_('The help text for this question in the quaternary language.')
+ help_text=_('The help text for this question (in the quaternary language).')
)
help_lang5 = models.TextField(
blank=True, default="",
verbose_name=_('Help (quinary)'),
- help_text=_('The help text for this question in the quinary language.')
+ help_text=_('The help text for this question (in the quinary language).')
)
text_lang1 = models.TextField(
blank=True, default="",
verbose_name=_('Text (primary)'),
- help_text=_('The text for this question in the primary language.')
+ help_text=_('The text for this question (in the primary language).')
)
text_lang2 = models.TextField(
blank=True, default="",
verbose_name=_('Text (secondary)'),
- help_text=_('The text for this question in the secondary language.')
+ help_text=_('The text for this question (in the secondary language).')
)
text_lang3 = models.TextField(
blank=True, default="",
verbose_name=_('Text (tertiary)'),
- help_text=_('The text for this question in the tertiary language.')
+ help_text=_('The text for this question (in the tertiary language).')
)
text_lang4 = models.TextField(
blank=True, default="",
verbose_name=_('Text (quaternary)'),
- help_text=_('The text for this question in the quaternary language.')
+ help_text=_('The text for this question (in the quaternary language).')
)
text_lang5 = models.TextField(
blank=True, default="",
verbose_name=_('Text (quinary)'),
- help_text=_('The text for this question in the quinary language.')
+ help_text=_('The text for this question (in the quinary language).')
)
default_text_lang1 = models.TextField(
blank=True, default="",
verbose_name=_('Default text value (primary)'),
- help_text=_('The default text value for this question in the primary language.')
+ help_text=_('The default text value for this question (in the primary language).')
)
default_text_lang2 = models.TextField(
blank=True, default="",
verbose_name=_('Default text value (secondary)'),
- help_text=_('The default text value for this question in the secondary language.')
+ help_text=_('The default text value for this question (in the secondary language).')
)
default_text_lang3 = models.TextField(
blank=True, default="",
verbose_name=_('Default text value (tertiary)'),
- help_text=_('The default text value for this question in the tertiary language.')
+ help_text=_('The default text value for this question (in the tertiary language).')
)
default_text_lang4 = models.TextField(
blank=True, default="",
verbose_name=_('Default text value (quaternary)'),
- help_text=_('The default text value for this question in the quaternary language.')
+ help_text=_('The default text value for this question (in the quaternary language).')
)
default_text_lang5 = models.TextField(
default="", blank=True,
verbose_name=_('Default text value (quinary)'),
- help_text=_('The default text value for this question in the quinary language.')
+ help_text=_('The default text value for this question (in the quinary language).')
)
default_option = models.ForeignKey(
Option, blank=True, null=True, on_delete=models.SET_NULL,
@@ -154,27 +154,27 @@ class Question(Model, TranslationMixin):
verbose_name_lang1 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Name (primary)'),
- help_text=_('The name displayed for this question in the primary language.')
+ help_text=_('The name displayed for this question (in the primary language).')
)
verbose_name_lang2 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Name (secondary)'),
- help_text=_('The name displayed for this question in the secondary language.')
+ help_text=_('The name displayed for this question (in the secondary language).')
)
verbose_name_lang3 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Name (tertiary)'),
- help_text=_('The name displayed for this question in the tertiary language.')
+ help_text=_('The name displayed for this question (in the tertiary language).')
)
verbose_name_lang4 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Name (quaternary)'),
- help_text=_('The name displayed for this question in the quaternary language.')
+ help_text=_('The name displayed for this question (in the quaternary language).')
)
verbose_name_lang5 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Name (quinary)'),
- help_text=_('The name displayed for this question in the quinary language.')
+ help_text=_('The name displayed for this question (in the quinary language).')
)
widget_type = models.CharField(
max_length=16,
diff --git a/rdmo/questions/models/questionset.py b/rdmo/questions/models/questionset.py
index 1c1231c1c5..4e8fc53f23 100644
--- a/rdmo/questions/models/questionset.py
+++ b/rdmo/questions/models/questionset.py
@@ -79,77 +79,77 @@ class QuestionSet(Model, TranslationMixin):
title_lang1 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Title (primary)'),
- help_text=_('The title for this question set in the primary language.')
+ help_text=_('The title for this question set (in the primary language).')
)
title_lang2 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Title (secondary)'),
- help_text=_('The title for this question set in the secondary language.')
+ help_text=_('The title for this question set (in the secondary language).')
)
title_lang3 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Title (tertiary)'),
- help_text=_('The title for this question set in the tertiary language.')
+ help_text=_('The title for this question set (in the tertiary language).')
)
title_lang4 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Title (quaternary)'),
- help_text=_('The title for this question set in the quaternary language.')
+ help_text=_('The title for this question set (in the quaternary language).')
)
title_lang5 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Title (quinary)'),
- help_text=_('The title for this question set in the quinary language.')
+ help_text=_('The title for this question set (in the quinary language).')
)
help_lang1 = models.TextField(
blank=True,
verbose_name=_('Help (primary)'),
- help_text=_('The help text for this question set in the primary language.')
+ help_text=_('The help text for this question set (in the primary language).')
)
help_lang2 = models.TextField(
blank=True,
verbose_name=_('Help (secondary)'),
- help_text=_('The help text for this question set in the secondary language.')
+ help_text=_('The help text for this question set (in the secondary language).')
)
help_lang3 = models.TextField(
blank=True,
verbose_name=_('Help (tertiary)'),
- help_text=_('The help text for this question set in the tertiary language.')
+ help_text=_('The help text for this question set (in the tertiary language).')
)
help_lang4 = models.TextField(
blank=True,
verbose_name=_('Help (quaternary)'),
- help_text=_('The help text for this question set in the quaternary language.')
+ help_text=_('The help text for this question set (in the quaternary language).')
)
help_lang5 = models.TextField(
blank=True,
verbose_name=_('Help (quinary)'),
- help_text=_('The help text for this question set in the quinary language.')
+ help_text=_('The help text for this question set (in the quinary language).')
)
verbose_name_lang1 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Name (primary)'),
- help_text=_('The name displayed for this question set in the primary language.')
+ help_text=_('The name displayed for this question set (in the primary language).')
)
verbose_name_lang2 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Name (secondary)'),
- help_text=_('The name displayed for this question set in the secondary language.')
+ help_text=_('The name displayed for this question set (in the secondary language).')
)
verbose_name_lang3 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Name (tertiary)'),
- help_text=_('The name displayed for this question set in the tertiary language.')
+ help_text=_('The name displayed for this question set (in the tertiary language).')
)
verbose_name_lang4 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Name (quaternary)'),
- help_text=_('The name displayed for this question set in the quaternary language.')
+ help_text=_('The name displayed for this question set (in the quaternary language).')
)
verbose_name_lang5 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Name (quinary)'),
- help_text=_('The name displayed for this question set in the quinary language.')
+ help_text=_('The name displayed for this question set (in the quinary language).')
)
conditions = models.ManyToManyField(
Condition, blank=True, related_name='questionsets',
diff --git a/rdmo/questions/models/section.py b/rdmo/questions/models/section.py
index bcf4f7dc79..7bec2bb00c 100644
--- a/rdmo/questions/models/section.py
+++ b/rdmo/questions/models/section.py
@@ -67,27 +67,27 @@ class Section(Model, TranslationMixin):
title_lang1 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Title (primary)'),
- help_text=_('The title for this section in the primary language.')
+ help_text=_('The title for this section (in the primary language).')
)
title_lang2 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Title (secondary)'),
- help_text=_('The title for this section in the secondary language.')
+ help_text=_('The title for this section (in the secondary language).')
)
title_lang3 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Title (tertiary)'),
- help_text=_('The title for this section in the tertiary language.')
+ help_text=_('The title for this section (in the tertiary language).')
)
title_lang4 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Title (quaternary)'),
- help_text=_('The title for this section in the quaternary language.')
+ help_text=_('The title for this section (in the quaternary language).')
)
title_lang5 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Title (quinary)'),
- help_text=_('The title for this section in the quinary language.')
+ help_text=_('The title for this section (in the quinary language).')
)
class Meta:
diff --git a/rdmo/tasks/migrations/0037_alter_help_text.py b/rdmo/tasks/migrations/0037_alter_help_text.py
new file mode 100644
index 0000000000..7ff0452b24
--- /dev/null
+++ b/rdmo/tasks/migrations/0037_alter_help_text.py
@@ -0,0 +1,63 @@
+# Generated by Django 4.2.6 on 2023-12-04 11:00
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('tasks', '0036_task_order'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='task',
+ name='text_lang1',
+ field=models.TextField(blank=True, help_text='The text for this task (in the primary language).', verbose_name='Text (primary)'),
+ ),
+ migrations.AlterField(
+ model_name='task',
+ name='text_lang2',
+ field=models.TextField(blank=True, help_text='The text for this task (in the secondary language).', verbose_name='Text (secondary)'),
+ ),
+ migrations.AlterField(
+ model_name='task',
+ name='text_lang3',
+ field=models.TextField(blank=True, help_text='The text for this task (in the tertiary language).', verbose_name='Text (tertiary)'),
+ ),
+ migrations.AlterField(
+ model_name='task',
+ name='text_lang4',
+ field=models.TextField(blank=True, help_text='The text for this task (in the quaternary language).', verbose_name='Text (quaternary)'),
+ ),
+ migrations.AlterField(
+ model_name='task',
+ name='text_lang5',
+ field=models.TextField(blank=True, help_text='The text for this task (in the quinary language).', verbose_name='Text (quinary)'),
+ ),
+ migrations.AlterField(
+ model_name='task',
+ name='title_lang1',
+ field=models.CharField(blank=True, help_text='The title for this task (in the primary language).', max_length=256, verbose_name='Title (primary)'),
+ ),
+ migrations.AlterField(
+ model_name='task',
+ name='title_lang2',
+ field=models.CharField(blank=True, help_text='The title for this task (in the secondary language).', max_length=256, verbose_name='Title (secondary)'),
+ ),
+ migrations.AlterField(
+ model_name='task',
+ name='title_lang3',
+ field=models.CharField(blank=True, help_text='The title for this task (in the tertiary language).', max_length=256, verbose_name='Title (tertiary)'),
+ ),
+ migrations.AlterField(
+ model_name='task',
+ name='title_lang4',
+ field=models.CharField(blank=True, help_text='The title for this task (in the quaternary language).', max_length=256, verbose_name='Title (quaternary)'),
+ ),
+ migrations.AlterField(
+ model_name='task',
+ name='title_lang5',
+ field=models.CharField(blank=True, help_text='The title for this task (in the quinary language).', max_length=256, verbose_name='Title (quinary)'),
+ ),
+ ]
diff --git a/rdmo/tasks/models.py b/rdmo/tasks/models.py
index 9732dc660c..3a5891feda 100644
--- a/rdmo/tasks/models.py
+++ b/rdmo/tasks/models.py
@@ -69,52 +69,52 @@ class Task(TranslationMixin, models.Model):
title_lang1 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Title (primary)'),
- help_text=_('The title for this task in the primary language.')
+ help_text=_('The title for this task (in the primary language).')
)
title_lang2 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Title (secondary)'),
- help_text=_('The title for this task in the secondary language.')
+ help_text=_('The title for this task (in the secondary language).')
)
title_lang3 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Title (tertiary)'),
- help_text=_('The title for this task in the tertiary language.')
+ help_text=_('The title for this task (in the tertiary language).')
)
title_lang4 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Title (quaternary)'),
- help_text=_('The title for this task in the quaternary language.')
+ help_text=_('The title for this task (in the quaternary language).')
)
title_lang5 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Title (quinary)'),
- help_text=_('The title for this task in the quinary language.')
+ help_text=_('The title for this task (in the quinary language).')
)
text_lang1 = models.TextField(
blank=True,
verbose_name=_('Text (primary)'),
- help_text=_('The text for this task in the primary language.')
+ help_text=_('The text for this task (in the primary language).')
)
text_lang2 = models.TextField(
blank=True,
verbose_name=_('Text (secondary)'),
- help_text=_('The text for this task in the secondary language.')
+ help_text=_('The text for this task (in the secondary language).')
)
text_lang3 = models.TextField(
blank=True,
verbose_name=_('Text (tertiary)'),
- help_text=_('The text for this task in the tertiary language.')
+ help_text=_('The text for this task (in the tertiary language).')
)
text_lang4 = models.TextField(
blank=True,
verbose_name=_('Text (quaternary)'),
- help_text=_('The text for this task in the quaternary language.')
+ help_text=_('The text for this task (in the quaternary language).')
)
text_lang5 = models.TextField(
blank=True,
verbose_name=_('Text (quinary)'),
- help_text=_('The text for this task in the quinary language.')
+ help_text=_('The text for this task (in the quinary language).')
)
start_attribute = models.ForeignKey(
Attribute, blank=True, null=True, on_delete=models.SET_NULL, related_name='tasks_as_start',
diff --git a/rdmo/views/migrations/0030_alter_help_text.py b/rdmo/views/migrations/0030_alter_help_text.py
new file mode 100644
index 0000000000..1ff820431e
--- /dev/null
+++ b/rdmo/views/migrations/0030_alter_help_text.py
@@ -0,0 +1,63 @@
+# Generated by Django 4.2.6 on 2023-12-04 11:00
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('views', '0029_view_order'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='view',
+ name='help_lang1',
+ field=models.TextField(blank=True, help_text='The help text for this view (in the primary language).', verbose_name='Help (primary)'),
+ ),
+ migrations.AlterField(
+ model_name='view',
+ name='help_lang2',
+ field=models.TextField(blank=True, help_text='The help text for this view (in the secondary language).', verbose_name='Help (secondary)'),
+ ),
+ migrations.AlterField(
+ model_name='view',
+ name='help_lang3',
+ field=models.TextField(blank=True, help_text='The help text for this view (in the tertiary language).', verbose_name='Help (tertiary)'),
+ ),
+ migrations.AlterField(
+ model_name='view',
+ name='help_lang4',
+ field=models.TextField(blank=True, help_text='The help text for this view (in the quaternary language).', verbose_name='Help (quaternary)'),
+ ),
+ migrations.AlterField(
+ model_name='view',
+ name='help_lang5',
+ field=models.TextField(blank=True, help_text='The help text for this view (in the quinary language).', verbose_name='Help (quinary)'),
+ ),
+ migrations.AlterField(
+ model_name='view',
+ name='title_lang1',
+ field=models.CharField(blank=True, help_text='The title for this view (in the primary language).', max_length=256, verbose_name='Title (primary)'),
+ ),
+ migrations.AlterField(
+ model_name='view',
+ name='title_lang2',
+ field=models.CharField(blank=True, help_text='The title for this view (in the secondary language).', max_length=256, verbose_name='Title (secondary)'),
+ ),
+ migrations.AlterField(
+ model_name='view',
+ name='title_lang3',
+ field=models.CharField(blank=True, help_text='The title for this view (in the tertiary language).', max_length=256, verbose_name='Title (tertiary)'),
+ ),
+ migrations.AlterField(
+ model_name='view',
+ name='title_lang4',
+ field=models.CharField(blank=True, help_text='The title for this view (in the quaternary language).', max_length=256, verbose_name='Title (quaternary)'),
+ ),
+ migrations.AlterField(
+ model_name='view',
+ name='title_lang5',
+ field=models.CharField(blank=True, help_text='The title for this view (in the quinary language).', max_length=256, verbose_name='Title (quinary)'),
+ ),
+ ]
diff --git a/rdmo/views/models.py b/rdmo/views/models.py
index 4ec610c9da..e7aec7e855 100644
--- a/rdmo/views/models.py
+++ b/rdmo/views/models.py
@@ -75,52 +75,52 @@ class View(models.Model, TranslationMixin):
title_lang1 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Title (primary)'),
- help_text=_('The title for this view in the primary language.')
+ help_text=_('The title for this view (in the primary language).')
)
title_lang2 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Title (secondary)'),
- help_text=_('The title for this view in the secondary language.')
+ help_text=_('The title for this view (in the secondary language).')
)
title_lang3 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Title (tertiary)'),
- help_text=_('The title for this view in the tertiary language.')
+ help_text=_('The title for this view (in the tertiary language).')
)
title_lang4 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Title (quaternary)'),
- help_text=_('The title for this view in the quaternary language.')
+ help_text=_('The title for this view (in the quaternary language).')
)
title_lang5 = models.CharField(
max_length=256, blank=True,
verbose_name=_('Title (quinary)'),
- help_text=_('The title for this view in the quinary language.')
+ help_text=_('The title for this view (in the quinary language).')
)
help_lang1 = models.TextField(
blank=True,
verbose_name=_('Help (primary)'),
- help_text=_('The help text for this view in the primary language.')
+ help_text=_('The help text for this view (in the primary language).')
)
help_lang2 = models.TextField(
blank=True,
verbose_name=_('Help (secondary)'),
- help_text=_('The help text for this view in the secondary language.')
+ help_text=_('The help text for this view (in the secondary language).')
)
help_lang3 = models.TextField(
blank=True,
verbose_name=_('Help (tertiary)'),
- help_text=_('The help text for this view in the tertiary language.')
+ help_text=_('The help text for this view (in the tertiary language).')
)
help_lang4 = models.TextField(
blank=True,
verbose_name=_('Help (quaternary)'),
- help_text=_('The help text for this view in the quaternary language.')
+ help_text=_('The help text for this view (in the quaternary language).')
)
help_lang5 = models.TextField(
blank=True,
verbose_name=_('Help (quinary)'),
- help_text=_('The help text for this view in the quinary language.')
+ help_text=_('The help text for this view (in the quinary language).')
)
available = models.BooleanField(
default=True,
From 72f137d191c1cfc19d60706b2f09451d29c746f9 Mon Sep 17 00:00:00 2001
From: Jochen Klar
Date: Mon, 4 Dec 2023 12:39:44 +0100
Subject: [PATCH 099/114] Update Option.additional_input choices and migration
---
rdmo/options/migrations/0032_alter_option_additional_input.py | 2 +-
rdmo/options/models.py | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/rdmo/options/migrations/0032_alter_option_additional_input.py b/rdmo/options/migrations/0032_alter_option_additional_input.py
index 5bebaf9327..26a1685c6a 100644
--- a/rdmo/options/migrations/0032_alter_option_additional_input.py
+++ b/rdmo/options/migrations/0032_alter_option_additional_input.py
@@ -21,7 +21,7 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name='option',
name='additional_input',
- field=models.CharField(blank=True, choices=[('', 'None'), ('text', 'Text'), ('textarea', 'Textarea')], default=False, help_text='Designates whether an additional input is possible for this option.', max_length=256, verbose_name='Additional input'),
+ field=models.CharField(blank=True, choices=[('', '---------'), ('text', 'Text'), ('textarea', 'Textarea')], default=False, help_text='Designates whether an additional input is possible for this option.', max_length=256, verbose_name='Additional input'),
),
migrations.RunPython(run_data_migration),
]
diff --git a/rdmo/options/models.py b/rdmo/options/models.py
index d4a3719042..286d0d0d8c 100644
--- a/rdmo/options/models.py
+++ b/rdmo/options/models.py
@@ -151,7 +151,7 @@ class Option(models.Model, TranslationMixin):
ADDITIONAL_INPUT_TEXT = 'text'
ADDITIONAL_INPUT_TEXTAREA = 'textarea'
ADDITIONAL_INPUT_CHOICES = (
- (ADDITIONAL_INPUT_NONE, _('None')),
+ (ADDITIONAL_INPUT_NONE, '---------'),
(ADDITIONAL_INPUT_TEXT, _('Text')),
(ADDITIONAL_INPUT_TEXTAREA, _('Textarea'))
)
From f3cd3a5e9c7d39965a8cec211410f9b0ec472599 Mon Sep 17 00:00:00 2001
From: Jochen Klar
Date: Mon, 4 Dec 2023 13:09:05 +0100
Subject: [PATCH 100/114] Update i18n
---
rdmo/locale/de/LC_MESSAGES/django.mo | Bin 90716 -> 90744 bytes
rdmo/locale/de/LC_MESSAGES/django.po | 1453 +++++++++++++-----------
rdmo/locale/de/LC_MESSAGES/djangojs.mo | Bin 21071 -> 21743 bytes
rdmo/locale/de/LC_MESSAGES/djangojs.po | 130 ++-
4 files changed, 898 insertions(+), 685 deletions(-)
diff --git a/rdmo/locale/de/LC_MESSAGES/django.mo b/rdmo/locale/de/LC_MESSAGES/django.mo
index f9caf3b61c608742740c2d431362e9856d9464d5..9b9a58502a90f6303f9496a3627bf1f9852eaa0a 100644
GIT binary patch
delta 23842
zcma)^2Yi*qwzuCGNFel*P(s`E1VTrU-U+>T1WehGK(d3`2~A)FB8ZBBTZn>+T`VXP
zA&80vEU2i61wpZ30mUwg1^u4?JF`RdocrB7zcV~*t(jRfv!=YWbI!dV9E>`DFe-Gi
zdYMfQX?khLsRzr{b(~Nc$2oh6td4U!*>P&ZGjO5|gB_JGI`Dp2h5nuA5aKZ$f#u;@C`Z4-Ca?mdYYyAO
zs&FEdquEe1T?VVc%`gdWhpP7u>o**RT_8I?6Ph
z0u|zQmiu88`ggD*JO^vTQllM*XgYNveK~$O1{Om8<3yn_7iS_&g?GbgFnTQUpMa2x
zP!;ZlW#J*%03Lyj;rDPEtiie{K4Uj@Am2F)Z9YHj*KIlc_4!wjf_<-&$=F^q#-pz800>hKj<2_Au}{}I$)_!3r!
z-$V6Rnptb0H6{@Mwg?R{B*KwUAzla-k!4Vh)Z*8enUvfprfdsKEeO8BT#3X$F*oE3JJ!RLF0Kn!y36fgQCx0oDE#RJ$Lc
z1{gibM6w#x#OgzJ+ytsTlw>P(fm)mXP>u&fIT{V+I34PK2tqBv2CMIc+AD{lj_X;d
zr6|uC)kLa6&A2J720K9c8(UN`_o
zO*I$NP&gQU32XyjfGYnPvf-VsZ28vkI@k_A0o&{Re`O2maZSm=P^b>WkmYj@L7nS{
z+(Lcfa47u-t3L@9u?tYUJ!%G>!RkK%j%?O|*G*y^WYee8cgMX(NGQpe4p2GYv115|le7^;gf5Wxpip!UE@TVV~9
zgD}+6+yb@vo`u>xZ`$$`P^aP(I1hde)!}8An>9~^((|F}ErGq^>dT40I(QL-_!`sz
z-m-iTYO{O*wRyg_`UR-tSuw>7s6LeA*6?fC1uAk)xb8H;QE)7r3$-WqL+z!~X(6+w
z!_pil8^b!t$#MRGo8Z`Vq61IEC9sX3BMKjaGhx&$#~B9wQ2JwV5Ue)a%y=?X#AaIN
zz{cnysJ(KRgjxuX!g}x}sF{5R(19Q`{75!CTv7z2+(b@Un38vY17!Ul8ARXrBU@k;1*4AtR!
zr~z-Y<-4K$J_XCeLr?>L8`81!fv2jlwJ(BI=-+u6K^+}~YIq82gr{LC_yep7e}%<74HelBpf=wZ)*i!#33)R^Xh}gQD19bWB<4a5EZ5qXLOEOu
z70T^UOR&@Gd!Pos-|{6}{wCDgzY8_Nzt$Tv{+{K
zRk5e#AXpK7l+`b@x*t};o(r|M%b}L)TB~n@^0N&dgxjI&XU{hgx)RE7Xazzn!VORk
z?uOc(k3czi25P1+L+|)N?Trth9GtTJ9x5^yp!~!wFztO%6HA1OM0Z#V4u$v+IjIQh
za4ytZE`eIZ6{do-25NvCZ27&gA^L+*?OuTz$O)*9Ph0*3)$T8-0oPb)CJ+xbvBt0}
z{X4A?G{YWHjs`=8bOO|fXF@p&z)tWgCI_32&}Sngz%7;sph9*QYUV#do%?cp0%dOjHLx~t2%N
z>!BiaD^&dlp(gSuydUmfLi{z8=^R#tXckn(AXFq4LT#QkR=))*q}!o7cmk^ZA(#Z;
zviuurLP^WaUYP*j*b3ebo5ELMJNR7)AsfMWmEjF=82X>E2^_qNA0;pg
zD%4NH{xIrlGq530`UW@qfkL;%rCLtuQF(F(56VV^B
zJO;a>m%4@%0((H|i=bv&2)n`W;H9wTT4PUx(zijCAA@RF<6848cmzZbIjgK;KU9Nr
zunTN+ooP4=_C&wa>K{Q3B>sBS(IluP2}3Q>TUL)0rpvM^v!TQ`WZM5_S#?~b|Xwce+IUMr(t7QW20H?&agH5G^pdZ
z7Pf`Yzy$htzC+Mj*S^urs0Y-H7FxXsDgr-2&Affs%qRf+p+92vAD|-8{w6c?Ak^M?
z91eo#t=@Z+*(+DUkT%O91dY7%X7gR{3LBzNgYoc6r~z(<1#lm12FIebfD54_a0hG(
z4?#uXTPVNPZZ==l9#HMlpvu?YO#CH0j6pMd!&a<#i`j%7p*o%pN5d6x9DEB-fz7v=
z^5rlQ{T`?Ry>9hipa$UEY6dV2YJj;g2^MT6{u=o~3~Km|tq^yssn`vw!`w~i4b$AF(ktt
z=xbmfco24jQFob5*$4JT4?(qi4yycb%WiiYJs)<#zSHtFY=Z8)#|(4;Y^3u)6QMQ*
zE1-_a7T5>A484KfYxHC&{Tir|zX*H5==;p?gMmRqtyU4;$_@o39&e
zfSv~%!Z5543!&;Afl2V}PS(E#LY>FV`RofdgAAyd-D&j?p(0Upm+4>(Y>j>$><^!S
ziSPoP1X~oEjzduXw?PfyCAb`Z4q0ty*5kx~8$#vX=2iL#RES=LYH$jUfbJge)#QwV
z?a*I^jp3iL8EjZ&HswIbmEc?ryTHbK%^w=3!cpjV!Se7&7y~ba5TX#uK4D%om0)%B
z`c`iTtD*OSRpD4`PlL74gHY|SgEinr=!5q{j+gTyEDcY?a_}tF0M1!^$k}I}TxFmf
z#=uzE2&!UdSPAxp8rUeP0j0t?mG-CL&9rCU6y$zZ+mhxCzSd
zT`*qX|A!FN!HZC9{wh?(Gf*@81!}FLo;D$_0yWbnR__Ki!;w%kPKR~jBB-U=1iyh>
zp*mi>pYX#Qp?ChTdB&X2CoO-3+#OEhv-}W+N8x4gis!tLIj=)GJ`VfBkD=DM@$+V;
z&EXLA)^H$P0DHryp-#&MI2`spKooV1Za~O_Pr=zR@u1`6z>P2&x-am2f2JUgH&W!xp|m{F5+zj-er}{;Ihc
zIzX-QOxOeF!us%0*c={)QSfJ|wf!BIh3;#{9s{+cRV-s+1@t;lo4J|QJH8e&Yug(`
zDGG)_H5?90!!a-hPOzK_)lnwAoEcvMb!y%^%+E9U73=_qyl%JzjzE7DYDq4@c$oZ#
z*_^2%giH+CuswVa%0bMVM(+XVqX%FH{2Z=V)ZAWX7)Bz!?RGkyUN?IIFzFrdst-AR5xQbn47Jve!_M#rcnM5+*ObqI-Oz8gJPNy@S7rx_
zgP``rGN?6P1vRl7VLIFa`@rhQ%;p{k7wP;TKo~_q&-Wc?Ia~)J-)Z
z%zP_`zz*ow!J#m;A7LCq%;)Cnoep(QueJJ9P#vFvLtwQpO!+jZ4%fks@C(=##(!z_
z@lg6TP@DL9sENG`d%-VZS^9UHpEeg)!
z?faoRe97u3pd$GhYzlvY8c5wU>W}qLLXd-wo`Hua)SCB$+MFX`GdKrE!3|IY+6>k1
zUf2olfO7n)wf_WT(EqTE`ihf;UIl8RCtwZwcRodsqhFvp_zU)fWxh5QlVKV3k(T42
z>P?2aN@qZArXZ{d*INA!%RNv7c?~voSpuj%@yA)>ubH*~#uz5Ssp#wABzPK5fPKC-
z50K4p2KrBMH5~h$*@W-IBJ@Vz^Vopz!z?)F2lL0P{ct{dr60{+TLl$?V?PpqT?ijx
z&`f@Z8c>y=%&E8pHbfr`eJ}%RrfXpfxDD2TFTuv}1k_spW$jgeHV==cFn~Q9YSVrI
z%fU;|5&sGZz0R2qhgwdDay$>l!Bwyl+yd{1+pT@{FDA6JpgNuhbz!Z9@_Pr=Qauc{
znRi(}4;6v8LI_&h_hET>5~{%&s6Fu=)Ta6sYQ*J!H62xhIz~-kGEBAlgHZL(SpEn#
zfj?kvSna$iZwa-zLmd&+@o1 Y0`yr~z(*n%Nyt9X|l&XfO1^r(qp<5^4#~
zTfOG*#@-HIf_*6L441=ZI{!rojKuj6Cc+<~HeJ0x%vIY14nQ9QwWc>ft=$%@-wAak
z?||xfAJjmP+44^;zk%9Azd=o??4Q)5f2TS^X;>F(?Hj@-uo+ZGLtt$<8n%L&uom0|
z)zJ>9$nAle$YH3>_9;|^euS$3E7Vd{xxnCIEg0I0unS=a9QhY7TKFei3j=>M3wRzj
zarwGAuD9vVxvux5>Qu`0j@2ztd!k%v*Na>os7Q5%+7knzIvxcz^GR?lOfBt(ykoN)
zgBrX9<>)BXh(CjB_$SoyDpSVwW?a*9%&_INpdvS~
zOvrV%6ZjZv0B5cJ7pQ?pN4wtM
zs14<}GgSKlAq34}46F2OuI{pSWgTF%UiTY*D
z06M|y=!2m8n*tT#P&R@ZUTwJ^YNoe99m{*5I@$*{lb4}pd>m?EUqN;B2OI{gmoo#O
z0o86c)aK5In(-p2{#HZ$hnx)v8qs}F9q)s3`~p-2-i3adr!54ZLSuqm5&CTvCds`9S)b=?W$bpC%r7)(J-1=srlG8XnhUvK#)OhT_#(e?g^
zMZKVwARB7tc~IroS^Hk7J@O134qu1be03|i-f?UKHP8fDLFd0Sf-3Zbn(dXSW>>3aY3o7qrb#g|}j7+uTE
zco396-*OMsDfy)q=U&6DPzKaYHo~d!7;FPO)-g=A+z2~he-?IxKfzA0
zMZD23v)lmNVLu4l!*fvWT7>Ev!&J-bq1I?WRD*A=yqp&aai8rf;68P#oQ^ih^8p_X7b90LD>L*Zbb(ZiM>
zLJhD*BNOULum$>3*bv?eiD<}q0YM}D8OmW|W3$PEP!9G&o!iq;Ya83dtmQb^2R&@{
zw=H8i?5Z~&YR$t?^^RISwwbYyhy8W_Z$i+nJ_fbh>o+%gn&oz=$b4hju!ZY1LLXxp
zgxb8D;3jwgHiuIZ%#4@AMD*>jDSQihS2Xng`@i~$uJ^qk1a(g5KvgKPd>ZycKLuOD
z<}J-890R2Vy}uWxK$Y*eJOee5*d$}`1w-mE6G3aU8EWMFp+f$-)vL8O
zOK~amPKV`2IEi}updKvM+n7jnhKf)+RQ=UZoB2_w{yv84uTopie;&dmZC&p(`ykZJ
zUxhkuKR`9~wR64K>KG`;0jMR}VEH`MrurEw#IfzoUg`=pu&bcj-4B!DA*fAWtwYEN
z13H+F7C<@P4z(GNL+$pa9gUt1buSdb;qWi0Ju|G6;YO&_@SbI3{w%5vvn_W+MfL*J
z(jP>nY`)H_$EQNA(E7X!5h8pnSR`1Zu
z*wdlvZMOPLQ1yQEbk2WLZ&Psw)F#>h)$vZKk)MPbd8Ix^?`fF@Rd1`+4?)#CZ}o(}
zrv4--zpG&%cpuaz{ZgcVr(!>I9NI$_Oo3YaWl(Fo2WoGeg}RdC`kS>M0#&}u>W^EV
zftO-$Fu>dklb|BH3(kWdK}CA>K+eA$FG0{|x))vpkHZgP+922ai$&jL^8~9j*c_uo
zsC!}KaEQb})
z*TN{c3C6*#P%oXwpkA*pTm56pU!h*Zm4}->k_gp)FsuYeTKi?thkoVoka?ZnilH2a
zJ79VE0Mx7Xaab1ag?cGHYk3k@ME?_3gE1q_!0JN1Cpy5!a5z+Xjrd3pdZv#Iuuri0ayjDfQrOMsEOPT6{#noj_LbW
zKW|xcjH%ZNG7;7vfiJ5w4QfOy$1+m%>)-(N!{f|jv-)_$iST3WTi_?~$_ZxEPM>H7
z{soN2{sYvE&%;u%+axoQo^UMsKsZd_|COQvzG;3yc)MBadm)p_?a^ZIQy!}b0;mI1e^;yVb#VE#>u
z1sKvUFP&;Cl!e-@RiW0jG1O*j3stWxl;fUO?+>e@Cqo^t$x!WQK_=|<(?5zmX^~{o
zSLE5)CXmaQB2aI7W*Xayd*FJqHkp!6!{g`$*1<~jff|iXag^OjSxcyN9Qg;bE~00#
z4JFSfzi!)?v0O{}=2D73={WgXatkWf!})YIK>yQLo`w7@^7Yu2_LI+}^D%Sklo*W4
zuBA>XTTl8M!6wCV-$R3<%7t&16Ios
zsSfPpNqn@Z(+hnK`8MPPsI&{d4+~*A26Y*k@0<5TUu*roY+07?kC&>#jYzujl(t)Y
zTj;|agU<1nDvSr@>({=bQ
zjfP-Mrf@KNI(j5Mj=a2t-j;&j(CbmZv2~=2=?3I>R^JL;d?|79Ie%GuU*uEBm&3oc
z{+HT<-c&q^oJ2u1ya&Av4$i$`m6(0`5d_$<@~;M{zkqWn?6MC
zu<1D#Lyn{=2*b&zsjEAGGmNAZ>$3;#;+kMhCJ#W-XY&>+-W2ZHy;dj&%PmwL0VC;t
z^nB}zSELgpKV#iBq*4@e1FLU@M<{<9US}Qrfcz`AbyjbM97%5?|42TI;alB|ed+i$
z>nu{~U4*-_U1RNj^oMCwkG#yfE2>FU`&ko+@slrDjltvrVEOl%*}_9tw+ke^1@+eGOF@@Low=&L%Af-7w&
zF63?Flq1)t!d@y~g3K>AFYUz^Bp*iaN+-vW&ykOiE2BS&y$ak%Z5~rjKkQ0dk*_qO
z_Y%9!+TYe!^?)td2}@H^>1KoCf8Vn9!8GiGyt%jp9os1Da02$)$Y;qN$vqj&1nS>}
z{3K=iQPUcom!dNRn|G?$p-hoNddtAsh^-}!pNC4-kWV0wCC?@|p?+g*_afg-`H$#d
zl7IGU^G2oYFUk&J`-Qv(c`;Oa8P11OVdy#jxu3$;7}}|nRF%e;l1C$FQ+}SzCiDJJ
zH&osq{S(^gCtW1nj7_PGf%CHESo~Z^-Mi2SQD?lZw-tT5=AVO57^zI*WE#w)fznya
z3fONoCTF^A)ah-@Hc(cbTn}>wdAF_i5jH*X>f3rzw0RtT2#kgN^mMM$`gf+H(#;r}
zQ}`nK7vvS>F6b4>zfk@T`dsTQ0o$d>m%w!FQ(!XsOzL%n*TApI-;)oae@Wg=z4ypU
z`EW0``T8#Wj?xDQ-6$wR9!`$M9!WLO8=+hYtH2+~U6H>dM^YTZD)ck78wr0y&qn?R
zxiRbm`;wJvqyGv|lbJv3L%|AowG^9L!8|JVpsXoOA@3q9U1i`rY8{qC|Cq8*(0@mM
z0J)~>!CNDBEU(7)CuKF5@K-wjFQE)24kh};;Krm|8djprKC`};ye%EQ>o
zQ~oLTX6V0>D_~QTTF6Qb$mOw}BrA2cY*Cu|KZmk`T$;-JY=dT|p3?#Sdva^?2;1nK
zElZ?_CCH1d{R#LH`Z2hMoQ}MRcKgXC(>+$NrFM$H4`CC=3dnbmm5NkI3ShsYgo8TR
zCerc8ur{m7mX+TOX|7EX@
z?E<-}b+S;EY^wgRx-+nMAfG2svh`K98S>E*lflIQs>U`xO~Kp93*i{@KIG@9ag1CF
zxs-KuBW2OZUt^0wJ_Y+z=R;UBEkj>I`8x6#;G9wB&DK1g0hL+8vE_&
zp`|D<(C`Ct*w(zyI+9wKiuv$KY!8zY$!Rpag8T~h?&Mdo#gpfeZ^GV&tn`F|vk?7x
z$|jRaYzS;Z
zo4#<4j5ZCUY>urz4%>^!cVcTxK1BAT-vwLIwjbr8moU`Da5Z^2#+B$jk(E{>{|N7c
zk@PciO%IOZ;C#Kyn{Lw@TK$xxq#db+YXor?~gI6ibL*4-6u^+UKzC-_a`oPF#MIMu|EI8
z%wS$-V79G3D<{{qPRYy5%}mYD^S2H9^JdP=_0P&&=!uzubpOJ(X*pS0{>U$IWr82B^VY80`GabboGQxY>l{vN-{|%l8+~nb5Ud8DCyXYWVi)Tfz^|
z$PFjVd~e{OT)*F!lAo88mZL%D`JH5cZgxt*Nv1&K3`$z$^9LB7Kj>SKnU&>B_50Ft
z0_m9=PD)nRqVT#I4GKG5o?j*GyCN#uR1H6w(;zA}D<^Gk_>p808LSkZpY9GyJ|_O157^4*IfF7OC6(pg-N0m6AvJ75Tgjgn22m
z{lPZADLMJRw3L7^B|Y7j;$w-txqh14tF-3aCfL(sF!)CJ_q?_7-oi2qwtzF*uCveE
z1cjme?e2uEoRoCWvoqG8osv5@DCW%fTll=0MHJ0=QA7#)wNMN*CC#`u4KgJr^@Wu4>w+I@4hw0Swcpg)j~tKi%q
zTH$@mPDHy2;T2ccaudT1SGPj`;rjSudCbEX?Uz4Pr`XG)qHemosGBY?>ZV)i-)}Gb4}V5C
zL%l(Vr>5=+EdS{H=}pr$0|G;m^}c`1AA<{yaV6uW<=qk|Ta3M|?<*w3i%d+Z@>}
zN2BW{N7_n`w3QrbD>>4(PI$w*f6l|`5g(EAh@Xfa@fFdHzrWUX!?ziWk&PcC8y`kC
z?TzfUEgZc5@WloHXk!x`nZ`yojg4#?8`*T+@TL~U9UIxSHL_`IWYgBjk+#~yc0b=#
zVn2Iwq^<0cwvuU^l-S16jSuEKekM0ZX26%lH609By{%DrW
z)fZQ*+5@rS>+i3|V9aDM>SoXvbu;jbx|w*j2kI72+{h6>vPXPKjJp&rEp?E7e3_~b(u
zuaJwn@pe%+&MxZ47kadA{o(98{xQ(McT_?z
zb{jT&u~(}XJGFYmXZ;esBuD&6j`)xqX)ig_wr05X&PM3wI4B4o?bMEo_=xBcKM_6R
zE22mI#YKCYyM)7tq1a=@Q0y{dDE1jK7^f|FHR|MjHA@^k|H66Z1L!@7{`(0G58U-v
z_>=85&Fm`J!>i$0DlySiJ!jb}c;ZhWHL=rTYRod3r(wQ|9~AlYGI<
zKpIL;wm&r|o%c;v(C1T-l
z*Ma7GZ;^CgCNBT?!S??jN6Ys%TJ)zQtY5S&^3cvkSddQdOUzq1i)HN!}$8$837u2G}lC~@I^@a=lr#bUKY(c-?
zn*Xjz>%7cjqu$dzS@in5yZ_Tsm1yC;g}rxR*f%=1s&7_qPIie0R(Sb=xN!gHCxuTx
zf1@|2?+!F5yyHMOw@OeCGClzL>=3;EkF5)jAKVfhZ{C4v1j?W8r14zh<>z?s!SKpg
z+lTkRTB~|S&H`T+KO>x=r0kqrfB4v|V=8rM-L8|beTQxxJGN@qzOeIamEAb+y~wYP
z`Mhn5f07jTJv_sW|L4zg3!L$tRpu}*|>nB_D;q&Kfvre=>O450(^IV@qnDlDT
z&rSFHX8ULHyTl*3d&3*0!}q?`rmXp4;tMAotzB5{=&|Vf10z-a1YmwnF8i4Jd{5=4
z;JE}huI>Nv=Sifm!Y|*iU8=D52m9UHBiOAaew;8(e{L#2X2M559AD0xkw0&7VbhcG
zF%`$Bq;gbKa#Q`8dExF~J{7+5^wPr8XOi7?ey`|fNZ*pbSO)m>6%A)FzeRHRxst-q
zuz{Jp$q(Gaq2vrR2VY8R#({eRvorbOMRbQ`V1>)GymF>%gA0x&CnH3;88V_FZUqQQLIHZBkh8uQsI`X!t4l{3aQY>Gysn
zre$RM707^(qD>3kF{Q;LZWpnjrt79kC|d5it=)o~OS@YVO02MNYDz|yQ__&^=Z8^t
z-eT-U?aR3DxIM=aC~pt&PdX|$W@
z4WM7N`*`FBNW#Y?a$nO?Ex0P9ppnlDA^(j6R#ttt?@ws)2uBqa_Q?B5_%iRv{fP$*s
z+=fLw6DU0brWz6$CU9PaJLdQwqL
zUH4S^q`m<~&c`ogb3S~t4m_2M8t|0}axgU|Ypy>~^hGnbeCdMGt=(A#m$i0dVsaz1
zDhRZ8>l9?QajO-))Y|<;RpM$;8VF{lW#s7w8O{^ZA1J8O*7X$~Z{rS&DoE<&HZA#v
zEZW@3ZC&FbxitSj4DpEpZhN;Pv$1^#^9r{0aBC@Mu`&O$DSH35
zDTM#FDUScNB^G@(&>dYWG?%+od(E3A3p>w`#Pwj;Hi?z@&EYpQzf*O4@COvWtNb(D
zpU1YyNXbj`EjVzG&R@E395bgVa@5%%89I+`yn^flPX*aFYVEtYzeC;zPx9qw`wpy<
ze{YlPvRa%U@MmQE18hHSSRL_;C){qlbc!FeDhvXT0pkRDTu|&g6)b_PB1esM}OKWI61^^
zQV<&K)+uT>)ZJdX=#vp{h0>eHxT}V;jrpV(?e
z-Ztj1U_syF{K&Va;KNDol!Dch-J86d_m0VKi-KDxxmAm%OmT;~gY_&-%kX9MrJ@Ia
zwr`l{Q1ZWeihQIm_R@y!zBpg^BDcm(Q{6sg8+-Sy!x>4-;DNwicD$%%W#u`MtM_z@
r+p(Z^s$0AL0)K#|$(0ws*2u~BXOz$u=kwRO#d#bfK4WbAJm>!b5cvIP
delta 22763
zcmbu`2XqzH-uLktAfbnzLOpZ>2@raR(0lJnNyq^LDUd=_JRpLoNbv|kPz0q(6O0m2
zQ50+xLBTHFt6&2`uN8d0zq5BR2zRY_t#{V5{p|m4vuDqqITO9lZwG_EJQ(CVUAn+>
zhhtcN$Ek=X%R7#*fa5G`s#3>U*v)Z<;zJmNXR#rc?(R7JpVNtdbi_p%hR3i7euH=8
zRjiBsdN@u!oP~XGBX;Ff&d+29QP8@l<5a>WI10C8Yb@H!afV|zER1Wh2yVeL_!1Vv
z_plg#XzR~lY2t4&6t7#$_I8{I;(Azu^E+M0aM8{X)WB0v1K)$yaS7JKY%GbNqXzsA
zb;bF(oKjdGqc959ZUi>QNvOqKgU#?HHo~HPSxL_Cv?J33Q?UtdMs+-;23V?}u_Fc%
zr(-dkiQ%{aSw!b)WNhaW4#4L99f$vO9^xO&)%hIbu{M==;lt=FN#<)Z1@Tv`jDKS_
ztUS^6w?*A)z-
zK=)({YT$=a9ao?xwidPIo3RSMj^*$Ss^2fD6PFn5IK?p()vpF>Z$x2fY>GN@chrQ3
z4`%%vkQqloB>GWHybrZ92T%i@L`~pJ)Woi#2DonP3k@;#C9w?UwXrO=My*7D)Wk;F
z^2r!NJjX{yGh2e{_>8UCjaurrP&57(HIYB8`G%SSilF*Mpe7WJTEP~m3+aqnfu6R0
zkgXq$x+T6zWHfLpYM|+;nLUDfAFM(xd5(=gLG6*BQIBhxVP@%LP#4kyb)~(q6plcR
zH`zK1wMidBo+_X72^r1!26nMM*i
zyMHW36Tg5B@hrw*DYm}KJ7IS{|5M56gfAnj>s-Mo?8@sa7SmDjOEx}_TCp0urF3tj
zuqC!cZNhZa($BK-9P5LqJ+;`zPh&yO?`$Mf4|k{lKS$lO^Qa~L&X(V>aqwuf^bwd&
zeRI?bZbh9q2Q`s>)`PbGFjk=a6ZGIU)T`bp%lc|pN1z6(jvA-|a*v#*s7-h`YLg||
z`st{CvvCSOh&u6a*1u7EAb6}X9M!%qYWyZ+S$}0(QJ{%*uy#Rhnw}WgL^hs`TEbbV
z2|a=ua5a918&E5`EY4i%J{(B=83y(auRransThlU<9&{kOy*At*w9YmILBFz`>_iS
zO>mrh@kwNVIT2p78Pl;B@d+DO86WsHb9@*~`P--o9<`oAy-|Na?U|Aj%x^~}ADN02
zG(}z6KrD~rP%Chst$!4Y6K_Ecya$`$yO@I4u|FnFG<#?t>Q=smTEP#j7f^fZ7u4hK
zE0kzvR1xP=5Q*h*D+c2ms1v`7;rKBY#LF0jzoI639W}9HlT5#gs9Rbc^J5)U`zS1g
zjgXb_IjzYQrl33OL<3Rxa4a^)Mc4rMqb76(11CnE@H%S3#V4Ek>Zm2Ii$$1GMTx&cUGWvviu{6F`T|KN
z4n_5^iJEvbEW-Jnu4L440BVLqF&~b>P>e@i;Y^IcCD!Lq_wWEl;wM&@9bK8Y9%^NK
zqBh@PTRt5%;T7nsOXe9{a1^x?pP^RZtS$czHQ=wPr3_`q=@wK*#Whe9kFqwk_3cpi
zzBB3qyJJ=CW9w5>Sbr@^CIvNd0fyi<)PS$p_#lQ6pFmylcc=mXwsC<}Gof&tO?hSX
ztE321C-Kw6x@|=ew`k~F2o;UajcMGCJ>38h+|Q=
zWIpPtSZ(7MQ4>9cx^?GKOZ_|Qf`T&5iiKE1ePnu2Q5i#UBC6qZ+h7iA6D_pmtE|sr
zG0L~uc(0A$L{0b@>fWD1-O6uld=)kRUw9CGLDNi!L#TWDDQe);SQfuS4d6^SySFH6
zfQqPlUlX-wqOk-v!7%KMYIis40=%dToQ`3*0IBymYshF1Y(m}BJ*bK7GYy;rsEHi0
z_2;k(@zTQikcVfPFPlvmPW%zJ#vidM*1gAk35~@@#LLiEhs;4T@(0vX
zh4Pc9E3Jfj?i-=X2cRZ49DCp>)RJzp_0OaBz;4tgd>hsNBqRW?3@ortS0FcbG;
z72?epitpO^40a&?8;7Bnr<3<~Qje(_K_uf=M37;E5<
z7>#9?niIrg1LEme2RC7LJdV1cpHUZ7f0>CVqgG%8w&MKGIWoGUijSFlGZGcAMy^K_)3;+L@}=3i}|j=rb~uEa=u9sA=Y9E7c&G@tQ{QS}#}
zWc_vJrJphdtx#8*fEs8C>YndL?Ts%`D^zHW=@)~lA7Q-@b)sicEB7nvR+N9*yrSD+
z1+_;HX8OozDOaF6yoz_>8LWb>*P0XEh4qQ&VKaOIHP9st+|zYtoJiDW?1vHP!%FxB
zHpCq3MO*HRc*bmw=Gc-315qom2zA9dSP#EKEm_HD&8BRHZHZ^ucn|8{|Arl~>3Z{6
zPs4V^yD%27p!zl15UBS#Q%uI$YW*6U)1c}`;|Q!yybQIAU&5+*9K-P{>TxW($(*<)
zwkDp1I`M8B|AIPk%w{vuRE*K{zl}^2DozIqc&?u_e|U7kMwHLA@ix@bpS5w=7W4e~
zLiL}ETKe6neqY--VypQV4?R$~;2x}u+psa`cMg-$z<;X%n{6`#PeKj67S-`1RDJMv
z6SqR0Xfnp&8q}URjxF$e)JoLcVd6M!MZ5}it3N`Y1}yQsnLsC0JPVuR4%7s`!ipHN
z)10^&s@((|uSQMe2x=mK+wz!Qrd>QXqDcI^UG
z{d$bT*ReK!kF~IDwz>DMu@iA3M&foHhM%CuYw)7!*AF%Bbex0BUu6Bm$b`ORuCP9;
zK`$JLi8vo$ML%}jZLZ{FtVUcg$2@j*u|08rh!wVzaRvF2NAofT8#zmdC@W@xDg2`_smy
zUI~orb83+(N<}l&z#Xw54#8j?g_?N+YNE-gJ&=ZKzX~Veb{vf1ubLNFGHPX3qAp|&
zYP{#L81BR}dj9v3(Fs04&G>WFiGD%tg+EXo!uOdgtcewfo1jk6AAi81sBt>KMqliM
zjj+?}=INSd-HyCMoUiaHADPAb&3`J1dc&;5L#Tn5V=S&l-NRF;D>#Qe@FKRyMsJ!w
zTGLQZ!G7$G1rC@A48SDf2XF%ZgsC{K+&S
z$n5?e*pzqOY+jk;t!q&C@?$KHU!tz?TTH+pc4!BjgxbwpaVA#y
z)Vyk!;~e7u;QcuMGjl-)vpKQ7Fg?X+UT3ez9=!lwN
zZ`Au?AZjm+LG7tYSOL>eE4JAB42Bc$#-g0xIYy=weqsH=HuxJGP#*rJS>o=fj-yZ$
zn1*3E2X(@gSP0jmek-1{zKmMI!`Kl&!!B6y6zi`U$CD|6$*6&6V+1~E<8@e+c&jxB
zwKoo++I@@_@rtc4e%hQc0xMBo8#U1`)={Vn$vn;at70()wQwV9;G?K3Ig7foOQ`qhiLn@S!Ms?~u_y6H)CqpVDD3i;c`VaV@p{yWKfoUNyRGl^A9FrmCYi=m
zypJt0-`6H?gNmo1cJCI{mA!`T@EGdWgnVOGBou>*J=WT&JyqYv?NGO%3wFT1SWwUZ
z5?hglI?-Aizld7GeOLpJ;XM2qHIW$?%?TgEg2YR0yb^WKpGIxUEm#xZ!65v>)?dRA
zJ^wezXn^9E%-3!?)Cqc`%J0I$IL?}k{7g90QCHmQThp#5YQh7p38)iJL$$jX3*bEK
zLe+DA=TS0xh5AvOYBPr7Yc~GK`W4-^Wm@n`x0NnY1r{6v+4GtuB`Y~^J*@O
zx{wB_CGU)-aS~R++33NiP#5~zRo1^YnUfUg-v5Qwu;ewfl#Nm4U9dZjz!ZE2^|X}w
z*=(vwSd=&&OQX;F7^?pU)Cu>Z-h{_+6Q25+^;gCGU(C|3M%}{=s5e&*YT%Dh_wpQS
zSAS#u6}18d|7-4T2o@nOgKA$HwTEh;_EZ!W!nUaMboG(Z<1`#~3$ko{2Gy|gug2O~
zj<_M}Mbp)mk3sG7iKr9LN1bq~tzT*5b?Bk|Ia_`RH6h;#G9hHXvIW;ro2VOhKzHNmMEiVxa&jrB#;1P`Gu>?33xpL3dw2KoU#cop@dQs#Ga
z3!+hRFRK@u68o?jzJ%Ir-=ii{`VaHUu8rDs1F#rQ#m;yi>XshBU_JlGY{AEQG2BU
zs$Cz{L`Px;OtC(Ufr+3VyXR3CvfoEWGk+U3v!hrZzd&8#e^I;J;lEO9Z`4AqP+Qal
z`k_u3kJ=m4Q2iELSE4TH8Pwys9d(`qsBwHBkkK3M0%~U0tOW|06PCkXlt-biUsbRZ(sxBW+lvK9FJOw2e2C+wQ;$UZs5CrH1?!?J^J)Y
zyiBGOHYw!>J`!i326z*@V$ssZff$$oZle5c)KaIEaRXn^TdgNCn)2&5u2qI%_%sp{J-N2Vg0~|y7V$`qWkJuig!_1W?qvEHmr%+ExrSQO}aynrh
z;!&szSb!t(DAvb15yoK=JpU?KKtUsX2^-@@Y=RZbn|OeAK5D7=Vne)yF<8EWiF;dT
zquTAT@o7}M5*1CmSZkV(j860{HpNe|8HQ9caTn`7r~!7NCVBxi(a_2!?rEKkTG5@@
z1Aj-|>rPcnyx96FYJ$FM99*TW-U?OwCji5LZ7pkj2gag3Y-!= ktQjBQYxa5OH*MOX`~)ixK}10(hOKb1@kDpsR5(SFqC`5N{6U80WJ^^H;W
zW33CYBk?xWV|E#}^vxs9O3gvVhpc7lns#@i%GYBL&hPwS3!2w66?0H8ocFK~hDN!8
z&+i0OoNaZZ-M}BI{ZO}R7HXG2XDv|Q4Ses9!Mc>cijnw@jY~D)`PcK@hK%lgB5H}2
zq3-D(8-Inm*F_tem1%8Fz+sd>idw1vpq9LFjJXBPQ7btD^|aiNI$t*Gd}m{L{xirF
zYUBoferKbWcn#``4x&0s>Q$Nlp|0lT!cEoKGd$ijJjtno0<52)QjZ^>Qmk$%m-e+Z_of~8r63WtWP4Cod=B-lzk&MXYSzlcLr^Dp6!mz1ih6$(Z*ATm
zolx;C>rT`Ozee4H(rwJG^0gA@357qA_)IC3sx@9HX
znYg_*8Ffonqw3#4?WHToO8Xp7ds8sLIu~`~U8obBLY<&U2NSojdQmI#80wboLfx|S
zs0o*iHE}oVOjNtAHvSSD>G==oXd1>^(@~pg1M0+Yp=N#!HS=nnOgzv!7u9a3jZdT6
z74K}?wY4Up#$Aotq_0TM@0=y0$04YTsfb41^MR;)_%Lcu?8g>(3H6*;>uOeHHclbl
zf?Bx>-Awy#sJ$@-7vcugM```;<|*ijK0WVAWJaSOpTw)U6qodH1OE=l)6?9;k*JBz
z!S=WrC*noayMI70H}JotSc-AP=dloW?rpx1`d|?82rP$Vdh`72izkzUFkFO+*IQpf
zeGPwzy4OFT1}N6Ye0r5em3z>G?J+-&MV&YSi(s-XpMeF5??rvKKhVc#GS5&@jDr2B
zuhyej3eTY?bPf4hb&B+L1OI}e2CBXrs(b|M-ln4_>_`jUaZmIbz<>hEPzK){Xamh)aO_f&!Q&qJ!(aq
z0p>z{MagJM>Z4wf%}_HOi6t-@btSV=6I_M-k~-^ACptWk2@s#e&cvaE&Cm8-)~E3-
zPZR1$f-splFrzdiqf!pS*svaEo
zs)XYbDVg=Zi`0vBEKtg4lz|+CL()+yp2Pg8<3Un=Cbx$&9SccSZQiB)DDj`R?RfI9+dNt4Rno7-{3tpV
z>;*>HzRR$cEz|Fh^FEDB((prkjkJ+8hxkX^Ar9-4^k#e&-@)_LUnYf&
zbYII6Z?l~}*vIDc!W-RrfWFV#!VigmCFc71C?N6gi~`3A{yE&{pQMqF!3O6m9LkA{
zQeF>>lfKR~Ior%RNhXc**3=)gWAr0_fbvvgJxzV6^W@|Fe-k{JXOQQJ7Z4x8+BBYL
z2Y8WK#}3jNTXuka4C&E4{o51kI82-7lrJVdMZQ{|HlLa%PVM}G>*pOngOL&_)wk`Et&!A!M!pV?BkAXN675G(R*3X9sVu1sSN}fc8-00Z
zHI;l89dzur<&ijm_(wYF=t#$Im`MDAEz8FHZC-5}kbbjqMLUjONMZEtXk)d@N9^li
z3;xEQqz-g!h`ijKDmaRyLvOm%p}-FVX$iE3q^cQ%L;E20lJ3*oKd)r9Eb;11XK9kCVyR(+=Jr3z0Tce!;dMpXX#M
zs!sjG^m&l-&xtc}c|Lpp<0$xp%D+hb?cn@D{FWWy4e~l3CN*G?wpf|E*0g)xwo(0m
zY+k>PdJm6<8Kfxk`pPOqdXJ=I1WCUo7n{&Hn9K@wvc~~CP;snISyx-Gclr~wd(8h-
z>o8vdY8x{&FY}wnIPx=W+zF?V%F^x>smje({8kdLB^_6Le8|@QM7}R$K0-Vg>)NqY
zeT;k<_1}^IK`)LrG$=$t7D-1a@kiL7xQ{LK5^tqr1=4)V-X^_HSwrIEwhdw6_%CI-
z$3C0?l7e5z?;!2WQ(s#*?mPpuu!WVavnhL-PBAwAn0yz?hLK*QY$r{E##
zGiiH2Wt+%vw_}y#0@qXaCS~pP;%-6EnKXd>1GZ6N^0~)EGG9`DjSl)^c$It_mLWcf
zU!gBn*29Hkhy38^3Xbn1U2
z>2I?0s^n;+7xy_j=?^p=C&=d>^a~uPti33Bg!;9_?ddm?w1xBp@hDOuai;KqtL{N#($;2imJwsR56ls#u-{heHxveTrRlr_c8Sc0^l{8Ccx@iJvKZSWcS
zE2Qs9z15fV{H(=lOhGBqEE>+Xo%i5r;uO+@gjx&YE2L1{Pk;Oe6BofX
zYRIwM)@4xMmZT#ehGRc{xSb(Wp4p6`aD;9A6lI%8eM!A2dz!kdc$m02cA@>#IGS{v
zvgh$lQtojV`PnvzB!9`C_#F(T{4bJ+F>>_$Ps{CvrD$BvHlB{7DQiUfm2{bStF0q+
zPUgugu4yN5k@AnoYiu2R$?wNcNG|#OoLEO;>U{+XzOx-KU`HxW*|?q^U@q}Io9|El
zAoC2gQG
z(RR2&-6zC8(lAc4)0R&l-b$UHRLw5uJ>>UOe>Zi@$mbrrY@bTBOSgq*D63AIsDU#`
zhp1?s+r#=e<#7Ks!-Sg6LVYRAO>4$Pd5oiE9xr
zBJPH5N#*T$3#j{v{3gsj?$y{@|AA!sk|vNIQ6WbSQh(AmIuv6d9seOMCpDn#O{|0K
zNdxG!l6V7Y80jm@hLc_)-<7_u9W%s^)4_TV<-HfvNXG#>==jla%Rj%j(P}%;BI0nH
zZ-y&KFVH{xZ~k3zSj{@q;*v7G>5=K4)bXC0buv;j;*uiM{c*?2`lt5TQE*CH>Ll;D
z41cKsUHxD7jL6>6^If-K%{nP@$=*o+l-@NebxX|Xo*C~+Ov&(0NQ=uz{Y!F1!ccH@C~|%lU)BFLpo-68QQ#%
zfBxv@LsBx*620l3>4_N=J#7*_I~8264S;dd81Q3>B(_P
zN!2`YX^C;s6B82>yeVy~Wu#?#tF>#>AhDe%IdQ_o3{Sk*zj#PQ?3Y2K8K
zf1Oebl$6AkF;N<%c@sPtsoVt5_|&AN)alIDle<`qG$J+AGcGR06UU8-^Q3sE+tIk`
zndxe)Yns4irg;1v(xXFey%ztJ^tOd^r{&+7e$1ETjZ62^)f?zIJ~b^_L7LX2!9NS9
z+nkyNE`mfJ!H0Oe>c#0*TSlS#!`)?8cQ|awJ;)R
zO56mm$F|Ombb^2COwZgp(?2)TD9aXA3-p)jDb+`+wKVN&*><&TyIQtgE!(cv%~?%L
zWH;WNm5Fj^Wun|!nJ9NwCeqp3Eol|#FV$13k5p?(yX>V)kDA5$>9Oj8hEffs8cGc~
z_3_$)0i_0%YA4lBs@>e>^#bjr+DWyOYA1E#<|{tW7Zlj;{;B>5e+hq(x)n2f!@NRn
zRxr+;D;W6B6`bkL6`cCt6@lA#d*K~U8o05yx4gs20=N9OmIczi8G+mSKWgrDO4H{K
z7h28K-09?|Mt39Ti7=M{P%4uo;#sH-u4gVZSO$d^sQw3RkD351=euD_DX^Elcrs$zu1ndx#!5Ua+;@E
z)!ccSD0iMF(in4}FCXYHb%j!Wq*_b0tF*JKf5y(=vi&cdcKv%_n)=VLYV__=!DgfS
zm+o#^#1lVLzZ!g4`TOi{TlMB|s=ka;Q#|*idy~f3pOBc56c;}xGc9Sh|Eb+kxt;Xc
z_1Hs6%`@zdw4H8=mKba~hYD_lxs%_SEBl<}021so|NJm@+GK{DD^|
z_!CdW6g2A*?O%5yTzM`tI(yxTE5X@6e;%4IyrccT931$*Oz@_8I+-ub!lzz${TEIT
z$ZmfotgzpEaj!2U?ZA3|3i-)=Jni~||e|%g*_VP=8+?dYZ%#8GL6Ya-n^uT|AjOH!r
z&i8I=cGvIbl)mi~^4RrCx0PMHo_Sl@)Ef=|U6z&Xy4ACf-l(7N=8a!|!wvt}hhSEO
z>khctKz*A3yTvBgjlbC1Le`azk%kc~f@5%
zRkM%kJDp8GJqiEM{j!dRxNUN}m2fW?ayw_$tL;|FSs3mP$(MDijax8>|H*2ZqB+%T
zy9M%>WcBkda%5J;>TdhOxoaK>YiAX!cNn;0&09yhH9T9>jmrA5id*(y)1kaep6LXd-C^)R`4Nv>?qA(^)^cOBhSYV-
zX0@y9_RC7C=a$NPude&wtkThLrJRCMZm*!+w^i1_7`H|>d#k(?y@|;wiRs#MX&!H)
zUL5vK7HF3dcFL63nh9}vTF8ls~6FG)>LMV>h4Bl9q;Z&SH8Kgcy-c$yEPt8Ulv!R)g=aI$V}53`%Jg^V=d>Q+CI@HzJk0G<
zOmBeP5%{&Km^Em)TPLgKaQC0zoSfss-TU2~EhF8A1+(}c$dt>v9_KbH#Y;6KEpCDn
jP_OW;`tfc=*dTs!oLQMk-i%opo(bLq>v=}fGMxVdA&\n"
"Language-Team: RDMO \n"
"Language: de\n"
@@ -25,7 +25,7 @@ msgstr "Vorname"
msgid "Last name"
msgstr "Nachname"
-#: accounts/forms.py:101 core/constants.py:20 projects/models/invite.py:30
+#: accounts/forms.py:101 core/constants.py:20 projects/models/invite.py:28
msgid "E-mail"
msgstr "E-Mail"
@@ -39,113 +39,113 @@ msgid ""
"undone!"
msgstr "Hiermit bestätige ich, die Löschung meines Profils!"
-#: accounts/models.py:23 options/models.py:182 questions/models/question.py:98
-#: tasks/models.py:93
+#: accounts/models.py:23 options/models.py:191 questions/models/question.py:96
+#: tasks/models.py:96
msgid "Text (primary)"
msgstr "Text (erste Sprache)"
#: accounts/models.py:24
-msgid "The text for this additional field in the primary language."
+msgid "The text for this additional field (in the primary language)."
msgstr "Der Text für das zusätzliche Feld (erste Sprache)."
-#: accounts/models.py:28 options/models.py:187 questions/models/question.py:103
-#: tasks/models.py:98
+#: accounts/models.py:28 options/models.py:196 questions/models/question.py:101
+#: tasks/models.py:101
msgid "Text (secondary)"
msgstr "Text (zweite Sprache)"
#: accounts/models.py:29
-msgid "The text for this additional field in the secondary language."
+msgid "The text for this additional field (in the secondary language)."
msgstr "Der Text für das zusätzliche Feld (zweite Sprache)."
-#: accounts/models.py:33 options/models.py:192 questions/models/question.py:108
-#: tasks/models.py:103
+#: accounts/models.py:33 options/models.py:201 questions/models/question.py:106
+#: tasks/models.py:106
msgid "Text (tertiary)"
msgstr "Text (dritte Sprache)"
#: accounts/models.py:34
-msgid "The text for this additional field in the tertiary language."
+msgid "The text for this additional field (in the tertiary language)."
msgstr "Der Text für das zusätzliche Feld (dritte Sprache)."
-#: accounts/models.py:38 options/models.py:197 questions/models/question.py:113
-#: tasks/models.py:108
+#: accounts/models.py:38 options/models.py:206 questions/models/question.py:111
+#: tasks/models.py:111
msgid "Text (quaternary)"
msgstr "Text (vierte Sprache)"
#: accounts/models.py:39
-msgid "The text for this additional field in the quaternary language."
+msgid "The text for this additional field (in the quaternary language)."
msgstr "Der Text für das zusätzliche Feld (vierte Sprache)."
-#: accounts/models.py:43 options/models.py:202 questions/models/question.py:118
-#: tasks/models.py:113
+#: accounts/models.py:43 options/models.py:211 questions/models/question.py:116
+#: tasks/models.py:116
msgid "Text (quinary)"
msgstr "Text (fünfte Sprache)"
#: accounts/models.py:44
-msgid "The text for this additional field in the quinary language."
+msgid "The text for this additional field (in the quinary language)."
msgstr "Der Text für das zusätzliche Feld (fünfte Sprache)."
-#: accounts/models.py:48 questions/models/catalog.py:111
-#: questions/models/page.py:111 questions/models/question.py:73
-#: questions/models/questionset.py:106 views/models.py:99
+#: accounts/models.py:48 options/models.py:216 questions/models/catalog.py:111
+#: questions/models/page.py:111 questions/models/question.py:71
+#: questions/models/questionset.py:106 views/models.py:102
msgid "Help (primary)"
msgstr "Help (erste Sprache)"
#: accounts/models.py:49
msgid ""
-"The help text to be displayed next to the input element in the primary "
-"language."
+"The help text to be displayed next to the input element (in the primary "
+"language)."
msgstr ""
"Der Hilfetext, der neben dem Eingabefeld angezeigt wird (erste Sprache)."
-#: accounts/models.py:53 questions/models/catalog.py:116
-#: questions/models/page.py:116 questions/models/question.py:78
-#: questions/models/questionset.py:111 views/models.py:104
+#: accounts/models.py:53 options/models.py:221 questions/models/catalog.py:116
+#: questions/models/page.py:116 questions/models/question.py:76
+#: questions/models/questionset.py:111 views/models.py:107
msgid "Help (secondary)"
msgstr "Help (zweite Sprache)"
#: accounts/models.py:54
msgid ""
-"The help text to be displayed next to the input element in the secondary "
-"language."
+"The help text to be displayed next to the input element (in the secondary "
+"language)."
msgstr ""
"Der Hilfetext, der neben dem Eingabefeld angezeigt wird (zweite Sprache)."
-#: accounts/models.py:58 questions/models/catalog.py:121
-#: questions/models/page.py:121 questions/models/question.py:83
-#: questions/models/questionset.py:116 views/models.py:109
+#: accounts/models.py:58 options/models.py:226 questions/models/catalog.py:121
+#: questions/models/page.py:121 questions/models/question.py:81
+#: questions/models/questionset.py:116 views/models.py:112
msgid "Help (tertiary)"
msgstr "Help (dritte Sprache)"
#: accounts/models.py:59
msgid ""
-"The help text to be displayed next to the input element in the tertiary "
-"language."
+"The help text to be displayed next to the input element (in the tertiary "
+"language)."
msgstr ""
"Der Hilfetext, der neben dem Eingabefeld angezeigt wird (dritte Sprache)."
-#: accounts/models.py:63 questions/models/catalog.py:126
-#: questions/models/page.py:126 questions/models/question.py:88
-#: questions/models/questionset.py:121 views/models.py:114
+#: accounts/models.py:63 options/models.py:231 questions/models/catalog.py:126
+#: questions/models/page.py:126 questions/models/question.py:86
+#: questions/models/questionset.py:121 views/models.py:117
msgid "Help (quaternary)"
msgstr "Help (vierte Sprache)"
#: accounts/models.py:64
msgid ""
-"The help text to be displayed next to the input element in the quaternary "
-"language."
+"The help text to be displayed next to the input element (in the quaternary "
+"language)."
msgstr ""
"Der Hilfetext, der neben dem Eingabefeld angezeigt wird (vierte Sprache)."
-#: accounts/models.py:68 questions/models/catalog.py:131
-#: questions/models/page.py:131 questions/models/question.py:93
-#: questions/models/questionset.py:126 views/models.py:119
+#: accounts/models.py:68 options/models.py:236 questions/models/catalog.py:131
+#: questions/models/page.py:131 questions/models/question.py:91
+#: questions/models/questionset.py:126 views/models.py:122
msgid "Help (quinary)"
msgstr "Help (fünfte Sprache)"
#: accounts/models.py:69
msgid ""
-"The help text to be displayed next to the input element in the quinary "
-"language."
+"The help text to be displayed next to the input element (in the quinary "
+"language)."
msgstr ""
"Der Hilfetext, der neben dem Eingabefeld angezeigt wird (fünfte Sprache)."
@@ -190,7 +190,7 @@ msgid "The sites for which this user is a member."
msgstr "Die Seiten bei denen dieser Benutzer Mitglied ist."
#: accounts/models.py:138 projects/constants.py:9
-#: projects/models/membership.py:15
+#: projects/models/membership.py:13
msgid "Manager"
msgstr "Manager"
@@ -214,11 +214,11 @@ msgstr "Reviewer"
msgid "The sites for which this user is a reviewer."
msgstr "Die Seiten bei denen dieser Benutzer Reviewer ist."
-#: accounts/models.py:154 projects/models/invite.py:35
-#: projects/models/membership.py:32
+#: accounts/models.py:154 projects/models/invite.py:33
+#: projects/models/membership.py:30
#: projects/templates/projects/project_detail_invites.html:16
#: projects/templates/projects/project_detail_memberships.html:21
-#: projects/templates/projects/projects.html:127
+#: projects/templates/projects/projects.html:138
msgid "Role"
msgstr "Rolle"
@@ -720,6 +720,37 @@ msgstr ""
msgid "Add an additional account"
msgstr "Externes Konto hinzufügen"
+#: accounts/templates/socialaccount/login.html:4
+msgid "Sign In"
+msgstr "Anmelden"
+
+#: accounts/templates/socialaccount/login.html:8
+#, python-format
+msgid "Connect %(provider)s"
+msgstr "Mit %(provider)s verbinden"
+
+#: accounts/templates/socialaccount/login.html:10
+#, python-format
+msgid "You are about to connect a new third party account from %(provider)s."
+msgstr ""
+"Sie sind dabei, ein neues Drittanbieterkonto von %(provider)s zu verbinden."
+
+#: accounts/templates/socialaccount/login.html:12
+#, python-format
+msgid "Sign In Via %(provider)s"
+msgstr "Über %(provider)s anmelden"
+
+#: accounts/templates/socialaccount/login.html:14
+#, python-format
+msgid "You are about to sign in using a third party account from %(provider)s."
+msgstr ""
+"Sie sind dabei, sich mit einem Konto eines Drittanbieters von %(provider)s. "
+"anzumelden."
+
+#: accounts/templates/socialaccount/login.html:19
+msgid "Continue"
+msgstr "Fortsetzen"
+
#: accounts/templates/socialaccount/login_cancelled.html:9
msgid "Login Cancelled"
msgstr "Anmeldung abgebrochen"
@@ -746,7 +777,7 @@ msgstr ""
#: accounts/templatetags/accounts_tags.py:19
#: projects/templates/projects/project_questions_modal_form_valuesets.html:19
-#: projects/templates/projects/projects.html:126
+#: projects/templates/projects/projects.html:136
#: projects/templates/projects/site_projects.html:64
msgid "Name"
msgstr "Name"
@@ -754,8 +785,8 @@ msgstr "Name"
#: conditions/apps.py:7 conditions/models.py:90
#: conditions/templates/conditions/export/conditions.html:6
#: options/models.py:62 options/templates/options/export/optionset.html:29
-#: questions/models/page.py:186 questions/models/question.py:248
-#: questions/models/questionset.py:181 tasks/models.py:139
+#: questions/models/page.py:161 questions/models/question.py:221
+#: questions/models/questionset.py:156 tasks/models.py:142
#: tasks/templates/tasks/export/tasks.html:48
msgid "Conditions"
msgstr "Bedingungen"
@@ -763,18 +794,18 @@ msgstr "Bedingungen"
#: conditions/models.py:35
#: conditions/templates/conditions/export/conditions.html:15
#: domain/models.py:15 domain/templates/domain/export/attributes.html:14
-#: options/models.py:17 options/models.py:152
+#: options/models.py:17 options/models.py:161
#: options/templates/options/export/option.html:5
#: options/templates/options/export/optionset.html:5
#: questions/models/catalog.py:36 questions/models/page.py:35
-#: questions/models/question.py:28 questions/models/questionset.py:30
+#: questions/models/question.py:26 questions/models/questionset.py:30
#: questions/models/section.py:34
#: questions/templates/questions/export/catalog.html:6
#: questions/templates/questions/export/page.html:6
#: questions/templates/questions/export/question.html:8
#: questions/templates/questions/export/questionset.html:8
-#: questions/templates/questions/export/section.html:6 tasks/models.py:22
-#: tasks/templates/tasks/export/tasks.html:15 views/models.py:23
+#: questions/templates/questions/export/section.html:6 tasks/models.py:20
+#: tasks/templates/tasks/export/tasks.html:15 views/models.py:21
#: views/templates/views/export/views.html:15
msgid "URI"
msgstr "URI"
@@ -785,10 +816,10 @@ msgstr ""
"Der Uniform Resource Identifier dieser Bedingung (automatisch erstellt)."
#: conditions/models.py:40 domain/models.py:20 options/models.py:22
-#: options/models.py:157 questions/models/catalog.py:41
-#: questions/models/page.py:40 questions/models/question.py:33
+#: options/models.py:166 questions/models/catalog.py:41
+#: questions/models/page.py:40 questions/models/question.py:31
#: questions/models/questionset.py:35 questions/models/section.py:39
-#: tasks/models.py:27 views/models.py:28
+#: tasks/models.py:25 views/models.py:26
msgid "URI Prefix"
msgstr "URI Prefix"
@@ -796,10 +827,10 @@ msgstr "URI Prefix"
msgid "The prefix for the URI of this condition."
msgstr "Das Präfix für die URI dieser Bedingung."
-#: conditions/models.py:45 options/models.py:27 options/models.py:162
+#: conditions/models.py:45 options/models.py:27 options/models.py:171
#: questions/models/catalog.py:46 questions/models/page.py:45
-#: questions/models/question.py:38 questions/models/questionset.py:40
-#: questions/models/section.py:44 tasks/models.py:32 views/models.py:33
+#: questions/models/question.py:36 questions/models/questionset.py:40
+#: questions/models/section.py:44 tasks/models.py:30 views/models.py:31
msgid "URI Path"
msgstr "URI Pfad"
@@ -809,17 +840,17 @@ msgstr "Der Pfad für die URI dieser Bedingung."
#: conditions/models.py:50
#: conditions/templates/conditions/export/conditions.html:21
-#: domain/models.py:35 options/models.py:32 options/models.py:167
+#: domain/models.py:35 options/models.py:32 options/models.py:176
#: questions/models/catalog.py:51 questions/models/page.py:50
-#: questions/models/question.py:43 questions/models/questionset.py:45
+#: questions/models/question.py:41 questions/models/questionset.py:45
#: questions/models/section.py:49
#: questions/templates/questions/export/catalog.html:12
#: questions/templates/questions/export/page.html:12
#: questions/templates/questions/export/question.html:14
#: questions/templates/questions/export/question.html:70
#: questions/templates/questions/export/questionset.html:14
-#: questions/templates/questions/export/section.html:12 tasks/models.py:37
-#: tasks/templates/tasks/export/tasks.html:21 views/models.py:38
+#: questions/templates/questions/export/section.html:12 tasks/models.py:35
+#: tasks/templates/tasks/export/tasks.html:21 views/models.py:36
#: views/templates/views/export/views.html:21
msgid "Comment"
msgstr "Kommentar"
@@ -829,10 +860,10 @@ msgid "Additional internal information about this condition."
msgstr "Zusätzliche interne Informationen über diese Bedingung."
#: conditions/models.py:55 domain/models.py:40 options/models.py:37
-#: options/models.py:172 questions/models/catalog.py:56
-#: questions/models/page.py:55 questions/models/question.py:48
+#: options/models.py:181 questions/models/catalog.py:56
+#: questions/models/page.py:55 questions/models/question.py:46
#: questions/models/questionset.py:50 questions/models/section.py:54
-#: tasks/models.py:42 views/models.py:43
+#: tasks/models.py:40 views/models.py:41
msgid "Locked"
msgstr "Gesperrt"
@@ -841,10 +872,10 @@ msgid "Designates whether this condition can be changed."
msgstr "Bezeichnet, ob diese Bedingung geändert werden kann."
#: conditions/models.py:60 domain/models.py:45 options/models.py:47
-#: options/models.py:177 questions/models/catalog.py:76
-#: questions/models/page.py:81 questions/models/question.py:68
+#: options/models.py:186 questions/models/catalog.py:76
+#: questions/models/page.py:81 questions/models/question.py:66
#: questions/models/questionset.py:76 questions/models/section.py:64
-#: tasks/models.py:58 views/models.py:59
+#: tasks/models.py:61 views/models.py:62
msgid "Editors"
msgstr "Editoren"
@@ -903,13 +934,13 @@ msgstr "Bedingung"
msgid "Target"
msgstr "Ziel"
-#: core/constants.py:14 core/settings.py:314
+#: core/constants.py:14 core/settings.py:316 options/models.py:155
#: options/templates/options/export/option.html:8 projects/models/value.py:69
-#: questions/constants.py:4 tasks/templates/tasks/export/tasks.html:31
+#: tasks/templates/tasks/export/tasks.html:31
msgid "Text"
msgstr "Text"
-#: core/constants.py:15 projects/models/issue.py:111
+#: core/constants.py:15 projects/models/issue.py:110
msgid "URL"
msgstr "URL"
@@ -933,7 +964,7 @@ msgstr "Datum und Zeit"
msgid "Phone"
msgstr "Telefon"
-#: core/constants.py:22 options/models.py:213 projects/models/value.py:74
+#: core/constants.py:22 options/models.py:272 projects/models/value.py:74
msgid "Option"
msgstr "Option"
@@ -949,95 +980,99 @@ msgstr "erstellt"
msgid "updated"
msgstr "zuletzt geändert"
-#: core/settings.py:134
+#: core/settings.py:133
msgid "English"
msgstr "Englisch"
-#: core/settings.py:135
+#: core/settings.py:134
msgid "German"
msgstr "Deutsch"
-#: core/settings.py:254
+#: core/settings.py:253
msgid "PDF"
msgstr "PDF"
-#: core/settings.py:255
+#: core/settings.py:254
msgid "Rich Text Format"
msgstr "Rich Text Format"
-#: core/settings.py:256
+#: core/settings.py:255
msgid "Open Office"
msgstr "Open Office"
-#: core/settings.py:257
+#: core/settings.py:256
msgid "Microsoft Office"
msgstr "Microsoft Office"
-#: core/settings.py:258
+#: core/settings.py:257
msgid "HTML"
msgstr "HTML"
-#: core/settings.py:259
+#: core/settings.py:258
msgid "Markdown"
msgstr "Markdown"
-#: core/settings.py:260
+#: core/settings.py:259
msgid "mediawiki"
msgstr "mediawiki"
-#: core/settings.py:261
+#: core/settings.py:260
msgid "LaTeX"
msgstr "LaTeX"
-#: core/settings.py:283 core/settings.py:290
+#: core/settings.py:282 core/settings.py:289
msgid "RDMO XML"
msgstr "RDMO XML"
-#: core/settings.py:284
+#: core/settings.py:283
msgid "CSV (comma separated)"
msgstr "CSV (Komma getrennt)"
-#: core/settings.py:285
+#: core/settings.py:284
msgid "CSV (semicolon separated)"
msgstr "CSV (Semikolon getrennt)"
-#: core/settings.py:286
+#: core/settings.py:285
msgid "JSON"
msgstr "JSON"
-#: core/settings.py:315 questions/constants.py:5
+#: core/settings.py:317 options/models.py:156
msgid "Textarea"
msgstr "Textfeld"
-#: core/settings.py:316 questions/constants.py:6
+#: core/settings.py:318
msgid "Yes/No"
msgstr "Ja/Nein"
-#: core/settings.py:317 questions/constants.py:7
+#: core/settings.py:319
msgid "Checkboxes"
msgstr "Ankreuzfelder"
-#: core/settings.py:318 questions/constants.py:8
+#: core/settings.py:320
msgid "Radio buttons"
msgstr "Radio Buttons"
-#: core/settings.py:319 questions/constants.py:9
+#: core/settings.py:321
msgid "Select drop-down"
msgstr "Select-Dropdown-Menü"
-#: core/settings.py:320 questions/constants.py:10
+#: core/settings.py:322
msgid "Autocomplete"
msgstr "Autocomplete"
-#: core/settings.py:321 questions/constants.py:11
+#: core/settings.py:323
+msgid "Free autocomplete"
+msgstr "Freies Autocomplete"
+
+#: core/settings.py:324
msgid "Range slider"
msgstr "Schieberegler"
-#: core/settings.py:322 questions/constants.py:12
+#: core/settings.py:325
msgid "Date picker"
msgstr "Datumspicker"
-#: core/settings.py:323 questions/constants.py:13
+#: core/settings.py:326
msgid "File upload"
msgstr "Dateien-Upload"
@@ -1145,29 +1180,37 @@ msgstr "Ansicht als anoymer Benutzer"
msgid "Powered by "
msgstr "Powered by "
-#: core/utils.py:120 core/utils.py:125
+#: core/utils.py:122 core/utils.py:127
msgid "Elements"
msgstr "Elemente"
-#: core/utils.py:121
+#: core/utils.py:123
msgid "The questions and question sets for this page."
msgstr "The questions and question sets for this page."
-#: core/utils.py:126
+#: core/utils.py:128
msgid "The questions and question sets for this question set."
msgstr "Das Fragen und Fragensets für dieses Fragenset."
-#: core/utils.py:206
+#: core/utils.py:208
msgid "This format is not supported."
msgstr "Dieses Format wird nicht unterstützt."
+#: core/utils.py:383
+msgid "show more"
+msgstr "mehr anzeigen"
+
+#: core/utils.py:384
+msgid "show less"
+msgstr "weniger anzeigen"
+
#: core/validators.py:64
#, python-format
msgid "%(model)s with the uri \"%(uri)s\" already exists."
msgstr "%(model)s mit der uri \"%(uri)s\" existiert bereits."
-#: core/validators.py:80 domain/validators.py:14 projects/forms.py:347
-#: projects/forms.py:368
+#: core/validators.py:80 domain/validators.py:14 projects/forms.py:349
+#: projects/forms.py:370
msgid "This field is required."
msgstr "Dieses Feld wird benötigt."
@@ -1200,7 +1243,7 @@ msgstr ""
msgid "The prefix for the URI of this attribute."
msgstr "Das Präfix für die URI dieses Attributs."
-#: domain/models.py:25 projects/models/integration.py:60
+#: domain/models.py:25 projects/models/integration.py:66
msgid "Key"
msgstr "Schlüssel"
@@ -1240,7 +1283,7 @@ msgid "Parent attribute in the domain model."
msgstr "Übergeordnetes Attribut im Domänenmodell."
#: domain/models.py:57 projects/models/value.py:44 questions/models/page.py:61
-#: questions/models/question.py:53 questions/models/questionset.py:56
+#: questions/models/question.py:51 questions/models/questionset.py:56
msgid "Attribute"
msgstr "Attribut"
@@ -1335,7 +1378,7 @@ msgstr "Dies ist keine valide RDMO-XML Datei."
msgid "This is not a valid RDMO import JSON."
msgstr "Dies ist keine valide RDMO-JSON-Import."
-#: options/apps.py:7 options/models.py:57 options/models.py:214
+#: options/apps.py:7 options/models.py:57 options/models.py:273
#: options/templates/options/export/options.html:6
#: options/templates/options/export/optionset.html:9
#: projects/templates/projects/issue_detail.html:81
@@ -1344,7 +1387,7 @@ msgstr "Dies ist keine valide RDMO-JSON-Import."
#: projects/templates/projects/project_detail_integrations.html:19
#: projects/templates/projects/project_detail_sidebar.html:11
#: projects/templates/projects/project_view.html:42
-#: projects/templates/projects/projects.html:25
+#: projects/templates/projects/projects.html:29
#: projects/templates/projects/site_projects.html:48
#: questions/templates/questions/export/question.html:30
msgid "Options"
@@ -1372,7 +1415,8 @@ msgid "Designates whether this option set (and its options) can be changed."
msgstr ""
"Gibt an, ob dieser Optionssatz (und seine Optionen) geändert werden kann."
-#: options/models.py:42 questions/models/catalog.py:61
+#: options/models.py:42 questions/models/catalog.py:61 tasks/models.py:45
+#: views/models.py:46
msgid "Order"
msgstr "Reihenfolge"
@@ -1413,69 +1457,140 @@ msgid "Option set"
msgstr "Optionenset"
#: options/models.py:69 options/templates/options/export/optionsets.html:6
-#: questions/models/question.py:243
+#: questions/models/question.py:216
msgid "Option sets"
msgstr "Optionensets"
-#: options/models.py:153
+#: options/models.py:162
msgid "The Uniform Resource Identifier of this option (auto-generated)."
msgstr "Der Uniform Resource Identifier dieser Option (automatisch erstellt)."
-#: options/models.py:158
+#: options/models.py:167
msgid "The prefix for the URI of this option."
msgstr "Das Präfix für die URI dieser Option."
-#: options/models.py:163
+#: options/models.py:172
msgid "The path for the URI of this option."
msgstr "Der Pfad für die URI dieser Option."
-#: options/models.py:168
+#: options/models.py:177
msgid "Additional internal information about this option."
msgstr "Zusätzliche interne Informationen über diese Option."
-#: options/models.py:173
+#: options/models.py:182
msgid "Designates whether this option can be changed."
msgstr "Bezeichnet, ob diese Option geändert werden kann."
-#: options/models.py:178
+#: options/models.py:187
msgid "The sites that can edit this option (in a multi site setup)."
msgstr "Die Seiten, die diese Option bearbeiten können (im Multi-Site-Setup)."
-#: options/models.py:183
-msgid "The text for this option in the primary language."
+#: options/models.py:192
+msgid "The text for this option (in the primary language)."
msgstr "Der Text für diese Option (erste Sprache)."
-#: options/models.py:188
-msgid "The text for this option in the secondary language."
+#: options/models.py:197
+msgid "The text for this option (in the secondary language)."
msgstr "Der Text für diese Option (zweite Sprache)."
-#: options/models.py:193
-msgid "The text for this option in the tertiary language."
+#: options/models.py:202
+msgid "The text for this option (in the tertiary language)."
msgstr "Der Text für diese Option (dritte Sprache)."
-#: options/models.py:198
-msgid "The text for this option in the quaternary language."
+#: options/models.py:207
+msgid "The text for this option (in the quaternary language)."
msgstr "Der Text für diese Option (vierte Sprache)."
-#: options/models.py:203
-msgid "The text for this option in the quinary language."
+#: options/models.py:212
+msgid "The text for this option (in the quinary language)."
msgstr "Der Text für diese Option (fünfte Sprache)."
-#: options/models.py:207 options/templates/options/export/option.html:11
+#: options/models.py:217
+msgid "The help text for this option (in the primary language)."
+msgstr "Der Hilfetext für diese Option (erste Sprache)."
+
+#: options/models.py:222
+msgid "The help text for this option (in the secondary language)."
+msgstr "Der Hilfetext für diese Option (zweite Sprache)."
+
+#: options/models.py:227
+msgid "The help text for this option (in the tertiary language)."
+msgstr "Der Hilfetext für diese Option (dritte Sprache)."
+
+#: options/models.py:232
+msgid "The help text for this option (in the quaternary language)."
+msgstr "Der Hilfetext für diese Option (vierte Sprache)."
+
+#: options/models.py:237
+msgid "The help text for this option (in the quinary language)."
+msgstr "Der Hilfetext für diese Option (fünfte Sprache)."
+
+#: options/models.py:241
+msgid "View text (primary)"
+msgstr "Ansichtstext (erste Sprache)"
+
+#: options/models.py:242
+msgid "The view text for this option (in the primary language)."
+msgstr "Der Ansichtstext für diese Option (erste Sprache)."
+
+#: options/models.py:246
+msgid "View text (secondary)"
+msgstr "Ansichtstext (zweite Sprache)"
+
+#: options/models.py:247
+msgid "The view text for this option (in the secondary language)."
+msgstr "Der Ansichtstext für diese Option (zweite Sprache)."
+
+#: options/models.py:251
+msgid "View text (tertiary)"
+msgstr "Ansichtstext (dritte Sprache)"
+
+#: options/models.py:252
+msgid "The view text for this option (in the tertiary language)."
+msgstr "Der Ansichtstext für diese Option (dritte Sprache)."
+
+#: options/models.py:256
+msgid "View text (quaternary)"
+msgstr "Ansichtstext (vierte Sprache)"
+
+#: options/models.py:257
+msgid "The view text for this option (in the quaternary language)."
+msgstr "Der Ansichtstext für diese Option (vierte Sprache)."
+
+#: options/models.py:261
+msgid "View text (quinary)"
+msgstr "Ansichtstext (fünfte Sprache)"
+
+#: options/models.py:262
+msgid "The view text for this option (in the quinary language)."
+msgstr "Der Ansichtstext für diese Option (fünfte Sprache)."
+
+#: options/models.py:266 options/templates/options/export/option.html:17
msgid "Additional input"
msgstr "Zusätzliche Eingabe"
-#: options/models.py:208
+#: options/models.py:267
msgid "Designates whether an additional input is possible for this option."
msgstr "Legt fest, ob eine zusätzliche Eingabe für diese Option möglich ist."
+#: options/templates/options/export/option.html:11
+#: questions/templates/questions/export/page.html:20
+#: questions/templates/questions/export/question.html:22
+#: questions/templates/questions/export/questionset.html:22
+msgid "Help"
+msgstr "Hilfe"
+
+#: options/templates/options/export/option.html:14
+msgid "View text"
+msgstr "Ansichtstext"
+
#: overlays/apps.py:7 overlays/models.py:33
msgid "Overlays"
msgstr "Einblendungen"
#: overlays/models.py:11 projects/forms.py:182
-#: projects/models/continuation.py:18 projects/models/invite.py:25
-#: projects/models/membership.py:27 projects/models/project.py:35
+#: projects/models/continuation.py:18 projects/models/invite.py:23
+#: projects/models/membership.py:25 projects/models/project.py:33
#: projects/templates/projects/project_detail_invites.html:14
#: projects/templates/projects/project_detail_memberships.html:19
msgid "User"
@@ -1485,7 +1600,7 @@ msgstr "Benutzer"
msgid "The user for this overlay."
msgstr "Der Benutzer für diese Einblendung."
-#: overlays/models.py:16 projects/models/project.py:40
+#: overlays/models.py:16 projects/models/project.py:38
msgid "Site"
msgstr "Standort"
@@ -1501,7 +1616,7 @@ msgstr "Url-Name"
msgid "The url_name for this overlay."
msgstr "Der url_name für diese Einblendung."
-#: overlays/models.py:26 projects/forms.py:335
+#: overlays/models.py:26 projects/forms.py:337
#: projects/templates/projects/project_answers.html:13
#: projects/templates/projects/project_view.html:28
msgid "Current"
@@ -1538,19 +1653,19 @@ msgstr ""
msgid "Reset overlays"
msgstr "Einblendungen zurücksetzen"
-#: projects/apps.py:8 projects/models/project.py:72
+#: projects/apps.py:8 projects/models/project.py:80
msgid "Projects"
msgstr "Projekte"
-#: projects/constants.py:8 projects/models/membership.py:14
+#: projects/constants.py:8 projects/models/membership.py:12
msgid "Owner"
msgstr "Besitzer"
-#: projects/constants.py:10 projects/models/membership.py:16
+#: projects/constants.py:10 projects/models/membership.py:14
msgid "Author"
msgstr "Autor"
-#: projects/constants.py:11 projects/models/membership.py:17
+#: projects/constants.py:11 projects/models/membership.py:15
msgid "Guest"
msgstr "Gast"
@@ -1590,82 +1705,60 @@ msgstr ""
msgid "Only existing users can be added silently."
msgstr "Nur bestehende Benutzer können stillschweigend hinzugefügt werden."
-#: projects/forms.py:301 projects/forms.py:305
+#: projects/forms.py:303 projects/forms.py:307
#, python-format
msgid "Attach %s"
msgstr "%s hinzufügen"
-#: projects/forms.py:311
+#: projects/forms.py:313
msgid "Subject"
msgstr "Betreff"
-#: projects/forms.py:312
+#: projects/forms.py:314
msgid "Message"
msgstr "Nachricht"
-#: projects/forms.py:319
+#: projects/forms.py:321
msgid "Answers"
msgstr "Antworten"
-#: projects/forms.py:320
+#: projects/forms.py:322
msgid "Attach the output of \"View answers\"."
msgstr "Die Ausgabe von \"Antworten anzeigen\" anhängen."
-#: projects/forms.py:323 projects/models/project.py:65
+#: projects/forms.py:325 projects/models/project.py:63
#: projects/templates/projects/project_detail_views.html:11 views/apps.py:7
-#: views/models.py:131 views/templates/views/export/views.html:6
+#: views/models.py:136 views/templates/views/export/views.html:6
msgid "Views"
msgstr "Ansichten"
-#: projects/forms.py:327
+#: projects/forms.py:329
msgid "Files"
msgstr "Dateien"
-#: projects/forms.py:334 projects/models/snapshot.py:33
+#: projects/forms.py:336 projects/models/snapshot.py:33
#: projects/models/value.py:38
#: projects/templates/projects/project_detail_snapshots.html:20
#: projects/templates/projects/project_import.html:93
msgid "Snapshot"
msgstr "Snapshot"
-#: projects/forms.py:338
+#: projects/forms.py:340
msgid "Format"
msgstr "Format"
-#: projects/forms.py:353 projects/forms.py:358
+#: projects/forms.py:355 projects/forms.py:360
msgid "Recipients"
msgstr "Empfänger"
-#: projects/forms.py:359
+#: projects/forms.py:361
msgid "Enter recipients line by line"
msgstr "Empfänger Zeile für Zeile eingeben"
-#: projects/imports.py:225
+#: projects/imports.py:224
msgid "Import project from this URL"
msgstr "Projekt von dieser URL importieren"
-#: projects/imports.py:270
-msgid "GitHub repository"
-msgstr "GitHub-Repository"
-
-#: projects/imports.py:271 projects/imports.py:323
-msgid "Please use the form username/repository or organization/repository."
-msgstr ""
-"Bitte verwenden Sie das Format Benutzername/Repository oder Organisation/"
-"Repository."
-
-#: projects/imports.py:272 projects/imports.py:324
-msgid "File path"
-msgstr "Datei-Pfad"
-
-#: projects/imports.py:273 projects/imports.py:325
-msgid "Branch, tag, or commit"
-msgstr "Branch, Tag, oder Commit"
-
-#: projects/imports.py:322
-msgid "GitLab repository"
-msgstr "GitLab-Repository"
-
#: projects/mixins.py:79 projects/mixins.py:96 projects/mixins.py:110
#: projects/mixins.py:133 projects/mixins.py:151 projects/mixins.py:166
#: projects/mixins.py:201
@@ -1688,9 +1781,9 @@ msgstr ""
msgid "Files of this type cannot be imported."
msgstr "Dateien dieses Typs können nicht importiert werden."
-#: projects/models/continuation.py:13 projects/models/integration.py:16
-#: projects/models/invite.py:20 projects/models/issue.py:28
-#: projects/models/membership.py:22 projects/models/project.py:71
+#: projects/models/continuation.py:13 projects/models/integration.py:14
+#: projects/models/invite.py:18 projects/models/issue.py:26
+#: projects/models/membership.py:20 projects/models/project.py:79
#: projects/models/snapshot.py:17 projects/models/value.py:32
#: projects/templates/projects/project_questions_overview.html:5
msgid "Project"
@@ -1704,7 +1797,7 @@ msgstr "Das Projekt für diese Fortsetzung."
msgid "The user for this continuation."
msgstr "Der Benutzer für diese Fortsetzung."
-#: projects/models/continuation.py:23 questions/models/page.py:192
+#: projects/models/continuation.py:23 questions/models/page.py:167
#: questions/templates/questions/export/page.html:3
msgid "Page"
msgstr "Seite"
@@ -1721,20 +1814,20 @@ msgstr "Fortsetzung"
msgid "Continuations"
msgstr "Fortsetzungen"
-#: projects/models/integration.py:17
+#: projects/models/integration.py:15
msgid "The project for this integration."
msgstr "Das Projekt zu dem diese Integration gehört."
-#: projects/models/integration.py:20
+#: projects/models/integration.py:18
msgid "Provider key"
msgstr "Provider-Schlüssel"
-#: projects/models/integration.py:21
+#: projects/models/integration.py:19
msgid "The key of the provider for this integration."
msgstr "Der Schlüssel für den Provider dieser Integration."
-#: projects/models/integration.py:26 projects/models/integration.py:55
-#: projects/models/issue.py:107
+#: projects/models/integration.py:26 projects/models/integration.py:61
+#: projects/models/issue.py:106
msgid "Integration"
msgstr "Integration"
@@ -1743,68 +1836,68 @@ msgstr "Integration"
msgid "Integrations"
msgstr "Integrationen"
-#: projects/models/integration.py:56
+#: projects/models/integration.py:62
msgid "The integration for this integration option."
msgstr "Die Integration für diese Integrations-Option."
-#: projects/models/integration.py:61
+#: projects/models/integration.py:67
msgid "The key for this integration option."
msgstr "Der Schlüssel für diese Integrations-Option."
-#: projects/models/integration.py:64 projects/models/value.py:100
+#: projects/models/integration.py:70 projects/models/value.py:100
msgid "Value"
msgstr "Wert"
-#: projects/models/integration.py:65
+#: projects/models/integration.py:71
msgid "The value for this integration option."
msgstr "Der Wert für diese Integrations-Option."
-#: projects/models/integration.py:69
+#: projects/models/integration.py:75
msgid "Secret"
msgstr "Geheimnis"
-#: projects/models/integration.py:70
+#: projects/models/integration.py:76
msgid ""
"Designates whether this integration option is hidden from regular users."
msgstr "Gibt an, ob diese Integrationsoption für Benutzer verborgen ist."
-#: projects/models/integration.py:75
+#: projects/models/integration.py:81
msgid "Integration option"
msgstr "Integrations-Option"
-#: projects/models/integration.py:76
+#: projects/models/integration.py:82
msgid "Integration options"
msgstr "Integrations-Optionen"
-#: projects/models/invite.py:21
+#: projects/models/invite.py:19
msgid "The project for this invite."
msgstr "Das Projekt für diese Einladung."
-#: projects/models/invite.py:26 projects/models/membership.py:28
+#: projects/models/invite.py:24 projects/models/membership.py:26
msgid "The user for this membership."
msgstr "Der Benutzer für diese Mitgliedschaft."
-#: projects/models/invite.py:31
+#: projects/models/invite.py:29
msgid "The e-mail for this membership."
msgstr "Die E-Mail für diese Mitgliedschaft."
-#: projects/models/invite.py:36
+#: projects/models/invite.py:34
msgid "The role for this invite."
msgstr "Die Rolle für diese Einladung."
-#: projects/models/invite.py:40
+#: projects/models/invite.py:38
msgid "Token"
msgstr "Token"
-#: projects/models/invite.py:41
+#: projects/models/invite.py:39
msgid "The token for this invite."
msgstr "Der Token für diese Einladung."
-#: projects/models/invite.py:44
+#: projects/models/invite.py:42
msgid "Timestamp"
msgstr "Zeitstempel"
-#: projects/models/invite.py:45
+#: projects/models/invite.py:43
msgid "The timestamp for this invite."
msgstr "Der Zeitstempel für diese Einladung."
@@ -1817,74 +1910,74 @@ msgstr "Einladung"
msgid "Invites"
msgstr "Einladungen"
-#: projects/models/issue.py:21
+#: projects/models/issue.py:19
msgid "open"
msgstr "offen"
-#: projects/models/issue.py:22
+#: projects/models/issue.py:20
msgid "in progress"
msgstr "im Gange"
-#: projects/models/issue.py:23
+#: projects/models/issue.py:21
msgid "closed"
msgstr "geschlossen"
-#: projects/models/issue.py:29
+#: projects/models/issue.py:27
msgid "The project for this issue."
msgstr "Das Projekt zu dem dieser Issue gehört."
-#: projects/models/issue.py:33 projects/templates/projects/issue_detail.html:15
+#: projects/models/issue.py:31 projects/templates/projects/issue_detail.html:15
#: projects/templates/projects/project_detail_issues.html:19
-#: tasks/models.py:150
+#: tasks/models.py:155
msgid "Task"
msgstr "Aufgabe"
-#: projects/models/issue.py:34
+#: projects/models/issue.py:32
msgid "The task for this issue."
msgstr "Die Aufgabe für diesen Issue."
-#: projects/models/issue.py:38 projects/templates/projects/issue_detail.html:75
+#: projects/models/issue.py:36 projects/templates/projects/issue_detail.html:75
#: projects/templates/projects/project_detail_issues.html:22
msgid "Status"
msgstr "Status"
-#: projects/models/issue.py:39
+#: projects/models/issue.py:37
msgid "The status for this issue."
msgstr "Der Titel für diesen Issue."
-#: projects/models/issue.py:44 projects/models/issue.py:102
+#: projects/models/issue.py:43 projects/models/issue.py:101
msgid "Issue"
msgstr "Issue"
-#: projects/models/issue.py:45
+#: projects/models/issue.py:44
msgid "Issues"
msgstr "Issues"
-#: projects/models/issue.py:103
+#: projects/models/issue.py:102
msgid "The issue for this issue resource."
msgstr "Das Issue für diese Ressource."
-#: projects/models/issue.py:108
+#: projects/models/issue.py:107
msgid "The integration for this issue resource."
msgstr "Die Integration für diese Ressource."
-#: projects/models/issue.py:112
+#: projects/models/issue.py:111
msgid "The URL of this issue resource."
msgstr "Die URL für diese Ressource."
-#: projects/models/issue.py:117
+#: projects/models/issue.py:116
msgid "Issue resource"
msgstr "Issue-Ressource"
-#: projects/models/issue.py:118
+#: projects/models/issue.py:117
msgid "Issue resources"
msgstr "Issue Ressource"
-#: projects/models/membership.py:23
+#: projects/models/membership.py:21
msgid "The project for this membership."
msgstr "Das Projekt zu dem diese Mitgliedschaft gehört."
-#: projects/models/membership.py:33
+#: projects/models/membership.py:31
msgid "The role for this membership."
msgstr "Die Rolle für diese Mitgliedschaft."
@@ -1896,23 +1989,23 @@ msgstr "Mitgliedschaft"
msgid "Memberships"
msgstr "Mitgliedschaften"
-#: projects/models/project.py:30
+#: projects/models/project.py:28
msgid "Parent project"
msgstr "Übergeordnetes Projekt"
-#: projects/models/project.py:31
+#: projects/models/project.py:29
msgid "The parent project of this project."
msgstr "Das übergeordnete Projekt zu diesem Projekt."
-#: projects/models/project.py:36
+#: projects/models/project.py:34
msgid "The list of users for this project."
msgstr "Die Liste der Benutzer für dieses Projekt."
-#: projects/models/project.py:41
+#: projects/models/project.py:39
msgid "The site this project belongs to (in a multi site setup)."
msgstr "Die Site, zu der dieses Projekt gehört (in einem Multi-Standort-Setup)"
-#: projects/models/project.py:45 projects/models/snapshot.py:22
+#: projects/models/project.py:43 projects/models/snapshot.py:22
#: projects/templates/projects/project_import.html:25
#: projects/templates/projects/project_import.html:98
#: tasks/templates/tasks/export/tasks.html:27
@@ -1920,11 +2013,11 @@ msgstr "Die Site, zu der dieses Projekt gehört (in einem Multi-Standort-Setup)"
msgid "Title"
msgstr "Titel"
-#: projects/models/project.py:46
+#: projects/models/project.py:44
msgid "The title for this project."
msgstr "Der Titel für dieses Projekt."
-#: projects/models/project.py:50 projects/models/snapshot.py:27
+#: projects/models/project.py:48 projects/models/snapshot.py:27
#: projects/templates/projects/issue_send_integrations.html:8
#: projects/templates/projects/project_detail_header.html:15
#: projects/templates/projects/project_detail_integrations.html:18
@@ -1936,11 +2029,11 @@ msgstr "Der Titel für dieses Projekt."
msgid "Description"
msgstr "Beschreibung"
-#: projects/models/project.py:51
+#: projects/models/project.py:49
msgid "A description for this project (optional)."
msgstr "Eine Beschreibung für dieses Projekt (optional)."
-#: projects/models/project.py:55
+#: projects/models/project.py:53
#: projects/templates/projects/project_detail_header.html:23
#: projects/templates/projects/project_import.html:31
#: projects/templates/projects/project_questions_overview.html:8
@@ -1949,25 +2042,41 @@ msgstr "Eine Beschreibung für dieses Projekt (optional)."
msgid "Catalog"
msgstr "Katalog"
-#: projects/models/project.py:56
+#: projects/models/project.py:54
msgid "The catalog which will be used for this project."
msgstr "Der Fragenkatalog, der für dieses Projekt verwendet wird."
-#: projects/models/project.py:60
+#: projects/models/project.py:58
#: projects/templates/projects/project_detail_issues.html:11 tasks/apps.py:7
-#: tasks/models.py:151 tasks/templates/tasks/export/tasks.html:6
+#: tasks/models.py:156 tasks/templates/tasks/export/tasks.html:6
msgid "Tasks"
msgstr "Aufgaben"
-#: projects/models/project.py:61
+#: projects/models/project.py:59
msgid "The tasks that will be used for this project."
msgstr "Die Aufgaben, die für dieses Projekt verwendet werden."
-#: projects/models/project.py:66
+#: projects/models/project.py:64
msgid "The views that will be used for this project."
msgstr "Die Ansichten, die für dieses Projekt verwendet werden."
-#: projects/models/project.py:86
+#: projects/models/project.py:68
+msgid "Progress total"
+msgstr "Fortschritt Gesammtzahl"
+
+#: projects/models/project.py:69
+msgid "The total number of expected values for the progress bar."
+msgstr "Die Gesamtzahl der erwarteten Werte für den Fortschrittsbalken."
+
+#: projects/models/project.py:73
+msgid "Progress count"
+msgstr "Fortschritt Zahl"
+
+#: projects/models/project.py:74
+msgid "The number of values for the progress bar."
+msgstr "Die Anzahl der Werte für den Fortschrittsbalken."
+
+#: projects/models/project.py:94
msgid ""
"A project may not be moved to be a child of itself or one of its descendants."
msgstr ""
@@ -2065,7 +2174,7 @@ msgstr "Die Option die für diesen Wert gespeichert wird."
msgid "The file stored for this value."
msgstr "Die für diesen Wert gespeicherte Datei."
-#: projects/models/value.py:84 questions/models/question.py:213
+#: projects/models/value.py:84 questions/models/question.py:186
msgid "Value type"
msgstr "Wert-Typ"
@@ -2073,7 +2182,7 @@ msgstr "Wert-Typ"
msgid "Type of this value."
msgstr "Art von Wert."
-#: projects/models/value.py:89 questions/models/question.py:233
+#: projects/models/value.py:89 questions/models/question.py:206
msgid "Unit"
msgstr "Einheit"
@@ -2093,73 +2202,48 @@ msgstr "Externe ID für diesen Wert."
msgid "Values"
msgstr "Werte"
-#: projects/models/value.py:158
+#: projects/models/value.py:162
#: projects/templates/projects/project_questions_form_group_yesno.html:30
msgid "Yes"
msgstr "Ja"
-#: projects/models/value.py:160
+#: projects/models/value.py:164
#: projects/templates/projects/project_questions_form_group_yesno.html:39
msgid "No"
msgstr "Nein"
-#: projects/providers.py:34
+#: projects/providers.py:32
msgid "Integration error"
msgstr "Integrationsfehler"
-#: projects/providers.py:35
+#: projects/providers.py:33
msgid "The Integration is not configured correctly."
msgstr "Die Integration ist nicht korrekt konfiguriert."
-#: projects/providers.py:76
-msgid "Add GitHub integration"
-msgstr "GitHub-Integration hinzufügen"
-
-#: projects/providers.py:77
-msgid "Send to GitHub"
-msgstr "An GitHub senden"
-
#: projects/providers.py:78
-msgid ""
-"This integration allow the creation of issues in arbitrary GitHub "
-"repositories. The upload of attachments is not supported by GitHub."
-msgstr ""
-"Diese Integration ermöglicht die Erstellung von Ausgaben in beliebigen "
-"GitHub-Repositorien. Das Hochladen von Anhängen wird von GitHub nicht "
-"unterstützt."
-
-#: projects/providers.py:145
-msgid "The GitHub repository to send issues to."
-msgstr "Das GitHub-Repository an das Aufgaben versendet werden."
-
-#: projects/providers.py:150
-msgid "The secret for a GitHub webhook to close a task."
-msgstr "Das Geheimnis für einen GitHub-Webhook zum Schließen einer Aufgabe."
-
-#: projects/providers.py:158
-msgid "Add GitLab integration"
-msgstr "GitLab-Integration hinzufügen"
+msgid "Add Simple integration"
+msgstr "Simple Integration hinzufügen"
-#: projects/providers.py:159
-msgid "Send to GitLab"
-msgstr "An GitLab senden"
+#: projects/providers.py:79
+msgid "Send to Simple"
+msgstr "An Simple senden"
-#: projects/providers.py:163
-#, python-brace-format
+#: projects/providers.py:80
msgid ""
-"This integration allow the creation of issues in arbitrary repositories on "
-"{self.gitlab_url}. The upload of attachments is not supported by GitLab."
+"This integration allow the creation of issues in arbitrary Simple "
+"repositories. The upload of attachments is not supported."
msgstr ""
-"Diese Integration ermöglicht die Erstellung von Aufgaben auf {self."
-"gitlab_url}. Das Hochladen von Anhängen wird von GitLab nicht unterstützt."
+"Diese Integration ermöglicht die Erstellung von Issues in beliebigen Simple "
+"Repositories. Das Hochladen von Anhängen wird nicht unterstützt."
-#: projects/providers.py:227
-msgid "The GitLab repository to send issues to."
-msgstr "Das GitLab-Repository an das Aufgaben versendet werden."
+#: projects/providers.py:89
+msgid "The URL of the project to send tasks to."
+msgstr "Die URL des Projekts, an das Aufgaben gesendet werden sollen."
-#: projects/providers.py:232
-msgid "The secret for a GitLab webhook to close a task."
-msgstr "Das Geheimnis für einen GitLab-Webhook zum Schließen einer Aufgabe."
+#: projects/providers.py:94
+msgid "The secret for a webhook to close a task (optional)."
+msgstr ""
+"Das Geheimnis für einen Webhook zum Schließen einer Aufgabe (optional)."
#: projects/serializers/v1/__init__.py:162
msgid "A user with that e-mail is already a member of the project."
@@ -2174,26 +2258,18 @@ msgstr "Es muss entweder ein Benutzer oder eine E-Mail angegeben werden."
msgid "User and e-mail are mutually exclusive."
msgstr "Benutzer und E-Mail schließen einander aus."
-#: projects/serializers/v1/page.py:93
+#: projects/serializers/v1/page.py:97
msgid "entry"
msgstr "Eintrag"
-#: projects/serializers/v1/page.py:128
+#: projects/serializers/v1/page.py:133
msgid "block"
msgstr "Block"
-#: projects/serializers/v1/page.py:131
-msgid "blocks"
-msgstr "Blöcke"
-
-#: projects/serializers/v1/page.py:181
+#: projects/serializers/v1/page.py:186
msgid "set"
msgstr "Set"
-#: projects/serializers/v1/page.py:184
-msgid "sets"
-msgstr "Sets"
-
#: projects/templates/projects/email/project_invite_message.txt:1
msgid "Greetings"
msgstr "Hallo"
@@ -2285,7 +2361,7 @@ msgid "Dates"
msgstr "Daten"
#: projects/templates/projects/issue_detail.html:37 questions/apps.py:7
-#: questions/models/page.py:76 questions/models/question.py:255
+#: questions/models/page.py:76 questions/models/question.py:230
#: questions/models/questionset.py:66
msgid "Questions"
msgstr "Fragen"
@@ -2645,7 +2721,7 @@ msgid "Import values"
msgstr "Werte importieren"
#: projects/templates/projects/project_detail_sidebar.html:131
-#: projects/templates/projects/projects.html:70
+#: projects/templates/projects/projects.html:78
msgid "Import from file"
msgstr "Importieren aus Datei"
@@ -2654,14 +2730,14 @@ msgid "Import from parent project"
msgstr "Importieren aus übergeordnetem Projekt"
#: projects/templates/projects/project_detail_sidebar.html:147
-#: projects/templates/projects/projects.html:79
+#: projects/templates/projects/projects.html:87
msgid "Import directly"
msgstr "Projekt direkt importieren"
#: projects/templates/projects/project_detail_snapshots.html:22
#: projects/templates/projects/project_import.html:34
#: projects/templates/projects/project_import.html:104
-#: projects/templates/projects/site_projects.html:65
+#: projects/templates/projects/site_projects.html:66
msgid "Created"
msgstr "Erstellt"
@@ -2692,7 +2768,7 @@ msgstr ""
"Snapshot zum Erstellen von Ansichten verwendet werden, und das Projekt kann "
"bei Bedarf auch auf einen früheren Snapshot zurückgesetzt werden."
-#: projects/templates/projects/project_detail_views.html:19 views/models.py:130
+#: projects/templates/projects/project_detail_views.html:19 views/models.py:135
msgid "View"
msgstr "Ansicht"
@@ -2752,7 +2828,7 @@ msgid "Save project"
msgstr "Projekt speichern"
#: projects/templates/projects/project_form.html:43
-#: projects/templates/projects/projects.html:31
+#: projects/templates/projects/projects.html:36
msgid "Create new project"
msgstr "Neues Projekt erstellen"
@@ -2773,7 +2849,7 @@ msgid "Import from %(source_title)s"
msgstr "Importieren von %(source_title)s"
#: projects/templates/projects/project_import.html:50
-#: questions/models/question.py:254
+#: questions/models/question.py:229
msgid "Question"
msgstr "Frage"
@@ -2895,7 +2971,7 @@ msgstr "Aktuell:"
msgid "Update:"
msgstr "Zuletzt geändert:"
-#: projects/templates/projects/project_questions_form_group_radio.html:42
+#: projects/templates/projects/project_questions_form_group_radio.html:62
msgid "No options are available."
msgstr "Keine Optionen vorhanden."
@@ -2904,7 +2980,7 @@ msgid "Please select"
msgstr "Bitte auswählen"
#: projects/templates/projects/project_questions_head.html:5
-#: projects/templates/projects/projects.html:121
+#: projects/templates/projects/projects.html:131
msgid "My Projects"
msgstr "Meine Projekte"
@@ -2938,22 +3014,24 @@ msgstr ""
"gespeicherten Eingaben verworfen werden."
#: projects/templates/projects/project_questions_navigation_help.html:14
-msgid ""
-"Entries with might be skipped based on your input."
-msgstr ""
-"Einträge mit können aufgrund Ihrer Eingabe übersprungen werden."
+msgid "Grey entries will be conditionally skipped based on your input."
+msgstr "Graue Einträge werden abhängig von Ihren Eingaben übersprungen."
#: projects/templates/projects/project_questions_overview.html:14
+msgid "Reload page"
+msgstr "Seite neu laden"
+
+#: projects/templates/projects/project_questions_overview.html:17
#: projects/templates/projects/site_projects.html:52
msgid "Back to my projects"
msgstr "Zurück zu meinen Projekten"
-#: projects/templates/projects/project_questions_progress.html:6
+#: projects/templates/projects/project_questions_progress.html:4
+#: projects/templates/projects/project_questions_progress.html:11
+#: projects/templatetags/projects_tags.py:27
#, python-format
-msgid "%(values)s of %(total)s"
-msgstr "%(values)s von %(total)s"
+msgid "%(count)s of %(total)s"
+msgstr "%(count)s von %(total)s"
#: projects/templates/projects/project_questions_question_label.html:5
msgid "(optional)"
@@ -3012,6 +3090,8 @@ msgid "Overview"
msgstr "Übersicht"
#: projects/templates/projects/project_questions_sidebar.html:7
+#: projects/templates/projects/projects.html:137
+#: projects/templates/projects/site_projects.html:65
msgid "Progress"
msgstr "Fortschritt"
@@ -3019,8 +3099,33 @@ msgstr "Fortschritt"
msgid "Navigation"
msgstr "Navigation"
+#: projects/templates/projects/project_questions_value_errors.html:6
+msgid ""
+"This field could not be saved, since somebody else did so while you were "
+"editing. You will need to reload the page to make changes, but your input "
+"will be overwritten."
+msgstr ""
+"Dieses Feld konnte nicht gespeichert werden, da jemand anderes dies getan "
+"hat, während Sie es bearbeitet haben. Sie müssen die Seite neu laden, um "
+"Änderungen vorzunehmen, aber Ihre Eingaben werden dabei überschrieben."
+
+#: projects/templates/projects/project_questions_value_errors.html:12
+msgid ""
+"This field could not be saved, since somebody else removed it while you were "
+"editing. You will need to reload the page to proceed, but your input will be "
+"lost."
+msgstr ""
+"Dieses Feld konnte nicht gespeichert werden, da es während Ihrer Bearbeitung "
+"von jemand anderem entfernt wurde. Sie müssen die Seite neu laden, um "
+"fortzufahren, aber Ihre Eingaben gehen dabei verloren."
+
+#: projects/templates/projects/project_questions_value_errors.html:18
+#: projects/viewsets.py:400
+msgid "You reached the file quota for this project."
+msgstr "Sie haben die Quota für dieses Projekt erreicht."
+
#: projects/templates/projects/project_view.html:90
-#: projects/views/project.py:202
+#: projects/views/project.py:207
msgid "Error"
msgstr "Fehler"
@@ -3030,22 +3135,22 @@ msgstr ""
"Beim Erstellen der Ansicht ist ein Fehler aufgetreten. Bitte kontaktieren "
"Sie den Support."
-#: projects/templates/projects/projects.html:42
+#: projects/templates/projects/projects.html:47
#, python-format
msgid "View all projects on %(site)s"
msgstr "Alle Projekte auf %(site)s anzeigen"
-#: projects/templates/projects/projects.html:48
+#: projects/templates/projects/projects.html:54
#: projects/templates/projects/site_projects.html:16
msgid "Filter projects"
msgstr "Projekte filtern"
-#: projects/templates/projects/projects.html:51
+#: projects/templates/projects/projects.html:57
#: projects/templates/projects/site_projects.html:19
msgid "Search project title"
msgstr "Suche nach Projekttitel"
-#: projects/templates/projects/projects.html:58
+#: projects/templates/projects/projects.html:64
#: projects/templates/projects/site_projects.html:26
#, python-format
msgid ""
@@ -3053,20 +3158,20 @@ msgid ""
msgstr ""
"%(number_of_filtered_projects)s von %(number_of_projects)s Projekte angezeigt"
-#: projects/templates/projects/projects.html:65
+#: projects/templates/projects/projects.html:73
msgid "Import existing project"
msgstr "Vorhandenes Projekt importieren"
-#: projects/templates/projects/projects.html:96
+#: projects/templates/projects/projects.html:106
msgid "Pending invitations"
msgstr "Ausstehende Einladungen"
-#: projects/templates/projects/projects.html:112
+#: projects/templates/projects/projects.html:122
msgid "Click on one of the links to join the projects."
msgstr "Klicken Sie auf einen der Links, um an den Projekten teilzunehmen."
-#: projects/templates/projects/projects.html:128
-#: projects/templates/projects/site_projects.html:66
+#: projects/templates/projects/projects.html:139
+#: projects/templates/projects/site_projects.html:67
msgid "Last changed"
msgstr "Letzte Änderung"
@@ -3111,20 +3216,37 @@ msgstr ""
msgid "Rollback"
msgstr "Zurücksetzen"
-#: projects/validators.py:23 projects/viewsets.py:368
-msgid "You reached the file quota for this project."
+#: projects/templatetags/projects_tags.py:49
+#, python-format
+msgid "(%(progress)s progress)"
+msgstr "(%(progress)s Fortschritt)"
+
+#: projects/validators.py:22
+msgid "A newer version of this value was found."
+msgstr "Eine neuere Version dieses Wertes wurde gefunden."
+
+#: projects/validators.py:34
+msgid ""
+"An existing value for this attribute/set_prefix/set_index/collection_index "
+"was found."
+msgstr ""
+"Es wurde ein vorhandener Wert für dieses Attribut/set_prefix/set_index/"
+"collection_index gefunden."
+
+#: projects/validators.py:49
+msgid "The file quota for this project has been reached."
msgstr "Sie haben die Quota für dieses Projekt erreicht."
-#: projects/views/project.py:182
+#: projects/views/project.py:187
msgid "Sorry, your invitation has been expired."
msgstr "Entschuldigung, Ihre Einladung ist abgelaufen."
-#: projects/views/project.py:185
+#: projects/views/project.py:190
#, python-format
msgid "Sorry, but this invitation is for the user \"%s\"."
msgstr "Entschuldigung, aber diese Einladung ist für den Benutzer \"%s\"."
-#: projects/views/project.py:199
+#: projects/views/project.py:204
msgid "Sorry, the invitation link is not valid."
msgstr "Der Einladungslink ist leider nicht gültig."
@@ -3165,7 +3287,7 @@ msgstr "Abschnitte"
msgid "The sections of this catalog."
msgstr "Der Abschnitte für diesen Katalog."
-#: questions/models/catalog.py:71 tasks/models.py:53 views/models.py:54
+#: questions/models/catalog.py:71 tasks/models.py:56 views/models.py:57
msgid "Sites"
msgstr "Standorte"
@@ -3178,7 +3300,7 @@ msgid "The sites that can edit this catalog (in a multi site setup)."
msgstr ""
"Die Seiten, die diesen Katalog bearbeiten können (im Multi-Site-Setup)."
-#: questions/models/catalog.py:81 tasks/models.py:63 views/models.py:64
+#: questions/models/catalog.py:81 tasks/models.py:66 views/models.py:67
msgid "Group"
msgstr "Gruppe"
@@ -3188,75 +3310,75 @@ msgstr "Die Gruppen für die dieser Katalog aktiv ist."
#: questions/models/catalog.py:86 questions/models/page.py:86
#: questions/models/questionset.py:81 questions/models/section.py:69
-#: tasks/models.py:68 views/models.py:74
+#: tasks/models.py:71 views/models.py:77
msgid "Title (primary)"
msgstr "Titel (erste Sprache)"
#: questions/models/catalog.py:87
-msgid "The title for this catalog in the primary language."
+msgid "The title for this catalog (in the primary language)."
msgstr "Der Titel für diesen Katalog (erste Sprache)."
#: questions/models/catalog.py:91 questions/models/page.py:91
#: questions/models/questionset.py:86 questions/models/section.py:74
-#: tasks/models.py:73 views/models.py:79
+#: tasks/models.py:76 views/models.py:82
msgid "Title (secondary)"
msgstr "Titel (zweite Sprache)"
#: questions/models/catalog.py:92
-msgid "The title for this catalog in the secondary language."
+msgid "The title for this catalog (in the secondary language)."
msgstr "Der Titel für diesen Katalog (zweite Sprache)."
#: questions/models/catalog.py:96 questions/models/page.py:96
#: questions/models/questionset.py:91 questions/models/section.py:79
-#: tasks/models.py:78 views/models.py:84
+#: tasks/models.py:81 views/models.py:87
msgid "Title (tertiary)"
msgstr "Titel (dritte Sprache)"
#: questions/models/catalog.py:97
-msgid "The title for this catalog in the tertiary language."
+msgid "The title for this catalog (in the tertiary language)."
msgstr "Der Titel für diesen Katalog (dritte Sprache)."
#: questions/models/catalog.py:101 questions/models/page.py:101
#: questions/models/questionset.py:96 questions/models/section.py:84
-#: tasks/models.py:83 views/models.py:89
+#: tasks/models.py:86 views/models.py:92
msgid "Title (quaternary)"
msgstr "Titel (vierte Sprache)"
#: questions/models/catalog.py:102
-msgid "The title for this catalog in the quaternary language."
+msgid "The title for this catalog (in the quaternary language)."
msgstr "Der Titel für diesen Katalog (vierte Sprache)."
#: questions/models/catalog.py:106 questions/models/page.py:106
#: questions/models/questionset.py:101 questions/models/section.py:89
-#: tasks/models.py:88 views/models.py:94
+#: tasks/models.py:91 views/models.py:97
msgid "Title (quinary)"
msgstr "Titel (fünfte Sprache)"
#: questions/models/catalog.py:107
-msgid "The title for this catalog in the quinary language."
+msgid "The title for this catalog (in the quinary language)."
msgstr "Der Titel für diesen Katalog (fünfte Sprache)."
#: questions/models/catalog.py:112
-msgid "The help text for this catalog in the primary language."
+msgid "The help text for this catalog (in the primary language)."
msgstr "Der Hilfetext für diesen Katalog (erste Sprache)."
#: questions/models/catalog.py:117
-msgid "The help text for this catalog in the secondary language."
+msgid "The help text for this catalog (in the secondary language)."
msgstr "Der Hilfetext für diesen Katalog (zweite Sprache)."
#: questions/models/catalog.py:122
-msgid "The help text for this catalog in the tertiary language."
+msgid "The help text for this catalog (in the tertiary language)."
msgstr "Der Hilfetext für diesen Katalog (dritte Sprache)."
#: questions/models/catalog.py:127
-msgid "The help text for this catalog in the quaternary language."
+msgid "The help text for this catalog (in the quaternary language)."
msgstr "Der Hilfetext für diesen Katalog (vierte Sprache)."
#: questions/models/catalog.py:132
-msgid "The help text for this catalog in the quinary language."
+msgid "The help text for this catalog (in the quinary language)."
msgstr "Der Hilfetext für diesen Katalog (fünfte Sprache)."
-#: questions/models/catalog.py:136 tasks/models.py:144 views/models.py:124
+#: questions/models/catalog.py:136 tasks/models.py:147 views/models.py:127
msgid "Available"
msgstr "Verfügbar"
@@ -3264,7 +3386,7 @@ msgstr "Verfügbar"
msgid "Designates whether this catalog is generally available for projects."
msgstr "Legt fest, ob dieser Katalog für Projekte verfügbar ist."
-#: questions/models/catalog.py:143 tasks/models.py:47 views/models.py:48
+#: questions/models/catalog.py:143 tasks/models.py:50 views/models.py:51
msgid "Catalogs"
msgstr "Kataloge"
@@ -3296,7 +3418,7 @@ msgstr ""
msgid "The attribute this page belongs to."
msgstr "Das Attribut zu dem diese Seite gehört."
-#: questions/models/page.py:66 questions/models/question.py:58
+#: questions/models/page.py:66 questions/models/question.py:56
#: questions/models/questionset.py:71
msgid "is collection"
msgstr "Ist eine Sammlung"
@@ -3306,6 +3428,7 @@ msgid "Designates whether this page is a collection."
msgstr "Legt fest, ob diese Seite eine Sammlung ist."
#: questions/models/page.py:71 questions/models/questionset.py:61
+#: questions/models/questionset.py:163
msgid "Question sets"
msgstr "Fragensets"
@@ -3322,283 +3445,234 @@ msgid "The sites that can edit this page (in a multi site setup)."
msgstr "Die Seiten, die diese Seite bearbeiten können (im Multi-Site-Setup)."
#: questions/models/page.py:87
-msgid "The title for this page in the primary language."
+msgid "The title for this page (in the primary language)."
msgstr "Der Titel für diese Seite (erste Sprache)."
#: questions/models/page.py:92
-msgid "The title for this page in the secondary language."
+msgid "The title for this page (in the secondary language)."
msgstr "Der Titel für diese Seite (zweite Sprache)."
#: questions/models/page.py:97
-msgid "The title for this page in the tertiary language."
+msgid "The title for this page (in the tertiary language)."
msgstr "Der Titel für diese Seite (dritte Sprache)."
#: questions/models/page.py:102
-msgid "The title for this page in the quaternary language."
+msgid "The title for this page (in the quaternary language)."
msgstr "Der Titel für diese Seite (vierte Sprache)."
#: questions/models/page.py:107
-msgid "The title for this page in the quinary language."
+msgid "The title for this page (in the quinary language)."
msgstr "Der Titel für diese Seite (fünfte Sprache)."
#: questions/models/page.py:112
-msgid "The help text for this page in the primary language."
+msgid "The help text for this page (in the primary language)."
msgstr "Der Hilfetext für diese Seite (erste Sprache)."
#: questions/models/page.py:117
-msgid "The help text for this page in the secondary language."
+msgid "The help text for this page (in the secondary language)."
msgstr "Der Hilfetext für diese Seite (zweite Sprache)."
#: questions/models/page.py:122
-msgid "The help text for this page in the tertiary language."
+msgid "The help text for this page (in the tertiary language)."
msgstr "Der Hilfetext für diese Seite (dritte Sprache)."
#: questions/models/page.py:127
-msgid "The help text for this page in the quaternary language."
+msgid "The help text for this page (in the quaternary language)."
msgstr "Der Hilfetext für diese Seite (vierte Sprache)."
#: questions/models/page.py:132
-msgid "The help text for this page in the quinary language."
+msgid "The help text for this page (in the quinary language)."
msgstr "Der Hilfetext für diese Seite (fünfte Sprache)."
-#: questions/models/page.py:136 questions/models/question.py:158
+#: questions/models/page.py:136 questions/models/question.py:156
#: questions/models/questionset.py:131
msgid "Name (primary)"
msgstr "Name (erste Sprache)"
#: questions/models/page.py:137
-msgid "The name displayed for this page in the primary language."
+msgid "The name displayed for this page (in the primary language)."
msgstr "Der Name, der für diese Seite angezeigt wird (erste Sprache)."
-#: questions/models/page.py:141 questions/models/question.py:163
+#: questions/models/page.py:141 questions/models/question.py:161
#: questions/models/questionset.py:136
msgid "Name (secondary)"
msgstr "Name (zweite Sprache)"
#: questions/models/page.py:142
-msgid "The name displayed for this page in the secondary language."
+msgid "The name displayed for this page (in the secondary language)."
msgstr "Der Name, der für diese Seite angezeigt wird (zweite Sprache)."
-#: questions/models/page.py:146 questions/models/question.py:168
+#: questions/models/page.py:146 questions/models/question.py:166
#: questions/models/questionset.py:141
msgid "Name (tertiary)"
msgstr "Name (dritte Sprache)"
#: questions/models/page.py:147
-msgid "The name displayed for this page in the tertiary language."
+msgid "The name displayed for this page (in the tertiary language)."
msgstr "Der Name, der für diese Seite angezeigt wird (dritte Sprache)."
-#: questions/models/page.py:151 questions/models/question.py:173
+#: questions/models/page.py:151 questions/models/question.py:171
#: questions/models/questionset.py:146
msgid "Name (quaternary)"
msgstr "Name (vierte Sprache)"
#: questions/models/page.py:152
-msgid "The name displayed for this page in the quaternary language."
+msgid "The name displayed for this page (in the quaternary language)."
msgstr "Der Name, der für diese Seite angezeigt wird (vierte Sprache)."
-#: questions/models/page.py:156 questions/models/question.py:178
+#: questions/models/page.py:156 questions/models/question.py:176
#: questions/models/questionset.py:151
msgid "Name (quinary)"
msgstr "Name (fünfte Sprache)"
#: questions/models/page.py:157
-msgid "The name displayed for this page in the quinary language."
+msgid "The name displayed for this page (in the quinary language)."
msgstr "Der Name, der für diese Seite angezeigt wird (fünfte Sprache)."
-#: questions/models/page.py:161 questions/models/question.py:183
-#: questions/models/questionset.py:156
-msgid "Plural name (primary)"
-msgstr "Name (Plural, erste Sprache)"
-
#: questions/models/page.py:162
-msgid "The plural name displayed for this page in the primary language."
-msgstr "Der Name (Plural), der für diese Seite angezeigt wird (erste Sprache)."
-
-#: questions/models/page.py:166 questions/models/question.py:188
-#: questions/models/questionset.py:161
-msgid "Plural name (secondary)"
-msgstr "Name (Plural, zweite Sprache)"
-
-#: questions/models/page.py:167
-msgid "The plural name displayed for this page in the secondary language."
-msgstr ""
-"Der Name (Plural), der für diese Seite angezeigt wird (zweite Sprache)."
-
-#: questions/models/page.py:171 questions/models/question.py:193
-#: questions/models/questionset.py:166
-msgid "Plural name (tertiary)"
-msgstr "Name (Plural, dritte Sprache)"
-
-#: questions/models/page.py:172
-msgid "The plural name displayed for this page in the tertiary language."
-msgstr ""
-"Der Name (Plural), der für diese Seite angezeigt wird (dritte Sprache)."
-
-#: questions/models/page.py:176 questions/models/question.py:198
-#: questions/models/questionset.py:171
-msgid "Plural name (quaternary)"
-msgstr "Name (Plural, vierte Sprache)"
-
-#: questions/models/page.py:177
-msgid "The plural name displayed for this page in the quaternary language."
-msgstr ""
-"Der Name (Plural), der für diese Seite angezeigt wird (vierte Sprache)."
-
-#: questions/models/page.py:181 questions/models/question.py:203
-#: questions/models/questionset.py:176
-msgid "Plural name (quinary)"
-msgstr "Name (Plural, fünfte Sprache)"
-
-#: questions/models/page.py:182
-msgid "The plural name displayed for this page in the quinary language."
-msgstr ""
-"Der Name (Plural), der für diese Seite angezeigt wird (fünfte Sprache)."
-
-#: questions/models/page.py:187
msgid "List of conditions evaluated for this page."
msgstr "Liste der Bedingungen die für diese Seite ausgewertet werden."
-#: questions/models/page.py:193 questions/models/section.py:59
+#: questions/models/page.py:168 questions/models/section.py:59
msgid "Pages"
msgstr "Seiten"
-#: questions/models/question.py:29
+#: questions/models/question.py:27
msgid "The Uniform Resource Identifier of this question (auto-generated)."
msgstr "Der Uniform Resource Identifier diese Frage (automatisch erstellt)."
-#: questions/models/question.py:34
+#: questions/models/question.py:32
msgid "The prefix for the URI of this question."
msgstr "Das Präfix für die URI dieser Frage."
-#: questions/models/question.py:39
+#: questions/models/question.py:37
msgid "The path for the URI of this question."
msgstr "Der Pfad für die URI dieser Frage."
-#: questions/models/question.py:44
+#: questions/models/question.py:42
msgid "Additional internal information about this question."
msgstr "Zusätzliche interne Informationen über diesen Abschnitt."
-#: questions/models/question.py:49
+#: questions/models/question.py:47
msgid "Designates whether this question can be changed."
msgstr "Bezeichnet, ob diese Frage geändert werden kann."
-#: questions/models/question.py:54
+#: questions/models/question.py:52
msgid "The attribute this question belongs to."
msgstr "Das Attribut zu dem diese Frage gehört."
-#: questions/models/question.py:59
+#: questions/models/question.py:57
msgid "Designates whether this question is a collection."
msgstr "Legt fest, ob diese Frage eine Sammlung ist."
-#: questions/models/question.py:63
+#: questions/models/question.py:61
msgid "is optional"
msgstr "ist optional"
-#: questions/models/question.py:64
+#: questions/models/question.py:62
msgid "Designates whether this question is optional."
msgstr "Legt fest, ob diese Frage optional ist."
-#: questions/models/question.py:69
+#: questions/models/question.py:67
msgid "The sites that can edit this question (in a multi site setup)."
msgstr "Die Seiten, die diese Seite bearbeiten können (im Multi-Site-Setup)."
-#: questions/models/question.py:74
-msgid "The help text for this question in the primary language."
+#: questions/models/question.py:72
+msgid "The help text for this question (in the primary language)."
msgstr "Der Hilfetext für diese Frage (erste Sprache)."
-#: questions/models/question.py:79
-msgid "The help text for this question in the secondary language."
+#: questions/models/question.py:77
+msgid "The help text for this question (in the secondary language)."
msgstr "Der Hilfetext für diese Frage (zweite Sprache)."
-#: questions/models/question.py:84
-msgid "The help text for this question in the tertiary language."
+#: questions/models/question.py:82
+msgid "The help text for this question (in the tertiary language)."
msgstr "Der Hilfetext für diese Frage (dritte Sprache)."
-#: questions/models/question.py:89
-msgid "The help text for this question in the quaternary language."
+#: questions/models/question.py:87
+msgid "The help text for this question (in the quaternary language)."
msgstr "Der Hilfetext für diese Frage (vierte Sprache)."
-#: questions/models/question.py:94
-msgid "The help text for this question in the quinary language."
+#: questions/models/question.py:92
+msgid "The help text for this question (in the quinary language)."
msgstr "Der Hilfetext für diese Frage (fünfte Sprache)."
-#: questions/models/question.py:99
-msgid "The text for this question in the primary language."
+#: questions/models/question.py:97
+msgid "The text for this question (in the primary language)."
msgstr "Der Text für diese Frage (erste Sprache)."
-#: questions/models/question.py:104
-msgid "The text for this question in the secondary language."
+#: questions/models/question.py:102
+msgid "The text for this question (in the secondary language)."
msgstr "Der Titel für dieses Fragenset (zweite Sprache)."
-#: questions/models/question.py:109
-msgid "The text for this question in the tertiary language."
+#: questions/models/question.py:107
+msgid "The text for this question (in the tertiary language)."
msgstr "Der Titel für dieses Fragenset (dritte Sprache)."
-#: questions/models/question.py:114
-msgid "The text for this question in the quaternary language."
+#: questions/models/question.py:112
+msgid "The text for this question (in the quaternary language)."
msgstr "Der Text für diese Frage (vierte Sprache)."
-#: questions/models/question.py:119
-msgid "The text for this question in the quinary language."
+#: questions/models/question.py:117
+msgid "The text for this question (in the quinary language)."
msgstr "Der Titel für dieses Fragenset (fünfte Sprache)."
-#: questions/models/question.py:123
+#: questions/models/question.py:121
msgid "Default text value (primary)"
msgstr "Standardmäßige Antwort (erste Sprache)"
-#: questions/models/question.py:124
-msgid "The default text value for this question in the primary language."
+#: questions/models/question.py:122
+msgid "The default text value for this question (in the primary language)."
msgstr "Die standardmäßige Antwort für diese Frage (erste Sprache)."
-#: questions/models/question.py:128
+#: questions/models/question.py:126
msgid "Default text value (secondary)"
msgstr "Standardmäßige Antwort (zweite Sprache)"
-#: questions/models/question.py:129
-msgid "The default text value for this question in the secondary language."
+#: questions/models/question.py:127
+msgid "The default text value for this question (in the secondary language)."
msgstr "Die standardmäßige Antwort für diese Frage (zweite Sprache)."
-#: questions/models/question.py:133
+#: questions/models/question.py:131
msgid "Default text value (tertiary)"
msgstr "Standardmäßige Antwort (dritte Sprache)"
-#: questions/models/question.py:134
-msgid "The default text value for this question in the tertiary language."
+#: questions/models/question.py:132
+msgid "The default text value for this question (in the tertiary language)."
msgstr "Die standardmäßige Antwort für diese Frage (dritte Sprache)."
-#: questions/models/question.py:138
+#: questions/models/question.py:136
msgid "Default text value (quaternary)"
msgstr "Standardmäßige Antwort (vierte Sprache)"
-#: questions/models/question.py:139
-msgid "The default text value for this question in the quaternary language."
+#: questions/models/question.py:137
+msgid "The default text value for this question (in the quaternary language)."
msgstr "Die standardmäßige Antwort für diese Frage (vierte Sprache)."
-#: questions/models/question.py:143
+#: questions/models/question.py:141
msgid "Default text value (quinary)"
msgstr "Standardmäßige Antwort (fünfte Sprache)"
-#: questions/models/question.py:144
-msgid "The default text value for this question in the quinary language."
+#: questions/models/question.py:142
+msgid "The default text value for this question (in the quinary language)."
msgstr "Die standardmäßige Antwort (fünfte Sprache)."
-#: questions/models/question.py:148
+#: questions/models/question.py:146
msgid "Default option"
msgstr "Standardmäßige Option"
-#: questions/models/question.py:149
+#: questions/models/question.py:147
msgid ""
"The default option for this question. To be used with regular optionsets."
msgstr ""
"Die standardmäßige Option für diese Frage. Soll mit regulären Optionssets "
"verwendet werden."
-#: questions/models/question.py:153
+#: questions/models/question.py:151
msgid "Default external id"
msgstr "Standardmäßige externe ID"
-#: questions/models/question.py:154
+#: questions/models/question.py:152
msgid ""
"The default external id for this question. To be used with dynamic "
"optionsets."
@@ -3606,108 +3680,84 @@ msgstr ""
"Die standardmäßige externe ID für diese Frage. Zur Verwendung mit "
"dynamischen Optionensets."
-#: questions/models/question.py:159
-msgid "The name displayed for this question in the primary language."
+#: questions/models/question.py:157
+msgid "The name displayed for this question (in the primary language)."
msgstr "Der Name, der für diese Frage angezeigt wird (erste Sprache)."
-#: questions/models/question.py:164
-msgid "The name displayed for this question in the secondary language."
+#: questions/models/question.py:162
+msgid "The name displayed for this question (in the secondary language)."
msgstr "Der Name, der für diese Frage angezeigt wird (zweite Sprache)."
-#: questions/models/question.py:169
-msgid "The name displayed for this question in the tertiary language."
+#: questions/models/question.py:167
+msgid "The name displayed for this question (in the tertiary language)."
msgstr "Der Name, der für diese Frage angezeigt wird (dritte Sprache)."
-#: questions/models/question.py:174
-msgid "The name displayed for this question in the quaternary language."
+#: questions/models/question.py:172
+msgid "The name displayed for this question (in the quaternary language)."
msgstr "Der Name, der für diese Frage angezeigt wird (vierte Sprache)."
-#: questions/models/question.py:179
-msgid "The name displayed for this question in the quinary language."
+#: questions/models/question.py:177
+msgid "The name displayed for this question (in the quinary language)."
msgstr "Der Name, der für diese Frage angezeigt wird (fünfte Sprache)."
-#: questions/models/question.py:184
-msgid "The plural name displayed for this question in the primary language."
-msgstr "Der Name (Plural), der für diese Frage angezeigt wird (erste Sprache)."
-
-#: questions/models/question.py:189
-msgid "The plural name displayed for this question in the secondary language."
-msgstr ""
-"Der Name (Plural), der für diese Frage angezeigt wird (zweite Sprache)."
-
-#: questions/models/question.py:194
-msgid "The plural name displayed for this question in the tertiary language."
-msgstr ""
-"Der Name (Plural), der für diese Frage angezeigt wird (dritte Sprache)."
-
-#: questions/models/question.py:199
-msgid "The plural name displayed for this question in the quaternary language."
-msgstr ""
-"Der Name (Plural), der für diese Frage angezeigt wird (vierte Sprache)."
-
-#: questions/models/question.py:204
-msgid "The plural name displayed for this question in the quinary language."
-msgstr ""
-"Der Name (Plural), der für diese Frage angezeigt wird (fünfte Sprache)."
-
-#: questions/models/question.py:208
+#: questions/models/question.py:181
msgid "Widget type"
msgstr "Widget-Typ"
-#: questions/models/question.py:209
+#: questions/models/question.py:182
msgid "Type of widget for this question."
msgstr "Art von Widget für diese Frage."
-#: questions/models/question.py:214
+#: questions/models/question.py:187
msgid "Type of value for this question."
msgstr "Art von Wert für diese Frage."
-#: questions/models/question.py:218
+#: questions/models/question.py:191
#: questions/templates/questions/export/question.html:60
msgid "Minimum"
msgstr "Minimum"
-#: questions/models/question.py:219
+#: questions/models/question.py:192
msgid "Minimal value for this question."
msgstr "Minimaler Wert für diese Frage."
-#: questions/models/question.py:223
+#: questions/models/question.py:196
#: questions/templates/questions/export/question.html:61
msgid "Maximum"
msgstr "Maximum"
-#: questions/models/question.py:224
+#: questions/models/question.py:197
msgid "Maximum value for this question."
msgstr "Maximaler Wert für diese Frage."
-#: questions/models/question.py:228
+#: questions/models/question.py:201
#: questions/templates/questions/export/question.html:62
msgid "Step"
msgstr "Schrittgröße"
-#: questions/models/question.py:229
+#: questions/models/question.py:202
msgid ""
"Step in which the value for this question can be incremented/decremented."
msgstr ""
"Schritte in denen der Wert dieser Frage erhöht oder verringert werden kann."
-#: questions/models/question.py:234
+#: questions/models/question.py:207
msgid "Unit for this question."
msgstr "Maßeinheit für diese Frage."
-#: questions/models/question.py:238
+#: questions/models/question.py:211
msgid "Width"
msgstr "Breite"
-#: questions/models/question.py:239
+#: questions/models/question.py:212
msgid "Width for the widget of this question (optional, full width: 12)."
msgstr "Breite für das Widget dieser Frage (optional, volle Breite: 12)."
-#: questions/models/question.py:244
+#: questions/models/question.py:217
msgid "Option sets for this question."
msgstr "Optionenset für diese Frage."
-#: questions/models/question.py:249
+#: questions/models/question.py:222
msgid "List of conditions evaluated for this question."
msgstr "Liste der Bedingungen die für diese Frage ausgewertet werden."
@@ -3756,100 +3806,70 @@ msgstr ""
"Die Seiten, die dieses Fragenset bearbeiten können (im Multi-Site-Setup)."
#: questions/models/questionset.py:82
-msgid "The title for this question set in the primary language."
+msgid "The title for this question set (in the primary language)."
msgstr "Der Titel für dieses Fragenset (erste Sprache)."
#: questions/models/questionset.py:87
-msgid "The title for this question set in the secondary language."
+msgid "The title for this question set (in the secondary language)."
msgstr "Der Titel für dieses Fragenset (zweite Sprache)."
#: questions/models/questionset.py:92
-msgid "The title for this question set in the tertiary language."
+msgid "The title for this question set (in the tertiary language)."
msgstr "Der Titel für dieses Fragenset (dritte Sprache)."
#: questions/models/questionset.py:97
-msgid "The title for this question set in the quaternary language."
+msgid "The title for this question set (in the quaternary language)."
msgstr "Der Titel für dieses Fragenset (vierte Sprache)."
#: questions/models/questionset.py:102
-msgid "The title for this question set in the quinary language."
+msgid "The title for this question set (in the quinary language)."
msgstr "Der Titel für dieses Fragenset (fünfte Sprache)."
#: questions/models/questionset.py:107
-msgid "The help text for this question set in the primary language."
+msgid "The help text for this question set (in the primary language)."
msgstr "Der Hilfetext für dieses Fragenset (erste Sprache)."
#: questions/models/questionset.py:112
-msgid "The help text for this question set in the secondary language."
+msgid "The help text for this question set (in the secondary language)."
msgstr "Der Hilfetext für dieses Fragenset (zweite Sprache)."
#: questions/models/questionset.py:117
-msgid "The help text for this question set in the tertiary language."
+msgid "The help text for this question set (in the tertiary language)."
msgstr "Der Hilfetext für dieses Fragenset (dritte Sprache)."
#: questions/models/questionset.py:122
-msgid "The help text for this question set in the quaternary language."
+msgid "The help text for this question set (in the quaternary language)."
msgstr "Der Hilfetext für dieses Fragenset (vierte Sprache)."
#: questions/models/questionset.py:127
-msgid "The help text for this question set in the quinary language."
+msgid "The help text for this question set (in the quinary language)."
msgstr "Der Hilfetext für dieses Fragenset (fünfte Sprache)."
#: questions/models/questionset.py:132
-msgid "The name displayed for this question set in the primary language."
+msgid "The name displayed for this question set (in the primary language)."
msgstr "Der Name, der für dieses Fragenset angezeigt wird (erste Sprache)."
#: questions/models/questionset.py:137
-msgid "The name displayed for this question set in the secondary language."
+msgid "The name displayed for this question set (in the secondary language)."
msgstr "Der Name, der für dieses Fragenset angezeigt wird (zweite Sprache)."
#: questions/models/questionset.py:142
-msgid "The name displayed for this question set in the tertiary language."
+msgid "The name displayed for this question set (in the tertiary language)."
msgstr "Der Name, der für dieses Fragenset angezeigt wird (dritte Sprache)."
#: questions/models/questionset.py:147
-msgid "The name displayed for this question set in the quaternary language."
+msgid "The name displayed for this question set (in the quaternary language)."
msgstr "Der Name, der für dieses Fragenset angezeigt wird (vierte Sprache)."
#: questions/models/questionset.py:152
-msgid "The name displayed for this question set in the quinary language."
+msgid "The name displayed for this question set (in the quinary language)."
msgstr "Der Name, der für dieses Fragenset angezeigt wird (fünfte Sprache)."
#: questions/models/questionset.py:157
-msgid ""
-"The plural name displayed for this question set in the primary language."
-msgstr ""
-"Der Name (Plural), der für dieses Fragenset angezeigt wird (erste Sprache)."
-
-#: questions/models/questionset.py:162
-msgid ""
-"The plural name displayed for this question set in the secondary language."
-msgstr ""
-"Der Name (Plural), der für dieses Fragenset angezeigt wird (zweite Sprache)."
-
-#: questions/models/questionset.py:167
-msgid ""
-"The plural name displayed for this question set in the tertiary language."
-msgstr ""
-"Der Name (Plural), der für dieses Fragenset angezeigt wird (dritte Sprache)."
-
-#: questions/models/questionset.py:172
-msgid ""
-"The plural name displayed for this question set in the quaternary language."
-msgstr ""
-"Der Name (Plural), der für dieses Fragenset angezeigt wird (vierte Sprache)."
-
-#: questions/models/questionset.py:177
-msgid ""
-"The plural name displayed for this question set in the quinary language."
-msgstr ""
-"Der Name (Plural), der für dieses Fragenset angezeigt wird (fünfte Sprache)."
-
-#: questions/models/questionset.py:182
msgid "List of conditions evaluated for this question set."
msgstr "Die Liste der Bedingungen die für dieses Fragenset ausgewertet werden."
-#: questions/models/questionset.py:187 questions/models/questionset.py:188
+#: questions/models/questionset.py:162
#: questions/templates/questions/export/questionset.html:4
msgid "Question set"
msgstr "Fragenset"
@@ -3889,23 +3909,23 @@ msgstr ""
"Die Seiten, die diesen Abschnitt bearbeiten können (im Multi-Site-Setup)."
#: questions/models/section.py:70
-msgid "The title for this section in the primary language."
+msgid "The title for this section (in the primary language)."
msgstr "Der Titel für diesen Abschnitt (erste Sprache)."
#: questions/models/section.py:75
-msgid "The title for this section in the secondary language."
+msgid "The title for this section (in the secondary language)."
msgstr "Der Titel für diesen Abschnitt (zweite Sprache)."
#: questions/models/section.py:80
-msgid "The title for this section in the tertiary language."
+msgid "The title for this section (in the tertiary language)."
msgstr "Der Titel für diesen Abschnitt (dritte Sprache)."
#: questions/models/section.py:85
-msgid "The title for this section in the quaternary language."
+msgid "The title for this section (in the quaternary language)."
msgstr "Der Titel für diesen Abschnitt (vierte Sprache)."
#: questions/models/section.py:90
-msgid "The title for this section in the quinary language."
+msgid "The title for this section (in the quinary language)."
msgstr "Der Titel für diesen Abschnitt (fünfte Sprache)."
#: questions/models/section.py:95
@@ -3913,32 +3933,26 @@ msgstr "Der Titel für diesen Abschnitt (fünfte Sprache)."
msgid "Section"
msgstr "Abschnitt"
-#: questions/serializers/v1/question.py:112
+#: questions/serializers/v1/question.py:110
msgid ""
"If the \"Checkboxes\" widget is used, \"is_collection\" must be checked."
msgstr ""
"Wenn das Widget \"Ankreuzfelder\" verwendet wird, muss Ist eine Sammlung\" "
"angekreuzt werden."
-#: questions/serializers/v1/question.py:118
+#: questions/serializers/v1/question.py:116
msgid ""
"If the \"Date picker\" widget is used, the value type must be \"Datetime\"."
msgstr ""
"Wenn das Widget \"Datumspicker\" verwendet wird, muss der Wertetyp \"Datum "
"und Zeit\" sein."
-#: questions/serializers/v1/question.py:124
+#: questions/serializers/v1/question.py:122
msgid "If the \"Yes/No\" widget is used, the value type must be \"Boolean\"."
msgstr ""
"Wenn das Widget \"Ja/Nein\" verwendet wird, muss der Wertetyp \"Boolsche "
"Variable\" sein."
-#: questions/templates/questions/export/page.html:20
-#: questions/templates/questions/export/question.html:22
-#: questions/templates/questions/export/questionset.html:22
-msgid "Help"
-msgstr "Hilfe"
-
#: questions/templates/questions/export/page.html:28
#: questions/templates/questions/export/question.html:48
#: questions/templates/questions/export/questionset.html:30
@@ -3971,28 +3985,28 @@ msgstr ""
msgid "Services"
msgstr "Services"
-#: services/providers.py:38 services/providers.py:66
+#: services/providers.py:37 services/providers.py:73
msgid "OAuth error"
msgstr "OAuth Fehler"
-#: services/providers.py:39 services/providers.py:67
+#: services/providers.py:38 services/providers.py:74
#, python-format
msgid "Something went wrong: %s"
msgstr "Etwas ging schief: %s"
-#: services/providers.py:85
+#: services/providers.py:92
msgid "OAuth authorization not successful"
msgstr "OAuth Autorisierung war nicht erfolgreich"
-#: services/providers.py:86
+#: services/providers.py:93
msgid "State parameter did not match."
msgstr "Der Zustandsparameter stimmt nicht überein."
-#: services/providers.py:117
+#: services/providers.py:124
msgid "OAuth authorization successful"
msgstr "OAuth Autorisierung erfolgreich"
-#: services/providers.py:118
+#: services/providers.py:125
msgid "But no redirect could be found."
msgstr "Aber es konnte keine Umleitung gefunden werden."
@@ -4004,27 +4018,31 @@ msgstr "Integrationsfehler"
msgid "Something went wrong. Please contact support."
msgstr "Es ist ein Fehler aufgetreten. Bitte kontaktieren Sie den Support."
-#: tasks/models.py:23
+#: tasks/models.py:21
msgid "The Uniform Resource Identifier of this task (auto-generated)."
msgstr "Der Uniform Resource Identifier dieser Aufgabe (automatisch erstellt)."
-#: tasks/models.py:28
+#: tasks/models.py:26
msgid "The prefix for the URI of this task."
msgstr "Das Präfix für die URI dieser Aufgabe."
-#: tasks/models.py:33
+#: tasks/models.py:31
msgid "The path for the URI of this task."
msgstr "Der Pfad für die URI dieser Aufgabe."
-#: tasks/models.py:38
+#: tasks/models.py:36
msgid "Additional internal information about this task."
msgstr "Zusätzliche interne Informationen über diese Aufgabe."
-#: tasks/models.py:43
+#: tasks/models.py:41
msgid "Designates whether this task can be changed."
msgstr "Bezeichnet, ob diese Aufgabe geändert werden kann."
-#: tasks/models.py:48
+#: tasks/models.py:46
+msgid "The position of this task in lists."
+msgstr "Die Position von dieser Aufgabe in Listen."
+
+#: tasks/models.py:51
msgid ""
"The catalogs this task can be used with. An empty list implies that this "
"task can be used with every catalog."
@@ -4032,71 +4050,71 @@ msgstr ""
"Die Kataloge, mit denen diese Aufgabe verwendet werden kann. Eine leere "
"Liste bedeutet, dass diese Aufgabe mit jedem Katalog verwendet werden kann."
-#: tasks/models.py:54
+#: tasks/models.py:57
msgid "The sites this task belongs to (in a multi site setup)."
msgstr "Die Seiten zu denen diese Aufgabe gehört."
-#: tasks/models.py:59
+#: tasks/models.py:62
msgid "The sites that can edit this task (in a multi site setup)."
msgstr "Die Seiten, die diese Aufgabe bearbeiten können (im Multi-Site-Setup)."
-#: tasks/models.py:64
+#: tasks/models.py:67
msgid "The groups for which this task is active."
msgstr "Die Gruppen, für die diese Aufgabe aktiv ist."
-#: tasks/models.py:69
-msgid "The title for this task in the primary language."
+#: tasks/models.py:72
+msgid "The title for this task (in the primary language)."
msgstr "Der Titel für diese Aufgabe (erste Sprache)."
-#: tasks/models.py:74
-msgid "The title for this task in the secondary language."
+#: tasks/models.py:77
+msgid "The title for this task (in the secondary language)."
msgstr "Der Titel für diese Aufgabe (zweite Sprache)."
-#: tasks/models.py:79
-msgid "The title for this task in the tertiary language."
+#: tasks/models.py:82
+msgid "The title for this task (in the tertiary language)."
msgstr "Der Titel für diese Aufgabe (dritte Sprache)."
-#: tasks/models.py:84
-msgid "The title for this task in the quaternary language."
+#: tasks/models.py:87
+msgid "The title for this task (in the quaternary language)."
msgstr "Der Titel für diese Aufgabe (vierte Sprache)."
-#: tasks/models.py:89
-msgid "The title for this task in the quinary language."
+#: tasks/models.py:92
+msgid "The title for this task (in the quinary language)."
msgstr "Der Titel für diese Aufgabe (fünfte Sprache)."
-#: tasks/models.py:94
-msgid "The text for this task in the primary language."
+#: tasks/models.py:97
+msgid "The text for this task (in the primary language)."
msgstr "Der Text für diese Aufgabe (erste Sprache)."
-#: tasks/models.py:99
-msgid "The text for this task in the secondary language."
+#: tasks/models.py:102
+msgid "The text for this task (in the secondary language)."
msgstr "Der Text für diese Aufgabe (zweite Sprache)."
-#: tasks/models.py:104
-msgid "The text for this task in the tertiary language."
+#: tasks/models.py:107
+msgid "The text for this task (in the tertiary language)."
msgstr "Der Text für diese Aufgabe (dritte Sprache)."
-#: tasks/models.py:109
-msgid "The text for this task in the quaternary language."
+#: tasks/models.py:112
+msgid "The text for this task (in the quaternary language)."
msgstr "Der Text für diese Aufgabe (vierte Sprache)."
-#: tasks/models.py:114
-msgid "The text for this task in the quinary language."
+#: tasks/models.py:117
+msgid "The text for this task (in the quinary language)."
msgstr "Der Text für diese Aufgabe (fünfte Sprache)."
-#: tasks/models.py:118 tasks/templates/tasks/export/tasks.html:39
+#: tasks/models.py:121 tasks/templates/tasks/export/tasks.html:39
msgid "Start date attribute"
msgstr "Anfangsdatums-Attribut"
-#: tasks/models.py:119
+#: tasks/models.py:122
msgid "The attribute that is setting the start date for this task."
msgstr "Das Attribut das des Anfangsdatum für die Aufgabe festlegt."
-#: tasks/models.py:123 tasks/templates/tasks/export/tasks.html:40
+#: tasks/models.py:126 tasks/templates/tasks/export/tasks.html:40
msgid "End date attribute"
msgstr "Enddatums-Attribute"
-#: tasks/models.py:124
+#: tasks/models.py:127
msgid ""
"The attribute that is setting the end date for this task (optional, if no "
"end date attribute is given, the start date attribute sets also the end "
@@ -4106,51 +4124,55 @@ msgstr ""
"Enddatums-Attribut angegeben wird, bestimmt das Anfangsdatums-Attribut auch "
"das Enddatum)."
-#: tasks/models.py:129 tasks/templates/tasks/export/tasks.html:41
+#: tasks/models.py:132 tasks/templates/tasks/export/tasks.html:41
msgid "Days before"
msgstr "Tage davor"
-#: tasks/models.py:130
+#: tasks/models.py:133
msgid "Additional days before the start date."
msgstr "Zusätzliche Tage vor dem Anfangsdatum."
-#: tasks/models.py:134 tasks/templates/tasks/export/tasks.html:42
+#: tasks/models.py:137 tasks/templates/tasks/export/tasks.html:42
msgid "Days after"
msgstr "Tage danach"
-#: tasks/models.py:135
+#: tasks/models.py:138
msgid "Additional days after the end date."
msgstr "Zusätzliche Tage nach dem Enddatum."
-#: tasks/models.py:140
+#: tasks/models.py:143
msgid "The list of conditions evaluated for this task."
msgstr "Die Liste der Bedingungen die für diese Aufgabe ausgewertet werden."
-#: tasks/models.py:145
+#: tasks/models.py:148
msgid "Designates whether this task is generally available for projects."
msgstr "Legt fest, ob diese Aufgabe für Projekte verfügbar ist."
-#: views/models.py:24
+#: views/models.py:22
msgid "The Uniform Resource Identifier of this view (auto-generated)."
msgstr "Der Uniform Resource Identifier dieser Ansicht (automatisch erstellt)."
-#: views/models.py:29
+#: views/models.py:27
msgid "The prefix for the URI of this view."
msgstr "Das Präfix für die URI dieser Ansicht."
-#: views/models.py:34
+#: views/models.py:32
msgid "The path for the URI of this view."
msgstr "Der Pfad für die URI dieser Ansicht."
-#: views/models.py:39
+#: views/models.py:37
msgid "Additional internal information about this view."
msgstr "Zusätzliche interne Informationen über diese Ansicht."
-#: views/models.py:44
+#: views/models.py:42
msgid "Designates whether this view can be changed."
msgstr "Bezeichnet, ob diese Ansicht geändert werden kann."
-#: views/models.py:49
+#: views/models.py:47
+msgid "The position of this view in lists."
+msgstr "Die Position von dieser Ansicht in Listen."
+
+#: views/models.py:52
msgid ""
"The catalogs this view can be used with. An empty list implies that this "
"view can be used with every catalog."
@@ -4158,69 +4180,69 @@ msgstr ""
"Die Kataloge, mit denen diese Ansicht verwendet werden kann. Eine leere "
"Liste bedeutet, dass diese Ansicht mit jedem Katalog verwendet werden kann."
-#: views/models.py:55
+#: views/models.py:58
msgid "The sites this view belongs to (in a multi site setup)."
msgstr ""
"Die Standorte, zu denen diese Ansicht gehört (in einem Multi-Standort-Setup)."
-#: views/models.py:60
+#: views/models.py:63
msgid "The sites that can edit this view (in a multi site setup)."
msgstr "Die Seiten, die diese Ansicht bearbeiten können (im Multi-Site-Setup)."
-#: views/models.py:65
+#: views/models.py:68
msgid "The groups for which this view is active."
msgstr "Die Gruppen, für die diese Ansicht aktiv ist."
-#: views/models.py:69 views/templates/views/export/views.html:35
+#: views/models.py:72 views/templates/views/export/views.html:35
msgid "Template"
msgstr "Vorlage"
-#: views/models.py:70
+#: views/models.py:73
msgid "The template for this view, written in Django template language."
msgstr ""
"Das Template für diese Ansicht, in der Django-Template-Language verfasst."
-#: views/models.py:75
-msgid "The title for this view in the primary language."
+#: views/models.py:78
+msgid "The title for this view (in the primary language)."
msgstr "Der Titel für diese Ansicht (erste Sprache)."
-#: views/models.py:80
-msgid "The title for this view in the secondary language."
+#: views/models.py:83
+msgid "The title for this view (in the secondary language)."
msgstr "Der Titel für diese Ansicht (zweite Sprache)."
-#: views/models.py:85
-msgid "The title for this view in the tertiary language."
+#: views/models.py:88
+msgid "The title for this view (in the tertiary language)."
msgstr "Der Titel für diese Ansicht (dritte Sprache)."
-#: views/models.py:90
-msgid "The title for this view in the quaternary language."
+#: views/models.py:93
+msgid "The title for this view (in the quaternary language)."
msgstr "Der Titel für diese Ansicht (vierte Sprache)."
-#: views/models.py:95
-msgid "The title for this view in the quinary language."
+#: views/models.py:98
+msgid "The title for this view (in the quinary language)."
msgstr "Der Titel für diese Ansicht (fünfte Sprache)."
-#: views/models.py:100
-msgid "The help text for this view in the primary language."
+#: views/models.py:103
+msgid "The help text for this view (in the primary language)."
msgstr "Der Hilfetext für diese Ansicht (erste Sprache)."
-#: views/models.py:105
-msgid "The help text for this view in the secondary language."
+#: views/models.py:108
+msgid "The help text for this view (in the secondary language)."
msgstr "Der Hilfetext für diese Ansicht (zweite Sprache)."
-#: views/models.py:110
-msgid "The help text for this view in the tertiary language."
+#: views/models.py:113
+msgid "The help text for this view (in the tertiary language)."
msgstr "Der Hilfetext für diese Ansicht (dritte Sprache)."
-#: views/models.py:115
-msgid "The help text for this view in the quaternary language."
+#: views/models.py:118
+msgid "The help text for this view (in the quaternary language)."
msgstr "Der Hilfetext für diese Ansicht (vierte Sprache)."
-#: views/models.py:120
-msgid "The help text for this view in the quinary language."
+#: views/models.py:123
+msgid "The help text for this view (in the quinary language)."
msgstr "Der Hilfetext für diese Ansicht (fünfte Sprache)."
-#: views/models.py:125
+#: views/models.py:128
msgid "Designates whether this view is generally available for projects."
msgstr "Legt fest, ob diese Ansicht für Projekte verfügbar ist."
@@ -4237,6 +4259,149 @@ msgstr "Datei"
msgid "Set"
msgstr "Set"
+#~ msgid "GitHub repository"
+#~ msgstr "GitHub-Repository"
+
+#~ msgid "Please use the form username/repository or organization/repository."
+#~ msgstr ""
+#~ "Bitte verwenden Sie das Format Benutzername/Repository oder Organisation/"
+#~ "Repository."
+
+#~ msgid "File path"
+#~ msgstr "Datei-Pfad"
+
+#~ msgid "Branch, tag, or commit"
+#~ msgstr "Branch, Tag, oder Commit"
+
+#~ msgid "GitLab repository"
+#~ msgstr "GitLab-Repository"
+
+#~ msgid "Add GitHub integration"
+#~ msgstr "GitHub-Integration hinzufügen"
+
+#~ msgid "The GitHub repository to send issues to."
+#~ msgstr "Das GitHub-Repository an das Aufgaben versendet werden."
+
+#~ msgid "Add GitLab integration"
+#~ msgstr "GitLab-Integration hinzufügen"
+
+#~ msgid "Send to GitLab"
+#~ msgstr "An GitLab senden"
+
+#, python-brace-format
+#~ msgid ""
+#~ "This integration allow the creation of issues in arbitrary repositories "
+#~ "on {self.gitlab_url}. The upload of attachments is not supported by "
+#~ "GitLab."
+#~ msgstr ""
+#~ "Diese Integration ermöglicht die Erstellung von Aufgaben auf {self."
+#~ "gitlab_url}. Das Hochladen von Anhängen wird von GitLab nicht unterstützt."
+
+#~ msgid "The secret for a GitLab webhook to close a task."
+#~ msgstr "Das Geheimnis für einen GitLab-Webhook zum Schließen einer Aufgabe."
+
+#~ msgid "blocks"
+#~ msgstr "Blöcke"
+
+#~ msgid "sets"
+#~ msgstr "Sets"
+
+#~ msgid ""
+#~ "Entries with might be skipped based on your input."
+#~ msgstr ""
+#~ "Einträge mit können aufgrund Ihrer Eingabe übersprungen werden."
+
+#~ msgid "Plural name (primary)"
+#~ msgstr "Name (Plural, erste Sprache)"
+
+#~ msgid "The plural name displayed for this page in the primary language."
+#~ msgstr ""
+#~ "Der Name (Plural), der für diese Seite angezeigt wird (erste Sprache)."
+
+#~ msgid "Plural name (secondary)"
+#~ msgstr "Name (Plural, zweite Sprache)"
+
+#~ msgid "The plural name displayed for this page in the secondary language."
+#~ msgstr ""
+#~ "Der Name (Plural), der für diese Seite angezeigt wird (zweite Sprache)."
+
+#~ msgid "Plural name (tertiary)"
+#~ msgstr "Name (Plural, dritte Sprache)"
+
+#~ msgid "The plural name displayed for this page in the tertiary language."
+#~ msgstr ""
+#~ "Der Name (Plural), der für diese Seite angezeigt wird (dritte Sprache)."
+
+#~ msgid "Plural name (quaternary)"
+#~ msgstr "Name (Plural, vierte Sprache)"
+
+#~ msgid "The plural name displayed for this page in the quaternary language."
+#~ msgstr ""
+#~ "Der Name (Plural), der für diese Seite angezeigt wird (vierte Sprache)."
+
+#~ msgid "Plural name (quinary)"
+#~ msgstr "Name (Plural, fünfte Sprache)"
+
+#~ msgid "The plural name displayed for this page in the quinary language."
+#~ msgstr ""
+#~ "Der Name (Plural), der für diese Seite angezeigt wird (fünfte Sprache)."
+
+#~ msgid "The plural name displayed for this question in the primary language."
+#~ msgstr ""
+#~ "Der Name (Plural), der für diese Frage angezeigt wird (erste Sprache)."
+
+#~ msgid ""
+#~ "The plural name displayed for this question in the secondary language."
+#~ msgstr ""
+#~ "Der Name (Plural), der für diese Frage angezeigt wird (zweite Sprache)."
+
+#~ msgid ""
+#~ "The plural name displayed for this question in the tertiary language."
+#~ msgstr ""
+#~ "Der Name (Plural), der für diese Frage angezeigt wird (dritte Sprache)."
+
+#~ msgid ""
+#~ "The plural name displayed for this question in the quaternary language."
+#~ msgstr ""
+#~ "Der Name (Plural), der für diese Frage angezeigt wird (vierte Sprache)."
+
+#~ msgid "The plural name displayed for this question in the quinary language."
+#~ msgstr ""
+#~ "Der Name (Plural), der für diese Frage angezeigt wird (fünfte Sprache)."
+
+#~ msgid ""
+#~ "The plural name displayed for this question set in the primary language."
+#~ msgstr ""
+#~ "Der Name (Plural), der für dieses Fragenset angezeigt wird (erste "
+#~ "Sprache)."
+
+#~ msgid ""
+#~ "The plural name displayed for this question set in the secondary language."
+#~ msgstr ""
+#~ "Der Name (Plural), der für dieses Fragenset angezeigt wird (zweite "
+#~ "Sprache)."
+
+#~ msgid ""
+#~ "The plural name displayed for this question set in the tertiary language."
+#~ msgstr ""
+#~ "Der Name (Plural), der für dieses Fragenset angezeigt wird (dritte "
+#~ "Sprache)."
+
+#~ msgid ""
+#~ "The plural name displayed for this question set in the quaternary "
+#~ "language."
+#~ msgstr ""
+#~ "Der Name (Plural), der für dieses Fragenset angezeigt wird (vierte "
+#~ "Sprache)."
+
+#~ msgid ""
+#~ "The plural name displayed for this question set in the quinary language."
+#~ msgstr ""
+#~ "Der Name (Plural), der für dieses Fragenset angezeigt wird (fünfte "
+#~ "Sprache)."
+
#~ msgid "entries"
#~ msgstr "Einträge"
diff --git a/rdmo/locale/de/LC_MESSAGES/djangojs.mo b/rdmo/locale/de/LC_MESSAGES/djangojs.mo
index e2cf59694445b913bed51c697e6fc7b5dec538fc..238220d897d15181bee476e4279e310d363831fd 100644
GIT binary patch
delta 5952
zcmZ|R34Bdg0>|-_T4N`Ki1N~mHI{64YF|t2TkYhDSP~);Q=Pu5WvaC{u~bpUGM1{^
zs!}s8qDC#9Dz$W|Dn*GFW9y*({ogsJ%xBz>|NEYE?!D)nd+rintPJ>RZGi7giQMxH
z+XGUL5=VAfstC6nECM<+mSPb`J
zK|EpWK6BnR+`>S11Tcy^D2TZ+81rE$s>5*1gVj;TN288!ggU+rhF}LQg2PY~NOSeq
zP!pJoMUBsxB^1=r2Go^qM_tig)QQL4{`1ajn3wju7>d85t}L{)9k4p8-Vn7?9h`$v
z{fE?L!H;x?H?Y(`s=_H8Z_gVQ8S*58aUI{SD-rDit1=LYQUqY0nef){4?sj+-2?l
zAZG>Cc@e1N8@qbPvaG+Bd>{=vF$FclNvL}_3pJq?s1vuk{n^ehF^2Xts0o(ffzX9`
zP{&usidYvlf&R!GO)}=f={^b?cqVG##jd^>n%+lEEYGuc1xuhN9*$~{LMG}n&r{F5u)Bs7S4#%S=;6qK|
z4b+v+#|pU2?f(=t&;iuSo<#L~2{pkStbsTEa{t518$;Q2!frSkSxvJGr{ZZGh(j5r
z2kycC7~-J~(^2i;U{{O^V|j53c2+y;f~r4fOfPJW>VGK?W_*+7c9aXZ1Er#u_M@m1
z8vKFPz_(BxUUc<(6^-dleI|CmA5ix=rjpi`Htd53k-K3kRkr=NKuvfB`npiKM?nwC
z3sv~`;}DF)t;mCIa#gh}Qyy6ilY)J5E{?<;x4%y{+r9xi(HTd6UbW#zuVEVMS(t`;7G}HlMW}nd-qo|PF!ckdx8x)i#4D(`
z=?>~G$XAnf(utup?E%%Cb+8ca%~20$C)7jK6ZP8kMRhP1HQ}kK2`)z6f(>r}XPAfj
zDb&QzVlKRlx_}%Xg=h+QF%lzc*?K>Wp*|b=XZG;Jq|HsNjbR)dg}qScP3K4Zvz(WZ
zyJvzqC?7UKO}ve(_eWij&+8gSxP}xQ#NYpP)EDpsv*Y`cMx!P$12xc6)WkMoQQVCs@dy^tdveiV;LC+NFc0f1%b+@la5h2>+!3_`y-@c$
z9r?>_=D7MA=Pu_dEXDqt&cHf$0u?ZX@lC7>7>7D=IO+rO3TnoSP%~bKLHG&k_^&V+
zbDX*B+6jiDE}$Z6CF-HhYmd610jP13(We2XQjqgd2d;ANKrQ(pS3iO3_$q2bzoG^x
zSS^pvwzNbOnK+Q0qfvuNB)x%L8)j?fx8*GeyPy;SN
zUC4S=$D6Sh?n9k_2lY3mKtsEtRZ#uK_$X-UTcSGdj+)3YRL5z^YhtE57od(?<=l=s
zf4}o2>O*rGL+}QMVxdO1UIkTe?&`h)u3-Y|%anGKH}muoC$TYJ!_^_1Fkg@E9gy
z+osmdsN>5u<70!fup8dT-q^Xht*=G?Qkw@j3ZH9X`=5>J)VJX%#y2%u+5;BhIO_RY
zan(2xd*M~o04-Zv7oxu%yQsYlUrn5kb8tIqz_xAe3T?xY)X!i~Y~RlQe_}cM!f3cn
zVFZ?GZwHu+9_q(&DBi_N*zW~<#gj3O`gQD%2_5WzGcJgtKf_SxWuY$UJJbZa
z#@W9aYvWk|5i}ff4fQx%^?q0z_o3eV2dH~ksq9Mm+;w)R!?G
zi{UKiyQt$naPIBQ`m2LeG{_v(!=!Z$grca2CX{kpRf_oEs0
zzNm>WK}~oSY6Y`h`ynh&-FM72T*Lqxh7oOFke5j{RoGr7+yyh3{E6%)Jiz8Kxket}
zcr56amLYry{m;Z(cuIf&|3Tr8MB7V*J7Dgs!uB0GM4ln~YCRwah+Zo_;fsj2
zljI|R$^JybR>CU#@3(C==AW*R?EI_Vf4%D;x`w$}oqX-;VhGXGK9zh+4w3>y_cxv7
zkVo4w3VcTV+a`WLCy8Vg(F6Sr(bkSsQGxNz9nz5S`ujg1yw>Jt@@V7En5;(?97Jvr
z9u2dXj3<4G?(a^bHztF;Nq8*Gk3?H0;bZ9E-r!fyk*_j89-=MGVm`%5L{E4>GK>5`
zG}-@d_^V_Z6huIkK0XG7ERUVehNvdvGuo@Mp%(tC$Evk
zB%G8W5#$Wf+oJ6>DMe&SHS_!diLDY-;?x*dPR`J|qfRNG`y&R?>BR#n_WR=74Xg6Lh&
zR)y^@*+FiQy5!OJI)yk_DT2FP`6zzx%DJ%_@sGcT!aee5@&Oq@v>hR-WFUEwv?tnf
zkt_a^{n-ceNPRMaoF#uJZOL{ro8%?hR+A0>lK;o&|8J3s!Q^97mP{iZ$V&1h`Ha*g
z|0X?%wpwHkDXt3J6taiJtKzo8m_oLZj-&=TN2(HSn|1wvv1QZTna>%6qse8mmJBBa
zNfUCLTqPTcwqM9APJ|U)Ae7t9HYHCX2khD~shPWYcL$9ae9uq{hUZVvGMK5UB=@8DFgC&`=s`=I8r
zM%VdcE&i?_tB+0dGHE98f7(3bys3}3Kbl0B;HDuN@6=jTBr3W_WUMDDxoUocaX2b?%cQ8tXEG9ELNXS{l+DPFDV=dWrefYWFN@&G2#$@}
Ok{xsH*^H07Wc~&&TjmfqBO}ARN*Zcqbq}%V&_y76*{EqMU`@8=CXvLm@vo8kt
zuGI}%?^ymu8j>T`o$D9i+!M96*16{%a;_S#z*@K#LvR}g;~osf16T*F}`{>MK^4
zV-42-6LoxGq;o;e`CJ$c#&i*=4jW)qj6)sJ5_Ld(