From 225e10ec102843d94d315a0bfbc617ad5bcaca50 Mon Sep 17 00:00:00 2001 From: Alejolonber25 Date: Mon, 15 Apr 2024 00:31:13 -0500 Subject: [PATCH 1/9] WIP:BUILD: Refactoring views and templates of users --- hiring_module/.example-env | 7 ------ .../templates/administrator_dashboard.html | 20 --------------- .../administrator_dashboard.html | 11 ++++++++ .../templates/control_board/base.html | 25 +++++++++++++++++++ .../external_user_dashboard.html | 4 +-- .../control_board/leader_dashboard.html | 11 ++++++++ .../control_board/manager_dashboard.html | 11 ++++++++ .../templates/leader_dashboard.html | 19 -------------- .../templates/manager_dashboard.html | 20 --------------- .../administrator_dashboard_view.py | 15 +++-------- .../external_user_dashboard_view.py | 2 +- .../control_board/general_dashboard_view.py | 13 ++++++++++ .../control_board/leader_dashboard_view.py | 5 ++-- .../control_board/manager_dashboard_view.py | 5 ++-- .../views/control_board/utilities.py | 1 + 15 files changed, 84 insertions(+), 85 deletions(-) delete mode 100644 hiring_module/.example-env delete mode 100644 hiring_module/hiring_app/templates/administrator_dashboard.html create mode 100644 hiring_module/hiring_app/templates/control_board/administrator_dashboard.html create mode 100644 hiring_module/hiring_app/templates/control_board/base.html rename hiring_module/hiring_app/templates/{ => control_board}/external_user_dashboard.html (92%) create mode 100644 hiring_module/hiring_app/templates/control_board/leader_dashboard.html create mode 100644 hiring_module/hiring_app/templates/control_board/manager_dashboard.html delete mode 100644 hiring_module/hiring_app/templates/leader_dashboard.html delete mode 100644 hiring_module/hiring_app/templates/manager_dashboard.html create mode 100644 hiring_module/hiring_app/views/control_board/general_dashboard_view.py diff --git a/hiring_module/.example-env b/hiring_module/.example-env deleted file mode 100644 index 27cc57a..0000000 --- a/hiring_module/.example-env +++ /dev/null @@ -1,7 +0,0 @@ -SECRET_KEY=django-insecure-4ht3kx09p6eqjx1&(l#d8h5qsmg(3jdgthb2aw#gz!7un41*mr -DEBUG=True -DATABASE_NAME=hiring_module -DATABASE_USER=postgres -DATABASE_PASSWORD=admin -DATABASE_HOST=localhost -DATABASE_PORT=5432 \ No newline at end of file diff --git a/hiring_module/hiring_app/templates/administrator_dashboard.html b/hiring_module/hiring_app/templates/administrator_dashboard.html deleted file mode 100644 index 389d33a..0000000 --- a/hiring_module/hiring_app/templates/administrator_dashboard.html +++ /dev/null @@ -1,20 +0,0 @@ -{% extends 'base.html' %} -{% load static %} -{% block title %} -Panel de control de Administrador -{% endblock %} -{% block aditionalMetadata %} -{% endblock %} - -{% block content %} -
- {% include 'control_board/center_container.html' %} - -
- {% include 'control_board/table.html' %} -
- - {% include 'control_board/state_change.html' %} -
- -{% endblock %} \ No newline at end of file diff --git a/hiring_module/hiring_app/templates/control_board/administrator_dashboard.html b/hiring_module/hiring_app/templates/control_board/administrator_dashboard.html new file mode 100644 index 0000000..0094006 --- /dev/null +++ b/hiring_module/hiring_app/templates/control_board/administrator_dashboard.html @@ -0,0 +1,11 @@ +{% extends 'control_board/base.html' %} +{% load static %} +{% block title %} +Panel de control de Administrador +{% endblock %} +{% block aditionalMetadata %} +{% endblock %} + +{% block control_board %} + +{% endblock %} \ No newline at end of file diff --git a/hiring_module/hiring_app/templates/control_board/base.html b/hiring_module/hiring_app/templates/control_board/base.html new file mode 100644 index 0000000..85e6bc7 --- /dev/null +++ b/hiring_module/hiring_app/templates/control_board/base.html @@ -0,0 +1,25 @@ +{% extends 'base.html' %} +{% load static %} +{% block title %} +Panel de control +{% endblock %} +{% block aditionalMetadata %} +{% endblock %} + +{% block content %} + +
+ {% include 'control_board/center_container.html' %} + +
+ {% include 'control_board/table.html' %} + {% block control_board %} + + {% endblock %} +
+ + {% include 'control_board/state_change.html' %} +
+ + +{% endblock %} \ No newline at end of file diff --git a/hiring_module/hiring_app/templates/external_user_dashboard.html b/hiring_module/hiring_app/templates/control_board/external_user_dashboard.html similarity index 92% rename from hiring_module/hiring_app/templates/external_user_dashboard.html rename to hiring_module/hiring_app/templates/control_board/external_user_dashboard.html index 56d5c42..c475b32 100644 --- a/hiring_module/hiring_app/templates/external_user_dashboard.html +++ b/hiring_module/hiring_app/templates/control_board/external_user_dashboard.html @@ -1,4 +1,4 @@ -{% extends 'base.html' %} +{% extends 'control_board/base.html' %} {% load static %} {% block title %} Panel de control de usuario externo @@ -6,7 +6,7 @@ {% block aditionalMetadata %} {% endblock %} -{% block content %} +{% block control_board %}
diff --git a/hiring_module/hiring_app/templates/control_board/leader_dashboard.html b/hiring_module/hiring_app/templates/control_board/leader_dashboard.html new file mode 100644 index 0000000..2273d21 --- /dev/null +++ b/hiring_module/hiring_app/templates/control_board/leader_dashboard.html @@ -0,0 +1,11 @@ +{% extends 'control_board/base.html' %} +{% load static %} +{% block title %} +Panel de control de Líder +{% endblock %} +{% block aditionalMetadata %} +{% endblock %} + +{% block control_board %} + +{% endblock %} \ No newline at end of file diff --git a/hiring_module/hiring_app/templates/control_board/manager_dashboard.html b/hiring_module/hiring_app/templates/control_board/manager_dashboard.html new file mode 100644 index 0000000..4418b12 --- /dev/null +++ b/hiring_module/hiring_app/templates/control_board/manager_dashboard.html @@ -0,0 +1,11 @@ +{% extends 'control_board/base.html' %} +{% load static %} +{% block title %} +Panel de control de Gestor +{% endblock %} +{% block aditionalMetadata %} +{% endblock %} + +{% block control_board %} + +{% endblock %} \ No newline at end of file diff --git a/hiring_module/hiring_app/templates/leader_dashboard.html b/hiring_module/hiring_app/templates/leader_dashboard.html deleted file mode 100644 index c4e8d0b..0000000 --- a/hiring_module/hiring_app/templates/leader_dashboard.html +++ /dev/null @@ -1,19 +0,0 @@ -{% extends 'base.html' %} -{% load static %} -{% block title %} -Panel de control de Líder -{% endblock %} -{% block aditionalMetadata %} -{% endblock %} - -{% block content %} -
- {% include 'control_board/center_container.html' %} - -
- {% include 'control_board/table.html' %} -
- - {% include 'control_board/state_change.html' %} -
-{% endblock %} \ No newline at end of file diff --git a/hiring_module/hiring_app/templates/manager_dashboard.html b/hiring_module/hiring_app/templates/manager_dashboard.html deleted file mode 100644 index 0439420..0000000 --- a/hiring_module/hiring_app/templates/manager_dashboard.html +++ /dev/null @@ -1,20 +0,0 @@ -{% extends 'base.html' %} -{% load static %} -{% block title %} -Panel de control de Gestor -{% endblock %} -{% block aditionalMetadata %} -{% endblock %} - -{% block content %} -
- {% include 'control_board/center_container.html' %} - -
- {% include 'control_board/table.html' %} -
- - {% include 'control_board/state_change.html' %} -
- -{% endblock %} \ No newline at end of file diff --git a/hiring_module/hiring_app/views/control_board/administrator_dashboard_view.py b/hiring_module/hiring_app/views/control_board/administrator_dashboard_view.py index 40ea03e..57333b3 100644 --- a/hiring_module/hiring_app/views/control_board/administrator_dashboard_view.py +++ b/hiring_module/hiring_app/views/control_board/administrator_dashboard_view.py @@ -4,25 +4,16 @@ from hiring_app.model.cex_contract_request_model import CEXContractRequest from hiring_app.model.monitoring_contract_request_model import MonitoringContractRequest +from .general_dashboard_view import GeneralDashboard from .utilities import role_redirect -class AdministratorDashboardView(TemplateView): - template_name = 'administrator_dashboard.html' +class AdministratorDashboardView(TemplateView, GeneralDashboard): + template_name = 'control_board/administrator_dashboard.html' # Redirect to correct dashboard based on user role @method_decorator(role_redirect) def dispatch(self, *args, **kwargs): return super().dispatch(*args, **kwargs) - def get_context_data(self, **kwargs): - context = super().get_context_data(**kwargs) - solicitudes_cex = CEXContractRequest.objects.all() - solicitudes_monitoring = MonitoringContractRequest.objects.all() - # Combine both queries into a single list - solicitudes = list(solicitudes_cex) + list(solicitudes_monitoring) - # Pass the list of requests to the context - context['solicitudes'] = solicitudes - return context - diff --git a/hiring_module/hiring_app/views/control_board/external_user_dashboard_view.py b/hiring_module/hiring_app/views/control_board/external_user_dashboard_view.py index a2c52f7..bb2449b 100644 --- a/hiring_module/hiring_app/views/control_board/external_user_dashboard_view.py +++ b/hiring_module/hiring_app/views/control_board/external_user_dashboard_view.py @@ -22,7 +22,7 @@ def wrapper(request, *args, **kwargs): return wrapper class ExternalUserDashboardView(TemplateView): - template_name = 'external_user_dashboard.html' + template_name = 'control_board/external_user_dashboard.html' @method_decorator(role_and_login_required) def dispatch(self, *args, **kwargs): diff --git a/hiring_module/hiring_app/views/control_board/general_dashboard_view.py b/hiring_module/hiring_app/views/control_board/general_dashboard_view.py new file mode 100644 index 0000000..97c9084 --- /dev/null +++ b/hiring_module/hiring_app/views/control_board/general_dashboard_view.py @@ -0,0 +1,13 @@ +from hiring_app.model.cex_contract_request_model import CEXContractRequest +from hiring_app.model.monitoring_contract_request_model import MonitoringContractRequest + +class GeneralDashboard(): + def get_context_data(self, **kwargs): + context = super().get_context_data(**kwargs) + solicitudes_cex = CEXContractRequest.objects.all() + solicitudes_monitoring = MonitoringContractRequest.objects.all() + # Combine both queries into a single list + solicitudes = list(solicitudes_cex) + list(solicitudes_monitoring) + # Pass the list of requests to the context + context['solicitudes'] = solicitudes + return context \ No newline at end of file diff --git a/hiring_module/hiring_app/views/control_board/leader_dashboard_view.py b/hiring_module/hiring_app/views/control_board/leader_dashboard_view.py index bd7acc3..2578fdb 100644 --- a/hiring_module/hiring_app/views/control_board/leader_dashboard_view.py +++ b/hiring_module/hiring_app/views/control_board/leader_dashboard_view.py @@ -2,9 +2,10 @@ from django.shortcuts import redirect from django.utils.decorators import method_decorator from hiring_app.views.control_board.utilities import role_redirect +from hiring_app.views.control_board.general_dashboard_view import GeneralDashboard -class LeaderDashboardView(TemplateView): - template_name = 'leader_dashboard.html' +class LeaderDashboardView(TemplateView, GeneralDashboard): + template_name = 'control_board/leader_dashboard.html' # Redirect to correct dashboard based on user role @method_decorator(role_redirect) diff --git a/hiring_module/hiring_app/views/control_board/manager_dashboard_view.py b/hiring_module/hiring_app/views/control_board/manager_dashboard_view.py index ad93de0..052ecdb 100644 --- a/hiring_module/hiring_app/views/control_board/manager_dashboard_view.py +++ b/hiring_module/hiring_app/views/control_board/manager_dashboard_view.py @@ -2,9 +2,10 @@ from django.shortcuts import redirect from django.utils.decorators import method_decorator from hiring_app.views.control_board.utilities import role_redirect +from hiring_app.views.control_board.general_dashboard_view import GeneralDashboard -class ManagerDashboardView(TemplateView): - template_name = 'manager_dashboard.html' +class ManagerDashboardView(TemplateView, GeneralDashboard): + template_name = 'control_board/manager_dashboard.html' # Redirect to correct dashboard based on user role @method_decorator(role_redirect) diff --git a/hiring_module/hiring_app/views/control_board/utilities.py b/hiring_module/hiring_app/views/control_board/utilities.py index ca66c4b..c0f6993 100644 --- a/hiring_module/hiring_app/views/control_board/utilities.py +++ b/hiring_module/hiring_app/views/control_board/utilities.py @@ -19,3 +19,4 @@ def wrapper(request, *args, **kwargs): return view_func(request, *args, **kwargs) return wrapper + From 0e73e74a9dd7a0ac8bbb8d051a0960380b76f295 Mon Sep 17 00:00:00 2001 From: Alejolonber25 Date: Mon, 22 Apr 2024 09:24:18 -0500 Subject: [PATCH 2/9] WIP:BUILD: Descriptive statistics for requests implemented --- .../templates/control_board/base.html | 3 +- .../control_board/center_container.html | 7 +++-- .../templates/control_board/table.html | 19 ++++++------ .../administrator_dashboard_view.py | 20 ++++++------- .../control_board/general_dashboard_view.py | 13 --------- .../control_board/leader_dashboard_view.py | 15 ++++++---- .../control_board/manager_dashboard_view.py | 18 ++++++++---- .../views/control_board/utilities.py | 29 +++++++++++++++++++ 8 files changed, 76 insertions(+), 48 deletions(-) delete mode 100644 hiring_module/hiring_app/views/control_board/general_dashboard_view.py diff --git a/hiring_module/hiring_app/templates/control_board/base.html b/hiring_module/hiring_app/templates/control_board/base.html index 85e6bc7..4224f9e 100644 --- a/hiring_module/hiring_app/templates/control_board/base.html +++ b/hiring_module/hiring_app/templates/control_board/base.html @@ -11,8 +11,9 @@
{% include 'control_board/center_container.html' %} + {% include 'control_board/table.html'%} +
- {% include 'control_board/table.html' %} {% block control_board %} {% endblock %} diff --git a/hiring_module/hiring_app/templates/control_board/center_container.html b/hiring_module/hiring_app/templates/control_board/center_container.html index de76ed5..06a5073 100644 --- a/hiring_module/hiring_app/templates/control_board/center_container.html +++ b/hiring_module/hiring_app/templates/control_board/center_container.html @@ -1,8 +1,9 @@

Panel de Control

- {% include 'control_board/components/element_container.html' with count=23 status='Por validar' %} - {% include 'control_board/components/element_container.html' with count=32 status='En proceso' %} - {% include 'control_board/components/element_container.html' with count=33 status='Aprobados' %} + {% include 'control_board/components/element_container.html' with count=filled_requests|length status='Aprobados' %} + {% include 'control_board/components/element_container.html' with count=reviewed_requests|length status='Por revisar' %} + {% include 'control_board/components/element_container.html' with count=for_validate_requests|length status='Por validar' %} + {% include 'control_board/components/element_container.html' with count=requests|length status='Total' %}
\ No newline at end of file diff --git a/hiring_module/hiring_app/templates/control_board/table.html b/hiring_module/hiring_app/templates/control_board/table.html index 6258611..37a174c 100644 --- a/hiring_module/hiring_app/templates/control_board/table.html +++ b/hiring_module/hiring_app/templates/control_board/table.html @@ -12,15 +12,16 @@ - {% for solicitud in solicitudes %} - - {{ solicitud.id }} - {{ solicitud.created_by.first_name }} {{ solicitud.created_by.last_name }} - {{ solicitud.leader_assigned_to.first_name }} {{ solicitud.leader_assigned_to.last_name }} - {{ solicitud.manager_assigned_to.first_name }} {{ solicitud.manager_assigned_to.last_name }} - {{ solicitud.state }} - {{ solicitud.contrato }} - {{ solicitud.start_date|date:"d-m-Y" }} + + {% for request in requests %} + + {{ request.id }} + {{ request.created_by.first_name }} {{ request.created_by.last_name }} + {{ request.leader_assigned_to.first_name }} {{ request.leader_assigned_to.last_name }} + {{ request.manager_assigned_to.first_name }} {{ request.manager_assigned_to.last_name }} + {{ request.state }} + {{ request.contrato }} + {{ request.start_date|date:"d-m-Y" }} {% endfor %} diff --git a/hiring_module/hiring_app/views/control_board/administrator_dashboard_view.py b/hiring_module/hiring_app/views/control_board/administrator_dashboard_view.py index 57333b3..c2a613f 100644 --- a/hiring_module/hiring_app/views/control_board/administrator_dashboard_view.py +++ b/hiring_module/hiring_app/views/control_board/administrator_dashboard_view.py @@ -1,19 +1,19 @@ +from django.views import View from django.views.generic import TemplateView -from django.shortcuts import redirect +from django.shortcuts import redirect, render from django.utils.decorators import method_decorator - from hiring_app.model.cex_contract_request_model import CEXContractRequest from hiring_app.model.monitoring_contract_request_model import MonitoringContractRequest -from .general_dashboard_view import GeneralDashboard -from .utilities import role_redirect - +from .utilities import role_redirect, get_requests - -class AdministratorDashboardView(TemplateView, GeneralDashboard): +class AdministratorDashboardView(View): template_name = 'control_board/administrator_dashboard.html' # Redirect to correct dashboard based on user role @method_decorator(role_redirect) - def dispatch(self, *args, **kwargs): - return super().dispatch(*args, **kwargs) - + def dispatch(self, request, *args, **kwargs): + context = {} + context.update(get_requests(self.request.user)) + return render(request, self.template_name, context) + + \ No newline at end of file diff --git a/hiring_module/hiring_app/views/control_board/general_dashboard_view.py b/hiring_module/hiring_app/views/control_board/general_dashboard_view.py deleted file mode 100644 index 97c9084..0000000 --- a/hiring_module/hiring_app/views/control_board/general_dashboard_view.py +++ /dev/null @@ -1,13 +0,0 @@ -from hiring_app.model.cex_contract_request_model import CEXContractRequest -from hiring_app.model.monitoring_contract_request_model import MonitoringContractRequest - -class GeneralDashboard(): - def get_context_data(self, **kwargs): - context = super().get_context_data(**kwargs) - solicitudes_cex = CEXContractRequest.objects.all() - solicitudes_monitoring = MonitoringContractRequest.objects.all() - # Combine both queries into a single list - solicitudes = list(solicitudes_cex) + list(solicitudes_monitoring) - # Pass the list of requests to the context - context['solicitudes'] = solicitudes - return context \ No newline at end of file diff --git a/hiring_module/hiring_app/views/control_board/leader_dashboard_view.py b/hiring_module/hiring_app/views/control_board/leader_dashboard_view.py index 2578fdb..0cd3e9c 100644 --- a/hiring_module/hiring_app/views/control_board/leader_dashboard_view.py +++ b/hiring_module/hiring_app/views/control_board/leader_dashboard_view.py @@ -1,14 +1,17 @@ +from django.views import View from django.views.generic import TemplateView -from django.shortcuts import redirect +from django.shortcuts import redirect, render from django.utils.decorators import method_decorator -from hiring_app.views.control_board.utilities import role_redirect -from hiring_app.views.control_board.general_dashboard_view import GeneralDashboard +from hiring_app.views.control_board.utilities import role_redirect, get_requests -class LeaderDashboardView(TemplateView, GeneralDashboard): +class LeaderDashboardView(View): template_name = 'control_board/leader_dashboard.html' # Redirect to correct dashboard based on user role @method_decorator(role_redirect) - def dispatch(self, *args, **kwargs): - return super().dispatch(*args, **kwargs) + def dispatch(self, request, *args, **kwargs): + context = {} + context.update(get_requests(self.request.user)) + return render(request, self.template_name, context) + \ No newline at end of file diff --git a/hiring_module/hiring_app/views/control_board/manager_dashboard_view.py b/hiring_module/hiring_app/views/control_board/manager_dashboard_view.py index 052ecdb..c2da179 100644 --- a/hiring_module/hiring_app/views/control_board/manager_dashboard_view.py +++ b/hiring_module/hiring_app/views/control_board/manager_dashboard_view.py @@ -1,14 +1,20 @@ +from django.views import View from django.views.generic import TemplateView -from django.shortcuts import redirect +from django.shortcuts import redirect, render from django.utils.decorators import method_decorator -from hiring_app.views.control_board.utilities import role_redirect -from hiring_app.views.control_board.general_dashboard_view import GeneralDashboard +from hiring_app.views.control_board.utilities import role_redirect, get_requests -class ManagerDashboardView(TemplateView, GeneralDashboard): +class ManagerDashboardView(View): template_name = 'control_board/manager_dashboard.html' # Redirect to correct dashboard based on user role @method_decorator(role_redirect) - def dispatch(self, *args, **kwargs): - return super().dispatch(*args, **kwargs) + def dispatch(self, request, *args, **kwargs): + context = {} + context.update(get_requests(self.request.user)) + return render(request, self.template_name, context) + + + + diff --git a/hiring_module/hiring_app/views/control_board/utilities.py b/hiring_module/hiring_app/views/control_board/utilities.py index c0f6993..7cfa097 100644 --- a/hiring_module/hiring_app/views/control_board/utilities.py +++ b/hiring_module/hiring_app/views/control_board/utilities.py @@ -1,6 +1,12 @@ from functools import wraps from django.shortcuts import redirect +from hiring_app.model import CustomUser +from django.contrib.auth.models import Group + +from hiring_app.model.cex_contract_request_model import CEXContractRequest +from hiring_app.model.monitoring_contract_request_model import MonitoringContractRequest + # Decorator to redirect users to the correct dashboard based on their role def role_redirect(view_func): @wraps(view_func) @@ -20,3 +26,26 @@ def wrapper(request, *args, **kwargs): return wrapper +def get_requests(user): + print(user) + groups = [group.name for group in user.groups.all()] + requests_CEX = CEXContractRequest.objects.none() + requests_monitoring = MonitoringContractRequest.objects.none() + + if 'admin' in groups or 'leader' in groups: + requests_CEX = CEXContractRequest.objects.all() + requests_monitoring = MonitoringContractRequest.objects.all() + elif 'manager' in groups: + requests_CEX = CEXContractRequest.objects.filter(manager_assigned_to=user.id) + requests_monitoring = MonitoringContractRequest.objects.filter(manager_assigned_to=user.id) + + return { + 'requests': list(requests_CEX) + list(requests_monitoring), + 'filled_requests': list(requests_CEX.filter(state='filed')) + list(requests_monitoring.filter(state='filed')), + 'reviewed_requests': list(requests_CEX.filter(state='review')) + list(requests_monitoring.filter(state='review')), + 'for_validate_requests': list(requests_CEX.filter(state__in=['pending', 'incomplete'])) + list(requests_monitoring.filter(state__in=['pending', 'incomplete'])) + } + + + + \ No newline at end of file From 2faf88c7ec23548a7c5b60e4cb5619ee4ff54753 Mon Sep 17 00:00:00 2001 From: "Sebastian._.411._" <84807030+Debug41@users.noreply.github.com> Date: Mon, 22 Apr 2024 09:51:46 -0500 Subject: [PATCH 3/9] FIX: fixinh frontend --- hiring_module/hiring_app/static/css/style.css | 117 +- .../static/css/tailwind/tailwind.css | 3876 ----------------- .../hiring_app/static/js/side_bar.js | 17 +- .../templates/components/LeftSideMenu.html | 19 +- .../templates/components/header.html | 40 +- hiring_module/hiring_module/settings.py | 7 +- 6 files changed, 132 insertions(+), 3944 deletions(-) delete mode 100644 hiring_module/hiring_app/static/css/tailwind/tailwind.css diff --git a/hiring_module/hiring_app/static/css/style.css b/hiring_module/hiring_app/static/css/style.css index e42169c..df768cc 100644 --- a/hiring_module/hiring_app/static/css/style.css +++ b/hiring_module/hiring_app/static/css/style.css @@ -1,20 +1,97 @@ -@import url("https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900&display=swap"); -@tailwind base; - -@layer base { - html { - @apply text-surface; - @apply bg-white; - } - html.dark { - @apply text-neutral-50; - @apply bg-body-dark; - } -} - -@tailwind components; -@tailwind utilities; - -p { - @apply leading-[1.6]; -} \ No newline at end of file +#asideMenu { + width: 15vw; + height: 100%; + background-color: #00599C; + position: fixed; + box-shadow: 2px 0 10px rgba(0, 0, 0, 0.2); +} + +#asideMenu div { + display: flex; + flex-direction: column; + align-items: stretch; +} + +#asideMenu button { + width: 100%; + font-size: 1rem; + font-weight: 500; + text-align: center; + transition: all 0.3s; + color: white; + background-color: #007acc; + border: none; + cursor: pointer; + padding: 0.75rem 0; + border-bottom: 1px solid #004d80; +} + +#asideMenu button:hover, +#asideMenu button.hover\:bg-blue-900:hover { + background-color: #00547D; +} + +#asideMenu button:hover:not(.hover\:bg-blue-900), +#asideMenu button.hover\:bg-blue-900:hover:not(.hover\:bg-blue-900) { + background-color: #00547D; +} + + + +/* Header */ + +#mainHeader { + position: fixed; + top: 0; + left: 0; + background-color: #ffffff; + box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25); + padding: 0px 24px; + margin-left: 0px; + width: 100%; + display: flex; + justify-content: space-between; + align-items: center; + height: 64px; +} + +#mainHeader > div { + margin: auto; + display: flex; + justify-content: space-between; + align-items: center; + height: 64px; +} + +#mainHeader svg { + fill: none; + stroke-width: 1.5; + stroke: currentColor; + transition: stroke 0.3s; +} + +#mainHeader button, #mainHeader a { + color: #1e3a8a; + transition: color 0.3s; + padding: 10px; +} + +#mainHeader button:hover, #mainHeader a:hover { + color: #337ab7; +} + +#mainHeader button[onclick="DOMContentLoaded"] { + margin-left: 16px; +} + +#mainHeader button[onclick="window.history.back()"] { + margin-left: 16px; +} + +#mainHeader button img { + width: 40px; + height: 40px; + border-radius: 20px; +} + + diff --git a/hiring_module/hiring_app/static/css/tailwind/tailwind.css b/hiring_module/hiring_app/static/css/tailwind/tailwind.css deleted file mode 100644 index c0748b3..0000000 --- a/hiring_module/hiring_app/static/css/tailwind/tailwind.css +++ /dev/null @@ -1,3876 +0,0 @@ -@import url("https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900&display=swap"); - -/* -! tailwindcss v3.4.3 | MIT License | https://tailwindcss.com -*/ - -/* -1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4) -2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116) -*/ - -*, -::before, -::after { - box-sizing: border-box; - /* 1 */ - border-width: 0; - /* 2 */ - border-style: solid; - /* 2 */ - border-color: #e5e7eb; - /* 2 */ -} - -::before, -::after { - --tw-content: ''; -} - -/* -1. Use a consistent sensible line-height in all browsers. -2. Prevent adjustments of font size after orientation changes in iOS. -3. Use a more readable tab size. -4. Use the user's configured `sans` font-family by default. -5. Use the user's configured `sans` font-feature-settings by default. -6. Use the user's configured `sans` font-variation-settings by default. -7. Disable tap highlights on iOS -*/ - -html, -:host { - line-height: 1.5; - /* 1 */ - -webkit-text-size-adjust: 100%; - /* 2 */ - -moz-tab-size: 4; - /* 3 */ - -o-tab-size: 4; - tab-size: 4; - /* 3 */ - font-family: Roboto, sans-serif; - /* 4 */ - font-feature-settings: normal; - /* 5 */ - font-variation-settings: normal; - /* 6 */ - -webkit-tap-highlight-color: transparent; - /* 7 */ -} - -/* -1. Remove the margin in all browsers. -2. Inherit line-height from `html` so users can set them as a class directly on the `html` element. -*/ - -body { - margin: 0; - /* 1 */ - line-height: inherit; - /* 2 */ -} - -/* -1. Add the correct height in Firefox. -2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) -3. Ensure horizontal rules are visible by default. -*/ - -hr { - height: 0; - /* 1 */ - color: inherit; - /* 2 */ - border-top-width: 1px; - /* 3 */ -} - -/* -Add the correct text decoration in Chrome, Edge, and Safari. -*/ - -abbr:where([title]) { - -webkit-text-decoration: underline dotted; - text-decoration: underline dotted; -} - -/* -Remove the default font size and weight for headings. -*/ - -h1, -h2, -h3, -h4, -h5, -h6 { - font-size: inherit; - font-weight: inherit; -} - -/* -Reset links to optimize for opt-in styling instead of opt-out. -*/ - -a { - color: inherit; - text-decoration: inherit; -} - -/* -Add the correct font weight in Edge and Safari. -*/ - -b, -strong { - font-weight: bolder; -} - -/* -1. Use the user's configured `mono` font-family by default. -2. Use the user's configured `mono` font-feature-settings by default. -3. Use the user's configured `mono` font-variation-settings by default. -4. Correct the odd `em` font sizing in all browsers. -*/ - -code, -kbd, -samp, -pre { - font-family: ui-monospace, monospace; - /* 1 */ - font-feature-settings: normal; - /* 2 */ - font-variation-settings: normal; - /* 3 */ - font-size: 1em; - /* 4 */ -} - -/* -Add the correct font size in all browsers. -*/ - -small { - font-size: 80%; -} - -/* -Prevent `sub` and `sup` elements from affecting the line height in all browsers. -*/ - -sub, -sup { - font-size: 75%; - line-height: 0; - position: relative; - vertical-align: baseline; -} - -sub { - bottom: -0.25em; -} - -sup { - top: -0.5em; -} - -/* -1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) -2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) -3. Remove gaps between table borders by default. -*/ - -table { - text-indent: 0; - /* 1 */ - border-color: inherit; - /* 2 */ - border-collapse: collapse; - /* 3 */ -} - -/* -1. Change the font styles in all browsers. -2. Remove the margin in Firefox and Safari. -3. Remove default padding in all browsers. -*/ - -button, -input, -optgroup, -select, -textarea { - font-family: inherit; - /* 1 */ - font-feature-settings: inherit; - /* 1 */ - font-variation-settings: inherit; - /* 1 */ - font-size: 100%; - /* 1 */ - font-weight: inherit; - /* 1 */ - line-height: inherit; - /* 1 */ - letter-spacing: inherit; - /* 1 */ - color: inherit; - /* 1 */ - margin: 0; - /* 2 */ - padding: 0; - /* 3 */ -} - -/* -Remove the inheritance of text transform in Edge and Firefox. -*/ - -button, -select { - text-transform: none; -} - -/* -1. Correct the inability to style clickable types in iOS and Safari. -2. Remove default button styles. -*/ - -button, -input:where([type='button']), -input:where([type='reset']), -input:where([type='submit']) { - -webkit-appearance: button; - /* 1 */ - background-color: transparent; - /* 2 */ - background-image: none; - /* 2 */ -} - -/* -Use the modern Firefox focus style for all focusable elements. -*/ - -:-moz-focusring { - outline: auto; -} - -/* -Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737) -*/ - -:-moz-ui-invalid { - box-shadow: none; -} - -/* -Add the correct vertical alignment in Chrome and Firefox. -*/ - -progress { - vertical-align: baseline; -} - -/* -Correct the cursor style of increment and decrement buttons in Safari. -*/ - -::-webkit-inner-spin-button, -::-webkit-outer-spin-button { - height: auto; -} - -/* -1. Correct the odd appearance in Chrome and Safari. -2. Correct the outline style in Safari. -*/ - -[type='search'] { - -webkit-appearance: textfield; - /* 1 */ - outline-offset: -2px; - /* 2 */ -} - -/* -Remove the inner padding in Chrome and Safari on macOS. -*/ - -::-webkit-search-decoration { - -webkit-appearance: none; -} - -/* -1. Correct the inability to style clickable types in iOS and Safari. -2. Change font properties to `inherit` in Safari. -*/ - -::-webkit-file-upload-button { - -webkit-appearance: button; - /* 1 */ - font: inherit; - /* 2 */ -} - -/* -Add the correct display in Chrome and Safari. -*/ - -summary { - display: list-item; -} - -/* -Removes the default spacing and border for appropriate elements. -*/ - -blockquote, -dl, -dd, -h1, -h2, -h3, -h4, -h5, -h6, -hr, -figure, -p, -pre { - margin: 0; -} - -fieldset { - margin: 0; - padding: 0; -} - -legend { - padding: 0; -} - -ol, -ul, -menu { - list-style: none; - margin: 0; - padding: 0; -} - -/* -Reset default styling for dialogs. -*/ - -dialog { - padding: 0; -} - -/* -Prevent resizing textareas horizontally by default. -*/ - -textarea { - resize: vertical; -} - -/* -1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300) -2. Set the default placeholder color to the user's configured gray 400 color. -*/ - -input::-moz-placeholder, textarea::-moz-placeholder { - opacity: 1; - /* 1 */ - color: #9ca3af; - /* 2 */ -} - -input::placeholder, -textarea::placeholder { - opacity: 1; - /* 1 */ - color: #9ca3af; - /* 2 */ -} - -/* -Set the default cursor for buttons. -*/ - -button, -[role="button"] { - cursor: pointer; -} - -/* -Make sure disabled buttons don't get the pointer cursor. -*/ - -:disabled { - cursor: default; -} - -/* -1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14) -2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210) - This can trigger a poorly considered lint error in some tools but is included by design. -*/ - -img, -svg, -video, -canvas, -audio, -iframe, -embed, -object { - display: block; - /* 1 */ - vertical-align: middle; - /* 2 */ -} - -/* -Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14) -*/ - -img, -video { - max-width: 100%; - height: auto; -} - -/* Make elements with the HTML hidden attribute stay hidden by default */ - -[hidden] { - display: none; -} - -input[type="range"]::-webkit-slider-thumb{ - height: 1rem; - width: 1rem; - background: #3B71CA; - border-radius: 9999px; - border: 0; - appearance: none; - -moz-appearance: none; - -webkit-appearance: none; - cursor: pointer; -} - -.dark input[type="range"]::-webkit-slider-thumb{ - background: #8FAEE0; -} - -input[type="range"]:disabled::-webkit-slider-thumb{ - background: #a3a3a3; -} - -input[type="range"]:disabled:focus::-webkit-slider-thumb{ - background: #a3a3a3; -} - -input[type="range"]:disabled:active::-webkit-slider-thumb{ - background: #a3a3a3; -} - -.dark input[type="range"]:disabled::-webkit-slider-thumb{ - background: #737373; -} - -.dark input[type="range"]:disabled:focus::-webkit-slider-thumb{ - background: #737373; -} - -.dark input[type="range"]:disabled:active::-webkit-slider-thumb{ - background: #737373; -} - -input[type="range"]::-moz-range-thumb{ - height: 1rem; - width: 1rem; - background: #3B71CA; - border-radius: 9999px; - border: 0; - appearance: none; - -moz-appearance: none; - -webkit-appearance: none; - cursor: pointer; -} - -.dark input[type="range"]::-moz-range-thumb{ - background: #8FAEE0; -} - -input[type="range"]:disabled::-moz-range-thumb{ - background: #a3a3a3; -} - -.dark input[type="range"]:disabled::-moz-range-thumb{ - background: #737373; -} - -input[type="range"]::-moz-range-progress{ - background: #3061AF; -} - -input[type="range"]::-ms-fill-lower{ - background: #3061AF; -} - -.dark input[type="range"]::-moz-range-progress{ - background: #6590D5; -} - -.dark input[type="range"]::-ms-fill-lower{ - background: #6590D5; -} - -input[type="range"]:focus{ - outline: none; -} - -input[type="range"]:focus::-webkit-slider-thumb{ - background: #3061AF; -} - -input[type="range"]:active::-webkit-slider-thumb{ - background: #285192; -} - -.dark input[type="range"]:focus::-webkit-slider-thumb{ - background: #6590D5; -} - -.dark input[type="range"]:active::-webkit-slider-thumb{ - background: #3061AF; -} - -html{ - --tw-text-opacity: 1; - color: rgb(79 79 79 / var(--tw-text-opacity)); - --tw-bg-opacity: 1; - background-color: rgb(255 255 255 / var(--tw-bg-opacity)); -} - -html.dark{ - --tw-text-opacity: 1; - color: rgb(250 250 250 / var(--tw-text-opacity)); - --tw-bg-opacity: 1; - background-color: rgb(48 48 48 / var(--tw-bg-opacity)); -} - -*, ::before, ::after{ - --tw-border-spacing-x: 0; - --tw-border-spacing-y: 0; - --tw-translate-x: 0; - --tw-translate-y: 0; - --tw-rotate: 0; - --tw-skew-x: 0; - --tw-skew-y: 0; - --tw-scale-x: 1; - --tw-scale-y: 1; - --tw-pan-x: ; - --tw-pan-y: ; - --tw-pinch-zoom: ; - --tw-scroll-snap-strictness: proximity; - --tw-gradient-from-position: ; - --tw-gradient-via-position: ; - --tw-gradient-to-position: ; - --tw-ordinal: ; - --tw-slashed-zero: ; - --tw-numeric-figure: ; - --tw-numeric-spacing: ; - --tw-numeric-fraction: ; - --tw-ring-inset: ; - --tw-ring-offset-width: 0px; - --tw-ring-offset-color: #fff; - --tw-ring-color: rgb(59 130 246 / 0.5); - --tw-ring-offset-shadow: 0 0 #0000; - --tw-ring-shadow: 0 0 #0000; - --tw-shadow: 0 0 #0000; - --tw-shadow-colored: 0 0 #0000; - --tw-blur: ; - --tw-brightness: ; - --tw-contrast: ; - --tw-grayscale: ; - --tw-hue-rotate: ; - --tw-invert: ; - --tw-saturate: ; - --tw-sepia: ; - --tw-drop-shadow: ; - --tw-backdrop-blur: ; - --tw-backdrop-brightness: ; - --tw-backdrop-contrast: ; - --tw-backdrop-grayscale: ; - --tw-backdrop-hue-rotate: ; - --tw-backdrop-invert: ; - --tw-backdrop-opacity: ; - --tw-backdrop-saturate: ; - --tw-backdrop-sepia: ; - --tw-contain-size: ; - --tw-contain-layout: ; - --tw-contain-paint: ; - --tw-contain-style: ; -} - -::backdrop{ - --tw-border-spacing-x: 0; - --tw-border-spacing-y: 0; - --tw-translate-x: 0; - --tw-translate-y: 0; - --tw-rotate: 0; - --tw-skew-x: 0; - --tw-skew-y: 0; - --tw-scale-x: 1; - --tw-scale-y: 1; - --tw-pan-x: ; - --tw-pan-y: ; - --tw-pinch-zoom: ; - --tw-scroll-snap-strictness: proximity; - --tw-gradient-from-position: ; - --tw-gradient-via-position: ; - --tw-gradient-to-position: ; - --tw-ordinal: ; - --tw-slashed-zero: ; - --tw-numeric-figure: ; - --tw-numeric-spacing: ; - --tw-numeric-fraction: ; - --tw-ring-inset: ; - --tw-ring-offset-width: 0px; - --tw-ring-offset-color: #fff; - --tw-ring-color: rgb(59 130 246 / 0.5); - --tw-ring-offset-shadow: 0 0 #0000; - --tw-ring-shadow: 0 0 #0000; - --tw-shadow: 0 0 #0000; - --tw-shadow-colored: 0 0 #0000; - --tw-blur: ; - --tw-brightness: ; - --tw-contrast: ; - --tw-grayscale: ; - --tw-hue-rotate: ; - --tw-invert: ; - --tw-saturate: ; - --tw-sepia: ; - --tw-drop-shadow: ; - --tw-backdrop-blur: ; - --tw-backdrop-brightness: ; - --tw-backdrop-contrast: ; - --tw-backdrop-grayscale: ; - --tw-backdrop-hue-rotate: ; - --tw-backdrop-invert: ; - --tw-backdrop-opacity: ; - --tw-backdrop-saturate: ; - --tw-backdrop-sepia: ; - --tw-contain-size: ; - --tw-contain-layout: ; - --tw-contain-paint: ; - --tw-contain-style: ; -} - -.container{ - width: 100%; -} - -@media (min-width: 320px){ - .container{ - max-width: 320px; - } -} - -@media (min-width: 640px){ - .container{ - max-width: 640px; - } -} - -@media (min-width: 768px){ - .container{ - max-width: 768px; - } -} - -@media (min-width: 1024px){ - .container{ - max-width: 1024px; - } -} - -@media (min-width: 1280px){ - .container{ - max-width: 1280px; - } -} - -@media (min-width: 1536px){ - .container{ - max-width: 1536px; - } -} - -.sr-only{ - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - white-space: nowrap; - border-width: 0; -} - -.not-sr-only{ - position: static; - width: auto; - height: auto; - padding: 0; - margin: 0; - overflow: visible; - clip: auto; - white-space: normal; -} - -.pointer-events-none{ - pointer-events: none; -} - -.pointer-events-auto{ - pointer-events: auto; -} - -.\!visible{ - visibility: visible !important; -} - -.visible{ - visibility: visible; -} - -.invisible{ - visibility: hidden; -} - -.collapse{ - visibility: collapse; -} - -.static{ - position: static; -} - -.fixed{ - position: fixed; -} - -.absolute{ - position: absolute; -} - -.relative{ - position: relative; -} - -.sticky{ - position: sticky; -} - -.-inset-1{ - inset: -0.25rem; -} - -.\!left-auto{ - left: auto !important; -} - -.\!top-auto{ - top: auto !important; -} - -.bottom-0{ - bottom: 0px; -} - -.bottom-\[2px\]{ - bottom: 2px; -} - -.end-1{ - inset-inline-end: 0.25rem; -} - -.left-0{ - left: 0px; -} - -.left-1\/2{ - left: 50%; -} - -.right-0{ - right: 0px; -} - -.right-\[2px\]{ - right: 2px; -} - -.top-0{ - top: 0px; -} - -.top-1\/2{ - top: 50%; -} - -.isolate{ - isolation: isolate; -} - -.isolation-auto{ - isolation: auto; -} - -.z-\[1040\]{ - z-index: 1040; -} - -.z-\[1070\]{ - z-index: 1070; -} - -.z-\[1080\]{ - z-index: 1080; -} - -.z-\[999\]{ - z-index: 999; -} - -.float-start{ - float: inline-start; -} - -.float-end{ - float: inline-end; -} - -.float-right{ - float: right; -} - -.float-left{ - float: left; -} - -.float-none{ - float: none; -} - -.clear-start{ - clear: inline-start; -} - -.clear-end{ - clear: inline-end; -} - -.clear-left{ - clear: left; -} - -.clear-right{ - clear: right; -} - -.clear-both{ - clear: both; -} - -.clear-none{ - clear: none; -} - -.m-0{ - margin: 0px; -} - -.m-2{ - margin: 0.5rem; -} - -.m-4{ - margin: 1rem; -} - -.mx-auto{ - margin-left: auto; - margin-right: auto; -} - -.mb-0{ - margin-bottom: 0px; -} - -.mb-1{ - margin-bottom: 0.25rem; -} - -.mb-4{ - margin-bottom: 1rem; -} - -.ml-0{ - margin-left: 0px; -} - -.ml-10{ - margin-left: 2.5rem; -} - -.ml-4{ - margin-left: 1rem; -} - -.ml-\[27\%\]{ - margin-left: 27%; -} - -.mt-1{ - margin-top: 0.25rem; -} - -.mt-14{ - margin-top: 3.5rem; -} - -.mt-2{ - margin-top: 0.5rem; -} - -.mt-4{ - margin-top: 1rem; -} - -.mt-\[50px\]{ - margin-top: 50px; -} - -.box-border{ - box-sizing: border-box; -} - -.box-content{ - box-sizing: content-box; -} - -.line-clamp-none{ - overflow: visible; - display: block; - -webkit-box-orient: horizontal; - -webkit-line-clamp: none; -} - -.\!block{ - display: block !important; -} - -.block{ - display: block; -} - -.inline-block{ - display: inline-block; -} - -.inline{ - display: inline; -} - -.flex{ - display: flex; -} - -.inline-flex{ - display: inline-flex; -} - -.table{ - display: table; -} - -.inline-table{ - display: inline-table; -} - -.table-caption{ - display: table-caption; -} - -.table-cell{ - display: table-cell; -} - -.table-column{ - display: table-column; -} - -.table-column-group{ - display: table-column-group; -} - -.table-footer-group{ - display: table-footer-group; -} - -.table-header-group{ - display: table-header-group; -} - -.table-row-group{ - display: table-row-group; -} - -.table-row{ - display: table-row; -} - -.flow-root{ - display: flow-root; -} - -.grid{ - display: grid; -} - -.inline-grid{ - display: inline-grid; -} - -.contents{ - display: contents; -} - -.list-item{ - display: list-item; -} - -.hidden{ - display: none; -} - -.h-0{ - height: 0px; -} - -.h-1{ - height: 0.25rem; -} - -.h-1\.5{ - height: 0.375rem; -} - -.h-10{ - height: 2.5rem; -} - -.h-16{ - height: 4rem; -} - -.h-24{ - height: 6rem; -} - -.h-\[15px\]{ - height: 15px; -} - -.h-auto{ - height: auto; -} - -.h-full{ - height: 100%; -} - -.h-screen{ - height: 100vh; -} - -.w-0{ - width: 0px; -} - -.w-1{ - width: 0.25rem; -} - -.w-1\.5{ - width: 0.375rem; -} - -.w-1\/2{ - width: 50%; -} - -.w-10{ - width: 2.5rem; -} - -.w-2{ - width: 0.5rem; -} - -.w-40{ - width: 10rem; -} - -.w-\[14\%\]{ - width: 14%; -} - -.w-\[15px\]{ - width: 15px; -} - -.w-\[27\%\]{ - width: 27%; -} - -.w-\[this-is\\\\\]{ - width: this-is\\; -} - -.w-\[this-is\]{ - width: this-is; -} - -.w-\[weird-and-invalid\]{ - width: weird-and-invalid; -} - -.w-auto{ - width: auto; -} - -.w-full{ - width: 100%; -} - -.w-screen{ - width: 100vw; -} - -.min-w-full{ - min-width: 100%; -} - -.max-w-\[200px\]{ - max-width: 200px; -} - -.max-w-\[267px\]{ - max-width: 267px; -} - -.max-w-\[540px\]{ - max-width: 540px; -} - -.max-w-\[calc\(100\%-1rem\)\]{ - max-width: calc(100% - 1rem); -} - -.max-w-full{ - max-width: 100%; -} - -.flex-shrink{ - flex-shrink: 1; -} - -.shrink{ - flex-shrink: 1; -} - -.shrink-0{ - flex-shrink: 0; -} - -.flex-grow{ - flex-grow: 1; -} - -.grow{ - flex-grow: 1; -} - -.grow-0{ - flex-grow: 0; -} - -.basis-auto{ - flex-basis: auto; -} - -.table-auto{ - table-layout: auto; -} - -.table-fixed{ - table-layout: fixed; -} - -.caption-top{ - caption-side: top; -} - -.caption-bottom{ - caption-side: bottom; -} - -.border-collapse{ - border-collapse: collapse; -} - -.border-separate{ - border-collapse: separate; -} - -.-translate-x-1\/2{ - --tw-translate-x: -50%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.-translate-x-full{ - --tw-translate-x: -100%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.-translate-y-1\/2{ - --tw-translate-y: -50%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.translate-x-full{ - --tw-translate-x: 100%; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.scale-0{ - --tw-scale-x: 0; - --tw-scale-y: 0; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.scale-100{ - --tw-scale-x: 1; - --tw-scale-y: 1; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.scale-\[1\.02\]{ - --tw-scale-x: 1.02; - --tw-scale-y: 1.02; - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.\!transform{ - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important; -} - -.transform{ - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.transform-cpu{ - transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.transform-gpu{ - transform: translate3d(var(--tw-translate-x), var(--tw-translate-y), 0) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); -} - -.transform-none{ - transform: none; -} - -.touch-auto{ - touch-action: auto; -} - -.touch-none{ - touch-action: none; -} - -.touch-pan-x{ - --tw-pan-x: pan-x; - touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom); -} - -.touch-pan-left{ - --tw-pan-x: pan-left; - touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom); -} - -.touch-pan-right{ - --tw-pan-x: pan-right; - touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom); -} - -.touch-pan-y{ - --tw-pan-y: pan-y; - touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom); -} - -.touch-pan-up{ - --tw-pan-y: pan-up; - touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom); -} - -.touch-pan-down{ - --tw-pan-y: pan-down; - touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom); -} - -.touch-pinch-zoom{ - --tw-pinch-zoom: pinch-zoom; - touch-action: var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom); -} - -.touch-manipulation{ - touch-action: manipulation; -} - -.select-none{ - -webkit-user-select: none; - -moz-user-select: none; - user-select: none; -} - -.select-text{ - -webkit-user-select: text; - -moz-user-select: text; - user-select: text; -} - -.select-all{ - -webkit-user-select: all; - -moz-user-select: all; - user-select: all; -} - -.select-auto{ - -webkit-user-select: auto; - -moz-user-select: auto; - user-select: auto; -} - -.resize-none{ - resize: none; -} - -.resize-y{ - resize: vertical; -} - -.resize-x{ - resize: horizontal; -} - -.resize{ - resize: both; -} - -.snap-none{ - scroll-snap-type: none; -} - -.snap-x{ - scroll-snap-type: x var(--tw-scroll-snap-strictness); -} - -.snap-y{ - scroll-snap-type: y var(--tw-scroll-snap-strictness); -} - -.snap-both{ - scroll-snap-type: both var(--tw-scroll-snap-strictness); -} - -.snap-mandatory{ - --tw-scroll-snap-strictness: mandatory; -} - -.snap-proximity{ - --tw-scroll-snap-strictness: proximity; -} - -.snap-start{ - scroll-snap-align: start; -} - -.snap-end{ - scroll-snap-align: end; -} - -.snap-center{ - scroll-snap-align: center; -} - -.snap-align-none{ - scroll-snap-align: none; -} - -.snap-normal{ - scroll-snap-stop: normal; -} - -.snap-always{ - scroll-snap-stop: always; -} - -.list-inside{ - list-style-position: inside; -} - -.list-outside{ - list-style-position: outside; -} - -.appearance-none{ - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; -} - -.appearance-auto{ - -webkit-appearance: auto; - -moz-appearance: auto; - appearance: auto; -} - -.break-before-auto{ - -moz-column-break-before: auto; - break-before: auto; -} - -.break-before-avoid{ - -moz-column-break-before: avoid; - break-before: avoid; -} - -.break-before-all{ - -moz-column-break-before: all; - break-before: all; -} - -.break-before-avoid-page{ - -moz-column-break-before: avoid; - break-before: avoid-page; -} - -.break-before-page{ - -moz-column-break-before: page; - break-before: page; -} - -.break-before-left{ - -moz-column-break-before: left; - break-before: left; -} - -.break-before-right{ - -moz-column-break-before: right; - break-before: right; -} - -.break-before-column{ - -moz-column-break-before: column; - break-before: column; -} - -.break-inside-auto{ - -moz-column-break-inside: auto; - break-inside: auto; -} - -.break-inside-avoid{ - -moz-column-break-inside: avoid; - break-inside: avoid; -} - -.break-inside-avoid-page{ - break-inside: avoid-page; -} - -.break-inside-avoid-column{ - -moz-column-break-inside: avoid; - break-inside: avoid-column; -} - -.break-after-auto{ - -moz-column-break-after: auto; - break-after: auto; -} - -.break-after-avoid{ - -moz-column-break-after: avoid; - break-after: avoid; -} - -.break-after-all{ - -moz-column-break-after: all; - break-after: all; -} - -.break-after-avoid-page{ - -moz-column-break-after: avoid; - break-after: avoid-page; -} - -.break-after-page{ - -moz-column-break-after: page; - break-after: page; -} - -.break-after-left{ - -moz-column-break-after: left; - break-after: left; -} - -.break-after-right{ - -moz-column-break-after: right; - break-after: right; -} - -.break-after-column{ - -moz-column-break-after: column; - break-after: column; -} - -.grid-flow-row{ - grid-auto-flow: row; -} - -.grid-flow-col{ - grid-auto-flow: column; -} - -.grid-flow-dense{ - grid-auto-flow: dense; -} - -.grid-flow-row-dense{ - grid-auto-flow: row dense; -} - -.grid-flow-col-dense{ - grid-auto-flow: column dense; -} - -.flex-row{ - flex-direction: row; -} - -.flex-row-reverse{ - flex-direction: row-reverse; -} - -.flex-col{ - flex-direction: column; -} - -.flex-col-reverse{ - flex-direction: column-reverse; -} - -.flex-wrap{ - flex-wrap: wrap; -} - -.flex-wrap-reverse{ - flex-wrap: wrap-reverse; -} - -.flex-nowrap{ - flex-wrap: nowrap; -} - -.place-content-center{ - place-content: center; -} - -.place-content-start{ - place-content: start; -} - -.place-content-end{ - place-content: end; -} - -.place-content-between{ - place-content: space-between; -} - -.place-content-around{ - place-content: space-around; -} - -.place-content-evenly{ - place-content: space-evenly; -} - -.place-content-baseline{ - place-content: baseline; -} - -.place-content-stretch{ - place-content: stretch; -} - -.place-items-start{ - place-items: start; -} - -.place-items-end{ - place-items: end; -} - -.place-items-center{ - place-items: center; -} - -.place-items-baseline{ - place-items: baseline; -} - -.place-items-stretch{ - place-items: stretch; -} - -.content-normal{ - align-content: normal; -} - -.content-center{ - align-content: center; -} - -.content-start{ - align-content: flex-start; -} - -.content-end{ - align-content: flex-end; -} - -.content-between{ - align-content: space-between; -} - -.content-around{ - align-content: space-around; -} - -.content-evenly{ - align-content: space-evenly; -} - -.content-baseline{ - align-content: baseline; -} - -.content-stretch{ - align-content: stretch; -} - -.items-start{ - align-items: flex-start; -} - -.items-end{ - align-items: flex-end; -} - -.items-center{ - align-items: center; -} - -.items-baseline{ - align-items: baseline; -} - -.items-stretch{ - align-items: stretch; -} - -.justify-normal{ - justify-content: normal; -} - -.justify-start{ - justify-content: flex-start; -} - -.justify-end{ - justify-content: flex-end; -} - -.justify-center{ - justify-content: center; -} - -.justify-between{ - justify-content: space-between; -} - -.justify-around{ - justify-content: space-around; -} - -.justify-evenly{ - justify-content: space-evenly; -} - -.justify-stretch{ - justify-content: stretch; -} - -.justify-items-start{ - justify-items: start; -} - -.justify-items-end{ - justify-items: end; -} - -.justify-items-center{ - justify-items: center; -} - -.justify-items-stretch{ - justify-items: stretch; -} - -.gap-2{ - gap: 0.5rem; -} - -.gap-2\.5{ - gap: 0.625rem; -} - -.space-x-2 > :not([hidden]) ~ :not([hidden]){ - --tw-space-x-reverse: 0; - margin-right: calc(0.5rem * var(--tw-space-x-reverse)); - margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse))); -} - -.space-y-reverse > :not([hidden]) ~ :not([hidden]){ - --tw-space-y-reverse: 1; -} - -.space-x-reverse > :not([hidden]) ~ :not([hidden]){ - --tw-space-x-reverse: 1; -} - -.divide-x > :not([hidden]) ~ :not([hidden]){ - --tw-divide-x-reverse: 0; - border-right-width: calc(1px * var(--tw-divide-x-reverse)); - border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse))); -} - -.divide-y > :not([hidden]) ~ :not([hidden]){ - --tw-divide-y-reverse: 0; - border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))); - border-bottom-width: calc(1px * var(--tw-divide-y-reverse)); -} - -.divide-y-reverse > :not([hidden]) ~ :not([hidden]){ - --tw-divide-y-reverse: 1; -} - -.divide-x-reverse > :not([hidden]) ~ :not([hidden]){ - --tw-divide-x-reverse: 1; -} - -.divide-solid > :not([hidden]) ~ :not([hidden]){ - border-style: solid; -} - -.divide-dashed > :not([hidden]) ~ :not([hidden]){ - border-style: dashed; -} - -.divide-dotted > :not([hidden]) ~ :not([hidden]){ - border-style: dotted; -} - -.divide-double > :not([hidden]) ~ :not([hidden]){ - border-style: double; -} - -.divide-none > :not([hidden]) ~ :not([hidden]){ - border-style: none; -} - -.divide-gray-200 > :not([hidden]) ~ :not([hidden]){ - --tw-divide-opacity: 1; - border-color: rgb(229 231 235 / var(--tw-divide-opacity)); -} - -.place-self-auto{ - place-self: auto; -} - -.place-self-start{ - place-self: start; -} - -.place-self-end{ - place-self: end; -} - -.place-self-center{ - place-self: center; -} - -.place-self-stretch{ - place-self: stretch; -} - -.self-auto{ - align-self: auto; -} - -.self-start{ - align-self: flex-start; -} - -.self-end{ - align-self: flex-end; -} - -.self-center{ - align-self: center; -} - -.self-stretch{ - align-self: stretch; -} - -.self-baseline{ - align-self: baseline; -} - -.justify-self-auto{ - justify-self: auto; -} - -.justify-self-start{ - justify-self: start; -} - -.justify-self-end{ - justify-self: end; -} - -.justify-self-center{ - justify-self: center; -} - -.justify-self-stretch{ - justify-self: stretch; -} - -.overflow-auto{ - overflow: auto; -} - -.overflow-hidden{ - overflow: hidden; -} - -.overflow-clip{ - overflow: clip; -} - -.overflow-visible{ - overflow: visible; -} - -.overflow-scroll{ - overflow: scroll; -} - -.overflow-x-auto{ - overflow-x: auto; -} - -.overflow-y-auto{ - overflow-y: auto; -} - -.overflow-x-hidden{ - overflow-x: hidden; -} - -.overflow-y-hidden{ - overflow-y: hidden; -} - -.overflow-x-clip{ - overflow-x: clip; -} - -.overflow-y-clip{ - overflow-y: clip; -} - -.overflow-x-visible{ - overflow-x: visible; -} - -.overflow-y-visible{ - overflow-y: visible; -} - -.overflow-x-scroll{ - overflow-x: scroll; -} - -.overflow-y-scroll{ - overflow-y: scroll; -} - -.overscroll-auto{ - overscroll-behavior: auto; -} - -.overscroll-contain{ - overscroll-behavior: contain; -} - -.overscroll-none{ - overscroll-behavior: none; -} - -.overscroll-y-auto{ - overscroll-behavior-y: auto; -} - -.overscroll-y-contain{ - overscroll-behavior-y: contain; -} - -.overscroll-y-none{ - overscroll-behavior-y: none; -} - -.overscroll-x-auto{ - overscroll-behavior-x: auto; -} - -.overscroll-x-contain{ - overscroll-behavior-x: contain; -} - -.overscroll-x-none{ - overscroll-behavior-x: none; -} - -.scroll-auto{ - scroll-behavior: auto; -} - -.scroll-smooth{ - scroll-behavior: smooth; -} - -.truncate{ - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -.overflow-ellipsis{ - text-overflow: ellipsis; -} - -.text-ellipsis{ - text-overflow: ellipsis; -} - -.text-clip{ - text-overflow: clip; -} - -.hyphens-none{ - -webkit-hyphens: none; - hyphens: none; -} - -.hyphens-manual{ - -webkit-hyphens: manual; - hyphens: manual; -} - -.hyphens-auto{ - -webkit-hyphens: auto; - hyphens: auto; -} - -.whitespace-normal{ - white-space: normal; -} - -.whitespace-nowrap{ - white-space: nowrap; -} - -.whitespace-pre{ - white-space: pre; -} - -.whitespace-pre-line{ - white-space: pre-line; -} - -.whitespace-pre-wrap{ - white-space: pre-wrap; -} - -.whitespace-break-spaces{ - white-space: break-spaces; -} - -.text-wrap{ - text-wrap: wrap; -} - -.text-nowrap{ - text-wrap: nowrap; -} - -.text-balance{ - text-wrap: balance; -} - -.text-pretty{ - text-wrap: pretty; -} - -.break-normal{ - overflow-wrap: normal; - word-break: normal; -} - -.break-words{ - overflow-wrap: break-word; -} - -.break-all{ - word-break: break-all; -} - -.break-keep{ - word-break: keep-all; -} - -.rounded{ - border-radius: 0.25rem; -} - -.rounded-\[50\%\]{ - border-radius: 50%; -} - -.rounded-full{ - border-radius: 9999px; -} - -.rounded-lg{ - border-radius: 0.5rem; -} - -.rounded-md{ - border-radius: 0.375rem; -} - -.rounded-b{ - border-bottom-right-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; -} - -.rounded-e{ - border-start-end-radius: 0.25rem; - border-end-end-radius: 0.25rem; -} - -.rounded-e-\[0\.25rem\]{ - border-start-end-radius: 0.25rem; - border-end-end-radius: 0.25rem; -} - -.rounded-l{ - border-top-left-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; -} - -.rounded-r{ - border-top-right-radius: 0.25rem; - border-bottom-right-radius: 0.25rem; -} - -.rounded-s{ - border-start-start-radius: 0.25rem; - border-end-start-radius: 0.25rem; -} - -.rounded-s-\[0\.25rem\]{ - border-start-start-radius: 0.25rem; - border-end-start-radius: 0.25rem; -} - -.rounded-t{ - border-top-left-radius: 0.25rem; - border-top-right-radius: 0.25rem; -} - -.rounded-t-lg{ - border-top-left-radius: 0.5rem; - border-top-right-radius: 0.5rem; -} - -.rounded-bl{ - border-bottom-left-radius: 0.25rem; -} - -.rounded-br{ - border-bottom-right-radius: 0.25rem; -} - -.rounded-ee{ - border-end-end-radius: 0.25rem; -} - -.rounded-es{ - border-end-start-radius: 0.25rem; -} - -.rounded-se{ - border-start-end-radius: 0.25rem; -} - -.rounded-ss{ - border-start-start-radius: 0.25rem; -} - -.rounded-tl{ - border-top-left-radius: 0.25rem; -} - -.rounded-tr{ - border-top-right-radius: 0.25rem; -} - -.border{ - border-width: 1px; -} - -.border-x{ - border-left-width: 1px; - border-right-width: 1px; -} - -.border-y{ - border-top-width: 1px; - border-bottom-width: 1px; -} - -.border-b{ - border-bottom-width: 1px; -} - -.border-b-2{ - border-bottom-width: 2px; -} - -.border-e{ - border-inline-end-width: 1px; -} - -.border-e-0{ - border-inline-end-width: 0px; -} - -.border-l{ - border-left-width: 1px; -} - -.border-r{ - border-right-width: 1px; -} - -.border-s{ - border-inline-start-width: 1px; -} - -.border-s-0{ - border-inline-start-width: 0px; -} - -.border-s-\[0\.125rem\]{ - border-inline-start-width: 0.125rem; -} - -.border-t{ - border-top-width: 1px; -} - -.border-solid{ - border-style: solid; -} - -.border-dashed{ - border-style: dashed; -} - -.border-dotted{ - border-style: dotted; -} - -.border-double{ - border-style: double; -} - -.border-hidden{ - border-style: hidden; -} - -.border-none{ - border-style: none; -} - -.border-black{ - --tw-border-opacity: 1; - border-color: rgb(0 0 0 / var(--tw-border-opacity)); -} - -.border-gray-300{ - --tw-border-opacity: 1; - border-color: rgb(209 213 219 / var(--tw-border-opacity)); -} - -.border-neutral-100{ - --tw-border-opacity: 1; - border-color: rgb(245 245 245 / var(--tw-border-opacity)); -} - -.border-neutral-200{ - --tw-border-opacity: 1; - border-color: rgb(229 229 229 / var(--tw-border-opacity)); -} - -.border-primary{ - --tw-border-opacity: 1; - border-color: rgb(59 113 202 / var(--tw-border-opacity)); -} - -.border-red-700{ - --tw-border-opacity: 1; - border-color: rgb(185 28 28 / var(--tw-border-opacity)); -} - -.border-secondary-500{ - --tw-border-opacity: 1; - border-color: rgb(179 185 194 / var(--tw-border-opacity)); -} - -.border-white{ - --tw-border-opacity: 1; - border-color: rgb(255 255 255 / var(--tw-border-opacity)); -} - -.border-t-transparent{ - border-top-color: transparent; -} - -.bg-\[\#00599C\]{ - --tw-bg-opacity: 1; - background-color: rgb(0 89 156 / var(--tw-bg-opacity)); -} - -.bg-\[\#2A8FD0\]{ - --tw-bg-opacity: 1; - background-color: rgb(42 143 208 / var(--tw-bg-opacity)); -} - -.bg-\[\#6d6d6d\]{ - --tw-bg-opacity: 1; - background-color: rgb(109 109 109 / var(--tw-bg-opacity)); -} - -.bg-\[\#aaa\]{ - --tw-bg-opacity: 1; - background-color: rgb(170 170 170 / var(--tw-bg-opacity)); -} - -.bg-\[rgb\(255\2c 0\2c 0\)\]{ - --tw-bg-opacity: 1; - background-color: rgb(255 0 0 / var(--tw-bg-opacity)); -} - -.bg-black{ - --tw-bg-opacity: 1; - background-color: rgb(0 0 0 / var(--tw-bg-opacity)); -} - -.bg-blue-500{ - --tw-bg-opacity: 1; - background-color: rgb(59 130 246 / var(--tw-bg-opacity)); -} - -.bg-green-500{ - --tw-bg-opacity: 1; - background-color: rgb(34 197 94 / var(--tw-bg-opacity)); -} - -.bg-primary{ - --tw-bg-opacity: 1; - background-color: rgb(59 113 202 / var(--tw-bg-opacity)); -} - -.bg-sky-500{ - --tw-bg-opacity: 1; - background-color: rgb(14 165 233 / var(--tw-bg-opacity)); -} - -.bg-slate-200{ - --tw-bg-opacity: 1; - background-color: rgb(226 232 240 / var(--tw-bg-opacity)); -} - -.bg-slate-50{ - --tw-bg-opacity: 1; - background-color: rgb(248 250 252 / var(--tw-bg-opacity)); -} - -.bg-transparent{ - background-color: transparent; -} - -.bg-white{ - --tw-bg-opacity: 1; - background-color: rgb(255 255 255 / var(--tw-bg-opacity)); -} - -.decoration-slice{ - -webkit-box-decoration-break: slice; - box-decoration-break: slice; -} - -.decoration-clone{ - -webkit-box-decoration-break: clone; - box-decoration-break: clone; -} - -.box-decoration-slice{ - -webkit-box-decoration-break: slice; - box-decoration-break: slice; -} - -.box-decoration-clone{ - -webkit-box-decoration-break: clone; - box-decoration-break: clone; -} - -.bg-fixed{ - background-attachment: fixed; -} - -.bg-local{ - background-attachment: local; -} - -.bg-scroll{ - background-attachment: scroll; -} - -.bg-clip-border{ - background-clip: border-box; -} - -.bg-clip-padding{ - background-clip: padding-box; -} - -.bg-clip-content{ - background-clip: content-box; -} - -.bg-clip-text{ - -webkit-background-clip: text; - background-clip: text; -} - -.bg-repeat{ - background-repeat: repeat; -} - -.bg-no-repeat{ - background-repeat: no-repeat; -} - -.bg-repeat-x{ - background-repeat: repeat-x; -} - -.bg-repeat-y{ - background-repeat: repeat-y; -} - -.bg-repeat-round{ - background-repeat: round; -} - -.bg-repeat-space{ - background-repeat: space; -} - -.bg-origin-border{ - background-origin: border-box; -} - -.bg-origin-padding{ - background-origin: padding-box; -} - -.bg-origin-content{ - background-origin: content-box; -} - -.object-contain{ - -o-object-fit: contain; - object-fit: contain; -} - -.object-cover{ - -o-object-fit: cover; - object-fit: cover; -} - -.object-fill{ - -o-object-fit: fill; - object-fit: fill; -} - -.object-none{ - -o-object-fit: none; - object-fit: none; -} - -.object-scale-down{ - -o-object-fit: scale-down; - object-fit: scale-down; -} - -.p-1{ - padding: 0.25rem; -} - -.p-10{ - padding: 2.5rem; -} - -.p-2{ - padding: 0.5rem; -} - -.p-4{ - padding: 1rem; -} - -.p-5{ - padding: 1.25rem; -} - -.p-8{ - padding: 2rem; -} - -.px-1{ - padding-left: 0.25rem; - padding-right: 0.25rem; -} - -.px-10{ - padding-left: 2.5rem; - padding-right: 2.5rem; -} - -.px-3{ - padding-left: 0.75rem; - padding-right: 0.75rem; -} - -.px-4{ - padding-left: 1rem; - padding-right: 1rem; -} - -.px-6{ - padding-left: 1.5rem; - padding-right: 1.5rem; -} - -.px-7{ - padding-left: 1.75rem; - padding-right: 1.75rem; -} - -.px-\[0\.4rem\]{ - padding-left: 0.4rem; - padding-right: 0.4rem; -} - -.py-1{ - padding-top: 0.25rem; - padding-bottom: 0.25rem; -} - -.py-1\.5{ - padding-top: 0.375rem; - padding-bottom: 0.375rem; -} - -.py-2{ - padding-top: 0.5rem; - padding-bottom: 0.5rem; -} - -.py-2\.5{ - padding-top: 0.625rem; - padding-bottom: 0.625rem; -} - -.py-3{ - padding-top: 0.75rem; - padding-bottom: 0.75rem; -} - -.py-4{ - padding-top: 1rem; - padding-bottom: 1rem; -} - -.py-5{ - padding-top: 1.25rem; - padding-bottom: 1.25rem; -} - -.py-\[0\.4rem\]{ - padding-top: 0.4rem; - padding-bottom: 0.4rem; -} - -.pb-2{ - padding-bottom: 0.5rem; -} - -.pb-2\.5{ - padding-bottom: 0.625rem; -} - -.pl-14{ - padding-left: 3.5rem; -} - -.pr-14{ - padding-right: 3.5rem; -} - -.pt-3{ - padding-top: 0.75rem; -} - -.text-left{ - text-align: left; -} - -.text-center{ - text-align: center; -} - -.text-right{ - text-align: right; -} - -.text-justify{ - text-align: justify; -} - -.text-start{ - text-align: start; -} - -.text-end{ - text-align: end; -} - -.align-baseline{ - vertical-align: baseline; -} - -.align-top{ - vertical-align: top; -} - -.align-middle{ - vertical-align: middle; -} - -.align-bottom{ - vertical-align: bottom; -} - -.align-text-top{ - vertical-align: text-top; -} - -.align-text-bottom{ - vertical-align: text-bottom; -} - -.align-sub{ - vertical-align: sub; -} - -.align-super{ - vertical-align: super; -} - -.text-2xl{ - font-size: 1.5rem; - line-height: 2rem; -} - -.text-3xl{ - font-size: 1.875rem; - line-height: 2.25rem; -} - -.text-\[40px\]{ - font-size: 40px; -} - -.text-sm{ - font-size: 0.875rem; - line-height: 1.25rem; -} - -.text-xl{ - font-size: 1.25rem; - line-height: 1.75rem; -} - -.text-xs{ - font-size: 0.75rem; - line-height: 1rem; -} - -.font-bold{ - font-weight: 700; -} - -.font-extrabold{ - font-weight: 800; -} - -.font-medium{ - font-weight: 500; -} - -.font-normal{ - font-weight: 400; -} - -.font-semibold{ - font-weight: 600; -} - -.uppercase{ - text-transform: uppercase; -} - -.lowercase{ - text-transform: lowercase; -} - -.capitalize{ - text-transform: capitalize; -} - -.normal-case{ - text-transform: none; -} - -.italic{ - font-style: italic; -} - -.not-italic{ - font-style: normal; -} - -.normal-nums{ - font-variant-numeric: normal; -} - -.ordinal{ - --tw-ordinal: ordinal; - font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction); -} - -.slashed-zero{ - --tw-slashed-zero: slashed-zero; - font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction); -} - -.lining-nums{ - --tw-numeric-figure: lining-nums; - font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction); -} - -.oldstyle-nums{ - --tw-numeric-figure: oldstyle-nums; - font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction); -} - -.proportional-nums{ - --tw-numeric-spacing: proportional-nums; - font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction); -} - -.tabular-nums{ - --tw-numeric-spacing: tabular-nums; - font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction); -} - -.diagonal-fractions{ - --tw-numeric-fraction: diagonal-fractions; - font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction); -} - -.stacked-fractions{ - --tw-numeric-fraction: stacked-fractions; - font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction); -} - -.leading-4{ - line-height: 1rem; -} - -.leading-6{ - line-height: 1.5rem; -} - -.leading-\[1\.6\]{ - line-height: 1.6; -} - -.leading-normal{ - line-height: 1.5; -} - -.tracking-normal{ - letter-spacing: 0em; -} - -.tracking-wider{ - letter-spacing: 0.05em; -} - -.\!text-primary{ - --tw-text-opacity: 1 !important; - color: rgb(59 113 202 / var(--tw-text-opacity)) !important; -} - -.text-\[\#336699\]\/\[\.35\]{ - color: rgb(51 102 153 / .35); -} - -.text-black{ - --tw-text-opacity: 1; - color: rgb(0 0 0 / var(--tw-text-opacity)); -} - -.text-blue-500{ - --tw-text-opacity: 1; - color: rgb(59 130 246 / var(--tw-text-opacity)); -} - -.text-danger{ - --tw-text-opacity: 1; - color: rgb(220 76 100 / var(--tw-text-opacity)); -} - -.text-info{ - --tw-text-opacity: 1; - color: rgb(84 180 211 / var(--tw-text-opacity)); -} - -.text-primary{ - --tw-text-opacity: 1; - color: rgb(59 113 202 / var(--tw-text-opacity)); -} - -.text-primary-100{ - --tw-text-opacity: 1; - color: rgb(227 235 247 / var(--tw-text-opacity)); -} - -.text-success{ - --tw-text-opacity: 1; - color: rgb(20 164 77 / var(--tw-text-opacity)); -} - -.text-surface{ - --tw-text-opacity: 1; - color: rgb(79 79 79 / var(--tw-text-opacity)); -} - -.text-warning{ - --tw-text-opacity: 1; - color: rgb(228 161 27 / var(--tw-text-opacity)); -} - -.text-white{ - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity)); -} - -.text-zinc-600{ - --tw-text-opacity: 1; - color: rgb(82 82 91 / var(--tw-text-opacity)); -} - -.underline{ - text-decoration-line: underline; -} - -.overline{ - text-decoration-line: overline; -} - -.line-through{ - text-decoration-line: line-through; -} - -.no-underline{ - text-decoration-line: none; -} - -.decoration-solid{ - text-decoration-style: solid; -} - -.decoration-double{ - text-decoration-style: double; -} - -.decoration-dotted{ - text-decoration-style: dotted; -} - -.decoration-dashed{ - text-decoration-style: dashed; -} - -.decoration-wavy{ - text-decoration-style: wavy; -} - -.underline-offset-auto{ - text-underline-offset: auto; -} - -.antialiased{ - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.subpixel-antialiased{ - -webkit-font-smoothing: auto; - -moz-osx-font-smoothing: auto; -} - -.\!opacity-0{ - opacity: 0 !important; -} - -.\!opacity-100{ - opacity: 1 !important; -} - -.opacity-0{ - opacity: 0; -} - -.opacity-100{ - opacity: 1; -} - -.opacity-50{ - opacity: 0.5; -} - -.bg-blend-normal{ - background-blend-mode: normal; -} - -.bg-blend-multiply{ - background-blend-mode: multiply; -} - -.bg-blend-screen{ - background-blend-mode: screen; -} - -.bg-blend-overlay{ - background-blend-mode: overlay; -} - -.bg-blend-darken{ - background-blend-mode: darken; -} - -.bg-blend-lighten{ - background-blend-mode: lighten; -} - -.bg-blend-color-dodge{ - background-blend-mode: color-dodge; -} - -.bg-blend-color-burn{ - background-blend-mode: color-burn; -} - -.bg-blend-hard-light{ - background-blend-mode: hard-light; -} - -.bg-blend-soft-light{ - background-blend-mode: soft-light; -} - -.bg-blend-difference{ - background-blend-mode: difference; -} - -.bg-blend-exclusion{ - background-blend-mode: exclusion; -} - -.bg-blend-hue{ - background-blend-mode: hue; -} - -.bg-blend-saturation{ - background-blend-mode: saturation; -} - -.bg-blend-color{ - background-blend-mode: color; -} - -.bg-blend-luminosity{ - background-blend-mode: luminosity; -} - -.mix-blend-normal{ - mix-blend-mode: normal; -} - -.mix-blend-multiply{ - mix-blend-mode: multiply; -} - -.mix-blend-screen{ - mix-blend-mode: screen; -} - -.mix-blend-overlay{ - mix-blend-mode: overlay; -} - -.mix-blend-darken{ - mix-blend-mode: darken; -} - -.mix-blend-lighten{ - mix-blend-mode: lighten; -} - -.mix-blend-color-dodge{ - mix-blend-mode: color-dodge; -} - -.mix-blend-color-burn{ - mix-blend-mode: color-burn; -} - -.mix-blend-hard-light{ - mix-blend-mode: hard-light; -} - -.mix-blend-soft-light{ - mix-blend-mode: soft-light; -} - -.mix-blend-difference{ - mix-blend-mode: difference; -} - -.mix-blend-exclusion{ - mix-blend-mode: exclusion; -} - -.mix-blend-hue{ - mix-blend-mode: hue; -} - -.mix-blend-saturation{ - mix-blend-mode: saturation; -} - -.mix-blend-color{ - mix-blend-mode: color; -} - -.mix-blend-luminosity{ - mix-blend-mode: luminosity; -} - -.mix-blend-plus-darker{ - mix-blend-mode: plus-darker; -} - -.mix-blend-plus-lighter{ - mix-blend-mode: plus-lighter; -} - -.\!shadow{ - --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1) !important; - --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color) !important; - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important; -} - -.shadow{ - --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1); - --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -.shadow-2{ - --tw-shadow: 0 0 3px 0 rgba(0,0,0,.07),0 2px 2px 0 rgba(0,0,0,.04); - --tw-shadow-colored: 0 0 3px 0 var(--tw-shadow-color), 0 2px 2px 0 var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -.shadow-lg{ - --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1); - --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -.shadow-primary-3{ - --tw-shadow: 0 4px 9px -4px #3b71ca; - --tw-shadow-colored: 0 4px 9px -4px var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -.shadow-xl{ - --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1); - --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -.outline-none{ - outline: 2px solid transparent; - outline-offset: 2px; -} - -.outline{ - outline-style: solid; -} - -.outline-dashed{ - outline-style: dashed; -} - -.outline-dotted{ - outline-style: dotted; -} - -.outline-double{ - outline-style: double; -} - -.ring{ - --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); - --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color); - box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); -} - -.ring-inset{ - --tw-ring-inset: inset; -} - -.blur{ - --tw-blur: blur(8px); - filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); -} - -.drop-shadow{ - --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06)); - filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); -} - -.grayscale{ - --tw-grayscale: grayscale(100%); - filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); -} - -.invert{ - --tw-invert: invert(100%); - filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); -} - -.sepia{ - --tw-sepia: sepia(100%); - filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); -} - -.\!filter{ - filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow) !important; -} - -.filter{ - filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); -} - -.filter-none{ - filter: none; -} - -.backdrop-blur{ - --tw-backdrop-blur: blur(8px); - -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); - backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); -} - -.backdrop-grayscale{ - --tw-backdrop-grayscale: grayscale(100%); - -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); - backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); -} - -.backdrop-invert{ - --tw-backdrop-invert: invert(100%); - -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); - backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); -} - -.backdrop-sepia{ - --tw-backdrop-sepia: sepia(100%); - -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); - backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); -} - -.backdrop-filter{ - -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); - backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); -} - -.backdrop-filter-none{ - -webkit-backdrop-filter: none; - backdrop-filter: none; -} - -.transition{ - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} - -.transition-\[height\]{ - transition-property: height; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} - -.transition-\[transform\2c _opacity\]{ - transition-property: transform, opacity; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} - -.transition-\[width\]{ - transition-property: width; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} - -.transition-all{ - transition-property: all; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} - -.transition-colors{ - transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} - -.transition-opacity{ - transition-property: opacity; - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-duration: 150ms; -} - -.duration-150{ - transition-duration: 150ms; -} - -.duration-200{ - transition-duration: 200ms; -} - -.duration-300{ - transition-duration: 300ms; -} - -.duration-\[350ms\]{ - transition-duration: 350ms; -} - -.ease-\[cubic-bezier\(0\2c 0\2c 0\.15\2c 1\)\2c _cubic-bezier\(0\2c 0\2c 0\.15\2c 1\)\]{ - transition-timing-function: cubic-bezier(0,0,0.15,1), cubic-bezier(0,0,0.15,1); -} - -.ease-\[cubic-bezier\(0\.25\2c 0\.1\2c 0\.25\2c 1\.0\)\]{ - transition-timing-function: cubic-bezier(0.25,0.1,0.25,1.0); -} - -.ease-in{ - transition-timing-function: cubic-bezier(0.4, 0, 1, 1); -} - -.ease-in-out{ - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); -} - -.ease-linear{ - transition-timing-function: linear; -} - -.ease-out{ - transition-timing-function: cubic-bezier(0, 0, 0.2, 1); -} - -.contain-none{ - contain: none; -} - -.contain-content{ - contain: content; -} - -.contain-strict{ - contain: strict; -} - -.contain-size{ - --tw-contain-size: size; - contain: var(--tw-contain-size) var(--tw-contain-layout) var(--tw-contain-paint) var(--tw-contain-style); -} - -.contain-inline-size{ - --tw-contain-size: inline-size; - contain: var(--tw-contain-size) var(--tw-contain-layout) var(--tw-contain-paint) var(--tw-contain-style); -} - -.contain-layout{ - --tw-contain-layout: layout; - contain: var(--tw-contain-size) var(--tw-contain-layout) var(--tw-contain-paint) var(--tw-contain-style); -} - -.contain-paint{ - --tw-contain-paint: paint; - contain: var(--tw-contain-size) var(--tw-contain-layout) var(--tw-contain-paint) var(--tw-contain-style); -} - -.contain-style{ - --tw-contain-style: style; - contain: var(--tw-contain-size) var(--tw-contain-layout) var(--tw-contain-paint) var(--tw-contain-style); -} - -.content-\[\'this-is-also-valid\]-weirdly-enough\'\]{ - --tw-content: 'this-is-also-valid]-weirdly-enough'; - content: var(--tw-content); -} - -.forced-color-adjust-auto{ - forced-color-adjust: auto; -} - -.forced-color-adjust-none{ - forced-color-adjust: none; -} - -.\[overflow-anchor\:none\]{ - overflow-anchor: none; -} - -.\[overflow-style\:none\]{ - overflow-style: none; -} - -.\[transition\:background-color_\.2s_linear\2c _height_\.2s_ease-in-out\]{ - transition: background-color .2s linear, height .2s ease-in-out; -} - -.\[transition\:background-color_\.2s_linear\2c _opacity_\.2s_linear\]{ - transition: background-color .2s linear, opacity .2s linear; -} - -.\[transition\:background-color_\.2s_linear\2c _width_\.2s_ease-in-out\]{ - transition: background-color .2s linear, width .2s ease-in-out; -} - -p{ - line-height: 1.6; -} - -@media (min-width: 640px){ - .sm\:container{ - width: 100%; - } - - @media (min-width: 320px){ - .sm\:container{ - max-width: 320px; - } - } - - @media (min-width: 640px){ - .sm\:container{ - max-width: 640px; - } - } - - @media (min-width: 768px){ - .sm\:container{ - max-width: 768px; - } - } - - @media (min-width: 1024px){ - .sm\:container{ - max-width: 1024px; - } - } - - @media (min-width: 1280px){ - .sm\:container{ - max-width: 1280px; - } - } - - @media (min-width: 1536px){ - .sm\:container{ - max-width: 1536px; - } - } -} - -.empty\:hidden:empty{ - display: none; -} - -.hover\:bg-\[\#136FB1\]:hover{ - --tw-bg-opacity: 1; - background-color: rgb(19 111 177 / var(--tw-bg-opacity)); -} - -.hover\:bg-\[\#eee\]:hover{ - --tw-bg-opacity: 1; - background-color: rgb(238 238 238 / var(--tw-bg-opacity)); -} - -.hover\:bg-blue-600:hover{ - --tw-bg-opacity: 1; - background-color: rgb(37 99 235 / var(--tw-bg-opacity)); -} - -.hover\:bg-primary-accent-300:hover{ - --tw-bg-opacity: 1; - background-color: rgb(56 107 192 / var(--tw-bg-opacity)); -} - -.hover\:bg-slate-300:hover{ - --tw-bg-opacity: 1; - background-color: rgb(203 213 225 / var(--tw-bg-opacity)); -} - -.hover\:font-bold:hover{ - font-weight: 700; -} - -.hover\:text-blue-800:hover{ - --tw-text-opacity: 1; - color: rgb(30 64 175 / var(--tw-text-opacity)); -} - -.hover\:text-white:hover{ - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity)); -} - -.hover\:\!opacity-90:hover{ - opacity: 0.9 !important; -} - -.hover\:shadow-primary-2:hover{ - --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2); - --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -.before\:hover\:text-center:hover::before{ - content: var(--tw-content); - text-align: center; -} - -.hover\:before\:text-center:hover::before{ - content: var(--tw-content); - text-align: center; -} - -.focus\:bg-\[\#eee\]:focus{ - --tw-bg-opacity: 1; - background-color: rgb(238 238 238 / var(--tw-bg-opacity)); -} - -.focus\:bg-primary-accent-300:focus{ - --tw-bg-opacity: 1; - background-color: rgb(56 107 192 / var(--tw-bg-opacity)); -} - -.focus\:\!opacity-90:focus{ - opacity: 0.9 !important; -} - -.focus\:shadow-primary-2:focus{ - --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2); - --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -.focus\:outline-none:focus{ - outline: 2px solid transparent; - outline-offset: 2px; -} - -.focus\:ring-0:focus{ - --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); - --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color); - box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); -} - -.focus\:hover\:text-center:hover:focus{ - text-align: center; -} - -.hover\:focus\:text-center:focus:hover{ - text-align: center; -} - -.active\:bg-primary-600:active{ - --tw-bg-opacity: 1; - background-color: rgb(48 97 175 / var(--tw-bg-opacity)); -} - -.active\:shadow-primary-2:active{ - --tw-shadow: 0 8px 9px -4px rgba(59,113,202,0.3),0 4px 18px 0 rgba(59,113,202,0.2); - --tw-shadow-colored: 0 8px 9px -4px var(--tw-shadow-color), 0 4px 18px 0 var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -.group\/x:hover .group-hover\/x\:h-\[11px\]{ - height: 11px; -} - -.group\/y:hover .group-hover\/y\:w-\[11px\]{ - width: 11px; -} - -.group\/x:hover .group-hover\/x\:bg-\[\#999\]{ - --tw-bg-opacity: 1; - background-color: rgb(153 153 153 / var(--tw-bg-opacity)); -} - -.group\/y:hover .group-hover\/y\:bg-\[\#999\]{ - --tw-bg-opacity: 1; - background-color: rgb(153 153 153 / var(--tw-bg-opacity)); -} - -.group\/ps:hover .group-hover\/ps\:opacity-100{ - opacity: 1; -} - -.group\/ps:hover .group-hover\/ps\:opacity-60{ - opacity: 0.6; -} - -.group\/x:focus .group-focus\/x\:h-\[11px\]{ - height: 11px; -} - -.group\/y:focus .group-focus\/y\:w-\[11px\]{ - width: 11px; -} - -.group\/x:focus .group-focus\/x\:bg-\[\#999\]{ - --tw-bg-opacity: 1; - background-color: rgb(153 153 153 / var(--tw-bg-opacity)); -} - -.group\/y:focus .group-focus\/y\:bg-\[\#999\]{ - --tw-bg-opacity: 1; - background-color: rgb(153 153 153 / var(--tw-bg-opacity)); -} - -.group\/ps:focus .group-focus\/ps\:opacity-100{ - opacity: 1; -} - -.group\/ps:focus .group-focus\/ps\:opacity-60{ - opacity: 0.6; -} - -.group\/ps:active .group-active\/ps\:opacity-100{ - opacity: 1; -} - -.group\/ps.ps--active-x .group-\[\&\.ps--active-x\]\/ps\:block{ - display: block; -} - -.group\/ps.ps--active-y .group-\[\&\.ps--active-y\]\/ps\:block{ - display: block; -} - -.group\/x.ps--clicking .group-\[\&\.ps--clicking\]\/x\:h-\[11px\]{ - height: 11px; -} - -.group\/y.ps--clicking .group-\[\&\.ps--clicking\]\/y\:w-\[11px\]{ - width: 11px; -} - -.group\/ps.ps--active-x .group-\[\&\.ps--active-x\]\/ps\:bg-transparent{ - background-color: transparent; -} - -.group\/ps.ps--active-y .group-\[\&\.ps--active-y\]\/ps\:bg-transparent{ - background-color: transparent; -} - -.group\/x.ps--clicking .group-\[\&\.ps--clicking\]\/x\:bg-\[\#999\]{ - --tw-bg-opacity: 1; - background-color: rgb(153 153 153 / var(--tw-bg-opacity)); -} - -.group\/y.ps--clicking .group-\[\&\.ps--clicking\]\/y\:bg-\[\#999\]{ - --tw-bg-opacity: 1; - background-color: rgb(153 153 153 / var(--tw-bg-opacity)); -} - -.group\/ps.ps--scrolling-x .group-\[\&\.ps--scrolling-x\]\/ps\:opacity-60{ - opacity: 0.6; -} - -.group\/ps.ps--scrolling-y .group-\[\&\.ps--scrolling-y\]\/ps\:opacity-60{ - opacity: 0.6; -} - -.data-\[twe-carousel-fade\]\:z-0[data-twe-carousel-fade]{ - z-index: 0; -} - -.data-\[twe-carousel-fade\]\:z-\[1\][data-twe-carousel-fade]{ - z-index: 1; -} - -.data-\[popper-reference-hidden\]\:hidden[data-popper-reference-hidden]{ - display: none; -} - -.data-\[twe-carousel-fade\]\:opacity-0[data-twe-carousel-fade]{ - opacity: 0; -} - -.data-\[twe-carousel-fade\]\:opacity-100[data-twe-carousel-fade]{ - opacity: 1; -} - -.data-\[twe-carousel-fade\]\:duration-\[600ms\][data-twe-carousel-fade]{ - transition-duration: 600ms; -} - -.group[data-twe-input-focused] .group-data-\[twe-input-focused\]\:border-x-0{ - border-left-width: 0px; - border-right-width: 0px; -} - -.group[data-twe-input-state-active] .group-data-\[twe-input-state-active\]\:border-x-0{ - border-left-width: 0px; - border-right-width: 0px; -} - -.group[data-twe-input-focused] .group-data-\[twe-input-focused\]\:border-e-0{ - border-inline-end-width: 0px; -} - -.group[data-twe-input-focused] .group-data-\[twe-input-focused\]\:border-s-0{ - border-inline-start-width: 0px; -} - -.group[data-twe-input-focused] .group-data-\[twe-input-focused\]\:border-t{ - border-top-width: 1px; -} - -.group[data-twe-input-state-active] .group-data-\[twe-input-state-active\]\:border-e-0{ - border-inline-end-width: 0px; -} - -.group[data-twe-input-state-active] .group-data-\[twe-input-state-active\]\:border-s-0{ - border-inline-start-width: 0px; -} - -.group[data-twe-input-state-active] .group-data-\[twe-input-state-active\]\:border-t{ - border-top-width: 1px; -} - -.group[data-twe-input-focused] .group-data-\[twe-input-focused\]\:border-solid{ - border-style: solid; -} - -.group[data-twe-input-state-active] .group-data-\[twe-input-state-active\]\:border-solid{ - border-style: solid; -} - -.group[data-twe-input-focused] .group-data-\[twe-input-focused\]\:border-primary{ - --tw-border-opacity: 1; - border-color: rgb(59 113 202 / var(--tw-border-opacity)); -} - -.group[data-twe-input-focused] .group-data-\[twe-input-focused\]\:border-white{ - --tw-border-opacity: 1; - border-color: rgb(255 255 255 / var(--tw-border-opacity)); -} - -.group[data-twe-input-focused] .group-data-\[twe-input-focused\]\:border-t-transparent{ - border-top-color: transparent; -} - -.group[data-twe-input-state-active] .group-data-\[twe-input-state-active\]\:border-t-transparent{ - border-top-color: transparent; -} - -.group[data-twe-input-focused] .group-data-\[twe-input-focused\]\:shadow-notch-1{ - --tw-shadow: -1px 0 0 #3b71ca, 0 1px 0 0 #3b71ca, 0 -1px 0 0 #3b71ca; - --tw-shadow-colored: -1px 0 0 var(--tw-shadow-color), 0 1px 0 0 var(--tw-shadow-color), 0 -1px 0 0 var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -.group[data-twe-input-focused] .group-data-\[twe-input-focused\]\:shadow-notch-2{ - --tw-shadow: 0 1px 0 0 #3b71ca; - --tw-shadow-colored: 0 1px 0 0 var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -.group[data-twe-input-focused] .group-data-\[twe-input-focused\]\:shadow-notch-3{ - --tw-shadow: 1px 0 0 #3b71ca, 0 -1px 0 0 #3b71ca, 0 1px 0 0 #3b71ca; - --tw-shadow-colored: 1px 0 0 var(--tw-shadow-color), 0 -1px 0 0 var(--tw-shadow-color), 0 1px 0 0 var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -.group[data-twe-input-focused] .group-data-\[twe-input-focused\]\:shadow-white{ - --tw-shadow-color: #fff; - --tw-shadow: var(--tw-shadow-colored); -} - -@media (prefers-reduced-motion: reduce){ - .motion-reduce\:transition-none{ - transition-property: none; - } -} - -.dark\:border-neutral-400:is(.dark *){ - --tw-border-opacity: 1; - border-color: rgb(163 163 163 / var(--tw-border-opacity)); -} - -.dark\:border-white\/10:is(.dark *){ - border-color: rgb(255 255 255 / 0.1); -} - -.dark\:bg-neutral-800:is(.dark *){ - --tw-bg-opacity: 1; - background-color: rgb(38 38 38 / var(--tw-bg-opacity)); -} - -.dark\:bg-surface-dark:is(.dark *){ - --tw-bg-opacity: 1; - background-color: rgb(66 66 66 / var(--tw-bg-opacity)); -} - -.dark\:text-neutral-100:is(.dark *){ - --tw-text-opacity: 1; - color: rgb(245 245 245 / var(--tw-text-opacity)); -} - -.dark\:text-neutral-200:is(.dark *){ - --tw-text-opacity: 1; - color: rgb(229 229 229 / var(--tw-text-opacity)); -} - -.dark\:text-white:is(.dark *){ - --tw-text-opacity: 1; - color: rgb(255 255 255 / var(--tw-text-opacity)); -} - -.dark\:shadow-black\/30:is(.dark *){ - --tw-shadow-color: rgb(0 0 0 / 0.3); - --tw-shadow: var(--tw-shadow-colored); -} - -.dark\:hover\:shadow-dark-strong:hover:is(.dark *){ - --tw-shadow: 0 4px 18px -2px rgba(0,0,0,.7); - --tw-shadow-colored: 0 4px 18px -2px var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -.dark\:focus\:shadow-dark-strong:focus:is(.dark *){ - --tw-shadow: 0 4px 18px -2px rgba(0,0,0,.7); - --tw-shadow-colored: 0 4px 18px -2px var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -.dark\:active\:shadow-dark-strong:active:is(.dark *){ - --tw-shadow: 0 4px 18px -2px rgba(0,0,0,.7); - --tw-shadow-colored: 0 4px 18px -2px var(--tw-shadow-color); - box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); -} - -@media (min-width: 640px){ - .sm\:h-20{ - height: 5rem; - } - - .sm\:w-20{ - width: 5rem; - } - - .sm\:max-w-\[604px\]{ - max-width: 604px; - } - - .sm\:text-sm{ - font-size: 0.875rem; - line-height: 1.25rem; - } - - .sm\:text-xl{ - font-size: 1.25rem; - line-height: 1.75rem; - } - - .sm\:underline{ - text-decoration-line: underline; - } -} - -@media (min-width: 768px){ - .md\:max-w-\[720px\]{ - max-width: 720px; - } -} - -@media (min-width: 1024px){ - .lg\:mt-0{ - margin-top: 0px; - } - - .lg\:h-screen{ - height: 100vh; - } - - .lg\:max-w-\[972px\]{ - max-width: 972px; - } - - .dark\:lg\:hover\:\[paint-order\:markers\]:hover:is(.dark *){ - paint-order: markers; - } -} - -@media (min-width: 1280px){ - .xl\:ml-\[14\%\]{ - margin-left: 14%; - } - - .xl\:block{ - display: block; - } - - .xl\:hidden{ - display: none; - } - - .xl\:max-w-full{ - max-width: 100%; - } - - .xl\:px-12{ - padding-left: 3rem; - padding-right: 3rem; - } -} - -@media (min-width: 1536px){ - .\32xl\:max-w-\[1400px\]{ - max-width: 1400px; - } -} - -.\[\&\.ps--clicking\]\:bg-\[\#eee\].ps--clicking{ - --tw-bg-opacity: 1; - background-color: rgb(238 238 238 / var(--tw-bg-opacity)); -} - -.\[\&\.ps--clicking\]\:\!opacity-90.ps--clicking{ - opacity: 0.9 !important; -} \ No newline at end of file diff --git a/hiring_module/hiring_app/static/js/side_bar.js b/hiring_module/hiring_app/static/js/side_bar.js index 1e2fd5b..5b55a15 100644 --- a/hiring_module/hiring_app/static/js/side_bar.js +++ b/hiring_module/hiring_app/static/js/side_bar.js @@ -1,12 +1,11 @@ - document.addEventListener("DOMContentLoaded", function () { - const toggleButton = document.getElementById('toggleAside'); - const sidebar = document.getElementById('asideMenu'); - const mainContent = document.getElementById('main'); + const toggleButton = document.getElementById("toggleAside"); + const sidebar = document.getElementById("asideMenu"); + const mainContent = document.getElementById("main"); - toggleButton.addEventListener('click', function() { - sidebar.classList.toggle('hidden'); - mainContent.classList.toggle('expanded'); - mainContent.classList.toggle('nonExpanded'); - }); + toggleButton.addEventListener("click", function () { + sidebar.classList.toggle("hidden"); + mainContent.classList.toggle("expanded"); + mainContent.classList.toggle("nonExpanded"); + }); }); diff --git a/hiring_module/hiring_app/templates/components/LeftSideMenu.html b/hiring_module/hiring_app/templates/components/LeftSideMenu.html index 64d9e92..57b6137 100644 --- a/hiring_module/hiring_app/templates/components/LeftSideMenu.html +++ b/hiring_module/hiring_app/templates/components/LeftSideMenu.html @@ -1,16 +1,13 @@ - \ No newline at end of file + diff --git a/hiring_module/hiring_app/templates/components/header.html b/hiring_module/hiring_app/templates/components/header.html index f6fa403..9391f93 100644 --- a/hiring_module/hiring_app/templates/components/header.html +++ b/hiring_module/hiring_app/templates/components/header.html @@ -1,27 +1,25 @@ -
-
+
+
- + - - - -
- +
- - - + + + + +
{% include 'auth/logout.html' %} -
- - - diff --git a/hiring_module/hiring_module/settings.py b/hiring_module/hiring_module/settings.py index 8a19a81..5f9f3f0 100644 --- a/hiring_module/hiring_module/settings.py +++ b/hiring_module/hiring_module/settings.py @@ -135,11 +135,14 @@ # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/5.0/howto/static-files/ -STATIC_URL = 'static/' +STATIC_URL = '/hiring_app/static/' +STATICFILES_DIRS = [ + os.path.join(BASE_DIR, 'hiring_app/static'), +] -STATIC_ROOT = BASE_DIR.parent / "static" +STATIC_ROOT = BASE_DIR.parent / "hiring_app/static" # Default primary key field type From 9dbb415cf9b62da8f98007b31ee1b2bc0ef9e629 Mon Sep 17 00:00:00 2001 From: Juan Sebastian Diaz <1116070867@u.icesi.edu.co> Date: Mon, 22 Apr 2024 11:09:07 -0500 Subject: [PATCH 4/9] WIP: fix: login --- .../hiring_app/static/css/style_login.css | 28 +++++++++++++++++++ hiring_module/hiring_app/templates/login.html | 12 ++++---- .../hiring_app/templates/login_base.html | 4 +-- 3 files changed, 35 insertions(+), 9 deletions(-) create mode 100644 hiring_module/hiring_app/static/css/style_login.css diff --git a/hiring_module/hiring_app/static/css/style_login.css b/hiring_module/hiring_app/static/css/style_login.css new file mode 100644 index 0000000..892c263 --- /dev/null +++ b/hiring_module/hiring_app/static/css/style_login.css @@ -0,0 +1,28 @@ + +.main-screen { + position: relative; + width: 100vw; + height: 100vh; + background-size: cover; + display: flex; + justify-content: center; + align-items: center; +} + +.overlay { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(0, 0, 0, 0.5); +} + +.content-container { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + z-index: 1; +} + diff --git a/hiring_module/hiring_app/templates/login.html b/hiring_module/hiring_app/templates/login.html index a0e63ae..510b869 100644 --- a/hiring_module/hiring_app/templates/login.html +++ b/hiring_module/hiring_app/templates/login.html @@ -1,4 +1,3 @@ - {% extends 'login_base.html' %} {% load static %} @@ -7,12 +6,11 @@ {% endblock %} {% block content %} -
-
-
-
+
+
+
{% include 'auth/login.html' %}
-{% endblock %} \ No newline at end of file + +{% endblock %} diff --git a/hiring_module/hiring_app/templates/login_base.html b/hiring_module/hiring_app/templates/login_base.html index 2b13fc7..c713412 100644 --- a/hiring_module/hiring_app/templates/login_base.html +++ b/hiring_module/hiring_app/templates/login_base.html @@ -7,12 +7,12 @@ - + {% block aditionalMetadata %} {% endblock %} - + {% block content %} {% endblock %} From 851cd0decd2692564ba10dc3b312270c29260996 Mon Sep 17 00:00:00 2001 From: Juan Sebastian Diaz <1116070867@u.icesi.edu.co> Date: Mon, 22 Apr 2024 11:52:19 -0500 Subject: [PATCH 5/9] WIP: implementation bootstrap --- .../hiring_app/static/css/effect.css | 15 +++++++ hiring_module/hiring_app/static/css/style.css | 1 + hiring_module/hiring_app/templates/base.html | 28 +++++-------- .../templates/components/header.html | 40 ++++++++++--------- 4 files changed, 46 insertions(+), 38 deletions(-) create mode 100644 hiring_module/hiring_app/static/css/effect.css diff --git a/hiring_module/hiring_app/static/css/effect.css b/hiring_module/hiring_app/static/css/effect.css new file mode 100644 index 0000000..cee411e --- /dev/null +++ b/hiring_module/hiring_app/static/css/effect.css @@ -0,0 +1,15 @@ +.hidden { + opacity: 0; + transition: opacity 0.1s ease; /* Transición suave de opacidad */ + pointer-events: none; /* Evita que los elementos ocultos reciban eventos de ratón */ +} + +.expanded { + margin-left: 15vw; + transition: margin-left 0.3s; +} + +.nonExpanded { + transition: margin-left 0.3s; +} + diff --git a/hiring_module/hiring_app/static/css/style.css b/hiring_module/hiring_app/static/css/style.css index df768cc..f4de2df 100644 --- a/hiring_module/hiring_app/static/css/style.css +++ b/hiring_module/hiring_app/static/css/style.css @@ -1,3 +1,4 @@ + #asideMenu { width: 15vw; height: 100%; diff --git a/hiring_module/hiring_app/templates/base.html b/hiring_module/hiring_app/templates/base.html index 5ce40f4..d40d139 100644 --- a/hiring_module/hiring_app/templates/base.html +++ b/hiring_module/hiring_app/templates/base.html @@ -8,23 +8,9 @@ - {% block aditionalMetadata %} - {% endblock %} + + - @@ -32,12 +18,16 @@ {% include 'components/header.html' %}
+
+ {% include 'components/LeftSideMenu.html' %} +
- {% include 'components/LeftSideMenu.html' %} - - {% block content %} {% endblock %} +
+ {% block content %} {% endblock %} +
+ diff --git a/hiring_module/hiring_app/templates/components/header.html b/hiring_module/hiring_app/templates/components/header.html index 9391f93..5d8b259 100644 --- a/hiring_module/hiring_app/templates/components/header.html +++ b/hiring_module/hiring_app/templates/components/header.html @@ -1,25 +1,20 @@ -
-
-
- +
+
+
+ - -
- - - + + + + + +
{% include 'auth/logout.html' %} +
-
+
\ No newline at end of file From 55a1b2840c3d7bf41dfb0d49a9ab5366f346f843 Mon Sep 17 00:00:00 2001 From: Juan Sebastian Diaz <1116070867@u.icesi.edu.co> Date: Mon, 22 Apr 2024 22:10:54 -0500 Subject: [PATCH 6/9] WIP: frotend fix --- hiring_module/hiring_app/static/css/style.css | 98 ------------------ .../static/images/icons/back-button.png | Bin 0 -> 522 bytes .../static/images/icons/icesi-logo.png | Bin 0 -> 248796 bytes .../static/images/icons/icesi-logo.webp | Bin 0 -> 14580 bytes .../static/images/icons/icons-search.png | Bin 0 -> 724 bytes .../hiring_app/static/images/icons/logOut.png | Bin 0 -> 388 bytes .../hiring_app/static/images/icons/menu.png | Bin 0 -> 209 bytes .../hiring_app/templates/auth/logout.html | 11 +- hiring_module/hiring_app/templates/base.html | 61 +++++++---- .../templates/components/LeftSideMenu.html | 28 +++-- .../templates/components/header.html | 75 +++++--------- 11 files changed, 94 insertions(+), 179 deletions(-) delete mode 100644 hiring_module/hiring_app/static/css/style.css create mode 100644 hiring_module/hiring_app/static/images/icons/back-button.png create mode 100644 hiring_module/hiring_app/static/images/icons/icesi-logo.png create mode 100644 hiring_module/hiring_app/static/images/icons/icesi-logo.webp create mode 100644 hiring_module/hiring_app/static/images/icons/icons-search.png create mode 100644 hiring_module/hiring_app/static/images/icons/logOut.png create mode 100644 hiring_module/hiring_app/static/images/icons/menu.png diff --git a/hiring_module/hiring_app/static/css/style.css b/hiring_module/hiring_app/static/css/style.css deleted file mode 100644 index f4de2df..0000000 --- a/hiring_module/hiring_app/static/css/style.css +++ /dev/null @@ -1,98 +0,0 @@ - -#asideMenu { - width: 15vw; - height: 100%; - background-color: #00599C; - position: fixed; - box-shadow: 2px 0 10px rgba(0, 0, 0, 0.2); -} - -#asideMenu div { - display: flex; - flex-direction: column; - align-items: stretch; -} - -#asideMenu button { - width: 100%; - font-size: 1rem; - font-weight: 500; - text-align: center; - transition: all 0.3s; - color: white; - background-color: #007acc; - border: none; - cursor: pointer; - padding: 0.75rem 0; - border-bottom: 1px solid #004d80; -} - -#asideMenu button:hover, -#asideMenu button.hover\:bg-blue-900:hover { - background-color: #00547D; -} - -#asideMenu button:hover:not(.hover\:bg-blue-900), -#asideMenu button.hover\:bg-blue-900:hover:not(.hover\:bg-blue-900) { - background-color: #00547D; -} - - - -/* Header */ - -#mainHeader { - position: fixed; - top: 0; - left: 0; - background-color: #ffffff; - box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25); - padding: 0px 24px; - margin-left: 0px; - width: 100%; - display: flex; - justify-content: space-between; - align-items: center; - height: 64px; -} - -#mainHeader > div { - margin: auto; - display: flex; - justify-content: space-between; - align-items: center; - height: 64px; -} - -#mainHeader svg { - fill: none; - stroke-width: 1.5; - stroke: currentColor; - transition: stroke 0.3s; -} - -#mainHeader button, #mainHeader a { - color: #1e3a8a; - transition: color 0.3s; - padding: 10px; -} - -#mainHeader button:hover, #mainHeader a:hover { - color: #337ab7; -} - -#mainHeader button[onclick="DOMContentLoaded"] { - margin-left: 16px; -} - -#mainHeader button[onclick="window.history.back()"] { - margin-left: 16px; -} - -#mainHeader button img { - width: 40px; - height: 40px; - border-radius: 20px; -} - - diff --git a/hiring_module/hiring_app/static/images/icons/back-button.png b/hiring_module/hiring_app/static/images/icons/back-button.png new file mode 100644 index 0000000000000000000000000000000000000000..f2f72d4e40c6035daaa8136b111662af20a9157c GIT binary patch literal 522 zcmV+l0`>igP)v3q%>a-AW`K2|`i;;T5cn)(k_Ps5CQO-I zX)=l&@DP!ieuT*cz_CSU+hwtDGAWCUD!W;U$M^uaH@@f2^*>{i>E;bFXW0N2T^E}& z-M%3n7$TLQEdClkG&~qSWG%fiiBPT#8FkPUNy!k|LnwJe<{9 M07*qoM6N<$f|t6^Hvj+t literal 0 HcmV?d00001 diff --git a/hiring_module/hiring_app/static/images/icons/icesi-logo.png b/hiring_module/hiring_app/static/images/icons/icesi-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..32a9e5cce663cc6c4036cbd2c65d97432533e165 GIT binary patch literal 248796 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%0D(G)tGV` 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

e0XUBSEtsnx>2qx;B_8u zfP3>tzQ0eV-3TA{Ljkr721upq4uf4<^zeT1G@%J!UQo*uJUWMg+O1+0vj0#Y$Ns;} z{zj|V+cw6$m9P42O{OfbwFZD;*+c3JL~T3goi}1ZYa!V2^T#~<`JD2kW2tOMhpsI0 ziSQC-mZw~ij;y{?nwC&RiwK6rQxR5TrmAhJ<|2AsZx(aj~!a#_d&svacpC%{I(D@u>K#N<&A+ z>A~5}+DFfN7+d$WUtt2Zvkn?15f<=jk2z-pl*&y%%@lJI7P_=D~J6yS*LTJCmj; zq8wm@V?kMI5h{#5t#Rz`Z^yoE{pjrI03s=dQyFMlRZFhCdQUXcJ$*H=6p;*6(ccom z;o)|C>*x@E?|3g>+LOX)0!T6UKK3ATmWZ%Ep7=;V^&?7JM!F1afoQJv4N7TtpsVvJ zWYe_g$W8$o?ZF6Yp$LjJBF6aq^;;YGi&NA1aJq!qS{rI@L+~X!5eQQ_@EyNjLPvwK zm~Y0ZA%R-lPQ$J?Xw_?bGNrA?;3!_SbLDBB8IqD9@u()@hDB-32b$s(P*rw>Ov2t% z)E-C|DDd4CMqaCE-Gm^*ER>r|MWJfS0^_5C?+d6rDdYnwtod4TbIpgJpPR;yPL1K@ zjXBJx3n-dV%Y?`;`C{2d8?0yZ*r3s1Wl{!&B3vCzz$$N!_4szlRvb<;TnE`^XNMmz z>>tE$Ke->@JiZS{M*7f~j3LT=`Pu3FSvDEx#$#qCOX~7ik1!qzVUV58iG8~;(%a2) zk_SjvbsO4QK|{rou?R*7yYT#>9eDWw@cU18;16HekKcdp0A4=49f!8{puauFHsyF< zZOl2)L??-GW>y^@>8DWuHOq@@Uz#qUP8 z1GRLuW4<5Iu*g6OJ+vrCdQ%vwZ+qoHDe*l^$&xnMqQ1NLFxZ49JQ(ie5{X^c5eJaZ z)le?6&8c08kM9GGyynH^9UH;!)fxEi@J(n!6Mh}oYEAmMX&*S%A+a&bHY!r5%lX2{ z(xA!km|E_Q=a!Wk(z{1yHz!!!WH=ZH-VNX$si&7;zAvZ#4_bkg(wrV zT9dvi{UO3Ks|S_$Q6C?q&(`}~6Fgq;Nt%c*n>2IRcKQ{EEsAVGBjxS{-4&xrw-Ijj z52Cn6)s7^Ar+2pEcb^=^_nz90-#^xmm-h8xq&sC(kTp_N&H#;02vZ-@h-G~&)2LFd z383TVIiCfHT0mPn#Yz9#%FOgY%^FnL z@p;x!nGHugqPA2GMo|p4V6hy>&E*n4ygrAYyn7Kpdiy+HJ#`%)-Ogizy7&s;%hmNZ zr}ay>ug6E!)N|P&b2S@Sbz8&c7?!w$^hL}YupEcnjR9W2|KAMm;LbWbHw3f$UTNF?18NwfZ z=XtzvcocgE+K`Z|SRg~WZrz&alE$s}`_|VimCcOo98Ggt;4;D`ZqANv;MET<;H`5v zu~MdD9BrZPs8SR7p0;un70Q~2pQS`#ygltnTa+%u{8Tj@Utjcz^5n~PV0--Xtjv4i zKmze#3@w_Lz%(T+^tD-|12m=J+++b4$L4I2OKl-3$_r)8b|fR%Ju-wR_jlRa2Qol4 z3ZTr)X{UqPb>{#23f?_^3D+m*u%0WSSje03)tWQfkwITPTT@ANbao+`YDKA1!$vlb z)pQmc`I3EcsIZLwP>f||=PEucF&-M{T7M$O+-&b_M^ZfiA5~ZY(N1*mu}*X}1D<6P z2h+s1GaK&5CmOER+8W2`j$uS22^5QEtgNmgo6EC)+1UrQkeb)2t5TRiS<5#TF^~%3 z=x9HlJGKvPsW|DMwgnGEq@wsSRL-I+9>B3Z+wuIdowfsp^4Zz$$Dz@7jE)YYzq=pt zkRL1aGmMt?SJw0y@-i7+yrNMN?yIQ`A|Bk2Yb&Y?W=Y5TzwwgVshtZMeDjrcA}zj7#~ezwd$fZ0pX0!3+1W;lC=- z9AV%c#qYXOqjn$`)#x2)Rdjz-gksl)J;#xx&j7bXGE-QvKmE$WeuRW^9-I;H8L?x=eX zD|exu-F@$KL(7LNgER0|OjrIb=}dVfUC}$YYwwv*2OjIE9!T!l;?2|rq%V0>5_WWb zwMQ7-U7F8YIwMUTrCn)@#qRbNY#-{w;Er8XOr!Q;s+?J|k)Yb;OaoV4J-bv*Z|Aw2 zGFrEe%r2;-)wh>Q{mf3?wH-IFy?cyZb^^~D?>g}AG-4f$hgcGgqF^4&l?pa88O+Sg z;^x={=9kuxXzfF^C2YYoZ8*$SYQ9K4pPSt2^yAIzyV5bZ`?>)h@aS;|H91MD=9Gj7 z!dA|7CPAj13re(KvgIfyrrC+mz)R<}#a@xj7$g(Q!16$3bPAe*EEpYlZTEx%SS-?LS2@^AnxL`5 zJJ6Z(rSi!L4l%Rqd`VuxAG~%Fr^lADSO{R1MAx4BrLr^Vgz9uHIvT0+e1_%kF07-L zTR~rI6r&@9=>??nX28&X)aC3He+-DbGaPz%MMu%s9*$s z3h;`oV>t{6B??3>D1;*GKAc2LO9HV3A6HnP=D2ped0NWrEPv;>OSKh!}!dj@+)LgcXsMtXa(Yp@$F zG_w804OBDBIKFo~o_pdDJNr2444b+kJ`}HOu}ksYj)7k69_hz$PX}7!AykSvWGU>W zjD*86Gmu;t!W(Qqa;8~3;Vs3ZbDQqN^DWe`JHJ0{JuzNpo3@@r+*&1FD{dW*mWUtU zeC{}&+&_#ywy&+0z10Sk2Z0x(yZdm^_)ZhHpy@F1;uUu(V+~ye>u$ z&aGjMeNe?8G==Sxz}i2fygT2L&r0up4ui%u4DROlCN$y82p*q5nkfnHzJj_1sJ%Ye z-3!t>*3mu`sl&72`tfp6hk6_RShV-;dm$l8Z=mU>U_YCl;vQeMlLp`tm*jx8V zZ11w+mIn&mbQs(pyb?X?l1c7sRHzoG?(gl!uHjy6>+N8FS+x&cg;I(9X=7wJ>(V|S z`q`thZ&v@KwcMQ3Kp#$B7ze5_ckZfW>)Ga|Vy)M!d-CwG#bMHEd1N9oKueXXExNg$ zE!s|F%b75Op%&waxhhxjV{S2x#g%na*kq9U0$RYuGq60U3r{<%N8~Q-zNe&`A*7?bbisH} zM!AgXu!d{%sq&yRn!q-ypeq%|zQI;Jw{HM192mee2e;w)o+tGB*HX&_l)%6#BRR3e;W>M_k*w6T=xjAI~EVCG=^7JmTgf)4Lnlb zR2F>=P6R6GYYF4q&mF_pj_<+o(Udtav=^+PN-I|DI~XwU?$4bIH2hq{{52>j7;<09 zZY%-6`0xteJU@n8D^;Yc5oD^QZH<{`n$CFD^bOI5or;_V)f~c=EP|yCVjA0f+i`gB zZXDP-idabB#C_P1;Sh*{puAHs)@EPbaY3NE&FY5@f#;EV16x!Jj)-7 zMA6yaiZ*tB+xollL^MYYln!@-WEK$Zv@XD89;v<4S(`WcPfB^_7)ylPBNX=czEjY z9vs}Y4TG(kj^TEp@EliBW}=Nr^|kmh(Ak2Xj#hNY@e!5BK|7DIBhn8O$rZe%U1C>SWsx=HglEYy3(Krk|u2#n_Otqx2+uK&L z?l4e@kK=v8y>T|736CdueEz7nRkX!@tv_YI%jOyl1#IeGEEZ+o7e$1}a4e2sJYh#& zM`JNWqcIo8Q0Mo@c>MnNA00+F(}++(3{hu`gsD%4!-g_CE9^s6Ophj;65H#T8_9IX zxh`C24NSdf4TGk`z~E7rN(T0(!+?fDPfGy(v@1HPkF~Y6B9Usdk5*Y)i-ijLUo6ai zNFTH`^0uPUw{j-1->{Ed)(@$laTR4%;houuyW{=3;}(8;a6BXX$lhoA&UwN7F<)8g z?@Q^DExwu0R}l#&?IU88eZT3W%%*)i^HAAtjg65!3Ru`4UV@Qf@@u(PI1`yw))V0wC zTHk;vgqdm-1tk1=bOa0N)zpI>-FWHvUVQWU<2bgz7dr+M=%4|YU^eu%*;cb>8bM~F zM#HsKDB2c^N+(PscKh%E_U-D%uE7>`wE!vRMF!?771G5GU~a8~rHvw1(>ZKt=)Xp~ z^SL1fLMrUXP^{US2Bo`M*Fw* z;mIQhab$ld4eJ0_b9t;4X^?A}yFSG;tqv;1Cl2hx&cPIWZkBZ&c;)T0_`xf0+9HcH zD;Z>1V7JYna;|!ikzIzbR6u%d8DnF&aqHF?g6zN zqXN*^(}k8;$kxDk@tM8Y)*nPEQ^NG*7?$Q|Z6ru45kp%`lGWo@QMQHuL^C6v;^HyD zhD771QZ8U&X%Wem7PPf?qBZHGz}N6G8TovL;cc5lzGAP{k3yRtCK13eHiV3I6rzzF zOQo3qR$QA|!R-b2rC+?Ka)-$o5nmYx_Us_fY)4BXfnU02otpkV^@0^{oQTo@9IW-ib|239)&FY6^$NI>(g!z z1-{38lm7N4Ms0;hIn=DPsCQ6CvIhbK)WcZ2Hr|v|L%VzwEkC^})>B^_UOc`Z+q(U> z6Nc#bFz|`V*WrHQ9`@ZYGc+9r4e@&IzY%!p90s$vIk$?nY~fQo4DJDwFQk&mW5#k_K zmrj2Uz2PFdA{BIm%4iMg!%~^LgPZT}quwSRj+7wDNC-LpH%Z59_U8dVWsyDxX@mh4 zjAMI8vAw(LF!;Q|(-Wnb#gZZH*p|Y`Ko8pDNmO!ch)@R$SMvx|sEcV1EJ1BTy0Oso zu)03B)rthJF76z8@axpiR@{xTxpV$9oj@>*Kq$f<--k@0gr&6%7UvfbWM3HyCTRbJ zY$pY((}wqem&8`Y4~B;c^O%B2A&vX1;4q-wy{YDWD$q;rRW${kGeVhJau!fu!}u!j zKmUhU@T*gou|OhLLMR~I}_;aAYqwF8SDD$udnWAV3OogmQ^82L3844*s0F> zt8%GKhWyb8^ocd#^wn9s`u;hLEpDI`Zb7nh04Fb8!BRTUjPWhzEkI%38Yp3~HH^Ri zJ1^tqqa)bY?Y<gpOwxipf&GWKoj!#7@h7B4+Bh~@bjUVrOdyhiNo9l*%0edrw?#gBgR2ChynVztD2 z3ngUAl0rnIJv&{dYwHED;~nm4!MBcV!+-PbC#X~aDFzFdH6dAx7HfdAdrL8C%HVhi{(6Pfm^D)Km`I@*o%u)7YwkHZ*pR^r15qwp|i}O#8RL z@jQ<2Nn$8rJ{RVQRm29O`qU^E31XcK#DC&5@tn@)~<{dA@Ha)5Y3IL|tL<4PX??nm$7)svS{h;&dkum((? z5KVHa*1WeK1Po1H(M~p6q&CjFJ+Q3@|LptU#`8M@*zSpIMpmEk^NBGw!sk&>iqrZ9 zwo?aeA>OHuygbjQ@W1@{41RX%mTkM1_fs+2oId1%0(&nykZO0oCZaB1t4#~Fn@dkm z55B&u4gd7phw)6G9FgjU*woZe33ta~dFIc3qHaPH9y_o;iVVL&hW;0SehL5awR4zW z&#`~=p+rXCG<E0+7}bbAuu#up3>sZ2B~%kB_3=a>gyR0PjX?Y--}^0mV}Az@v{SFpSBy^rW$11p z)r3z3*)~FNA#j0oI_YDqHr$w4!717Sr!QW|m5F(zsr6-P^XN0D*CUJWRzqfgH1yQ< zHnUZGzfS$QSX^vOVY9E?0{2m}9zs9NPm-l+qtbYIq#rLH-HqRQaT^Bop_KdDb5!hL>A)%{#>1};$Qy7>-fo;DdZ8hozW`ylHbwKDESFs_EnH} zNd-^z2Jpwv?Zo$9IE;ZVzvE5+LBtep7~$DVp{=p@@b8!OWD+OeI2^xXY=tU?6 zR)@m$v|u4A-N_zy?~v9`IEbU8ec08T!ZxPAceoD+cMhYcJ&s&Dhcl-?!qtf>te0vi zXvBa@tq}_>Z+3MBvy)S}a%%zSZ%xujpT|nBf_PguqN#TKdf(B}j={bj>>M7z_JMBF ztBPbij%YkVTbqhH>%BsSeU8oeAZim+}%|{je@8 zd7F09*VW1R$OEirTRf7lh;({WiihI_T^m7JvEpR6`s~bd4i~Q7!ds^<;KuA4R?BR} zktjlxq8cU8nuuVaw+q?y8fNDfFuSmXjZ7Bo(~*j&5M>55VnB+I)-14*Elfj`Sd_j% zIhT#E)V+43qug4eYt-*U3k|ytwyn057D?slsfLoXj@gn^UAcY$tsw^oSh5AGfBTt(I5-f(Ap5*N zVh^!fqulJeN-Xod%KHyS7p8X4{m%=PUT^enETb=4!EjtVW`!}-nZWkmHVpN&VX&ti z!+qW8YGGd<^1He5+M1CHK~2sAIRZ#e=`EUP9w4K4(arR%5zk8&7%uGaB3M z6!Td>(&=@qtgNC`WSRB#Pc=q5sJ1lKL@lYtc;rO4J43SR#tUYcU5<@o8&W+ z&Bqyzy`kCI{EGJj#`s~rjLnBJn`h*(hn&~!CfU_pU0oteq!s`Y2`vMmwY*x*TKl+1 z+=vWhMhavC$h&|Y?$`bJk^Ahk_x9uGY&ZOqh^E7UN#LS0^S7)(&cWb@u9 z3F1HNp;veIstr*Ws-8(#~P{}2Qnht}{!Ft}v zg5D2xBELfwBPq<%(7rt~fz?tS1?`D#U?s@nVMVMfqN-LBfBVh?gLe$Eh7*w(s-+4d zA#HWifn)o2;)hQkz#l)mA7>BrVgHV#30u9r)k68&N=N3H-t218J1uO8fIp!~Ih2o( zotEio=C-bSx$wvhM~k@%?u||3zy0z}{N~CSt}Oto;WpIbq*w+OX4t;H(_(rQ?6s=4 z`EiTeXtBpaxk@9tjwlC-Lwj4Tew?sTDjt~rnghjyzAqYG0p7emkN@}I{1W$PS5c&4 zABwl2RCQbUF!#(QbIJk4?eofkHXXy+!@Ka>xuZC>FOFUomAqz){?k8&tmL18RXK`RdcEXISW)L#zXQJ zMI+|jU0PT`jOn$ey3x}WGS9Hu!H9WuHSe7mU$UG$*EW*+#OAk`*#5tIACpLROaKRVq;X(qC;B_OSWk7#OpKwzHfC+J?Z|&Y<#|2j zHO?c?$(i5=9S<^&bP(~6j+*@ut`%^2_W+(faR5&r?Lb?@?1F};zc9A@tRL>Hr1iMt zyY4WMtaIGE#-Zy8@u+^HT@o(cnZYeN407xP`ee%nUIsBDx7%Zm>wVf1et4eRn?7nx znu*pPD&durRMgue<}eU6!@vf3uS59pnuEjQaby>pXyP%2*jacO4g)=+^?TBxB06JL z=P;mBr%(FioR_TfM@{K=(jB%FvkSAGkPicXx)cm@TuMN&pjHM}rWQHQP}a)e-_?`A zzP@(!^!8$8eib9D)W@7M%Zib6l7Xpb+Gm%6DpH9kPBqssc!*Gil1$gur^eFHG;ct9 zE31+1Qm?sjRNH}Toipi0J((a5?rFo`-GkKm($Lyo<-#g*+Tz@})}yr-f38`!1qQV7 znBliOyy02&%veOSG_3 z!F?*W`esYJCn%IEz!n5xt;tyNAx5@HL{<~(l+FVdr6CyS`N5roc;?h`y!QMVym+b~ z=k{fAup@$Y4lYrfTBGMow$hjim{&~B0(V&xisUrVFF6ay{XErMXp!HrYYprkvhTu` z_pA3OaepO%nX3C7pf1C)8bYC5#_Gy44bvj^No}JOM5&NRr9>l(%H-Z%J8=5=VH`cQ z6CEAS$dVJox;X!f8I&a@r=v=(I+bhV_g5G3-`~7~>*Gt%F8`WYK%1LJpaxIxSx=a0 zZH9QT%)uj#7f$ZS^Ct$)f#T*-=xwv=R}5HXU#}sVP9WW$K}YW{boK4U)a)vU{gAEP+}hg8@HN{JWN|fTi%=GV2^2#us8fQ( zLRAd3Cvp17UhL>i+wKRxLtx!uV9ZXaz`7v2bOhJgopV+F}1T~r=N2`-{iz`-6S+FtAG_2<6OT2#p7&54 z2AN<99q~F|JaYsCok`Q-q$@Z>%f+T{=JX#u`PpzUW4>MTMV5}bqQY9X1ifrxK~$cW zV9{3IU#Z10UyV_pTDJZ3H8VkVQ?2MtwN`GbB9jQ?^x-|&+tt!^7(7&{Vo9_`Y+-5d zx2jQ#mup6`^ive)K8JB&tm9Jx6CrgjGxgXgXwzqq6LslvSI<)_x|lG0b=n3*kCu$o=L{KA}# zZ_#K7?NrXgrv0hJe&jlOWiSTUIj`}$cXb22r=AF?e3D5`hr#DUv5*={?{^xz!qOCT z1uQHsV{~fXro8K0EE%IBVs4>(fRsgtj1DGk2_S*mFwSjwFQ$GrKzKPaqmajzW8} zpj{D`Q7RQEH_9XiQpY!eA7nlPNXBX2mhW(MdAg^^}nXmZdJqr5Vj#jnrb!rNExW1&#t@DQ+B1$tv_wjVpC>Q95T>Mk9~ zVjxz)%g2WB!il|PtQHPFu6(Q=md{FK`BcdhOe-CWvusJMR^qsDbr>`AD>kD*aT=qu zE%+o23jVEDY^vaip?2)2L9w$nVk;JZ@7!_h?1~~p>w0c#!h}zIDvF`rcGi!+sduaX zRurRo*p+9m?kTV`$plUw+=~-?+pv#q+GhE6trKGPMpXu$t6c=WZ3xR!)0s5dGaL4pbT2TC^jTKvcX!KGj+gQaS|X z)KnC&EgW=B&M4L!D@%i+uC>(j7^J}Z{!@qW^wBPKuw!}LJj2kFMqlsxj0({ZjI02_V|=J@v0^l!VD_8(4eGm#@hV`(m$7krD20NFLY4Y znZtlGFcMMkV{TZ7nzG66ZDG}`)JH5i{jrlKns~h7k3C<%!$6}E$1?V#RERo6Jc#Gc zoIrnP%$)m9YjOR`?^|xsL;uQyNqyO!H|FP?ClgydT7GoNhi=$7Op<;~eX|}(Q_rkm zac&kXl4CUHSi`7N50kDE4;0ansN>v`UD(szimn9ZkKZ_-1$4aj_GSUlI&>N5MS}=g>vAL<*-o9yKVW%bJ-oz2V9vLjPdCc z>ta5Sg{2j&(jqQ}T7Z^L+W}0_8d=6l7G7kdpCk5T$prlp6r}O^q(J3UshbXi&je$z z&a;sr`~v7)hDm^ibD>zn&3luW&sJ${(GUqy6V)_PT4`>GPLi+Jbb z8}_EWTqC1XaJbH{w`VM$Eb4Lz1Iar69NdHH=}9cFuA;z1uSSn&F&vKEcocLruC~zY*+Cv;%Yjy28t9RrP7W8)a+j<<@DWcANWOI3}k_yGL zITFOh;s;Ih>TL<(wPXGGC(j?m$z2>M#P*D9kx1iuDpW(OISfvszbmpf!%(p(j2s0nRzL2~CJXne z{CtCC0@RT?B6TYGmFbPa4%8u7*tosT2x4(z5tB3X$W>Usru$K12Wm(J3)H)6c;@JC zj`JCGCa8b<@qHF78-7|%d_GuLew~>y?UP;f$OlItjt@HOrIqyS7~4~?Co@#edN`== z8|cNJ-d6Ob!)U2x8K!8?f?_ysMyD37)(a;aZ}hJ&jZ(9xHHL|NXMy7xmjh=%=>^=n z4&XXTw$X zKIYr%z#J8tAFlXabPdryQE;u@bQpYLY-R`(@KqXU6m+ArD_F?ZXjqkKG?FpB73lTG zTyRWo=8Js`)K4Sl#ghl{=dVAD?>%(@XZQExP=5^l$*_Ib?z)URhkJVaP}qiQZhW-i zT&MQaJ5e`KpGvg#AezWvcw~|WqNdj;+1aDEn?Z$KpwAL=%kwy}YY?wLdjdaxc?Wj1 zh0w(e>-#6#ikN3y_j174#0ugpthVI~MB+3e84vSzcdm%{uaDqwfAaxuPAt+$(0-{b zEro#_E*z7J>3nw7H%R+h>v-u<51u=`1O43{NJh0hq=WyA3(XqP!`dsB3_Y=2#YcCh z@$v0(3WfqolrRz`W=I;df<}FabzZ|RmgQgl=s7&IzXwP6?Xq&FIZ)}-x){sY*VAcJ zulDaAL~ma^MknVnF*lF7r4>|JJ}2~;w&Ert6fD{nGa0Dj#NGky>7ilETe>U$5wX^o zaeo>Z+dLFCu^EX(5lyCXcWRkNRF3VTfmCr*xhG%gQx*wO?bINLfi`~BG_Yc^h$^Wg z)rFo88b-#bjG277S_$L!*esSyOf49PCW{D4uZ8E)R_3jx1Gzvu?hKD&acLQaG6VBj z?QN@^Yq8C?bP{I{@4*kA+J_g9wAxC#%D&{NeTS%guC;~_U0a8KZAE%&tLr}bb*E{Z zEtKl5=@@nlcH_X_z1X{FFEW`nn+>s&&3Us)TrKNqHA_&=6JFAO&*G6Vl@rY_c=hBy zoZj7o?)IcxCxpe8V?_?NuL9+HJMhD8H~f=`ro(`+ZsYX==39D-ereDaEmEvaEM;-^ z&WLSYR;Ie<90s2Q_DPc;o1iOpS${lg3l?!^Zy)xwCy>_GE6RX69-%x4`neXHf3kL= zi6$OTSob3yj>CYXG@sM<*KP5Tn_2|P|m2V47+p^#t*YaW) zKTRgf_@`b8B2VS=&KT=h>Kg0Eb~|DPB!VThwS;i?*g@>}r`g=|Mkr;QCl$fDeZBbOmk;2~fiU(D&=75> zfMlSJw#k=dK|iyb$-~;Iq9=JiGlRaLPqp+QlITP^n#OWChAa)P5;>q&cE)I>T*1`z z6mHzUhs!tfn9Bo8e74MT7HCwDFM~`qh5!8@-@xCz@h*OUWfV7OOPFSu>of*Fyfuk8 zKD>tEnN^zxqy-b}6d?AEtd~3M)D#k0OeI_|qBRD4lYI2>A#`_lQ`k65cPnN!h-1yt z3t(Y2hr44F$d#%la_k<-DbHkBMp7!3>|5RTwpL`)X|!fCXideC;h@gTmMb|#v;#pa zg$Qj*-Um86J6K;Wysr?-jh`cTv`;XqHB3&=V18*8xuW|-K!)f#)DX(6K4o!=ziua! z5$xGHfc+G@gB?kPHMNWNVW}`V_gRI~T~Awen9CP%?dBbP`0*87y19ZeHtu~Izvsux z_`8qp;Xl1`3IFw-+j#%hG!}VJYe|S!NwfTOb9fauZ{5cH!UBr4nyr0!FU0zcL?ZUa zF_}oxS<*D6xm= zjxKa3*`5V$0biybOZ_s)b`R>s6gANRkG8s&K4sSDDdwspsoyk?gpC~G=ST35Tfh%S zvJsL0gVJlG5wmTUmX|R)I*K>nd55}l5%+1!C?^I})5)Xm``$G)oHp^8LrwgZA%^g2 zGosNbIy+)GdT_AD9W;Vz=yWib_Q{N< zyVPX5NoamOux{0m`Nnd{gwuQNvW`5dvS%#J0+W*~C{&`zB8F;+mb#2seP*G^YBae* zLCnt1;^O72_|=>5;`+TjCYSgupVy}dS4UUy=B3Mc09UVv-hszjgRl)og1ro z>)IIJzBYo7Zckvb6kz%hXOPmUb0WYuf}MG%?NGFWeJ`!_eKejA?cayi){GhPJ{rZw z1_U*6K7fU69{0zmkS$fI{07bQs9I?Jr}VXrV0&8|g`KAU%cyj9WC?hQ=t(h^hR4E&b#RS#c~Di?B4Xj{jNS8w8-3s>>+?F!z$x{9BFbO-O$zxSYAom?vk)#%pQf)DN;6iiqn+vRV1GKclXW)Kg}$~V`WN^Yq(%Z_6Q8tw5 z(+&gKHS0X#($;a?eBwPKJyv6@c7M~0!-d5~d~)p?-Z_5(AKhHQWFA;$q^3pM>=zb{ zW2w?vPqm3B0pjR~4y_crcSj7ndfU+15=AB+wl|xBT50X=rh`-F7UyO#JvNMmX~$@K zr>u;Y?d?4cG5b#Dt3wPe9n+?Mxl0B=Ke{GoL7w-QndB1b;;m`?`rQkdSjf`ARu^IS z*WPxdKs16NkD)M)+CT_nGmCiRoeOyL;tkxI0RBJ$zhSvph&ev;=Ea+MkJlE9AzU4u z$4}q<82{mKe{ILVd-EdRy?hUIIU3TzgiTda1~r>N#-}e9^ux_C&~60-rY zdx(QdI1Kh}S3a*Co1yD+bQA(nEETI5pIx%4Z`x?ZCQq$5is{kGcpPn+3_9A|Y+=1B zjmmsh-|o{uXJiWQlc1vnV@ooDcr@yX%f=izk{~LVt0itXjFF*SY{^nQj;`g82#mEY9eKL!W?@r^|@B$Vn5GUj;xS7S@|K=Thbm8AvC>h=-#Ho5SGihqi{DS;}IeShL+!%xR#GVHw;442?#ZAvTBpuepqwk&%OV%<3mAb-JajlsSEP@o z9Z7GM?ym7l+NoZqQJu2&x-=J9>s#&V4&wXgdhoA*avcAMKY0y5dGRFncgN8l$|GLS z+DzgA^|2t>_9)uXk#ijAQvkORI`wMCYYqc5+#P@TM+cw7J|A`3T-DW8Tl-3m_5$_W z*~Ml2>fQJ85AS}6dkerk3#Hw}R6hUH38kl0rPVg^WZ)ZVOBwvyPVV4P4-W0>M?JrS zaII)7x6Ax<#+)GQgB^=X-}Lk}&Y!mZsEe+8H_F#ZBe~aK&yL8;Z;4cj+7~V zZ*C_P4AnAIC}T%g3NM{Lh|`A$te*7NSB9Ju5)PY+XXVmdjr-F}xHCqhHdjVohAmTa zMz#|!*6mq2HI^?L4I|Z(GzWn^r20fbq~=hL1l5^k(|&2i{#K+@Nw+S+nq{g`E=Mx3 zwE$l*lECo9EN+d?S>F73>!T`3LNyYLVtir}Kl}CX@c;VD-{HgCE4WWyplrnw(_dvA z%7YW9BEQBS4rENp$&+I~$L84X_wQq7X2$B@|K~aZNh?Z5<0$6Io$S0P_x9n{XHKE3 z)vZ$@r$JQJs^CpD@r{Fh#T21+dEi66NU}+M+L~-JM`t5E4*$xmtIctymR2#9rL0!p zw{FZ6Ds9Sx=<7(Qi6*{FFnvSE%?jCf45|ZtnprBrKJz@frwxN`F~qB@h?bU+3KTdt z*O83qTV`sUO+oWW!0FA7G&VJouK8m_BguK7T|ngM)@aoe1D@Iu#6N%K2>#uly@r4F z2T$Y0W4q9yT`;r&cqPxFroiwe>S9_1Ty}@F<|=jMn$wd>RgRJFocS?gkOyGxvpkY@rP^G zhYZ;k>IiyEd3e_V+LK|lgx%sFdP}~pR*9|TFsRwImpgavU}>p{B5$iZ$QUI*)Up1#eQVlTLGV-bHx!|@+J`~(;8Phl!wrLo6SY0pw+zrrq3 zsjw{0)6OGep+e%InbNLOJ@#aM|Z33 z2p~s>a;5rnW$_&bItwtqkj<`GD2L2xFq;ozrLJ!R(-e?trj^8OA%Hv6D|qMQTX^f@ z4P3fCfdv}<6+RaXhTR)Yi<^R(WvY@7vCu5Z<}d%~TODL#80zj)_k^3fbd$xm4p zL{kV^_`ezLy2f@-x~Jxcj4I1 zF6{21;^H|AME2!{AHInuz9ER+)a%r5+(gWEnP7?zPsExD{%K97C<~HyO>hUwGUIjc z;+KRZ{bIh1>1^3%AlVE9Y3%{!%t-}7srb}H6HPoA>ZfirbtAUlZ@-H$U5ZMYWSQ2d z+R;U7kK1g&wr~Y)(VAUPMT3Y@36mb?%bX^@J@~TTAD0@(C!d|AD~mLG>D8i}gFv;5 z0obgzt@y4aaH1D@=};^F;Pfv1;OQfH@yrqIr~RZ|$mA>t+RkAG>gL+Iynt%0#MtCC za5D_#D3F%z(zYJu(I&`XF!Fv2{yC4DIU5X7-{qKT!zO>%LJ`_75e%>7XxrSt#d{+d zS*n4ijg8H2R)s7U{dKu$jJ}D-6XM&44l#-n>TQqW!0sXJ?C(Z85wSPH&JcE8Nq;Le zv~!4IIv>IvTGk`;1<;3{<}~2-YFP$V9Tk1EPGLQ| z3cPcB4nKeQ5`Ol^2e?1Fgshe+m$he7KYz4M=@I&(5lx$zc$Tq7;myPz~e$ z>@qIj9>uNEDU?|9cuT9jRj+Fegm40ZXwvozuhMWfBUc?*d1DWCpKZ80ayhn5R*<0O z*4vTBv!{<@s4HR9&D~u`%Ho5ddqrk{b~%svmAn&MG~7k5j&*c?Ms@gFy=+@cCX;b9 z7DGWz!FTs9G!t}T9dwisjMB)AMMH>^te)+zupUw^sRbbyR`VF2U&hot^TzsD2$e(1 zxDn4c3txp%`t2KSzWqwk!Db+ysGPRFlM_qKwEjTU@>M| z-rAtP5o0*bLip(B7%tx(w^?Wyj4hS$kMCT< zZ_eMqm628ZM4`aPZ}xsBTG`+m+nlEA6IPEW%W0= zBZkuTQsQqp4fJ;Q*ulNnKh$koHL5)=m?~U9gs+mZCYtyX@cTm}>ls^;IW-?k?5WS- z+EQtxlS#Yh!g>l1p=)xu`foB_KNf8d>fgCa6|d!W3F>3mPUEqL=#Oku}w&9 zc%nn^#`JQRwxjJ>v#&RU6Fa+bq^|`>x??!l5yigNAbO%@+pb%X`ruO&j}AUP8u$&Z zkwcmwwOdb#w)W!{%{=IA0gmpB$w*;2L>Xx5C;z#mzV?)Dageb=;kq$N3w#aBFPB zW*OL6XrbMUM`tB8@g%?#GY=PH7i0bmu$RWi;r+XjNyec4^_?;7SWJv9L%R@6Vx|(q z?b!k@-=D>7-o>GA<$JCi>+897*8fsq6teqO5i*FQ(SS|qpU(lmzIY#h`RjM^%MY&7 zSPUT&>qH{jhHyZ6XC5>?sHSfwm_Zbo6KyS|?}$_m?foA?C6oYC9VpT;om|S{*2t6@ zsBN7+q;ABLY5OWEOAFbIcF$QL+2K1=j7+h0WmW05b>BcwCr%vNhZ6^f(A&mq-o5pZ z8_ydd<6BefCuyM1ENII^wvguPE3ncxvQv_-R}rT*olYlh$p*b)m(xJ$87Ul(K11o; z90tr(A`u~J0kX})gTHLn23^q!;goM?IxPo5`KU4$%i>GN&aF|U2W~iq|)A9xpMh;t&h20>c`;A2cJF$8C~k=staPH~!)$ui@YR>G$w&fATW^ z%^$vifA;bz9PUoqPDYYG(v^Iv)^r*?TG%)exN*Y0bd<77Tf!DIbT1usRn4b%Z>Qq5 zHwC=B2lzLy?ZyB6hcDxM&z-?ge-~P)TSsZPB$81?w2gX*;};cY@qw?D+nC04=Qt3p z!`HDl=T2}ofZ|YOcEMd!q}1EXS_F|rSgO@={`yT^zH<+=tGvdb>#=#yt{t0roZ(vv z4;4y84ude6E0Y9H9X*J_-cGc{BfRInc=1_GQ^hOcBnshHGGYv$=xyjs(VJo5R51rB zV?J#YelmK*=V(T!Z@V>>T<6)99PZp1#_vA-7(adUeS9=Bi>U%TM=*_QErEKCd9DUY z?0T9rrktsxd%1JbJHu2)X)PQ_FxiTFG=)k%f_$!wx#b-4r3#YiR&;jvqP4vfv3LtR zx#nCnIz*I)NBreFopo14LP6{r8em->LPv{R$c}dW+LMBdVVwjQgR25L3}%-Lm}8l% zT4|7VueZzo-mHFDCuXXMMS^Ha#u3&b8Wa81VdCc8?7gDjx zuvR=;4x-2rZj~pCxq^L?;03e1dt%jSb9w5O5`v|yO+!9$ImmgWk3zVzmOY*(~OB6|B_aC3y9jM4$Jip#AUw=T}%<`^(f*3qXSUiPeA1iy@aIk$rcg;kx2 zJLROfba&ou*I8x$BMHl+Uk0l!&wG~1q;UAaUYiZnk&KwLK<&8|{2JJ*CYosCVZin4 zjZpuQSdx6w7QAh#6w-+VdD?xBV`1#Cd)n{4?yON(xND8@`=U=8wQ>|vHp5_f)$6zZ zGj4!ckFAL&nrPy4;6#)I1&7V#r2b@|0rFBGjm9HG9eDom5S~BSk7xJw;He$$*pUt* zrTOfH$tON**V|>AJ${r_EN)P6^St-{rlP%!- z@EAV6cGGqgQ;F8$Y>6fwe>}(r_}U@%mBE-!0tfb_uxF?nT^SmmwLC)AoZj;y6s+4Z z87QJ7lt)Lnj6h)twSsoQcW*fLy-%R7H~X}-w8f$s?c0OAZd%d0NYWc!O$XO8ABkWk z9KsZ%`e3|(|8Z#oKYiy0KDauH`Naa6pQ(nm7HNh5%KTkoF8H)MybNt`+dt*rbq-xu zmmvize3rkNj%9#hmzT0wT4b51aHe8W8mKAscV>`|1}Gp{4^(iq_o-O9Th2Kp>v zxmd#F?3~t+w8T|)`qVF#yZbtApmj#Q(s2fXp0KIN zHP$nEC|WNe9%9+jE$Hd)LT68(eIBw{pb%WnW3{05Dp{S&5{a5_W%AD}uzxg? z{Awh--o(RzU%L;Yb?}!OIKW1wj_+JTYQ-?yF=!)*Pij{wb=n+Gi--4faC>$K@RM^r z_~U1e;SWw7z`5N$7>Wmwu4K_dO3^loS4#+2X+znrVQ#GRwNw3W)Lz%mlryF1lk&-s zMj8thg0N_KU#tC=!pIk5xH(q9`K#j?n=aWli_$-Zjpc6QafUeJp~Kjd{HpJ)v;t^v zE3kiOKL)!qWau0MrBy@%Rr}UGR4=0?P(*j6jGb+9oI0=z10AhvoyVA8p8`~=qKR}) z)-?WYpv}-VbsISd^!<2_7mRe1`O1-QE&@M2Ka9V8^CtfB!aXdNV>IBj_@LCyI%+g5 zt8xI?^dWTzDV==KoCZ=;NwyFoBbLKJj*V)8mRgnxkc#|GW3*PRU_qY(Oid%Zw7@|i zh66hXST89W##Jk0EEeZkh(is|`SYNJeS{zcHb3+H^ zHPyXzW8dgw4sGGR>yyB(#X6|(+9v^S)_}wa|EUP>k9{_h}kODFwA*o!Lur&9N8RJSmU#((lVG-AF-$q%@DpYIa3G#;4P~cBJ-3UI)ghB|! zqGlvWUEkFK9No9WKHISS%(FQsl&&sN@@iH>fcz6>TV@hboIY_B$B!RFduKPM7FRI6 zl&27^GWj4%Nrx0qo_X;ErB2gCzl>A6`Z=7kMMP~)IpjKq)+MX*$<6C%T?4?=g=Ei#@Y5VUfbV+p|l&y>c&7W9s`TGMw`%h>+|UI z@MWH9;z`E3GQ3GG_P{<$K9%elY^R)Ti`X_~LG}hYq_tS9h4lp@sgbSCIl%w^HQ&_N z??$QxqX;KDFuMZW8JWilyW@Iqw2{i4Hqk^A+k?6u``-q#f37#Jk%jZaZ;$N3#|gdw zB9wLMJ(6i!O$;~^t&y;y?3<~Hhl;JL+^6-%RjX;NPz(B`Mb4??dv_Gx zLNKUioTxq3{_UjW)Xjc$B87kRhbQpw{_GENa;OWfHR^Mv9MZC*Xd6YS=i2t09OvxS zoOd*5f%JPF8!~75ITP{wpL^k^d+z9y{jnFI%yTeh4ukvCbzHqOkE^#QF}qkbO|^+9 z3*y*^4&yEIYJn#*jFjm9oxM1+X8_%)5K$ab@p95dk`tKZ$#-_okQL-nO*mJ@wZn?_}~8a1N`E`UEElt zeIIE@DL~`Ct_AKieVxzK;HqouEF;FsYc3+|(xeE}Qm@u^rY5I?7AEl>h?*`Wj~|W3 z5UE@&Vqt0=Q}?c;vOI%7eEDg7|JhSGx@QOp^+S7Yua2r|<4Qv{M+2J{_UQOHK0JR3 z?_YLxsw8VRFC zukAO(3-80C@klYJX<%oxC8jcASJ!f9z7_2@AjMqMe6yu8rso#0nq!H~CZ^b_xcz5+ zk?NPv&k1dMd&8$S|Fvb{?Hj|md+R1DeAf9?J)uX0Shxt=FB+(zD;>p=UA=he+zE3U zOifJS`i&d5MuC0wA7<`p?7N3)Y_R=m)e`EO{!sTnrD=r9I*Fzy0Sw#t&aOgZ+IO47Ntl5w9a1uA-C2r}y{a`$q?{ua$jM z#o)7A0CFt>KSI*R95m6yH-iQiT$3g~-0C5q%&DNKEslY%4C3m3CSl|ZbzHl#|E|Yi zSNYSw>wfb>14$lNDczQGb&Sm{f|4 ztP}<@A0$duR}64-DYg?l8I;PH)iFNqphxIF`ROm50VxUDJBjSkqzS zug1>c;t?~OfyqA?ZWZvm3peoQg=-j}U&RWov?_Z@z@`i7t+?~HIZ_NlV+vkg0x^((-&L(`P%j`!w0a*JnNAh^e_@*ImtGn{4c&&)14(_5Mn?NWLMl}@SJvn1sd@6@e zg36<<&901;@aDxkc<1t6T)jVITOexP0p&>TW`;zyh(w@_9UUz=vwslJAKQf!M-HM` zDr01P3d5u0OiSwzFm~ogpCHt0Y{y6tnRvwW)=Ky~FRhhTd|_waECzSg!9R7L5kAK_ z`E0FHvb8e`r2^)cm!NGUBe68n?b?L_*5>Lj+Ac}oWUq6${>lrj7TC!5I`ivAJg&Ps zigYi=KUx^Fr!$I1?P_K z!;bc#t<3EObA9^@;$gL&AFu0muIIVmB>TZX{9g}7FuhvE-Kizat>jT=r;^H4wSK7i zKax4>>yq>8CH|vM(pXf2uB{7xgPf|mRxTBhs^_q~CyhSVT{<1!)K`6KqKPL1>K%e+ zYrb=J7MF&nu~O86&oo8UPpq#r9JkpA)bDKEV$c?SCKwOmxiiNx&>7nBNn&GcpC9XY z0}rZ)X8nA#XynVy=j-I(5gN}w3x2QDxU?RFbUh8z`dmfpPGwSU)K&STN`t+er(Rof z_5;T`jd$y$loh8J6Z@(=(_e1{^b_%q26tb7<=U`S%xF8FSs!Y%{!|c0cXZ(J z&R(RGZWfB#aRVM!C42EcREL3IQFdg>{NI{hL%j+uEiGtG#L%0G;rOgRslUefD3cD>kkl_M5qRhfZKBQmJ90~~{Y7F1p%29yz|RS`xOfe&vi;5Q#$ z!+TeUaerpn49s$!rX?FX5OULl)}AH#e;vGYQ#j=;ptTjy+vyS;xrj6~-%lg#-2PqI z(V0OqRKddHyuD?vhFjRt3uq7KaI`0erw{GGYiEXVY)6C!T`LF82(sB#Gh~bG@g*6Y zssU4M1GeY?ayEyVnQ7b|zRx}zK_~08FB3+b*-~98cM9FeSYqrlvv_B|j-USiB8KOs zNS6_g(2&HZG`Ebrweny{RzH9NL9rhk9(wvNfgHt9U(PegK~PX(=}S*20Rn zskGl1U%+xjGd9-CA%}qsc`XZ257bbpQl&3uacuV>c6PT@0S}ll?Q-Vemr0~+dK-Ul zJcoaL>qGqVz00_8cLvidWmIg-#0c}ITrfNheK`xXCC$0RyYTus^4p0W*u5iwT&V^3 zC+9IbKEVRGg#aT=Af{OrEbu^g8wR^O$d4t|HFKd_X5vg;MPOO{F9`k8JA=Yb?cBD< zWE+O$*(H@LMGIOF1+i4fl5!}P%ZMkt*cMUSi9&-wgmI{@9ha-T%A0<9^=E(mn$giG zwX~jbhEZ7QiigPCF{Z19GI#W~;K2Sa^mPrPwz}}%gbali`fpb!zi6)*r`0~E# zFnF}kST{a3@y%m%{Wt#huWkOdEpS|Ny^rG)AJrHmYe=!^yd?^Bb;Z%wJz(2|qnyWT zzJS$2$(-WS9BpFsr^Yw$m)Bo)*B|fg=m+-CNiJRQ2Mt<{qtfYv4W;6xq*wUH19uBq-f}Z*N-dYm-yfNZNw1(Q)8oe!h&`_l9xl+AWODtzfA_qaYM_Zw@_pVi3D`4C1wyp2Lez zpTW_+ofzz(@yuXn4utUZ;T<^GmqD_!ge2Q0Ra-%OsDSUCJ%oS#$FJcpe*7#>?CeB$ zqK-r@Z!<5#n(oDVQ#oAV20Q~T7@?sTiK8gzQ7nafS`6{x zb^Oh*-oZyV7ck30s~#m38sk=-R!FJ`L3QE2!fvb;|J=W>rErF zfY+bt#lQZOy9@_igXxCe2*zW>~D{N%M~@X}L9Irdc%tx;F4l{f~L zOlQ^0Gv9i0qu_cD^=oUam&Dgc*B2FME`njyXglR=VceZuz}=B7mhHJFo)kRvPZE5r zvzjx4WDIH6Kr%w5E*3a5z@qzu}hc|NCQnq zu+9U#uDC>cR>raxI=nSi!dsW_;P)49;_|&IdmEk8RQUjnHyL#G;D)#Co8dl9SSL;Q zvHfq9s8*g27BJKr#Y;!_;-7!-1)SWSLJxa#cSk#R4ffD@ESj;oJ5|LWp524jPVUD3 zT|G84V1?G;<&ivob^aD^j4vWzEFnRIJC%&_7`8WK^-|V4f0UF&0i85pUpjplXOHg1 zU}xMGmlRg1AK$z`iAid)3&jvt>tQSvfT`swu8c3^cP#&cwv13MvK+OlGkkR}_n%^Ec`IEY3+#I(br7lDWZbUi>lj@s;lt~rX3R^>`K>GySW8OU zGpu(x3^WHJ&GL42cOX5Ov`xXR>HV21dsM%tTWeTfRHtzUh0k>yzn5)DQ zh{T|^A~bU%5sxF4PNB0sV~&?{b_uz~Y3%Cl!Orfm+qQ<%HWh2(c@e9#V@L!_*xQrB zD^DH9%cl?F?7krOcT*t8k|?e&VRdN%xqKeQa+SFcGcCRKcjZ#P^o6rI5?C;Egosag zR|U0&)q)hVHkFGZc`ol{iGNmC3p~ooh$6u}Cz&}J_ZkrNyzYp^YPP*4({gJ-FiHt+ zt5MafU&p#evU`@iyURTIA+&Ik>LAHunkOynlX~N9VayT6n}m1xM&PIQO{V!cpgF@p zXpDL5RK(-z6D4xEmL$1#cLeh*Irq64JCMc(bxt?WK)pcmNMh+J(K-~@X6P-A)-q8a zkrGxetYX*DAO?Fo(9J%i7&S)8xvHnt<+q5Yi6$O9_`Rb!!=Q;KzCo-pdjt2o|0Fj` ziOhMx4wGqVMXJ3M@l+d1l^P1!6_g5jhEWgJgEI8_OQfsb(e+!upSyEA=(PhV5mEdgF|V1`THb8^(4)q`ANdp0Kc-<*~^g%tFQ58Sc$~swh}1s z>b~CyA{j`6Dp}Wyys)yGx9|Hyv>d~H(0@j6e(b35`p1Wqwtg>BalAWS#G4myl5XMR z?FmfL0L|B>(KShB;!x3=htf$M5-$^;A=Rye-J->>KOj$ zTsJytjMDx^M>>GLgJ~paD0al^IM^A+_s{IZ$sO&ypRklhW|_Y$_wje{T*bY)92L<# zV!;YpqG7}$G^RsRP-!&R3W(H7jHgB>>c$UWJd0C@x@-*t>G^VwOfKZ``*%OY?a?WW z&MaYOxy1Na`J03My%}7-JB6&aMPb6KH5s9*WZz-nBN?dR&`>wd9@&F^{RwL;zj5>_ zfq{=SIt&B_k;9-=4P$DxjyFHPiKVhXxts^beCTA4#lIm_x9^7_9fpvkvdC!xj)G!ZLjRV|2I zzKUh?b}^qL;|Gw*v?HE$P6I)+V^pWAK{;;3qm)Tjry<6tzLKvnepZR^K%*cn4-Pd{?SI#!n#vAnpzDD;5H zv^=lhYCLqhfE()@WAo2-bYyYJUefq!@#uN=P{zPp=~N4L^`vofPdgI+<4-6g4>i^| z9R^@A5sX_SQ_9hWHiy?e8z*`p7I6*@+4?t~7Psj6FipxMPjVw6r}Y=*8{d+YBw( z7p3)9(H^MP73^t^;m=-q7B8RN0rpoK_zJ|bkd%`h{cSk7b0>E9v|{f-2Mypb4abO0 zy?^h@7~VL48}HtnK&~Fc{K5hzrlwIS(=d)Dk!o#6XGaGrr6RLdMNcMym!Cd`b0_v= zAfxxv&cU)ktMcZ(8T_}O{R-!=-Nlu=Ey%joE6M^9G=x-(If zYczNne>l#k5-qqhQ^jAe8S$DSqPnv3dt|9oC@_HPA-j^r%+wSnncsLKg=nk|QSB$spsG{N z?9e9;Q9c$3xE&_U^~U@9ghN}rjn3wgtwm5|e)XnP+^w8hr3-d&=NfAKi3G}tjy`R` zr!G7^_(^?(Nj?^6It;!TG^B(hL5xo>*cvqxOGRE_hh}-#hif{IWD122DI#c#?YA zW;AfU^)V@b9`U+LzF9(vG;XI->^q5Wl-Nhd$H(o(pl10R@p-q75A|~Euik^7f*+$J z{c|rEmA*%ci~oWg@KVV*_H?!2bIZZ(!B+&7OHE{`KVO* z6eCb&udb}(qfc(&r@wg@fBW_|TwegD^1NQE)5eS0n_9iC57S8X_bj!Pl>v{|y>hy+ z5dl6|udHx@E91oO9{j5xy@nSL>_R^+OfA^RESSP5Q&`Z;#=|=p-UE6qy^8!zonaotQ0!ac61?*M}!@cWl}g^Xus8$DaKMarnql8pm#H zK{*{n`j&P!=ZxnmGV$nA1-ECiq&$WftC%a)QJ{rc^JZjhES7$VMJW`l%oG5rw5@fZ ztuYloMvYht^KAvyUSm6Ik;Imk80$dsQq;Hup%f^#s8vf*H>I3LbET$*0IRq?Ifsk4 zMsRO-6_YDfER>_j2GbZ>EMaD~Y;W2ldL>S%Zrjtqp?$lsXXgMinw?NCVPRnr(=&5e zTwZ11IBGPoG^=8z62|rMMO+-7!z3fp!ihqH?6`Ml4^AK7hoc8~qBFy5%)hlG@2ivc zcZ6~F*na%!k6y>Yy}KwJHKE^X(dx>|=xWc5bxq=^(b})cNMYf1$HJQDfH&7DU|VLE zS$X+-7~{)j{I_4di@*Qfhj{^Vu?H7gvy_{h@`-w>F!bc-$cC=HbEkj(^M* zCGy!=a181g-%Ya?DTLswa{g2EdEoaK=kSXUZ{SxSkKlJV=kbe+_wnJ4QH)Q`BA?6C z*m6(nIW5vBr@`FpEG}QUg5SOQHh%lTWqdrI!*nTyT(}MOXp3#}r#JQHFd%86I_1hz zrR5}>&LY&oj$(bk3=RS2JXp(OSAPmGojQnDj_k#L8t_`cP-dCp(X*;-eZe1NI+;KL z?a2_r-s}hM+Hh|M7@o^wj-5@;0?j%=L|%tBDy1zbmcv*n)UcSZAX}=V$SmfHC5()Y z;^xg6+!?FcVtLD~&^aEbRw`JkMzB<42d>62RS02{G+T}#Thk_w5*v;1e#v-csay-N zeJEHaCMIz8>Q!94IE7oc7cn}%jOAs0_+UYdbWjXATHmt^SqzUa;L?pTynp@o(i!^-v zx-&P6^&zd}aCLYVzj*f&-nuf%esUi_yD);^Tq?2M*K1om?GHMe;jXy6yU-cGb-Qnpp7tQG2j=*rV%bcyNkN(Lau`O z?xMCkmfv}%7Hhb8a|FM5?_>P>!VO#+&tjPdCqi+=;$g&Tjy zau!%`vJ4r&>$v6sakig2WCD5gC2M%?!AF){k7Dlgw8PMV+YTCwu&+B`0 zZG|Z4t@A1kx{T8S^|cqqdfS611|{ zXe^g)k-yowS&YsuVPtNF@n_AEFwot~Y$=>QVeNH$x_}GAbNKM)xEZ^@{pcFrzH%Sa z*&2%a-d|;QRmf-T7ypHLP0j-4ProVpXq=lDNp2T;DQjh0uOgXDqOGF~v2+Gwi)DOr zZw7CFavT5n-ep|AKZB9kWvr}bS%+npj*N4C=wF}~U&=DMGTK|BY@-solR@n3$zVr& z3Yk!qbtEHS)3cN=!N=6b+71!b3i+kTHemaP14xmT;;A%pIbd#P2Bl(|b)wv|9@*v< z@=`^MVcPf7icp#Hi1FE0i#*rSKGg7j$D&dDoTgALp;D_^S+s?wc8>@rGKi$ph{u97 zgjDANn;kLDdb&Le{OZFS_}kx~$5gh0nUy@|mY1^l1Ee1y}i2Lyv!OwQ{lY}O|PWXJa75u)lnS}M8B{Xu#lgA}0 ziC@yq&^?Vce#!lFnIP&v+Gp=*7W_0Q}#K*J6G;ux==@v3|^&TR;Dq#K;wFPF^gcL6^T?kjY$sMjA&{J zIDh#*e)+*={O04^xJ|=ySsTg4GR`SLg|S+pf#U}b5$O@U+p0L#EhL_t&z`F!3O(JIALLNujT#=aI=%$F)yTrFaB zW*Ij}XL0%NIEH6S7@k?e*!&8nST_agG37cdMGNyO8pXx@%OH14?p2r{DLPtDK<)y) zfg_Wu{6VS#OsiNbVWm*Q=u!daZ;#``tr1%p{OF#3wArWostNb$$j{!ti~su8Rs8a! zoA_jS7I$W{<}A=#b6en#nXo)q8EWQ4kxxYA+Fpv6lzFP+tf!zlOo&1!N{YqN**9Pd z4PGCa!y6x5rICCUA6y^B{e?VcS1ZV|PBgV&=`a!dZ(v)5S2>RO+c>ef4yn5yU zj_>Y8Z#qa}8bpZYAbS}vt`VPChZP%#!s@(bUMrJrBKBEEGS-TCG>*y1X_U&&Sr8^8 zmc(a@K@VCV@baU$SV}n|D5iPzz9_TC;eS?wnp`_?$f=|{Tgq2(Z*mSZ+U6rYfS!Kk z!{u+X3|yZ9{?k8P#9No|VX7F!YAwWe7k^~2w6KVBSuPl@n9DfXUbeWQ(r_)pWE&Z^ zAp8-}0cw~+KBji$q3`%wCRACWxP`YF@P1>C)NkD`x?68T=Gcg(JSs)x47HLp2Y z?SZGZjtHN%bxHzSgC@#43fpH;xqJ@Cj_pNf+9_%p*o7@(ZsM_lB(ek~TTyy~U2{;o z+C0fRl@*Q)1}~^cVLeV;yDXm6aSa=OJlaqhgr>uwiLVPjPc_27=5#{BYiu2?PbmO( zCdpvKn(W@p6^}ocd{)VP^2a)#{A<$lMCwDW)ctz3$~TRq)#WA3&CStHiK0e5v#ghL ze8_axMkpfpXAN#d^v6Y#cUzKCpLNHB73}MZ*$!`;V|g+lHWUXo9R^>_<{#zg1=d)LFVR#0^IbbE)idrPa4xwtMip*AAQ?1z`>LfOO+=w?tg8fz) zcP@i6BEy@;SeSyUx1${|9^HvQI=c_&1`|{g<5W&%;Cjyzjmmbzsf*H*p|MEgQja8) zQM9+G(BIRJ{=ROTp1z!~B43tqO{Ii+jYPCKpbAj8x6Xxn*cP~3sRXf5s9|y`XEOmN z7glKGR}gJUqa~d|Jf397jUgHi+roePJVLVv0yKaF0V+D|=&IB@3Bb_7>1)b=1m8r(4k4(t=b=3YioslR^uRVTLQRp(YlxxH++i z+tVu;U#eiP7_hA|yXTU!Q)_6*@!Dj}~wcN)(h+l>=L8T7XX zkz)2EUhC+uI-(Z4os2HnFC9nUm7Dtw$?%cSgb@aT?iqYZ9!WmjFm;;{o7Ui z?OS*7*3~iGTP$F)9$|Q?uyO*G*e_~WS*b8zEKMMaj`jq3!6{(c&B5)hz(O!<%AI9o zJu}}5{N%soY&>#kIt;cCzdlU9@?VktNDk;ZtWxsN+Z(Vjrh1b}!q3ItZKCt2uO@~1fUnhLNYJ^>5Bijol{*c-z zsQ*c=(#sX`fUS?E6FCpmPX%KR{jrnB9*rg0TvxiTs@dE}G)|e0N&Qp$ZH&ZjWqNm& zHq8CeG2|;X;;5)w-f!1`wb*wVaoP=gy5cyqe-M4`EjA-o zv+~??PZrb`;>V`L;A@9cZKSPHtyJ$F)177+=XFPh++kNwRjS*qK+rTQ8oiwmzlCgS)W> zx#kH|0f+_bh}R0}YYF11eSP@J3&(MKZx4D~X^cnpMx4R@s7PWMDWYrS{nkx8m=eNr z^IR+bCtG6Z>}^BuP#+d@5!{(r!g8)`3a;`Ji_x&w%m@>VVkJdHC5FFC6ap(WT9=ns zv6{`Bpp7Mxh{anFj>Zv*#Stc@Vj=Wo;^<@gxjg;FuC9~eX1=;Dt!K&p+ z0y!v!Sm`kB))oqb-5q%C^j@?^_>g%>fIRE>&Rh*QXY#l|Hpyok!&|4~bEw%@5lF_@5gh;!`RmW^pGu*ES78|SAwnK^NMwT z9a*Ld4f6o&M2kAc69JZ~mG#cNtu9dr(-;Z4y0Sq`PugJSNGhkuE%s;};qiuXgyRn$ z*V1K>D&s7biY)sAmS$&=i1%Q4d>-#zyNBO>bO}>StH_s`u0`jBzxX!9$jU1#sI4p_ zQdz{F{!X+dg3Px*Ymm{Sl;nf96Gz`N{46{IS$U+;bQo+O>-A7)$=Hvg8av_`8Jpl3 zk;e+h4sC$y6eNbU{^HkQ1JnmMU6aFBQcX|V3M-7YLr1uzuN@A<8y7MOu ze*O65%M;P3po^-LwVSM&c#NVdiK)3I%q?ZHlr1?2jJ=@RtO@f$>&xqKzx;7ge?8rU zx~;7VM;mERR}xPh7(~Au1{`~v4uf@Us?G<4y`F+0DXxX_IJi`?m$0&@XT@i$q!z}iDQS+(?5hrGKIx#5yKNR7#SYL z*w{F-t67UH%y{IGFt{pNgE>4XxHLT~QY({+h}H`%UmC}EP$6L$)wk8T*lN@B4+QJF z$~r8C5%@gINwHhz2YIu;8R;{oSj&~s`Rz4dHi zd@;l#VU$+qFn0GQW+z6GUtL9j;Wux!XwNp$#1jFZw*wrwX@GEq-QO3(u{{H5P07*X zRv{2Lv{PQFkJ`^|!AWIjJo+-a!tr4xyNVmP@8I454ngt0=%g*!YU`Oc`_@8~IHul!YYh?!22MV-pOxg>63>J&VgS8lZYNCnn9vb__TK{M`s(;a@ z#r>HIuG}x;laVT}PE>GtYz220fCb*OJ}6_Cq^-0)MM#f7aZsr=a{2VRrCd|&oQ!Fq zsMg8#;z^kA4ci8sNIs zI{E!bP6j~-xg~T@+ZRqQ0dJnaj(0BI25o)2&#S5gOp& znpv@3nWnm|vTo%))GP)$b~M34&<>d`$s}swBqrwPk!5{X%Vkf5dX54!N;JDbIri^Z zV=4ss&Y2#5Zd^MP{HcX9x5BBK0z&rDY7H z0yws>AJ3mY!aC?gYlM7aX)7&-RURG<_-)}In{a5(F!-X7RA8TFz3HnnP7{wZd}-(({YG1FINcFRl1tT=b3mlwTBK{<@L>ERk~U%EfS#16dM&z*aX+f? zYoj^CpoxbGzn!grvE#`3`qufY`1zY3;TP|IjCamo#>K0*u$U_$5lf)AJMPI?#}!X1 zZ}|1H6>W`%I}$gnACo?;(|Ah)<5SC+U&^MnaL2k0n^tyW^1 zT48_L-ufS5qrGr)Kh7N5iJ?x{5!85_VUN30gP*h?-fwW}3_@dAG2bWGZsN}HedO}m z$$=e_`O`m5%Xb~q@1*WMmq_0#$(+=?Go9-@c^S*77EvkYP|mNSlv`zSmYK*ZdfO5> zxFdlhJuKI*1X7787MAC+LgQKv2Ce*GF3|8T6|EjL6<7IO$(L~H{v7_xJ9GH|{Qe&P z<6Fb{kME4&KfgVJUtL%>XMu92Sq7Dg79rG{2yWMha;bzuK978M1sN*Uhj&JBl<6NH z0Cr@k9F$j(U6{tg{2X%nNWa9oml~$EAtG96P>u_g)~hkq%Z9dfb*Xyt@97O=f%P~t zGJ-2tCc)&b?!Afl_Sj~aGs56U%qJL^uG$@5QXKjbB_(;fvjcc)e-BE^g`l_`SSyjC3(oh*~c7guM2_$DhFhpf7fECu` za=DBg>sBjKR8>}5BKmA5q%}6GWyIL_>0k|=$sqO*wd2f@z1Y>?jrN$ETd-cXt>NGO zENY^OM;$WIC2w0I0qh;>!r?tb80v0Q&qKYU-Bj4y*nhSn{x#_6lm6NaFG*O1v)-!3 zLn*1KBrL9EasA#Hv`fzlEk|AVodpILNfVDW*htp4lJY(|e(*`EwT{w6s3jmrn&*$P z0x+@)jIYqp(Ihio7u=XHF3=OcOF_RCOA}2ru@%&BsKQ}-ehD{5rf~k&1U|YsZpX{i zLq}&{lgrHz6hq3F&(LDX zFpbDW3V}ohm2d*(P~46PYbFA_hYkD$556(B2L3kP(4F$8;&u#guWD&{ft@K@%VKv| z3!Xc=8!w&Ok9~bXv@km*O=<8o0uLMFC;Yg5wL=2Xr^e7K5lwR}=WF=j;$<4%<7Pk# z<}eWHhw|rje*dktj8Qw+n|Qrh=WjU<0z4OmX|zT|bwq=8v_yj#=*nP6Pb+#`>;n%( zSgjKyck%v*@8ar>s~8y_!SvKLW~OGavbca^ZWZNn(YE^=o1DcjKe&c}|Cc|<|LuQ& z6aW6N-^IWGZy)0S{?~8efBTzX;`eXAkJW4z^K8xIa9MJGXD+=C!Ms z85>4*m3d^^ZLEx)tzlbCQHs5q)tZ(S7G)F0qah@;g(fMY_NMXdJ5jt^S%ZH02EREI zbk4)%#UPEKFey>1A`_`&U%#9MJ88Y_qFQY)At+waz>rPBDm&3qU9Q@dtXrhS+L7$P80&(O*X=Hb` zB2PLfmG?+QGh&^LY~u09BiWAPMGd23>TYuN@u6-!dt@(8?HxpKTMMFb8jd88!Hs;! z0h!h}z}%Z3O%)X*i-C3DH}goJ>IEM2liZ4{tQrmMx}@oGu^J7*7Mwjagy)X$!R{XC zp;J^^anz5`i+uyUTXs~1YZ`l)S<$!izVe`Z`l)y6lUd;M?NQvHTEH?DPn#m^8OOHx zAOl+#nUW)!n3_qzcxqHaD*Aptk3gk_OoE1WrNC-hrGTg)7NDtF&LLDSV&ASobhf4K zEr}8@t&&P*GeApBQ#%fntD-u}l^XArP%IQ|;k|sZXj}bFX6qPT4H%7OgP7v)g}aMzM-({R54?D62hJQA!eCb`T4G^D$tGrA7%%c^Gd6r- z+i-3X>yINdSNPxZ$16rEuM(7}#m@OG@0ZvvTAzTGi$tx2R4tEWc@^i5?#9_;doa+M zHXdAqBC~Y-zw5ADO*HY?!_B^Oy~!y`2X}Yi(9RyDDEwLyG25;+s8826cY-zW#+s*D zvc>gPxoq7-uJ;N$(`=!YVhwjE7x2bA*D*ZKzRB*YJ}TMW#Nz_5eXY^f8%}L4DX#Iu zH~Tfa;QX~^{EuI~hyU<5Kf{0dyIaC}xXF_roghPl$qvkMZ;>o}x*_2{9WlRhmC-u-WKQYjS zpPW5{7xs2xAVq_=u*5rhZ&OC7UZeqD;?aGtE;UZlLvP#NwKA#5-+BWt7H0~^-RlOT z{`w4WP$tOm>KzHD(;che2j>pq)zkZNus>cKKWjmsI%q2< zi^-`EQaVQGvN(TZ1oviFv0SK8IhC`3&)FXtjeK6x(a620*1KnIXQBleRTnWDlASG4 z96zudPoFr9(}(uZ5N}0CJY>5PbhRdMVEU4i)B_zR9UpEdMng?GuA)&3$%IE}67T_=s+mM{4ni`(qSD~otQLp z$+@?Gn(80n028reIiPLT>KLC}#-$tgFgBY-mgSbhx7j;wb?rwcc&BpKs14<0v9?q= z-(e(T7R0k1ymYuHj^~c=#dA-cuw5F&j~eteO>1NPB4P7yqT#0aUEXRW%cN0xKX>eUf@?P@MB!tOW zp(_I%-`$I6P93&ITC42CWy!WJJA`BxNe({tTiqYLiTCXxM;Fbip`#RwL1Wt_i! z9XIa|V}5?wWTJKbtzeP5(rY4gKC!P(AWG${H*1#$?eat)RR6krzH}R#Q%Jb>-V0G`2etPsMKwZUjdFpz~ zmAxXPeh2ERg>nt~oLg{PFUj2Ooku0--##|BBhRdTH6}V6tCM5l&b}_}8tS8gZ?6xx z1%Irxkz|y`uMJ_35|k;Cm|5(r743JEslRt* z2mavb4jdV3M<`H~bl{y5!um#>hPMo6=O_>ht3ybvRC!-vN;L4?21okuH=%|j8=UOi zkwGmj*H}1!?sOC|XhZc6ZH?@e5?@VH9wTgmPdZb{Kfw`_|DiWpW$eaZveRdG6s4mJ#M*?1!Rjga~M>DF&<;K4ulMC zDZlPL9ickbXAeBu_+r;s=jM4E171Zzl$O zyRfIf3&-~i;8_~HFP%GumtQzx3ns?nGRv9wn)1N*3urR1|Bu(1o;=ZV6jYdhpYp8F z`D_u_?v7%3Y94cJh9V!(5VIM|@~4Q`HE$uzTC>ih3p&wJU|e$8B&#dvkC$<5R|?Ob zK8QU#2a#z>7)yn0pEW(y_+Z1)ERn6?M6{mLyonIxDC0nBPA4Wz$*e6aqv0@;VNK z;aRg^e0hACx?8L8N2lU_=_~zRdahv30_u0#(pCV>8cqGiEsot}oCkw-Bi)>k zNXoEs`#LhV2zlI_VX%Fe6l9E!+?BdH4C2uUVo`5fVY~BPguR}AVxWHb2tus4(VA&t zt?x+#uRnDZube}>;H6=1H$G)Y z&4F;U3&v&&xOsmDH%I1>uP1;=(!6&H>*r3#4a9rSZ4h8QAp}AZw6#QWpf`=zPG#^X zFD3A=e$MKTAm}#8>N|!7B~!+a#n{Tc_erD zMsW7P0DgRKKmOu}&*0zv)0gnS{P`K4ci@Ll0f)OY=uCtWjmSV|-2|m#u>IsTuo)Oi zeLX)ef6gOarvg`G3*Mbt!qu@w+?;jaooc$Ug>Ed~1K?tIvAg=`AN8cQqbqy3Rz+_d zIJ+D8vzN}|$WRZGA+2tzrx@6r20W^s1y57fYu(cJv#L~3&8Xefhtnr z8WJq!=|em4gXd4%LWjMrF+@1HRx1^@w{xsnL=AXws!cTUxWjR`SY9fTreY4X0Z$(u zz^R>W*p)0&&QTUog1U7?q>R$&XGnLhUh8*q*GJVCH}o3G9?4=O#u3yayg^JXtm2~^ z!}$3A99C?$mV=&@`YTd57Cq2c*u=L6zm=_>bisZ(hk^8KjoqWO1-x_V25wC+V^Mp< z2a~)WMJnBj_O^_37U%&Z@sTc&{4t=3CLT6S&k&J|P2cc2+9&b#I{aT7uYQ~G@@qPt za#cr#WyzOH$d-!M57+uqvr9byuHG73RT8Kr5l44-mn|snDzA~YLgRJsoa3Hp+vKYl zMVr`D!VYMgnGQHi9o z%KRyZzEbIwQb!V_S|Pv8xQd}T^3?!3Ta!4xqZK=nKo7(BFw78**TdbwGy76Fx4#=5 zyp|>b^F7|8Ng}$h2NKJcI-N9p;45lY-8F^z>o;ix+6{ z9!cR;AFxl;rdU-wne@|x8SH9Luo9%)*VrCzDL^eFs9*kEgN-mzhH^cOLM@DJJ&6x* z&ETCoD=4v86-!(#%LF#TFGFLDE)-MYiMIT)c40Lb(NM7cxM^^RKl*v^)dLay@r&p1 z{OOa3g(GNbNdXD}wG#u`d^#$jidcU>gZP(VqV*`pe%4lnR|-W$D>QmIZ1%K-@bcLs zc=g$ncEKV$!>OA?7Fcxd>$ zs`2ZHQpQufbri|ptU5C1E#;t3^>_+5r&jUXs}p$h$|z=w&d3y*>?X;HAn7A|yzBYN zgxbY3R|vL{){k*#7#=U;vJN=>dq-!S6_}k+6lsohh0CQtA zN%dlgc_mdVCFIIQEavm(m@S!JO`TcgXkrWa^`e$_(nxYG5(%QKs|#W3rVa{6GJR8{ zruTb|1pl~>AbChzD)x7_Vz93pX{wr%a7}!1xLM_ntR3v&UGu_xBWOrWobXscdDaly zO71(-5yKxH>ct-)9m28xF0{nc2t^XMM|~tzK`>BarItxFB5mptjmv;cW9KmNrJ(=j zUeIEK+TY%O@w_Wq!!rYE{Nz9vUftV^y|nG5I$DLXpJ}gPO`(?qK^#7Whwv|7*pEMdeh+?d zcAveW*31RfpE+5Wu5%VR(jt>~ZZ#r&b?eB2>X;JYk$Tkc_*p7{EU;nrXepwsKz7;j`?ZJ%K zuL?7Qy;G0YpnE#lx&Azka11UC8VRjN8)n}PvTp_? z@fFH9?AS>KRTfF{xk_;rqrZ~H{tN?~<3?Fu4ks~P4CCTN9&cQ@jq9T;Sjo%1>6A5_ zN$ZgxV-t@KT)VEfk?Rpvj+!+r($2bk^A&^n# zD{IJ=N|;+&#r>H%EELMl`AQkw#Aa-+6UQj}tM`3zE&R)I%LynSI)4y-8um$YwTRA4 z5?$>XvyrwA*~AxtISoFe-Z!8z=+{9F@W-*o2Fiaj9>dOoemr~TB+ee&kNtfav_-16 zvc8-K+OOUjhZ>9}1Svwi1qQ=fIK_s2!B+wU2vHa%f@NfoLtkhWdphEH{`66tIC>aE z1GHQTb*!pnln3=KwWF_WZwC^2PRUnEWM~JGD+e&OSi`03lNg&`K(@&Id5#1l9SA)o z@|^_!Cjz#$mvwYLS1q9>Qa2CZ&VgRmiBpbUOsW+=CBxXf&8io<8tODW-KwU0cMsy# z=T70ZXO804mrvu>m!8Lq&p(4qMh=&CtQXnK+-6YdxO$;^%lx)xGI;fsQ}~0|U%(H( z_cUIA^(0<-@fh~)>1De1gp1UR*lgxaq?Xb;l!N^l^mS#BrZkFi;Lv&kx^K_fU;Xfm zZz=W-WV=jgW(4nMb9qcm&EVQCU@51eQwrSHU81p+szsk~J`a{IkBWI0+34AW3H;!x z1K86RM0;R`*K-I5t7{W9)+)e1>S3Qe=#Kc#+Kdlsfy35t6}>G193JezbI11K-0^-4 zbgw_=v#qO{b!v>aiSH=HOa|kKwZoGD*ZUl~^NmoK>*?yiNy_=>P8~ykOAPU#Onr_Q zwoZj;UHyu1>J2e z=x&uO*Fk)tbH^XeR^Jk?a+>%m*j$IwC*`0D#8C^SQ3|(G{=|_bmoAaB3!x-R=D=F# zMWz`hTCQMjX%)9eCNZ^?M^5UkyW7NOG**mvzVVW)X@_mJ zyy*_)kvi=P+7qFA*>+{?%EZytnlcF|G^X)nqoJhK{S8l$c=y}$v4Mk+^3h*H@uuYYB%feX$YEig)o{C=4zQtd27?_vevsPq-<+>57A9YueCzZt1QiP1c0&8qFfx|bR3j+x}+T`tx!KD&$yS8if#W&yi=VC~KSa=9Gn1ipW|8!sL1$I;#x+Co}DVU^+7=8VV<(5?(yLG|U=naWtJ zln^6-_hlk@_Q+0r@7z&5f8qeTTipB z2oLH}RTi>JIjHY82L}gn^3VYsrd%0H29XJsD5uyr&8(-C)@&y85KvZ9@JfQL_x=Zw zOIr@!T)9SrvW)SiBHp?(jE{yFF_m`?1C2l;7pMPZ6ORfs>S}F^F!F4pinZBHA%H8R z3;4UYKE}uQ7qL*%=n_V?P(Zz07i{QnRd+_5|&S6h~ zHzK@VrNJ#xCx?J-tyn7|TFWECV~7L4+nPn7ibf%-MwLOC3{`QkKaE$94&bFz2e6~3 z1M#?Pa%+4=`IR|9%Bx~?oF(C=m9(dpa<+2+VwTojC<@yX+_$WKF5Hl|elRZP-%Y=w zAsnn*XVuOE{avkyM_ejK-m@0cW*1b~b{J3qt5@Drifhk^bla$5@Mc*5{(~V=<+rH-H!8lXo$!0Tq8F;-tZ(r136evQ-5N4^>I%+ zox+}hUc7Mh0QR=VkqOY~GZmUWC_t%T(_o#<3iBkypPF=_ix#hB$`&N(z7{|%2cuZ6 zMsRCt6>nV~!v|LvP++&WrrbnLJW60=YZ|w$jZ`xy|Gk+k-nx7jzyIVO?#`F6TH|1= z@6o7#1UU$4c7e7oZcoL~qH&LnD&7&xh@7N%=Z_t{OuMqUu}ME{Z2AgVd-|(I^PNFs zHGR6ubcN&z6X{LTZKMxeodEvxug38oe?Ef$^ba@ipMQP@fAgzPFgjZ`-N#@N`W*V{ z*uQDG{z5I?W*A7T^z+05Mq@UE>(1CTW~odU7+B#2)0=!fw~2LVZ1TpZ2jlbZ6Vkca z7S3T%L6U-QXJ3ao47%E!p08QidS~{;gDmFOHS&LdeLQD&0RQ>6%eTeN>V1zbl=%)0 z#z%JoKYH;n&K}-{ot-U6Qo)PV3J6wa=qcLxXC(W|%b-YuV$tU9-p9_2vO^Ua`l|2M#%;U9JOVyR-=fvpK$3%vP>MkqqY zYz_}GxQk1&UQdY>lkU0@+k=c=J*V(J9SI!X(S^)@T)8uf`wK-IQ1xDMvwYJNx+Zc@Zx5CaF%2KmH0A_<>jRf#yTW+-_#vD) zyx;bL*KQ9r=F76CKOX6t20YCKshLwj0c5mP5Uc0iX9znw@%+gHID4cQd;0-4y?uGD zv=ux`R#H8G5qwttHSz611FsEA#Mjn7WD*;ML^WT*^6oX_iDC%#FCNr4i7HL;_vGY~ZX@3P;KmgG_IKy;KYsfm{`NQT;~#$a0e=6%Czx5xHRv~M zG1{+h6Uu?*X3H4{{B66@gfY2X!u`1%=2tCh26`7 z?Tl*;A?j}3f>^zPws-(X_Y7f2Ppi$S_2d37)W1q-yk=)S_sZ;Q^Yd%;L69W0cu7r% z!B>DXF9WQXbb^0gf94pTJ$VQ{=@_C^@&c8-F|wx0XuH06G)h6ECpSVk|Z@*KG$sCHm#t-e5{6A*&tbSTSu^;kOF&}yx5)2s=x~q-^9rgBK zb+EFsf^xa+2@^%3@JiDUy$Os@&H{6KC=TYWQmHZyrxa@!z_Q%k3hMva2KlEN#=2TV zEN3^m5@95nUbxP()I5g)@5^bh71Z&3=Z8o_a%O%B?|pn7*T)uZU@bBMrD0Gs3d@78 z$-!fnNSo1+RU^Ub)_rTRc2SC>cBnYDKZYN?@-%ku7(z0U{8Xg&lWEr~71X@?_XTex z!1fMSaB@$dZJqd|m-b_z-8l+0xj=bUa$1~Iq&jKh@rK${{jugPq+$*^kEgy4h_}>N zt8z?jf|B_flX@iJx@M5_$nCR|p-uP{`{W-ze+2ff@6D!(AU=DEtc$J(Q5!5)t7v6 zztvdsC`0+xFyxNz#6NBuzCdXt!`g|5t<~+#zrU;S>p@koQDMCaHvW=C*Nc$%t}Wxu zkMH2h*b;6`tl;LvvKiUgYSU#}cILHR^j!_*m~jl1Jro4GRnNw(Yj=sMpC>dJs9dkbDUBQVx+?9$mD( zo;tQ4{T*>=MGSGzr(J(fCd6LaVbA9^`xM!#h;{iTE5LuOR?|ycX$W52UK^}6#Ww`; z%3}*vrZ3WDB<<-1UOasWfAs2eIJlz+J*^2E{!v6DA(Tob6lfee@n@}QXF?&nip9kx zEG%bn?ba|xr?mny2X}Ei!9GMq+MR!qDfACQKweSCQJ~R$YpRAj<1?6FEuv7@VoDKI z>QrK7Ra^eHVhJz*mJyE_EFP|-I~B%2TMXT;F{EQOqP-C7vG7bi-YrUpy1O^w*=d}mNz7eV+Ya(UZ zRmB<<532;FLKP+Qr5p=du+xMA@A+w{4nvU$LNR@&5?UJoQ?W449NvQ;zHk~Zo!JHL zG8t5U8Ke#5DHt~4FSc#3PK}oO~Lfd7=ZNMMo9C;U?V5rY&W{=-HWZ0!hCw3+A z^67(k?c6a8w8jyyl~AVnbua&_J{{QxgO!S3Rgb4 z37ou^L^aqUVDhvSOki|Ak9!ldn5H0=&TlfFvRX%bdGlSz7F8h0l*{L^w6whDF!;QN zw=hzask6qZn6s@PEUf8H5{&NW=T+n9!(^+Q z5iVMrEyMr*wY7@%j}H;*eUB~F7Bb{Ts;ka8aC}z?uRnbRubw@M0|OmMhPC>C6s1}S zg{lOL-r(zPfg)g65s~q=cfx$3jt_24;WyW&@$o3ILMiLD{hHH2!q@Os8;5ZfOEuiQ zGmN_<6IfU+Fpt_EQPZxJE(7?9Zv_*6Y(5?Be;uiK1Uq`#(chl384`ZuZrR9s+W;>kATpFN4Q z`+CvWN@Iums`9Jy_&lm4BjsxD~O*|4%Zf zBrEP0DYO5q)#^HV(QUvNiS|1HRfm(-9z6X)VoTg7o#y5pIgPPd!x8>Zy1F_!Q{JM z#MrFf?>yGHV*~UOFT1*mh50%1ixv>~1|X|q);Gy^X7kS1pi@R!t5$4W>+fpAk$t>l6`o@@t61 z;|N6)SSkf@{@xsZcK#lI`Qc5BOqHl3>fM6UV`v7K&8$A4Hu|DiXBoY5uOOE%;KuE{ z7#^R-a=wgmU28CFimX?l4b%YZv{rKc@TiVVOWX|To=n_6)o6qt%Ko~O#*2g##h(K2 z>#FbBG6mbP_TWY+d;?itN!3~%tGO~tau_f|zs=TYTd;w^bi@|AY)vNEc{J<6 zV`ocOq_i7V$bf~c=pT*eD9e-?CuC5!Z_s^ z&@L1j7k&P8JHctO$8`^76OT8X!=S=}moi0QHoM7hfhN9vh%4?))$qpUG5qwME4VkC zvu~zDk(l*AIe)ZHlG;@Z3MXS>^t7i)X~ebKp?%`xxZz2|8jp)ij(9qW-Qb@uQDi?( z{of3`T8`G+%M@}azIYZ0&l$a0q%^=AX{)sShbj^9IBx`lfvHJF|<(T zZG>uji$?fX;p@B}pE)_jU3`bp9-(6u3~O( z&YNMtFdX+C2Wc#_k&9$^4DQH!<(OE^YxkHM_6+so?8ze-Y^N>8W|HdQkA2@2Y$&e% zkX+n!{R=|2mtGEuG*erzA7nqdMVG%>cox><2MGaHn#N;ICDqJ7X<7P;ppCSz7x?}& z$MKU_&Y~{~qyySkv1E;B-$L<7Za31~?>rk~nHJq#zJkm5r}4Y<*YMV*8&nh)Z5IQ| zqqW%#emf}&HJU2XKkAxAEhwxsKOP&eXR85>X9KuBlf#w!Gnigsz9I>8WLW&9wM6W= z7UMc(8ESBr2ZKsVq+UixOAH5h4Imk=qg<(>RMIjx4jW@w&rPEc@DpuJ-obm?9`j?` z7{Z5t)sMp&G0tI-D-`s(*;*NW+CH4%3UZi}fvgQII#UTG!rI|Mf{yLU3b%N9e@o&s zo3Du<0?`C!R|>dtcLaCGr+HqtH71;@=X|afb`$w=_^>K+r)x(+Uzlk1-W8UAp$NQp z=@u?tAHl*3najAAZOJfhoe0+|uCz2P3M)Wy1#Qt9&g>t+56&IND`$GpPR7@F*KBsv zNfnFgWi3yZfySI}%u^GOAJo1YK-8j=fv)$ix9^u}VfUo|dU32V@TT8SJk;AMqgG~6 z&*jkH3cP$~0MDP;hr`r@x|1P9gA!m`i9i!%oiomN0{BLwZ#eo+?Ts>a9eOX5t4FX@ ziQxL!0)G12kMPOxEXMGb5J)r(AY43XccLl0D@`b%HU9T7ErHlMCx00tVq~7dm#r{d(H{vB71?mNobEuU# zP-TJKB6`wM9NyW3LpxiIk1PdNtiJg3AA8c_s)p^KV{v-{1pnMm>LFsCYaT;1){VC6)9gPns;G^c_0fSKUOzF2e{yao&h-V*70FT8 zBZDg-1*sOYiYCb35k3)A<4TCskS*qLcX|##d+!tc^3q*gpIAhN_tfAiovQhlQ#KK#;p5!nxTwc4hqyqw%&Ezn2Qil{%J|mu(uf z%oD+>R1bzzkbQE$rC1e8WmM$gaM9SoJ9PcOr)iEz@akxa1Dl8lC8NO4$b z;m`hd;He`$c=hSsIKC^5{&)?^;wl0wiwMdgTdN{iD1BWLXCJb8|a}z zRi>(xYWF+<2|yY18vbNWizjv43=qFJG?zX)HEw#f@BcjOQeU@IUw=}e)?05={^fY1HCL+oJX?Iit7D5*+?dW|bTMywFz=9f z(>GcKi-5m9!zNhQPB29zq7@8w#PQs*-8iwU6WvMYc#<>09O^oM!l5#XYULW{=jQBF z7?s?dsH`&8qLXKmYhK`Oz``m5^;91799yOqm&}Rn;$d58%V%*gm);7}Wm3?z}zYiWNz2Lso1w58*-S5Xv;0zqnVAS8|qJLKOMc_Yv+Un6?H*eTmXJ|dj-R* zVJuZ+WP+G^NG%|l!&u9h#e48mU|1<4%u|Sp>OfnFxXT) zhFOuCUD8j(dCy=E`nprRS74QunXDWJAwI$YF8R+SdF+Z*ZgQmgdLQ){)Yw8!&5@`ualtG89e~kdcybx+0k-@67m7M1UzMQoAd1(AnnE_i<{$Em;fBm+1+)Q%TV?8DK)Hl*1cnrSDS$n+9>=DUFk4f^@{Ipp)Q zL;PAN8P5_8_RzM#NSu4i*`&E*3Db+qSk?L?x*yOeMI(h{j9G}HyyYc#Sr}6!#kKt%v5|Pp@0>u^fi7F~IhS}15kOD^}?M#jVlHRHhkKD(N zn>R5zr3FDW_%l+%ctFBR1ErD9bs5A?Jv?Nr?^!=a>a-?)}+pS zY5*TxSXjXM^XKuwhaX~Yeu;)zo$ao5HKH^eqNoNF2!`W`MPtaXE~A`XM68;p050Ox zzCrxtm2>#>A05X)M*<0Ez&^uqu^W`4^0yHW$WIfG8Q6XjB5dGdSw?*gJeZVlciqtR zW#FE2!;<1FmMfT^okyWmApaIj(Qd*e`vdEm@r8&)vOk_{nQ$ZTEy@ zLv83u0Ev15;cCGYB-M{O15A~2vj*hybCst*uC3OT2#+XUjkMUU90zh7zklr>{>#tb z!rNDdF~#Aj7Uk1=ZKDov@sa#)?V@es3qq~yld99Cc_hU;jzHVEPf(No;OZED@zzHe zo?O66k>eo8X|<{K2^;TO`8I&LF&&F1p*=tB9U z=&^BfF0Fs|I2#OyM48OnCe#I3TLjj^ySjbS>(}a&fAZAJmR9q~OLsD3zX3K*sBS&^X1_ll7K-hp&rl2OzpI53 zma;|UC382`?1uCn61?8_WI@$v9fLKfZ^C2o820QO!fR)b;9tCY3eOC-pew?zp=tKf zxP=W>spioLmr5Xt)XG%dO4vz7ara;^S~Dq&C*-w}F$oocS}=|}6+KIIGqLwb_cX~Q zu#qLWMn>}(9v;TBruu7M5Mlh|cWhHIeQE?*%?l%^hRrTuCr-se*wx>K!M-jV5Y|_O zU4LHDJLpXJJ;vPtcf~h^^|aPPknvD!9Fd5|Uv|z1bu{uiMPnGfz04PjwnmNO*80)` ztC-Ds_-sgytv%tL^meAPcc2%2?HRNtlj>c_WwXqP0yEHN+6-M*o$(%vi{)Gqx9?Bj z=J1#;P^f{%wUPz3`iZf0Q5$~TH9_TdUpD&#ng{Y#g1pn!(MCnG9mxdwi0P@0@tAs%&wqZ4e-T)B@cKoa@=T7bso4eO%KBE0l8_3S&u33E|5(|i ze9B>Ethkjbhv`(qbH%PUVE#vi_L0#6<6$52NcX^tbBWgu0m#Ic}c`|>AI z*0^Af;Puww505?#OP}&e@o2Z6PsW$=-+y-=zj*f&F5k_W46+Gmt~*_-DCL#nfUJ%lVRX82F{J zBy{vkC)zIjup7s!t#iEf)$bfwWfC!}4PPdRmnV4P{LL!fq0xMMatS#$nrbx`q;4CK z!B<9GDu%({P7L&PAS%(v=LFXZ`s>rTkBzxdNt9bJ$CR6P-}GkI0d*+bLOm44^^qC; z{N2lV^Li0uRKE2_U3H`ybRjNXh-1FhOc&CI2siP%=!@K(N;<;03r*f*gG zTwKKpWuj)FdF*K1>Yw>zfq!K?kZq#HsP)2iDOFXOADmfxSBri$>N2vq%kO!kHIKyj~`0HmgC$EvU=~HKlQEasm^RleSZW z{7`O@42Dr>HZJ2epW6hx>EKw6k$8eY+ctHzwP5!^H~PCX#*QvQA1=Oi61)t326WfT z$Uh}p+{rE*)?(Ts3SW7(FwD2p8{7{Ka= zi=&J9z21^txQvf)EnsG;Vzb^fqsTyNVT|6A2rKQhK>5E!u#!{ zCw*#!?)zcB-ZuSuW0k`|)7!O3@JgZLZ3C)WY%JC0(rpjQp+8=ElcKkX>gy@TlLQR| zsuj&(T_9Z^0e=0#63lSFT4EBJqH#^T1R_S^K)fS(iV zOXi4Mzp`eX5w5SfiSuI%IlOmc96x>g6Wp2xmUv%vq^IRH3CW1IntM{Avav_mX95~A zoW7bR4KD(}y)=xG`GU=CtA(VKItyYAR>dw3`$X0p24!;?9N5{1vq$&i(C&<_p=Dyg z!0>v`Yo3PF#~yAW;|5;y#&yZS6$-|=WjE_eGYlMb^v}h0o8{!^fWg#nl}@QlTO?n? z0_AS5s9E3Z4g+B=B|o``0OkI%$L6ZnZxu|{sp(mMA=A8Yu)iJu<}kmoNFh&UBdBd(920Hb&VFPfCklg9b~Ft(5R_vhgq_{3*wxp8 zZW_*CtU>)u`o~X0pCri8cMGifyy)j=Yc!U_|BlgplAw-cW_$y-F7@Za%YvRxQAh7@ zOJa9V2U6hx60Fx`Bw`LD7ove4kZldPx>uu;C&4+xj(=x-7B}xtQ7LlDxgU!&)F@zW zQdY#icNHJ_qyfob)8v$9kP2iF2llk#*;7Yw?$|yIwa3v$K1=Xvtw8~j7LjQUS1_P8 z3l8qY4_`csSI+Ig?#=-CII2|6YRrhTDlzeZqI?S54cEk@3GtlxFJBE~nIn@t*?C@& zLbN`c#kI0imA+`3YtWN}AVhu++tkEdHHbppP2coo-gkkI{5~$IRz(^|q)=;7unari zzJWNt_sk)@cxpe6@9x21TMVgS3DJ510V?9wS^>Z2Jd*q*`3i?4-r54ea2SC|*cM^E zNTc=dKe~m#dHXUxxW9yZ`4Cpv5E^6ryjnaDh^vXMp;-cw-I_%rnLSM*er2qP-(9?o zzkTCxqUq%lR;eUQ24VB8Mk%?JPm)beB5f0VT(cRg`W~G}8$Z1$9rUA-zT;pO zNWw_xkRGCiI`7N_?|(9e-@JPP6Z5OK1!y2b=|x^PMMwMQSBvQDNTa*8#THMNjQh01 z!2k6H+V2s7W^YEQ|A~KAIaUr&E#a4MU%>gB(`F>=&ARH!eR@V7rA{i|elo$fv$uAV zTa;z>sFi(U3Hao08Sh-UhQ(YNk$8*o$3{nt#x0T7>7iy&=NLz+nG9CYl?dVKqkHk( z@qYBS%K1XJqCsn)N{h$L@eo)WLlvVR>*I>`aeJLtbS}G4>p?7*0+?AXgVo9LMY7M8 zc+Il2dSPwY*s(oWy_s>sKF+3Cr42Bg){rR?)#krO5mJFyKr1#~xO(9{JF@ z&#>$+Mxja-JJJEXc47$s@|9Eg(dqrz)!u>_g-n8KL8g|+nW1+4$%|+3r>~vFk)18* zU|(vnHwKJ=P`qjssfKa_XeHVi>WK2}%5$gB4pzuTS>BV{=nM04-u#ERF5}MFq)pE+ zm2}6kleQfcgE=N^D1|Z0`ZYHUOMR(OK`qWu5s>uJ5gFbD(Sxx*OG2H@#Z|58Yfm@GIe}y+jak@8jcB;8r1hpvNKx*~ z0N+2*jc}!eYCeYm^J}UK!)>O z0V$g+B=Nxv8(v!`<|H$Dtya}q7+x89kkP+yAdG+dqf>bOnG-m+qXQk03KF#(f|V>% zfg*NvB=GW?LwNn!lX&V-H!_sF5(zR`(upwQWMYY8MJf2lMl=-5NbrwMJbqALk*rzZ zs3e{o9-qPDYQcC=Z={{WKyB-ag!xrBBgn0S z{$%4pHKv*ssn2QrP+v?2Yv@S>-+%5fe*E%Tym;y$c6XY<&oOO+KxmqL;0on zn)ocJekJE!JyRZsH9rg(<>37OjTQX-olo%F3pX&bP{2|}3sc5W4@!v+bF5+O+oy*d zY;-P#nEj_NXMsiy9chH^8tg?+SBKXlpB(sgXXh-scJRM5xoFPIV1%QSDZ;#I-#_a} zxn$0jFIW={FGEk$%JsRXbR;b?Ww+eH!-IP4cMEJ5$WF_#+U4}RHVXXxZ*Sp^_by^| zZq;TzX^kW;W~UirW)M=xi;(ko_jRJXHEA+Uux7J*CAlA@jkW&Bg4uL4b*a&kLL^hY zLM(qciTPpxfBlO$@t1#l2_M}kW1ccpYMnT`On$SOTTi4Ab@iYTtXKF*rJYGu?*c|>YOa~2G=C2dW(r;qHxo-XR843(w` zi0Ydx;~gE>`@PN{6E4~od|BvIk@dICzBjX4u^BDe-N=`Hs=~F!k5w-=ZhY|?5nroq zwC3H7d*c|LSy2i2y!Oem@ML_zj>bn?Gl!FQJyKA3aq0w^+xEPwZ3`l6qB10q%Lh+>9K?E zY>(o5PaVRcfp)ahB9*6D`TKmRG>vfSTV5nUgCPzyRHkN&_~7y#j4e{IRKtAA7bgOL z8FxCv!v-6b$NS~rerb!Ty?yOCw6m9kl(r0HU0O$K47&vyZ`quDKEtC1K0WQnAf3Ee z4&la~Q5sWJHkgkp!&KJZeE9fuJv->SyJu(m!$_;;5{3qLpu0PU4kl!2k=SpMXVi1- zwRdKLTf@s3p#l|&rO=k5GODmzB$H1B&D-b@Av49}6t1xj@=2J=kXD;sL`yP><9oXC zhcBM8ecumiosA@UkLA*C5Zd{|iE>xhf{s23jlVb3;|4#^k7M4yZjc3x-$v)lc=y@} zX%w?XXSCRC7n1uc{%Gu%%%V(+7b{0ekw}v7UasiyKo=BeE$kA+?k}2mE$<4g)5^r#;E#aXlX%8 z=+m*azM}sck7+Q|0E>}9^x5N6M-Sk{u5Ju*jPngKA9`{-&EbdHPS`Jw?dD<~=3p_# zA~>GTkr%H`l<}(%uHruHYgON5TAYm|vgC?-kC)cAl4O1BGY)FL(OMoER^XWSfV4b5%;6 zJMECqd3{%IJ*{59w35a0(gNjoggRFWsYC!V3Qw*3CE4)Afn~Bj#lBKxBQKW&c;}M| zym8?+&fl5ATuzJW)lsf<#Gx$HxD%kRX)htHKI-lh1kJ^&6|k?r6EB=OYO`Mt4aCt& zHAFA7oZaE`4`Ed)u5zv7em~yu#}9uD5yUrDj>C6mD|qk51m3@TAFCWcw4RaOXMKun z7a4ORtlM&`>(7Ilz*QYvglUSu4?l!Yc-CYv@_`1Nu!ei|)co006U4vhL z*4Q#trDXAUoSfd)5k)4^j!dME_Fw_e9o@r0e?JZkwIapVkf@c~pg2T+7tot!Er@sd zUI}l!_Ynp36h;>)j8>&EY74;%ic}dY9OVjpKvSXKzcGbhzHQDJA2UG9s#SHd6jVT zYjhj1_}R%UxIZK~Xi8KtlEgI*C^JhXcS2_M{?#^sxLaesUg9UYzMCr_oAY?#lx`joJ6?IOcNZPcC) zpsgisYfw~+t2nr;AFrI+gC9OSgoAw{v`atbGs=n_w;?Z6s!R7y*+e>juk+@U1iw6w zcey;K`iiBH!$3~Q8zW12TaIe|&I_IJI`lH7K33P?_}QHk7SgBqz; zL{Cc?18s2(^wJpS?FjpxoS;5WZU=ri9oMCTl(k#oRJ#Www~6XX+tePTFxJHY%xp-6)N^IXrD@Bg1Is zS1y;u!qOrZ=I3n|m{gH)C~7i9O0PAci)Ia5B>A03u~@`xu8xcMmhr}=QT+D8O?-6y zKBkrmC{$=2*c;c?mG&660d4J9phIJ4?e5z*PTF60{dG>AIu&+R?b@|Z1w8TM30#;f zqeTH3IrVCyiF##)Eu$Vv5FwMxjiA0#v~M)oca||knc>cT?&Yc^uri1)qBK0UR06 z2U$Zr$I34WxKnm-J(Mz;SyLEH1ckwps)6c(e8j#*MqDu{@yV-cg7O z1DPEA1no=r!kaVr;R`2m?7}Q6?E?8E2bbcRs*kLDQe1W9E33_$Qy6qeMO&AQl`Xhs zdz{_1f2YYG!974Hpj=DKO_$ha@UB!CL_{K{XijRbkVh50pVZy8C5wCaj^WX}@5BR# zcVh33USp#A0-j-03qoBe23;xKMaqI_*>V2twR8CEpFWM3-#m}!kDtZsZ@h+6Z=MY2 zanet&e+whY;Mo&p{MC~$;l<nI6Ya$)2|%I#l;$yT8cq}L*mtbf(gH>&WW3O zici}Z&NZ-StPgil0N63sYYe(bi7Y4#Hi?eHKz3MPEoAA`%ZzIo*6VMUaQ5ONrWY2` zDi+aD3%V9qg7p)=-W3aZ6AHHt_hIjzVN;^Ka;Al!zIq9N^V~^%>!&}*r*|cOaibx;2u_I%M7$7Nkj%IO)_3rS#1NhWO_Tv}s9mZbGe4)R< zgstk>wGeWxI;o9oy6cR5zk3jK^UlrH%_|?xE|{UP^z5r=@YhegfXU@HYFSox>(oO$ zst@sNw#Bun=;VoSSR15KXU2h%wu{Qw7O;IFha>yxvs|i z1f$k1(MpCcZMHnEeTvB^0orWS98wy8tlOH+ylwcjbF6@U+s83H(2L6Q0&0~K$2~2! zRPrf>VZ^(V7p*7^0)17UZSpr;a@Bc<~mv%pGJ@!*>9?gu7B8N;j355|1b%*Uk^@uq$L!7Xk_~KFD&I5-Pl@qbpM4dO)}i9J zO<~Z-cDSW4OZjX7hjxv)!a!Li8N+gomd$9IpPR?4ls*6ACokd~PrZTDmllyL>Ud_B zNml(sKr^c)HXQn~E^i$yP!8Khx$zM8P}t}vy(QzUR0+}c?L$}bTGcAeFwov2$Jdx) zVEtcWOIctue^ejsd8qM4qe&hW4w5g;E!(l?wbCNC_LF}WTDI@OyA84YH3Q{^lXLjy zPhZ3{Z=A#A>=G(kBCNea*v8e@WE1&1qyER*ZXjwQB{t!NJAZMEZ zOIc7x|Cw4T3N={fjstX8O4t61NK43z~D5zO$~83#9F0tHN2}8 z20|o6H$hazwKi8&%ds)_HtOilh9e4lSgwKSY7F|OtilrW4Wh3E_yzvFcCL(Pk4@m! zQx{NX1zD!>Sg%#Ew8#PL%w?RKoWZd(lX&B78Be`-1}~kS#)8SBVod5BX>EXx!oV7@ zDwmW6G;E~#Rvia-jpIZ29mEHYjM_RPRYm#SY~ioQYDy_-nniJHvW#b5WMdfJTyNswT4X`n23oxWL*ygYyqOW&?5u*Lhg-Y!zh+b0dp!+QiV_!TmiyuG# z2A+QX3@W)n)U*q~3C@vbfjfmz63458Z&I z*p^2|Olc^-SF6{t%t3v%$}nwk!!Wz}U5EeCGA^3Lp}2xyy(c@YwXIRWvy*E$xGL9L zSel!`{M1A^A~@fRqMZ^GdJ9p$Q@s*<75LD`gEaPhO;2w>#5`>T`4J6dB${cH(94Tu zyn6giJn_tn_&NpWpPjsn;|p0VHONzIhO{9X?Ny)+0|$o@@^xH*U*l2IMicuCc4*1pM^>TrzbAq z*_U6#H-7XpJbUUg&Mf6@8A7wwWV@D(AUTF*$AIiJla|$x0y_t@xOevmK6LMHY-REF z(tj8%GH~NHiIMd-K+Jnsk}!c|6LVb(gV47GBi<~JBjZ+^)eoR z^)#l-ZIpHLi}os$vVas5ounv;v=h~23am%_wvXUrA9x==`_X%G*B3uy;P}}^{P>xd znBO+<*}J4*Y`T-y7)K08)Y30~F|eVWHcRQl{fGBr&v>8B>_`@6n6C{H0$PE^r-}I? zohpw8!)vlX)b7obvlnrCY7!;(y4ndljTlS}G8q2F2XZk-y0O7)+MCuSmnbYoL&XP~X+2RfRQ)n)r&5%(S0i2*ib1=Ud)#7L|@(a_FN(2{~m z@|KoWsO{^iV97`sxksvY!st8=b@SZ>F^RWBtq)uxr=uFm02M!~rZWCOgF0bsvqTMJ9BL!8O{QT1X~Q24x-@VJ^k&~dI%=TaPsX-&Y!G8ZgV-`q#At!}Z&aWy4JukjqA9|R zCQCYJ^L*dvuP_y?h?t^>wQ)t5*ez1D%^_JkhekV3p|6bv4uYr1muAXM3WC6VJ&$Ux zp95S*Bf~evTVfOebQM$LKp}n|vTUVsg+m%E4>btA5^{@Xvshi~-EXcJqV6?rP<9kR z%%{{oG7D@(=jMS|&M)EV6I1x{E9daUu_?TGVF?%5KQC$R9ci95WdL*2ZqNjp$UP`; zG@V<-q+b!$WCAj6Mk>CqcCl-uACDZ~gAd=c2fK$7VVWilpsXdH@pHExyo(Li;!lEE{to+J%V;iWT|u|!!$iUiGmp--CbuVxC*LQAf% zG{z&CAlXJS(KuIN)h7=kee2COZ;QwkN7&EzqGju&*yq!`ibBwv(eA{g=W^8bS|+(j z`@1cOai)x5WY$kKgyb5@V2kvl4VBL=v~l!O3D2LN!84~W;wNvM#SdRUgQwrTgo$O! zDcZD7yqkZNMr=qTI@yOYBAaO;-&n@o+lu()y?gNR{%sf`o6~tunvG!0+-hwq5!Z_A zd~GABOjQ@t3WH0_>M!{usXLu$nFmvn-j|nwW0T8x^7RS)&9krL*<)vM);7Y_js)RASs7jHI7KOq^7MFHT;Z$9JE82~QuLz}fkRZ7>?@f_|lV3Cb6%r4~3t zBW-PyTt1W2MkapHF@-@=x8>5TRZy>2F)}iO-o63!_U2GvAJ)U>Yjdy32SUvxKVVuy z{(>D%h#~&2*c;(pGs7SdUrK9%Y;B#J4x^gy4+Pql7W1h%^o-4#Wu`AH zr!OsGVzG&ZW`UhiFXPm@1F}vsi6$9+nl8hL!7O z*xIC)!W~~xZdRc3VLjBQj7IyU@GO72PK@1m!xCp#Q49(G1H#qH6JgC@*1!rkTtRmX zvb&Aijm8doUCI%)FfAF>Zr~i(;`ui(+ZUkkzjzu?9=n7$W`U*L5Xv_AXAe)N+u~a- zQx=3?U+xmL!k!fjP-UV1TV)_+K~4&#P`|ZI?8x>Z{L%;R#e;i?Fv>1L^zP1$?$>gQ zcG}zwh&C&>epS}wFX1v3S#*$5jySMlrIc_iMS*g;#7AeRD)`!We?sB-Jf^BS(oZUX zf&oV1IK&a_RCEt^bicwd4%Koy173 zn#2>YpT@VJdksH)^%Q<`>^z>QAUfSDvYZOW9aNXa(=|}8k{BePDRs1wogItUT*3$T zjo^!q-i^as`!FDxSHu_p7eU30R3O)j8+dg+kVIC#QW(5)@`5c%m|AYKELDG$T&sn; z5&_su^QL8oQxomrtoIU^#9z4R+?fCLyJ-`Venak} zP4uH{eeWk}z^(vCPfy|}FQ3FWo_Gn*oS4Lgxf1G<9n`+q_t-KOhGtYGEo`YXd0@Yk z1sr+axqB;q`C}i%=RSM{@86%n7)h!AzmE|~u@KsHNKq&WUB(nfZoYEAg6{iUi!}Yx zh$-lP-bq>Vz-UWHu^iFYlz23!FSqf;%WvS@k3WZ_lS|MdDs3>T_r>$1fHB@j2T{Z5 zWr_kBx-($;-N=ZposY(9;Z}z;sMRW1E|pldTNoVZ$Jp>7Mh3Fz;Y&H26|dSLWkFCF z1T|v(3wa80#BvJvSHrtwsa z6nh8IAZHfiXi0l#M#tHNBW-kujXJ+1BnBEnj`63W?n1heDHi=2_arHr)b`cNcS5nyia z63$bAp48@t?amPAstD1<2xSzy${=TDTFHDNWisgK}kp>-5aj1-E!z4q&-Cz zf=a7q4$w|FL}DeS(J^_DKzHe!_U2j`?ayP+?!D+4+(JRE-!??l8R!|BRzv&aB-4kJ zF5QrnLoD5niG4xjIZ@Fg;g@M%C{-~rHG`9<&R~9F5!D)NN}-Sa6Z;>&uEB$J8&YiB z`_hz$ibSI*6n_vjI?%IKFpuGKl^sk-bGTZ$-<;8JH_~pA{<7sBQ!C!D85I(fs=U_b zXs4$ec;VEY7|4a`%$=_kRtQ!W*Nq!_cO6(8r%BH+n4%1>_4i6TYm(Jm zvsss=j1_OwOafzgX3JP`%p;BR$_pvRB+p4kFV$PPJimmq6BjWxGs`+h9!)ytdwY>9 zs^8@`X=-(p@}O*OXsykFt&TIq(8`piU=*e7;F^9SE3xA}(d{C;+X#wBvnI6RUX8)( z1cZ6k=_v~BXD&7Hy(eD4_nvwIKYjTm>&qf8Ra&-;P1EJozT;8JQYwo^N?ER6##o_= zgQLB8_^$o<(x*R)NAKT>16yII#c9cGkuRCDfOSpD*9^tb*2%wVs}%GX`qF@vDL>g+jxri;MX4 zA3Te1JbfIm&a}|#8A6#7OU->5P}zSeG%L zsp3l?cmTigu@B(Uhqv1FM?r#5s1mEgixuNaM1OiKASz?^!W6A<{B#ok{P+JDmobRB z>G)Cnm&Z@yzdm^e7iy#CZ(~T=6G9ArL%w1sWWo^BDK}+b?%Mg( zj@!zxW0q-_k*zMEzg@xm_73AKAAcC1ee6CQ+MdTS$*biCtI&Nf1hNHljZkoF1u4Yf zt|M5-rV#7RN-2cj*gkY0s2^>KANCDTgT;&{g@!ZX)hS7XeQA;P`1Ol;_NCYH%o}HM zVy23znmQy3D6#WMg)YPxHj55_>2xd#fngi3t0Uj4qL1}?e5io;9od7A-+u_7dE_8= z4zN?wS8ICJ5**`tkzopIFG?Z}#Z-nG+ITRl(--Nn8r{Bb9oC9HB0lS6E3wx@%%jkx zZ=EBrj=j|Gv7P0QU998y*$KRM@)YfJI5#tg<(6haY5Ht9qan~=p-3sjYhH#hW5_GE z$5cKs`HBSB2+R%WjNF${&=^|lF zgOb(~`TY{ciw%74zCHLKf9=yaG+IDkzh;gkuXdrEPPYOv7wO!D`2wt!%tJeTzGr?V z^pkq5NUgjS;b9qqe9A~TKF@ml%85C=_}Vf2{MDm4Gd+*#8YPk3Kp2z?>(XtLP(?O~ zXo+DRl!&W(U2N-+%W$;Ymf?PE9nsOn{WQH8poFXq{(3kt)~0ni4d57@t#4l^T`@MZ zMF+dP#jxbGY(Ep5N}oclRzta5M!jCQ=XOutF}+a2Qln)@-YwIuRBKSqY_X4EU^dXB zkxgV;I*L*!r-+wGCLx37U@qUoK0}(_>N48ZCET%N7=Pzu_uwD@$|J0|^d@qr39vTF zHji6COw~oT@l$iapM2*TeDm4Uc=2Kbb^OWczHAE-M2ywr=K2dpp>a z4(p$oanXm@lI8TihSEBKQO8bhAL+xM?W5Q`z6JYsjbrbQZ8*4n2zTzvK^vNiY~q`- z+lypV{L$#S?2eC4eGIN0*ll#{dbSFBKeS}=J7Jklb8M(na}7*fUc#w~85}!(9w*LD z(rpo!OB~GBTjYJD5=~a^!v>Qfb%B?vFUevQWxRj?7(R4l2OhZR4%~fY7e?9F4>G^{ zaxEEFANlM!bP2+Avzly4R@wqI7}Z@mCqV*;NMGN2#FVY1a0ON*`ca<3O|VTN#B`EO zVc!s7fo76FZ=3_3dif2!c=QBLT)2pZD(S1Ec-haJ(o^}np)4vLDO>62@JQLLuNl?V zI>laC1BZ9xlMfxiqlb6k&`1vb{e9>yhIbT-uF@gMtklmH`)YXCDhwhbajq2# z&l&?E{Y+FCl$&`RXD|9EfAwSh@Z~c&I@7>%b^z7FFqsskF;zT!TkohjMnNQ8%Qo@H zo(a+YN(6zP71snDij|pVcA87rm963*ec{vi)kp5ZU5ENKNtIBQ4)4eaA^g=%bv0tV z!M_j{29jBW!r&tQ`M>*PT+R$)K0D0d?5Vu+H-;QzB23r~CMXOf;(^lycI+uoNS?!EpQePc(p2Km^Z z;pG!&@yeM=oV>&VShbBg3LT5KFnfhs66%a*d{>mR>!iFR<-#U#yrLki_4KlHEQkUJ z!Tr4jo2s~D+g99h_#obQXb0}vHH>izff59VS!gOZ^&ch#YARzi5_~iu%*e+k&`qF? z2$m*P8Xb4NtV*QeYrJl&R`N;{XA4%Zq*zRH>{CfhRz+w@G+lpB0e=O)Tn_(2`97Q*a;f+-A|S^CmDET(*O0fVgt92qO% z3lAN_Km6h+u!o&mrjImJ5xxabZn|wHC1d5<;Gl`aA{xzx)P`j;`Z}%IgIZ#+%qpZW z?b;M>ngfxSPn^e#$Ijpl*4a}N(`e>uY$6@&*%Y^^c`$Yib#YXvJsZ4K@Ye z20JPr(t>o+el(~pAw#2M!~gCt+=t)(_#O-rip?Z`gZyuZ z7`6$xrZ6DWVFfuewT!R-;A#Bq=y|+)ZVqSWYN+;%p|_#2IO0WxWBD}C024A_Fo7Hu?MWA zNl5vjv!2u$#5C=1{B#Qc`~Urin9B@dA7OAq$RB?YNMqz(2EjaHHa&;D#+JM7|b_ugcA9O zA2^J!{Njgk7dx0y7GEwD%xZK;sVJhkMqHWt)wqrz9h-)zA5AD|)r;`WBh*(JUF)fA zHCZi|(fwRCY)}-|XinfK&%T0}j-SDNxoL`m#R|p5Tv&UkL1d_k{89b9YRRt!y&G)f zEy*A?Y>vYRnkHZ4a4gfHAfCnWAP2k+4!z0?=xTm_ym@8G3I+Uq%g>_9cDGqX5DRMNn1+Mea(6F)#vc= zq3!tM`|rkYeewg?HOw&Wc$~Ke=^}{NBCFQUY9K@j!q&%2H>K?AnU){SkQ@{9G&2i0 zec>X`PhG~ji?eu@w6)ojq-Uw7L5P$ltRtaJobhS4_6UBA~J(9uNHS})BOd&6&QXZG*X6;DTa=8+gGf45CC!fvra8OM?(;(k&H0|ixe6be=Ek$5G*Io(v zVh^_WG%(tl$2~g-aPOT*aQ{7ba!@vmQOUAopgknHHk}LHo}{M{InpFqi#(CsX|k_X zG=khG7qz$86ka}dn(gxp-Xss4S*~NTA!R}yCAQbH)+!VSknbzlM($0@#*k@AsnW0k zWUp1H2JSq35RW|g06zWjVLY-M*srRSK=DajUb|TJR1al`J0aBA6@9hhOC zAYQ0Q65eC6$hvOuVo4ZUVq*1FKZ3&EpqSqA3Ik!I3~Z41b&w7%zD=r%Or)xW zmj$-FHz!MY`P49WbJE`<4c=t9fmZSGDqU$htcO^RMi6Nq6?rbt23KT$$ZptBWg4}LR0bGj%iA;BgZmDQ zad5g)(Bt$|)`x>!cuC6mU$EFb}ADFl9^%Yc$h*U2Z=%h`E zrskGSW4)v)Y?V6ea29j(OSm{QhYOcxIjCu3dcMR#&m3l#%Jj>@9t9aGA2OPHO8#+0 zX{vr+GZaQ*OgpY{b*Gl3h9$mLXNSt+8V6L;W@|v2mqLzpe*4IvO$**K)Q{obyiMKQ zy>$qKMa?+q!BB4jMGnR?6jq0a2eES`haJ5PmPyUF8punCC5<=);9w;v43vs@emz|& zi|`do;~IUn_DkdlOy2pV>%W~jdsq_i-^^w6wwW74{-V@EecNI=tbg=hYF&m;$7 zC5A)jG8sSFw0LbWrKLLaB-*9fD$Yz!H@^DONATqj?e8oPd@CW+3W0=y(8{6&<5yYVzV+nGn5*Z|s5j`& z`jzj+Wzu%0+_rr%wExB8QVC0?G7TwDT1qKiX8>)H$G zb1(UFSWY8#Yxr_3Nz0T4GBzz*Etmc{AQX)TvUU5I@#~-c7{2nsJMr;@tmpKx3Xx>p zq+28H8{%61Uj^z>mD|&^E&TC!p21%}cNWi2G57U4@}z~71bxjV^tG08aK{Mly5k@R z^G7f=*pL4Heh#LJXt2GjzAr2-V*1iFCMPFx`SN8<=nMVS0;+B8HO4l)wed7>@2gq-=Nicb; zW+4>Gie#&VB6&pSNNSd9M|zO_Dp{7v#o_|xhlM4~&COwYdKz;J3zQEQnC2PGm+EGg zs!dxe9p(bkwDZg_W3ibg3^~V|QOwvZ*i5a2ex`qXs0aJD4&w0cZFt|^hjH(beYkUH z0b7_r@%~i^)h~d-cB+S>NbXbv*F(r}tmAJDlsb!DvOMp!F{WmzO_1@u_T~jV`^quY z*xzc2v1Sa*K0isC&zEiE)ul=Wi)He|8s#=NM4h~$9^RDMDm+uzt+ZpiUY{ga2Vahq zjV9^UgOQc+j&L%H6akXYmf6l5tb2VJqUrDLWxX6?9o>Qg)2*2$np4x)D%oi%A2_%b z58Z#5ZwE+5VUQsUYv5g>Ft~Y$q*#w6QWylGZ<&OhxD1?{n8mASr}5J1OE`IH3DYyP zxI8y+T1p)WBol>~DD-PBkyyQz3QK4G0$``X_cZCMRaru=r-3b_MLe)`4FCP-K8cSU z>cO^=AlQi!sf$oop{^sAcL@8+802>adON_B8BBAT>3VIlg>O9m3jW}0-!WyuqA3hk z>QZ;8=1xazG|ZzZ3zXADVX&*ejlcivpU3AOJAl1|LA#~OX%(~!G3>SCkg%xCLQ!L#g8{_nqf4nH|QjZ2p<8Kbbxe?;%@K#7osm4u|5g|79Uz824@Ie@a}jgz|>YWVM?16 z2CA#Co?pU?$IjyDnTvMj`*J-)JC8E@F%Nhq&63kWa!c<$u zA@}ZzbFE-N*1?g#m>sH|DZ(VONMS&uuc_)BWo(1bBwFpnt&ga^bShGS-8M+!iK9)O zd@|6JLw|uCQa)?u$o@Te_>SFp`0yYK3|iCY3Q=KTopXp^9B73Ly;Bi7dF4oZ7l;p9 zxyglemb>_rmXJ%H)9Egn{ykS}a3DN~a};8aU6{dZ6Ez&Y)WXGustJo#)(3V3Rt8c; z+gAnlBRMGy7`_I!;Y@M{tP!}yL|gaKHae3RvrKJWIC;|m3vqm800(z&!T#|PmSGRZ z$A;La4A|zD;@8`Yb@cS~m;y*2b1fJ~B}IWk*KG%uxp282tX|W$DjbuU1R|$Ky^Tt> zN>f3Z67$7c7U$STW@;@=&dlRH1?6*7moYV8!t8R5LRFSCCQc^Uu`}UBJD6CLOl(YS+qP{^Y}>YN z+qN@j&-;Go{+|2!>zw`1x~{!?b=Rt{u2tQIUl1s=hJs)d7yS=$%-zgLRuDuZiKJ4k z6=kyQjW9h7RsRZC#|ZzDGVe99`yJo(ix#orWx1amQ7@OxC*qdV;Dt-V^ua&Rg_{HV z<;H2cVkX7(F{69R9Pc6y<@w84FF3_1SgI}EzRE6*cloLT8UA$qEb5y?fCgiOz;39P zVMf`js@NrM6@y`>dO$)$-w=6QQX3x4oTB#j(8ljaHSk>|vC8~k@_i}rRE=cW{XSl0 zX*Y==SSg@HwIH}jofTM^IAMZB$(MArRYQK$X?=*^=YsPew`y8%2t0qTG`Z^N+;!BU zP|48tO_zcVak*QOs^Z6gH?Q>(dOTvk_1hg@t)ZVno))}hs^|J|Kjd7OO7lAM61ZJ` zTeCC%3jKO>bUqxWxbjK8NU>Mg2FHD}c9WY;Z4meHkU@Sz+p;)tIUnwTMv|7ThLYtL zFW9JT-MAnqqTq~%8-EBUv>8D-=!J1+GYk|<9XLcP0{t?EP-BOOJ;sR0NBDflr^V~) zz(pBBrYCx|;Hr@MtCB^kNVZ7vmBz+ewRk~hx&vbrFK+~-v?F&z^Yh7RuQUe?8EYbo z&Uy>hR7>))O-q=WMDeHY7B;wq-By-n;PIANy<44-rV)0ho`{ex@wzXjHN%ZvqUx#U zSy=2-@)*iBDa#i|#>#-TDkcjRT-|Cj$Q=nX9p+Rxv;58OF^!eKQ+ts!-0-#jOxIHG z2g-~;WXGPf1$3|JekNbQ;-nMFC*KbFx9gqLjWWEat-f9*sT}z zxVzO&Y`zR0ZKM-#6+T_m3LCfZG}=ZPNYqrK1S#_-Q32T=vzNh}il(e%;C}2riw^zg zn!YnApe>OM;g`z#PkC{~{?yO-18kyUJIigx^6{>si&2$Z{u> zL_l%_Q~;*Bkevw(OTHX+Wp_+@1VSttwp0QHp`!vFT)4z=HuvgPM=R3Kv>WnHx8Uy5cUZlVb}^GU z-=qVqBXMOmUBj8+>B9snQPS4qh@96y3*YBhC;i~>8(Xu&7O zJK9@M&vBWGG~3gqIb`|yyTs&}wxbT}A=U`Hhs)F=(}50+oroDRQD>E4c%9by^4`+$IGGWjr9(ByY%kVIAr;G9Fy`5=!)yao_itXq>(phoVcU?SRSTSrIE>Q5 z5DQu{b3@b_W3CqJF%e=T*e=r>Oe=Zv%m}oXdysM^#=>dNbq@@%wY)WZ`+L22Nmfb> z!aAo{6^w5W%Dhq1YmJC7?9m$J34LQ$iLjsF7y5)JD>;eo9W}f8%VoE^Ynv!L&!-BLXhFX6+EF*B8v5IcCg_@!==S^6TV0$))5|!>STTO z(?sfnaeX!CZhlyWMQc8xM5H$`8+^4Tr~EvU04Ir|=<%EbbDKH$#Z82!P2mFyEf(I(qmF*jY`4xes2T}IHM zyrZ|qJ52O^Kb*<1v(^TWsQsa)%iBDw=y zu;O;XebRwdgnw&~Hii&fDv~H#Xh32NaG=Y5MrgL(pQl`qhf}fVnmJC#V>%7XT6c#j zQO!kR<+;iYgnr*LPg z?ON*{_I4SJb`P5L2ggqV(Y5C^AbS3)N;2alCbU`@z?6Q+>CXbzRe#ian4ek?j-}#( zWzh?a>EKjcT>uK5`?R`1LqVz7P)5^S-*fTzHpe&G4KB6-W;^mR`7usjEdfz2357tC zJY!QiX*Te7QUQ?(uINBk#F-IlKOV=f))(fcpq{(eOK#twi|_s#YHn2tDa+Xo0(ayX z(nY8>zYfgy<)ZZeYS9F)LC#MlF}eqGfS>8{^@w&IA9HC>E0382@|C~41kweZJ-y%O ziA?c6i4E267~;mr!Y62s7DSRW!wZNQAt;Kwtj)4ZAxDB&ve21lgRYDv)X>{TXr-G-nU?F*)s!!bTQb-AeND2dn6X8_8;Gt7k`EYqpIcjK=OO zZ3!a2)E6sC^S{y=Tc_9VrkHbEHw0{KXog2dYMYxQ=;h{u3c(2zu0y}Rnm|kZDyIh- z{Cu$FI4JU@BDEp;KUh%%F zqG?h4t{yVpw3I8db%??jz>-?vLwuua4!b0=zB~0EbHq|qTB&bUt9Shx$xiL+=eWe= zjcEOY8c|oA%d9j0mZN6OrW9LY&2w7Qmuik8e)x#t;Qqd$PFeT>5Of<*OrHM8@cHX)@aRTBo~NPTb(0c+0eUj>@oV57||-wlE;`t{~DDY=s(z6XZ)hT$;A zzQ6N$NjSj!bo2H4NW;9-FS}e!6+L_)eN$V28;;vCWn%<=QH*IGTFkzUpKk<^A?^ zYgn48MZGyCc120o-7K}%A3QB3&Er|QuD~Uxo%XWJ-e3yW`l%!vH29nT`r&zTa$Akp z1NF~-t270iACE$9>`pD^NpH{|?tz4>F%`T7q2!L~t{RO~Vi@!?tvgNYlO! z%fmI3Do&h{+qXLE_(@YddGhxbbm+ZH&~AenCRD=Dp*K-8|951apvJU^HK8f(mf!BL zw*x(qt5vU4nuoE(X=Zu~C#I{t1Vw9*kr|DiE=4I9#!6KnO5-6W6;W)v zivB;WFGFR*lv8&Ivc|K(nQ}j8V>9@ui;3N#1(Jcm!D@q1%)5s>G6^F4vyz#S(GzTF zpZbv>TrzC2g9NL&u|C(a~So6omX*iyDkC5;{s?7YIBf}jOGHUQUO|xfA z4q|lX1;ee1NYbKxAh6$wTwet;R0UC&+^|*5Qt)kCcoESNNfn-rrvu;VayjtT@ov`# zAEL?blJyLCQYRTf#Y{Q>6XQ-jy95v_ssrUHwVr44j`8 zj~jv4^DfraomnBHcy{iHWBll2m1eQ0d{dQHy+bjiud0ND);!-m{aSz|`gy8_xE0Q6 z2iQY7sDysV?2E+ws(bB-4^JyW0coAqc+rW^1eev6K75-VxmC@s+~ACUYZX}F=h|#; z(Qb;?#{O=@c3euV}sPk%U8Pm_$j?TiQR0y;|{KhdZMx<9Nevm?{K3-od zrZG3OP2{@7m&&mEVvhuW==ZDs2*bBIH zhw2auqmbc-aySv%*U%#x{c4NkHaGoGxe)CD+>>5wFJ$2` z#524JU2!WF+v&|kEORP;=wILnVlL4r6nf}}JY;#lwi$$}G*0H3grQ+%;?Z_30%WlI zx${zHM2eyF*S}8C?}BhkL>v z)3M5OE!U%*oB5B(ytmBDEpM;9XicXa$IxcEmeCt2?UZEhe6Q2vftqJ-FFdHHR>WNs zDLeEm)qxNaXD0nxw-$q;E~=w3`z3)WV*D(pG_^Qa=l>3e!^46Bh0FQZ@fN?{b$j^(FrK4pBqWBs^aN6yt&R4vTw`Wl< zW<_t-9sD6sI=MJ6kIUt^w_dG3lt>6)2S3epB9$q6L=G5BlD1S3HB(G0wC1@hWC|sQ zVSlLqPAP0RcZ1UaAyavN50k%@l#ra%wlz(CEA3GIV+7q~5^2J@c0esf(1zr@{UDNHmF)}eeON)g)pmm^8hx5Ew&HM2jziVR~ zwCjgqoKCmRY4Pz&9e#r<=AE@QF?YnumSu0tGNZO+pFl%iY{5)Or&MO6S=GU z7T$RWRHp00PDEBJk!tF#-%Dc8(4xl zJ#{nB923-C-Dv!zSjddGdkU(kPFB=(y`#@=55g&TM9r{2<#@qX^me=XHT1Gy1k@U* zN^jxiQs|_|38@&5OZ$t`!q?Iu+H#dGs;2+78ZASsZ2eDAsDJK^u2hEmSAx^T07Gm- z&+!a)u+yVP_|LEHux#$enb{prxTLgxvq~Y)rfWt<&EPDY9_e?dHNLy=Rirx~eYjZl~L(F&s$ro{y%1l(&t5+yF!+k zGPphAq&w}w2c@L-cI2S!@>vscRY&K8SOb1zLS?|gu%u2DQYFfMDGCo|R11WH6Qihz z?qH?eZSN3Urm%d6dR=KqLr}SMznTza=i>3^Ucv6bI?_Wy!{~R{BLLEIQX(9cL>MVJ zrw4sb4tJP7U%W>0IVm;$8kVV11Br|nk;%&#VWh=vq7~wxp2E5~T;gepkN95HBp9ab zhKwlV*FcFi1v;jRrMg~{+(EZWJ!}$(W>0nAjP2y*Lp@j{8poLbjpVzey%S)jX zKna>&lpl&?BoA&xEH#pKDj{2q^7zyBm(LEiv#n_6_9Z>)*iG!Kfvjz=w`-8!)Khx{ zQs4@fmgDQyeIPEy+6_;&&EyV>2(H)j41c{>@5s4)HL2wfiSRv+LYDlT=kS4tU^9)WR@r{Lvj_bN;^ zg(@P7IEmQ|a9@5@lFP{u&JIzoVE~8!SoZaXtiE@nj;V?!Aq`!u&FERwC94M6KtgXH zbEnypva9P|Xj{gwFX}G1v&1T~VV>uVrfohZ;Yqn=dE&>3iEVqJ8_sF-CN*RRwmJVf z)ffX223g&y*u7?g3|oo!o3bVp6=IJZp3;ZoH}%oHY&dMSt+6@xs+hC#69!|sP7CO*9=1|EL$UIKX;UQu2 zO$;`u`L_M6&>HF$S?cA>62<#Wh^tB|eoZBaJ<_EP1N7b1fhwy>%d@40sP)_`J$slGmTUHX z8OEZhkY>bkp5$cklwjxf6{O=>{K^FpXVSTYMl>;#v2uN6eEij#sOGN|(z%JVL8#-d zw6Uybla$EAl=G%a1$Bn6%xM&X1&Fo|xjS*2$)m=buqW}YrW`4OHL>HL=Fh-Kv|^#l zX@}EJ%^y`0i;%gXa3V4VT>Th-fW5DH=$;D2T)Sh441_k_ZfX87aQL>+NQAYtPuS6Rbv{g9)LtTG`h}5-VD=v zdD468(ts(`llfYD=$bk1Em0P73PRYF?q*VQi_H}DdqIUQ+9IA|L91&!J=ZxI*rqqhinrYO1;#N#oA%h8v{x~8 z)}&L1vYCyJVemY_fpAz6fFOdkY%&{RA5*FLmW>IMS80VVCXOI|&#sYVaQbUy(lFae z&)Mb^o^uR}N#3?LAIF9hM-D8;D-7`-9lL)9$+dxB{`_4;UD!pASD9eV?4ps8cV?$6 zw!EFe@5~l|J9+sgV5c`#>JKKzVgZ9Zbh-37EOmJaaqs%d6a+HSqULEx;xwLRY-6H~ zMXZCp=5Iin?s$Z~(*lMZI({W#jo8mr_KWtaHqlM8-A0cijgrD!${+rDbek<&KEimiP68tn9+7a5ZoEje#T3oK=?TP31UJ5gKXTWTdt&4r(<9JplS z{V4J&QWkmh!cEJ~VaFQC$4?bsFG>UG%?BpO18>kGvT{O?gZH!C%nCw81t({YrL;yX zdsGaL_~9x54<%Tjn!@)}>CwRd(Fw6RF(tnsTvF^m<_3lIrfc#2H=LldP5cp7_|_{( ze8a7nh%bFBwMB9%@*LxU`H`8;Xx0~R2I?8<{rzF`Kr9=b3g24}?BZ0B`~{(WxrP)4 z2OKI#jHo>s?D}7Eg5PRI>btA?*+ zYc|Gg4UtQyiEJr9zj!c8+e;eyYpYe9Qi; zS(K@vURz)jTR0tF815^Xgxu2=i0BmdCS@iE9vPJb3oP#4Y!XAB7yX{1t1iqUBtRC5 zMxH2MvS=GK8J17`RYO?#Ky>&C7+QFplAUgL;4NM;VY~X^G$<_J^Q7(kgR54d-@KS# zxQM0r`&=5rFP0zuDLQe7pB9OR{Us;>ftBnM&Su(>vrS%AzMYQ&QQM@*8v(tmuNDIC zPpni*r6sam0_DC~6A9PK(wTii&4Z2xN!DMprK&2^`o_i#m^wv&r(}qbZ${Z#S_JS9 zxeT3#_VD3UVg&FtVTcjPTZ8jL=TPx6EYJw)V0 zU;YqJgSnBdE$0VF5{Kp9I=KItXS*W&bK1zry(pZ|7_8d5SRgH~lZ7Ra0+~D4Z#Qfq z2ukfd?KsmEpeh0259we9Oh9lBSnEHst~I-%2Mq>QweyCRLqLT;#MsD3p95>7_tW6X zAC>%1n-FET0~)>rvUL9_mpW(pBOU z9kj@-QqafT3Y#XtDbDKR((K!8iYOmOuCA`qGq*-Ep_SU*zYH}-uOwq(owcF6DWI0N zN}V+&$*2xjil);0{fd^9XUf+53M!RF?cEJhe< zM=x%>$SOK|%U572-yrq@Kv?0(R6DmaoAdh(;qmx#QqI3J?fpmtsK(Rq6FdR;>-{J;BzL6hX z@0Ud|z-M=$3NuAf$#+C_if$DS-k_f@!u}W8ey6X)hzPEN8EU}63t(iKl?n|w19*i*~6yQ@OP>r!@$yD*R>}QwSfw+7F|4xm?oKptGO>NSF%}x(O zC6v^_~JmOPS85&TIDrJgmktNDd^^;?QV~<+uOdx^SfF@zy3Hu zlF2A}1*`{-2=ilHh$v?l|8uGRup%fDrwCL{=SPb`1O}vPQE$USN2u^6ra4z#8wWVu zLg7#69CmQ>`kEi3tJFY)=g z>;9^r+vmkF4CpMf_*N%QA${^+~-4=bS`iVV!7u5)5OW>34 zl{5&tQ_5kw%xBY1z zq_;Pp?(~+J6IsB-3J~$HD6ZQE3$}hY1B0yoxP$+BFq7UgFRsjGn7Wqp_3y%g681Ph zK0g(-`tvDqL=i5ZIO-v7MAbS1Ne+`N&`Az6d4~_50OrJEV18jD7q2Z0Obj`8ep+c+ zsF{yBgMQcReSNcwo~H^%&tnEM@R-?mMypUT#3%EY`atH#z5LTdt-SNGF6uafof%Mi zCI?ILn?<=`3F+p7jg=})->D(usxWl5n>)?LT5di}tMz0D>KP7UZ-bAFR8HW5Lb4?V zqs4TL%P4guS!xKbD8_KjHTtQ~| zV@ZxZ6*|4|tHIo$@qUu|IXDl?d>0e_nfqlv+K8%OYn}O_TT0Eai$t0uEf5hPxgeDpiAMo6Y()L1A>^#c35UMxfGz{Pg&T6{8WC26IClRdz=- zC<`E`vJ?6J%*g&lKue1r8rrsPfkPt|CC@-!kE+J*4nrVQ`#Nu|yr+JG;peVWK`HKO zh}{7Jp$0jBtlC1XhLR4cE<0C z*ryO&FvD^U(q$&AP;&+j=O#Ro9-(wHpL`uC+!pFfaOoh4PxHQD-+-gkVzlzH6~=7s zM4LV=&l)J_8yoyTVtE>4#%(ya4w$t{`y`Z`3uZ($W+HMHcH8w_j3y41@K{$cUiVxR@vr8hzT*s4&l36)ZI&~V>U1KFy47FDSQ#dgV5KzbndshD zy*Y-97-_i4J?hB#7C9P3ag~qRX+AgA8>ZWbj$-00#n5kOeq4C@O>$M?s=?F_?A7t> z3IzzaPEOL&Zx>c-ba}l@$i5vJ<2!J^M4*bLMb}CV7a6+MalCwK?qO zUTW0CbwoIxx}dCE{@OwsJohW98FNF#MW(Ba zoO)X{0{5Y3MB2sB_&_^^PS0n6J=xP9{kbgG03eD2<{N0cG+Tm~?<6ShUmEZfF)^LT z(mP4!&L=TY!R@ip>P!W+gyKa!5JlIhZ2!y}*U9qozO3cdW>+0o)NTRlmD0-}I;_6@ zZZk}~PVu0Mt6n6cml)fpi@_jrmI#y`VuRHAjbu4+GP?||W0G%E0}^`Sh}h!taY zPLymA>o#qQKVfx`m)Rv_;2M2#K#84fjj=No3{6O7A~i>z1`vB5J7k2{7R#nbFE6CI zW|A}-2gc4i%@N{u&hKN8o&b?1T zTF+z`00{d}IgoT7)mAgcuw}d>f$Xf!{++Hm;D09BGW%2HDya~F$w{_+pX=+3<&3D8 z_naNi64#y;B*qu`HGQ@U%yH~;I-lmLyf0&@LRoX-ASERmXRgT{G-=XT=9M{LF2+ED z_2yT(Rr`3^$BJ~2Ks_Fhf*xj^-=?g_@>^qQOY6__?4qSE(QJ>g zG=ZL9JAe?k4=J^`wQ)DHeYM&{|C3sf8{-Ue+6qR8ifA8_%K{!azi!SB0y=C(q6l|5 z?5|5(d-jc0nc85<-Sz<7@%w@BJ-ClqsC!ab{;c>To^+CS8XioS6zAf*-W&ARZ}(Ij zU@D<7cDu}RCfF)pY1hB9-F$(0MQx#vuB0a5jwaMFgZQ@UAGU~AbiTfo4*`XH*_!#Q zZ8%?BXG)V1Y;#Z%=V``dq?h!&KeFMjb13t%yur~R zwUI|w^lVvIaLL=y+Ry0W=w3r#8>wOoF-w|WbX>&)6hMh1bzcdh^Xq8qq{gUmypeg_ z{FW-sCwBSjPqgTOx+$^B*z{zGz9?v1N_cWH;{MgslA3j5@LZ6?3b&Bzr43`Q2_v|< zIU(LLpj)zMKwqC(Qj8JK>h!bCu|QH6n=%x|fsgzbay(84oWidZjNdtFoJOy|lV5eIu8uNl&|pYm}!-fuh9dp=);URsl@ffwfe#78Z}qt>X>BTHbF z%TsLB6LdVlypr}jRK6BR4%g$71sKyq^8-Kky27K9ADljRx}g7ghWToJ_Xf%2@f|%d zbZI)Se`13c$r8J#BYo9co2?fIzpFc4t;$Mmpl9xyG<6-cTrIfV@bh>5PMslQw4Lp0$C$ugPe>c&eNU&~NxImK zypACWJx`Q0NYI)l^~ZbQEMl_ab=JYzd|#$|J4;ZG!N2G}$~XsAPjpx^wVP!$Z$VOcfevl|yCmC6J?tN9WeNC{qu>XO2psAU)p0j}fx zRu@qH3+M8dj2MjHr=ynbPp{;^m!(|-M#lSGZQ4DiLHI?T>(wP?R;cPa)^XM>hILB& z;##ANs!-p^`2}NRpquOJV7k}P0`j@46fCxHdbkV^4yp`JG0(7Z2O@baEC4X|EP?qt z)#%V1G{lq$k>kKCHu~R#gzo2`e``_aEEHuMxB-6Zpcn#FJmo%DXWO21#5vl{ru#FK z1D80?`TVS0qQ#kW$Kms7wN+`~UkYW%@+bS1QF;p- z@q4zO8|#j6W&|8fZ(Em{ibtkJ4TT|)++nE1w)D^o68*BRYR_53op#k;n2-}0kb(80GHBrqCrc5`*=@W;^92fDQ6hzb5^2%3AOfC+T##`aqDm@zE|eySD18Bao_RZv441X6`FBR&Za755<5LJQ#Z6ho)le8NsM zlHIjC=T0j_-qrG{ytpvijXD4BzB2^Nh|^zzl1@P!`6pNYY2? zBQF+@W6_V|^rexd9caVq_g2B@f>3TVa&3R@7^pAaY)_UP-?2_X8KsIr17+9m7MQ? zBU3fM`|!z@nyXrwyOD*GII8CCNCHk;`-I-OPgg)Di%8bkBIUlUr~vSfA5I_; z^;4n{>Af-lhWR|g<^1ff{rLx~pyH=b?N2wiY+tXtw9I~y3!K4*Y##k{fM`GkapxQq z&WE^07cWJghDFY=;#?sTjDZ)6D*8;;S>KQL=wBmT6leuc-EA8a1$9! ze?*iol-|LSxxL#z*$@ZIyQz8VLjMG>ibJ7%Pm>^Q4;h5HoQ9pooayd6oiDT4FQ2gE zD1WFWh;=HL{)OzC2)M=iUaOlWiav1yLyOLlg8%KD;wijhF)+dqV2-IAX#Hx#EYym) zpM;CNVN9#z+HmiAJ<=@yeHE;+ zML|R7inZG{V5;~N6*4QjG`F#68Xq(Ybd8QEzY0N?4=)`ZL{`|hb2V;yL-DTT5QDLV zQ&6?8>Lzu8eAV8b9W)Tc`g!sX{9N)Mz7-C?6L&t>ll$kF=y|nO107HxhmUe1(3zX@ zYM#Mw0&-IDD#JiQ<*#smD|%{6Bl&r>gO0-be_BDmHX`e+@)3AIbr|J31^}4aYd#Zu zVTh6-v&DxBES2)}m_G=|!rtO*9`i-%;><3hPP;YImBCTJ>nh_R4Z2~kTa4J;R#70I zu!m9!S71iOL+ymqY~ZN%puqM@)>}<_&>r=Hnc4}*?Kweb!w8F3yd2Z?1(g>-m0ysV|CQ!#i z&w>&g3+13nA~31%IjHM7aK<-c5ChHiYEwm{Y`4|_4t5tyVl<3iuhvv{fl$cTFMtq~$h}Q;JaA&JB4(3=& z{;ryfA2S%q=@*Q6NI|>nkk?H^m#n_G{Db5EGzc3BKWo1rUiA`bg_D+`={w;Pk88Kk z2&Z260dg`eJJ+XLZ8Z51L>dlwmcSvD1QAbWZTw}FTgxItp2ZZkG+KMQwyoJW+-3hYB(Dnr&0VlS_xq&Es@jM?g#NGtVJMyQfFy51~iCI+bA>bK6YLphFK20%v{3# zM&_`@RM)v8;BSduY)LGig#?}wQ6t;{Q+0@rT<+2g`Dj31}SxRmw)m^htgejrT z00V<`gQ<4+M zNn@+3o~_jjL>;5!miM)ZoA=xQdcx)JFi6Kck%eFFm3`Q!G%HPo9@V}Rbv{(hDlR8L z{p}W{u|XFby}wPNltx5BD4f)`h;@~C=7pO-c_S`x0{}L3g3g2&oc}|`-{ymAVP?zG z8`qIALEC9KA!bjRtYFus+^?o8lbLI?!YY%M|8KXT-YtPRE=Q0NFmf-DBD9};UZ_3*6I2w;^_Z*)xQ@uWS-u? zvinb`gBVxX|04ze{8!;kgYeJozkE^$QwIFs2mVe7cm=~h&HpyFfl}A``vv^xg?8bZ z{%48&^Uom2ME)zz|Fnsu`PUqSZYYCZ?w=0+HvRuX2pd0WXV?2ruYaF+{<;f|4sAvS zr~l9Bf8U~Q*2a$+A;*``k%qB?{r?gIQV!`zTCx90{-7JI&R#_)WNF~FjrwK>HZwv? z#J^~7B<&gE1{HT_2x6~5rkJJJb1yf}?dSc0X8vx64iP0J1VwS*D zSq1RPP>p;}4P!u2kTVy6Av?M=dNQ-&_@8XEY3-8zp86|Q0&{iL<7sH2^%~@&+>NYm z?-mr~Rb`G2->vof*n;KpgSba^_k2TjH`xrjp2~J(3?`|Oq?3!T@g9J_YQ~iZjHUHt z1$aIC{RzG#@Id;~4|gJ%x+8NKXPT@N9TP|*3%DBjx0I}D*2VBQ%L&$|cV{nPy4yVF zKAmJo?YswF4r;dstE=i{+5Cy1M)<~@HEO)A^>)O&#VL~6FO(hrB7<~p?k8Q>>w^w0 zSqDmih==?uCjaoH5%nCwv>y80Tn2C!)3XKg;eWg`dUM@G6ftBGB5pB%N7}jtaU)p( z@ldv>^L;vV3sgk2uRjB4#N(WyH!J;2Ckq=oq=$$a@!w(~rQg-fVY>{D1Qfn{#=jg) zdhmjcI%`E1q|7N~?&VX1H~!?+3+Kl{A=`h+{UP%7F^pv%*lio*V}u3a$^Wx#0Rc! z!p`c)7=kx|ommm$##W+1U#Sx4hzdi2UauRk|;(q`LR&R-3Wce!NA@FvMEE0W?bn>)P#;Fi;k{E6lH-Qkd zHU67!Z^+l}yOX;DI@sd<&?|C)B?P}FTF{;>FY~`tOCy#XfGA0XCT*}H79ARScM-`8 zJ?cV=1|c=XN4}#w<2w)w~q0Y{oI-lP(&<7pLQ_S~Y zvOt*1JT-DSJ+fb2JLflf?hf1OxJT+7@5p;|^y8Z>W*xg_QV)?=JDeXwFX&V0d0FVC z59eq1%!FA_MvP?yFn08L3&Mt;kt^fv)n14B7egwrRwknbFU(nu(g-4x!k)%1V6OK$ zd3}-3ol*RTatXiR=GnArP9gY(kKI!ts3!BzMk>86^1hS0KlZ`1YZYl1FX>a~F-(nt zznnv+FRjZu0AV#Q{xyUpIQzzd7wRwc=&A*DamXS})FbTc`C5GSo@bj=ot*po8v ztMt>xH5Ow`X_f*A_V;Ca42+7L1RZKTK^#rM`QP+2#o9Cn9z*RJ*DPsH?9RFoc41w< zpzt&>QzF3K3+Y79&iFI*@`d_Ig6g38DpMg)R7=$Qdp)212_wXFLyc>u9&zD`8u2Z{ zpQzna*0hG=ynOTz*j=!cib>w2Z>e$oMgplX1L{xQocXg*VC zd?y7ewSqKTDXv2lFEhww%KqI6vo-;=EmggY=C4>5u9z1NyEeual4K;N6`7jxSFFN@ zUc_ks&xIX{h|;+}YB`S!l-x73IKy6!y!N333?pU-eP-eMp~{tPz@1? zOLvFydYlMKyTAN^(qH}FswImJxt83+XWSrT!8$cmH?4K_*@xz*=9~*vt|W@2V0D4* zf0;yU?vMuj3!eE*#@V8ABHh9}l9B86#5oeIqzT>QN`R|#OfUNrUo=#3Wc~)@R3PJw zeIHl_?SC?MS4n{I8lp!QQkI3t!PgM`h=*Hql8lY*zYMx-)}X)-ehm~9b1H<2PlTc- zSqb3(T9O<0D&@2cM>VTt|D}8{UCXjj8TwLSOuqcLfky?I@AF@#rG2!hBln#o^1oK1 jI#}laZ)@_~r$4;q3`%4lt!$2;KtItRQbH91+P?n}p!+5B literal 0 HcmV?d00001 diff --git a/hiring_module/hiring_app/static/images/icons/icesi-logo.webp b/hiring_module/hiring_app/static/images/icons/icesi-logo.webp new file mode 100644 index 0000000000000000000000000000000000000000..1ec2a2aa73d7c88891d536ec3ed9d41975aac927 GIT binary patch literal 14580 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 literal 0 HcmV?d00001 diff --git a/hiring_module/hiring_app/static/images/icons/icons-search.png b/hiring_module/hiring_app/static/images/icons/icons-search.png new file mode 100644 index 0000000000000000000000000000000000000000..a10c674050c859d05f479b1cbd754404d5e9a9ca GIT binary patch literal 724 zcmV;_0xSKAP)A18cxKu%qz>_@MVL0~JP)Ge8^Y0KLB)_St3NG$X(fV8yw)F7OJt z1{?#*z#a{|J`P+5R`uEBdoO^)!wRAWeASJ71MUI)Q+(e7yANziV*_XqnK@@R7l82r zv}uw#3GW&t7?d z&r2X1d3m%x`b>7)6vgJGysZr9qWnJcAvP^B+n&bejl9qKdQOuT#Y?M@vPJ0t`+SKm zYi6vGi^T(ZT1)SZ6B6ATLK}b7w|Lu`Az%CSewg+%c|8wdP}RcJ({?lzx8-3clLteY zG@Qc+J1FqY1?TYLEPF3n3eQPBth)z#D-YGBspV;Z2!uHlN0W+(%U2gbth*w zRhrYRGi8<7EvGT;_6epz1gcIoON>|5T1;v&9n+}jwVUdl+?!rdVmF5w3_7w|O8K{f zZ4aLIX-0n+Or407bx`mGc&`$=t;OvV@D_NeoBGqXpfL);_`=G2r%x~!$x$#ZGRRb( zf~oxv!8FNeFgrys87TmBWR&yHV|Is(Q;Yd`c0s|f8Tbh}t`i9^c>0000rK};?GTk4S1`a7=-NtQi{DkMeNSfwai-H#}T56{3; zgyW#S(jkA4Awow6Yh9|4+#zDgy(41D|F$Dzolq{as9mc0vP@bC9Oul9TMMLI?kbo~ iXB0;1L_suPJX-^tagni;oH(ce0000x)I(&hvQA64GDv=SY@4!=6<@=P-D>`njxgN@xNAruRu* literal 0 HcmV?d00001 diff --git a/hiring_module/hiring_app/templates/auth/logout.html b/hiring_module/hiring_app/templates/auth/logout.html index 499bf8f..738a039 100644 --- a/hiring_module/hiring_app/templates/auth/logout.html +++ b/hiring_module/hiring_app/templates/auth/logout.html @@ -1,8 +1,7 @@ +{% load static %}
{% csrf_token %} - -
+ + \ No newline at end of file diff --git a/hiring_module/hiring_app/templates/base.html b/hiring_module/hiring_app/templates/base.html index d40d139..7ce70bf 100644 --- a/hiring_module/hiring_app/templates/base.html +++ b/hiring_module/hiring_app/templates/base.html @@ -3,31 +3,56 @@ - {% block title %}{% endblock %} - - - - - - + {% block title %}{% endblock %} + + + + + + -
- {% include 'components/header.html' %} -
+ -
- {% include 'components/LeftSideMenu.html' %} -
+
+ {% include 'components/LeftSideMenu.html' %} +
-
- {% block content %} {% endblock %} -
- +
+ {% block content %} {% endblock %} +
+ +
+ + + + + + - diff --git a/hiring_module/hiring_app/templates/components/LeftSideMenu.html b/hiring_module/hiring_app/templates/components/LeftSideMenu.html index 57b6137..2d58b88 100644 --- a/hiring_module/hiring_app/templates/components/LeftSideMenu.html +++ b/hiring_module/hiring_app/templates/components/LeftSideMenu.html @@ -1,13 +1,23 @@ {% load static %} - -

',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",customClass:"",sanitize:!0,sanitizeFn:null,whiteList:Q,popperConfig:null},$={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},J=function(){function t(t,e){if("undefined"==typeof a.default)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var e=t.prototype;return e.enable=function(){this._isEnabled=!0},e.disable=function(){this._isEnabled=!1},e.toggleEnabled=function(){this._isEnabled=!this._isEnabled},e.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=o.default(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),o.default(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(o.default(this.getTipElement()).hasClass("show"))return void this._leave(null,this);this._enter(null,this)}},e.dispose=function(){clearTimeout(this._timeout),o.default.removeData(this.element,this.constructor.DATA_KEY),o.default(this.element).off(this.constructor.EVENT_KEY),o.default(this.element).closest(".modal").off("hide.bs.modal",this._hideModalHandler),this.tip&&o.default(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},e.show=function(){var t=this;if("none"===o.default(this.element).css("display"))throw new Error("Please use show on visible elements");var e=o.default.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){o.default(this.element).trigger(e);var n=d.findShadowRoot(this.element),i=o.default.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(e.isDefaultPrevented()||!i)return;var s=this.getTipElement(),l=d.getUID(this.constructor.NAME);s.setAttribute("id",l),this.element.setAttribute("aria-describedby",l),this.setContent(),this.config.animation&&o.default(s).addClass("fade");var r="function"==typeof this.config.placement?this.config.placement.call(this,s,this.element):this.config.placement,u=this._getAttachment(r);this.addAttachmentClass(u);var f=this._getContainer();o.default(s).data(this.constructor.DATA_KEY,this),o.default.contains(this.element.ownerDocument.documentElement,this.tip)||o.default(s).appendTo(f),o.default(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new a.default(this.element,s,this._getPopperConfig(u)),o.default(s).addClass("show"),o.default(s).addClass(this.config.customClass),"ontouchstart"in document.documentElement&&o.default(document.body).children().on("mouseover",null,o.default.noop);var c=function(){t.config.animation&&t._fixTransition();var e=t._hoverState;t._hoverState=null,o.default(t.element).trigger(t.constructor.Event.SHOWN),"out"===e&&t._leave(null,t)};if(o.default(this.tip).hasClass("fade")){var h=d.getTransitionDurationFromElement(this.tip);o.default(this.tip).one(d.TRANSITION_END,c).emulateTransitionEnd(h)}else c()}},e.hide=function(t){var e=this,n=this.getTipElement(),i=o.default.Event(this.constructor.Event.HIDE),a=function(){"show"!==e._hoverState&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),o.default(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(o.default(this.element).trigger(i),!i.isDefaultPrevented()){if(o.default(n).removeClass("show"),"ontouchstart"in document.documentElement&&o.default(document.body).children().off("mouseover",null,o.default.noop),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,o.default(this.tip).hasClass("fade")){var s=d.getTransitionDurationFromElement(n);o.default(n).one(d.TRANSITION_END,a).emulateTransitionEnd(s)}else a();this._hoverState=""}},e.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},e.isWithContent=function(){return Boolean(this.getTitle())},e.addAttachmentClass=function(t){o.default(this.getTipElement()).addClass("bs-tooltip-"+t)},e.getTipElement=function(){return this.tip=this.tip||o.default(this.config.template)[0],this.tip},e.setContent=function(){var t=this.getTipElement();this.setElementContent(o.default(t.querySelectorAll(".tooltip-inner")),this.getTitle()),o.default(t).removeClass("fade show")},e.setElementContent=function(t,e){"object"!=typeof e||!e.nodeType&&!e.jquery?this.config.html?(this.config.sanitize&&(e=U(e,this.config.whiteList,this.config.sanitizeFn)),t.html(e)):t.text(e):this.config.html?o.default(e).parent().is(t)||t.empty().append(e):t.text(o.default(e).text())},e.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},e._getPopperConfig=function(t){var e=this;return r({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:".arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}},this.config.popperConfig)},e._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=r({},e.offsets,t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},e._getContainer=function(){return!1===this.config.container?document.body:d.isElement(this.config.container)?o.default(this.config.container):o.default(document).find(this.config.container)},e._getAttachment=function(t){return X[t.toUpperCase()]},e._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach((function(e){if("click"===e)o.default(t.element).on(t.constructor.Event.CLICK,t.config.selector,(function(e){return t.toggle(e)}));else if("manual"!==e){var n="hover"===e?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,i="hover"===e?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;o.default(t.element).on(n,t.config.selector,(function(e){return t._enter(e)})).on(i,t.config.selector,(function(e){return t._leave(e)}))}})),this._hideModalHandler=function(){t.element&&t.hide()},o.default(this.element).closest(".modal").on("hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=r({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},e._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},e._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||o.default(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),o.default(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?"focus":"hover"]=!0),o.default(e.getTipElement()).hasClass("show")||"show"===e._hoverState?e._hoverState="show":(clearTimeout(e._timeout),e._hoverState="show",e.config.delay&&e.config.delay.show?e._timeout=setTimeout((function(){"show"===e._hoverState&&e.show()}),e.config.delay.show):e.show())},e._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||o.default(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),o.default(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?"focus":"hover"]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState="out",e.config.delay&&e.config.delay.hide?e._timeout=setTimeout((function(){"out"===e._hoverState&&e.hide()}),e.config.delay.hide):e.hide())},e._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},e._getConfig=function(t){var e=o.default(this.element).data();return Object.keys(e).forEach((function(t){-1!==z.indexOf(t)&&delete e[t]})),"number"==typeof(t=r({},this.constructor.Default,e,"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),d.typeCheckConfig(M,t,this.constructor.DefaultType),t.sanitize&&(t.template=U(t.template,t.whiteList,t.sanitizeFn)),t},e._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},e._cleanTipClass=function(){var t=o.default(this.getTipElement()),e=t.attr("class").match(V);null!==e&&e.length&&t.removeClass(e.join(""))},e._handlePopperPlacementChange=function(t){this.tip=t.instance.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},e._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(o.default(t).removeClass("fade"),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data("bs.tooltip"),a="object"==typeof e&&e;if((i||!/dispose|hide/.test(e))&&(i||(i=new t(this,a),n.data("bs.tooltip",i)),"string"==typeof e)){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}}))},l(t,null,[{key:"VERSION",get:function(){return"4.6.0"}},{key:"Default",get:function(){return Y}},{key:"NAME",get:function(){return M}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return $}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return K}}]),t}();o.default.fn[M]=J._jQueryInterface,o.default.fn[M].Constructor=J,o.default.fn[M].noConflict=function(){return o.default.fn[M]=W,J._jQueryInterface};var G="popover",Z=o.default.fn[G],tt=new RegExp("(^|\\s)bs-popover\\S+","g"),et=r({},J.Default,{placement:"right",trigger:"click",content:"",template:''}),nt=r({},J.DefaultType,{content:"(string|element|function)"}),it={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"},ot=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n;var a=i.prototype;return a.isWithContent=function(){return this.getTitle()||this._getContent()},a.addAttachmentClass=function(t){o.default(this.getTipElement()).addClass("bs-popover-"+t)},a.getTipElement=function(){return this.tip=this.tip||o.default(this.config.template)[0],this.tip},a.setContent=function(){var t=o.default(this.getTipElement());this.setElementContent(t.find(".popover-header"),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(".popover-body"),e),t.removeClass("fade show")},a._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},a._cleanTipClass=function(){var t=o.default(this.getTipElement()),e=t.attr("class").match(tt);null!==e&&e.length>0&&t.removeClass(e.join(""))},i._jQueryInterface=function(t){return this.each((function(){var e=o.default(this).data("bs.popover"),n="object"==typeof t?t:null;if((e||!/dispose|hide/.test(t))&&(e||(e=new i(this,n),o.default(this).data("bs.popover",e)),"string"==typeof t)){if("undefined"==typeof e[t])throw new TypeError('No method named "'+t+'"');e[t]()}}))},l(i,null,[{key:"VERSION",get:function(){return"4.6.0"}},{key:"Default",get:function(){return et}},{key:"NAME",get:function(){return G}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return it}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return nt}}]),i}(J);o.default.fn[G]=ot._jQueryInterface,o.default.fn[G].Constructor=ot,o.default.fn[G].noConflict=function(){return o.default.fn[G]=Z,ot._jQueryInterface};var at="scrollspy",st=o.default.fn[at],lt={offset:10,method:"auto",target:""},rt={offset:"number",method:"string",target:"(string|element)"},ut=function(){function t(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" .nav-link,"+this._config.target+" .list-group-item,"+this._config.target+" .dropdown-item",this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,o.default(this._scrollElement).on("scroll.bs.scrollspy",(function(t){return n._process(t)})),this.refresh(),this._process()}var e=t.prototype;return e.refresh=function(){var t=this,e=this._scrollElement===this._scrollElement.window?"offset":"position",n="auto"===this._config.method?e:this._config.method,i="position"===n?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map((function(t){var e,a=d.getSelectorFromElement(t);if(a&&(e=document.querySelector(a)),e){var s=e.getBoundingClientRect();if(s.width||s.height)return[o.default(e)[n]().top+i,a]}return null})).filter((function(t){return t})).sort((function(t,e){return t[0]-e[0]})).forEach((function(e){t._offsets.push(e[0]),t._targets.push(e[1])}))},e.dispose=function(){o.default.removeData(this._element,"bs.scrollspy"),o.default(this._scrollElement).off(".bs.scrollspy"),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},e._getConfig=function(t){if("string"!=typeof(t=r({},lt,"object"==typeof t&&t?t:{})).target&&d.isElement(t.target)){var e=o.default(t.target).attr("id");e||(e=d.getUID(at),o.default(t.target).attr("id",e)),t.target="#"+e}return d.typeCheckConfig(at,t,rt),t},e._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},e._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},e._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},e._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||t li > .active":".active";n=(n=o.default.makeArray(o.default(i).find(s)))[n.length-1]}var l=o.default.Event("hide.bs.tab",{relatedTarget:this._element}),r=o.default.Event("show.bs.tab",{relatedTarget:n});if(n&&o.default(n).trigger(l),o.default(this._element).trigger(r),!r.isDefaultPrevented()&&!l.isDefaultPrevented()){a&&(e=document.querySelector(a)),this._activate(this._element,i);var u=function(){var e=o.default.Event("hidden.bs.tab",{relatedTarget:t._element}),i=o.default.Event("shown.bs.tab",{relatedTarget:n});o.default(n).trigger(e),o.default(t._element).trigger(i)};e?this._activate(e,e.parentNode,u):u()}}},e.dispose=function(){o.default.removeData(this._element,"bs.tab"),this._element=null},e._activate=function(t,e,n){var i=this,a=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?o.default(e).children(".active"):o.default(e).find("> li > .active"))[0],s=n&&a&&o.default(a).hasClass("fade"),l=function(){return i._transitionComplete(t,a,n)};if(a&&s){var r=d.getTransitionDurationFromElement(a);o.default(a).removeClass("show").one(d.TRANSITION_END,l).emulateTransitionEnd(r)}else l()},e._transitionComplete=function(t,e,n){if(e){o.default(e).removeClass("active");var i=o.default(e.parentNode).find("> .dropdown-menu .active")[0];i&&o.default(i).removeClass("active"),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}if(o.default(t).addClass("active"),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),d.reflow(t),t.classList.contains("fade")&&t.classList.add("show"),t.parentNode&&o.default(t.parentNode).hasClass("dropdown-menu")){var a=o.default(t).closest(".dropdown")[0];if(a){var s=[].slice.call(a.querySelectorAll(".dropdown-toggle"));o.default(s).addClass("active")}t.setAttribute("aria-expanded",!0)}n&&n()},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data("bs.tab");if(i||(i=new t(this),n.data("bs.tab",i)),"string"==typeof e){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}}))},l(t,null,[{key:"VERSION",get:function(){return"4.6.0"}}]),t}();o.default(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',(function(t){t.preventDefault(),ft._jQueryInterface.call(o.default(this),"show")})),o.default.fn.tab=ft._jQueryInterface,o.default.fn.tab.Constructor=ft,o.default.fn.tab.noConflict=function(){return o.default.fn.tab=dt,ft._jQueryInterface};var ct=o.default.fn.toast,ht={animation:"boolean",autohide:"boolean",delay:"number"},gt={animation:!0,autohide:!0,delay:500},mt=function(){function t(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners()}var e=t.prototype;return e.show=function(){var t=this,e=o.default.Event("show.bs.toast");if(o.default(this._element).trigger(e),!e.isDefaultPrevented()){this._clearTimeout(),this._config.animation&&this._element.classList.add("fade");var n=function(){t._element.classList.remove("showing"),t._element.classList.add("show"),o.default(t._element).trigger("shown.bs.toast"),t._config.autohide&&(t._timeout=setTimeout((function(){t.hide()}),t._config.delay))};if(this._element.classList.remove("hide"),d.reflow(this._element),this._element.classList.add("showing"),this._config.animation){var i=d.getTransitionDurationFromElement(this._element);o.default(this._element).one(d.TRANSITION_END,n).emulateTransitionEnd(i)}else n()}},e.hide=function(){if(this._element.classList.contains("show")){var t=o.default.Event("hide.bs.toast");o.default(this._element).trigger(t),t.isDefaultPrevented()||this._close()}},e.dispose=function(){this._clearTimeout(),this._element.classList.contains("show")&&this._element.classList.remove("show"),o.default(this._element).off("click.dismiss.bs.toast"),o.default.removeData(this._element,"bs.toast"),this._element=null,this._config=null},e._getConfig=function(t){return t=r({},gt,o.default(this._element).data(),"object"==typeof t&&t?t:{}),d.typeCheckConfig("toast",t,this.constructor.DefaultType),t},e._setListeners=function(){var t=this;o.default(this._element).on("click.dismiss.bs.toast",'[data-dismiss="toast"]',(function(){return t.hide()}))},e._close=function(){var t=this,e=function(){t._element.classList.add("hide"),o.default(t._element).trigger("hidden.bs.toast")};if(this._element.classList.remove("show"),this._config.animation){var n=d.getTransitionDurationFromElement(this._element);o.default(this._element).one(d.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},e._clearTimeout=function(){clearTimeout(this._timeout),this._timeout=null},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data("bs.toast");if(i||(i=new t(this,"object"==typeof e&&e),n.data("bs.toast",i)),"string"==typeof e){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e](this)}}))},l(t,null,[{key:"VERSION",get:function(){return"4.6.0"}},{key:"DefaultType",get:function(){return ht}},{key:"Default",get:function(){return gt}}]),t}();o.default.fn.toast=mt._jQueryInterface,o.default.fn.toast.Constructor=mt,o.default.fn.toast.noConflict=function(){return o.default.fn.toast=ct,mt._jQueryInterface},t.Alert=h,t.Button=m,t.Carousel=w,t.Collapse=D,t.Dropdown=x,t.Modal=q,t.Popover=ot,t.Scrollspy=ut,t.Tab=ft,t.Toast=mt,t.Tooltip=J,t.Util=d,Object.defineProperty(t,"__esModule",{value:!0})})); +//# sourceMappingURL=bootstrap.min.js.map \ No newline at end of file diff --git a/hiring_module/hiring_app/static/vendor/bootstrap/js/bootstrap.min.js.map b/hiring_module/hiring_app/static/vendor/bootstrap/js/bootstrap.min.js.map new file mode 100644 index 0000000..16db081 --- /dev/null +++ b/hiring_module/hiring_app/static/vendor/bootstrap/js/bootstrap.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../js/src/util.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/dropdown.js","../../js/src/modal.js","../../js/src/tools/sanitizer.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js"],"names":["transitionEndEmulator","duration","_this","this","called","$","one","Util","TRANSITION_END","setTimeout","triggerTransitionEnd","getUID","prefix","Math","random","document","getElementById","getSelectorFromElement","element","selector","getAttribute","hrefAttr","trim","querySelector","_","getTransitionDurationFromElement","transitionDuration","css","transitionDelay","floatTransitionDuration","parseFloat","floatTransitionDelay","split","reflow","offsetHeight","trigger","supportsTransitionEnd","Boolean","isElement","obj","nodeType","typeCheckConfig","componentName","config","configTypes","property","Object","prototype","hasOwnProperty","call","expectedTypes","value","valueType","toString","match","toLowerCase","RegExp","test","Error","toUpperCase","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","parentNode","jQueryDetection","TypeError","version","fn","jquery","emulateTransitionEnd","event","special","bindType","delegateType","handle","target","is","handleObj","handler","apply","arguments","NAME","JQUERY_NO_CONFLICT","Alert","_element","close","rootElement","_getRootElement","_triggerCloseEvent","isDefaultPrevented","_removeElement","dispose","removeData","parent","closest","closeEvent","Event","removeClass","hasClass","_destroyElement","detach","remove","_jQueryInterface","each","$element","data","_handleDismiss","alertInstance","preventDefault","on","Constructor","noConflict","Button","shouldAvoidTriggerChange","toggle","triggerChangeEvent","addAriaPressed","input","type","checked","classList","contains","activeElement","focus","hasAttribute","setAttribute","toggleClass","avoidTriggerChange","button","initialButton","inputBtn","tagName","window","buttons","slice","querySelectorAll","i","len","length","add","EVENT_KEY","Default","interval","keyboard","slide","pause","wrap","touch","DefaultType","PointerType","TOUCH","PEN","Carousel","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","MSPointerEvent","_addEventListeners","next","_slide","nextWhenVisible","hidden","prev","cycle","clearInterval","_updateInterval","setInterval","visibilityState","bind","to","index","activeIndex","_getItemIndex","direction","off","_extends","_handleSwipe","absDeltax","abs","_this2","_keydown","_addTouchEventListeners","_this3","start","originalEvent","pointerType","clientX","touches","end","clearTimeout","e","move","which","indexOf","_getItemByDirection","isNextDirection","isPrevDirection","lastItemIndex","itemIndex","_triggerSlideEvent","relatedTarget","eventDirectionName","targetIndex","fromIndex","slideEvent","from","_setActiveIndicatorElement","indicators","nextIndicator","children","addClass","elementInterval","parseInt","defaultInterval","directionalClassName","orderClassName","_this4","activeElementIndex","nextElement","nextElementIndex","isCycling","slidEvent","CLASS_NAME_ACTIVE","action","ride","_dataApiClickHandler","slideIndex","carousels","$carousel","Collapse","_isTransitioning","_triggerArray","id","toggleList","elem","filterElement","filter","foundElem","_selector","push","_parent","_getParent","_addAriaAndCollapsedClass","hide","show","actives","activesData","not","startEvent","dimension","_getDimension","style","attr","setTransitioning","scrollSize","CLASS_NAME_COLLAPSE","getBoundingClientRect","triggerArrayLength","isTransitioning","_getTargetFromElement","triggerArray","isOpen","currentTarget","$trigger","selectors","$target","REGEXP_KEYDOWN","ARROW_UP_KEYCODE","offset","flip","boundary","reference","display","popperConfig","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","disabled","isActive","_clearMenus","usePopper","showEvent","_getParentFromElement","Popper","referenceElement","_getPopperConfig","body","noop","hideEvent","destroy","update","scheduleUpdate","stopPropagation","constructor","_getPlacement","$parentDropdown","placement","_getOffset","offsets","modifiers","enabled","preventOverflow","boundariesElement","applyStyle","toggles","context","clickEvent","dropdownMenu","_dataApiKeydownHandler","items","item","EVENT_CLICK_DATA_API","backdrop","Modal","_dialog","_backdrop","_isShown","_isBodyOverflowing","_ignoreBackdropClick","_scrollbarWidth","_checkScrollbar","_setScrollbar","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","transition","_hideModal","forEach","htmlElement","handleUpdate","_triggerBackdropTransition","hideEventPrevented","isModalOverflowing","scrollHeight","clientHeight","overflowY","modalTransitionDuration","modalBody","Node","ELEMENT_NODE","appendChild","removeAttribute","scrollTop","_enforceFocus","shownEvent","transitionComplete","_this5","has","_this6","_this7","_this8","_resetAdjustments","_resetScrollbar","_removeBackdrop","callback","_this9","animate","createElement","className","appendTo","backdropTransitionDuration","callbackRemove","paddingLeft","paddingRight","rect","round","left","right","innerWidth","_getScrollbarWidth","_this10","fixedContent","stickyContent","actualPadding","calculatedPadding","actualMargin","marginRight","calculatedMargin","padding","elements","margin","scrollDiv","scrollbarWidth","width","clientWidth","removeChild","_this11","uriAttrs","DefaultWhitelist","*","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","SAFE_URL_PATTERN","DATA_URL_PATTERN","sanitizeHtml","unsafeHtml","whiteList","sanitizeFn","createdDocument","DOMParser","parseFromString","whitelistKeys","keys","_loop","el","elName","nodeName","attributeList","attributes","whitelistedAttributes","concat","allowedAttributeList","attrName","nodeValue","regExp","attrRegex","allowedAttribute","innerHTML","BSCLS_PREFIX_REGEX","DISALLOWED_ATTRIBUTES","animation","template","title","delay","html","container","fallbackPlacement","customClass","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","dataKey","DATA_KEY","_getDelegateConfig","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","isWithContent","shadowRoot","isInTheDom","ownerDocument","tipId","setContent","attachment","_getAttachment","addAttachmentClass","_getContainer","complete","_fixTransition","prevHoverState","_cleanTipClass","getTitle","CLASS_PREFIX","setElementContent","CLASS_NAME_FADE","content","text","empty","append","behavior","arrow","onCreate","originalPlacement","_handlePopperPlacementChange","onUpdate","find","eventIn","eventOut","_fixTitle","titleType","dataAttributes","dataAttr","key","$tip","tabClass","join","popperData","instance","popper","initConfigAnimation","Popover","_getContent","method","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","map","targetSelector","targetBCR","height","top","sort","pageYOffset","max","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","queries","$link","parents","SELECTOR_NAV_LINKS","node","scrollSpys","$spy","Tab","previous","listElement","itemSelector","makeArray","hiddenEvent","active","_transitionComplete","dropdownChild","dropdownElement","dropdownToggleList","$this","autohide","Toast","_clearTimeout","_close"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): util.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Private TransitionEnd Helpers\n * ------------------------------------------------------------------------\n */\n\nconst TRANSITION_END = 'transitionend'\nconst MAX_UID = 1000000\nconst MILLISECONDS_MULTIPLIER = 1000\n\n// Shoutout AngusCroll (https://goo.gl/pxwQGp)\nfunction toType(obj) {\n if (obj === null || typeof obj === 'undefined') {\n return `${obj}`\n }\n\n return {}.toString.call(obj).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\nfunction getSpecialTransitionEndEvent() {\n return {\n bindType: TRANSITION_END,\n delegateType: TRANSITION_END,\n handle(event) {\n if ($(event.target).is(this)) {\n return event.handleObj.handler.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n\n return undefined\n }\n }\n}\n\nfunction transitionEndEmulator(duration) {\n let called = false\n\n $(this).one(Util.TRANSITION_END, () => {\n called = true\n })\n\n setTimeout(() => {\n if (!called) {\n Util.triggerTransitionEnd(this)\n }\n }, duration)\n\n return this\n}\n\nfunction setTransitionEndSupport() {\n $.fn.emulateTransitionEnd = transitionEndEmulator\n $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent()\n}\n\n/**\n * --------------------------------------------------------------------------\n * Public Util Api\n * --------------------------------------------------------------------------\n */\n\nconst Util = {\n TRANSITION_END: 'bsTransitionEnd',\n\n getUID(prefix) {\n do {\n prefix += ~~(Math.random() * MAX_UID) // \"~~\" acts like a faster Math.floor() here\n } while (document.getElementById(prefix))\n\n return prefix\n },\n\n getSelectorFromElement(element) {\n let selector = element.getAttribute('data-target')\n\n if (!selector || selector === '#') {\n const hrefAttr = element.getAttribute('href')\n selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : ''\n }\n\n try {\n return document.querySelector(selector) ? selector : null\n } catch (_) {\n return null\n }\n },\n\n getTransitionDurationFromElement(element) {\n if (!element) {\n return 0\n }\n\n // Get transition-duration of the element\n let transitionDuration = $(element).css('transition-duration')\n let transitionDelay = $(element).css('transition-delay')\n\n const floatTransitionDuration = parseFloat(transitionDuration)\n const floatTransitionDelay = parseFloat(transitionDelay)\n\n // Return 0 if element or transition duration is not found\n if (!floatTransitionDuration && !floatTransitionDelay) {\n return 0\n }\n\n // If multiple durations are defined, take the first\n transitionDuration = transitionDuration.split(',')[0]\n transitionDelay = transitionDelay.split(',')[0]\n\n return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n },\n\n reflow(element) {\n return element.offsetHeight\n },\n\n triggerTransitionEnd(element) {\n $(element).trigger(TRANSITION_END)\n },\n\n supportsTransitionEnd() {\n return Boolean(TRANSITION_END)\n },\n\n isElement(obj) {\n return (obj[0] || obj).nodeType\n },\n\n typeCheckConfig(componentName, config, configTypes) {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n const valueType = value && Util.isElement(value) ?\n 'element' : toType(value)\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n throw new Error(\n `${componentName.toUpperCase()}: ` +\n `Option \"${property}\" provided type \"${valueType}\" ` +\n `but expected type \"${expectedTypes}\".`)\n }\n }\n }\n },\n\n findShadowRoot(element) {\n if (!document.documentElement.attachShadow) {\n return null\n }\n\n // Can find the shadow root otherwise it'll return the document\n if (typeof element.getRootNode === 'function') {\n const root = element.getRootNode()\n return root instanceof ShadowRoot ? root : null\n }\n\n if (element instanceof ShadowRoot) {\n return element\n }\n\n // when we don't find a shadow root\n if (!element.parentNode) {\n return null\n }\n\n return Util.findShadowRoot(element.parentNode)\n },\n\n jQueryDetection() {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n }\n}\n\nUtil.jQueryDetection()\nsetTransitionEndSupport()\n\nexport default Util\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'alert'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst SELECTOR_DISMISS = '[data-dismiss=\"alert\"]'\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_ALERT = 'alert'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Alert {\n constructor(element) {\n this._element = element\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n close(element) {\n let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\n const customEvent = this._triggerCloseEvent(rootElement)\n\n if (customEvent.isDefaultPrevented()) {\n return\n }\n\n this._removeElement(rootElement)\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Private\n\n _getRootElement(element) {\n const selector = Util.getSelectorFromElement(element)\n let parent = false\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n if (!parent) {\n parent = $(element).closest(`.${CLASS_NAME_ALERT}`)[0]\n }\n\n return parent\n }\n\n _triggerCloseEvent(element) {\n const closeEvent = $.Event(EVENT_CLOSE)\n\n $(element).trigger(closeEvent)\n return closeEvent\n }\n\n _removeElement(element) {\n $(element).removeClass(CLASS_NAME_SHOW)\n\n if (!$(element).hasClass(CLASS_NAME_FADE)) {\n this._destroyElement(element)\n return\n }\n\n const transitionDuration = Util.getTransitionDurationFromElement(element)\n\n $(element)\n .one(Util.TRANSITION_END, event => this._destroyElement(element, event))\n .emulateTransitionEnd(transitionDuration)\n }\n\n _destroyElement(element) {\n $(element)\n .detach()\n .trigger(EVENT_CLOSED)\n .remove()\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Alert(this)\n $element.data(DATA_KEY, data)\n }\n\n if (config === 'close') {\n data[config](this)\n }\n })\n }\n\n static _handleDismiss(alertInstance) {\n return function (event) {\n if (event) {\n event.preventDefault()\n }\n\n alertInstance.close(this)\n }\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(\n EVENT_CLICK_DATA_API,\n SELECTOR_DISMISS,\n Alert._handleDismiss(new Alert())\n)\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Alert._jQueryInterface\n$.fn[NAME].Constructor = Alert\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Alert._jQueryInterface\n}\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'button'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_BUTTON = 'btn'\nconst CLASS_NAME_FOCUS = 'focus'\n\nconst SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^=\"button\"]'\nconst SELECTOR_DATA_TOGGLES = '[data-toggle=\"buttons\"]'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"button\"]'\nconst SELECTOR_DATA_TOGGLES_BUTTONS = '[data-toggle=\"buttons\"] .btn'\nconst SELECTOR_INPUT = 'input:not([type=\"hidden\"])'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_BUTTON = '.btn'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUS_BLUR_DATA_API = `focus${EVENT_KEY}${DATA_API_KEY} ` +\n `blur${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Button {\n constructor(element) {\n this._element = element\n this.shouldAvoidTriggerChange = false\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n // Public\n\n toggle() {\n let triggerChangeEvent = true\n let addAriaPressed = true\n const rootElement = $(this._element).closest(SELECTOR_DATA_TOGGLES)[0]\n\n if (rootElement) {\n const input = this._element.querySelector(SELECTOR_INPUT)\n\n if (input) {\n if (input.type === 'radio') {\n if (input.checked && this._element.classList.contains(CLASS_NAME_ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = rootElement.querySelector(SELECTOR_ACTIVE)\n\n if (activeElement) {\n $(activeElement).removeClass(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n if (triggerChangeEvent) {\n // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input\n if (input.type === 'checkbox' || input.type === 'radio') {\n input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE)\n }\n\n if (!this.shouldAvoidTriggerChange) {\n $(input).trigger('change')\n }\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) {\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed', !this._element.classList.contains(CLASS_NAME_ACTIVE))\n }\n\n if (triggerChangeEvent) {\n $(this._element).toggleClass(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n this._element = null\n }\n\n // Static\n\n static _jQueryInterface(config, avoidTriggerChange) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n\n if (!data) {\n data = new Button(this)\n $element.data(DATA_KEY, data)\n }\n\n data.shouldAvoidTriggerChange = avoidTriggerChange\n\n if (config === 'toggle') {\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n let button = event.target\n const initialButton = button\n\n if (!$(button).hasClass(CLASS_NAME_BUTTON)) {\n button = $(button).closest(SELECTOR_BUTTON)[0]\n }\n\n if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) {\n event.preventDefault() // work around Firefox bug #1540995\n } else {\n const inputBtn = button.querySelector(SELECTOR_INPUT)\n\n if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) {\n event.preventDefault() // work around Firefox bug #1540995\n return\n }\n\n if (initialButton.tagName === 'INPUT' || button.tagName !== 'LABEL') {\n Button._jQueryInterface.call($(button), 'toggle', initialButton.tagName === 'INPUT')\n }\n }\n })\n .on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n const button = $(event.target).closest(SELECTOR_BUTTON)[0]\n $(button).toggleClass(CLASS_NAME_FOCUS, /^focus(in)?$/.test(event.type))\n })\n\n$(window).on(EVENT_LOAD_DATA_API, () => {\n // ensure correct active class is set to match the controls' actual values/states\n\n // find all checkboxes/readio buttons inside data-toggle groups\n let buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLES_BUTTONS))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n const input = button.querySelector(SELECTOR_INPUT)\n if (input.checked || input.hasAttribute('checked')) {\n button.classList.add(CLASS_NAME_ACTIVE)\n } else {\n button.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n\n // find all button toggles\n buttons = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\n for (let i = 0, len = buttons.length; i < len; i++) {\n const button = buttons[i]\n if (button.getAttribute('aria-pressed') === 'true') {\n button.classList.add(CLASS_NAME_ACTIVE)\n } else {\n button.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Button._jQueryInterface\n$.fn[NAME].Constructor = Button\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Button._jQueryInterface\n}\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'carousel'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ARROW_LEFT_KEYCODE = 37 // KeyboardEvent.which value for left arrow key\nconst ARROW_RIGHT_KEYCODE = 39 // KeyboardEvent.which value for right arrow key\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n interval: 5000,\n keyboard: true,\n slide: false,\n pause: 'hover',\n wrap: true,\n touch: true\n}\n\nconst DefaultType = {\n interval: '(number|boolean)',\n keyboard: 'boolean',\n slide: '(boolean|string)',\n pause: '(string|boolean)',\n wrap: 'boolean',\n touch: 'boolean'\n}\n\nconst DIRECTION_NEXT = 'next'\nconst DIRECTION_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_RIGHT = 'carousel-item-right'\nconst CLASS_NAME_LEFT = 'carousel-item-left'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ACTIVE_ITEM = '.active.carousel-item'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-slide], [data-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-ride=\"carousel\"]'\n\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\nclass Carousel {\n constructor(element, config) {\n this._items = null\n this._interval = null\n this._activeElement = null\n this._isPaused = false\n this._isSliding = false\n this.touchTimeout = null\n this.touchStartX = 0\n this.touchDeltaX = 0\n\n this._config = this._getConfig(config)\n this._element = element\n this._indicatorsElement = this._element.querySelector(SELECTOR_INDICATORS)\n this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent)\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n next() {\n if (!this._isSliding) {\n this._slide(DIRECTION_NEXT)\n }\n }\n\n nextWhenVisible() {\n const $element = $(this._element)\n // Don't call next when the page isn't visible\n // or the carousel or its parent isn't visible\n if (!document.hidden &&\n ($element.is(':visible') && $element.css('visibility') !== 'hidden')) {\n this.next()\n }\n }\n\n prev() {\n if (!this._isSliding) {\n this._slide(DIRECTION_PREV)\n }\n }\n\n pause(event) {\n if (!event) {\n this._isPaused = true\n }\n\n if (this._element.querySelector(SELECTOR_NEXT_PREV)) {\n Util.triggerTransitionEnd(this._element)\n this.cycle(true)\n }\n\n clearInterval(this._interval)\n this._interval = null\n }\n\n cycle(event) {\n if (!event) {\n this._isPaused = false\n }\n\n if (this._interval) {\n clearInterval(this._interval)\n this._interval = null\n }\n\n if (this._config.interval && !this._isPaused) {\n this._updateInterval()\n\n this._interval = setInterval(\n (document.visibilityState ? this.nextWhenVisible : this.next).bind(this),\n this._config.interval\n )\n }\n }\n\n to(index) {\n this._activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM)\n\n const activeIndex = this._getItemIndex(this._activeElement)\n\n if (index > this._items.length - 1 || index < 0) {\n return\n }\n\n if (this._isSliding) {\n $(this._element).one(EVENT_SLID, () => this.to(index))\n return\n }\n\n if (activeIndex === index) {\n this.pause()\n this.cycle()\n return\n }\n\n const direction = index > activeIndex ?\n DIRECTION_NEXT :\n DIRECTION_PREV\n\n this._slide(direction, this._items[index])\n }\n\n dispose() {\n $(this._element).off(EVENT_KEY)\n $.removeData(this._element, DATA_KEY)\n\n this._items = null\n this._config = null\n this._element = null\n this._interval = null\n this._isPaused = null\n this._isSliding = null\n this._activeElement = null\n this._indicatorsElement = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _handleSwipe() {\n const absDeltax = Math.abs(this.touchDeltaX)\n\n if (absDeltax <= SWIPE_THRESHOLD) {\n return\n }\n\n const direction = absDeltax / this.touchDeltaX\n\n this.touchDeltaX = 0\n\n // swipe left\n if (direction > 0) {\n this.prev()\n }\n\n // swipe right\n if (direction < 0) {\n this.next()\n }\n }\n\n _addEventListeners() {\n if (this._config.keyboard) {\n $(this._element).on(EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n $(this._element)\n .on(EVENT_MOUSEENTER, event => this.pause(event))\n .on(EVENT_MOUSELEAVE, event => this.cycle(event))\n }\n\n if (this._config.touch) {\n this._addTouchEventListeners()\n }\n }\n\n _addTouchEventListeners() {\n if (!this._touchSupported) {\n return\n }\n\n const start = event => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchStartX = event.originalEvent.clientX\n } else if (!this._pointerEvent) {\n this.touchStartX = event.originalEvent.touches[0].clientX\n }\n }\n\n const move = event => {\n // ensure swiping with one touch and not pinching\n if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = event.originalEvent.touches[0].clientX - this.touchStartX\n }\n }\n\n const end = event => {\n if (this._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\n this.touchDeltaX = event.originalEvent.clientX - this.touchStartX\n }\n\n this._handleSwipe()\n if (this._config.pause === 'hover') {\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n\n this.pause()\n if (this.touchTimeout) {\n clearTimeout(this.touchTimeout)\n }\n\n this.touchTimeout = setTimeout(event => this.cycle(event), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n }\n }\n\n $(this._element.querySelectorAll(SELECTOR_ITEM_IMG))\n .on(EVENT_DRAG_START, e => e.preventDefault())\n\n if (this._pointerEvent) {\n $(this._element).on(EVENT_POINTERDOWN, event => start(event))\n $(this._element).on(EVENT_POINTERUP, event => end(event))\n\n this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n } else {\n $(this._element).on(EVENT_TOUCHSTART, event => start(event))\n $(this._element).on(EVENT_TOUCHMOVE, event => move(event))\n $(this._element).on(EVENT_TOUCHEND, event => end(event))\n }\n }\n\n _keydown(event) {\n if (/input|textarea/i.test(event.target.tagName)) {\n return\n }\n\n switch (event.which) {\n case ARROW_LEFT_KEYCODE:\n event.preventDefault()\n this.prev()\n break\n case ARROW_RIGHT_KEYCODE:\n event.preventDefault()\n this.next()\n break\n default:\n }\n }\n\n _getItemIndex(element) {\n this._items = element && element.parentNode ?\n [].slice.call(element.parentNode.querySelectorAll(SELECTOR_ITEM)) :\n []\n return this._items.indexOf(element)\n }\n\n _getItemByDirection(direction, activeElement) {\n const isNextDirection = direction === DIRECTION_NEXT\n const isPrevDirection = direction === DIRECTION_PREV\n const activeIndex = this._getItemIndex(activeElement)\n const lastItemIndex = this._items.length - 1\n const isGoingToWrap = isPrevDirection && activeIndex === 0 ||\n isNextDirection && activeIndex === lastItemIndex\n\n if (isGoingToWrap && !this._config.wrap) {\n return activeElement\n }\n\n const delta = direction === DIRECTION_PREV ? -1 : 1\n const itemIndex = (activeIndex + delta) % this._items.length\n\n return itemIndex === -1 ?\n this._items[this._items.length - 1] : this._items[itemIndex]\n }\n\n _triggerSlideEvent(relatedTarget, eventDirectionName) {\n const targetIndex = this._getItemIndex(relatedTarget)\n const fromIndex = this._getItemIndex(this._element.querySelector(SELECTOR_ACTIVE_ITEM))\n const slideEvent = $.Event(EVENT_SLIDE, {\n relatedTarget,\n direction: eventDirectionName,\n from: fromIndex,\n to: targetIndex\n })\n\n $(this._element).trigger(slideEvent)\n\n return slideEvent\n }\n\n _setActiveIndicatorElement(element) {\n if (this._indicatorsElement) {\n const indicators = [].slice.call(this._indicatorsElement.querySelectorAll(SELECTOR_ACTIVE))\n $(indicators).removeClass(CLASS_NAME_ACTIVE)\n\n const nextIndicator = this._indicatorsElement.children[\n this._getItemIndex(element)\n ]\n\n if (nextIndicator) {\n $(nextIndicator).addClass(CLASS_NAME_ACTIVE)\n }\n }\n }\n\n _updateInterval() {\n const element = this._activeElement || this._element.querySelector(SELECTOR_ACTIVE_ITEM)\n\n if (!element) {\n return\n }\n\n const elementInterval = parseInt(element.getAttribute('data-interval'), 10)\n\n if (elementInterval) {\n this._config.defaultInterval = this._config.defaultInterval || this._config.interval\n this._config.interval = elementInterval\n } else {\n this._config.interval = this._config.defaultInterval || this._config.interval\n }\n }\n\n _slide(direction, element) {\n const activeElement = this._element.querySelector(SELECTOR_ACTIVE_ITEM)\n const activeElementIndex = this._getItemIndex(activeElement)\n const nextElement = element || activeElement &&\n this._getItemByDirection(direction, activeElement)\n const nextElementIndex = this._getItemIndex(nextElement)\n const isCycling = Boolean(this._interval)\n\n let directionalClassName\n let orderClassName\n let eventDirectionName\n\n if (direction === DIRECTION_NEXT) {\n directionalClassName = CLASS_NAME_LEFT\n orderClassName = CLASS_NAME_NEXT\n eventDirectionName = DIRECTION_LEFT\n } else {\n directionalClassName = CLASS_NAME_RIGHT\n orderClassName = CLASS_NAME_PREV\n eventDirectionName = DIRECTION_RIGHT\n }\n\n if (nextElement && $(nextElement).hasClass(CLASS_NAME_ACTIVE)) {\n this._isSliding = false\n return\n }\n\n const slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName)\n if (slideEvent.isDefaultPrevented()) {\n return\n }\n\n if (!activeElement || !nextElement) {\n // Some weirdness is happening, so we bail\n return\n }\n\n this._isSliding = true\n\n if (isCycling) {\n this.pause()\n }\n\n this._setActiveIndicatorElement(nextElement)\n this._activeElement = nextElement\n\n const slidEvent = $.Event(EVENT_SLID, {\n relatedTarget: nextElement,\n direction: eventDirectionName,\n from: activeElementIndex,\n to: nextElementIndex\n })\n\n if ($(this._element).hasClass(CLASS_NAME_SLIDE)) {\n $(nextElement).addClass(orderClassName)\n\n Util.reflow(nextElement)\n\n $(activeElement).addClass(directionalClassName)\n $(nextElement).addClass(directionalClassName)\n\n const transitionDuration = Util.getTransitionDurationFromElement(activeElement)\n\n $(activeElement)\n .one(Util.TRANSITION_END, () => {\n $(nextElement)\n .removeClass(`${directionalClassName} ${orderClassName}`)\n .addClass(CLASS_NAME_ACTIVE)\n\n $(activeElement).removeClass(`${CLASS_NAME_ACTIVE} ${orderClassName} ${directionalClassName}`)\n\n this._isSliding = false\n\n setTimeout(() => $(this._element).trigger(slidEvent), 0)\n })\n .emulateTransitionEnd(transitionDuration)\n } else {\n $(activeElement).removeClass(CLASS_NAME_ACTIVE)\n $(nextElement).addClass(CLASS_NAME_ACTIVE)\n\n this._isSliding = false\n $(this._element).trigger(slidEvent)\n }\n\n if (isCycling) {\n this.cycle()\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n let _config = {\n ...Default,\n ...$(this).data()\n }\n\n if (typeof config === 'object') {\n _config = {\n ..._config,\n ...config\n }\n }\n\n const action = typeof config === 'string' ? config : _config.slide\n\n if (!data) {\n data = new Carousel(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'number') {\n data.to(config)\n } else if (typeof action === 'string') {\n if (typeof data[action] === 'undefined') {\n throw new TypeError(`No method named \"${action}\"`)\n }\n\n data[action]()\n } else if (_config.interval && _config.ride) {\n data.pause()\n data.cycle()\n }\n })\n }\n\n static _dataApiClickHandler(event) {\n const selector = Util.getSelectorFromElement(this)\n\n if (!selector) {\n return\n }\n\n const target = $(selector)[0]\n\n if (!target || !$(target).hasClass(CLASS_NAME_CAROUSEL)) {\n return\n }\n\n const config = {\n ...$(target).data(),\n ...$(this).data()\n }\n const slideIndex = this.getAttribute('data-slide-to')\n\n if (slideIndex) {\n config.interval = false\n }\n\n Carousel._jQueryInterface.call($(target), config)\n\n if (slideIndex) {\n $(target).data(DATA_KEY).to(slideIndex)\n }\n\n event.preventDefault()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, Carousel._dataApiClickHandler)\n\n$(window).on(EVENT_LOAD_DATA_API, () => {\n const carousels = [].slice.call(document.querySelectorAll(SELECTOR_DATA_RIDE))\n for (let i = 0, len = carousels.length; i < len; i++) {\n const $carousel = $(carousels[i])\n Carousel._jQueryInterface.call($carousel, $carousel.data())\n }\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Carousel._jQueryInterface\n$.fn[NAME].Constructor = Carousel\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Carousel._jQueryInterface\n}\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'collapse'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n toggle: true,\n parent: ''\n}\n\nconst DefaultType = {\n toggle: 'boolean',\n parent: '(string|element)'\n}\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\n\nconst DIMENSION_WIDTH = 'width'\nconst DIMENSION_HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.show, .collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"collapse\"]'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Collapse {\n constructor(element, config) {\n this._isTransitioning = false\n this._element = element\n this._config = this._getConfig(config)\n this._triggerArray = [].slice.call(document.querySelectorAll(\n `[data-toggle=\"collapse\"][href=\"#${element.id}\"],` +\n `[data-toggle=\"collapse\"][data-target=\"#${element.id}\"]`\n ))\n\n const toggleList = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\n for (let i = 0, len = toggleList.length; i < len; i++) {\n const elem = toggleList[i]\n const selector = Util.getSelectorFromElement(elem)\n const filterElement = [].slice.call(document.querySelectorAll(selector))\n .filter(foundElem => foundElem === element)\n\n if (selector !== null && filterElement.length > 0) {\n this._selector = selector\n this._triggerArray.push(elem)\n }\n }\n\n this._parent = this._config.parent ? this._getParent() : null\n\n if (!this._config.parent) {\n this._addAriaAndCollapsedClass(this._element, this._triggerArray)\n }\n\n if (this._config.toggle) {\n this.toggle()\n }\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle() {\n if ($(this._element).hasClass(CLASS_NAME_SHOW)) {\n this.hide()\n } else {\n this.show()\n }\n }\n\n show() {\n if (this._isTransitioning ||\n $(this._element).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n let actives\n let activesData\n\n if (this._parent) {\n actives = [].slice.call(this._parent.querySelectorAll(SELECTOR_ACTIVES))\n .filter(elem => {\n if (typeof this._config.parent === 'string') {\n return elem.getAttribute('data-parent') === this._config.parent\n }\n\n return elem.classList.contains(CLASS_NAME_COLLAPSE)\n })\n\n if (actives.length === 0) {\n actives = null\n }\n }\n\n if (actives) {\n activesData = $(actives).not(this._selector).data(DATA_KEY)\n if (activesData && activesData._isTransitioning) {\n return\n }\n }\n\n const startEvent = $.Event(EVENT_SHOW)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n if (actives) {\n Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide')\n if (!activesData) {\n $(actives).data(DATA_KEY, null)\n }\n }\n\n const dimension = this._getDimension()\n\n $(this._element)\n .removeClass(CLASS_NAME_COLLAPSE)\n .addClass(CLASS_NAME_COLLAPSING)\n\n this._element.style[dimension] = 0\n\n if (this._triggerArray.length) {\n $(this._triggerArray)\n .removeClass(CLASS_NAME_COLLAPSED)\n .attr('aria-expanded', true)\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n $(this._element)\n .removeClass(CLASS_NAME_COLLAPSING)\n .addClass(`${CLASS_NAME_COLLAPSE} ${CLASS_NAME_SHOW}`)\n\n this._element.style[dimension] = ''\n\n this.setTransitioning(false)\n\n $(this._element).trigger(EVENT_SHOWN)\n }\n\n const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n const scrollSize = `scroll${capitalizedDimension}`\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n\n this._element.style[dimension] = `${this._element[scrollSize]}px`\n }\n\n hide() {\n if (this._isTransitioning ||\n !$(this._element).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n const startEvent = $.Event(EVENT_HIDE)\n $(this._element).trigger(startEvent)\n if (startEvent.isDefaultPrevented()) {\n return\n }\n\n const dimension = this._getDimension()\n\n this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n Util.reflow(this._element)\n\n $(this._element)\n .addClass(CLASS_NAME_COLLAPSING)\n .removeClass(`${CLASS_NAME_COLLAPSE} ${CLASS_NAME_SHOW}`)\n\n const triggerArrayLength = this._triggerArray.length\n if (triggerArrayLength > 0) {\n for (let i = 0; i < triggerArrayLength; i++) {\n const trigger = this._triggerArray[i]\n const selector = Util.getSelectorFromElement(trigger)\n\n if (selector !== null) {\n const $elem = $([].slice.call(document.querySelectorAll(selector)))\n if (!$elem.hasClass(CLASS_NAME_SHOW)) {\n $(trigger).addClass(CLASS_NAME_COLLAPSED)\n .attr('aria-expanded', false)\n }\n }\n }\n }\n\n this.setTransitioning(true)\n\n const complete = () => {\n this.setTransitioning(false)\n $(this._element)\n .removeClass(CLASS_NAME_COLLAPSING)\n .addClass(CLASS_NAME_COLLAPSE)\n .trigger(EVENT_HIDDEN)\n }\n\n this._element.style[dimension] = ''\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n }\n\n setTransitioning(isTransitioning) {\n this._isTransitioning = isTransitioning\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._parent = null\n this._element = null\n this._triggerArray = null\n this._isTransitioning = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n config.toggle = Boolean(config.toggle) // Coerce string values\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _getDimension() {\n const hasWidth = $(this._element).hasClass(DIMENSION_WIDTH)\n return hasWidth ? DIMENSION_WIDTH : DIMENSION_HEIGHT\n }\n\n _getParent() {\n let parent\n\n if (Util.isElement(this._config.parent)) {\n parent = this._config.parent\n\n // It's a jQuery object\n if (typeof this._config.parent.jquery !== 'undefined') {\n parent = this._config.parent[0]\n }\n } else {\n parent = document.querySelector(this._config.parent)\n }\n\n const selector = `[data-toggle=\"collapse\"][data-parent=\"${this._config.parent}\"]`\n const children = [].slice.call(parent.querySelectorAll(selector))\n\n $(children).each((i, element) => {\n this._addAriaAndCollapsedClass(\n Collapse._getTargetFromElement(element),\n [element]\n )\n })\n\n return parent\n }\n\n _addAriaAndCollapsedClass(element, triggerArray) {\n const isOpen = $(element).hasClass(CLASS_NAME_SHOW)\n\n if (triggerArray.length) {\n $(triggerArray)\n .toggleClass(CLASS_NAME_COLLAPSED, !isOpen)\n .attr('aria-expanded', isOpen)\n }\n }\n\n // Static\n\n static _getTargetFromElement(element) {\n const selector = Util.getSelectorFromElement(element)\n return selector ? document.querySelector(selector) : null\n }\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n const _config = {\n ...Default,\n ...$element.data(),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {\n _config.toggle = false\n }\n\n if (!data) {\n data = new Collapse(this, _config)\n $element.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n // preventDefault only for elements (which change the URL) not inside the collapsible element\n if (event.currentTarget.tagName === 'A') {\n event.preventDefault()\n }\n\n const $trigger = $(this)\n const selector = Util.getSelectorFromElement(this)\n const selectors = [].slice.call(document.querySelectorAll(selector))\n\n $(selectors).each(function () {\n const $target = $(this)\n const data = $target.data(DATA_KEY)\n const config = data ? 'toggle' : $trigger.data()\n Collapse._jQueryInterface.call($target, config)\n })\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Collapse._jQueryInterface\n$.fn[NAME].Constructor = Collapse\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Collapse._jQueryInterface\n}\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'dropdown'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\nconst SPACE_KEYCODE = 32 // KeyboardEvent.which value for space key\nconst TAB_KEYCODE = 9 // KeyboardEvent.which value for tab key\nconst ARROW_UP_KEYCODE = 38 // KeyboardEvent.which value for up arrow key\nconst ARROW_DOWN_KEYCODE = 40 // KeyboardEvent.which value for down arrow key\nconst RIGHT_MOUSE_BUTTON_WHICH = 3 // MouseEvent.which value for the right button (assuming a right-handed mouse)\nconst REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEYCODE}|${ARROW_DOWN_KEYCODE}|${ESCAPE_KEYCODE}`)\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPRIGHT = 'dropright'\nconst CLASS_NAME_DROPLEFT = 'dropleft'\nconst CLASS_NAME_MENURIGHT = 'dropdown-menu-right'\nconst CLASS_NAME_POSITION_STATIC = 'position-static'\n\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"dropdown\"]'\nconst SELECTOR_FORM_CHILD = '.dropdown form'\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = 'top-start'\nconst PLACEMENT_TOPEND = 'top-end'\nconst PLACEMENT_BOTTOM = 'bottom-start'\nconst PLACEMENT_BOTTOMEND = 'bottom-end'\nconst PLACEMENT_RIGHT = 'right-start'\nconst PLACEMENT_LEFT = 'left-start'\n\nconst Default = {\n offset: 0,\n flip: true,\n boundary: 'scrollParent',\n reference: 'toggle',\n display: 'dynamic',\n popperConfig: null\n}\n\nconst DefaultType = {\n offset: '(number|string|function)',\n flip: 'boolean',\n boundary: '(string|element)',\n reference: '(string|element)',\n display: 'string',\n popperConfig: '(null|object)'\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Dropdown {\n constructor(element, config) {\n this._element = element\n this._popper = null\n this._config = this._getConfig(config)\n this._menu = this._getMenuElement()\n this._inNavbar = this._detectNavbar()\n\n this._addEventListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n toggle() {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED)) {\n return\n }\n\n const isActive = $(this._menu).hasClass(CLASS_NAME_SHOW)\n\n Dropdown._clearMenus()\n\n if (isActive) {\n return\n }\n\n this.show(true)\n }\n\n show(usePopper = false) {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || $(this._menu).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const showEvent = $.Event(EVENT_SHOW, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(showEvent)\n\n if (showEvent.isDefaultPrevented()) {\n return\n }\n\n // Totally disable Popper for Dropdowns in Navbar\n if (!this._inNavbar && usePopper) {\n /**\n * Check for Popper dependency\n * Popper - https://popper.js.org\n */\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org)')\n }\n\n let referenceElement = this._element\n\n if (this._config.reference === 'parent') {\n referenceElement = parent\n } else if (Util.isElement(this._config.reference)) {\n referenceElement = this._config.reference\n\n // Check if it's jQuery element\n if (typeof this._config.reference.jquery !== 'undefined') {\n referenceElement = this._config.reference[0]\n }\n }\n\n // If boundary is not `scrollParent`, then set position to `static`\n // to allow the menu to \"escape\" the scroll parent's boundaries\n // https://github.com/twbs/bootstrap/issues/24251\n if (this._config.boundary !== 'scrollParent') {\n $(parent).addClass(CLASS_NAME_POSITION_STATIC)\n }\n\n this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig())\n }\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement &&\n $(parent).closest(SELECTOR_NAVBAR_NAV).length === 0) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n this._element.focus()\n this._element.setAttribute('aria-expanded', true)\n\n $(this._menu).toggleClass(CLASS_NAME_SHOW)\n $(parent)\n .toggleClass(CLASS_NAME_SHOW)\n .trigger($.Event(EVENT_SHOWN, relatedTarget))\n }\n\n hide() {\n if (this._element.disabled || $(this._element).hasClass(CLASS_NAME_DISABLED) || !$(this._menu).hasClass(CLASS_NAME_SHOW)) {\n return\n }\n\n const relatedTarget = {\n relatedTarget: this._element\n }\n const hideEvent = $.Event(EVENT_HIDE, relatedTarget)\n const parent = Dropdown._getParentFromElement(this._element)\n\n $(parent).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n if (this._popper) {\n this._popper.destroy()\n }\n\n $(this._menu).toggleClass(CLASS_NAME_SHOW)\n $(parent)\n .toggleClass(CLASS_NAME_SHOW)\n .trigger($.Event(EVENT_HIDDEN, relatedTarget))\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._element).off(EVENT_KEY)\n this._element = null\n this._menu = null\n if (this._popper !== null) {\n this._popper.destroy()\n this._popper = null\n }\n }\n\n update() {\n this._inNavbar = this._detectNavbar()\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Private\n\n _addEventListeners() {\n $(this._element).on(EVENT_CLICK, event => {\n event.preventDefault()\n event.stopPropagation()\n this.toggle()\n })\n }\n\n _getConfig(config) {\n config = {\n ...this.constructor.Default,\n ...$(this._element).data(),\n ...config\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _getMenuElement() {\n if (!this._menu) {\n const parent = Dropdown._getParentFromElement(this._element)\n\n if (parent) {\n this._menu = parent.querySelector(SELECTOR_MENU)\n }\n }\n\n return this._menu\n }\n\n _getPlacement() {\n const $parentDropdown = $(this._element.parentNode)\n let placement = PLACEMENT_BOTTOM\n\n // Handle dropup\n if ($parentDropdown.hasClass(CLASS_NAME_DROPUP)) {\n placement = $(this._menu).hasClass(CLASS_NAME_MENURIGHT) ?\n PLACEMENT_TOPEND :\n PLACEMENT_TOP\n } else if ($parentDropdown.hasClass(CLASS_NAME_DROPRIGHT)) {\n placement = PLACEMENT_RIGHT\n } else if ($parentDropdown.hasClass(CLASS_NAME_DROPLEFT)) {\n placement = PLACEMENT_LEFT\n } else if ($(this._menu).hasClass(CLASS_NAME_MENURIGHT)) {\n placement = PLACEMENT_BOTTOMEND\n }\n\n return placement\n }\n\n _detectNavbar() {\n return $(this._element).closest('.navbar').length > 0\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this._config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this._config.offset(data.offsets, this._element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this._config.offset\n }\n\n return offset\n }\n\n _getPopperConfig() {\n const popperConfig = {\n placement: this._getPlacement(),\n modifiers: {\n offset: this._getOffset(),\n flip: {\n enabled: this._config.flip\n },\n preventOverflow: {\n boundariesElement: this._config.boundary\n }\n }\n }\n\n // Disable Popper if we have a static display\n if (this._config.display === 'static') {\n popperConfig.modifiers.applyStyle = {\n enabled: false\n }\n }\n\n return {\n ...popperConfig,\n ...this._config.popperConfig\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data) {\n data = new Dropdown(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n\n static _clearMenus(event) {\n if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH ||\n event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\n return\n }\n\n const toggles = [].slice.call(document.querySelectorAll(SELECTOR_DATA_TOGGLE))\n\n for (let i = 0, len = toggles.length; i < len; i++) {\n const parent = Dropdown._getParentFromElement(toggles[i])\n const context = $(toggles[i]).data(DATA_KEY)\n const relatedTarget = {\n relatedTarget: toggles[i]\n }\n\n if (event && event.type === 'click') {\n relatedTarget.clickEvent = event\n }\n\n if (!context) {\n continue\n }\n\n const dropdownMenu = context._menu\n if (!$(parent).hasClass(CLASS_NAME_SHOW)) {\n continue\n }\n\n if (event && (event.type === 'click' &&\n /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) &&\n $.contains(parent, event.target)) {\n continue\n }\n\n const hideEvent = $.Event(EVENT_HIDE, relatedTarget)\n $(parent).trigger(hideEvent)\n if (hideEvent.isDefaultPrevented()) {\n continue\n }\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n toggles[i].setAttribute('aria-expanded', 'false')\n\n if (context._popper) {\n context._popper.destroy()\n }\n\n $(dropdownMenu).removeClass(CLASS_NAME_SHOW)\n $(parent)\n .removeClass(CLASS_NAME_SHOW)\n .trigger($.Event(EVENT_HIDDEN, relatedTarget))\n }\n }\n\n static _getParentFromElement(element) {\n let parent\n const selector = Util.getSelectorFromElement(element)\n\n if (selector) {\n parent = document.querySelector(selector)\n }\n\n return parent || element.parentNode\n }\n\n // eslint-disable-next-line complexity\n static _dataApiKeydownHandler(event) {\n // If not input/textarea:\n // - And not a key in REGEXP_KEYDOWN => not a dropdown command\n // If input/textarea:\n // - If space key => not a dropdown command\n // - If key is other than escape\n // - If key is not up or down => not a dropdown command\n // - If trigger inside the menu => not a dropdown command\n if (/input|textarea/i.test(event.target.tagName) ?\n event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE &&\n (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE ||\n $(event.target).closest(SELECTOR_MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\n return\n }\n\n if (this.disabled || $(this).hasClass(CLASS_NAME_DISABLED)) {\n return\n }\n\n const parent = Dropdown._getParentFromElement(this)\n const isActive = $(parent).hasClass(CLASS_NAME_SHOW)\n\n if (!isActive && event.which === ESCAPE_KEYCODE) {\n return\n }\n\n event.preventDefault()\n event.stopPropagation()\n\n if (!isActive || (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\n if (event.which === ESCAPE_KEYCODE) {\n $(parent.querySelector(SELECTOR_DATA_TOGGLE)).trigger('focus')\n }\n\n $(this).trigger('click')\n return\n }\n\n const items = [].slice.call(parent.querySelectorAll(SELECTOR_VISIBLE_ITEMS))\n .filter(item => $(item).is(':visible'))\n\n if (items.length === 0) {\n return\n }\n\n let index = items.indexOf(event.target)\n\n if (event.which === ARROW_UP_KEYCODE && index > 0) { // Up\n index--\n }\n\n if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) { // Down\n index++\n }\n\n if (index < 0) {\n index = 0\n }\n\n items[index].focus()\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document)\n .on(EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown._dataApiKeydownHandler)\n .on(EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown._dataApiKeydownHandler)\n .on(`${EVENT_CLICK_DATA_API} ${EVENT_KEYUP_DATA_API}`, Dropdown._clearMenus)\n .on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n event.preventDefault()\n event.stopPropagation()\n Dropdown._jQueryInterface.call($(this), 'toggle')\n })\n .on(EVENT_CLICK_DATA_API, SELECTOR_FORM_CHILD, e => {\n e.stopPropagation()\n })\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Dropdown._jQueryInterface\n$.fn[NAME].Constructor = Dropdown\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Dropdown._jQueryInterface\n}\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'modal'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst ESCAPE_KEYCODE = 27 // KeyboardEvent.which value for Escape (Esc) key\n\nconst Default = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: true\n}\n\nconst DefaultType = {\n backdrop: '(boolean|string)',\n keyboard: 'boolean',\n focus: 'boolean',\n show: 'boolean'\n}\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEUP_DISMISS = `mouseup.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SCROLLABLE = 'modal-dialog-scrollable'\nconst CLASS_NAME_SCROLLBAR_MEASURER = 'modal-scrollbar-measure'\nconst CLASS_NAME_BACKDROP = 'modal-backdrop'\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"modal\"]'\nconst SELECTOR_DATA_DISMISS = '[data-dismiss=\"modal\"]'\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Modal {\n constructor(element, config) {\n this._config = this._getConfig(config)\n this._element = element\n this._dialog = element.querySelector(SELECTOR_DIALOG)\n this._backdrop = null\n this._isShown = false\n this._isBodyOverflowing = false\n this._ignoreBackdropClick = false\n this._isTransitioning = false\n this._scrollbarWidth = 0\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n toggle(relatedTarget) {\n return this._isShown ? this.hide() : this.show(relatedTarget)\n }\n\n show(relatedTarget) {\n if (this._isShown || this._isTransitioning) {\n return\n }\n\n if ($(this._element).hasClass(CLASS_NAME_FADE)) {\n this._isTransitioning = true\n }\n\n const showEvent = $.Event(EVENT_SHOW, {\n relatedTarget\n })\n\n $(this._element).trigger(showEvent)\n\n if (this._isShown || showEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = true\n\n this._checkScrollbar()\n this._setScrollbar()\n\n this._adjustDialog()\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(this._element).on(\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n event => this.hide(event)\n )\n\n $(this._dialog).on(EVENT_MOUSEDOWN_DISMISS, () => {\n $(this._element).one(EVENT_MOUSEUP_DISMISS, event => {\n if ($(event.target).is(this._element)) {\n this._ignoreBackdropClick = true\n }\n })\n })\n\n this._showBackdrop(() => this._showElement(relatedTarget))\n }\n\n hide(event) {\n if (event) {\n event.preventDefault()\n }\n\n if (!this._isShown || this._isTransitioning) {\n return\n }\n\n const hideEvent = $.Event(EVENT_HIDE)\n\n $(this._element).trigger(hideEvent)\n\n if (!this._isShown || hideEvent.isDefaultPrevented()) {\n return\n }\n\n this._isShown = false\n const transition = $(this._element).hasClass(CLASS_NAME_FADE)\n\n if (transition) {\n this._isTransitioning = true\n }\n\n this._setEscapeEvent()\n this._setResizeEvent()\n\n $(document).off(EVENT_FOCUSIN)\n\n $(this._element).removeClass(CLASS_NAME_SHOW)\n\n $(this._element).off(EVENT_CLICK_DISMISS)\n $(this._dialog).off(EVENT_MOUSEDOWN_DISMISS)\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._element)\n\n $(this._element)\n .one(Util.TRANSITION_END, event => this._hideModal(event))\n .emulateTransitionEnd(transitionDuration)\n } else {\n this._hideModal()\n }\n }\n\n dispose() {\n [window, this._element, this._dialog]\n .forEach(htmlElement => $(htmlElement).off(EVENT_KEY))\n\n /**\n * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`\n * Do not move `document` in `htmlElements` array\n * It will remove `EVENT_CLICK_DATA_API` event that should remain\n */\n $(document).off(EVENT_FOCUSIN)\n\n $.removeData(this._element, DATA_KEY)\n\n this._config = null\n this._element = null\n this._dialog = null\n this._backdrop = null\n this._isShown = null\n this._isBodyOverflowing = null\n this._ignoreBackdropClick = null\n this._isTransitioning = null\n this._scrollbarWidth = null\n }\n\n handleUpdate() {\n this._adjustDialog()\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...config\n }\n Util.typeCheckConfig(NAME, config, DefaultType)\n return config\n }\n\n _triggerBackdropTransition() {\n const hideEventPrevented = $.Event(EVENT_HIDE_PREVENTED)\n\n $(this._element).trigger(hideEventPrevented)\n if (hideEventPrevented.isDefaultPrevented()) {\n return\n }\n\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!isModalOverflowing) {\n this._element.style.overflowY = 'hidden'\n }\n\n this._element.classList.add(CLASS_NAME_STATIC)\n\n const modalTransitionDuration = Util.getTransitionDurationFromElement(this._dialog)\n $(this._element).off(Util.TRANSITION_END)\n\n $(this._element).one(Util.TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\n if (!isModalOverflowing) {\n $(this._element).one(Util.TRANSITION_END, () => {\n this._element.style.overflowY = ''\n })\n .emulateTransitionEnd(this._element, modalTransitionDuration)\n }\n })\n .emulateTransitionEnd(modalTransitionDuration)\n this._element.focus()\n }\n\n _showElement(relatedTarget) {\n const transition = $(this._element).hasClass(CLASS_NAME_FADE)\n const modalBody = this._dialog ? this._dialog.querySelector(SELECTOR_MODAL_BODY) : null\n\n if (!this._element.parentNode ||\n this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\n // Don't move modal's DOM position\n document.body.appendChild(this._element)\n }\n\n this._element.style.display = 'block'\n this._element.removeAttribute('aria-hidden')\n this._element.setAttribute('aria-modal', true)\n this._element.setAttribute('role', 'dialog')\n\n if ($(this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) {\n modalBody.scrollTop = 0\n } else {\n this._element.scrollTop = 0\n }\n\n if (transition) {\n Util.reflow(this._element)\n }\n\n $(this._element).addClass(CLASS_NAME_SHOW)\n\n if (this._config.focus) {\n this._enforceFocus()\n }\n\n const shownEvent = $.Event(EVENT_SHOWN, {\n relatedTarget\n })\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.focus()\n }\n\n this._isTransitioning = false\n $(this._element).trigger(shownEvent)\n }\n\n if (transition) {\n const transitionDuration = Util.getTransitionDurationFromElement(this._dialog)\n\n $(this._dialog)\n .one(Util.TRANSITION_END, transitionComplete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n transitionComplete()\n }\n }\n\n _enforceFocus() {\n $(document)\n .off(EVENT_FOCUSIN) // Guard against infinite focus loop\n .on(EVENT_FOCUSIN, event => {\n if (document !== event.target &&\n this._element !== event.target &&\n $(this._element).has(event.target).length === 0) {\n this._element.focus()\n }\n })\n }\n\n _setEscapeEvent() {\n if (this._isShown) {\n $(this._element).on(EVENT_KEYDOWN_DISMISS, event => {\n if (this._config.keyboard && event.which === ESCAPE_KEYCODE) {\n event.preventDefault()\n this.hide()\n } else if (!this._config.keyboard && event.which === ESCAPE_KEYCODE) {\n this._triggerBackdropTransition()\n }\n })\n } else if (!this._isShown) {\n $(this._element).off(EVENT_KEYDOWN_DISMISS)\n }\n }\n\n _setResizeEvent() {\n if (this._isShown) {\n $(window).on(EVENT_RESIZE, event => this.handleUpdate(event))\n } else {\n $(window).off(EVENT_RESIZE)\n }\n }\n\n _hideModal() {\n this._element.style.display = 'none'\n this._element.setAttribute('aria-hidden', true)\n this._element.removeAttribute('aria-modal')\n this._element.removeAttribute('role')\n this._isTransitioning = false\n this._showBackdrop(() => {\n $(document.body).removeClass(CLASS_NAME_OPEN)\n this._resetAdjustments()\n this._resetScrollbar()\n $(this._element).trigger(EVENT_HIDDEN)\n })\n }\n\n _removeBackdrop() {\n if (this._backdrop) {\n $(this._backdrop).remove()\n this._backdrop = null\n }\n }\n\n _showBackdrop(callback) {\n const animate = $(this._element).hasClass(CLASS_NAME_FADE) ?\n CLASS_NAME_FADE : ''\n\n if (this._isShown && this._config.backdrop) {\n this._backdrop = document.createElement('div')\n this._backdrop.className = CLASS_NAME_BACKDROP\n\n if (animate) {\n this._backdrop.classList.add(animate)\n }\n\n $(this._backdrop).appendTo(document.body)\n\n $(this._element).on(EVENT_CLICK_DISMISS, event => {\n if (this._ignoreBackdropClick) {\n this._ignoreBackdropClick = false\n return\n }\n\n if (event.target !== event.currentTarget) {\n return\n }\n\n if (this._config.backdrop === 'static') {\n this._triggerBackdropTransition()\n } else {\n this.hide()\n }\n })\n\n if (animate) {\n Util.reflow(this._backdrop)\n }\n\n $(this._backdrop).addClass(CLASS_NAME_SHOW)\n\n if (!callback) {\n return\n }\n\n if (!animate) {\n callback()\n return\n }\n\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callback)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else if (!this._isShown && this._backdrop) {\n $(this._backdrop).removeClass(CLASS_NAME_SHOW)\n\n const callbackRemove = () => {\n this._removeBackdrop()\n if (callback) {\n callback()\n }\n }\n\n if ($(this._element).hasClass(CLASS_NAME_FADE)) {\n const backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop)\n\n $(this._backdrop)\n .one(Util.TRANSITION_END, callbackRemove)\n .emulateTransitionEnd(backdropTransitionDuration)\n } else {\n callbackRemove()\n }\n } else if (callback) {\n callback()\n }\n }\n\n // ----------------------------------------------------------------------\n // the following methods are used to handle overflowing modals\n // todo (fat): these should probably be refactored out of modal.js\n // ----------------------------------------------------------------------\n\n _adjustDialog() {\n const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n\n if (!this._isBodyOverflowing && isModalOverflowing) {\n this._element.style.paddingLeft = `${this._scrollbarWidth}px`\n }\n\n if (this._isBodyOverflowing && !isModalOverflowing) {\n this._element.style.paddingRight = `${this._scrollbarWidth}px`\n }\n }\n\n _resetAdjustments() {\n this._element.style.paddingLeft = ''\n this._element.style.paddingRight = ''\n }\n\n _checkScrollbar() {\n const rect = document.body.getBoundingClientRect()\n this._isBodyOverflowing = Math.round(rect.left + rect.right) < window.innerWidth\n this._scrollbarWidth = this._getScrollbarWidth()\n }\n\n _setScrollbar() {\n if (this._isBodyOverflowing) {\n // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\n // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\n const fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT))\n const stickyContent = [].slice.call(document.querySelectorAll(SELECTOR_STICKY_CONTENT))\n\n // Adjust fixed content padding\n $(fixedContent).each((index, element) => {\n const actualPadding = element.style.paddingRight\n const calculatedPadding = $(element).css('padding-right')\n $(element)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n })\n\n // Adjust sticky content margin\n $(stickyContent).each((index, element) => {\n const actualMargin = element.style.marginRight\n const calculatedMargin = $(element).css('margin-right')\n $(element)\n .data('margin-right', actualMargin)\n .css('margin-right', `${parseFloat(calculatedMargin) - this._scrollbarWidth}px`)\n })\n\n // Adjust body padding\n const actualPadding = document.body.style.paddingRight\n const calculatedPadding = $(document.body).css('padding-right')\n $(document.body)\n .data('padding-right', actualPadding)\n .css('padding-right', `${parseFloat(calculatedPadding) + this._scrollbarWidth}px`)\n }\n\n $(document.body).addClass(CLASS_NAME_OPEN)\n }\n\n _resetScrollbar() {\n // Restore fixed content padding\n const fixedContent = [].slice.call(document.querySelectorAll(SELECTOR_FIXED_CONTENT))\n $(fixedContent).each((index, element) => {\n const padding = $(element).data('padding-right')\n $(element).removeData('padding-right')\n element.style.paddingRight = padding ? padding : ''\n })\n\n // Restore sticky content\n const elements = [].slice.call(document.querySelectorAll(`${SELECTOR_STICKY_CONTENT}`))\n $(elements).each((index, element) => {\n const margin = $(element).data('margin-right')\n if (typeof margin !== 'undefined') {\n $(element).css('margin-right', margin).removeData('margin-right')\n }\n })\n\n // Restore body padding\n const padding = $(document.body).data('padding-right')\n $(document.body).removeData('padding-right')\n document.body.style.paddingRight = padding ? padding : ''\n }\n\n _getScrollbarWidth() { // thx d.walsh\n const scrollDiv = document.createElement('div')\n scrollDiv.className = CLASS_NAME_SCROLLBAR_MEASURER\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n }\n\n // Static\n\n static _jQueryInterface(config, relatedTarget) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = {\n ...Default,\n ...$(this).data(),\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (!data) {\n data = new Modal(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config](relatedTarget)\n } else if (_config.show) {\n data.show(relatedTarget)\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n$(document).on(EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n let target\n const selector = Util.getSelectorFromElement(this)\n\n if (selector) {\n target = document.querySelector(selector)\n }\n\n const config = $(target).data(DATA_KEY) ?\n 'toggle' : {\n ...$(target).data(),\n ...$(this).data()\n }\n\n if (this.tagName === 'A' || this.tagName === 'AREA') {\n event.preventDefault()\n }\n\n const $target = $(target).one(EVENT_SHOW, showEvent => {\n if (showEvent.isDefaultPrevented()) {\n // Only register focus restorer if modal will actually get shown\n return\n }\n\n $target.one(EVENT_HIDDEN, () => {\n if ($(this).is(':visible')) {\n this.focus()\n }\n })\n })\n\n Modal._jQueryInterface.call($(target), config, this)\n})\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Modal._jQueryInterface\n$.fn[NAME].Constructor = Modal\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Modal._jQueryInterface\n}\n\nexport default Modal\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): tools/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst uriAttrs = [\n 'background',\n 'cite',\n 'href',\n 'itemtype',\n 'longdesc',\n 'poster',\n 'src',\n 'xlink:href'\n]\n\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultWhitelist = {\n // Global attributes allowed on any supplied element below.\n '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n a: ['target', 'href', 'title', 'rel'],\n area: [],\n b: [],\n br: [],\n col: [],\n code: [],\n div: [],\n em: [],\n hr: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n i: [],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n li: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n small: [],\n span: [],\n sub: [],\n sup: [],\n strong: [],\n u: [],\n ul: []\n}\n\n/**\n * A pattern that recognizes a commonly useful subset of URLs that are safe.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi\n\n/**\n * A pattern that matches safe data URLs. Only matches image, video and audio types.\n *\n * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\n */\nconst DATA_URL_PATTERN = /^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[\\d+/a-z]+=*$/i\n\nfunction allowedAttribute(attr, allowedAttributeList) {\n const attrName = attr.nodeName.toLowerCase()\n\n if (allowedAttributeList.indexOf(attrName) !== -1) {\n if (uriAttrs.indexOf(attrName) !== -1) {\n return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN))\n }\n\n return true\n }\n\n const regExp = allowedAttributeList.filter(attrRegex => attrRegex instanceof RegExp)\n\n // Check if a regular expression validates the attribute.\n for (let i = 0, len = regExp.length; i < len; i++) {\n if (attrName.match(regExp[i])) {\n return true\n }\n }\n\n return false\n}\n\nexport function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\n if (unsafeHtml.length === 0) {\n return unsafeHtml\n }\n\n if (sanitizeFn && typeof sanitizeFn === 'function') {\n return sanitizeFn(unsafeHtml)\n }\n\n const domParser = new window.DOMParser()\n const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n const whitelistKeys = Object.keys(whiteList)\n const elements = [].slice.call(createdDocument.body.querySelectorAll('*'))\n\n for (let i = 0, len = elements.length; i < len; i++) {\n const el = elements[i]\n const elName = el.nodeName.toLowerCase()\n\n if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].slice.call(el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n DefaultWhitelist,\n sanitizeHtml\n} from './tools/sanitizer'\nimport $ from 'jquery'\nimport Popper from 'popper.js'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'tooltip'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.tooltip'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-tooltip'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\nconst DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn']\n\nconst DefaultType = {\n animation: 'boolean',\n template: 'string',\n title: '(string|element|function)',\n trigger: 'string',\n delay: '(number|object)',\n html: 'boolean',\n selector: '(string|boolean)',\n placement: '(string|function)',\n offset: '(number|string|function)',\n container: '(string|element|boolean)',\n fallbackPlacement: '(string|array)',\n boundary: '(string|element)',\n customClass: '(string|function)',\n sanitize: 'boolean',\n sanitizeFn: '(null|function)',\n whiteList: 'object',\n popperConfig: '(null|object)'\n}\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nconst Default = {\n animation: true,\n template: '
' +\n '
' +\n '
',\n trigger: 'hover focus',\n title: '',\n delay: 0,\n html: false,\n selector: false,\n placement: 'top',\n offset: 0,\n container: false,\n fallbackPlacement: 'flip',\n boundary: 'scrollParent',\n customClass: '',\n sanitize: true,\n sanitizeFn: null,\n whiteList: DefaultWhitelist,\n popperConfig: null\n}\n\nconst HOVER_STATE_SHOW = 'show'\nconst HOVER_STATE_OUT = 'out'\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_ARROW = '.arrow'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Tooltip {\n constructor(element, config) {\n if (typeof Popper === 'undefined') {\n throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org)')\n }\n\n // private\n this._isEnabled = true\n this._timeout = 0\n this._hoverState = ''\n this._activeTrigger = {}\n this._popper = null\n\n // Protected\n this.element = element\n this.config = this._getConfig(config)\n this.tip = null\n\n this._setListeners()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Public\n\n enable() {\n this._isEnabled = true\n }\n\n disable() {\n this._isEnabled = false\n }\n\n toggleEnabled() {\n this._isEnabled = !this._isEnabled\n }\n\n toggle(event) {\n if (!this._isEnabled) {\n return\n }\n\n if (event) {\n const dataKey = this.constructor.DATA_KEY\n let context = $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n context._activeTrigger.click = !context._activeTrigger.click\n\n if (context._isWithActiveTrigger()) {\n context._enter(null, context)\n } else {\n context._leave(null, context)\n }\n } else {\n if ($(this.getTipElement()).hasClass(CLASS_NAME_SHOW)) {\n this._leave(null, this)\n return\n }\n\n this._enter(null, this)\n }\n }\n\n dispose() {\n clearTimeout(this._timeout)\n\n $.removeData(this.element, this.constructor.DATA_KEY)\n\n $(this.element).off(this.constructor.EVENT_KEY)\n $(this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler)\n\n if (this.tip) {\n $(this.tip).remove()\n }\n\n this._isEnabled = null\n this._timeout = null\n this._hoverState = null\n this._activeTrigger = null\n if (this._popper) {\n this._popper.destroy()\n }\n\n this._popper = null\n this.element = null\n this.config = null\n this.tip = null\n }\n\n show() {\n if ($(this.element).css('display') === 'none') {\n throw new Error('Please use show on visible elements')\n }\n\n const showEvent = $.Event(this.constructor.Event.SHOW)\n if (this.isWithContent() && this._isEnabled) {\n $(this.element).trigger(showEvent)\n\n const shadowRoot = Util.findShadowRoot(this.element)\n const isInTheDom = $.contains(\n shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement,\n this.element\n )\n\n if (showEvent.isDefaultPrevented() || !isInTheDom) {\n return\n }\n\n const tip = this.getTipElement()\n const tipId = Util.getUID(this.constructor.NAME)\n\n tip.setAttribute('id', tipId)\n this.element.setAttribute('aria-describedby', tipId)\n\n this.setContent()\n\n if (this.config.animation) {\n $(tip).addClass(CLASS_NAME_FADE)\n }\n\n const placement = typeof this.config.placement === 'function' ?\n this.config.placement.call(this, tip, this.element) :\n this.config.placement\n\n const attachment = this._getAttachment(placement)\n this.addAttachmentClass(attachment)\n\n const container = this._getContainer()\n $(tip).data(this.constructor.DATA_KEY, this)\n\n if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\n $(tip).appendTo(container)\n }\n\n $(this.element).trigger(this.constructor.Event.INSERTED)\n\n this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment))\n\n $(tip).addClass(CLASS_NAME_SHOW)\n $(tip).addClass(this.config.customClass)\n\n // If this is a touch-enabled device we add extra\n // empty mouseover listeners to the body's immediate children;\n // only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().on('mouseover', null, $.noop)\n }\n\n const complete = () => {\n if (this.config.animation) {\n this._fixTransition()\n }\n\n const prevHoverState = this._hoverState\n this._hoverState = null\n\n $(this.element).trigger(this.constructor.Event.SHOWN)\n\n if (prevHoverState === HOVER_STATE_OUT) {\n this._leave(null, this)\n }\n }\n\n if ($(this.tip).hasClass(CLASS_NAME_FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(this.tip)\n\n $(this.tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n }\n }\n\n hide(callback) {\n const tip = this.getTipElement()\n const hideEvent = $.Event(this.constructor.Event.HIDE)\n const complete = () => {\n if (this._hoverState !== HOVER_STATE_SHOW && tip.parentNode) {\n tip.parentNode.removeChild(tip)\n }\n\n this._cleanTipClass()\n this.element.removeAttribute('aria-describedby')\n $(this.element).trigger(this.constructor.Event.HIDDEN)\n if (this._popper !== null) {\n this._popper.destroy()\n }\n\n if (callback) {\n callback()\n }\n }\n\n $(this.element).trigger(hideEvent)\n\n if (hideEvent.isDefaultPrevented()) {\n return\n }\n\n $(tip).removeClass(CLASS_NAME_SHOW)\n\n // If this is a touch-enabled device we remove the extra\n // empty mouseover listeners we added for iOS support\n if ('ontouchstart' in document.documentElement) {\n $(document.body).children().off('mouseover', null, $.noop)\n }\n\n this._activeTrigger[TRIGGER_CLICK] = false\n this._activeTrigger[TRIGGER_FOCUS] = false\n this._activeTrigger[TRIGGER_HOVER] = false\n\n if ($(this.tip).hasClass(CLASS_NAME_FADE)) {\n const transitionDuration = Util.getTransitionDurationFromElement(tip)\n\n $(tip)\n .one(Util.TRANSITION_END, complete)\n .emulateTransitionEnd(transitionDuration)\n } else {\n complete()\n }\n\n this._hoverState = ''\n }\n\n update() {\n if (this._popper !== null) {\n this._popper.scheduleUpdate()\n }\n }\n\n // Protected\n\n isWithContent() {\n return Boolean(this.getTitle())\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const tip = this.getTipElement()\n this.setElementContent($(tip.querySelectorAll(SELECTOR_TOOLTIP_INNER)), this.getTitle())\n $(tip).removeClass(`${CLASS_NAME_FADE} ${CLASS_NAME_SHOW}`)\n }\n\n setElementContent($element, content) {\n if (typeof content === 'object' && (content.nodeType || content.jquery)) {\n // Content is a DOM node or a jQuery\n if (this.config.html) {\n if (!$(content).parent().is($element)) {\n $element.empty().append(content)\n }\n } else {\n $element.text($(content).text())\n }\n\n return\n }\n\n if (this.config.html) {\n if (this.config.sanitize) {\n content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn)\n }\n\n $element.html(content)\n } else {\n $element.text(content)\n }\n }\n\n getTitle() {\n let title = this.element.getAttribute('data-original-title')\n\n if (!title) {\n title = typeof this.config.title === 'function' ?\n this.config.title.call(this.element) :\n this.config.title\n }\n\n return title\n }\n\n // Private\n\n _getPopperConfig(attachment) {\n const defaultBsConfig = {\n placement: attachment,\n modifiers: {\n offset: this._getOffset(),\n flip: {\n behavior: this.config.fallbackPlacement\n },\n arrow: {\n element: SELECTOR_ARROW\n },\n preventOverflow: {\n boundariesElement: this.config.boundary\n }\n },\n onCreate: data => {\n if (data.originalPlacement !== data.placement) {\n this._handlePopperPlacementChange(data)\n }\n },\n onUpdate: data => this._handlePopperPlacementChange(data)\n }\n\n return {\n ...defaultBsConfig,\n ...this.config.popperConfig\n }\n }\n\n _getOffset() {\n const offset = {}\n\n if (typeof this.config.offset === 'function') {\n offset.fn = data => {\n data.offsets = {\n ...data.offsets,\n ...(this.config.offset(data.offsets, this.element) || {})\n }\n\n return data\n }\n } else {\n offset.offset = this.config.offset\n }\n\n return offset\n }\n\n _getContainer() {\n if (this.config.container === false) {\n return document.body\n }\n\n if (Util.isElement(this.config.container)) {\n return $(this.config.container)\n }\n\n return $(document).find(this.config.container)\n }\n\n _getAttachment(placement) {\n return AttachmentMap[placement.toUpperCase()]\n }\n\n _setListeners() {\n const triggers = this.config.trigger.split(' ')\n\n triggers.forEach(trigger => {\n if (trigger === 'click') {\n $(this.element).on(\n this.constructor.Event.CLICK,\n this.config.selector,\n event => this.toggle(event)\n )\n } else if (trigger !== TRIGGER_MANUAL) {\n const eventIn = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSEENTER :\n this.constructor.Event.FOCUSIN\n const eventOut = trigger === TRIGGER_HOVER ?\n this.constructor.Event.MOUSELEAVE :\n this.constructor.Event.FOCUSOUT\n\n $(this.element)\n .on(eventIn, this.config.selector, event => this._enter(event))\n .on(eventOut, this.config.selector, event => this._leave(event))\n }\n })\n\n this._hideModalHandler = () => {\n if (this.element) {\n this.hide()\n }\n }\n\n $(this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler)\n\n if (this.config.selector) {\n this.config = {\n ...this.config,\n trigger: 'manual',\n selector: ''\n }\n } else {\n this._fixTitle()\n }\n }\n\n _fixTitle() {\n const titleType = typeof this.element.getAttribute('data-original-title')\n\n if (this.element.getAttribute('title') || titleType !== 'string') {\n this.element.setAttribute(\n 'data-original-title',\n this.element.getAttribute('title') || ''\n )\n\n this.element.setAttribute('title', '')\n }\n }\n\n _enter(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = true\n }\n\n if ($(context.getTipElement()).hasClass(CLASS_NAME_SHOW) || context._hoverState === HOVER_STATE_SHOW) {\n context._hoverState = HOVER_STATE_SHOW\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_SHOW\n\n if (!context.config.delay || !context.config.delay.show) {\n context.show()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_SHOW) {\n context.show()\n }\n }, context.config.delay.show)\n }\n\n _leave(event, context) {\n const dataKey = this.constructor.DATA_KEY\n context = context || $(event.currentTarget).data(dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.currentTarget,\n this._getDelegateConfig()\n )\n $(event.currentTarget).data(dataKey, context)\n }\n\n if (event) {\n context._activeTrigger[\n event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER\n ] = false\n }\n\n if (context._isWithActiveTrigger()) {\n return\n }\n\n clearTimeout(context._timeout)\n\n context._hoverState = HOVER_STATE_OUT\n\n if (!context.config.delay || !context.config.delay.hide) {\n context.hide()\n return\n }\n\n context._timeout = setTimeout(() => {\n if (context._hoverState === HOVER_STATE_OUT) {\n context.hide()\n }\n }, context.config.delay.hide)\n }\n\n _isWithActiveTrigger() {\n for (const trigger in this._activeTrigger) {\n if (this._activeTrigger[trigger]) {\n return true\n }\n }\n\n return false\n }\n\n _getConfig(config) {\n const dataAttributes = $(this.element).data()\n\n Object.keys(dataAttributes)\n .forEach(dataAttr => {\n if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\n delete dataAttributes[dataAttr]\n }\n })\n\n config = {\n ...this.constructor.Default,\n ...dataAttributes,\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (typeof config.delay === 'number') {\n config.delay = {\n show: config.delay,\n hide: config.delay\n }\n }\n\n if (typeof config.title === 'number') {\n config.title = config.title.toString()\n }\n\n if (typeof config.content === 'number') {\n config.content = config.content.toString()\n }\n\n Util.typeCheckConfig(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn)\n }\n\n return config\n }\n\n _getDelegateConfig() {\n const config = {}\n\n if (this.config) {\n for (const key in this.config) {\n if (this.constructor.Default[key] !== this.config[key]) {\n config[key] = this.config[key]\n }\n }\n }\n\n return config\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n _handlePopperPlacementChange(popperData) {\n this.tip = popperData.instance.popper\n this._cleanTipClass()\n this.addAttachmentClass(this._getAttachment(popperData.placement))\n }\n\n _fixTransition() {\n const tip = this.getTipElement()\n const initConfigAnimation = this.config.animation\n\n if (tip.getAttribute('x-placement') !== null) {\n return\n }\n\n $(tip).removeClass(CLASS_NAME_FADE)\n this.config.animation = false\n this.hide()\n this.show()\n this.config.animation = initConfigAnimation\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n const $element = $(this)\n let data = $element.data(DATA_KEY)\n const _config = typeof config === 'object' && config\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Tooltip(this, _config)\n $element.data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Tooltip._jQueryInterface\n$.fn[NAME].Constructor = Tooltip\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Tooltip._jQueryInterface\n}\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Tooltip from './tooltip'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'popover'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.popover'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\nconst CLASS_PREFIX = 'bs-popover'\nconst BSCLS_PREFIX_REGEX = new RegExp(`(^|\\\\s)${CLASS_PREFIX}\\\\S+`, 'g')\n\nconst Default = {\n ...Tooltip.Default,\n placement: 'right',\n trigger: 'click',\n content: '',\n template: '
' +\n '
' +\n '

' +\n '
'\n}\n\nconst DefaultType = {\n ...Tooltip.DefaultType,\n content: '(string|element|function)'\n}\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\n\nconst Event = {\n HIDE: `hide${EVENT_KEY}`,\n HIDDEN: `hidden${EVENT_KEY}`,\n SHOW: `show${EVENT_KEY}`,\n SHOWN: `shown${EVENT_KEY}`,\n INSERTED: `inserted${EVENT_KEY}`,\n CLICK: `click${EVENT_KEY}`,\n FOCUSIN: `focusin${EVENT_KEY}`,\n FOCUSOUT: `focusout${EVENT_KEY}`,\n MOUSEENTER: `mouseenter${EVENT_KEY}`,\n MOUSELEAVE: `mouseleave${EVENT_KEY}`\n}\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass Popover extends Tooltip {\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n static get NAME() {\n return NAME\n }\n\n static get DATA_KEY() {\n return DATA_KEY\n }\n\n static get Event() {\n return Event\n }\n\n static get EVENT_KEY() {\n return EVENT_KEY\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n // Overrides\n\n isWithContent() {\n return this.getTitle() || this._getContent()\n }\n\n addAttachmentClass(attachment) {\n $(this.getTipElement()).addClass(`${CLASS_PREFIX}-${attachment}`)\n }\n\n getTipElement() {\n this.tip = this.tip || $(this.config.template)[0]\n return this.tip\n }\n\n setContent() {\n const $tip = $(this.getTipElement())\n\n // We use append for html objects to maintain js events\n this.setElementContent($tip.find(SELECTOR_TITLE), this.getTitle())\n let content = this._getContent()\n if (typeof content === 'function') {\n content = content.call(this.element)\n }\n\n this.setElementContent($tip.find(SELECTOR_CONTENT), content)\n\n $tip.removeClass(`${CLASS_NAME_FADE} ${CLASS_NAME_SHOW}`)\n }\n\n // Private\n\n _getContent() {\n return this.element.getAttribute('data-content') ||\n this.config.content\n }\n\n _cleanTipClass() {\n const $tip = $(this.getTipElement())\n const tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX)\n if (tabClass !== null && tabClass.length > 0) {\n $tip.removeClass(tabClass.join(''))\n }\n }\n\n // Static\n\n static _jQueryInterface(config) {\n return this.each(function () {\n let data = $(this).data(DATA_KEY)\n const _config = typeof config === 'object' ? config : null\n\n if (!data && /dispose|hide/.test(config)) {\n return\n }\n\n if (!data) {\n data = new Popover(this, _config)\n $(this).data(DATA_KEY, data)\n }\n\n if (typeof config === 'string') {\n if (typeof data[config] === 'undefined') {\n throw new TypeError(`No method named \"${config}\"`)\n }\n\n data[config]()\n }\n })\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * jQuery\n * ------------------------------------------------------------------------\n */\n\n$.fn[NAME] = Popover._jQueryInterface\n$.fn[NAME].Constructor = Popover\n$.fn[NAME].noConflict = () => {\n $.fn[NAME] = JQUERY_NO_CONFLICT\n return Popover._jQueryInterface\n}\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.6.0): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport $ from 'jquery'\nimport Util from './util'\n\n/**\n * ------------------------------------------------------------------------\n * Constants\n * ------------------------------------------------------------------------\n */\n\nconst NAME = 'scrollspy'\nconst VERSION = '4.6.0'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst JQUERY_NO_CONFLICT = $.fn[NAME]\n\nconst Default = {\n offset: 10,\n method: 'auto',\n target: ''\n}\n\nconst DefaultType = {\n offset: 'number',\n method: 'string',\n target: '(string|element)'\n}\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_SCROLL = `scroll${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-spy=\"scroll\"]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_ITEMS = '.dropdown-item'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst METHOD_OFFSET = 'offset'\nconst METHOD_POSITION = 'position'\n\n/**\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\nclass ScrollSpy {\n constructor(element, config) {\n this._element = element\n this._scrollElement = element.tagName === 'BODY' ? window : element\n this._config = this._getConfig(config)\n this._selector = `${this._config.target} ${SELECTOR_NAV_LINKS},` +\n `${this._config.target} ${SELECTOR_LIST_ITEMS},` +\n `${this._config.target} ${SELECTOR_DROPDOWN_ITEMS}`\n this._offsets = []\n this._targets = []\n this._activeTarget = null\n this._scrollHeight = 0\n\n $(this._scrollElement).on(EVENT_SCROLL, event => this._process(event))\n\n this.refresh()\n this._process()\n }\n\n // Getters\n\n static get VERSION() {\n return VERSION\n }\n\n static get Default() {\n return Default\n }\n\n // Public\n\n refresh() {\n const autoMethod = this._scrollElement === this._scrollElement.window ?\n METHOD_OFFSET : METHOD_POSITION\n\n const offsetMethod = this._config.method === 'auto' ?\n autoMethod : this._config.method\n\n const offsetBase = offsetMethod === METHOD_POSITION ?\n this._getScrollTop() : 0\n\n this._offsets = []\n this._targets = []\n\n this._scrollHeight = this._getScrollHeight()\n\n const targets = [].slice.call(document.querySelectorAll(this._selector))\n\n targets\n .map(element => {\n let target\n const targetSelector = Util.getSelectorFromElement(element)\n\n if (targetSelector) {\n target = document.querySelector(targetSelector)\n }\n\n if (target) {\n const targetBCR = target.getBoundingClientRect()\n if (targetBCR.width || targetBCR.height) {\n // TODO (fat): remove sketch reliance on jQuery position/offset\n return [\n $(target)[offsetMethod]().top + offsetBase,\n targetSelector\n ]\n }\n }\n\n return null\n })\n .filter(item => item)\n .sort((a, b) => a[0] - b[0])\n .forEach(item => {\n this._offsets.push(item[0])\n this._targets.push(item[1])\n })\n }\n\n dispose() {\n $.removeData(this._element, DATA_KEY)\n $(this._scrollElement).off(EVENT_KEY)\n\n this._element = null\n this._scrollElement = null\n this._config = null\n this._selector = null\n this._offsets = null\n this._targets = null\n this._activeTarget = null\n this._scrollHeight = null\n }\n\n // Private\n\n _getConfig(config) {\n config = {\n ...Default,\n ...(typeof config === 'object' && config ? config : {})\n }\n\n if (typeof config.target !== 'string' && Util.isElement(config.target)) {\n let id = $(config.target).attr('id')\n if (!id) {\n id = Util.getUID(NAME)\n $(config.target).attr('id', id)\n }\n\n config.target = `#${id}`\n }\n\n Util.typeCheckConfig(NAME, config, DefaultType)\n\n return config\n }\n\n _getScrollTop() {\n return this._scrollElement === window ?\n this._scrollElement.pageYOffset : this._scrollElement.scrollTop\n }\n\n _getScrollHeight() {\n return this._scrollElement.scrollHeight || Math.max(\n document.body.scrollHeight,\n document.documentElement.scrollHeight\n )\n }\n\n _getOffsetHeight() {\n return this._scrollElement === window ?\n window.innerHeight : this._scrollElement.getBoundingClientRect().height\n }\n\n _process() {\n const scrollTop = this._getScrollTop() + this._config.offset\n const scrollHeight = this._getScrollHeight()\n const maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight()\n\n if (this._scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this._targets[this._targets.length - 1]\n\n if (this._activeTarget !== target) {\n this._activate(target)\n }\n\n return\n }\n\n if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\n this._activeTarget = null\n this._clear()\n return\n }\n\n for (let i = this._offsets.length; i--;) {\n const isActiveTarget = this._activeTarget !== this._targets[i] &&\n scrollTop >= this._offsets[i] &&\n (typeof this._offsets[i + 1] === 'undefined' ||\n scrollTop < this._offsets[i + 1])\n\n if (isActiveTarget) {\n this._activate(this._targets[i])\n }\n }\n }\n\n _activate(target) {\n this._activeTarget = target\n\n this._clear()\n\n const queries = this._selector\n .split(',')\n .map(selector => `${selector}[data-target=\"${target}\"],${selector}[href=\"${target}\"]`)\n\n const $link = $([].slice.call(document.querySelectorAll(queries.join(','))))\n\n if ($link.hasClass(CLASS_NAME_DROPDOWN_ITEM)) {\n $link.closest(SELECTOR_DROPDOWN)\n .find(SELECTOR_DROPDOWN_TOGGLE)\n .addClass(CLASS_NAME_ACTIVE)\n $link.addClass(CLASS_NAME_ACTIVE)\n } else {\n // Set triggered link as active\n $link.addClass(CLASS_NAME_ACTIVE)\n // Set triggered links parents as active\n // With both
- \ No newline at end of file + + + + \ No newline at end of file diff --git a/hiring_module/hiring_app/templates/control_board/administrator_dashboard.html b/hiring_module/hiring_app/templates/control_board/administrator_dashboard.html index d3d7006..acba4fe 100644 --- a/hiring_module/hiring_app/templates/control_board/administrator_dashboard.html +++ b/hiring_module/hiring_app/templates/control_board/administrator_dashboard.html @@ -11,333 +11,5 @@ {% endblock %} {% block control_board %} -
- - - - -
- - -
-
-
-
-
-
- Solicitudes de contratación -
- Mes actual -
-
$40,000
-
-
- -
-
-
-
-
- - -
-
-
-
-
-
- Solicitudes sin validar -
- Histórico -
-
$215,000
-
-
- -
-
-
-
-
- - -
-
-
-
-
-
- Solicitudes validadas -
- Mes actual - -
-
-
-
50%
-
-
-
-
- -
-
-
-
-
- - -
-
-
-
-
-
- Solicitudes aprobadas -
- Mes actual -
-
18
-
-
- -
-
-
-
-
- - -
- - - -
- - -
-
- -
-
Earnings Overview
- -
- -
-
- -
-
-
-
- - -
-
- -
-
Revenue Sources
- -
- -
-
- -
-
- - Direct - - - Social - - - Referral - -
-
-
-
-
- - -
- - -
- - -
-
-
Projects
-
-
-

Server Migration 20%

-
-
-
-

Sales Tracking 40%

-
-
-
-

Customer Database 60%

-
-
-
-

Payout Details 80%

-
-
-
-

Account Setup Complete!

-
-
-
-
-
- - -
-
-
-
- Primary -
#4e73df
-
-
-
-
-
-
- Success -
#1cc88a
-
-
-
-
-
-
- Info -
#36b9cc
-
-
-
-
-
-
- Warning -
#f6c23e
-
-
-
-
-
-
- Danger -
#e74a3b
-
-
-
-
-
-
- Secondary -
#858796
-
-
-
-
-
-
- Light -
#f8f9fc
-
-
-
-
-
-
- Dark -
#5a5c69
-
-
-
-
- -
- -
- - -
-
-
Illustrations
-
-
-
- ... -
-

Add some quality, svg illustrations to your project courtesy of unDraw, a - constantly updated collection of beautiful svg images that you can use - completely free and without attribution!

- Browse Illustrations on - unDraw → -
-
- - -
-
-
Development Approach
-
-
-

SB Admin 2 makes extensive use of Bootstrap 4 utility classes in order to reduce - CSS bloat and poor page performance. Custom CSS classes are used to create - custom components and custom utility classes.

-

Before working with this theme, you should become familiar with the - Bootstrap framework, especially the utility classes.

-
-
- -
-
- -
{% endblock %} \ No newline at end of file diff --git a/hiring_module/hiring_app/templates/control_board/base.html b/hiring_module/hiring_app/templates/control_board/base.html index 4224f9e..9dd90c2 100644 --- a/hiring_module/hiring_app/templates/control_board/base.html +++ b/hiring_module/hiring_app/templates/control_board/base.html @@ -1,16 +1,28 @@ {% extends 'base.html' %} {% load static %} {% block title %} -Panel de control + Panel de control {% endblock %} {% block aditionalMetadata %} {% endblock %} {% block content %} -
- {% include 'control_board/center_container.html' %} +
+ + +
+

Panel de control

+ Generate Report +
+ + + + + {% include 'control_board/center_container.html' %} + {% include 'control_board/table.html'%}
@@ -19,8 +31,7 @@ {% endblock %}
- {% include 'control_board/state_change.html' %} -
+
{% endblock %} \ No newline at end of file diff --git a/hiring_module/hiring_app/templates/control_board/center_container.html b/hiring_module/hiring_app/templates/control_board/center_container.html index 06a5073..3391fa9 100644 --- a/hiring_module/hiring_app/templates/control_board/center_container.html +++ b/hiring_module/hiring_app/templates/control_board/center_container.html @@ -1,9 +1,86 @@ -
-

Panel de Control

-
- {% include 'control_board/components/element_container.html' with count=filled_requests|length status='Aprobados' %} - {% include 'control_board/components/element_container.html' with count=reviewed_requests|length status='Por revisar' %} - {% include 'control_board/components/element_container.html' with count=for_validate_requests|length status='Por validar' %} - {% include 'control_board/components/element_container.html' with count=requests|length status='Total' %} +
+ + +
+
+
+
+
+
+ Solicitudes de contratación +
+ Mes actual +
+
{{requests|length}}
+
+
+ +
+
+
+
+
+ + +
+
+
+
+
+
+ Solicitudes sin validar +
+ Histórico +
+
{{for_validate_requests|length}}
+
+
+ +
+
+
+
+
+ + +
+
+
+
+
+
+ Solicitudes validadas +
+ Mes actual +
+
{{reviewed_requests|length}}
+
+
+ +
+
+
+
+
+ + +
+
+
+
+
+
+ Solicitudes aprobadas +
+ Mes actual +
+
{{filled_requests|length}}
+
+
+ +
+
+
+
\ No newline at end of file diff --git a/hiring_module/hiring_app/templates/control_board/table.html b/hiring_module/hiring_app/templates/control_board/table.html index 37a174c..7fcec71 100644 --- a/hiring_module/hiring_app/templates/control_board/table.html +++ b/hiring_module/hiring_app/templates/control_board/table.html @@ -1,33 +1,4 @@ - - - - - - - - - - - - - - - {% for request in requests %} - - - - - - - - - - {% endfor %} - -
IDSolicitanteLider encargadoGestor encargadoEstadoContratoFecha incio
{{ request.id }}{{ request.created_by.first_name }} {{ request.created_by.last_name }}{{ request.leader_assigned_to.first_name }} {{ request.leader_assigned_to.last_name }}{{ request.manager_assigned_to.first_name }} {{ request.manager_assigned_to.last_name }}{{ request.state }}{{ request.contrato }}{{ request.start_date|date:"d-m-Y" }}
- - +
+ + +

Solicitudes de contratación

+ +
+
+
Listado de solicitudes de contratación
+
+
+
+ + + + + + + + + + + + + + {% for request in requests %} + + + + + + + + + + {% endfor %} + +
IDSolicitanteLider encargadoGestor encargadoEstadoContratoFecha incio
{{ request.id }}{{ request.created_by.first_name }} {{ request.created_by.last_name }}{{ request.leader_assigned_to.first_name }} {{ request.leader_assigned_to.last_name }}{{ request.manager_assigned_to.first_name }} {{ request.manager_assigned_to.last_name }}{{ request.state }}{{ request.contrato }}{{ request.start_date|date:"d-m-Y" }}
+
+
+
+ +
diff --git a/hiring_module/hiring_app/templates/request_hiring.html b/hiring_module/hiring_app/templates/request_hiring.html index 33e14d5..61574bd 100644 --- a/hiring_module/hiring_app/templates/request_hiring.html +++ b/hiring_module/hiring_app/templates/request_hiring.html @@ -1,70 +1,51 @@ - {% extends 'base.html' %} + + {% load static %} + + {% block title %} Request Hiring {% endblock %} -{% block aditionalMetadata %} -{% endblock %} + + {% block content %} - - -
-
- {% include 'request_hiring/center_container.html' %} -
-

- Estado de la contratación -

-
- {% include 'request_hiring/date_details.html' %} - {% include 'request_hiring/progress_bar.html' %} -
- -
- {% include 'request_hiring/request_details.html' %} - {% include 'request_hiring/components/snapshot.html' %} -
-

- Informacion de la contratacion -

-
- {% if typedContract == "Contrato CEX" %} - {% include 'request_hiring/cex_information.html' %} - {% elif typedContract == "Contrato Monitoria" %} - {% include 'request_hiring/monitoring_information.html' %} - {% endif %} -
-
- -

- Bitácora -

-
+
+ + +
+

Solicitud de contratación de {{contract_request.created_by.first_name}}

+
-
- - - {% if error_message %} - - {% endif %} -{% endblock %} + + {% include 'request_hiring/center_container.html' %} + +
+

Estado de la Solicitud

+
+ + +
+ + + {% include 'request_hiring/date_details.html' %} + + + {% include 'request_hiring/progress_bar.html' %} +
+ + +
+ + + {% include 'request_hiring/request_details.html' %} + + + {% include 'request_hiring/components/snapshot.html' %} +
+ + + +{% endblock %} \ No newline at end of file diff --git a/hiring_module/hiring_app/templates/request_hiring/center_container.html b/hiring_module/hiring_app/templates/request_hiring/center_container.html index 0783d81..6388068 100644 --- a/hiring_module/hiring_app/templates/request_hiring/center_container.html +++ b/hiring_module/hiring_app/templates/request_hiring/center_container.html @@ -1,21 +1,54 @@ -
-
-
-

ID:

-

{{ contract_request.id }}

+
+ + +
+
+
+
+
+
+ Lider asignado: +
+
+
{% include 'request_hiring/components/assign_leader.html' %}
+
+ +
+
-
-

Líder:

- {% include 'request_hiring/components/assign_leader.html' %} -
-
-

Gestor:

- {% include 'request_hiring/components/assign_manager.html' %} +
+ + +
+
+
+
+
+
+ Gestor asignado: +
+
+
{% include 'request_hiring/components/assign_manager.html' %}
+
+
+
-
-

Cambiar estado:

- {% include 'request_hiring/components/change_state.html' %} +
+ + +
+
+
+
+
+
+ Estado: +
+
+
{% include 'request_hiring/components/change_state.html' %}
+
+
+
\ No newline at end of file diff --git a/hiring_module/hiring_app/templates/request_hiring/components/assign_leader.html b/hiring_module/hiring_app/templates/request_hiring/components/assign_leader.html index b983aff..1490812 100644 --- a/hiring_module/hiring_app/templates/request_hiring/components/assign_leader.html +++ b/hiring_module/hiring_app/templates/request_hiring/components/assign_leader.html @@ -1,15 +1,20 @@ -
+ {% csrf_token %} - diff --git a/hiring_module/hiring_app/templates/request_hiring/components/assign_manager.html b/hiring_module/hiring_app/templates/request_hiring/components/assign_manager.html index d531e37..35af09b 100644 --- a/hiring_module/hiring_app/templates/request_hiring/components/assign_manager.html +++ b/hiring_module/hiring_app/templates/request_hiring/components/assign_manager.html @@ -1,16 +1,26 @@ {% csrf_token %} -
diff --git a/hiring_module/hiring_app/templates/request_hiring/components/change_state.html b/hiring_module/hiring_app/templates/request_hiring/components/change_state.html index 2d2f5be..05df453 100644 --- a/hiring_module/hiring_app/templates/request_hiring/components/change_state.html +++ b/hiring_module/hiring_app/templates/request_hiring/components/change_state.html @@ -1,22 +1,38 @@
{% csrf_token %} - {% for choice in choices %} - + {% endfor %}
- - - + + + + +
+ @@ -30,6 +46,7 @@ var successDropdown = document.getElementById('successDropdown'); var reasonLabel = document.getElementById('reasonLabel'); var errorPopup = document.getElementById('errorPopup'); + var closeButtons = document.querySelectorAll('[data-bs-dismiss="modal"]'); // Seleccionar todos los botones con data-bs-dismiss="modal" selectElement.addEventListener('change', function () { if (this.value === 'incomplete') { @@ -42,12 +59,18 @@ dialog.showModal(); } else { document.getElementById('changeStateForm').submit(); - successDropdown.style.display = 'block'; - setTimeout(function () { - successDropdown.style.display = 'none'; - }, 2000); + successDropdown.style.display = 'block'; + setTimeout(function () { + successDropdown.style.display = 'none'; + }, 2000); } }); + // Agregar evento clic a cada botón de cierre + closeButtons.forEach(function(button) { + button.addEventListener('click', function() { + dialog.close(); // Cerrar el modal al hacer clic en el botón + }); + }); }); diff --git a/hiring_module/hiring_app/templates/request_hiring/components/modal_change_state.html b/hiring_module/hiring_app/templates/request_hiring/components/modal_change_state.html new file mode 100644 index 0000000..55b5cdd --- /dev/null +++ b/hiring_module/hiring_app/templates/request_hiring/components/modal_change_state.html @@ -0,0 +1,16 @@ + \ No newline at end of file diff --git a/hiring_module/hiring_app/templates/request_hiring/components/snapshot.html b/hiring_module/hiring_app/templates/request_hiring/components/snapshot.html index 93099f1..9d630ec 100644 --- a/hiring_module/hiring_app/templates/request_hiring/components/snapshot.html +++ b/hiring_module/hiring_app/templates/request_hiring/components/snapshot.html @@ -19,15 +19,54 @@ -
-
- {% csrf_token %} - - -
-
- {% csrf_token %} - -
-
+ +
+
+ +
+
Bitacora de seguimiento
+
+ + +
+
+
+ {% csrf_token %} + +
+ + + +
+
+ +
+ {% csrf_token %} + +
+ + + + + +
+ +
+
+
diff --git a/hiring_module/hiring_app/templates/request_hiring/date_details.html b/hiring_module/hiring_app/templates/request_hiring/date_details.html index 921ef84..674b272 100644 --- a/hiring_module/hiring_app/templates/request_hiring/date_details.html +++ b/hiring_module/hiring_app/templates/request_hiring/date_details.html @@ -1,21 +1,21 @@ -
-
-

Fecha de inicio:

-

Fecha final:

-

Tiempo restante:

+
+
+ +
+
Calendario
+
+ +
+
    +
  • Fecha de inicio: {{ contract_request.start_date|date:"d-m-Y" }}
  • +
  • Fecha final: {{ contract_request.estimated_completion_date|date:"d-m-Y" }}
  • +
  • Tiempo restante: {{ days_difference }} + {% if days_difference == 1 %} + día + {% else %} + días + {% endif %}
  • +
+
-
-

{{ contract_request.start_date|date:"d-m-Y" }}

-

{{ contract_request.estimated_completion_date|date:"d-m-Y" }}

-

- {{ days_difference }} - {% if days_difference == 1 %} - día - {% else %} - días - {% endif %} -

-
-
- - +
\ No newline at end of file diff --git a/hiring_module/hiring_app/templates/request_hiring/progress_bar.html b/hiring_module/hiring_app/templates/request_hiring/progress_bar.html index 8169414..ecb09b8 100644 --- a/hiring_module/hiring_app/templates/request_hiring/progress_bar.html +++ b/hiring_module/hiring_app/templates/request_hiring/progress_bar.html @@ -1,25 +1,32 @@ {% load static %} +
+
+ +
+
Barra de progreso
+
+ + +
+
+
+ +
+
+
+ 25% +
+
+ + +
-
-
- DateIcon -
-
-
- 25%
- - - - - + \ No newline at end of file diff --git a/hiring_module/hiring_app/templates/request_hiring/request_details.html b/hiring_module/hiring_app/templates/request_hiring/request_details.html index e74a3b5..b9d27af 100644 --- a/hiring_module/hiring_app/templates/request_hiring/request_details.html +++ b/hiring_module/hiring_app/templates/request_hiring/request_details.html @@ -1,16 +1,16 @@ -
-
-

Solicitante:

-
-
-

Tipo de contrato:

+
+
+ +
+
Informacion del solicitante:
+
+ +
+
    +
  • Nombre: {{ contract_request.created_by.first_name }} {{ contract_request.created_by.last_name }}
  • +
  • Correo: {{ contract_request.created_by.email }}
  • +
  • Tipo de contrato:
    {{ typedContract }}
  • +
+
-
-

{{ contract_request.created_by.first_name }} {{ contract_request.created_by.last_name }}

-
-

{{ typedContract }}

-
-
- - - +
\ No newline at end of file From bb90cb945bd15fffd3c8e5ed7192ea289098926b Mon Sep 17 00:00:00 2001 From: Juan Sebastian Diaz <1116070867@u.icesi.edu.co> Date: Wed, 24 Apr 2024 12:04:02 -0500 Subject: [PATCH 9/9] END: fix frotend --- .../templates/components/LeftSideMenu.html | 8 +- .../administrator_dashboard.html | 2 +- .../control_board/base_external_user.html | 31 ++++ .../{base.html => base_workteam.html} | 2 +- .../external_user_dashboard.html | 2 +- .../control_board/leader_dashboard.html | 2 +- .../control_board/manager_dashboard.html | 2 +- .../request_creation/cex_request_form.html | 6 - .../monitoring_request_form.html | 8 - .../hiring_app/templates/request_hiring.html | 5 + .../request_hiring/cex_information.html | 173 ++++++++++++++---- .../request_hiring/components/snapshot.html | 11 +- .../monitoring_information.html | 168 +++++++++++++---- .../request_hiring/request_details.html | 4 +- .../request_hiring/snapshots_list.html | 46 +++++ .../templates/snapshot_information.html | 28 --- .../hiring_app/templates/snapshots_list.html | 35 ---- .../views/components/header_view.py | 4 - .../views/request_hiring/snapshot_view.py | 9 +- 19 files changed, 373 insertions(+), 173 deletions(-) create mode 100644 hiring_module/hiring_app/templates/control_board/base_external_user.html rename hiring_module/hiring_app/templates/control_board/{base.html => base_workteam.html} (92%) create mode 100644 hiring_module/hiring_app/templates/request_hiring/snapshots_list.html delete mode 100644 hiring_module/hiring_app/templates/snapshot_information.html delete mode 100644 hiring_module/hiring_app/templates/snapshots_list.html delete mode 100644 hiring_module/hiring_app/views/components/header_view.py diff --git a/hiring_module/hiring_app/templates/components/LeftSideMenu.html b/hiring_module/hiring_app/templates/components/LeftSideMenu.html index ad4823d..d6fa5f3 100644 --- a/hiring_module/hiring_app/templates/components/LeftSideMenu.html +++ b/hiring_module/hiring_app/templates/components/LeftSideMenu.html @@ -14,10 +14,14 @@ + diff --git a/hiring_module/hiring_app/templates/control_board/administrator_dashboard.html b/hiring_module/hiring_app/templates/control_board/administrator_dashboard.html index acba4fe..509b484 100644 --- a/hiring_module/hiring_app/templates/control_board/administrator_dashboard.html +++ b/hiring_module/hiring_app/templates/control_board/administrator_dashboard.html @@ -1,4 +1,4 @@ -{% extends 'control_board/base.html' %} +{% extends 'control_board/base_workteam.html' %} {% load static %} diff --git a/hiring_module/hiring_app/templates/control_board/base_external_user.html b/hiring_module/hiring_app/templates/control_board/base_external_user.html new file mode 100644 index 0000000..15599ec --- /dev/null +++ b/hiring_module/hiring_app/templates/control_board/base_external_user.html @@ -0,0 +1,31 @@ +{% extends 'base.html' %} +{% load static %} +{% block title %} + Panel de control +{% endblock %} +{% block aditionalMetadata %} +{% endblock %} + +{% block content %} + +
+ + +
+

Solicitar un contrato

+
+ + + + + +
+ {% block control_board %} + + {% endblock %} +
+ +
+ + +{% endblock %} \ No newline at end of file diff --git a/hiring_module/hiring_app/templates/control_board/base.html b/hiring_module/hiring_app/templates/control_board/base_workteam.html similarity index 92% rename from hiring_module/hiring_app/templates/control_board/base.html rename to hiring_module/hiring_app/templates/control_board/base_workteam.html index 9dd90c2..8133a45 100644 --- a/hiring_module/hiring_app/templates/control_board/base.html +++ b/hiring_module/hiring_app/templates/control_board/base_workteam.html @@ -20,7 +20,7 @@

Panel de control

- {% include 'control_board/center_container.html' %} + {% include 'control_board/center_container.html' %} {% include 'control_board/table.html'%} diff --git a/hiring_module/hiring_app/templates/control_board/external_user_dashboard.html b/hiring_module/hiring_app/templates/control_board/external_user_dashboard.html index c475b32..f76d89f 100644 --- a/hiring_module/hiring_app/templates/control_board/external_user_dashboard.html +++ b/hiring_module/hiring_app/templates/control_board/external_user_dashboard.html @@ -1,4 +1,4 @@ -{% extends 'control_board/base.html' %} +{% extends 'control_board/base_external_user.html' %} {% load static %} {% block title %} Panel de control de usuario externo diff --git a/hiring_module/hiring_app/templates/control_board/leader_dashboard.html b/hiring_module/hiring_app/templates/control_board/leader_dashboard.html index 2273d21..a309d80 100644 --- a/hiring_module/hiring_app/templates/control_board/leader_dashboard.html +++ b/hiring_module/hiring_app/templates/control_board/leader_dashboard.html @@ -1,4 +1,4 @@ -{% extends 'control_board/base.html' %} +{% extends 'control_board/base_workteam.html' %} {% load static %} {% block title %} Panel de control de Líder diff --git a/hiring_module/hiring_app/templates/control_board/manager_dashboard.html b/hiring_module/hiring_app/templates/control_board/manager_dashboard.html index 4418b12..b8a8537 100644 --- a/hiring_module/hiring_app/templates/control_board/manager_dashboard.html +++ b/hiring_module/hiring_app/templates/control_board/manager_dashboard.html @@ -1,4 +1,4 @@ -{% extends 'control_board/base.html' %} +{% extends 'control_board/base_workteam.html' %} {% load static %} {% block title %} Panel de control de Gestor diff --git a/hiring_module/hiring_app/templates/request_creation/cex_request_form.html b/hiring_module/hiring_app/templates/request_creation/cex_request_form.html index 0bf5579..dd324c4 100644 --- a/hiring_module/hiring_app/templates/request_creation/cex_request_form.html +++ b/hiring_module/hiring_app/templates/request_creation/cex_request_form.html @@ -7,13 +7,7 @@ {% block content %} - -
diff --git a/hiring_module/hiring_app/templates/request_creation/monitoring_request_form.html b/hiring_module/hiring_app/templates/request_creation/monitoring_request_form.html index f976ece..0c2405b 100644 --- a/hiring_module/hiring_app/templates/request_creation/monitoring_request_form.html +++ b/hiring_module/hiring_app/templates/request_creation/monitoring_request_form.html @@ -7,14 +7,6 @@ {% block content %} - - - -
diff --git a/hiring_module/hiring_app/templates/request_hiring.html b/hiring_module/hiring_app/templates/request_hiring.html index 61574bd..3715bf9 100644 --- a/hiring_module/hiring_app/templates/request_hiring.html +++ b/hiring_module/hiring_app/templates/request_hiring.html @@ -46,6 +46,11 @@

Estado de la Solicitud

{% include 'request_hiring/components/snapshot.html' %}
+ {% if typedContract == "Contrato CEX" %} + {% include 'request_hiring/cex_information.html' %} + {% elif typedContract == "Contrato Monitoria" %} + {% include 'request_hiring/monitoring_information.html' %} + {% endif %}
{% endblock %} \ No newline at end of file diff --git a/hiring_module/hiring_app/templates/request_hiring/cex_information.html b/hiring_module/hiring_app/templates/request_hiring/cex_information.html index 56208cb..5e7e20f 100644 --- a/hiring_module/hiring_app/templates/request_hiring/cex_information.html +++ b/hiring_module/hiring_app/templates/request_hiring/cex_information.html @@ -1,39 +1,140 @@ -
-
-
-

Hiree Full Name:

-

Hiree ID:

-

Hiree Cellphone:

-

Hiree Email:

-

Cenco:

-

Request Motive:

-

Banking Entity:

-

Bank Account Type:

-

Bank Account Number:

-

EPS:

-

Pension Fund:

-

ARL:

-

Contract Value:

-

Charge Account:

-

RUT:

-
-
-

{{ contract_request.hiree_full_name }}

-

{{ contract_request.hiree_id }}

-

{{ contract_request.hiree_cellphone }}

-

{{ contract_request.hiree_email }}

-

{{ contract_request.cenco }}

-

{{ contract_request.request_motive }}

-

{{ contract_request.banking_entity }}

-

{{ contract_request.get_bank_account_type_display }}

-

{{ contract_request.bank_account_number }}

-

{{ contract_request.eps }}

-

{{ contract_request.pension_fund }}

-

{{ contract_request.arl }}

-

{{ contract_request.contract_value }}

-

{{ contract_request.charge_account }}

-

Download RUT File

+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DescripcionDatos
+
Nombre Completo del Contratado
+
El nombre completo de la persona contratada. +
+
{{ contract_request.hiree_full_name }}
+
ID del Contratado
+
El identificador único asignado al + contratado. +
+
{{ contract_request.hiree_id }}
+
Número de Teléfono del Contratado
+
El número de teléfono del contratado.
+
{{ contract_request.hiree_cellphone }}
+
Correo Electrónico del Contratado
+
El correo electrónico de contacto del + contratado.
+
{{ contract_request.hiree_email }}
+
Cenco
+
Centro de costos asignado al contratado. +
+
{{ contract_request.cenco }}
+
Motivo de la Solicitud
+
El motivo por el cual se realiza la + solicitud. +
+
{{ contract_request.request_motive }}
+
Entidad Bancaria
+
La entidad bancaria a la que está asociada + la + cuenta bancaria.
+
{{ contract_request.banking_entity }}
+
Tipo de Cuenta Bancaria
+
El tipo de cuenta bancaria del contratado. +
+
{{ contract_request.get_bank_account_type_display }}
+
Número de Cuenta Bancaria
+
El número de cuenta bancaria del contratado. +
+
{{ contract_request.bank_account_number }}
+
EPS
+
La Entidad Promotora de Salud del + contratado. +
+
{{ contract_request.eps }}
+
Fondo de Pensiones
+
El fondo de pensiones del contratado.
+
{{ contract_request.pension_fund }}
+
ARL
+
La Administradora de Riesgos Laborales del + contratado.
+
{{ contract_request.arl }}
+
Valor del Contrato
+
El valor total del contrato.
+
{{ contract_request.contract_value }}
+
Cuenta de Cobro
+
La cuenta bancaria a la que se realizarán + los + pagos correspondientes.
+
{{ contract_request.charge_account }}
+ Descargar + Archivo RUT +
-
\ No newline at end of file diff --git a/hiring_module/hiring_app/templates/request_hiring/components/snapshot.html b/hiring_module/hiring_app/templates/request_hiring/components/snapshot.html index 9d630ec..1943d3b 100644 --- a/hiring_module/hiring_app/templates/request_hiring/components/snapshot.html +++ b/hiring_module/hiring_app/templates/request_hiring/components/snapshot.html @@ -35,19 +35,22 @@
Bitacora de seguimiento
{% csrf_token %}
- - - + +
diff --git a/hiring_module/hiring_app/templates/request_hiring/monitoring_information.html b/hiring_module/hiring_app/templates/request_hiring/monitoring_information.html index cba7de4..bf9dcca 100644 --- a/hiring_module/hiring_app/templates/request_hiring/monitoring_information.html +++ b/hiring_module/hiring_app/templates/request_hiring/monitoring_information.html @@ -1,38 +1,134 @@ -
-
-
-

Student Full Name:

-

Student ID:

-

Student Cellphone:

-

Student Email:

-

Daviplata:

-

Course or Project:

-

Monitoring Description:

-

Weekly Hours:

-

Total Value to Pay:

-

Is Unique Payment:

-

Has Money in Cenco:

-

Cenco Manager:

-

Monitoring Type:

-

Student Code:

-

Daviplata:

-
-
-

{{ contract_request.student_full_name }}

-

{{ contract_request.student_id }}

-

{{ contract_request.student_cellphone }}

-

{{ contract_request.student_email }}

-

{{ contract_request.daviplata }}

-

{{ contract_request.course_or_proyect }}

-

{{ contract_request.monitoring_description }}

-

{{ contract_request.weekly_hours }}

-

{{ contract_request.total_value_to_pay }}

-

{{ contract_request.is_unique_payment }}

-

{{ contract_request.has_money_in_cenco }}

-

{{ contract_request.cenco_manager }}

-

{{ contract_request.monitoring_type }}

-

{{ contract_request.student_code }}

-

{{ contract_request.daviplata }}

+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DescripcionDatos
+
Nombre Completo del Estudiante
+
El nombre completo del estudiante.
+
{{ contract_request.student_full_name }}
+
ID del Estudiante
+
El identificador único asignado al + estudiante.
+
{{ contract_request.student_id }}
+
Número de Teléfono del Estudiante
+
El número de teléfono del estudiante.
+
{{ contract_request.student_cellphone }}
+
Correo Electrónico del Estudiante
+
El correo electrónico de contacto del + estudiante.
+
{{ contract_request.student_email }}
+
Daviplata
+
El número de cuenta Daviplata del + estudiante.
+
{{ contract_request.daviplata }}
+
Curso o Proyecto
+
El curso o proyecto en el que participa el + estudiante.
+
{{ contract_request.course_or_project }}
+
Descripción de la Monitoria
+
Una descripción de la actividad de monitoreo + del estudiante.
+
{{ contract_request.monitoring_description }}
+
Horas Semanales
+
El número de horas que el estudiante + trabajará por semana.
+
{{ contract_request.weekly_hours }}
+
Valor Total a Pagar
+
El valor total que se pagará al estudiante. +
+
{{ contract_request.total_value_to_pay }}
+
Es Pago Único
+
Indica si el pago es único o recurrente. +
+
{{ contract_request.is_unique_payment }}
+
Tiene Dinero en Cenco
+
Indica si el estudiante tiene dinero + disponible en el cenco.
+
{{ contract_request.has_money_in_cenco }}
+
Gerente de Cenco
+
El gerente responsable del cenco.
+
{{ contract_request.cenco_manager }}
+
Tipo de Monitoria
+
El tipo de actividad de monitoreo.
+
{{ contract_request.monitoring_type }}
+
Código del Estudiante
+
El código asignado al estudiante.
+
{{ contract_request.student_code }}
+
Daviplata
+
El número de cuenta Daviplata del + estudiante.
+
{{ contract_request.daviplata }}
-
+
\ No newline at end of file diff --git a/hiring_module/hiring_app/templates/request_hiring/request_details.html b/hiring_module/hiring_app/templates/request_hiring/request_details.html index b9d27af..b6c0472 100644 --- a/hiring_module/hiring_app/templates/request_hiring/request_details.html +++ b/hiring_module/hiring_app/templates/request_hiring/request_details.html @@ -7,8 +7,8 @@
Informacion del solicitante:
    -
  • Nombre: {{ contract_request.created_by.first_name }} {{ contract_request.created_by.last_name }}
  • -
  • Correo: {{ contract_request.created_by.email }}
  • +
  • Nombre:
    {{ contract_request.created_by.first_name }} {{ contract_request.created_by.last_name }}
  • +
  • Correo:
    {{ contract_request.created_by.email }}
  • Tipo de contrato:
    {{ typedContract }}
diff --git a/hiring_module/hiring_app/templates/request_hiring/snapshots_list.html b/hiring_module/hiring_app/templates/request_hiring/snapshots_list.html new file mode 100644 index 0000000..f1d435b --- /dev/null +++ b/hiring_module/hiring_app/templates/request_hiring/snapshots_list.html @@ -0,0 +1,46 @@ + +{% extends 'base.html' %} + +{% block title %} +Request Hiring +{% endblock %} + +{% block content %} +{% if error_message %} + +{% endif %} + +
+ {% for snapshot in snapshots %} + +
+
+ +
+
Bitacora del estado
+
+
+
    +
  • Estado de la contratacion:
    {{ snapshot.state }}
  • +
  • Fecha inicial
    {{ snapshot.state_start }}
  • +
  • Fecha final
    + {% if snapshot.state_end %} + {{ snapshot.state_end }} + {% else %} N/A {% endif %}
  • +
+
+ +
+
+ + {% endfor %} + +
+ +{% endblock %} \ No newline at end of file diff --git a/hiring_module/hiring_app/templates/snapshot_information.html b/hiring_module/hiring_app/templates/snapshot_information.html deleted file mode 100644 index 637a0df..0000000 --- a/hiring_module/hiring_app/templates/snapshot_information.html +++ /dev/null @@ -1,28 +0,0 @@ - -{% extends 'base.html' %} - -{% block title %} -Request Hiring -{% endblock %} - -{% block content %} -{% if error_message %} - -{% endif %} - -{% include 'components/header.html' %} -
-
-

Snapshot Information

-

Snapshot contract request ID: {{ snapshot.contract_request_id }}

-

State: {{ snapshot.state }}

-

Comment: {% if snapshot.comment %} {{ snapshot.comment }} {% else %} N/A {% endif %}

-

Start Date: {{ snapshot.state_start }}

-

End Date: {% if snapshot.state_end %} {{ snapshot.state_end }} {% else %} N/A {% endif %} -

-
-
-{% endblock %} \ No newline at end of file diff --git a/hiring_module/hiring_app/templates/snapshots_list.html b/hiring_module/hiring_app/templates/snapshots_list.html deleted file mode 100644 index 7f32b40..0000000 --- a/hiring_module/hiring_app/templates/snapshots_list.html +++ /dev/null @@ -1,35 +0,0 @@ - -{% extends 'base.html' %} - -{% block title %} -Request Hiring -{% endblock %} - -{% block content %} -{% if error_message %} - -{% endif %} - -{% include 'components/header.html' %} - -
- {% for snapshot in snapshots %} -
-
- {% csrf_token %} - - - -

{{ snapshot.state }}

-
-
-
- {% endfor %} -
- -{% endblock %} \ No newline at end of file diff --git a/hiring_module/hiring_app/views/components/header_view.py b/hiring_module/hiring_app/views/components/header_view.py deleted file mode 100644 index 079a9e8..0000000 --- a/hiring_module/hiring_app/views/components/header_view.py +++ /dev/null @@ -1,4 +0,0 @@ -from django.shortcuts import render - -def header_view(request): - return render(request, 'components/header.html') diff --git a/hiring_module/hiring_app/views/request_hiring/snapshot_view.py b/hiring_module/hiring_app/views/request_hiring/snapshot_view.py index 9507c77..16fa18e 100644 --- a/hiring_module/hiring_app/views/request_hiring/snapshot_view.py +++ b/hiring_module/hiring_app/views/request_hiring/snapshot_view.py @@ -27,16 +27,11 @@ def post(self, request, idContract): if action == 'view-snapshots': contract_request = utilities.getContract(idContract) snapshots = contract_request.get_snapshots() - return render(request, 'snapshots_list.html', {'snapshots': snapshots}) + return render(request, 'request_hiring/snapshots_list.html', {'snapshots': snapshots}) if action == 'edit-comment': contract_request = utilities.getContract(idContract) comment = request.POST.get('comment') contract_request.edit_comment(comment) return HttpResponse('Comment edited successfully') - - if action == 'view-snapshot': - snapshot_id = request.POST.get('snapshot_id') - snapshot = ContractRequestSnapshot.objects.get(id=snapshot_id) - return render(request, 'snapshot_information.html', {'snapshot': snapshot}) - +